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

import cn.estsh.i3plus.ext.mes.pojo.bean.MesOqcCheckDetail;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesOqcPackageDetail;
import cn.estsh.i3plus.ext.mes.pojo.model.SxOqcBatchModel;
import cn.estsh.i3plus.ext.mes.pojo.model.SxOqcManageModel;
import cn.estsh.i3plus.ext.mes.pojo.model.SxOqcPackageDetailModel;
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: wangjie
 * @CreateDate: 2021/01/19 15:06 下午
 * @Description: 编码规则
 **/
public interface ISxOqcManageService {

    /**
     * 查询出货检验单分页集合
     * @param model 查询条件
     * @param pager 分页条件
     * @return 出货检验单分页集合
     */
    @ApiOperation(value = "查询出货检验单分页集合", notes = "查询出货检验单分页集合")
    ListPager<SxOqcManageModel> queryOqcCheckPager(SxOqcManageModel model, Pager pager);

    /**
     * 出货检验单结果变更
     * @param model 变更数据
     * @param userName 操作人
     */
    @ApiOperation(value = "出货检验单结果变更", notes = "出货检验单结果变更")
    void updateOqcCheckResult(SxOqcManageModel model, String userName);

    /**
     * 出货检验单项目明细查询
     * @param detail 查询条件
     * @param pager 分页条件
     * @return
     */
    @ApiOperation(value = "出货检验单项目明细查询", notes = "出货检验单项目明细查询")
    ListPager<MesOqcCheckDetail> queryOqcCheckDetailPager(MesOqcCheckDetail detail, Pager pager);

    /**
     * 出货检验单项目明细备注修改
     * @param detail 出货检验单项目明细数据
     * @param userName 操作人
     */
    @ApiOperation(value = "出货检验单项目明细备注修改", notes = "出货检验单项目明细备注修改")
    void updateOqcCheckDetailRemark(MesOqcCheckDetail detail, String userName);

    /**
     * 出货检验单产品明细查询
     * @param model 查询条件
     * @return
     */
    @ApiOperation(value = "出货检验单产品明细查询", notes = "出货检验单产品明细查询")
    List<SxOqcPackageDetailModel> queryOqcPackageDetailList(SxOqcManageModel model);

    /**
     * 出货检验产品结果变更
     * @param model 变更数据
     * @param userName 操作人
     */
    @ApiOperation(value = "出货检验产品结果变更", notes = "出货检验产品结果变更")
    void updateOqcPackageDetailResult(SxOqcBatchModel model, String userName);
}
