From a49cdaa669f18d92e8fef5d84da536c0465670db Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 17 十二月 2025 21:21:07 +0800
Subject: [PATCH] 1.新增组托入库生成AGV搬运任务,执行AGV搬运任务时判断堆垛机接驳站点是否有空料架,有的话需要进行搬离(没有出库任务的情况下) 2.完善配盘出库单agv目标地点,可能是区域也可能是站点 Q为区域;Z为站点 3.完善立库入库找规则方法
---
src/main/java/com/zy/asrs/controller/OutController.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 116 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index fb01a95..5a603ab 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -6,6 +6,7 @@
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.service.*;
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
@@ -80,7 +81,8 @@
if (issued <= 0.0D) {
continue;
}
- List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+ List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
for (LocDetl locDetl : locDetls) {
if (issued > 0) {
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -89,6 +91,14 @@
locDto.setFrozen(locDetl.getFrozen());
locDto.setFrozenLoc(locMast.getFrozen());
List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 107);
+ locDto.setBrand(orderDetl.getBrand());
+ locDto.setStandby1(orderDetl.getStandby1());
+ locDto.setStandby2(orderDetl.getStandby2());
+ locDto.setStandby3(orderDetl.getStandby3());
+ locDto.setBoxType1(orderDetl.getBoxType1());
+ locDto.setBoxType2(orderDetl.getBoxType2());
+ locDto.setBoxType3(orderDetl.getBoxType3());
+
locDto.setStaNos(staNos);
locDtos.add(locDto);
// 鍓╀綑寰呭嚭鏁伴噺閫掑噺
@@ -99,6 +109,14 @@
}
if (issued > 0) {
LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+ locDto.setBrand(orderDetl.getBrand());
+
+ locDto.setStandby1(orderDetl.getStandby1());
+ locDto.setStandby2(orderDetl.getStandby2());
+ locDto.setStandby3(orderDetl.getStandby3());
+ locDto.setBoxType1(orderDetl.getBoxType1());
+ locDto.setBoxType2(orderDetl.getBoxType2());
+ locDto.setBoxType3(orderDetl.getBoxType3());
locDto.setLack(Boolean.TRUE);
locDtos.add(locDto);
}
@@ -109,7 +127,9 @@
if (issued <= 0.0D) {
continue;
}
- List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+
+ List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(),orderPakOut.getDocType()==11?null:orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
for (LocDetl locDetl : locDetls) {
if (issued > 0) {
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -119,6 +139,14 @@
locDto.setFrozenLoc(locMast.getFrozen());
List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
locDto.setStaNos(staNos);
+ locDto.setBrand(orderDetl.getBrand());
+
+ locDto.setStandby1(orderDetl.getStandby1());
+ locDto.setStandby2(orderDetl.getStandby2());
+ locDto.setStandby3(orderDetl.getStandby3());
+ locDto.setBoxType1(orderDetl.getBoxType1());
+ locDto.setBoxType2(orderDetl.getBoxType2());
+ locDto.setBoxType3(orderDetl.getBoxType3());
locDtos.add(locDto);
exist.add(locDetl.getLocNo());
// 鍓╀綑寰呭嚭鏁伴噺閫掑噺
@@ -129,6 +157,13 @@
}
if (issued > 0) {
LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+ locDto.setBrand(orderDetl.getBrand());
+ locDto.setStandby1(orderDetl.getStandby1());
+ locDto.setStandby2(orderDetl.getStandby2());
+ locDto.setStandby3(orderDetl.getStandby3());
+ locDto.setBoxType1(orderDetl.getBoxType1());
+ locDto.setBoxType2(orderDetl.getBoxType2());
+ locDto.setBoxType3(orderDetl.getBoxType3());
locDto.setLack(Boolean.TRUE);
locDtos.add(locDto);
}
@@ -179,10 +214,88 @@
taskDtos.add(taskDto);
}
}
+ OrderPakout orderPakout = orderPakOutService.selectByNo(locDtos.get(0).getOrderNo());
+
+ //閰嶇洏鍑哄簱鍗曠敤锛� i=5鏃舵垨鑰呭嚭搴撳埌鏈�鍚庢椂涓嬪彂绌烘澘鍑哄簱浠诲姟
+ int i = 0;
+ //闇�瑕佸嚭搴撶殑鎵樼洏鏁伴噺
+ int size = taskDtos.size();
+ //浼樺厛绾�
+ int ioPri = 50;
+ //宸蹭笅绌烘澘鍑哄簱浠诲姟鏁伴噺
+ int j=1;
// -----------------------------------------------------------------------------------------------
for (TaskDto taskDto : taskDtos) {
BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
- workService.stockOut(staNo, taskDto, getUserId());
+ workService.stockOut(staNo, taskDto, getUserId(),ioPri);
+ ioPri--;
+ i++;
+ //閰嶇洏鍑哄簱鍗曚娇鐢紝涓嬪彂闇�瑕佸嚭鐨勭┖鏉夸换鍔�
+ if (orderPakout.getDocType() == 11) {
+ if (i==size){
+ for (;j<=orderPakout.getPayType();j++){
+ String bar="";
+ //鍏蜂綋寰呭畾
+// if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+// bar = "A01";
+// }
+ LocMast locMast = new LocMast();
+ if(Cools.isEmpty(bar)){
+ locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D"));
+ }else {
+ locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").like("barcode", bar));
+ }
+
+ if (Cools.isEmpty(locMast)) {
+ return R.error("搴撳瓨娌℃湁绌烘澘");
+ }
+ String locNo = locMast.getLocNo();
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ emptyPlateOutParam.setOutSite(303);
+ emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
+ String agvSta = "";
+ if(locMast.getLocType3()==2){
+
+ }else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri,agvSta);
+ ioPri--;
+
+ }
+ }else if(i == 4){
+ String bar="";
+ if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+ bar = "A01";
+ }
+ LocMast locMast = null;
+ if(Cools.isEmpty(bar)){
+ locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D"));
+ }else {
+ locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").like("barcode", bar));
+ }
+
+ if (Cools.isEmpty(locMast)) {
+ return R.error("搴撳瓨娌℃湁绌烘澘");
+ }
+ String locNo = locMast.getLocNo();
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ emptyPlateOutParam.setOutSite(303);
+ emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
+ String agvSta = "";
+ if(locMast.getLocType3()==2){
+
+ }else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri,agvSta);
+ ioPri--;
+ }
+ }
}
return R.ok();
}
--
Gitblit v1.9.1