From 3f054b4ee0a0bf33d279a214156896bd312ad0f2 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 31 七月 2025 07:04:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/web/WcsController.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index c7c5628..55b590e 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -177,10 +177,23 @@
                 return R.parse(CodeRes.NO_COMB_700);
             }
 
+            boolean checkTimeout = false;
             for (WaitPakin waitPakin : waitPakins) {
                 Mat mat = matService.selectByMatnr(waitPakin.getMatnr());
                 mat.setWeight(waitPakin.getAnfme());
                 mats.add(mat);
+
+                Date appeTime = waitPakin.getAppeTime();
+                Date now = new Date();
+                long diffTime = now.getTime() - appeTime.getTime();
+                if (diffTime >= 1000 * 60 * 60 * 4) {
+                    checkTimeout = true;
+                    break;
+                }
+            }
+
+            if (checkTimeout) {
+                return R.error("鎵樼洏缁勬墭瓒呮椂锛屽垹闄ゅ悗閲嶆柊缁勬墭");
             }
 
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
@@ -278,6 +291,8 @@
             WrkDetl wrkDetl = new WrkDetl();
             BeanUtils.copyProperties(waitPakin, wrkDetl);
             wrkDetl.setZpallet(barcode);
+            wrkDetl.setProddate(waitPakin.getProddate());
+            wrkDetl.setDeadline(waitPakin.getDeadline());
             wrkDetl.setWrkNo(wrkMast.getWrkNo());
             wrkDetl.setIoTime(wrkMast.getIoTime());
             wrkDetl.setAppeTime(now);
@@ -319,6 +334,7 @@
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")) {
+            log.warn("Flag - 25,{}搴撲綅鐘舵�佸彉鏇�,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "S");
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(now);
             if (!locMastService.updateById(locMast)) {
@@ -385,6 +401,7 @@
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")) {
+            log.warn("Flag - 26,{}搴撲綅鐘舵�佸彉鏇�,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "S");
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(new Date());
             if (!locMastService.updateById(locMast)) {
@@ -428,6 +445,7 @@
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")) {
+            log.warn("Flag - 27,{}搴撲綅鐘舵�佸彉鏇�,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "S");
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(new Date());
             if (!locMastService.updateById(locMast)) {
@@ -467,12 +485,12 @@
             log.error("{}浠诲姟銆恑oType = {}銆戝凡杩囨湡!!!", wrkNo, ioType);
             throw new CoolException(CodeRes.NONE_MAST_800);
         }
-        List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
-        if (locDetls.isEmpty()) {
-            throw new CoolException("搴撳瓨鏄庣粏涓嶅瓨鍦�");
+        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+        if (Cools.isEmpty(wrkDetls)) {
+            throw new CoolException(CodeRes.NONE_DETL_900);
         }
         // 妫�绱㈠簱浣�
-        List<String> matnrList = locDetls.stream().map(LocDetl::getMatnr).distinct().collect(Collectors.toList());
+        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList());
         if (ioType == 103) {//鎷f枡浠诲姟
             if (devpNo == 325 || devpNo == 331 || devpNo == 333 || devpNo == 339) {
                 devpNo = 341;
@@ -483,6 +501,7 @@
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")) {
+            log.warn("Flag - 28,{}搴撲綅鐘舵�佸彉鏇�,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "Q");
             locMast.setLocSts("Q"); // Q.鎷f枡鍐嶅叆搴�
             locMast.setModiTime(new Date());
             if (!locMastService.updateById(locMast)) {
@@ -529,7 +548,7 @@
         }
 
         //鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯
-        Integer staNo = liftNo * 100 + locMast1.getLev1();
+        Integer staNo = liftNo * 100 + locMast.getLev1();
 
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
         wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54
@@ -577,7 +596,7 @@
     @ResponseBody
     @Transactional
     public synchronized R start(@RequestBody ReplenishmentParam param){
-        log.info("start param: " + param.toString());
+        log.info("agv start param: " + param.toString());
         String containerCode = param.getContainerCode();
         if(Cools.isEmpty(containerCode)){
             throw new CoolException("鏂欑鐮佷负绌�");
@@ -612,7 +631,7 @@
         }
 
         //鍏ュ簱浠诲姟
-        if (!Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode))){
+        if (!Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode)) && Cools.isEmpty(agvWrkMast)){
             //缁戝畾绔欑偣
             agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
             //鐢熸垚宸ヤ綔妗�
@@ -726,6 +745,17 @@
                     }
                 }
             };
+            if (agvWrkMast.getIoType() == 103){
+                List<AgvLocDetl> suppCodes = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("supp_code", agvWrkMast.getBarcode()));
+                if (!Cools.isEmpty(suppCodes)){
+                    for (AgvLocDetl agvLocDetl : suppCodes){
+                        AgvWrkDetl agvWrkDetl = new AgvWrkDetl(agvLocDetl.getSuppCode(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getSpecs(), agvLocDetl.getAnfme());
+                        agvWrkDetlList.add(agvWrkDetl);
+                    }
+
+                }
+            }
+
 
             agvBasDevpDto.setAgvWrkDetls(agvWrkDetlList);
             agvBasDevpDto.setAgvWrkMast(agvWrkMast);

--
Gitblit v1.9.1