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

import cn.estsh.i3plus.ext.mes.pojo.bean.MesWorkOrderExt;
import cn.estsh.i3plus.ext.mes.pojo.model.BoardProdcueQtyModel;
import cn.estsh.i3plus.ext.mes.pojo.model.ProjectBadRateModel;
import io.swagger.annotations.ApiOperation;

import java.text.ParseException;
import java.util.List;

/**
 * 文件描述 工程不良率
 *
 * @author xiangming.liao
 * @date 2021年06月16日 10:34
 */
public interface IProjectBadRateService {

    /**
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.ProjectBadRateModel>
     * @Description: 工程不良率
     * @Param []
     * @Date 2021/6/16 10:36
     **/
    @ApiOperation(value = "工程不良率", notes = "工程不良率")
    List<ProjectBadRateModel> queryProjectBadRate(String organizeCode) throws ParseException;

    /**
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.ProjectBadRateModel>
     * @Description: 工程不良率
     * @Param []
     * @Date 2021/6/16 10:36
     **/
    @ApiOperation(value = "EP制造能率", notes = "EP制造能率")
    List<ProjectBadRateModel> queryEpProjectBadRate(String organizeCode) throws ParseException;

    /**
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.ProjectBadRateModel>
     * @Description: 月度能率与工程不良率
     * @Param [workCenterCode]
     * @Date 2021/6/16 17:11
     **/
    @ApiOperation(value = "月度能率与工程不良率", notes = "月度能率与工程不良率")
    List<ProjectBadRateModel> queryProjectBadRateByMonth(String workCenterCode, String organizeCode) throws ParseException;

    /**
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.BoardProdcueQtyModel>
     * @Description: 看板产量查询
     * @Param []
     * @Date 2021/6/18 15:56
     **/
    @ApiOperation(value = "看板产量查询", notes = "看板产量查询")
    List<BoardProdcueQtyModel> queryBoardProduceQty(String organizeCode);

    /**
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.BoardProdcueQtyModel>
     * @Description: 看板产量查询
     * @Param []
     * @Date 2021/6/18 15:56
     **/
    @ApiOperation(value = "EP看板产量查询", notes = "EP看板产量查询")
    List<BoardProdcueQtyModel> queryEpBoardProduceQty(String organizeCode);

    /**
     * 返回 相应产线的计划数量、生产数量、综合能率、生产达成率、标准生产达成率
     * @param organizeCode
     * @return
     */
    @ApiOperation(value = "PMC-产线数据", notes = "PMC-产线数据")
    List<ProjectBadRateModel> queryBoardWorkCenterData(String organizeCode) throws ParseException;

    /**
     * 查询工单信息
     * @param organizeCode
     * @return
     */
    @ApiOperation(value = "查询工单信息（包括欠产工单）", notes = "查询工单信息（包括欠产工单）")
    List<MesWorkOrderExt> getWorkOrderExtsContainReusePlanDatetime(String workCenterCode, String currentTime, String organizeCode);
}
