From 72ca54b5a36818de16acf81c9c395e9f35a39a67 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 11 六月 2025 09:53:27 +0800
Subject: [PATCH] 下发执行页,添加默认请求方法
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 5c04328..971f036 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -361,7 +361,7 @@
//鏍规嵁绔嬪簱绫诲瀷鑾峰彇鑾峰彇搴撲綅
if (warehouseArea.getType().equals(WarehType.WAREHOUSE_TYPE_CRN.val)) {
//鍫嗗灈鏈�
- dto = getLocNoCrn(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
+ dto = getLocNoCrn(param.getOrgLoc(),deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
} else if (warehouseArea.getType().equals(WarehType.WAREHOUSE_TYPE_FOUR_DIRECTIONS.val)) {
//鍥涘悜搴�
@@ -372,7 +372,7 @@
return dto;
}
- private InTaskMsgDto getLocNoCrn(DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) {
+ private InTaskMsgDto getLocNoCrn(String orgLoc,DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) {
if (Cools.isEmpty(matnr)) { //鐗╂枡鍙�
matnr = "";
}
@@ -409,7 +409,7 @@
throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
}
//鍏ュ簱闈犺繎鎽嗘斁
- if (ioType == 1 && deviceBind.getBeSimilar().equals("1") && !Cools.isEmpty(matnr)) {
+ if (ioType == 1 && deviceBind.getBeSimilar().equals("1") && !Cools.isEmpty(matnr) && Cools.isEmpty(orgLoc)) {
if (nearRow != curRow) {
List<LocItem> locItems = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getMatnrCode, matnr));
for (LocItem locItem : locItems) {
@@ -484,6 +484,10 @@
.orderByAsc(Loc::getLev)
.orderByAsc(Loc::getCol)
);
+ Loc orgMoveLoc = null;
+ if (!Cools.isEmpty(orgLoc)) {
+ orgMoveLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, orgLoc));
+ }
for (Loc locMast1 : locMasts) {
if (!LocUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
continue;
@@ -496,7 +500,13 @@
.eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
.eq(Loc::getAreaId, area)
);
+
if (!Cools.isEmpty(locMast2)) {
+ if (null != orgMoveLoc){
+ if (!locMast2.getChannel().equals(orgMoveLoc.getChannel())) {
+ break;
+ }
+ }
loc = locMast2;
break;
}
@@ -507,7 +517,13 @@
.in(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type, LocStsType.LOC_STS_TYPE_F.type)
.eq(Loc::getAreaId, area)
);
+
if (!Cools.isEmpty(locMast2)) {
+ if (null != orgMoveLoc){
+ if (!locMast2.getChannel().equals(orgMoveLoc.getChannel())) {
+ break;
+ }
+ }
loc = locMast1;
break;
} else {
@@ -516,7 +532,13 @@
.eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
.eq(Loc::getAreaId, area)
);
+
if (!Cools.isEmpty(locMast2)) {
+ if (null != orgMoveLoc){
+ if (!locMast2.getChannel().equals(orgMoveLoc.getChannel())) {
+ break;
+ }
+ }
loc = locMast2;
break;
}
@@ -535,7 +557,13 @@
.eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
.eq(Loc::getAreaId, area)
);
+
if (!Cools.isEmpty(locMast2)) {
+ if (null != orgMoveLoc){
+ if (!locMast2.getChannel().equals(orgMoveLoc.getChannel())) {
+ break;
+ }
+ }
loc = locMast2;
break;
} else {
@@ -544,7 +572,13 @@
.in(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type, LocStsType.LOC_STS_TYPE_D.type)
.eq(Loc::getAreaId, area)
);
+
if (!Cools.isEmpty(locMast2)) {
+ if (null != orgMoveLoc){
+ if (!locMast2.getChannel().equals(orgMoveLoc.getChannel())) {
+ break;
+ }
+ }
loc = locMast1;
break;
}
@@ -573,14 +607,14 @@
// 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
if (times < rowCount * 2) {
times = times + 1;
- return getLocNoCrn(deviceBind, area, sourceStaNo, matnr, batch, locTypeDto, times, ioType);
+ return getLocNoCrn(orgLoc,deviceBind, area, sourceStaNo, matnr, batch, locTypeDto, times, ioType);
}
// 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
if (locTypeDto.getLocType1() < 3) {
int i = locTypeDto.getLocType1() + 1;
locTypeDto.setLocType1(i);
- return getLocNoCrn(deviceBind, area, sourceStaNo, matnr, batch, locTypeDto, 0, ioType);
+ return getLocNoCrn(orgLoc,deviceBind, area, sourceStaNo, matnr, batch, locTypeDto, 0, ioType);
}
throw new CoolException("娌℃湁绌哄簱浣�");
}
--
Gitblit v1.9.1