From a1f7856f0f450883c7060444a4fc2b721720a051 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 15 四月 2026 11:00:05 +0800
Subject: [PATCH] 1.erp对接新增字段 2.电视机数据

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index fae0285..e9f10cb 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1500,6 +1500,10 @@
      */
     @Override
     public R outOrder(OutTaskParam param,int count) {
+        return outOrder(param, count, 1);
+    }
+
+    private R outOrder(OutTaskParam param, int count, int teu) {
         LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F").eq("barcode", param.getPalletId()));
         if (locMast == null) {
             throw new CoolException("娌℃湁鎵惧埌鎵樼洏鐮�=" + param.getPalletId() + "瀵瑰簲鐨勫簱浣�");
@@ -1546,6 +1550,7 @@
         wrkMast.setEmptyMk("N"); // 绌烘澘
         wrkMast.setLinkMis("N");
         wrkMast.setPdcType("N");
+        wrkMast.setContainerNo(param.getContainerNo());
         // 7.11锛歰rderId 瀛� userNo锛宐atchSeq 瀛樻壒娆℃爣璇嗭紝seq 瀛樻壒娆″唴椤哄簭銆�
         wrkMast.setUserNo(param.getOrderId());//璁㈠崟鍙�
         wrkMast.setBatchSeq(param.getBatchSeq());//璁㈠崟鍐呮壒娆℃爣璇�
@@ -1575,6 +1580,7 @@
             wrkDetl.setAppeUser(9995L);
             wrkDetl.setModiTime(now);
             wrkDetl.setModiUser(9995L);
+            wrkDetl.setTeu(teu);
             // 7.11锛歟ntryWmsCode銆乷utDoorNo 澶嶇敤鏄庣粏澶囩敤瀛楁銆�
             wrkDetl.setStandby1(param.getEntryWmsCode());
             wrkDetl.setStandby2(param.getOutDoorNo());
@@ -1608,12 +1614,14 @@
     public R outOrderBatch(List<OutTaskParam> params) {
         int n = params.size();
         Map<String, Integer> batchLineCounts = new HashMap<>();
+        Map<String, Integer> batchTeuCounts = buildOutOrderBatchTeuCounts(params);
         for (OutTaskParam outTaskParam : params) {
             batchLineCounts.merge(buildOutOrderBatchKey(outTaskParam), 1, Integer::sum);
         }
         for (OutTaskParam outTaskParam : params) {
             int count = batchLineCounts.getOrDefault(buildOutOrderBatchKey(outTaskParam), n);
-            R r = outOrder(outTaskParam, count);
+            int teu = batchTeuCounts.getOrDefault(outTaskParam.getBatchSeq(), 1);
+            R r = outOrder(outTaskParam, count, teu);
             if (!Objects.equals(r.get("code"), 200)) {
                 throw new CoolException("鍑哄簱寤哄崟澶辫触");
             }
@@ -1707,6 +1715,18 @@
         return param.getOrderId() + "#" + param.getBatchSeq();
     }
 
+    private Map<String, Integer> buildOutOrderBatchTeuCounts(List<OutTaskParam> params) {
+        Map<String, Set<String>> batchOrderIds = new HashMap<>();
+        for (OutTaskParam param : params) {
+            batchOrderIds.computeIfAbsent(param.getBatchSeq(), k -> new LinkedHashSet<>()).add(param.getOrderId());
+        }
+        Map<String, Integer> batchTeuCounts = new HashMap<>();
+        for (Map.Entry<String, Set<String>> entry : batchOrderIds.entrySet()) {
+            batchTeuCounts.put(entry.getKey(), entry.getValue().size());
+        }
+        return batchTeuCounts;
+    }
+
     private String resolveOutboundOrderId(String palletId) {
         List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                 .eq("io_type", 101)

--
Gitblit v1.9.1