From 668f158ac840aed2ccecb8cb746b89b77bf551a6 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 28 五月 2025 09:43:13 +0800
Subject: [PATCH] 代码优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |    7 +--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java                  |    2 
 rsf-admin/src/page/task/TaskList.jsx                                                      |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WarehType.java              |   16 ++++----
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java |    2 +
 rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java                   |   30 ++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java      |   30 ++++++---------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java    |    2 
 8 files changed, 57 insertions(+), 34 deletions(-)

diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx
index 93cd799..de21588 100644
--- a/rsf-admin/src/page/task/TaskList.jsx
+++ b/rsf-admin/src/page/task/TaskList.jsx
@@ -286,7 +286,7 @@
         }
     }
     return (
-        (record.taskStatus == 1 || record.taskStatus == 101) && (record.taskType == 1 || record.taskType == 101 || record.taskType == 10 || record.taskType == 104) ?
+        (record.taskStatus == 1 || record.taskStatus == 101) && (record.taskType == 1 || record.taskType == 101 || record.taskType == 10 || record.taskType == 103 || record.taskType == 11 ) ?
             <Button
                 onClick={clickCancel}
                 label="toolbar.cancel">
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 8d97ef5..887f5d8 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
@@ -172,7 +172,7 @@
         task.setTaskCode(ruleCode)
                 .setTaskStatus(TaskStsType.GENERATE_IN.id)
                 .setTaskType(TaskType.TASK_TYPE_IN.type)
-                .setWarehType(WarehType.WAREHOUSE_TYPE_CRN.id)
+                .setWarehType(WarehType.WAREHOUSE_TYPE_CRN.val)
                 .setTargLoc(targetLoc)
                 .setBarcode(barcode)
                 .setTargSite(targetSite)
@@ -194,7 +194,6 @@
                 .eq(Loc::getCode, locCode)
                 .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type)
                 .set(Loc::getBarcode, barcode));
-
         if (!updated) {
             throw new CoolException("搴撲綅棰勭害澶辫触锛侊紒");
         }
@@ -204,9 +203,7 @@
      * 鑾峰彇骞堕獙璇佺粍鎷栨槑缁�
      */
     private List<WaitPakinItem> getWaitPakinItems(Long pakinId) {
-        List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(
-                new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, pakinId));
-
+        List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, pakinId));
         if (waitPakinItems.isEmpty()) {
             throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨槑缁嗕笉瀛樺湪");
         }
@@ -361,18 +358,16 @@
         }
         LocTypeDto locTypeDto = new LocTypeDto(param);
         InTaskMsgDto dto = null;
