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/webapp/views/pakStore/locDetlCheckQuery.html          |    1 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   26 ++++++
 src/main/resources/mapper/LocMastMapper.xml                    |   18 ++++
 src/main/java/com/zy/asrs/mapper/LocMastMapper.java            |    9 ++
 src/main/resources/mapper/WrkMastMapper.xml                    |    2 
 src/main/webapp/views/pakStore/locDetlQuery.html               |    1 
 src/main/java/com/zy/common/web/WcsController.java             |   10 ++
 src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java |    6 
 src/main/java/com/zy/common/service/CommonService.java         |   97 +++++++++++++++++++++++
 src/main/resources/application.yml                             |    5 
 .idea/misc.xml                                                 |   12 +++
 11 files changed, 176 insertions(+), 11 deletions(-)

diff --git a/.idea/misc.xml b/.idea/misc.xml
index 5b6a5c4..076a9f3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="FindBugsConfigurable">
+    <option name="make" value="true" />
+    <option name="effort" value="default" />
+    <option name="priority" value="Medium" />
+    <option name="excludeFilter" value="" />
+  </component>
   <component name="FrameworkDetectionExcludesConfiguration">
     <file type="web" url="file://$PROJECT_DIR$" />
   </component>
@@ -13,4 +19,10 @@
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
+  <component name="ProjectType">
+    <option name="id" value="jpab" />
+  </component>
+  <component name="SuppressionsComponent">
+    <option name="suppComments" value="[]" />
+  </component>
 </project>
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 77d16c9..db1c6b9 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -37,4 +37,13 @@
     LocMast queryEmptyDeepLoc();
 
     List<LocMast> queryDeepLocDMast();
+
+    /**
+     * 鏍规嵁鍫嗗灈鏈虹珯鐐规煡璇㈢┖搴撲綅
+     * @param crnNo 鍫嗗灈鏈哄彿
+     * @return 搴撲綅
+     */
+    LocMast queryEmptyLocNoByStaNo(@Param("crnNo") int crnNo);
+
+    LocMast queryLocByBarCode(@Param("row") int row);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
index 79163b5..8f5cc5a 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -55,9 +55,9 @@
             if(station.getLoading()==null || !station.getLoading().equals("Y")) {
                 throw new CoolException(devpNo+"绔欑偣鏃犵墿");
             }
-            if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo()<9001) {
-                throw new CoolException(devpNo+"绔欑偣宸叉湁宸ヤ綔鍙�");
-            }
+//            if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo()<9001) {
+//                throw new CoolException(devpNo+"绔欑偣宸叉湁宸ヤ綔鍙�");
+//            }
             if(wrkMastService.getWorkingMast(devpNo)>0){
                 throw new CoolException(devpNo+"绔欑偣涓嶈兘鍚屾椂鐢熸垚涓ょ瑪鍏ュ簱宸ヤ綔妗�");
             }
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 6d43269..0082d95 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -247,6 +247,7 @@
             wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
             wrkMast.setIoPri(reduce?13D:15D); // 浼樺厛绾э細13
             wrkMast.setCrnNo(locMast.getCrnNo());
+            wrkMast.setBarcode(locMast.getBarcode());
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
             wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
@@ -892,10 +893,33 @@
         if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
             throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
         }
