diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesEnumDetailController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesEnumDetailController.java index d03486a..6e3c44e 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesEnumDetailController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesEnumDetailController.java @@ -27,6 +27,8 @@ import java.util.List; @RestController @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesEnumDetail") public class MesEnumDetailController { +// @Autowired +// private IMesEnumExtService enumService; @Autowired private IMesEnumDetailService mesEnumDetailService; @@ -45,4 +47,20 @@ public class MesEnumDetailController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + +// @GetMapping(value = "/enumlist") +// @ApiOperation(value = "获取MES系统枚举") +// public ResultBean enumlistByOrg(@RequestParam(name = "enumName") String enumName, @RequestParam(name = "organizeCode", required = false) String organizeCode) { +// try { +// organizeCode = org.springframework.util.StringUtils.isEmpty(organizeCode) ? AuthUtil.getOrganize().getOrganizeCode() : organizeCode; +// Map map = enumService.doGetMesEnumByEnumName(organizeCode, enumName); +// return ResultBean.success("查询成功") +// .setResultObject(map) +// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); +// } catch (ImppBusiException busExcep) { +// return ResultBean.fail(busExcep); +// } catch (Exception e) { +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java index 7aa2faf..bbf8f01 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java @@ -13,6 +13,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail; import cn.estsh.i3plus.pojo.mes.bean.edi.wuhu.MesCimCheryOrder; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; +import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementDetailModel; import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementModel; import cn.estsh.i3plus.pojo.mes.repository.*; import lombok.extern.slf4j.Slf4j; @@ -20,9 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; +import java.util.function.Function; +import java.util.logging.Handler; +import java.util.stream.Collectors; @Service @Slf4j @@ -61,6 +63,14 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService @Override public List doMesMesShippingOrderManagementPrint(MesShippingOrderManagement bean) { + DdlPackBean configPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack("WU_HU_SUPPLIER","cfgKey", configPackBean); + List configList = mesConfigRao.findByHqlWhere(configPackBean); + String supplierNo = ""; + if (configList != null && !configList.isEmpty()) { + supplierNo = configList.get(0).getCfgValue(); + } + List modelList = new ArrayList<>(); DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); //多选 @@ -76,11 +86,17 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService //把查出来的发运单打印并修改打印状态为已打印 for (MesShippingOrderManagement shippingOrder : pullingOrderInfos) { MesShippingOrderManagementModel model = new MesShippingOrderManagementModel(); - model.setShippingCode(shippingOrder.getShippingCode()); + String shippingCodePrefix = shippingOrder.getShippingCode().substring(0, shippingOrder.getShippingCode().length() - 3); + String shippingCodeSuffix = shippingOrder.getShippingCode().substring(shippingOrder.getShippingCode().length() - 3); + model.setShippingCode(shippingCodePrefix); + model.setShippingCodeAfter3(shippingCodeSuffix); + model.setShippingCodeWhole(shippingOrder.getShippingCode()); //查询原始报文 - MesCimCheryOrder cheryOrder = getCheryOrder(shippingOrder.getOrganizeCode(), shippingOrder.getShippingCode()); - if (cheryOrder != null) { + List cheryOrderList = getCheryOrder(shippingOrder.getOrganizeCode(), shippingOrder.getShippingCode()); + Map> cheryOrderMap = new HashMap<>(); + if (cheryOrderList != null && !cheryOrderList.isEmpty()) { + MesCimCheryOrder cheryOrder = cheryOrderList.get(0); model.setPlantName(cheryOrder.getPlantName()); model.setPartkitName(cheryOrder.getPartkitName()); model.setDeliverySendSequence(cheryOrder.getDeliverySendSequence()); @@ -89,14 +105,34 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService //根据cheryOrder的workshopNo获取对应的车间名称 String workshopName = getWorkshopName(cheryOrder.getOrganizeCode(), cheryOrder.getWorkshopNo()); model.setWorkShop(workshopName); + model.setCreateDateTime(cheryOrder.getCreateDatetime()); + model.setPrintDateTime(TimeTool.getNowTime(true)); + cheryOrderMap = cheryOrderList.stream().collect(Collectors.groupingBy(MesCimCheryOrder::getVin)); } //查询发运单明细 DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(shippingOrder.getOrganizeCode()); DdlPreparedPack.getNumEqualPack(shippingOrder.getId(), "pid", partPackBean); + DdlPreparedPack.getOrderBy("boxNum",CommonEnumUtil.ASC_OR_DESC.ASC.getValue(), partPackBean); List shipOrderPartInfos = shippingOrderManagementDetailRepository.findByHqlWhere(partPackBean); if (!CollectionUtils.isEmpty(shipOrderPartInfos)) { - model.setShippingDetails(shipOrderPartInfos); + List detailList = new ArrayList<>(); + shipOrderPartInfos = shipOrderPartInfos.stream().sorted(Comparator.comparing(MesShippingOrderManagementDetail::getCustInfoSeq)).collect(Collectors.toList()); + for (MesShippingOrderManagementDetail shipOrderPartInfo : shipOrderPartInfos) { + MesShippingOrderManagementDetailModel detailModel = new MesShippingOrderManagementDetailModel(); + detailModel.setPartNo(shipOrderPartInfo.getPartNo()); + detailModel.setPartName(shipOrderPartInfo.getPartName()); + detailModel.setQty(shipOrderPartInfo.getPlanQty()); + detailModel.setBoxNo(shipOrderPartInfo.getCustInfoSeq()); + detailModel.setSupplierNo(supplierNo); + detailModel.setVin(shipOrderPartInfo.getVin().substring(shipOrderPartInfo.getVin().length()-8)); + MesCimCheryOrder order = cheryOrderMap.get(shipOrderPartInfo.getVin()).get(0); + if (order != null) { + detailModel.setWholePartNo(order.getMaterialNo()); + } + detailList.add(detailModel); + } + model.setShipOrderPartInfos(detailList); } //查询原有报文 根据shippingCode; @@ -120,11 +156,10 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService return configList.isEmpty() ? "" : configList.get(0).getCfgValue(); } - private MesCimCheryOrder getCheryOrder(String organizeCode, String sheetNo) { + private List getCheryOrder(String organizeCode, String sheetNo) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(sheetNo, "sheetNo", ddlPackBean); - List cheryOrderList = cheryOrderRao.findByHqlTopWhere(ddlPackBean,1); - return cheryOrderList.isEmpty() ? null : cheryOrderList.get(0); + return cheryOrderRao.findByHqlWhere(ddlPackBean); } @Override public MesPartShippingGroupDetail getMesPartShippingGroupDetail(String organizeCode, String shippingGroupCode, String partNo, String custPartNo) {