From b9f8fe83f3e0f27edab8da11e8d2083bd1e0aac8 Mon Sep 17 00:00:00 2001
From: aike <17730485278@139.com>
Date: Fri, 17 Apr 2026 17:21:59 +0800
Subject: [PATCH] =?UTF-8?q?demand:=20=20=20=20=20TMS=E7=B3=BB=E7=BB=9F=20-?=
=?UTF-8?q?=20=E8=BF=90=E5=8D=95=E5=BD=95=E5=85=A5/=E8=BF=90=E5=8D=95?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9/=E7=BD=91=E7=82=B9=E8=B4=B9=E7=94=A8?=
=?UTF-8?q?=E7=94=B3=E8=AF=B7=20-=20=E7=BA=BF=E8=B7=AF=E4=B8=BA=E6=B5=B7?=
=?UTF-8?q?=E8=BF=90=E7=9A=84=E4=BA=A7=E5=93=81=20=E7=95=8C=E9=9D=A2?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../erp/emis/domain/EmisWaybillOther.java | 4 ++
.../erp/emis/domain/vo/WaybillOrder.java | 1 +
.../service/impl/EmisWaybillServiceImpl.java | 43 ++++++++++++++++++-
.../resources/mapper/EmisWaybillMapper.xml | 3 ++
.../mapper/EmisWaybillOtherMapper.xml | 5 +++
5 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOther.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOther.java
index 343ee06ff..f29ae3c69 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOther.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOther.java
@@ -55,6 +55,10 @@ public class EmisWaybillOther extends BaseEntity {
/* 现金客户公司名称 */
private String moneyCompany;
+ /* 柜数 */
+ @DataAuditField(fieldComment = "柜数")
+ private Long cabinetNumber;
+
// /* 回款回款人 */
// private String payee;
// /* 销售联系人 */
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java
index 7937d70c6..1ddb91323 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java
@@ -966,6 +966,7 @@ public class WaybillOrder implements Serializable {
EmisWaybillOther waybillOther = new EmisWaybillOther();
waybillOther.setMoneyUserId(this.getWaybillOther().getMoneyUserId());
waybillOther.setSalesSupport(this.getWaybillOther().getSalesSupport());
+ waybillOther.setCabinetNumber(this.getWaybillOther().getCabinetNumber());
dbWaybill.setWaybillOther(waybillOther);
}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java
index 9d90d09f2..a4243d722 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java
@@ -164,10 +164,11 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
* 保存或更新运单其他信息副表
* @param emisWaybillSave
*/
- private void saveOrUpdateWaybillOther(EmisWaybill emisWaybillSave) {
+ private void saveOrUpdateWaybillOther(EmisWaybill emisWaybillSave) throws EmisBizError {
if (emisWaybillSave == null || emisWaybillSave.getId() == null) {
return;
}
+ validateCabinetNumberRule(emisWaybillSave, null);
String billCode = emisWaybillSave.getBillCode();
Long waybillId = emisWaybillSave.getId();
@@ -175,15 +176,20 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
// 从waybillOther中获取moneyUserId
Long moneyUserId = null;
String salesSupport = null;
+ Long cabinetNumber = 0L;
if (emisWaybillSave.getWaybillOther() != null) {
moneyUserId = emisWaybillSave.getWaybillOther().getMoneyUserId();
salesSupport = emisWaybillSave.getWaybillOther().getSalesSupport();
+ cabinetNumber = emisWaybillSave.getWaybillOther().getCabinetNumber();
if (moneyUserId == null) {
moneyUserId = 0L;
}
if (salesSupport == null) {
salesSupport ="";
}
+ if (cabinetNumber == null) {
+ cabinetNumber = 0L;
+ }
}
// 查询是否已存在
@@ -194,6 +200,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
existing.setSalesSupport(salesSupport);
existing.setBillCode(billCode);
existing.setMoneyUserId(moneyUserId);
+ existing.setCabinetNumber(cabinetNumber);
existing.preUpdate();
emisWaybillOtherMapper.updateEmisWaybillOther(existing);
} else {
@@ -203,11 +210,44 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
waybillOtherEntity.setBillCode(billCode);
waybillOtherEntity.setSalesSupport(salesSupport);
waybillOtherEntity.setMoneyUserId(moneyUserId);
+ waybillOtherEntity.setCabinetNumber(cabinetNumber);
waybillOtherEntity.preInsert();
emisWaybillOtherMapper.insertEmisWaybillOther(waybillOtherEntity);
}
}
+ private void validateCabinetNumberRule(EmisWaybill emisWaybillSave, String productName) throws EmisBizError {
+ if (emisWaybillSave == null) {
+ return;
+ }
+ if (emisWaybillSave.getWaybillOther() == null) {
+ emisWaybillSave.setWaybillOther(new EmisWaybillOther());
+ }
+ Long cabinetNumber = emisWaybillSave.getWaybillOther().getCabinetNumber();
+ if (cabinetNumber == null) {
+ cabinetNumber = 0L;
+ emisWaybillSave.getWaybillOther().setCabinetNumber(0L);
+ }
+
+ String currentProductName = productName;
+ if (StringUtils.isBlank(currentProductName) && StringUtils.isNotBlank(emisWaybillSave.getProductType())) {
+ EmisTransProduct transProduct = getTransProductByCode(emisWaybillSave.getProductType());
+ if (transProduct != null) {
+ currentProductName = transProduct.getProdName();
+ }
+ }
+
+ if (StringUtils.isBlank(currentProductName)) {
+ return;
+ }
+ if (currentProductName.contains("拼箱") && cabinetNumber.longValue() != 0L) {
+ throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "海运拼箱,柜数必须为0");
+ }
+ if (currentProductName.contains("整柜") && cabinetNumber.longValue() < 1L) {
+ throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "海运整柜,柜数必须为大于等于1的整数");
+ }
+ }
+
/**
* 获取稽核数据
* @param id
@@ -974,6 +1014,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
if(transProduct==null){
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "产品不正确");
}
+// validateCabinetNumberRule(emisWaybillSave, transProduct.getProdName());
emisWaybillSave.setProductType(transProduct.getProdCode());
// 收件国家省市区转换
diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml
index bda3ccd56..24ef7a4ae 100644
--- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml
@@ -265,6 +265,7 @@
+
@@ -370,6 +371,7 @@
wss.sales_support as waybill_other_sales_support,
COALESCE(wss.money_user_id, a3.money_user_id) as waybill_other_money_user_id,
COALESCE(mu.company, mu2.company) as waybill_other_money_company,
+ IFNULL(wss.cabinet_number, 0) as waybill_other_cabinet_number,
p.emp_name as dispatch_man_name,q.site_name as print_site_name,
r.emp_name as print_man_name,
@@ -484,6 +486,7 @@
wss.sales_support as waybill_other_sales_support,
COALESCE(wss.money_user_id, a3.money_user_id) as waybill_other_money_user_id,
COALESCE(mu.company, mu2.company) as waybill_other_money_company,
+ IFNULL(wss.cabinet_number, 0) as waybill_other_cabinet_number,
a3.sales_executive ,
a3.customer_type as customer_type,
a3.main_user_id ,
diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillOtherMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillOtherMapper.xml
index fbcc3b8ab..13b6c88f6 100644
--- a/emis-biz/src/main/resources/mapper/EmisWaybillOtherMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisWaybillOtherMapper.xml
@@ -11,6 +11,7 @@
+
@@ -21,6 +22,7 @@
a.sales_support,
a.money_user_id,
mu.company as money_company,
+ a.cabinet_number,
a.del_flag,
a.create_by,
a.create_time,
@@ -57,6 +59,7 @@
bill_code,
sales_support,
money_user_id,
+ cabinet_number,
del_flag,
create_by,
create_time,
@@ -71,6 +74,7 @@
#{billCode},
#{salesSupport},
#{moneyUserId},
+ #{cabinetNumber},
#{delFlag},
#{createBy},
#{createTime},
@@ -89,6 +93,7 @@
bill_code = #{billCode},
sales_support = #{salesSupport},
money_user_id = #{moneyUserId},
+ cabinet_number = #{cabinetNumber},
del_flag = #{delFlag},
update_by = #{updateBy},
update_time = #{updateTime},