From cb5092a38a5123bd9da452ad311b9323561802b1 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 20 五月 2025 13:55:11 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/web/WcsController.java |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index c74b117..c6150ae 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -58,15 +58,19 @@
         WrkMast wrkMast =wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                 .eq("wrk_no",param.getTaskNo())
                 .in("io_type",103,107));
-        if (Cools.isEmpty(wrkMast)){
+        WrkMast wrkMast537 =wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                .eq("wrk_no",param.getTaskNo())
+                .in("io_type",53,57));
+        if (Cools.isEmpty(wrkMast)&&Cools.isEmpty(wrkMast537)){
             storageResult.setReturnStatus(1);
             storageResult.setErrorMessage("娌℃湁鎵惧埌鐩樼偣鎷f枡浠诲姟---------"+param.getTaskNo());
             return storageResult;
         }
+
         SearchLocParam searchLocParam = new SearchLocParam();
-        searchLocParam.setBoxNo(wrkMast.getBarcode());
+        searchLocParam.setBoxNo(Cools.isEmpty(wrkMast)?wrkMast537.getBarcode() : wrkMast.getBarcode());
         searchLocParam.setWcsIoType(1);//婊℃澘
-        searchLocParam.setWcsSourceStaNo(wrkMast.getStaNo());
+        searchLocParam.setWcsSourceStaNo(Cools.isEmpty(wrkMast)?wrkMast537.getSourceStaNo() : wrkMast.getStaNo());
         searchLocParam.setWcsStatus(0);
         return getLocNo(searchLocParam);
     }
@@ -88,6 +92,15 @@
             return storageResult;
         }
         BasDevp basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",param.getWcsSourceStaNo()));
+        //
+        List<WrkMast> wrkMasts=wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no",param.getWcsSourceStaNo()).in("wrk_sts",11,12,13));
+        if(!Cools.isEmpty(wrkMasts)){
+            storageResult.setReturnStatus(1);
+            storageResult.setErrorMessage("鏈夊嚭搴撲换鍔$姝㈠叆搴�");
+            basDevp.setArea("鏈夊嚭搴撲换鍔$姝㈠叆搴�");
+            basDevpService.updateById(basDevp);
+            return storageResult;
+        }
         int ioType = 0;
         List<WaitPakin> waitPakins = null;
         if (param.getWcsIoType() == 1) {
@@ -181,23 +194,38 @@
             WaitPakin waitPakin1=new WaitPakin();
             waitPakin1.sync(wrkDetl);
             locMast1 =commonService.getLocNo2(waitPakin1,arr,0,type,1);
+            if (locMast1 == null) {
+                basDevp.setArea("鏈壘鍒扮┖搴撲綅");
+                basDevpService.updateById(basDevp);
+                throw new CoolException("鏈壘鍒扮┖搴撲綅");
+            }
 
+            //鏇存柊璐х墿鎵�鍦ㄥ簱浣嶇殑娣辨祬鍙�
+            wrkDetl.setSource(locMast1.getLocAttribute());
+            wrkDetlService.update(wrkDetl,new EntityWrapper<WrkDetl>().eq("wrk_no", wrkDetl.getWrkNo()));
             WrkMast wrkMast=wrkMastService.selectByBarcode(barcode);
             workNo = wrkMast.getWrkNo();
-            int mbz=wrkMast.getStaNo()*10+Integer.valueOf(wrkMast.getSourceLocNo().substring(6));
+            int mbz=basDevp.getDevNo()*10+Integer.valueOf(wrkMast.getSourceLocNo().substring(6));
             String ykw=wrkMast.getLocNo();
             wrkMast.setIoType(ioType-50);
             wrkMast.setWrkSts(1L);//鍏ュ簱
             wrkMast.setModiTime(new Date());
-            wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+            wrkMast.setSourceStaNo(basDevp.getDevNo()); // 婧愮珯
             wrkMast.setStaNo(mbz); // 鐩爣绔�
             wrkMast.setLocNo(locMast1.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
             wrkMast.setSourceLocNo(ykw); // 婧愬簱浣�
+
             wrkMastService.updateById(wrkMast);
         }else{
             int type=Cools.isEmpty(waitPakins.get(0).getBeBatch())?1:waitPakins.get(0).getBeBatch();
             // 妫�绱㈠簱浣�
             locMast1 =commonService.getLocNo2(waitPakins.get(0),arr,0,type,1);
+            if (locMast1 == null) {
+                basDevp.setArea("鏈壘鍒扮┖搴撲綅");
+                basDevpService.updateById(basDevp);
+                throw new CoolException("鏈壘鍒扮┖搴撲綅");
+            }
+
             int mbz=devpNo*10+Integer.valueOf(locMast1.getLocNo().substring(6));
             //姝e父鍏ュ簱
             workNo = commonService.getWorkNo(0);
@@ -229,6 +257,7 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
+            int source = locMast1.getLocAttribute();
             waitPakins.forEach(waitPakin -> {
                 WrkDetl wrkDetl = new WrkDetl();
                 wrkDetl.sync(waitPakin);
@@ -236,6 +265,7 @@
                 wrkDetl.setIoTime(wrkMast.getIoTime());
                 wrkDetl.setAppeTime(now);
                 wrkDetl.setModiTime(now);
+                wrkDetl.setSource(source);
                 if (!wrkDetlService.insert(wrkDetl)) {
                     basDevp.setArea("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
                     basDevpService.updateById(basDevp);

--
Gitblit v1.9.1