From 279b0314e6c0bd9a04b8d62597344c0464bfd3a2 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 26 五月 2025 10:46:21 +0800
Subject: [PATCH] #
---
rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java | 79 +++++++++++++++++++++++++++++----------
1 files changed, 58 insertions(+), 21 deletions(-)
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 dc5064e..cec64a0 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
@@ -5,12 +5,19 @@
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.SpringUtils;
import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.controller.params.TaskInParam;
+import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
import com.vincent.rsf.server.api.entity.dto.LocTypeDto;
-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.entity.*;
+import com.vincent.rsf.server.manager.enums.LocStsType;
+import com.vincent.rsf.server.manager.enums.TaskType;
+import com.vincent.rsf.server.manager.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import javax.annotation.RegEx;
+import javax.annotation.Resource;
import java.util.List;
public class LocUtils {
@@ -19,27 +26,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();
}
/**
@@ -71,10 +105,7 @@
//搴撲綅鎺掑彿鍒嗛厤
public static int[] LocNecessaryParameters(DeviceBind deviceBind, Integer curRow, Integer crnNumber) {
-
return LocNecessaryParametersDoubleExtension(curRow, crnNumber); //宸插畬鍠�
-
-
}
//缁忓吀鍙屼几搴撲綅
@@ -117,7 +148,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瀽寮傚父");
}
@@ -150,6 +186,7 @@
// 濡傛灉婧愬簱浣嶆槸楂樺簱浣嶏紝鐩爣搴撲綅鏄綆搴撲綅
return dto.getLocType1().equals(Integer.parseInt(loc.getType()));
}
+
public static String zerofill(String msg, Integer count) {
if (msg.length() == count) {
return msg;
--
Gitblit v1.9.1