From 2b613ec7306bf62b6bebde76fe6b4cccc4fc64ff Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 13 六月 2020 15:02:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   44 +++++++++++++++++++++++++++++---------------
 1 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 062b200..089a1d9 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -7,13 +7,14 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.common.model.Shelves;
+import com.zy.common.model.StartupDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 /**
- * 鍙屾繁寮忚揣鏋舵牳蹇冨姛鑳�
+ * 璐ф灦鏍稿績鍔熻兘
  * Created by vincent on 2020/6/11
  */
 @Service
@@ -62,7 +63,6 @@
                 }
             }
             if (workNo > 0){
-                // todo
                 wrkLastno.setWrkNo(workNo);
                 wrkLastnoService.updateById(wrkLastno);
             }
@@ -76,20 +76,20 @@
      * @param sourceStaNo 婧愮珯
      * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
      */
-    public String getLocNo(Integer whsType, String sourceStaNo) {
+    public StartupDto getLocNo(Integer whsType, Integer sourceStaNo) {
+        StartupDto startupDto = new StartupDto();
         RowLastno rowLastno = rowLastnoService.selectById(whsType);
         if (Cools.isEmpty(rowLastno)) {
             throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
         }
-        String locNo = null;
         if (rowLastno.getWhsType() == 1){
             int curRow = rowLastno.getCurrentRow();
             int sRow = rowLastno.getsRow();
             int eRow = rowLastno.geteRow();
             int crn_qty = rowLastno.getCrnQty();
-
+            int rowCount = eRow - sRow + 1;
             // 鑾峰彇鐩爣绔欐墍鍦ㄨ揣鏋舵帓鍙�
-            Shelves shelves = new Shelves(8, crn_qty);
+            Shelves shelves = new Shelves(rowCount, crn_qty);
             curRow = shelves.start(curRow);
             if (curRow < 0) {
                 throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -99,6 +99,7 @@
             for (List<Integer> node : shelves.nodes){
                 if (node.contains(curRow)) {
                     crnNo = shelves.nodes.indexOf(node) + 1;
+                    break;
                 }
             }
             BasCrnp crnp = basCrnpService.selectById(crnNo);
@@ -111,24 +112,37 @@
             // 鑾峰彇鐩爣绔�
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 1)
-                    .eq("stnNo", sourceStaNo)
+                    .eq("stn_no", sourceStaNo)
                     .eq("crn_no", crnNo);
             StaDesc staDesc = staDescService.selectOne(wrapper);
             if (Cools.isEmpty(staDesc)) {
                 throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
             }
             BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
-            int inQty = staNo.getInQty();
+            int inQty = staNo.getInQty()==null?0:staNo.getInQty();
             if (staNo.getInEnable().equals("Y") && staNo.getAutoing().equals("Y") && inQty<2) {
-                // 鏌ユ壘搴撲綅 todo
-                LocMast locMast = locMastService.queryFreeLocMast(curRow, 1);
+                // 鏌ユ壘搴撲綅
+                LocMast locMast = locMastService.queryFreeLocMast(curRow);
+                if (Cools.isEmpty(locMast)) {
+                    throw new CoolException("娌℃湁绌哄簱浣�");
+                }
+                String locNo = locMast.getLocNo();
+
+                // 鏇存柊搴撲綅鎺掑彿
+                rowLastno.setCurrentRow(curRow);
+                rowLastnoService.updateById(rowLastno);
+
+                // 杩斿洖dto
+                startupDto.setCrnNo(crnNo);
+                startupDto.setShelves(shelves);
+                startupDto.setSourceStaNo(sourceStaNo);
+                startupDto.setStaNo(staNo.getDevNo());
+                startupDto.setLocNo(locNo);
+            } else {
+                throw new CoolException("鐩爣绔欎笉鍙敤");
             }
-
-
-            rowLastno.setCurrentRow(curRow);
-            rowLastnoService.updateById(rowLastno);
         }
-        return locNo;
+        return startupDto;
     }
 
 }
\ No newline at end of file

--
Gitblit v1.9.1