From 94dba00dbc6f351f5835d6f4a98d3126cedd9e80 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 01 十一月 2022 17:05:04 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 89e086e..fedfe28 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;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -144,17 +146,18 @@
         LocMast locMast = null;
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
-        if (!Cools.isEmpty(matNos)) {
+        if (!Cools.isEmpty(matNos) && matNos.size() == 1) {
             List<String> locNos = locDetlService.getSameDetl(matNos.get(0), start, end);
             for (String locNo : locNos) {
                 List<String> groupLoc = Utils.getGroupLoc(locNo);
-                locMast = locMastService.findOutMost(groupLoc);
-                if (null != locMast) {
+                LocMast locMast0 = locMastService.findOutMost(groupLoc);
+                if (null != locMast0) {
                     // 娴呭簱浣嶇鍚堝昂瀵告娴�
-                    if (VersionUtils.locMoveCheckLocType(locMast, locTypeDto)) {
+                    if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                         // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
-                        if (basCrnpService.checkSiteError(locMast.getCrnNo(), true)) {
-                            crnNo = locMast.getCrnNo();
+                        if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+                            crnNo = locMast0.getCrnNo();
+                            locMast = locMast0;
                             break;
                         }
                     }
@@ -169,13 +172,14 @@
             if (locMasts.size() > 0) {
                 for (LocMast loc : locMasts) {
                     List<String> groupLoc = Utils.getGroupLoc(loc.getLocNo());
-                    locMast = locMastService.findOutMost(groupLoc);
-                    if (null != locMast) {
+                    LocMast locMast0 = locMastService.findOutMost(groupLoc);
+                    if (null != locMast0) {
                         // 娴呭簱浣嶇鍚堝昂瀵告娴�
-                        if (VersionUtils.locMoveCheckLocType(locMast, locTypeDto)) {
+                        if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                             // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
-                            if (basCrnpService.checkSiteError(locMast.getCrnNo(), true)) {
-                                crnNo = locMast.getCrnNo();
+                            if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+                                crnNo = locMast0.getCrnNo();
+                                locMast = locMast0;
                                 break;
                             }
                         }
@@ -190,6 +194,9 @@
         if (null == locMast) {
             Shelves shelves = new Shelves(rowCount, crn_qty);
             for (int i = 0; i < shelves.group; i ++) {
+                if (i > 0) {
+                    curRow = currentRow;
+                }
                 curRow = shelves.start(curRow);
                 if (curRow < 0) {
                     throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -269,7 +276,11 @@
         if (locMast == null) {
             List<Integer> rows = Utils.getGroupLoc(curRow);
 
-            List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
+            Mat mat = matService.selectByMatnr(matNos.get(0));
+            if (Cools.isEmpty(mat.getInoutEveryday())){
+                mat.setInoutEveryday(false);
+            }
+            List<LocMast> locMasts = locMastService.queryFreeLocMast2(rows, rows.size(), locTypeDto.getLocType1(),mat.getInoutEveryday());
             if (!Cools.isEmpty(locMasts)) {
                 Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
                 for (LocMast one : locMasts) {
@@ -279,7 +290,7 @@
                     }
                 }
             }
-            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� todo:luxiaotao
 //            if (!locMastService.checkEmptyCount(locMast)) {
 //                locMast = null;
 //            }

--
Gitblit v1.9.1