From c5b1af3ab966596ee5ec8b79df75df59e40fd881 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 07 六月 2025 10:32:24 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 16 deletions(-)

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 3da48ca..15ffe1e 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -89,8 +89,13 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+
+        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("source_sta_no", param.getDevpNo()));
+        if (!wrkMasts.isEmpty()) {
+            throw new CoolException("宸叉湁浠诲姟");
+        }
         List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, 1, null, null,null,null,0, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(2, 1, param.getDevpNo(), null,null,null,0, locTypeDto,0);
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
@@ -207,6 +212,10 @@
             assert ioType != null;
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
+            //zc
+            if (!locMast.getLocSts().equals("F")){
+                throw new CoolException(locMast.getLocNo()+"璇ュ簱浣嶄笉鏄湪搴撶姸鎬�");
+            }
 
             Integer outSta = staNo.getDevNo();
 //            //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
@@ -439,6 +448,10 @@
             if (Cools.isEmpty(locMast)) {
                 throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
             }
+            //zc
+            if (!locMast.getLocSts().equals("D")){
+                throw new CoolException(locNo+"搴撲綅鐘舵�佷笉瀵�");
+            }
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
@@ -501,7 +514,8 @@
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
-                    .eq("crn_no", locMast.getCrnNo());
+                    .eq("crn_no", locMast.getCrnNo())
+                    .eq("stn_no",param.getOutSite());
             StaDesc staDesc = staDescService.selectOne(wrapper);
             Integer sourceStaNo = staDesc.getCrnStn();
             if (Cools.isEmpty(sourceStaNo)) {
@@ -516,7 +530,7 @@
             wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
             wrkMast.setIoPri(10D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
-            wrkMast.setStaNo(1007); // 鐩爣绔�
+            wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
             wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -582,6 +596,10 @@
         if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
             throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
         }
+        //zc
+//        if (!loc.getLocSts().equals("F")){
+//            throw new CoolException(locNo+"搴撲綅鐘舵�佷笉瀵�");
+//        }
         Date now = new Date();
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
@@ -664,8 +682,10 @@
         if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
             wrkMast.setWrkSts(4L);
         // 鍑哄簱
-        } else if (wrkMast.getWrkSts() > 10) {
+        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()!=199) {
             wrkMast.setWrkSts(14L);
+        }else if (wrkMast.getIoType() == 199) {
+            wrkMast.setWrkSts(15L);
         }
         Date now = new Date();
         wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -855,6 +875,8 @@
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
             }
+        } else if (wrkMast.getIoType() == 199)  {
+            
         } else {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
         }
@@ -941,19 +963,21 @@
             // 鍒犻櫎宸ヤ綔妗f槑缁�
             boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
         }
+        if (wrkMast.getIoType()!=199){
+            // 淇敼搴撲綅鐘舵��
+            LocMast locMast = locMastService.selectById(locNo);
+            if (Cools.isEmpty(locMast)) {
+                throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+            }
+            locMast.setLocSts(locSts);
+            locMast.setModiTime(now);
+            locMast.setModiUser(userId);
+            boolean locMastRes = locMastService.updateById(locMast);
+            if (!wrkMastRes || !locMastRes) {
+                throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+            }
+        }
 
-        // 淇敼搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(locNo);
-        if (Cools.isEmpty(locMast)) {
-            throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
-        }
-        locMast.setLocSts(locSts);
-        locMast.setModiTime(now);
-        locMast.setModiUser(userId);
-        boolean locMastRes = locMastService.updateById(locMast);
-        if (!wrkMastRes || !locMastRes) {
-            throw new CoolException("淇濆瓨鏁版嵁澶辫触");
-        }
     }
 
     @Override

--
Gitblit v1.9.1