From 020f936ddf191a425e2130237c44ed1197e92269 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 24 五月 2025 14:51:04 +0800 Subject: [PATCH] # --- rsf-admin/src/page/task/TaskList.jsx | 2 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 +- 3 files changed, 51 insertions(+), 18 deletions(-) diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index 3792b7a..982d91b 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -218,7 +218,7 @@ } return ( - record?.taskStatus == 198 && record?.taskType == 103 ? <ConfirmButton label={"toolbar.pick"} startIcon={<ColorizeOutlinedIcon />} onConfirm={pickClick} /> : <></> + record?.taskStatus == 199 && record?.taskType == 103 ? <ConfirmButton label={"toolbar.pick"} startIcon={<ColorizeOutlinedIcon />} onConfirm={pickClick} /> : <></> ) } 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