From 8049915cd871fdba1e5799f8dc9d46af5cb2690b Mon Sep 17 00:00:00 2001
From: aike <17730485278@139.com>
Date: Wed, 12 Nov 2025 11:31:06 +0800
Subject: [PATCH 1/2] =?UTF-8?q?demand:=20=20=20=20=E6=9C=88=E7=BB=93?=
=?UTF-8?q?=E5=AE=A2=E6=88=B7=E5=87=BA=E8=B4=A7=E7=BB=9F=E8=AE=A1=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E5=85=B6=E4=BB=96=20committer:=20heyu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../vo/MonthlyCustomerShipmentStatVO.java | 8 ++++
.../resources/mapper/EmisWaybillMapper.xml | 38 +++++++++++++------
2 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/MonthlyCustomerShipmentStatVO.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/MonthlyCustomerShipmentStatVO.java
index 68adf333a..8d03d1636 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/MonthlyCustomerShipmentStatVO.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/MonthlyCustomerShipmentStatVO.java
@@ -87,5 +87,13 @@ public class MonthlyCustomerShipmentStatVO implements Serializable {
/* 进口实际重量 */
@Excel(name = "进口实际重量")
private BigDecimal importWeight;
+
+ /* 其他票数 */
+ @Excel(name = "其他票数")
+ private Integer otherTickets;
+
+ /* 其他实际重量 */
+ @Excel(name = "其他实际重量")
+ private BigDecimal otherWeight;
}
diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml
index 8ea1e99f7..653255a7a 100644
--- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml
@@ -4009,7 +4009,9 @@
SUM(CASE WHEN a.send_country = '0086' AND tl.trans_type = '4' THEN 1 ELSE 0 END) AS seaTickets,
IFNULL(SUM(CASE WHEN a.send_country = '0086' AND tl.trans_type = '4' THEN a.bill_weight ELSE 0 END), 0) AS seaWeight,
SUM(CASE WHEN a.receive_country = '0086' THEN 1 ELSE 0 END) AS importTickets,
- IFNULL(SUM(CASE WHEN a.receive_country = '0086' THEN a.bill_weight ELSE 0 END), 0) AS importWeight
+ IFNULL(SUM(CASE WHEN a.receive_country = '0086' THEN a.bill_weight ELSE 0 END), 0) AS importWeight,
+ SUM(CASE WHEN a.receive_country != '0086' AND NOT (a.send_country = '0086' AND tl.trans_type IN ('1','2','3','4','5')) THEN 1 ELSE 0 END) AS otherTickets,
+ IFNULL(SUM(CASE WHEN a.receive_country != '0086' AND NOT (a.send_country = '0086' AND tl.trans_type IN ('1','2','3','4','5')) THEN a.bill_weight ELSE 0 END), 0) AS otherWeight
FROM emis_waybill a
LEFT JOIN emis_trans_line tl ON a.trans_line_type = tl.line_code AND tl.del_flag = '0'
LEFT JOIN emis_customer_user cu ON a.customer_code = cu.customer_code AND cu.del_flag = '0'
@@ -4139,18 +4141,30 @@
- AND EXISTS (
- SELECT 1 FROM emis_trans_line tl
- WHERE tl.line_code = a.trans_line_type
- AND tl.del_flag = '0'
-
- AND a.receive_country = '0086'
-
-
- AND FIND_IN_SET(tl.trans_type, #{transType})
+
+ AND a.receive_country != '0086'
+ AND NOT EXISTS (
+ SELECT 1 FROM emis_trans_line tl
+ WHERE tl.line_code = a.trans_line_type
+ AND tl.del_flag = '0'
AND a.send_country = '0086'
-
- )
+ AND tl.trans_type IN ('1','2','3','4','5')
+ )
+
+
+ AND EXISTS (
+ SELECT 1 FROM emis_trans_line tl
+ WHERE tl.line_code = a.trans_line_type
+ AND tl.del_flag = '0'
+
+ AND a.receive_country = '0086'
+
+
+ AND FIND_IN_SET(tl.trans_type, #{transType})
+ AND a.send_country = '0086'
+
+ )
+
From 36e2e496d891d7e27f5db7c016d1410cc08c4d8c Mon Sep 17 00:00:00 2001
From: aike <17730485278@139.com>
Date: Wed, 12 Nov 2025 13:53:26 +0800
Subject: [PATCH 2/2] =?UTF-8?q?demand:=20=20=20=20tms-=E5=9F=BA=E7=A1=80?=
=?UTF-8?q?=E7=AE=A1=E7=90=86-=E4=BA=A7=E5=93=81=E7=B1=BB=E5=9E=8B?=
=?UTF-8?q?=E7=AE=A1=E7=90=86-=E6=96=B0=E5=A2=9E=E6=97=B6=E4=BA=A7?=
=?UTF-8?q?=E5=93=81=E7=B1=BB=E5=9E=8Bcode=E9=87=8D=E5=A4=8D=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D=20committer:=20heyu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/EmisTransProductServiceImpl.java | 34 ++++++++++++++++---
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransProductServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransProductServiceImpl.java
index 905f71de3..75d9ab82e 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransProductServiceImpl.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransProductServiceImpl.java
@@ -67,10 +67,36 @@ public class EmisTransProductServiceImpl implements IEmisTransProductService
public int insertEmisTransProduct(EmisTransProduct emisTransProduct)
{
// 获取线路编号
- QueryWrapper queryWrapper=new QueryWrapper();
- queryWrapper.eq("trans_line_code",emisTransProduct.getTransLineCode());
- Long count = emisTransProductMapper.selectCount(queryWrapper);
- String prodCode=emisTransProduct.getTransLineCode()+"-"+ StringUtils.leftPad(String.valueOf(count),4,"0");
+ QueryWrapper queryWrapper=new QueryWrapper<>();
+ queryWrapper.likeRight("prod_code",emisTransProduct.getTransLineCode()+"-");
+ queryWrapper.select("prod_code");
+ queryWrapper.orderByDesc("prod_code");
+ queryWrapper.last("LIMIT 1");
+ List productList = emisTransProductMapper.selectList(queryWrapper);
+
+ String prodCode;
+ if (productList == null || productList.isEmpty()) {
+ // 如果查询结果为空,使用0000
+ prodCode = emisTransProduct.getTransLineCode()+"-"+"0000";
+ } else {
+ // 获取最大的prod_code,提取数字部分加1
+ String maxProdCode = productList.get(0).getProdCode();
+ String prefix = emisTransProduct.getTransLineCode()+"-";
+ if (maxProdCode != null && maxProdCode.startsWith(prefix)) {
+ String numberPart = maxProdCode.substring(prefix.length());
+ try {
+ int maxNumber = Integer.parseInt(numberPart);
+ int newNumber = maxNumber + 1;
+ prodCode = prefix + StringUtils.leftPad(String.valueOf(newNumber), 4, "0");
+ } catch (NumberFormatException e) {
+ // 如果解析失败,使用0000
+ prodCode = emisTransProduct.getTransLineCode()+"-"+"0000";
+ }
+ } else {
+ // 如果格式不匹配,使用0000
+ prodCode = emisTransProduct.getTransLineCode()+"-"+"0000";
+ }
+ }
emisTransProduct.setProdCode(prodCode);
emisTransProduct.preInsert();