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

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

/**
 * @Author: xiangming.liao
 * @CreateDate: 2021/02/03 14:31
 * @Description:
 **/
public interface IProcessCheckService {

    /**
     * 新增工序点检项目
     *
     * @param processCheck
     */
    @ApiOperation(value = "新增工序点检项目", notes = "新增工序点检项目")
    void insertProcessCheck(MesProcessCheck processCheck);

    /**
     * 更新工序点检项目
     *
     * @param processCheck
     */
    @ApiOperation(value = "更新工序点检项目", notes = "更新工序点检项目")
    void updateProcessCheck(MesProcessCheck processCheck);

    /**
     * 根据id批量启用或禁用工序点检项目
     * @param ids
     * @param status
     * @return
     */
    @ApiOperation(value = "根据id批量启用或禁用工序点检项目", notes = "根据id批量启用或禁用工序点检项目")
    int updateProcessCheckValidByIds(String[] ids, Integer status);

    /**
     * 根据id启用或禁用工序点检项目
     * @param id
     * @param status
     * @return
     */
    @ApiOperation(value = "根据id启用或禁用工序点检项目", notes = "根据id启用或禁用工序点检项目")
    int updateProcessCheckValidById(Long id, Integer status, String userName);

    /**
     * 按条件分页查询工序点检项目
     * @param processCheck
     * @param pager
     * @return
     */
    @ApiOperation(value = "按条件分页查询工序点检项目", notes = "按条件分页查询工序点检项目")
    ListPager<MesProcessCheck> queryProcessCheckByPager(MesProcessCheck processCheck, Pager pager);
}
