From 76c38d4e7a6e46f34f547fad873dc383c1397d00 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 24 五月 2025 14:53:09 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
---
rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java | 63 ++++++++++++++++++++++++-------
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 4 +-
2 files changed, 50 insertions(+), 17 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 1ccabdd..b6b4eff 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
@@ -492,7 +492,7 @@
if ((ioType == 1 && deviceBind.getBeSimilar().equals("1"))) {
//鐩镐技鐗╂枡鎵撳紑锛屽垽鏂繁搴撲綅鏈夋病鏈夎揣锛屾病璐у氨鏀炬繁搴撲綅锛屾湁璐у氨涓嶆搷浣�
Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
- .eq(Loc::getRow, shallowLoc)
+ .eq(Loc::getCode, shallowLoc)
.eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
.eq(Loc::getAreaId, area)
);
@@ -561,7 +561,7 @@
//鏌ヨ褰撳墠搴撲綅绫诲瀷绌哄簱浣� 灏忎簬5涓垯locmast = null
List<Loc> locTypeLocMasts = locService.list(new LambdaQueryWrapper<Loc>()
.eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
- .eq(Loc::getDeviceNo, deviceNo)
+ .eq(Loc::getChannel, deviceNo)
.eq(Loc::getType, locTypeDto.getLocType1())
.eq(Loc::getAreaId, area)
);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
index 0c66250..705260a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
@@ -9,6 +9,7 @@
import com.vincent.rsf.server.manager.entity.DeviceBind;
import com.vincent.rsf.server.manager.entity.Loc;
import com.vincent.rsf.server.manager.service.DeviceBindService;
+import com.vincent.rsf.server.manager.service.LocService;
import java.util.List;
@@ -19,27 +20,54 @@
* 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿
*/
public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) {
- int row = getRow(shallowLoc);
- int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
- int targetRow;
- if (remainder == 2) {
- targetRow = row - 1;
- } else if (remainder == 3) {
- targetRow = row + 1;
- } else {
- throw new CoolException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+ LocService locService = SpringUtils.getBean(LocService.class);
+ Loc shaLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
+ int row = shaLoc.getRow()-1;
+ boolean contains = slaveProperties.getDoubleLocs().contains(row);
+ Loc deepLoc = null;
+ if (contains) {
+ deepLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getAreaId, shaLoc.getAreaId())
+ .eq(Loc::getRow, row)
+ .eq(Loc::getCol, shaLoc.getCol())
+ .eq(Loc::getLev, shaLoc.getLev())
+ );
+ }else {
+ deepLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getAreaId, shaLoc.getAreaId())
+ .eq(Loc::getRow, shaLoc.getRow()+1)
+ .eq(Loc::getCol, shaLoc.getCol())
+ .eq(Loc::getLev, shaLoc.getLev())
+ );
}
- return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
+ return deepLoc.getCode();
}
/**
* 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿
*/
public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) {
- int row = getRow(deepLoc);
- int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
- int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
- return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
+ LocService locService = SpringUtils.getBean(LocService.class);
+ Loc depLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, deepLoc));
+ int row = depLoc.getRow()-1;
+ boolean contains = slaveProperties.getDoubleLocs().contains(row);
+ Loc shallowLoc = null;
+ if (!contains) {
+ shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getAreaId, depLoc.getAreaId())
+ .eq(Loc::getRow, row)
+ .eq(Loc::getCol, depLoc.getCol())
+ .eq(Loc::getLev, depLoc.getLev())
+ );
+ }else {
+ shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getAreaId, depLoc.getAreaId())
+ .eq(Loc::getRow, depLoc.getRow()+1)
+ .eq(Loc::getCol, depLoc.getCol())
+ .eq(Loc::getLev, depLoc.getLev())
+ );
+ }
+ return shallowLoc.getCode();
}
/**
@@ -117,7 +145,12 @@
*/
public static int getRow(String locNo) {
if (!Cools.isEmpty(locNo)) {
- return Integer.parseInt(locNo.substring(0, 2));
+ LocService locService = SpringUtils.getBean(LocService.class);
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locNo));
+ if (null == loc) {
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+ return loc.getRow();
}
throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
--
Gitblit v1.9.1