package cn.estsh.i3plus.ext.mes.apiservice.dao;

import cn.estsh.i3plus.ext.mes.pojo.model.*;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Author: wangjie
 * @CreateDate: 2019/11/21 11:28 上午
 * @Description:
 **/
public interface IOutPutStatisticsDao {

    /**
     * 查询产量信息集合
     * @param model 查询条件
     * @return 产量信息集合
     */
    @ApiOperation(value = "查询产量信息集合", notes = "查询产量信息集合")
    List<UnWorkTimeStatisticsModel> queryOutPutStatisticsForReportForm(UnWorkTimeStatisticsModel model);

    /**
     * 查询达成率/完结率一览表数据
     *
     * @param model 查询条件
     * @return 达成率一览表数据
     */
    @ApiOperation(value = "查询达成率/完结率一览表数据", notes = "查询达成率/完结率一览表数据")
    List<CompleteRateChartModel> queryCompleteRateChart(CompleteRateChartModel model);

    /**
     * 查询出货总检明细报表数量
     * @param model 查询条件
     * @return 出货总检明细数量
     */
    @ApiOperation(value = "查询出货总检明细报表数量", notes = "查询出货总检明细报表数量")
    int queryOqcLastCheckDetailPagerCount(OqcReportParamModel model);

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

    /**
     * 查询出货总检明细集合
     * @param model 查询条件
     * @return 出货总检明细集合
     */
    List<OqcCheckStatisticsModel> queryOqcLastCheckDetailList(OqcReportParamModel model);

}
