package cn.estsh.i3plus.ext.mes.api.base.jx;

import cn.estsh.i3plus.ext.mes.pojo.bean.MesManageCode;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;

/**
 * @Description:MES_管理码接口
 * @Reference:
 * @Author: jessica.chen
 * @CreateDate: 2019\11\13 13:56
 * @Modify:
 **/
public interface IManageCodeService {

    /**
     * 添加MES_管理码
     *
     * @param mesManageCode 管理码
     * @return 插入后的mesManageCode对象
     */
    @ApiOperation(value = "添加MES_管理码信息", notes = "传入MES_管理码对象")
    MesManageCode insertMesManageCode(MesManageCode mesManageCode);

    /**
     * 更新MES_管理码
     *
     * @param mesManageCode  管理码
     * @param userName 操作人
     */
    @ApiOperation(value = "更新MES_管理码", notes = "更新MES_管理码")
    void updateMesManageCode(MesManageCode mesManageCode, String userName);

    /**
     * 按条件分页查询MES_管理码信息
     *
     * @param mesManageCode 管理码
     * @param pager   分页条件
     * @return 分页数据
     */
    @ApiOperation(value = "按条件分页查询MES_管理码信息", notes = "按条件分页查询MES_管理码信息")
    ListPager<MesManageCode> queryMesManageCodeByPager(MesManageCode mesManageCode, Pager pager);

    /**
     * 软删扭矩管理信息
     *
     * @param ids      id数组
     * @param userName 操作人
     */
    @ApiOperation("软删扭矩管理信息")
    int deleteWeaklyMesManageCodeByIds(String[] ids, String userName);

    /**
     * 批量禁用/启用详情
     *
     * @param ids      id数组
     * @param status   更新状态
     * @param userName 操作人
     * @return 操作行数
     */
    @ApiOperation(value = "批量禁用/启用详情")
    int updateMesManageCodeStatus(String[] ids, int status, String userName);
}
