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

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

    /**
     * 新增一致性确认物料
     * @param mesConsistencyAffirmPart
     */
    @ApiOperation(value = "新增一致性确认物料", notes = "新增一致性确认物料")
    void insertConsistencyAffirmPart(MesConsistencyAffirmPart mesConsistencyAffirmPart);

    /**
     * 更新一致性确认物料
     * @param mesConsistencyAffirmPart
     */
    @ApiOperation(value = "更新一致性确认物料", notes = "更新一致性确认物料")
    void updateConsistencyAffirmPart(MesConsistencyAffirmPart mesConsistencyAffirmPart);

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

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

    /**
     * 按条件分页查询一致性确认物料
     * @param mesConsistencyAffirmPart
     * @param pager
     * @return
     */
    @ApiOperation(value = "按条件分页查询一致性确认物料", notes = "按条件分页查询一致性确认物料")
    ListPager<MesConsistencyAffirmPart> queryConsistencyAffirmPartByPager(MesConsistencyAffirmPart mesConsistencyAffirmPart, Pager pager);
}
