diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkCenterService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkCenterService.java index 7f34d88..626f550 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkCenterService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkCenterService.java @@ -27,5 +27,8 @@ public interface IMesWorkCenterService { @ApiOperation(value = "查询工单") public ListPager queryMesWorkCenterByPager(MesWorkCenter workCenter, Pager pager); + @ApiOperation(value = "根据产线代码代码集合查询产线信息集合") + List queryMesWorkCenterList(List workCenterCodeList, String organizeCode); + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java index 04f0027..f4ac072 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCenterService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -58,6 +59,15 @@ public class MesWorkCenterService implements IMesWorkCenterService { return new ListPager<>(resultList, pager); } + @Override + public List queryMesWorkCenterList(List workCenterCodeList, String organizeCode) { + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(workCenterCodeList, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); + return workCenterRepository.findByHqlWhere(packBean); + + } + private DdlPackBean getDdlPackBean(MesWorkCenter workCenter) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(workCenter.getOrganizeCode()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/printqueue/strategy/WorkOrderAssemblyPrintQueueStrategyService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/printqueue/strategy/WorkOrderAssemblyPrintQueueStrategyService.java index 86d6856..b0a8897 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/printqueue/strategy/WorkOrderAssemblyPrintQueueStrategyService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/printqueue/strategy/WorkOrderAssemblyPrintQueueStrategyService.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCenterService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.IPrintQueueStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel; @@ -53,6 +54,9 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt @Autowired private MesWorkOrderAssemblyRepository workOrderAssemblyRepository; + @Autowired + private IMesWorkCenterService workCenterService; + @Override public List execute(MesPrintQueue model) { @@ -65,6 +69,15 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt // 获取工单信息 List workOrderList = getMesWorkOrders(model, printQueueList); + // 产线代码集合 + List workCenterCodeList = workOrderList.stream().map(MesWorkOrder::getWorkCenterCode).distinct().collect(Collectors.toList()); + + // 根据产线代码节后获取产线信息集合 + List mesWorkCenters = workCenterService.queryMesWorkCenterList(workCenterCodeList, model.getOrganizeCode()); + + // 产线名称集合 + Map workCenterNameMap = mesWorkCenters.stream().collect(Collectors.toMap(MesWorkCenter::getWorkCenterCode, MesWorkCenter::getWorkCenterName, (x, y) -> y)); + // 根据工单号对工单分组 Map workOrderMapByWorkOrderNo = workOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y)); @@ -89,6 +102,8 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt continue; } + mesWorkOrder.setWorkCenterName(workCenterNameMap.get(printQueue.getWorkCenterCode())); + printQueue.setWorkOrderTypeName(MesExtEnumUtil.ORDER_TYPE.valueOfDescription(mesWorkOrder.getWorkOrderType())); MesPartProdGroup mesPartProdGroup = partProdGroupMap.get(printQueue.getPartProdGroupCode()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AssemblyVisualListPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AssemblyVisualListPrintStrategy.java index dd4500d..5d1e175 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AssemblyVisualListPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AssemblyVisualListPrintStrategy.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; @@ -13,6 +14,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.*; +import java.util.stream.Collectors; /** * @Description : 装配目视单标签打印 @@ -50,11 +52,14 @@ public class AssemblyVisualListPrintStrategy implements IPrintTemplateStrategySe MesCustomerCarModel customerCarModel = modelMap.containsKey("mesCustomerCarModel") ? (MesCustomerCarModel) modelMap.get("mesCustomerCarModel") : null; // 工单装配件信息 List workOrderAssemblyList = modelMap.containsKey("mesWorkOrderAssemblyList") ? (List) modelMap.get("mesWorkOrderAssemblyList") : null; + workOrderAssemblyList = workOrderAssemblyList.stream().filter(o -> o.getDisplaySeq() != null && o.getDisplaySeq() != 0).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(workOrderAssemblyList)) workOrderAssemblyList.sort(Comparator.comparing(MesWorkOrderAssembly::getDisplaySeq)); // 返回的结果集合 List> printDataMapList = new ArrayList<>(); // 单个标签参数值 Map resultMap = new HashMap<>(); + // 产线名称 + resultMap.put(MesPcnExtConstWords.WORK_CENTER_NAME, workOrder.getWorkCenterName()); // 车型名称 resultMap.put(MesPcnExtConstWords.CAR_MODEL_NAME, customerCarModel == null ? "" : customerCarModel.getCarModelName()); // vinCode @@ -77,6 +82,8 @@ public class AssemblyVisualListPrintStrategy implements IPrintTemplateStrategySe resultMap.put(MesPcnExtConstWords.REPRINT, ""); // EDI接口时间 取工单plan_start_time resultMap.put(MesPcnExtConstWords.EDI_REC_TIME, workOrder.getPlanStartTime()); + // 打印时间 + resultMap.put(MesPcnExtConstWords.PRINT_TIME, TimeTool.getNowTime("yyyyMMdd HH:mm:ss")); // 总个数 Integer totalCount = partProdGroup.getTotalCount(); diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java index e1d21cf..a33cda8 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java @@ -570,4 +570,7 @@ public class MesPcnExtConstWords { // 装配件参数 public static final String ASSEMBLY_PARAM = "assemblyParam"; + + // 产线名称 + public static final String WORK_CENTER_NAME = "workCenterName"; }