From 76411239a0b19c18fcdef935f56b06cb8ba5a9bb Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 02 六月 2023 13:44:38 +0800
Subject: [PATCH] 出库优先级

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   37 +++++++++++++++++++++++++++++++++----
 1 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 89db0a0..1ed19dd 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -245,7 +245,14 @@
                     if (locDetls1.size() == 0) {//鍐呬晶搴撲綅娌℃湁鐩稿悓鐨勭墿鏂欙紝璺宠繃
                         continue;
                     }
-
+                    int locRow = Utils.getRow(locDetl0.getLocNo());
+                    switch (locRow) {
+                        case 3:
+                        case 11:
+                        case 18:
+                            Collections.reverse(locDetls1);
+                            break;
+                    }
                     for (LocDetl detl : locDetls1) {
                         double lastCount = locDetl.getCount() - useCount;//鍓╀綑鎵�闇�鏁伴噺
                         double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
@@ -302,7 +309,7 @@
                 double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
                 if (locDetl0.getAnfme() >= lastCount) {//瀹為檯鏁伴噺澶т簬鎵�闇�鏁伴噺锛屾寜鎵�闇�鏁伴噺鎻愪緵
                     realCount = lastCount;
-                }else {
+                } else {
                     //瀹為檯灏忎簬鎵�闇�鏁伴噺锛屾寜瀹為檯鏁伴噺鎻愪緵
                     realCount = locDetl0.getAnfme();
                 }
@@ -314,6 +321,9 @@
                     return locDetlList;
                 }
             }
+
+            //搴撳瓨鏁伴噺涓嶆弧瓒�
+            throw new CoolException("鍗曞搧鍖哄煙鍙湁" + useCount + "涓揣鐗�");
         }
 
         return null;
@@ -393,9 +403,14 @@
                 }
             }
 
-            List<String> outerLoc = Utils.getGroupOuterSingleLoc(locNo);
+            List<String> outerLocs = Utils.getGroupOuterSingleLoc(locNo);
             Double wrkPri = 15D;
-            for (LocMast locMast : locMastService.selectByLocNos(outerLoc)) {
+            for (String outerLoc : outerLocs) {
+                LocMast locMast = locMastService.selectById(outerLoc);
+                if (locMast == null) {
+                    continue;
+                }
+
                 if (!locMast.getLocSts().equals("F")) {
                     continue;
                 }
@@ -457,6 +472,7 @@
                         wrkDetl.setModiTime(now);
                         wrkDetl.setModiUser(userId);
                         wrkDetl.setSpecs(locDetl.getSpecs());
+                        wrkDetl.setMatType(locDetl.getMatType());
                         if (!wrkDetlService.insert(wrkDetl)) {
                             throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                         }
@@ -489,6 +505,15 @@
             assert ioType != null;
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
+
+            //-----------------2023.6.2鍑哄簱鍏煎浠g爜-----------------------
+            List<LocDetl> locDetls = locDetlService.selectByLocNo(locMast.getLocNo());
+            if (locMast.getLocType2() == 1 && locDetls.size() > 1) {
+                //鍗曞搧鍖哄煙鍑哄簱鐗╂枡澶т簬1绉嶏紝寮哄埗鍙樻垚101鍏ㄦ澘鍑哄簱
+                ioType = 101;
+            }
+            //-----------------2023.6.2鍑哄簱鍏煎浠g爜end-----------------------
+
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo(), locMast.getRow1());
             if(staDesc == null){
@@ -540,6 +565,7 @@
                 wrkDetl.setModiTime(now);
                 wrkDetl.setModiUser(userId);
                 wrkDetl.setSpecs(detlDto.getLocDetl().getSpecs());
+                wrkDetl.setMatType(detlDto.getLocDetl().getMatType());
                 if (!wrkDetlService.insert(wrkDetl)) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                 }
@@ -626,6 +652,7 @@
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(now);
             wrkDetl.setModiUser(userId);
+            wrkDetl.setMatType(locDetl.getMatType());
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
@@ -948,6 +975,7 @@
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(now);
             wrkDetl.setModiUser(userId);
+            wrkDetl.setMatType(locDetl.getMatType());
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
@@ -1437,6 +1465,7 @@
                     wrkDetl.setAppeUser(9527L);
                     wrkDetl.setModiTime(now);
                     wrkDetl.setModiUser(9527L);
+                    wrkDetl.setMatType(locDetl.getMatType());
                     if (!wrkDetlService.insert(wrkDetl)) {
                         throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                     }

--
Gitblit v1.9.1