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