|
|
|
@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.strategy;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.model.MesProduceSnPrintModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
@ -55,13 +56,11 @@ public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyServic
|
|
|
|
|
// 裁片方案代码集合
|
|
|
|
|
List<String> cutCodeList = workOrderCutList.stream().map(MesWorkOrderCut::getCutCode).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList);
|
|
|
|
|
|
|
|
|
|
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList);
|
|
|
|
|
|
|
|
|
|
//根据裁片方案代码对裁片方案成品明细分组
|
|
|
|
|
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
|
|
|
|
|
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = getCutSchemeFgMapByCutCode(cutCodeList);
|
|
|
|
|
|
|
|
|
|
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList);
|
|
|
|
|
//根据裁片方案代码对裁片方案原材料分组
|
|
|
|
|
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = cutSchemeMaterialList.stream().collect(Collectors.groupingBy(MesCutSchemeMaterial::getCutCode));
|
|
|
|
|
|
|
|
|
@ -92,9 +91,10 @@ public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyServic
|
|
|
|
|
|
|
|
|
|
resultMap.put(MesExtConstWords.CUT_WORK_ORDER_NO, workOrderCut.getCutWorkOrderNo());
|
|
|
|
|
resultMap.put(MesExtConstWords.CUT_NAME, workOrderCut.getCutName());
|
|
|
|
|
// 拉料信息 START
|
|
|
|
|
// 原材料零件号
|
|
|
|
|
resultMap.put(MesExtConstWords.RAW_PART_NO, cutSchemeMaterial.getPartNo());
|
|
|
|
|
|
|
|
|
|
// 拉料信息 START
|
|
|
|
|
resultMap.put(MesExtConstWords.PULLING_MATERIAL_LENGTH, cutSchemeMaterial.getPullingMaterialLength());
|
|
|
|
|
resultMap.put(MesExtConstWords.PULLING_MATERIAL_LAYER_NUMBER, cutSchemeMaterial.getPullingMaterialLayerNumber());
|
|
|
|
|
resultMap.put(MesExtConstWords.PER_LAYER_NUMBER, cutSchemeMaterial.getPerLayerNumber());
|
|
|
|
@ -102,21 +102,11 @@ public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyServic
|
|
|
|
|
resultMap.put(MesExtConstWords.USING_LENGTH, cutSchemeMaterial.getUsingLength());
|
|
|
|
|
resultMap.put(MesExtConstWords.LAYER_NUMBER, cutSchemeMaterial.getLayerNumber());
|
|
|
|
|
resultMap.put(MesExtConstWords.TENSION_PARAM, cutSchemeMaterial.getTensionParam());
|
|
|
|
|
resultMap.put(MesExtConstWords.PRINT_TIME, TimeTool.getNowTime("yyyy-M-d H:mm:ss"));
|
|
|
|
|
// 拉料信息 END
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//int index = 1;
|
|
|
|
|
//for (MesCutSchemeEquipment mesCutSchemeEquipment : cutSchemeEquipmentListByCutCode) {
|
|
|
|
|
// //设备信息
|
|
|
|
|
// resultMap.put(MesExtConstWords.TITLE + index, mesCutSchemeEquipment.getValue());
|
|
|
|
|
//
|
|
|
|
|
// index++;
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
MesCutSchemeEquipment mesCutSchemeEquipment = CollectionUtils.isEmpty(cutSchemeEquipmentListByCutCode) ? null : cutSchemeEquipmentListByCutCode.get(0);
|
|
|
|
|
|
|
|
|
|
List<String> equipParamNameList = new ArrayList<>();
|
|
|
|
|
List<String> equipParamValueList = new ArrayList<>();
|
|
|
|
|
List<MesCutSchemeEquipmentDetail> cutSchemeEquipmentDetails = mesCutSchemeEquipment == null || CollectionUtils.isEmpty(cutSchemeEquipmentDetailMapByPid) ? new ArrayList<>() : cutSchemeEquipmentDetailMapByPid.get(mesCutSchemeEquipment.getId());
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < EQUIP_NUM; i++) {
|
|
|
|
@ -129,8 +119,6 @@ public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyServic
|
|
|
|
|
//设备参数值1
|
|
|
|
|
resultMap.put(MesExtConstWords.EQUIP_PARAM_VALUE+(l+1), cutSchemeEquipmentDetails.get(l).getName());
|
|
|
|
|
} else {
|
|
|
|
|
equipParamNameList.add("");
|
|
|
|
|
equipParamValueList.add("");
|
|
|
|
|
//设备参数值标题1
|
|
|
|
|
resultMap.put(MesExtConstWords.EQUIP_PARAM_NAME+(l+1), "");
|
|
|
|
|
//设备参数值1
|
|
|
|
@ -159,6 +147,14 @@ public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyServic
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Map<String, List<MesCutSchemeFg>> getCutSchemeFgMapByCutCode(List<String> cutCodeList) {
|
|
|
|
|
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList);
|
|
|
|
|
|
|
|
|
|
//根据裁片方案代码对裁片方案成品明细分组
|
|
|
|
|
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
|
|
|
|
|
return cutSchemeFgMapByCutCode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private BigDecimal[] divideAndRemainder(Double qty, Double packageQty) {
|
|
|
|
|
BigDecimal dividend = new BigDecimal(qty.toString());
|
|
|
|
|
BigDecimal divisor = new BigDecimal(packageQty.toString());
|
|
|
|
|