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

import cn.estsh.i3plus.ext.mes.pojo.bean.MesProcessCheck;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesProjectConfirm;
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/07 15:46
 * @Description:
 **/
public interface IProjectConfirmService {

    /**
     * 新增工程确认项目
     * @param mesProjectConfirm
     */
    @ApiOperation(value = "新增工程确认项目", notes = "新增工程确认项目")
    void insertProjectConfirm(MesProjectConfirm mesProjectConfirm);

    /**
     * 更新工程确认项目
     * @param mesProjectConfirm
     */
    @ApiOperation(value = "更新工程确认项目", notes = "更新工程确认项目")
    void updateProjectConfirm(MesProjectConfirm mesProjectConfirm);

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

    /**
     * 根据id启用或禁用工程确认项目
     * @param id
     * @param status
     * @param userName
     * @return
     */
    @ApiOperation(value = "根据id启用或禁用工程确认项目", notes = "根据id启用或禁用工程确认项目")
    int updateProjectConfirmValidById(Long id, Integer status, String userName);

    /**
     * 按条件分页查询工程确认项目
     * @param mesProjectConfirm
     * @param pager
     * @return
     */
    @ApiOperation(value = "按条件分页查询工程确认项目", notes = "按条件分页查询工程确认项目")
    ListPager<MesProjectConfirm> queryProjectConfirmByPager(MesProjectConfirm mesProjectConfirm, Pager pager);
}
