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

import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MissPartConfirmModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.bu.BuOutPutStatisticsModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.bu.BuOutPutStatisticsQtyModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.bu.SxBuOqcDataModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.bu.SxPartCategoryModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import io.swagger.annotations.ApiOperation;

import java.util.List;
import java.util.Map;

/**
 * @author wangjie
 * @version 1.0
 * @date 2021/1/13 9:27
 **/
public interface IBuQmsHttpRequestService {
    /**
     * BU-QMS获取出货检验主数据
     * @param params 查询条件
     * @return 出货检验主数据
     */
    @ApiOperation(value = "BU-QMS获取出货检验主数据", notes = "BU-QMS获取出货检验主数据")
    SxBuOqcDataModel queryBuQmsOqcManageData(Map<String, Object> params);

    /**
     * BU-QMS获取条码和工单信息
     * @param params 查询条件
     * @return 条码和工单信息
     */
    @ApiOperation(value = "BU-QMS获取条码和工单信息", notes = "BU-QMS获取条码和工单信息")
    MissPartConfirmModel getMissingPartAndWorkOrderBySn(Map<String, Object> params);

    /**
     * BU-QMS 根据工单号、产线代码、班次、物料获取产量统计数据
     * @param params 查询条件
     * @return 条码和工单信息
     */
    @ApiOperation(value = "BU-QMS获取条码和工单信息", notes = "BU-QMS获取条码和工单信息")
    List<BuOutPutStatisticsModel> queryOutPutStatisticsList(Map<String, Object> params);

    /**
     * BU-QMS获取物料分类数据
     * @param params
     * @return
     */
    @ApiOperation(value = "BU-QMS获取物料分类数据", notes = "BU-QMS获取物料分类数据")
    List<SxPartCategoryModel> queryPartCategoryList(Map<String, Object> params);

    /**
     * BU产量统计班次完工数量
     * @param params 查询条件
     * @return BU产量统计班次完工数量
     */
    @ApiOperation(value = "BU产量统计班次完工数量", notes = "BU产量统计班次完工数量")
    List<BuOutPutStatisticsQtyModel> queryOutPutStatisticsQtyList(Map<String, Object> params);

    /**
     * BU-QMS获取生产工单分页数据
     * @param params 查询条件
     * @return 生产工单分页数据
     */
    @ApiOperation(value = "BU-QMS获取生产工单分页数据", notes = "BU-QMS获取生产工单分页数据")
    ListPager queryBuQmsWindowWorkOrderExtListPage(Map<String, Object> params);
}
