|
|
@ -82,6 +82,7 @@ public class ZbomNodeDataPushListener { |
|
|
|
)) |
|
|
|
)) |
|
|
|
public void nodeDataPushDelayed(String msg) { |
|
|
|
public void nodeDataPushDelayed(String msg) { |
|
|
|
// 直接调用nodeDataPush方法处理接收到的消息
|
|
|
|
// 直接调用nodeDataPush方法处理接收到的消息
|
|
|
|
|
|
|
|
log.info("延时队列消息-----"); |
|
|
|
nodeDataPush(msg); |
|
|
|
nodeDataPush(msg); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -128,7 +129,7 @@ public class ZbomNodeDataPushListener { |
|
|
|
NodeDataDTO value = stringNodeDataDTOEntry.getValue(); |
|
|
|
NodeDataDTO value = stringNodeDataDTOEntry.getValue(); |
|
|
|
// 卸车入库只发推一次
|
|
|
|
// 卸车入库只发推一次
|
|
|
|
List<ZbFactoryNodePushEntity> list = nodePushService.list(Wrappers.<ZbFactoryNodePushEntity>lambdaQuery() |
|
|
|
List<ZbFactoryNodePushEntity> list = nodePushService.list(Wrappers.<ZbFactoryNodePushEntity>lambdaQuery() |
|
|
|
.eq(ZbFactoryNodePushEntity::getPlatformOrderCode, orderCode) |
|
|
|
.eq(ZbFactoryNodePushEntity::getPlatformOrderCode, value.getPlatformOrderCode()) |
|
|
|
.eq(ZbFactoryNodePushEntity::getWorkNode, node) |
|
|
|
.eq(ZbFactoryNodePushEntity::getWorkNode, node) |
|
|
|
.eq(ZbFactoryNodePushEntity::getWarehouseName, warehouseName) |
|
|
|
.eq(ZbFactoryNodePushEntity::getWarehouseName, warehouseName) |
|
|
|
.eq(ZbFactoryNodePushEntity::getDepartCode, value.getDepartCode()) |
|
|
|
.eq(ZbFactoryNodePushEntity::getDepartCode, value.getDepartCode()) |
|
|
@ -158,7 +159,7 @@ public class ZbomNodeDataPushListener { |
|
|
|
List<NodeConfirmParamDTO> nodeConfirmLsit = new ArrayList<>(); |
|
|
|
List<NodeConfirmParamDTO> nodeConfirmLsit = new ArrayList<>(); |
|
|
|
Map<String, SendMsg> sendMsgMap = new HashMap<>(); |
|
|
|
Map<String, SendMsg> sendMsgMap = new HashMap<>(); |
|
|
|
// 构建提交参数
|
|
|
|
// 构建提交参数
|
|
|
|
buildParam(entries, node, workNodeEnums, orders, noSignNumberMap, nodeOrderMap, nodeConfirmLsit, sendMsgMap); |
|
|
|
buildParam(entries, node, workNodeEnums, orders, noSignNumberMap, nodeOrderMap, nodeConfirmLsit, sendMsgMap, warehouseName); |
|
|
|
if (CollUtil.isNotEmpty(nodeConfirmLsit)) { |
|
|
|
if (CollUtil.isNotEmpty(nodeConfirmLsit)) { |
|
|
|
for (NodeConfirmParamDTO nodeConfirmParam : nodeConfirmLsit) { |
|
|
|
for (NodeConfirmParamDTO nodeConfirmParam : nodeConfirmLsit) { |
|
|
|
log.info("zb节点数据推送NodeConfirmParamDTO:{}", JSONUtil.toJsonStr(nodeConfirmParam)); |
|
|
|
log.info("zb节点数据推送NodeConfirmParamDTO:{}", JSONUtil.toJsonStr(nodeConfirmParam)); |
|
|
@ -246,7 +247,7 @@ public class ZbomNodeDataPushListener { |
|
|
|
|
|
|
|
|
|
|
|
private void buildParam(JSONObject entries, String node, WorkNodeEnums workNodeEnums, List<NodeDataDTO> orders, |
|
|
|
private void buildParam(JSONObject entries, String node, WorkNodeEnums workNodeEnums, List<NodeDataDTO> orders, |
|
|
|
Map<String, Integer> noSignNumberMap, Map<String, ZbFactoryNodeOrderEntity> nodeOrderMap, |
|
|
|
Map<String, Integer> noSignNumberMap, Map<String, ZbFactoryNodeOrderEntity> nodeOrderMap, |
|
|
|
List<NodeConfirmParamDTO> nodeConfirmLsit, Map<String, SendMsg> sendMsgMap) { |
|
|
|
List<NodeConfirmParamDTO> nodeConfirmLsit, Map<String, SendMsg> sendMsgMap, String warehouseName) { |
|
|
|
if (CollUtil.isNotEmpty(orders)) { |
|
|
|
if (CollUtil.isNotEmpty(orders)) { |
|
|
|
Integer nodeDelay = zbProperties.getDelayedTime() * 60 * 1000; |
|
|
|
Integer nodeDelay = zbProperties.getDelayedTime() * 60 * 1000; |
|
|
|
for (NodeDataDTO nodeData : orders) { |
|
|
|
for (NodeDataDTO nodeData : orders) { |
|
|
@ -277,7 +278,7 @@ public class ZbomNodeDataPushListener { |
|
|
|
if (ObjectUtil.isNotEmpty(nodeOrderEntity.getPushNode()) && !StrUtil.contains(nodeOrderEntity.getPushNode(), ZbomNodeEnums.DELIVERY_ARRIVAL.getIndex().toString())) { |
|
|
|
if (ObjectUtil.isNotEmpty(nodeOrderEntity.getPushNode()) && !StrUtil.contains(nodeOrderEntity.getPushNode(), ZbomNodeEnums.DELIVERY_ARRIVAL.getIndex().toString())) { |
|
|
|
// 第一次签收,节点改为送货抵达
|
|
|
|
// 第一次签收,节点改为送货抵达
|
|
|
|
currentNode = ZbomNodeEnums.DELIVERY_ARRIVAL; |
|
|
|
currentNode = ZbomNodeEnums.DELIVERY_ARRIVAL; |
|
|
|
buildSendMag(sendMsgMap, nodeData, key, paramDTO, node, nodeDelay); |
|
|
|
buildSendMag(sendMsgMap, nodeData, key, paramDTO, node, nodeDelay,warehouseName); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// 查询当前未签收的数量与当前签收数量比较,如果未签收数较大,则是部分签收
|
|
|
|
// 查询当前未签收的数量与当前签收数量比较,如果未签收数较大,则是部分签收
|
|
|
|
currentNode = ZbomNodeEnums.PARTIAL_RECEIPT; |
|
|
|
currentNode = ZbomNodeEnums.PARTIAL_RECEIPT; |
|
|
@ -306,14 +307,14 @@ public class ZbomNodeDataPushListener { |
|
|
|
// 历史不存在,当前节点不是第一个节点,则需要补发第一个节点
|
|
|
|
// 历史不存在,当前节点不是第一个节点,则需要补发第一个节点
|
|
|
|
if (!ObjectUtil.equal(index, ZbomNodeEnums.STATION_DEPART.getIndex())) { |
|
|
|
if (!ObjectUtil.equal(index, ZbomNodeEnums.STATION_DEPART.getIndex())) { |
|
|
|
currentNode = ZbomNodeEnums.STATION_DEPART; |
|
|
|
currentNode = ZbomNodeEnums.STATION_DEPART; |
|
|
|
buildSendMag(sendMsgMap, nodeData, key, paramDTO, node, nodeDelay); |
|
|
|
buildSendMag(sendMsgMap, nodeData, key, paramDTO, node, nodeDelay, warehouseName); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// 历史节点存在,但是历史节点中不包含第一个节点,且当前节点不是第一个节点,则需要补发第一个节点
|
|
|
|
// 历史节点存在,但是历史节点中不包含第一个节点,且当前节点不是第一个节点,则需要补发第一个节点
|
|
|
|
if (!ObjectUtil.equal(index, ZbomNodeEnums.STATION_DEPART.getIndex()) |
|
|
|
if (!ObjectUtil.equal(index, ZbomNodeEnums.STATION_DEPART.getIndex()) |
|
|
|
&& !StrUtil.contains(nodeOrderEntity.getPushNode(), ZbomNodeEnums.STATION_DEPART.getIndex().toString())) { |
|
|
|
&& !StrUtil.contains(nodeOrderEntity.getPushNode(), ZbomNodeEnums.STATION_DEPART.getIndex().toString())) { |
|
|
|
currentNode = ZbomNodeEnums.STATION_DEPART; |
|
|
|
currentNode = ZbomNodeEnums.STATION_DEPART; |
|
|
|
buildSendMag(sendMsgMap, nodeData, key, paramDTO, node, nodeDelay); |
|
|
|
buildSendMag(sendMsgMap, nodeData, key, paramDTO, node, nodeDelay, warehouseName); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 组装历史节点数据
|
|
|
|
// 组装历史节点数据
|
|
|
@ -326,11 +327,13 @@ public class ZbomNodeDataPushListener { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void buildSendMag(Map<String, SendMsg> sendMsgMap, NodeDataDTO nodeData, String key, NodeConfirmParamDTO paramDTO, String node, Integer delay) { |
|
|
|
private void buildSendMag(Map<String, SendMsg> sendMsgMap, NodeDataDTO nodeData, String key, NodeConfirmParamDTO paramDTO, String node, Integer delay, String warehouseName) { |
|
|
|
List<Object> js = new ArrayList<>(); |
|
|
|
List<Object> js = new ArrayList<>(); |
|
|
|
for (String s : nodeData.getPackageCode().split(",")) { |
|
|
|
for (String s : nodeData.getPackageCode().split(",")) { |
|
|
|
JSONObject entries1 = new JSONObject(); |
|
|
|
JSONObject entries1 = new JSONObject(); |
|
|
|
entries1.set("packageCode", s); |
|
|
|
entries1.set("packageCode", s); |
|
|
|
|
|
|
|
entries1.set("orderCode", nodeData.getPlatformOrderCode()); |
|
|
|
|
|
|
|
entries1.set("warehouseName", warehouseName); |
|
|
|
js.add(entries1); |
|
|
|
js.add(entries1); |
|
|
|
} |
|
|
|
} |
|
|
|
NodePushMsg nodePushMsg = NodePushMsg.builder() |
|
|
|
NodePushMsg nodePushMsg = NodePushMsg.builder() |
|
|
|