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

import cn.estsh.i3plus.ext.mes.pojo.bean.MesOqcCheckDetail;
import cn.estsh.i3plus.ext.mes.pojo.model.*;
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 ISxOqcReportFormService {

    /**
     * 分页查询出货总检明细报表
     * @param model 查询条件
     * @param pager 分页条件
     * @return 出货总检明细数据
     */
    @ApiOperation(value = "分页查询出货总检明细报表", notes = "分页查询出货总检明细报表")
    ListPager<OqcLastCheckDetailModel> queryOqcLastCheckDetailPager(OqcReportParamModel model, Pager pager);

    /**
     * 分页查询检验单明细报表
     * @param model 查询条件
     * @param pager 分页条件
     * @return 检验单明细数据
     */
    @ApiOperation(value = "分页查询检验单明细报表", notes = "分页查询检验单明细报表")
    ListPager<OqcCheckModel> queryOqcCheckDetailPager(OqcReportParamModel model, Pager pager);

    /**
     * 分页查询检验单项目明细报表
     * @param model 查询条件
     * @param pager 分页条件
     * @return 检验单项目明细数据
     */
    @ApiOperation(value = "分页查询检验单项目明细报表", notes = "分页查询检验单项目明细报表")
    ListPager<MesOqcCheckDetail> queryOqcCheckProjectDetailPager(OqcReportParamModel model, Pager pager);

    /**
     * 出货检验月报日报
     * @param model 查询条件
     * @return 出货检验统计数据
     */
    @ApiOperation(value = "出货检验月报日报", notes = "出货检验月报日报")
    List<OqcCheckStatisticsModel> queryOqcCheckStatistics(OqcReportParamModel model);

    /**
     * 出货检验补件确认
     * @param model 查询条件
     * @param pager 分页条件
     * @return 出货检验补件确认信息分页集合
     */
    @ApiOperation(value = "出货检验补件确认", notes = "出货检验补件确认")
    ListPager<ErrorOffLineModel> queryErrorLineOffFreConfirm(ErrorOffLineModel model, Pager pager);

    /**
     * 出货检验补件确认明细
     * @param model 查询条件
     * @return 出货检验补件确认明细数据
     */
    @ApiOperation(value = "出货检验补件确认明细", notes = "出货检验补件确认明细")
    List<ErrorOffLineDetailModel> queryErrorLineOffFreConfirmDetail(ErrorOffLineDetailModel model);
}
