From 4a4d927a42b43ceb4f052e3d654792626946f774 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 19 十月 2023 11:39:40 +0800
Subject: [PATCH] 补货流程更新

---
 src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java  |    5 ++
 src/main/java/com/zy/asrs/utils/Utils.java                           |    7 +++
 src/main/webapp/views/agvBasDevpVisualized/basDevp.html              |   20 +++++++---
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java     |    4 ++
 src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java |    7 +++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java       |   17 ++++++++
 src/main/java/com/zy/common/web/WcsController.java                   |   32 ++++++++++++----
 src/main/java/com/zy/asrs/service/AgvWaitPakinService.java           |    2 +
 src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java       |    3 +
 9 files changed, 81 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java b/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java
index efdefa9..842d493 100644
--- a/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java
+++ b/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java
@@ -7,4 +7,6 @@
 
     public void updateIoStatus(int wrkNo, String ioStatus);
 
+    public AgvWaitPakin selectByContainerCode(String containerCode);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 3efb55f..70ddb34 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -203,6 +203,10 @@
     @Override
     public void combBinding(String barcode, String stationCode) {
 
+        if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(barcode))){
+            throw new CoolException("璇ユ枡绠辨湭缁勬墭锛屾棤娉曠粦瀹氱珯鐐�");
+        }
+
         AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", barcode));
 
         if(!Cools.isEmpty(agvBasDevp)){
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java
index 9274924..e016e71 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java
@@ -26,4 +26,9 @@
             this.update(agvWaitPakin,new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getZpallet()));
         });
     }
+
+    @Override
+    public AgvWaitPakin selectByContainerCode(String containerCode) {
+        return this.selectOne(new EntityWrapper<AgvWaitPakin>().eq("supp_code",containerCode));
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 9638cdc..ee8b387 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -13,12 +13,14 @@
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.StaDescService;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.QueryStockPreDo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -229,6 +231,21 @@
         return this.baseMapper.selectLocNo(matnr);
     }
 
+    public Set<String> selectLocNo(String matnr, String batch, String csocode, String isocode) {
+
+        Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", matnr);
+        Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
+        List<LocDetl> locDetls = this.selectList(wrapper);
+
+        Set<String> locNos = new HashSet<>();
+        locDetls.forEach(locDetl -> {
+            locNos.add(locDetl.getLocNo());
+        });
+
+        return locNos;
+
+    }
+
     @Override
     public int updateStockFreeze(String matnr, String locNo, Integer stockFreeze) {
         return this.baseMapper.updateStockFreeze(matnr, locNo, stockFreeze);
diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
index 55df580..7050458 100644
--- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.task.handler.AutoReplenishmentHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -27,7 +28,7 @@
     /*
     瀹氭椂澶勭悊鑷姩琛ヨ揣鍗曟嵁
      */
-    //@Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/5 * * * * ? ")
     public void excute(){
         DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�"));
         List<Order> orderList = orderService.selectList(new EntityWrapper<Order>()
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
index 3b95b94..3f5d2cd 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
@@ -75,9 +75,14 @@
             }
 
             String matnr = orderDetl.getMatnr();
+            String batch = orderDetl.getBatch();
+            String csocode = orderDetl.getThreeCode();
+            String isocode = orderDetl.getDeadTime();
+
             Double orderAnfme = orderDetl.getAnfme();
 
-            List<String> locNosSearch = locDetlService.selectLocNo(matnr);
+            //List<String> locNosSearch = locDetlService.selectLocNo(matnr);
+            Set<String> locNosSearch = locDetlService.selectLocNo(matnr, batch, csocode, isocode);
 
             for(String locNo : locNosSearch){
                 List<LocDetl> locDetls = locDetlService.selectByLocNo(locNo);
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index d2754c8..aec9f69 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -400,4 +400,11 @@
         wapperSetCondition(wrapper,"isoseq",isoseq);
     }
 
+    public static void confirmOnlyMat(Wrapper wrapper, String matnr, String batch, String threeCode, String deadTime){
+        wapperSetCondition(wrapper,"matnr",matnr);
+        wapperSetCondition(wrapper,"three_code",threeCode);
+        wapperSetCondition(wrapper,"dead_time",deadTime);
+        wapperSetCondition(wrapper,"batch",batch);
+    }
+
 }
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 2f40c38..a0081aa 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -313,13 +313,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,8 +333,22 @@
     @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("褰撳墠绔欑偣涓嶅瓨鍦ㄦ垨鑰呯珯鐐逛笉涓虹┖");
+        }
         //缁戝畾绔欑偣
-        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()));
@@ -343,4 +358,5 @@
         return R.ok();
     }
 
+
 }
diff --git a/src/main/webapp/views/agvBasDevpVisualized/basDevp.html b/src/main/webapp/views/agvBasDevpVisualized/basDevp.html
index 11ab93d..b016b59 100644
--- a/src/main/webapp/views/agvBasDevpVisualized/basDevp.html
+++ b/src/main/webapp/views/agvBasDevpVisualized/basDevp.html
@@ -35,7 +35,7 @@
 
     <!-- 寰呮坊鍔� -->
     <div id="data-search-btn" class="layui-btn-container layui-form-item">
-        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="searchByStaion" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="searchByStaion">鎼滅储</button>
         <button id="checkAll" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="checkAll">鍏ㄩ��</button>
         <button id="uncheckAll" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="uncheckAll">鍙嶉��</button>
         <button id="start" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="start">鍚姩鍏ュ簱</button>
@@ -157,11 +157,11 @@
         });
 
         // 鎼滅储
-        form.on('submit(search)', function (data) {
-            param = null;
-            param = {'stationCode' : $('#rowSelect').val()};
-            loadData(param);
-        });
+        // form.on('submit(search)', function (data) {
+        //     param = null;
+        //     param = {'stationCode' : $('#rowSelect').val()};
+        //     loadData(param);
+        // });
 
         //鍏ㄩ��
         form.on('submit(checkAll)', function () {
@@ -171,6 +171,14 @@
             }
         });
 
+        //鎼滅储
+        form.on('submit(searchByStaion)', function () {
+            console.log("search.....")
+            param = null;
+            param = {'stationCode' : $('#rowSelect').val()};
+            loadData(param);
+        });
+
         //鍙嶉��
         form.on('submit(uncheckAll)', function () {
             var cks = document.querySelectorAll("#tb input");

--
Gitblit v1.9.1