From 5447196180588be1a47c99ca5255ecd8735f4513 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期一, 06 四月 2026 15:28:19 +0800
Subject: [PATCH] 日志打印优化  不影响主流程

---
 src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
index 87043a6..f3e2302 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
@@ -22,6 +22,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -77,6 +78,22 @@
 
         WaitPakin waitPakin = findWaitPakin(wrkMast.getBarcode());
         ErpPakinReportParam param = buildParam(wrkMast, wrkDetls, waitPakin);
+
+        // 搴綅杞夋彌
+        String locId = param.getLocId();
+        String row = locId.substring(0, 2);
+        String col = locId.substring(2, 5);
+        String lev =  locId.substring(5, 7);
+        if(Integer.parseInt(row) >= 37) {
+            row = "C" + row;
+        } else if(Integer.parseInt(row) >= 13) {
+            row = "B" + row;
+        } else {
+            row = "A" + row;
+        }
+        String newLocId = row + "-" + col + "-" + lev;
+        param.setLocId(newLocId);
+
         String request = JSON.toJSONString(param);
         String response = "";
         boolean success = false;
@@ -141,13 +158,24 @@
         param.setPalletId(resolvePalletId(wrkMast, wrkDetls));
         param.setAnfme(sumAnfme(wrkDetls));
         param.setLocId(wrkMast.getLocNo());
-        param.setWeight(sumWeight(wrkDetls));
+//        param.setWeight(sumWeight(wrkDetls));
+        param.setWeight(adjustErpReportWeight(wrkMast.getScWeight()));
         param.setCreateTime(formatDate(resolveCreateTime(wrkMast)));
         param.setBizNo(resolveBizNo(wrkDetls, waitPakin));
         param.setStartTime(formatDate(resolveStartTime(wrkMast, waitPakin)));
         return param;
     }
 
+    /** 涓婃姤 ERP 閲嶉噺锛氣墹20 浼� 0锛�>20 鍑� 10 */
+    private static BigDecimal adjustErpReportWeight(BigDecimal scWeight) {
+        BigDecimal base = scWeight == null ? BigDecimal.ZERO : scWeight;
+        if (base.compareTo(new BigDecimal("20")) <= 0) {
+            return BigDecimal.ZERO;
+        }
+        return base.subtract(new BigDecimal("10"));
+        // BigDecimal v = base.subtract(new BigDecimal("10"));
+        // return v.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : v;
+    }
     private String resolvePalletId(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
         if (!Cools.isEmpty(wrkMast.getBarcode())) {
             return wrkMast.getBarcode();
@@ -170,17 +198,17 @@
         return total;
     }
 
-    private Double sumWeight(List<WrkDetl> wrkDetls) {
-        double total = 0D;
-        for (WrkDetl wrkDetl : wrkDetls) {
-            if (Cools.isEmpty(wrkDetl.getWeight())) {
-                continue;
-            }
-            double qty = Cools.isEmpty(wrkDetl.getAnfme()) ? 1D : wrkDetl.getAnfme();
-            total += wrkDetl.getWeight() * qty;
-        }
-        return total;
-    }
+//    private Double sumWeight(List<WrkDetl> wrkDetls) {
+//        double total = 0D;
+//        for (WrkDetl wrkDetl : wrkDetls) {
+//            if (Cools.isEmpty(wrkDetl.getWeight())) {
+//                continue;
+//            }
+//            double qty = Cools.isEmpty(wrkDetl.getAnfme()) ? 1D : wrkDetl.getAnfme();
+//            total += wrkDetl.getWeight() * qty;
+//        }
+//        return total;
+//    }
 
     private Date resolveCreateTime(WrkMast wrkMast) {
         if (!Cools.isEmpty(wrkMast.getCrnEndTime())) {

--
Gitblit v1.9.1