From 3166624edda4fc938593432b619fa5ad00409f0a Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 03 十一月 2026 16:49:12 +0800
Subject: [PATCH] feat(outsource): 1.支持外协订单按物料属性分流复用原有业务流程 2.修复工时字段空值判断与赋值逻辑

---
 inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
index 924b9e3..8f2e11b 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
@@ -18,6 +18,8 @@
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 /**
@@ -45,7 +47,6 @@
     @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
     public void doAfterReturning(JoinPoint joinPoint) {
         Object[] args = joinPoint.getArgs();
-        log.info("鎵ц鍚屾瀹炴椂搴撳瓨鍒癕ES,鍙傛暟锛歿}",args);
         if(Objects.nonNull(args) && args.length>0) {
             IfsInventoryQuantity ifsInventoryQuantity = BeanUtil.toBean(args[0], IfsInventoryQuantity.class);
             if(Objects.nonNull(ifsInventoryQuantity) && ifsInventoryQuantity.getIsSplitOrder()==1){
@@ -84,6 +85,14 @@
                     requestMap.put("newPartBatchNo", one.getLotBatchNo()); // 鏂伴浂浠舵壒鍙�
                     requestMap.put("stockQuantity", one.getLength()); // 搴撳瓨鏁伴噺1
                     requestMap.put("qty", one.getQtyStock()); // 搴撳瓨鏁伴噺2
+                    // 瀵煎叆闀垮害涓� km銆侀噸閲忎负 kg锛涚背閲嶆寜 kg/km 鍚戜笅淇濈暀 6 浣嶏紝閬垮厤鎹㈢畻鍚庤秴杩囧師閲嶉噺銆�
+                    BigDecimal lengthKm = one.getLength();
+                    BigDecimal weightKg = one.getQtyStock();
+                    if (lengthKm == null || lengthKm.signum() <= 0 || weightKg == null || weightKg.signum() <= 0) {
+                        throw new IllegalArgumentException("鎵瑰彿 " + one.getLotBatchNo() + " 鐨勯暱搴︽垨閲嶉噺涓虹┖鎴栦笉澶т簬 0锛屾棤娉曡绠楃背閲�");
+                    }
+                    BigDecimal meterWeight = weightKg.divide(lengthKm, 6, RoundingMode.DOWN);
+                    requestMap.put("meterWeight", meterWeight); // 绫抽噸锛宬g/km
                     requestMap.put("insulationColor", one.getInsulationColor()); // 缁濈紭棰滆壊
                     requestMap.put("outerColor", one.getOuterColor()); // 澶栨姢棰滆壊
                     requestMap.put("letteringInfo", one.getLetteringInfo()); // 鍗板瓧淇℃伅

--
Gitblit v1.9.3