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

import cn.estsh.i3plus.ext.mes.pojo.model.ep.EpPartCheckExtModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesPartCheck;
import io.swagger.annotations.ApiOperation;

public interface IEpPartCheckExtService {

    /**
     * 按条件分页查询物料校验项数据
     *
     * @param partCheck 物料校验项数据
     * @param pager     分页条件
     * @return 分页数据
     */
    @ApiOperation(value = "按条件分页查询物料校验项数据")
    ListPager<EpPartCheckExtModel> queryMesPartCheckByPager(MesPartCheck partCheck, Pager pager);

    /**
     * 新增物料校验项信息
     *
     * @param partCheck 物料校验项数据
     * @return 新增后的物料校验项数据
     */
    @ApiOperation(value = "新增物料校验项信息", notes = "新增物料校验项信息")
    MesPartCheck insertMesPartCheck(MesPartCheck partCheck);

    /**
     * 更新物料校验项信息
     *
     * @param partCheck 物料校验项数据
     * @return 更新后的物料校验项数据
     */
    @ApiOperation(value = "更新物料校验项信息", notes = "更新物料校验项信息")
    MesPartCheck updateMesPartCheck(MesPartCheck partCheck);

    /**
     * 更新物料校验项状态(启用、禁用)
     *
     * @param userName 操作人
     * @param id       物料校验项id
     * @param status   更新状态
     * @return 操作行数
     */
    @ApiOperation(value = "更新物料校验项状态(启用、禁用)")
    int updateMesPartCheckStatusById(Long id, int status, String userName);
}
