Browse Source

feat(all): 志邦工厂

1 修改志邦工厂补推节点时可能造成字段丢失问题
fix-sign
zhaoqiaobo 4 months ago
parent
commit
cca3d0db76
  1. 1
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mapper/OrderPackageMapper.xml
  2. 17
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java

1
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mapper/OrderPackageMapper.xml

@ -20,7 +20,6 @@
<select id="findOrderCodebypackageCodes" resultType="com.logpm.factorydata.zbom.vo.NodeDataDTO"> <select id="findOrderCodebypackageCodes" resultType="com.logpm.factorydata.zbom.vo.NodeDataDTO">
select t.depart_code, select t.depart_code,
t.platform_order_code, t.platform_order_code,
t.package_code,
group_concat(t.package_code) packageCode, group_concat(t.package_code) packageCode,
count(*) signQty count(*) signQty
from zb_order_package t from zb_order_package t

17
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java

@ -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()

Loading…
Cancel
Save