From 828b592b5f8e31204f93bcc2ea0c5866bdc0dcf0 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 06 十二月 2023 20:18:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/tzskasrs-1' into tzskasrs-1

---
 src/main/java/com/zy/common/web/WcsController.java |   65 +++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 2f40c38..b6d078f 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -53,6 +53,8 @@
     private AgvWorkService agvWorkService;
     @Autowired
     private AgvBasDevpService agvBasDevpService;
+    @Autowired
+    private AgvWrkMastService agvWrkMastService;
 //    @Autowired
 //    private ErpService erpService;
 
@@ -299,8 +301,25 @@
             throw new CoolException(CodeRes.NONE_DETL_900);
         }
         // 妫�绱㈠簱浣�
-        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMaktx).distinct().collect(Collectors.toList());
-        return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 搴撲綅鍙凤紝 鍫嗗灈鏈猴紝鐩爣绔�
+        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList());
+        if (ioType == 107) {//鐩樼偣鍥炲簱浠诲姟
+            if (devpNo == 325 || devpNo == 331 || devpNo == 333 || devpNo == 339) {
+                devpNo = 341;
+            }
+        }
+        StartupDto dto = commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 搴撲綅鍙凤紝 鍫嗗灈鏈猴紝鐩爣绔�
+        // 鏇存柊鐩爣搴撲綅鐘舵��
+        LocMast locMast = locMastService.selectById(dto.getLocNo());
+        if (locMast.getLocSts().equals("O")){
+            locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+            locMast.setModiTime(new Date());
+            if (!locMastService.updateById(locMast)){
+                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+        }
+        return dto;
     }
 
     /*
@@ -313,13 +332,14 @@
         Integer wrkNo = param.getWrkNo();
         List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo);
         wrkDetls.forEach(wrkDetl -> {
-            AgvWaitPakin agvWaitPakin = new AgvWaitPakin();
-            BeanUtils.copyProperties(wrkDetl,agvWaitPakin);
-            agvWaitPakin.setIoStatus("Y");
-            agvWaitPakin.setModiTime(now);
-            agvWaitPakin.setAppeTime(now);
-            agvWaitPakinService.insert(agvWaitPakin);
-
+            if(!Cools.isEmpty(wrkDetl.getSuppCode()) && Cools.isEmpty(agvWaitPakinService.selectByContainerCode(wrkDetl.getSuppCode()))){
+                AgvWaitPakin agvWaitPakin = new AgvWaitPakin();
+                BeanUtils.copyProperties(wrkDetl,agvWaitPakin);
+                agvWaitPakin.setIoStatus("Y");
+                agvWaitPakin.setModiTime(now);
+                agvWaitPakin.setAppeTime(now);
+                agvWaitPakinService.insert(agvWaitPakin);
+            }
         });
 
         return R.ok();
@@ -332,15 +352,38 @@
     @ResponseBody
     public R start(@RequestBody ReplenishmentParam param){
 
+        String containerCode = param.getContainerCode();
+        if(Cools.isEmpty(containerCode)){
+            throw new CoolException("鏂欑鐮佷负绌�");
+        }
+
+        if(!Character.isDigit(containerCode.charAt(0))){
+            containerCode = containerCode.substring(3,containerCode.length());
+        }
+
+        AgvBasDevp agvBasDevp = agvBasDevpService.getByDevNo(param.getDevNo());
+
+        if(Cools.isEmpty(agvBasDevp) || !"O".equals(agvBasDevp.getLocSts())){
+            throw new CoolException("褰撳墠绔欑偣涓嶅瓨鍦ㄦ垨鑰呯珯鐐逛笉涓虹┖");
+        }
+        if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode))){
+            throw new CoolException("璇ユ枡绠变綅缁勬墭");
+        }
+
+        //鍘绘壘agv宸ヤ綔妗d换鍔�
+        if(!Cools.isEmpty(agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode)))){
+            throw new CoolException("璇ユ枡绠辨鍦ㄥ叆搴撲腑");
+        }
         //缁戝畾绔欑偣
-        agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",param.getContainerCode());
+        agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
 
         //鐢熸垚宸ヤ綔妗�
         List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("dev_no", param.getDevNo()));
-        agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null);
+        agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null, true);
 
 
         return R.ok();
     }
 
+
 }

--
Gitblit v1.9.1