From ad04df8925ac5e33a8825a1408c646f1da9c5f96 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 02 二月 2026 13:59:53 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ValidService.java |   81 +++++++++++++++++++++++-----------------
 1 files changed, 46 insertions(+), 35 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ValidService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ValidService.java
index aff806f..6b2caec 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ValidService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ValidService.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.SnowflakeIdWorker;
+import com.zy.acs.manager.common.config.UplinkProperties;
 import com.zy.acs.manager.common.domain.TaskDto;
 import com.zy.acs.manager.common.exception.BusinessException;
 import com.zy.acs.manager.manager.entity.Code;
@@ -10,6 +11,7 @@
 import com.zy.acs.manager.manager.entity.Sta;
 import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.TaskTypeType;
+import com.zy.acs.manager.manager.enums.TaskUplinkStateType;
 import com.zy.acs.manager.manager.service.CodeService;
 import com.zy.acs.manager.manager.service.LocService;
 import com.zy.acs.manager.manager.service.StaService;
@@ -36,39 +38,44 @@
     private MapService mapService;
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private UplinkProperties uplinkProperties;
 
-    public List<Task> validBusDto(List<TaskDto> taskDtoList) {
+    public List<Task> validTaskDtoList(List<TaskDto> taskDtoList) {
         List<Task> taskList = new ArrayList<>();
+        String uplinkSts = uplinkProperties.getEnabled() ? TaskUplinkStateType.PENDING.toString() : TaskUplinkStateType.SKIPPED.toString();
         for (TaskDto taskDto : taskDtoList) {
-            if (Cools.isEmpty(taskDto.getSeqNum())) {
-                throw new BusinessException("seqNum涓嶈兘涓虹┖");
+            if (Cools.isEmpty(taskDto.getTaskNo())) {
+                throw new BusinessException("Task seqNum can't be empty!");
             }
             Task task = new Task();
             taskList.add(task);
             task.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
-            task.setSeqNum(taskDto.getSeqNum());
+            task.setSeqNum(taskDto.getTaskNo());
             task.setPriority(taskDto.getPriority());
 
             // ori --------------------------
             if (!Cools.isEmpty(taskDto.getOriLoc())) {
-                Loc oriLoc = locService.selecatByLocNo(taskDto.getOriLoc());
+                Loc oriLoc = locService.selectByLocNo(taskDto.getOriLoc());
                 if (null == oriLoc) {
-                    throw new BusinessException("oriLoc: " + taskDto.getOriLoc() + "涓嶅瓨鍦�");
+                    throw new BusinessException("oriLoc: " + taskDto.getOriLoc() + " doesn't exist!");
                 }
                 task.setOriLoc(oriLoc.getId());
+//                task.setOriCode(oriLoc.getCode());
             }
             if (!Cools.isEmpty(taskDto.getOriSta())) {
                 Sta oriSta = staService.selectByStaNo(taskDto.getOriSta());
                 if (null == oriSta) {
-                    throw new BusinessException("oriSta: " + taskDto.getOriSta() + "涓嶅瓨鍦�");
+                    throw new BusinessException("oriSta: " + taskDto.getOriSta() + " doesn't exist!");
                 }
                 task.setOriSta(oriSta.getId());
+//                task.setOriCode(oriSta.getCode());
             }
             // dest --------------------------
             if (!Cools.isEmpty(taskDto.getDestLoc())) {
-                Loc destLoc = locService.selecatByLocNo(taskDto.getDestLoc());
+                Loc destLoc = locService.selectByLocNo(taskDto.getDestLoc());
                 if (null == destLoc) {
-                    throw new BusinessException("destLoc: " + taskDto.getDestLoc() + "涓嶅瓨鍦�");
+                    throw new BusinessException("destLoc: " + taskDto.getDestLoc() + " doesn't exist!");
                 }
                 task.setDestLoc(destLoc.getId());
                 task.setDestCode(destLoc.getCode());
@@ -76,7 +83,7 @@
             if (!Cools.isEmpty(taskDto.getDestSta())) {
                 Sta destSta = staService.selectByStaNo(taskDto.getDestSta());
                 if (null == destSta) {
-                    throw new BusinessException("destSta: " + taskDto.getDestSta() + "涓嶅瓨鍦�");
+                    throw new BusinessException("destSta: " + taskDto.getDestSta() + " doesn't exist!");
                 }
                 task.setDestSta(destSta.getId());
                 task.setDestCode(destSta.getCode());
@@ -84,16 +91,16 @@
 
             // task-type ----------------------------------
             if (null == task.getOriLoc() && null == task.getOriSta()) {
-                throw new BusinessException(task.getSeqNum() + " 閿欒锛宱riLoc鍜宱riSta蹇呴』瀛樺湪涓�椤�");
+                throw new BusinessException("seNum:" + task.getSeqNum() + " is wrong锛宼here must be at least one of oriLoc and oriSta");
             }
             if (null != task.getOriLoc() && null != task.getOriSta()) {
-                throw new BusinessException(task.getSeqNum() + " 閿欒锛宱riLoc鍜宱riSta鍙兘瀛樺湪涓�椤�");
+                throw new BusinessException("seNum:" + task.getSeqNum() + " is wrong锛宼here must be at least one of oriLoc and oriSta");
             }
             if (null == task.getDestLoc() && null == task.getDestSta()) {
-                throw new BusinessException(task.getSeqNum() + " 閿欒锛宒estLoc鍜宒estSta蹇呴』瀛樺湪涓�椤�");
+                throw new BusinessException("seNum:" + task.getSeqNum() + " is wrong锛宔ither destLoc and destSta must be present");
             }
             if (null != task.getDestLoc() && null != task.getDestSta()) {
-                throw new BusinessException(task.getSeqNum() + " 閿欒锛宒estLoc鍜宒estSta鍙兘瀛樺湪涓�椤�");
+                throw new BusinessException("seNum:" + task.getSeqNum() + " is wrong锛宔ither destLoc and destSta must be present");
             }
             if (null != task.getOriSta()) {
                 if (null != task.getDestLoc()) {
@@ -125,76 +132,80 @@
                     oriLoc = locService.getById(task.getOriLoc());
                     destLoc = locService.getById(task.getDestLoc());
 
-                    startCode = codeService.getById(oriLoc.getCode());
-                    endCode = codeService.getById(destLoc.getCode());
+                    startCode = codeService.getCacheById(oriLoc.getCode());
+                    endCode = codeService.getCacheById(destLoc.getCode());
                     if (null == startCode) {
-                        throw new BusinessException("oriLoc锛�" + oriLoc.getLocNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("oriLoc锛�" + oriLoc.getLocNo() + " hasn't been bound to a QrCode yet");
                     }
                     if (null == endCode) {
-                        throw new BusinessException("destLoc锛�" + destLoc.getLocNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("destLoc锛�" + destLoc.getLocNo() + " is not bound to a QrCode yet");
                     }
                     pathList = mapService.validFeasibility(startCode, endCode);
                     if (Cools.isEmpty(pathList)) {
-                        throw new BusinessException(task.getSeqNum() + "浠诲姟閿欒锛宱riLoc锛�" + task.getOriLoc() + "鏃犳硶琛岃蛋鑷� destLoc" + task.getDestLoc());
+                        throw new BusinessException("seqNum:" + task.getSeqNum() + " is wrong锛宱riLoc锛�" + task.getOriLoc() + " is unable to reach destLoc" + task.getDestLoc());
                     }
                     task.setPhase(JSON.toJSONString(pathList));
+                    task.setUplinkSts(uplinkSts);
                     break;
                 case LOC_TO_STA:
                     oriLoc = locService.getById(task.getOriLoc());
                     destSta = staService.getById(task.getDestSta());
 
-                    startCode = codeService.getById(oriLoc.getCode());
-                    endCode = codeService.getById(destSta.getCode());
+                    startCode = codeService.getCacheById(oriLoc.getCode());
+                    endCode = codeService.getCacheById(destSta.getCode());
                     if (null == startCode) {
-                        throw new BusinessException("oriLoc锛�" + oriLoc.getLocNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("oriLoc锛�" + oriLoc.getLocNo() + " hasn't been bound to QrCode yet");
                     }
                     if (null == endCode) {
-                        throw new BusinessException("destSta锛�" + destSta.getStaNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("destSta锛�" + destSta.getStaNo() + " is not bound to QrCode yet");
                     }
                     pathList = mapService.validFeasibility(startCode, endCode);
                     if (Cools.isEmpty(pathList)) {
-                        throw new BusinessException(task.getSeqNum() + "浠诲姟閿欒锛宱riLoc锛�" + task.getOriLoc() + "鏃犳硶琛岃蛋鑷� destSta" + task.getDestSta());
+                        throw new BusinessException("seqNum:" + task.getSeqNum() + " is wrong锛宱riLoc锛�" + task.getOriLoc() + " can't move to destSta" + task.getDestSta());
                     }
                     task.setPhase(JSON.toJSONString(pathList));
+                    task.setUplinkSts(uplinkSts);
                     break;
                 case STA_TO_LOC:
                     oriSta = staService.getById(task.getOriSta());
                     destLoc = locService.getById(task.getDestLoc());
 
-                    startCode = codeService.getById(oriSta.getCode());
-                    endCode = codeService.getById(destLoc.getCode());
+                    startCode = codeService.getCacheById(oriSta.getCode());
+                    endCode = codeService.getCacheById(destLoc.getCode());
                     if (null == startCode) {
-                        throw new BusinessException("oriSta锛�" + oriSta.getStaNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("oriSta锛�" + oriSta.getStaNo() + " hasn't bound to QrCode yet");
                     }
                     if (null == endCode) {
-                        throw new BusinessException("destLoc锛�" + destLoc.getLocNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("destLoc锛�" + destLoc.getLocNo() + " is not bound to QrCode yet");
                     }
                     pathList = mapService.validFeasibility(startCode, endCode);
                     if (Cools.isEmpty(pathList)) {
-                        throw new BusinessException(task.getSeqNum() + "浠诲姟閿欒锛宱riSta锛�" + task.getOriSta() + "鏃犳硶琛岃蛋鑷� destLoc" + task.getDestLoc());
+                        throw new BusinessException("seqNum:" + task.getSeqNum() + " is wrong锛宱riSta锛�" + task.getOriSta() + " is unable to react destLoc" + task.getDestLoc());
                     }
                     task.setPhase(JSON.toJSONString(pathList));
+                    task.setUplinkSts(uplinkSts);
                     break;
                 case STA_TO_STA:
                     oriSta = staService.getById(task.getOriSta());
                     destSta = staService.getById(task.getDestSta());
 
-                    startCode = codeService.getById(oriSta.getCode());
-                    endCode = codeService.getById(destSta.getCode());
+                    startCode = codeService.getCacheById(oriSta.getCode());
+                    endCode = codeService.getCacheById(destSta.getCode());
                     if (null == startCode) {
-                        throw new BusinessException("oriSta锛�" + oriSta.getStaNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("oriSta锛�" + oriSta.getStaNo() + " hasn't been bound to a QrCode yet");
                     }
                     if (null == endCode) {
-                        throw new BusinessException("destSta锛�" + destSta.getStaNo() + " 鏈粦瀹氬湴闈㈢爜");
+                        throw new BusinessException("destSta锛�" + destSta.getStaNo() + " is not bound to a QrCode yet");
                     }
                     pathList = mapService.validFeasibility(startCode, endCode);
                     if (Cools.isEmpty(pathList)) {
-                        throw new BusinessException(task.getSeqNum() + "浠诲姟閿欒锛宱riSta锛�" + task.getOriSta() + "鏃犳硶琛岃蛋鑷� destSta" + task.getDestSta());
+                        throw new BusinessException("seqNum:" + task.getSeqNum() + " is wrong锛宱riSta锛�" + task.getOriSta() + " can't move to destSta" + task.getDestSta());
                     }
                     task.setPhase(JSON.toJSONString(pathList));
+                    task.setUplinkSts(uplinkSts);
                     break;
                 default:
-                    throw new BusinessException(task.getSeqNum() + "浠诲姟绫诲瀷閿欒");
+                    throw new BusinessException("seqNum:" + task.getSeqNum() + " is wrong锛� cause this type not exist");
             }
 
         }

--
Gitblit v1.9.1