-        switch (warehouseArea.getType()) {
-            case "CRN": //鍫嗗灈鏈�
-                dto = getLocNoCrn(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
-                break;
-            case "SXC": //鍥涘悜搴�
-                break;
-            case "CTU": //ctu
-                dto = getLocNoCtu(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
-                break;
-            default:
-                dto = getLocNoCtu(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
-                break;
+        //鏍规嵁绔嬪簱绫诲瀷鑾峰彇鑾峰彇搴撲綅
+        if (warehouseArea.getType().equals(WarehType.WAREHOUSE_TYPE_CRN.val)) {
+            //鍫嗗灈鏈�
+            dto = getLocNoCrn(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
+
+        } else if (warehouseArea.getType().equals(WarehType.WAREHOUSE_TYPE_FOUR_DIRECTIONS.val)) {
+            //鍥涘悜搴�
+        }  else {
+            //CTU 搴撲互鍙婂叾瀹�
+            dto = getLocNoCtu(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType());
         }
         return dto;
     }
@@ -430,7 +425,6 @@
                             loc = shallowLoc;
                             channel = shallowLoc.getChannel();
                             break;
-
                         }
                     }
                 }
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 db1abfc..b9668dc 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
@@ -12,15 +12,35 @@
 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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 
+import javax.annotation.PostConstruct;
 import javax.annotation.RegEx;
 import javax.annotation.Resource;
 import java.util.List;
 
+@Component
 public class LocUtils {
+
+    public static final Logger logger = LoggerFactory.getLogger(LocUtils.class);
+
+    private static List<Integer>  doubleLocs;
+
+    private static Boolean isDoubleDeep;
+
+    @Autowired
+    private SlaveProperties slavePropertie;
+
+    @PostConstruct
+    public void init() {
+        doubleLocs = slavePropertie.getDoubleLocs();
+        isDoubleDeep = slavePropertie.isDoubleDeep();
+    }
+
 
     /**
      * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿
@@ -113,7 +133,7 @@
       return LocNecessaryParametersDoubleExtension(curRow, crnNumber); //宸插畬鍠�
     }
 
-    //缁忓吀鍙屼几搴撲綅
+    //缁忓吀鍙屼几搴撲綅,  鑾峰彇鍙屾繁鎺�
     public static int[] LocNecessaryParametersDoubleExtension( Integer curRow, Integer crnNumber) {
         int[] necessaryParameters = new int[]{0, 0, 0, 0};
 
@@ -192,6 +212,14 @@
         return dto.getLocType1().equals(Integer.parseInt(loc.getType()));
     }
 
+    public static String  getCrnLoc() {
+        SlaveProperties bean = SpringUtils.getBean(SlaveProperties.class);
+        System.out.println(bean.getDoubleLocs());
+
+        return null;
+    }
+
+
     public static String zerofill(String msg, Integer count) {
         if (msg.length() == count) {
             return msg;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
index 9d1717e..f0a1b5f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.server.api.utils.LocUtils;
 import com.vincent.rsf.server.common.constant.Constants;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -127,6 +128,7 @@
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         map.setType(Constants.TASK_TYPE_OUT_CHECK);
+
         return R.ok("浠诲姟鐢熸垚鎴愬姛").add(locItemService.generateTask(map));
     }
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
index 9c94eb3..7a915da 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -141,7 +141,7 @@
         for (Task task : tasks) {
             if (StringUtils.isNotBlank(task.getParentId() + "")) {
                 Task task1 = taskService.getById(task.getParentId());
-                if (!Objects.isNull(task1)) {
+                if (!Objects.isNull(task1) && task1.getTaskType().equals(TaskStsType.UPDATED_IN.id)) {
                     throw new CoolException("鐖朵换鍔★細" + task1.getTaskCode() + "鏈墽琛屽畬鎴愶紒");
                 }
             }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
index 24397b7..7038d6b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
@@ -60,7 +60,7 @@
     private Long parentId;
 
     @ApiModelProperty("浠撳簱绫诲瀷")
-    private Integer warehType;
+    private String warehType;
 
     /**
      * 浠诲姟绫诲瀷
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WarehType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WarehType.java
index 6fb0db4..2883ea9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WarehType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WarehType.java
@@ -3,18 +3,18 @@
 public enum WarehType {
 
     //浠撳簱绫诲瀷
-    WAREHOUSE_TYPE_FOUR_DIRECTIONS("1", "鍥涘悜搴�"),
-    WAREHOUSE_TYPE_AGV("2", "AGV搴�"),
-    WAREHOUSE_TYPE_CTU("3", "CTU搴�"),
-    WAREHOUSE_TYPE_PLAT("4", "骞冲簱"),
-    WAREHOUSE_TYPE_CRN("5", "鍫嗗灈鏈哄簱"),
+    WAREHOUSE_TYPE_FOUR_DIRECTIONS("SXC", "鍥涘悜搴�"),
+    WAREHOUSE_TYPE_AGV("AGV", "AGV搴�"),
+    WAREHOUSE_TYPE_CTU("CTU", "CTU搴�"),
+    WAREHOUSE_TYPE_PLAT("PLAT", "骞冲簱"),
+    WAREHOUSE_TYPE_CRN("CRN", "鍫嗗灈鏈哄簱"),
     ;
 
-    public Integer id;
+    public String val;
     public String desc;
 
-    WarehType(String id, String desc) {
-        this.id = Integer.parseInt(id);
+    WarehType(String val, String desc) {
+        this.val = val;
         this.desc = desc;
     }
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 2e3cd67..341ec5b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -82,7 +82,6 @@
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         /**鑾峰彇缁勬嫋*/
-//        List<Long> ids = pakins.stream().map(WaitPakin::getId).collect(Collectors.toList());
         List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>()
                 .in(WaitPakin::getId, pakins.getId())
                 .eq(WaitPakin::getIoStatus, Short.parseShort(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)));
@@ -105,7 +104,7 @@
             task.setTaskCode(ruleCode)
                     .setTaskStatus(TaskStsType.GENERATE_IN.id)
                     .setTaskType(TaskType.TASK_TYPE_IN.type)
-                    .setWarehType(WarehType.WAREHOUSE_TYPE_AGV.id)
+                    .setWarehType(WarehType.WAREHOUSE_TYPE_AGV.val)
                     .setTargLoc(targetLoc)
                     .setOrgSite(orgSta)
                     .setBarcode(pakin.getBarcode())
@@ -190,7 +189,7 @@
             task.setTaskCode(ruleCode)
                     .setTaskStatus(TaskStsType.COMPLETE_IN.id)
                     .setTaskType(TaskType.TASK_TYPE_IN.type)
-                    .setWarehType(WarehType.WAREHOUSE_TYPE_PLAT.id)
+                    .setWarehType(WarehType.WAREHOUSE_TYPE_PLAT.val)
                     .setTargLoc(targetLoc)
                     .setBarcode(pakin.getBarcode())
                     .setCreateBy(loginUserId)
@@ -593,7 +592,7 @@
                     throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐ワ紒锛�");
                 }
             }
-            if (!Objects.isNull(task.getWarehType()) && task.getWarehType().equals(WarehType.WAREHOUSE_TYPE_AGV.id)) {
+            if (!Objects.isNull(task.getWarehType()) && task.getWarehType().equals(WarehType.WAREHOUSE_TYPE_AGV.val)) {
                 BasStation basStation = null;
                 if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)) {
                     basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()

--
Gitblit v1.9.1