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

import cn.estsh.i3plus.ext.mes.pojo.model.SxPackSnReportModel;
import cn.estsh.i3plus.ext.mes.pojo.model.bu3.SxReworkRangeModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Author: xinwang.yi
 * @CreateDate: 2023/06/14 10:06 上午
 * @Description: 返工范围
 **/
public interface ISxReworkRangeService {

    /**
     * 根据id启用或禁用系统配置
     * @param ids 系统配置ID
     * @param status 状态
     * @param userName 操作人
     * @return 结果
     */
    @ApiOperation(value = "根据id启用或禁用返工范围", notes = "根据id启用或禁用返工范围")
    int updateConfigValidById(Long[] ids, Integer status, String userName);

    /**
     * 按条件分页查询返工范围
     *
     * @param reworkRange 查询条件
     * @return 工单信息
     */
    @ApiOperation(value = "按条件分页查询返工范围", notes = "按条件分页查询返工范围")
    ListPager<SxReworkRangeModel> queryMesReworkRangeByPager(SxReworkRangeModel reworkRange, Pager pager);

    /**
     * 添加返工范围
     *
     * @param organizeCode 工厂
     * @param sxPackSnReportModelList 包装条码信息
     * @return 工单信息
     */
    @ApiOperation(value = "添加返工范围", notes = "添加返工范围")
    void insertMesReworkRange(String organizeCode, List<SxPackSnReportModel> sxPackSnReportModelList);

    /**
     * 正常工单包装条码查询报表
     * @param model 查询条件
     * @param pager 分页条件
     * @return  正常工单包装条码分页集合
     */
    @ApiOperation(value = "正常工单包装条码查询报表", notes = "正常工单包装条码查询报表")
    ListPager<SxPackSnReportModel> queryStandardWorkOrderPackSnPager(SxPackSnReportModel model, Pager pager);

    /**
     * 正常工单包装条码
     * @param model 查询条件
     * @return  正常工单包装条码
     */
    @ApiOperation(value = "正常工单包装条码", notes = "正常工单包装条码")
    List<SxPackSnReportModel> queryStandardWorkOrderPackSn(SxPackSnReportModel model);
}
