diff --git a/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java index 90391c557..bb29aef4b 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java @@ -137,6 +137,7 @@ public class ZbomNodeDataPushListener { List orders = orderPackageService.findOrderCodebypackageCodes(packageCodeList); // 根据运单号和自编码分组查询出未签收的数量 List noSignNumberDTOS = orderPackageService.findNoSignNumber(packageCodeList); + log.info("未签收数据:{}", JSONUtil.toJsonStr(noSignNumberDTOS)); Map noSignNumberMap = new HashMap<>(); if (CollUtil.isNotEmpty(noSignNumberDTOS)) { for (NoSignNumberDTO noSignNumberDTO : noSignNumberDTOS) { @@ -150,17 +151,20 @@ public class ZbomNodeDataPushListener { order.setAddress(entries.getStr("address")); // 如果是签收节点,需要判断是否为全部签收和部分签收 if (EnumUtil.equals(NodeEnums.CLERK_REVIEW, node)) { + log.info("key:{},签收数量:{}", order.getDepartCode() + "_" + order.getPlatformOrderCode(), order.getSignQty()); Integer signNumber = Convert.toInt(order.getSignQty()); // 查询当前未签收的数量与当前签收数量比较,如果未签收数较大,则是部分签收 String key = order.getDepartCode() + order.getPlatformOrderCode(); // 部分签收 order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_SECTION_STATUS).getCode()); - if (noSignNumberMap.containsKey(key)) { + if (ObjectUtil.isNotEmpty(noSignNumberMap) && noSignNumberMap.containsKey(key)) { Integer noSignNum = noSignNumberMap.get(key); if (noSignNum <= signNumber) { // 全部签收 order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_ALL_STATUS).getCode()); } + } else { + continue; } } else { order.setRejectQty("");