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

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

/**
 * @Author: wangjie
 * @CreateDate: 2021/01/19 15:06 下午
 * @Description:
 **/
public interface IJxShiftProdCenterService {

    /**
     * 按条件分页查询产线班次固定作业内容信息
     *
     * @param shiftProdCenterModel 查询条件
     * @param pager 分页条件
     * @return 产线班次固定作业内容分页数据
     */
    @ApiOperation(value = "按条件分页查询产线班次固定作业内容信息", notes = "按条件分页查询产线班次固定作业内容信息")
    ListPager<ShiftProdCenterModel> queryShiftProdCenterByPager(ShiftProdCenterModel shiftProdCenterModel, Pager pager);

    /**
     * 新增产线班次固定作业内容信息
     * @param shiftProdCenterModel 产线班次固定作业内容信息
     * @return 产线班次固定作业内容数据
     */
    @ApiOperation(value = "新增产线班次固定作业内容信息", notes = "新增产线班次固定作业内容信息")
    MesShiftProdCenter insertShiftProdCenter(ShiftProdCenterModel shiftProdCenterModel);

    /**
     * 更新产线班次固定作业内容信息
     * @param shiftProdCenterModel 产线班次固定作业内容信息
     * @return 产线班次固定作业内容数据
     */
    @ApiOperation(value = "更新产线班次固定作业内容信息", notes = "更新产线班次固定作业内容信息")
    MesShiftProdCenter updateShiftProdCenter(ShiftProdCenterModel shiftProdCenterModel);

    /**
     * 根据id启用或禁用产线班次固定作业内容信息
     * @param id 产线班次固定作业内容信息ID
     * @param status 状态
     * @param organizeCode 组织代码
     * @param userName 操作人
     * @return 结果
     */
    @ApiOperation(value = "根据id启用或禁用产线班次固定作业内容信息", notes = "根据id启用或禁用产线班次固定作业内容信息")
    int updateShiftProdCenterValidById(Long id, Integer status, String organizeCode, String userName);

    /**
     * 根据id删除产线班次固定作业内容信息
     * @param id 产线班次固定作业内容信息ID
     * @param organizeCode 组织代码
     * @param userName 操作人
     * @return 结果
     */
    @ApiOperation(value = "根据id删除产线班次固定作业内容信息", notes = "根据id删除产线班次固定作业内容信息")
    int deleteShiftProdCenterById(Long id, String organizeCode, String userName);

}
