From 9145f8a44c6ae733019e43c775cc30243032e502 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 29 四月 2026 16:16:43 +0800
Subject: [PATCH] 拍照触发修改

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 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 a261d64..92a24f6 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -51,6 +51,8 @@
 
     private static final Map<Integer, BigDecimal> INBOUND_WEIGHT_FACTOR_BY_SOURCE_STA;
     private static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
+    private static final int DEFAULT_OUT_ORDER_BATCH_PRIORITY = 100;
+    private static final int DEFAULT_OUT_ORDER_BATCH_PRIORITY_THRESHOLD = 1;
     // ERP 鍑哄簱鍙eぇ浜庤闃堝�兼椂锛�/outOrder 鍙惤鍑哄簱璁㈠崟锛岀敱瀹氭椂鍣ㄥ悗缁敓鎴愪换鍔°��
     private static final int PENDING_OUT_ORDER_STATION_THRESHOLD = 600;
     // 寤惰繜鍑哄簱璁㈠崟浣跨敤鐙珛鍗曟嵁绫诲瀷锛屼究浜庡拰浜哄伐/椤甸潰鍒涘缓鐨勫嚭搴撳崟鍖哄垎鏉ユ簮銆�
@@ -1625,7 +1627,7 @@
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
-        wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+        wrkMast.setIoPri(Double.valueOf(i)); // 浼樺厛绾�
         wrkMast.setCrnNo(locMast.getCrnNo());
         wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
         wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -1710,25 +1712,41 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R outOrderBatch(Map<String, List<OutTaskParam>> linesByBatchSeq,int count) {
-        int i = 0;
+
         for (Map.Entry<String, List<OutTaskParam>> entry : linesByBatchSeq.entrySet()) {
+            int i = DEFAULT_OUT_ORDER_BATCH_PRIORITY;
+            int j = 0;
+            int priorityThreshold = getOutOrderBatchPriorityThreshold();
             for (OutTaskParam outTaskParam : entry.getValue()) {
-                if(outTaskParam.getSeq()!=0){
-                    i= outTaskParam.getSeq();
-                }else{
-                    i++;
-                }
                 int teu = Cools.isEmpty(outTaskParam.getTeu())?0:outTaskParam.getTeu();
                 R r = outOrder(outTaskParam, count, teu ,i);
                 if (!Objects.equals(r.get("code"), 200)) {
                     throw new CoolException("鍑哄簱寤哄崟澶辫触");
                 }
+                j++;
+                if (j >= priorityThreshold) {
+                    i--;
+                    j = 0;
+                }
             }
 
         }
         return R.ok();
     }
 
+    private int getOutOrderBatchPriorityThreshold() {
+        Parameter parameter = Parameter.get();
+        if (parameter == null || Cools.isEmpty(parameter.getOutOrderBatchPriorityThreshold())) {
+            return DEFAULT_OUT_ORDER_BATCH_PRIORITY_THRESHOLD;
+        }
+        try {
+            int threshold = Integer.parseInt(parameter.getOutOrderBatchPriorityThreshold().trim());
+            return threshold <= 0 ? DEFAULT_OUT_ORDER_BATCH_PRIORITY_THRESHOLD : threshold;
+        } catch (NumberFormatException ignored) {
+            return DEFAULT_OUT_ORDER_BATCH_PRIORITY_THRESHOLD;
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R outOrderCreatePakoutOrder(List<OutTaskParam> params) {

--
Gitblit v1.9.1