+        // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹�
+        int stnNo = 0;
+        if (wrkMast.getIoType() == 103) { // 鎷f枡鍑哄簱
+            if(wrkMast.getCrnNo() == 1) {
+                stnNo = 104;
+            }else if(wrkMast.getCrnNo() == 2) {
+                stnNo =204;
+            }else if(wrkMast.getCrnNo() == 3) {
+                stnNo = 304;
+            }
+        } else if(wrkMast.getIoType() == 107){ //鐩樼偣鍑哄簱
+            if(wrkMast.getCrnNo() == 1) {
+                stnNo = 101;
+            }else if(wrkMast.getCrnNo() == 2) {
+                stnNo =201;
+            }else if(wrkMast.getCrnNo() == 3) {
+                stnNo = 301;
+            }
+        }
+        if (stnNo == 0) {
+            log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
+            throw new CoolException("鍐嶅叆搴撶珯鐐规湁璇�");
+        }
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                 .eq("type_no", wrkMast.getIoType() - 50)
-                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+                .eq("stn_no", stnNo) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
         StaDesc staDesc = staDescService.selectOne(wrapper);
         if (Cools.isEmpty(staDesc)) {
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;
+    }
 }
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 78f3121..6d28621 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -109,7 +109,12 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         List<String> matNos = pltBarcodes.stream().map(PltBarcode::getMatNo).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0);
+        StartupDto dto;
+        if (devpNo == 304) {
+            dto = commonService.getLocNoBy304(barcode);
+        } else {
+            dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0);
+        }
         int workNo = dto.getWorkNo();
 
         // 鐢熸垚宸ヤ綔妗�
@@ -177,7 +182,8 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(1, 10, devpNo, true, null, locTypeDto,0);
+//        StartupDto dto = commonService.getLocNo(1, 10, devpNo, true, null, locTypeDto,0);
+        StartupDto dto = commonService.emptyIngetLocNo(devpNo);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d32aa95..bea2334 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 8081
+  port: 8080
   servlet:
     context-path: /@pom.build.finalName@
 
@@ -16,7 +16,8 @@
 #    password: xltys1995
     # sql-server
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://localhost:1433;databasename=sxjzasrs
+#      url: jdbc:sqlserver://172.17.20.240:1433;databasename=sxjzasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=sxjzasrs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 621e466..5aa38d2f 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -179,4 +179,22 @@
         )
         and loc_sts = 'D' and crn_no=1
     </select>
+    <select id="queryEmptyLocNoByStaNo" resultType="com.zy.asrs.entity.LocMast">
+        SELECT TOP 1 loc_no AS locNo,crn_no AS crnNo FROM asr_loc_mast
+        where loc_sts = 'O'
+        <if test="crnNo == 1">
+            and row1 in(1,2)
+        </if>
+        <if test="crnNo == 2">
+            and row1 in(5,6)
+        </if>
+        <if test="crnNo == 3">
+            and row1 in(6,7)
+        </if>
+        ORDER BY lev1 ASC, bay1 ASC
+    </select>
+    <select id="queryLocByBarCode" resultType="com.zy.asrs.entity.LocMast">
+        SELECT TOP 1 loc_no AS locNo,crn_no AS crnNo FROM asr_loc_mast
+        where loc_sts = 'O' and row1 = #{row} ORDER BY lev1 ASC, bay1 ASC
+    </select>
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 76e18cc..6b204d4 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -74,7 +74,7 @@
         select * from asr_wrk_mast
         where wrk_sts=5
         or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
-        or (wrk_sts=15 and dateadd(mi,15,crn_end_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
+        or (wrk_sts=15 and dateadd(mi,5,crn_end_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
         or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
         order by io_time,wrk_no asc
     </select>
diff --git a/src/main/webapp/views/pakStore/locDetlCheckQuery.html b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
index 0d2410b..4cc15aa 100644
--- a/src/main/webapp/views/pakStore/locDetlCheckQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
@@ -52,6 +52,7 @@
                 <option value="" style="display: none">璇烽�夋嫨宸烽亾</option>
                 <option value="1">1鍙�</option>
                 <option value="2">2鍙�</option>
+                <option value="3">3鍙�</option>
             </select>
         </div>
         <div class="layui-inline">
diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html
index 1d02c25..30d7ba0 100644
--- a/src/main/webapp/views/pakStore/locDetlQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlQuery.html
@@ -52,6 +52,7 @@
                 <option value="" style="display: none">璇烽�夋嫨宸烽亾</option>
                 <option value="1">1鍙�</option>
                 <option value="2">2鍙�</option>
+                <option value="3">3鍙�</option>
             </select>
         </div>
         <div class="layui-inline">

--
Gitblit v1.9.1