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 |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index d293842..c6150ae 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -92,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) {
@@ -185,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);
@@ -233,6 +257,7 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
+            int source = locMast1.getLocAttribute();
             waitPakins.forEach(waitPakin -> {
                 WrkDetl wrkDetl = new WrkDetl();
                 wrkDetl.sync(waitPakin);
@@ -240,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