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