|
|
|
@ -13,12 +13,10 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutPrintModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.api.iservice.base.IConfigService;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
@ -63,9 +61,6 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
|
private MesProduceSnRepository mesProduceSnRDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private SnowflakeIdMaker snowflakeIdMaker;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPartService mesPartService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
@ -81,30 +76,18 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
|
private IConfigService configService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISyncFuncService syncFuncService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesNumberRuleRepository mesNumberRuleRDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPrintedSnLogRepository mesPrintedSnRao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesLabelTemplateRepository templateRao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkOrderCutRepository workOrderCutRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesWorkOrderCutService workOrderCutService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesLabelTemplateRepository labelTemplateRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesLabelTemplateParamRepository labelTemplateParamRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesCutSchemeFgRepository cutSchemeFgRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
@ -304,9 +287,9 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
|
// 根据 裁片方案代码 对 裁片方案信息 分组
|
|
|
|
|
Map<String, MesCutScheme> cutSchemeMapByCutCode = mesCutSchemeList.stream().collect(Collectors.toMap(MesCutScheme::getCutCode, Function.identity(), (x, y) -> y));
|
|
|
|
|
// 根据 裁片方案代码 对 裁片方案成品信息 分组
|
|
|
|
|
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = getCutSchemeFgMapByCutCode(cutCodeList);
|
|
|
|
|
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = getCutSchemeFgMapByCutCode(cutCodeList,workOrderCut.getOrganizeCode());
|
|
|
|
|
// 根据 裁片方案代码 对 裁片方案原材料信息 分组
|
|
|
|
|
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = getCutSchemeMaterialMapByCutCode(cutCodeList);
|
|
|
|
|
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = getCutSchemeMaterialMapByCutCode(cutCodeList,workOrderCut.getOrganizeCode());
|
|
|
|
|
// 根据 裁片方案代码 对 裁片设备信息 分组
|
|
|
|
|
Map<String, List<MesCutSchemeEquipment>> cutSchemeEquipmentMapByCutCode = CollectionUtils.isEmpty(cutSchemeEquipmentList) ? new HashMap<>() : cutSchemeEquipmentList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipment::getCutCode));
|
|
|
|
|
// 根据pid对 设备参数 分组
|
|
|
|
@ -318,7 +301,7 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
|
|
|
|
|
|
MesCutScheme cutScheme = cutSchemeMapByCutCode.get(workOrderCutDb.getCutCode());
|
|
|
|
|
|
|
|
|
|
MesLabelTemplate labelTemplate = getLabelTemplate(cutScheme.getTemplateCode(), workOrderCut.getOrganizeCode());
|
|
|
|
|
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(cutScheme.getTemplateCode(), workOrderCut.getOrganizeCode());
|
|
|
|
|
|
|
|
|
|
//模板信息丢失抛出异常
|
|
|
|
|
if (labelTemplate == null) {
|
|
|
|
@ -425,57 +408,37 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
|
private Map<Long, List<MesCutSchemeEquipmentDetail>> getCutSchemeEquipmentDetailMapByPid(String organizeCode, List<MesCutSchemeEquipment> cutSchemeEquipmentList) {
|
|
|
|
|
List<MesCutSchemeEquipmentDetail> cutSchemeEquipmentDetailList = getMesCutSchemeEquipmentDetails(organizeCode, cutSchemeEquipmentList);
|
|
|
|
|
|
|
|
|
|
Map<Long, List<MesCutSchemeEquipmentDetail>> cutSchemeEquipmentDetailMapByPid = CollectionUtils.isEmpty(cutSchemeEquipmentDetailList) ? null : cutSchemeEquipmentDetailList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipmentDetail::getPid));
|
|
|
|
|
return cutSchemeEquipmentDetailMapByPid;
|
|
|
|
|
return CollectionUtils.isEmpty(cutSchemeEquipmentDetailList) ? null : cutSchemeEquipmentDetailList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipmentDetail::getPid));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesCutSchemeEquipment> getMesCutSchemeEquipments(String organizeCode, List<String> cutCodeList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
|
|
|
|
|
List<MesCutSchemeEquipment> cutSchemeEquipmentList = cutSchemeEquipmentRepository.findByHqlWhere(packBean);
|
|
|
|
|
return cutSchemeEquipmentList;
|
|
|
|
|
return cutSchemeEquipmentRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesCutSchemeMaterial> getMesCutSchemeMaterials(List<String> cutCodeList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
|
|
|
|
|
private List<MesCutSchemeMaterial> getMesCutSchemeMaterials(List<String> cutCodeList,String orgnaizeCode) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(orgnaizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
|
|
|
|
|
List<MesCutSchemeMaterial> cutSchemeMaterialList = cutSchemeMaterialRepository.findByHqlWhere(packBean);
|
|
|
|
|
return cutSchemeMaterialList;
|
|
|
|
|
return cutSchemeMaterialRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Map<String, List<MesCutSchemeMaterial>> getCutSchemeMaterialMapByCutCode(List<String> cutCodeList) {
|
|
|
|
|
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList);
|
|
|
|
|
private Map<String, List<MesCutSchemeMaterial>> getCutSchemeMaterialMapByCutCode(List<String> cutCodeList,String orgnaizeCode) {
|
|
|
|
|
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList,orgnaizeCode);
|
|
|
|
|
//根据裁片方案代码对裁片方案原材料分组
|
|
|
|
|
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = cutSchemeMaterialList.stream().collect(Collectors.groupingBy(MesCutSchemeMaterial::getCutCode));
|
|
|
|
|
return cutSchemeMaterialMapByCutCode;
|
|
|
|
|
return cutSchemeMaterialList.stream().collect(Collectors.groupingBy(MesCutSchemeMaterial::getCutCode));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesCutSchemeFg> getMesCutSchemeFgs(List<String> cutCodeList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
|
|
|
|
|
private List<MesCutSchemeFg> getMesCutSchemeFgs(List<String> cutCodeList, String organizeCode) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
|
|
|
|
|
List<MesCutSchemeFg> cutSchemeFgList = cutSchemeFgRepository.findByHqlWhere(packBean);
|
|
|
|
|
return cutSchemeFgList;
|
|
|
|
|
return cutSchemeFgRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Map<String, List<MesCutSchemeFg>> getCutSchemeFgMapByCutCode(List<String> cutCodeList) {
|
|
|
|
|
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList);
|
|
|
|
|
private Map<String, List<MesCutSchemeFg>> getCutSchemeFgMapByCutCode(List<String> cutCodeList, String organizeCode) {
|
|
|
|
|
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList,organizeCode);
|
|
|
|
|
|
|
|
|
|
//根据裁片方案代码对裁片方案成品明细分组
|
|
|
|
|
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
|
|
|
|
|
return cutSchemeFgMapByCutCode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
|
|
|
|
|
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
|
|
|
|
|
MesLabelTemplate mesLabelTemplate = labelTemplateRepository.getByProperty(templatePackBean);
|
|
|
|
|
if (mesLabelTemplate != null) {
|
|
|
|
|
//级联获取labelTemplateParam
|
|
|
|
|
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
|
|
|
|
|
List<MesLabelTemplateParam> params = labelTemplateParamRepository.findByHqlWhere(templateParamPackBean);
|
|
|
|
|
mesLabelTemplate.setLabelTemplateParamList(params);
|
|
|
|
|
}
|
|
|
|
|
return mesLabelTemplate;
|
|
|
|
|
return cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|