package cn.estsh.i3plus.ext.mes.pcn.api.base;

import cn.estsh.i3plus.pojo.mes.bean.*;
import io.swagger.annotations.ApiOperation;

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

public interface IMesProdOrgExtService {

    @ApiOperation(value = "根据生产线代码查询生产线信息")
    MesWorkCenter getWorkCenterDb(String organizeCode, String workCenterCode);

    @ApiOperation(value = "根据生产线代码查询生产线信息的ERP生产线代码")
    String getErpWorkCenterCode(String organizeCode, String workCenterCode);

    @ApiOperation(value = "根据生产线代码,工位代码查询工位信息")
    MesWorkCell getWorkCellDb(String organizeCode, String workCenterCode, String workCellCode);

    @ApiOperation(value = "根据生产线代码,工位代码查询工位信息")
    MesWorkCell getWorkCellDb(String organizeCode, String workCenterCode, String workCellCode, Boolean isCheckEndWorkCell);

    @ApiOperation(value = "根据生产线代码查询工位信息")
    List<MesWorkCell> getWorkCellList(String organizeCode, String workCenterCode);

    @ApiOperation(value = "根据生产线代码查询生产线信息")
    List<MesWorkCenter> getWorkCenterList(String organizeCode, List<String> workCenterCodeList);

    @ApiOperation(value = "根据生产线代码查询生产线信息")
    Map<String, String> getWorkCenterCodeMap(String organizeCode, List<String> workCenterCodeList);

    @ApiOperation(value = "根据工位代码查询工位信息")
    List<MesWorkCell> getWorkCellList(String organizeCode, List<String> workCellCodeList);

    @ApiOperation(value = "根据工位代码查询工位信息")
    Map<String, String> getWorkCellCodeMap(String organizeCode, List<String> workCellCodeList);

    @ApiOperation(value = "根据工艺代码查询工艺信息")
    List<MesCraft> getCraftList(String organizeCode, List<String> craftCodeList);

    @ApiOperation(value = "根据工艺代码查询工艺信息")
    Map<String, String> getCraftCodeMap(String organizeCode, List<String> craftCodeList);

    @ApiOperation(value = "根据子生产线代码,子工位代码,关系类型查询主子工位关系信息")
    MesWorkCellExtendCfg getWorkCellExtendCfg(String organizeCode, String workCenterCodeBak, String workCellCodeBak, Integer extendType);

    @ApiOperation(value = "根据生产线代码,工位代码,关系类型查询主子工位关系信息")
    List<MesWorkCellExtendCfg> getWorkCellExtendCfgList(String organizeCode, String workCenterCode, String workCellCode, Integer extendType);

    @ApiOperation(value = "根据生产线代码,工位代码查询主子工位实虚关系信息[大于等于Bak工位的seq的数据排在前面]")
    List<MesWorkCellExtendCfg> getWorkCellExtendCfgRvListSortByBak(String organizeCode, String workCenterCodeBak, String workCellCodeBak);

    @ApiOperation(value = "根据生产线代码,工位代码查询主子工位实虚关系信息")
    List<MesWorkCellExtendCfg> getWorkCellExtendCfgRvListByBak(String organizeCode, String workCenterCodeBak, String workCellCodeBak);

    @ApiOperation(value = "根据生产线代码,工位代码查询工位零件打印机配置信息")
    List<MesWorkCellPartPrinterCfg> getWorkCellPartPrinterCfgList(String organizeCode, String workCenterCode, String workCellCode);

}
