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

import cn.estsh.i3plus.ext.mes.pojo.bean.MesConsistencyAffirmProject;
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 IConsistencyAffirmProjectService {

    /**
     * 新增一致性确认项目
     * @param mesConsistencyAffirmProject
     */
    @ApiOperation(value = "新增一致性确认项目", notes = "新增一致性确认项目")
    void insertConsistencyAffirmProject(MesConsistencyAffirmProject mesConsistencyAffirmProject);

    /**
     * 更新一致性确认项目
     * @param mesConsistencyAffirmProject
     */
    @ApiOperation(value = "更新一致性确认项目", notes = "更新一致性确认项目")
    void updateConsistencyAffirmProject(MesConsistencyAffirmProject mesConsistencyAffirmProject);

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

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

    /**
     * 按条件分页查询一致性确认项目
     * @param mesConsistencyAffirmProject
     * @param pager
     * @return
     */
    @ApiOperation(value = "按条件分页查询一致性确认项目", notes = "按条件分页查询一致性确认项目")
    ListPager<MesConsistencyAffirmProject> queryConsistencyAffirmProjectByPager(MesConsistencyAffirmProject mesConsistencyAffirmProject, Pager pager);
}
