From 8d6042713c2e2d9719c64322ef26450a9f221523 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 22 六月 2024 13:35:47 +0800
Subject: [PATCH] 捷众二期开发

---
 src/main/java/com/zy/common/service/CommonService.java |   97 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 7930dd8..7aab917 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -7,6 +7,7 @@
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.asrs.utils.VersionUtils;
@@ -46,6 +47,9 @@
     private LocDetlService locDetlService;
     @Autowired
     private SlaveProperties slaveProperties;
+
+    @Autowired
+    private LocMastMapper locMastMapper;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -109,9 +113,12 @@
         if (sourceStaNo < 200) {
             whsType = 1;
             crnNo=1;
-        } else if (sourceStaNo >= 200) {
+        } else if (sourceStaNo < 300) {
             whsType = 2;
             crnNo=2;
+        }else {
+            whsType = 3;
+            crnNo=3;
         }
 
         int workNo = getWorkNo(0);
@@ -218,7 +225,13 @@
                 } else {
                     curRow = sRow;
                 }
-                crnNo = whsType;
+                basCrnpService.checkSiteStatus(crnNo, true);
+            }else {
+                if (curRow == sRow) {
+                    curRow = eRow;
+                } else {
+                    curRow = sRow;
+                }
                 basCrnpService.checkSiteStatus(crnNo, true);
             }
         }
@@ -496,4 +509,84 @@
         }
     }
 
+    public StartupDto emptyIngetLocNo(Integer devpNo) {
+        int crnNo = 0;
+        // 鐩爣搴撲綅
+        LocMast locMast = null;
+        if (devpNo == 304) {
+            crnNo = 3;
+            locMast = locMastMapper.queryEmptyLocNoByStaNo(crnNo);
+        }
+
+        if (locMast == null) {
+            throw new CoolException("娌℃湁绌哄簱浣�");
+        }
+
+        // 鑾峰彇鐩爣绔�
+        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", 10)
+                .eq("stn_no", devpNo)
+                .eq("crn_no", crnNo);
+        StaDesc staDesc = staDescService.selectOne(wrapper);
+        if (Cools.isEmpty(staDesc)) {
+            log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 10, devpNo, crnNo);
+            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+        }
+
+        // 妫�娴嬬洰鏍囩珯
+        BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+        if (!staNo.getAutoing().equals("Y")) {
+            throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+        }
+
+        basCrnpService.checkSiteStatus(crnNo, true);
+
+        // 杩斿洖dto
+        StartupDto startupDto = new StartupDto();
+        startupDto.setWorkNo(getWorkNo(0));
+        startupDto.setCrnNo(crnNo);
+        startupDto.setSourceStaNo(devpNo);
+        startupDto.setStaNo(devpNo);
+        startupDto.setLocNo(locMast.getLocNo());
+        return startupDto;
+    }
+
+    public StartupDto getLocNoBy304(String barcode) {
+        int crnNo = 3;
+        int devpNo = 304;
+        int row = barcode.charAt(0) == '5' ? 7 : 6;
+        // 鐩爣搴撲綅
+        LocMast locMast = locMastMapper.queryLocByBarCode(row);
+        if (locMast == null) {
+            throw new CoolException("304鍏ュ簱娌℃湁绌哄簱浣�");
+        }
+
+        // 鑾峰彇鐩爣绔�
+        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", 1)
+                .eq("stn_no", devpNo)
+                .eq("crn_no", crnNo);
+        StaDesc staDesc = staDescService.selectOne(wrapper);
+        if (Cools.isEmpty(staDesc)) {
+            log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 1, devpNo, crnNo);
+            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+        }
+
+        // 妫�娴嬬洰鏍囩珯
+        BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+        if (!staNo.getAutoing().equals("Y")) {
+            throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+        }
+
+        basCrnpService.checkSiteStatus(crnNo, true);
+
+        // 杩斿洖dto
+        StartupDto startupDto = new StartupDto();
+        startupDto.setWorkNo(getWorkNo(0));
+        startupDto.setCrnNo(crnNo);
+        startupDto.setSourceStaNo(devpNo);
+        startupDto.setStaNo(devpNo);
+        startupDto.setLocNo(locMast.getLocNo());
+        return startupDto;
+    }
 }

--
Gitblit v1.9.1