From 2f932f2675b0e7cfa7c5466b058d93aec67d6f3c Mon Sep 17 00:00:00 2001
From: whycq <you@example.com>
Date: 星期一, 30 一月 2023 22:10:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index fef68d3..2809921 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -55,6 +55,8 @@
     private LocDetlService locDetlService;
     @Autowired
     private SlaveProperties slaveProperties;
+    @Autowired
+    private MatService matService;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -113,16 +115,25 @@
         StartupDto startupDto = new StartupDto();
         int start;
         int end;
+        Integer theCrnNo = null;
         switch (sourceStaNo) {
             case 103:
                 whsType = 1;
                 start = 1;
                 end = 14;
+                if (null != wrkMastService.selectPakoutOfStaNo(104)) {
+                    start = 8;
+                    theCrnNo = 2;
+                }
                 break;
             case 203:
                 whsType = 2;
                 start = 8;
                 end = 21;
+                if (null != wrkMastService.selectPakoutOfStaNo(204)) {
+                    end = 14;
+                    theCrnNo = 2;
+                }
                 break;
             default:
                 throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -142,6 +153,17 @@
         int crnNo = 0;
         // 鐩爣搴撲綅
         LocMast locMast = null;
+
+        boolean inoutEveryday = false;
+        if (!Cools.isEmpty(matNos)) {
+            for (String matNo : matNos) {
+                Mat mat = matService.selectByMatnr(matNo);
+                if (mat.getInoutEveryday() != null && mat.getInoutEveryday()) {
+                    inoutEveryday = true;
+                    break;
+                }
+            }
+        }
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
         if (!Cools.isEmpty(matNos) && matNos.size() == 1) {
@@ -205,9 +227,17 @@
                     switch (curRow) {
                         case 1:
                             curRow = 1;
+                            if (null != theCrnNo) {
+                                curRow = 8;
+                                crnNo1 = crnNo1 + 1;
+                            }
                             break;
                         case 2:
                             curRow = 7;
+                            if (null != theCrnNo) {
+                                curRow = 14;
+                                crnNo1 = crnNo1 + 1;
+                            }
                             break;
                         case 3:
                             curRow = 8;
@@ -228,9 +258,17 @@
                             break;
                         case 3:
                             curRow = 15;
+                            if (null != theCrnNo) {
+                                curRow = 8;
+                                crnNo1 = crnNo1 - 1;
+                            }
                             break;
                         case 4:
                             curRow = 21;
+                            if (null != theCrnNo) {
+                                curRow = 14;
+                                crnNo1 = crnNo1 - 1;
+                            }
                             break;
                         default:
                             throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -273,8 +311,7 @@
         // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
         if (locMast == null) {
             List<Integer> rows = Utils.getGroupLoc(curRow);
-
-            List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
+            List<LocMast> locMasts = locMastService.queryFreeLocMast0(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday);
             if (!Cools.isEmpty(locMasts)) {
                 Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
                 for (LocMast one : locMasts) {
@@ -284,7 +321,7 @@
                     }
                 }
             }
-            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� todo:luxiaotao
 //            if (!locMastService.checkEmptyCount(locMast)) {
 //                locMast = null;
 //            }

--
Gitblit v1.9.1