From 7e68f81b38116bba40e70620c563168fcde66a37 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期五, 05 十二月 2025 09:18:38 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 56 ++++++++++--------
src/main/webapp/views/deviceOperate/crnOperate.html | 6 +-
src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 1
src/main/java/com/zy/asrs/controller/BasCrnpController.java | 38 +++++++-----
src/main/java/com/zy/asrs/utils/LocFCSUtils.java | 65 +++++++++++++++++++++
5 files changed, 122 insertions(+), 44 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/BasCrnpController.java b/src/main/java/com/zy/asrs/controller/BasCrnpController.java
index c999738..682b00e 100644
--- a/src/main/java/com/zy/asrs/controller/BasCrnpController.java
+++ b/src/main/java/com/zy/asrs/controller/BasCrnpController.java
@@ -15,6 +15,7 @@
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.impl.LocMastServiceImpl;
import com.zy.asrs.utils.CodeDetectionUtil;
+import com.zy.asrs.utils.LocFCSUtils;
import com.zy.common.web.BaseController;
import com.zy.core.CrnThread;
import com.zy.core.cache.CrnErrCache;
@@ -138,21 +139,21 @@
}
}
}
- if (Cools.isEmpty(basCrnpParam.getLocMastDemoE())){
- return R.error("璇疯緭鍏ユ祴璇曠┖搴撲綅鍒楄〃").add("璇疯緭鍏ユ祴璇曠┖搴撲綅鍒楄〃");
- } else {
- String[] split = basCrnpParam.getLocMastDemoE().split(";");
- if (split.length!=basCrnpParam.getLocMastDemoCount()){
- return R.error("杈撳叆娴嬭瘯绌哄簱浣嶅垪琛ㄦ暟閲忎笉鍖归厤").add("杈撳叆娴嬭瘯绌哄簱浣嶅垪琛ㄦ暟閲忎笉鍖归厤");
- }
- basCrnpParam.setLocMastDemoListE(new ArrayList<>(Arrays.asList(split)));
- for (String locNo : basCrnpParam.getLocMastDemoListE()){
- boolean locNoDetection = CodeDetectionUtil.locNoDetection(locNo);
- if (!locNoDetection){
- return R.error("杈撳叆娴嬭瘯绌哄簱浣嶅紓甯�").add("杈撳叆娴嬭瘯绌哄簱浣嶅紓甯�");
- }
- }
- }
+// if (Cools.isEmpty(basCrnpParam.getLocMastDemoE())){
+// return R.error("璇疯緭鍏ユ祴璇曠┖搴撲綅鍒楄〃").add("璇疯緭鍏ユ祴璇曠┖搴撲綅鍒楄〃");
+// } else {
+// String[] split = basCrnpParam.getLocMastDemoE().split(";");
+// if (split.length!=basCrnpParam.getLocMastDemoCount()){
+// return R.error("杈撳叆娴嬭瘯绌哄簱浣嶅垪琛ㄦ暟閲忎笉鍖归厤").add("杈撳叆娴嬭瘯绌哄簱浣嶅垪琛ㄦ暟閲忎笉鍖归厤");
+// }
+// basCrnpParam.setLocMastDemoListE(new ArrayList<>(Arrays.asList(split)));
+// for (String locNo : basCrnpParam.getLocMastDemoListE()){
+// boolean locNoDetection = CodeDetectionUtil.locNoDetection(locNo);
+// if (!locNoDetection){
+// return R.error("杈撳叆娴嬭瘯绌哄簱浣嶅紓甯�").add("杈撳叆娴嬭瘯绌哄簱浣嶅紓甯�");
+// }
+// }
+// }
if (Cools.isEmpty(basCrnpParam.getStaOutDemo())){
return R.error("璇疯緭鍏ユ祴璇曞嚭搴撶珯").add("璇疯緭鍏ユ祴璇曞嚭搴撶珯");
@@ -198,11 +199,14 @@
}
crnProtocol.setLocMastDemoCount(basCrnpParam.getLocMastDemoCount());
crnProtocol.setLocMastDemoListF(basCrnpParam.getLocMastDemoListF());
- crnProtocol.setLocMastDemoListE(basCrnpParam.getLocMastDemoListE());
+ ArrayList<String[]> locS = LocFCSUtils.getLocS(basCrnpParam.getLocMastDemoListF());
+
+// crnProtocol.setLocMastDemoListE(basCrnpParam.getLocMastDemoListE());
ArrayList<String> locMastDemoList = new ArrayList<>();
locMastDemoList.addAll(basCrnpParam.getLocMastDemoListF());
- locMastDemoList.addAll(basCrnpParam.getLocMastDemoListF());
+// locMastDemoList.addAll(basCrnpParam.getLocMastDemoListF());
crnProtocol.setLocMastDemoList(locMastDemoList);
+ crnProtocol.setLocMastDemoListSign(locS);
crnProtocol.setStaOutDemo(basCrnpParam.getStaOutDemo());
crnProtocol.setStaIntDemo(basCrnpParam.getStaIntDemo());
crnProtocol.setSignIntOut(false);
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 2a1996b..646cd0a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2827,6 +2827,7 @@
if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
crnProtocol.setLastIo("I");
} else if (locToCrnStnDemo){
+ crnProtocol.setLastIo("I");
crnProtocol.setSignIntOut(true);
} else if (!crnProtocol.isSignIntOut()){
crnProtocol.setLastIo("I");
@@ -2840,6 +2841,7 @@
if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
crnProtocol.setLastIo("I");
} else if (locToCrnStnDemo){
+ crnProtocol.setLastIo("I");
crnProtocol.setSignIntOut(true);
} else if (!crnProtocol.isSignIntOut()){
crnProtocol.setLastIo("I");
@@ -3076,6 +3078,8 @@
if (taskWrkMapper.updateById(taskWrk) == 0) {
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
}
+
+
} catch (Exception e) {
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
@@ -3303,30 +3307,34 @@
if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
continue;
}
- for (String locNo : crnProtocol.getLocMastDemoList()){
- LocMast locMast = locMastService.selectByLocNo(locNo);
- if (locMast.getLocSts().equals("F")){
- CarryParam carryParam = new CarryParam();
- carryParam.setTaskNo(locNo);
- carryParam.setBarcode(locNo);
- carryParam.setIoType(1);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
- carryParam.setTaskPriority(1);
- carryParam.setTargetPoint("1012");
- carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
- carryParam.setMeno("Demo");
- taskWrkController.addTaskPoint(carryParam);
- Thread.sleep(50);
- } else if (locMast.getLocSts().equals("O")){
- CarryParam carryParam = new CarryParam();
- carryParam.setTaskNo(locNo);
- carryParam.setBarcode(locNo);
- carryParam.setIoType(3);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
- carryParam.setTaskPriority(1);
- carryParam.setStartPoint("1012");
- carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
- carryParam.setMeno("Demo");
- taskWrkController.addTaskPoint(carryParam);
- Thread.sleep(50);
+ for (String[] locS : crnProtocol.getLocMastDemoListSign()){
+ if (locS[3].equals("1")){
+ String locNo = locS[0];
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ if (locMast.getLocSts().equals("F")){
+ CarryParam carryParam = new CarryParam();
+ carryParam.setTaskNo(locNo);
+ carryParam.setBarcode(locNo);
+ carryParam.setIoType(1);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+ carryParam.setTaskPriority(1);
+ carryParam.setTargetPoint("1012");
+ carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
+ carryParam.setMeno("Demo");
+ taskWrkController.addTaskPoint(carryParam);
+ Thread.sleep(50);
+ } else if (locMast.getLocSts().equals("O")){
+ CarryParam carryParam = new CarryParam();
+ carryParam.setTaskNo(locNo);
+ carryParam.setBarcode(locNo);
+ carryParam.setIoType(3);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+ carryParam.setTaskPriority(1);
+ carryParam.setStartPoint("1012");
+ carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
+ carryParam.setMeno("Demo");
+ taskWrkController.addTaskPoint(carryParam);
+ Thread.sleep(50);
+ LocFCSUtils.updateLocSInPlace(crnProtocol.getLocMastDemoListSign());
+ }
}
}
diff --git a/src/main/java/com/zy/asrs/utils/LocFCSUtils.java b/src/main/java/com/zy/asrs/utils/LocFCSUtils.java
new file mode 100644
index 0000000..cbbfcaa
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/LocFCSUtils.java
@@ -0,0 +1,65 @@
+package com.zy.asrs.utils;
+
+import com.zy.core.cache.RgvStatusCache;
+import com.zy.core.model.RgvSlave;
+import com.zy.core.model.protocol.RgvProtocol;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+/**
+ * Created by Monkey D. Luffy on 2023/7/18
+ */
+public class LocFCSUtils {
+
+ public static ArrayList<String[]> getLocS(ArrayList<String> locMastDemoListF) {
+ ArrayList<String[]> locS = new ArrayList<>();
+ // 鎻愬彇鏁版嵁
+ int idx = 1;
+ for (String locNo : locMastDemoListF) {
+ if (locNo != null && locNo.length() >= 5) {
+ String[] strings = new String[4]; // 澧炲姞涓�鍒楃敤浜庢帓搴忓簭鍙�
+ String result = locNo.substring(2, 5);
+
+ strings[0] = locNo; // 鍘熷瓧绗︿覆
+ strings[1] = result; // 鎴彇鐨勯儴鍒�
+ strings[2] = String.valueOf(idx); // 鍘熷搴忓彿
+ strings[3] = ""; // 鎺掑簭搴忓彿锛堟殏绌猴級
+
+ locS.add(strings);
+ }
+ idx++;
+ }
+
+// 鎺掑簭
+ Collections.sort(locS, (a, b) -> {
+ int numA = Integer.parseInt(a[1]);
+ int numB = Integer.parseInt(b[1]);
+ return Integer.compare(numA, numB);
+ });
+
+// 璁剧疆鎺掑簭搴忓彿
+ for (int i = 0; i < locS.size(); i++) {
+ locS.get(i)[3] = String.valueOf(i + 1);
+ }
+ return locS;
+ }
+
+ public static void updateLocSInPlace(ArrayList<String[]> locS) {
+ if (locS == null || locS.isEmpty()) {
+ return;
+ }
+
+ // 鏇存柊鎺掑簭搴忓彿
+ for (String[] row : locS) {
+ int currentSort = Integer.parseInt(row[3]);
+
+ if (currentSort == 1) {
+ row[3] = String.valueOf(locS.size());
+ } else {
+ row[3] = String.valueOf(currentSort - 1);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index d2092b5..aed7e20 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -206,6 +206,7 @@
public ArrayList<String> locMastDemoListF;//娴嬭瘯搴撲綅鍒楄〃
public ArrayList<String> locMastDemoListE;//娴嬭瘯搴撲綅鍒楄〃
public ArrayList<String> locMastDemoList;//娴嬭瘯搴撲綅鍒楄〃
+ public ArrayList<String[]> locMastDemoListSign;//娴嬭瘯搴撲綅鍒楄〃
public Integer staOutDemo;//娴嬭瘯搴撲綅鍑哄簱绔�
public Integer staIntDemo;//娴嬭瘯搴撲綅鍏ュ簱绔�
public boolean signIntOut;//娴嬭瘯搴撲綅鍏ュ簱绔�
diff --git a/src/main/webapp/views/deviceOperate/crnOperate.html b/src/main/webapp/views/deviceOperate/crnOperate.html
index db36439..eaf5684 100644
--- a/src/main/webapp/views/deviceOperate/crnOperate.html
+++ b/src/main/webapp/views/deviceOperate/crnOperate.html
@@ -81,9 +81,9 @@
<el-form-item label="鍘熷鍑哄簱搴撲綅">
<el-input v-model="formParam.locMastDemoF" placeholder="鍘熷鏈夌墿搴撲綅"></el-input>
</el-form-item>
- <el-form-item label="鍘熷绌哄簱浣�">
- <el-input v-model="formParam.locMastDemoE" placeholder="鍘熷鏈夌墿搴撲綅"></el-input>
- </el-form-item>
+<!-- <el-form-item label="鍘熷绌哄簱浣�">-->
+<!-- <el-input v-model="formParam.locMastDemoE" placeholder="鍘熷鏈夌墿搴撲綅"></el-input>-->
+<!-- </el-form-item>-->
<el-form-item label="鍫嗗灈鏈烘斁璐х珯鐐�">
<el-input v-model="formParam.staOutDemo" placeholder="鍫嗗灈鏈烘斁璐х珯鐐�"></el-input>
</el-form-item>
--
Gitblit v1.9.1