From d93de0dab148ed1f29e3380c9a7fc4c120d1f881 Mon Sep 17 00:00:00 2001
From: aike <17730485278@139.com>
Date: Thu, 31 Jul 2025 10:20:01 +0800
Subject: [PATCH 1/2] =?UTF-8?q?demand:=20=20=20=20=E6=96=B0=E5=A2=9ETMS?=
=?UTF-8?q?=E7=AB=99=E7=82=B9=E6=89=B9=E6=AC=A1=E6=93=8D=E4=BD=9C=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E3=80=82=E5=88=A0?=
=?UTF-8?q?=E9=99=A4=E6=89=B9=E6=AC=A1=E5=A2=9E=E5=8A=A0=E6=93=8D=E4=BD=9C?=
=?UTF-8?q?=E6=97=A5=E5=BF=97=E3=80=82=E6=89=B9=E6=AC=A1=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?/=E5=88=A0=E9=99=A4=E8=BF=90=E5=8D=95=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=20committer:=20heyu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml
index 770e1a78e..bd37579fa 100644
--- a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml
@@ -205,10 +205,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and w.send_date #{params.endSendDate}
- and (w.start_site_code=#{params.privSiteCode} or w.send_site_code=#{params.privSiteCode})
+ and (w.start_site_code=#{params.privSiteCode} or w.send_site_code=#{params.privSiteCode} or m.start_site_code=#{params.privSiteCode} or m.next_site_code=#{params.privSiteCode})
- order by w.bill_code desc
From 5ee1bb726e299c147c4632583088a2e93971078a Mon Sep 17 00:00:00 2001
From: aike <17730485278@139.com>
Date: Thu, 31 Jul 2025 11:57:01 +0800
Subject: [PATCH 2/2] =?UTF-8?q?demand:=20=20=20=20=E8=99=9A=E6=8B=9F?=
=?UTF-8?q?=E5=8D=95=E8=BD=AC=E4=B8=BB=E5=8D=95bug=E4=BF=AE=E5=A4=8D=20com?=
=?UTF-8?q?mitter:=20heyu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../erp/emis/service/EmisBaseService.java | 61 ++++++++++++++++---
1 file changed, 52 insertions(+), 9 deletions(-)
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java
index b1b057b27..3388d23a1 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java
@@ -5258,18 +5258,61 @@ public class EmisBaseService {
}
}
+ /**
+ * 更新主运单的虚拟运单备注信息
+ * @param emisWaybillSave 当前运单信息
+ * @param masterBillCode 主运单号
+ */
private void updateOldMasterBill(EmisWaybill emisWaybillSave, String masterBillCode) {
- String virtualBillCode = emisWaybillSave.getBillCode();
- EmisWaybill masterWaybill = emisWaybillMapper
- .selectEmisWaybillByBillCode(masterBillCode);
- List filterVirtualRemark = Arrays.stream(masterWaybill.getVirtualRemark().split(","))
- .filter(i -> !i.equals(virtualBillCode)).collect(Collectors.toList());
- String virtualRemark = String.join(",", filterVirtualRemark);
- if(StringUtil.isBlank(virtualRemark)) {
- virtualRemark = " ";
+ // 参数校验
+ if (emisWaybillSave == null || StringUtil.isBlank(masterBillCode)) {
+ log.warn("updateOldMasterBill参数为空,emisWaybillSave: {}, masterBillCode: {}",
+ emisWaybillSave, masterBillCode);
+ return;
}
- masterWaybill.setVirtualRemark(virtualRemark);
+
+ String virtualBillCode = emisWaybillSave.getBillCode();
+ if (StringUtil.isBlank(virtualBillCode)) {
+ log.warn("虚拟运单号为空,无法更新主运单信息");
+ return;
+ }
+
+ // 查询主运单信息
+ EmisWaybill masterWaybill = emisWaybillMapper.selectEmisWaybillByBillCode(masterBillCode);
+ if (masterWaybill == null) {
+ log.warn("未找到主运单信息,masterBillCode: {}", masterBillCode);
+ return;
+ }
+
+ // 处理虚拟运单备注信息
+ String currentVirtualRemark = masterWaybill.getVirtualRemark();
+ List virtualBillCodes = new ArrayList<>();
+
+ // 如果当前虚拟备注不为空,则解析现有运单号列表
+ if (StringUtil.isNotBlank(currentVirtualRemark)) {
+ virtualBillCodes = Arrays.stream(currentVirtualRemark.split(","))
+ .map(String::trim)
+ .filter(StringUtil::isNotBlank)
+ .collect(Collectors.toList());
+ }
+
+ // 移除当前虚拟运单号
+ virtualBillCodes.removeIf(code -> virtualBillCode.equals(code));
+
+ // 重新构建虚拟备注字符串
+ String newVirtualRemark;
+ if (virtualBillCodes.isEmpty()) {
+ newVirtualRemark = " ";
+ } else {
+ newVirtualRemark = String.join(",", virtualBillCodes);
+ }
+
+ // 更新主运单信息
+ masterWaybill.setVirtualRemark(newVirtualRemark);
emisWaybillMapper.updateEmisWaybill(masterWaybill);
+
+ log.debug("成功更新主运单虚拟备注,masterBillCode: {}, 移除运单号: {}, 新备注: {}",
+ masterBillCode, virtualBillCode, newVirtualRemark);
}
public static void main(String[] args) throws ParseException {