From 8dc960dd9fda130ff19faaafed6b1234e622610b Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 19 十二月 2025 15:23:05 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 103 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index fd191c6..5d44238 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -1,6 +1,7 @@
package com.zy.asrs.utils;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -167,12 +168,11 @@
List<WrkMast> currentCrnTask = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", currentCircleTaskCrnNo));
if (currentCrnTask.size() <= 1) {
if (basCrnp != null) {
- String controlRowsStr = basCrnp.getControlRows();
- if(!Cools.isEmpty(controlRowsStr)){
- List<Integer> rows = JSON.parseArray(controlRowsStr, Integer.class);
+ List<List<Integer>> rowList = basCrnp.getControlRows$();
+ for (List<Integer> rows : rowList) {
list.addAll(rows);
- wrapper.ne("crn_no", currentCircleTaskCrnNo);
}
+ wrapper.ne("crn_no", currentCircleTaskCrnNo);
}
}
}
@@ -215,19 +215,16 @@
enabledCrnps.sort(Comparator.comparingInt(o -> map.getOrDefault(o.getCrnNo(), 0)));
for (BasCrnp basCrnp : enabledCrnps) {
- String controlRowsStr = basCrnp.getControlRows();
- if (Cools.isEmpty(controlRowsStr)) {
- continue;
+ List<List<Integer>> rowList = basCrnp.getControlRows$();
+ for (List<Integer> rows : rowList) {
+ list.addAll(rows);
}
- List<Integer> rows = JSON.parseArray(controlRowsStr, Integer.class);
- list.addAll(rows);
}
}catch (Exception e){
e.printStackTrace();
}
return list;
}
-
public static Map<String, Object> convertObjectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
@@ -243,4 +240,100 @@
}
return map;
}
+
+ //鑾峰彇娣卞簱浣嶆帓鍙�
+ public static List<Integer> getDeepRowList() {
+ List<Integer> rowList = new ArrayList<>();
+ BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+ if (basCrnpService == null) {
+ return rowList;
+ }
+
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>());
+ for (BasCrnp basCrnp : basCrnps) {
+ String deepRowsStr = basCrnp.getDeepRows();
+ if(!Cools.isEmpty(deepRowsStr)){
+ List<Integer> rows = JSON.parseArray(deepRowsStr, Integer.class);
+ rowList.addAll(rows);
+ }
+ }
+ return rowList;
+ }
+
+ //鑾峰彇娴呭簱浣嶆帓鍙�
+ public static Integer getShallowRowByDeepRow(Integer deepRow) {
+ BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+ if (basCrnpService == null) {
+ return null;
+ }
+
+ List<Integer> deepRowList = getDeepRowList();
+ if (!deepRowList.contains(deepRow)) {
+ return null;
+ }
+
+ List<Integer> controlRowList = null;
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ for (BasCrnp basCrnp : basCrnps) {
+ List<List<Integer>> rowList = basCrnp.getControlRows$();
+ for (List<Integer> rows : rowList) {
+ if (rows.contains(deepRow)) {
+ controlRowList = rows;
+ break;
+ }
+ }
+
+ if (controlRowList != null) {
+ break;
+ }
+ }
+
+ for (Integer row : controlRowList) {
+ if (deepRow.equals(row)) {
+ continue;
+ }
+
+ return row;
+ }
+ return null;
+ }
+
+ //鑾峰彇娣卞簱浣嶆帓鍙�
+ public static Integer getDeepRowByShallowRow(Integer shallowRow) {
+ BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+ if (basCrnpService == null) {
+ return null;
+ }
+
+ List<Integer> controlRowList = null;
+ List<Integer> deepRowList = null;
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ for (BasCrnp basCrnp : basCrnps) {
+ List<List<Integer>> rowList = basCrnp.getControlRows$();
+ for (List<Integer> rows : rowList) {
+ if (rows.contains(shallowRow)) {
+ controlRowList = rows;
+ deepRowList = JSON.parseArray(basCrnp.getDeepRows(), Integer.class);
+ break;
+ }
+ }
+
+ if (controlRowList != null) {
+ break;
+ }
+ }
+
+ if (deepRowList == null) {
+ return null;
+ }
+
+ for (Integer row : controlRowList) {
+ if (!deepRowList.contains(row)) {
+ continue;
+ }
+
+ return row;
+ }
+ return null;
+ }
}
--
Gitblit v1.9.1