From 89255f6e9692026ffe4ce20bf4454c963a35ad69 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 26 五月 2025 12:56:30 +0800
Subject: [PATCH] 移库任务优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

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 66cb207..8d97ef5 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
@@ -95,7 +95,12 @@
         String ruleCode = generateTaskCode();
 
         // 鑾峰彇搴撲綅鍙�
-        InTaskMsgDto locNo = getLocNo(param);
+        InTaskMsgDto locNo = null;
+        try {
+            locNo = getLocNo(param);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
 
         // 鍒涘缓骞朵繚瀛樹换鍔�
         Task task = createTask(ruleCode, locNo.getLocNo(), waitPakin.getBarcode(),
@@ -329,7 +334,7 @@
 //        return locNo;
 //    }
     @Override
-    public InTaskMsgDto getLocNo(TaskInParam param) {
+    public InTaskMsgDto getLocNo(TaskInParam param) throws Exception{
         String matnr = null;
         String batch = null;
         List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, param.getBarcode()));
@@ -380,7 +385,7 @@
             batch = "";
         }
         // 鍒濆鍖栧弬鏁�
-        int deviceNo = 0;      //鍫嗗灈鏈哄彿
+        int channel = 0;      //鍫嗗灈鏈哄彿
         int nearRow = 0;    //鏈�娴呭簱浣嶆帓
         int curRow = 0;     //鏈�娣卞簱浣嶆帓
         int rowCount = 0;   //杞杞
@@ -400,7 +405,7 @@
         for (int i = times; i <= deviceQty * 2; i++) {
             int[] locNecessaryParameters = LocUtils.LocNecessaryParameters(deviceBind, curRow, deviceQty);
             curRow = locNecessaryParameters[1];
-            deviceNo = locNecessaryParameters[2];
+            channel = locNecessaryParameters[2];
             rowCount = locNecessaryParameters[0];
             nearRow = locNecessaryParameters[3];
             break;
@@ -423,7 +428,7 @@
                     if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
                         if (LocUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
                             loc = shallowLoc;
-                            deviceNo = shallowLoc.getDeviceNo();
+                            channel = shallowLoc.getChannel();
                             break;
 
                         }
@@ -460,10 +465,10 @@
         DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                 .eq(DeviceSite::getType, ioType)
                 .eq(DeviceSite::getSite, sourceStaNo)
-                .eq(DeviceSite::getDeviceCode, deviceNo)
+                .eq(DeviceSite::getChannel, channel)
         );
         if (Cools.isEmpty(deviceSite)) {
-            deviceNo = 0;
+            channel = 0;
         } else {
             inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite()));
         }
@@ -475,7 +480,7 @@
         // 寮�濮嬫煡鎵惧簱浣� ==============================>>
 
         // 1.鎸夎鍒欐煡鎵惧簱浣�
-        if (Cools.isEmpty(loc) && deviceNo != 0) {
+        if (Cools.isEmpty(loc) && channel != 0) {
             List<Loc> locMasts = null;
             locMasts = locService.list(new LambdaQueryWrapper<Loc>()
                     .eq(Loc::getRow, nearRow)
@@ -562,7 +567,7 @@
         //鏌ヨ褰撳墠搴撲綅绫诲瀷绌哄簱浣� 灏忎簬5涓垯locmast = null
         List<Loc> locTypeLocMasts = locService.list(new LambdaQueryWrapper<Loc>()
                 .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
-                .eq(Loc::getChannel, deviceNo)
+                .eq(Loc::getChannel, channel)
                 .eq(Loc::getType, locTypeDto.getLocType1())
                 .eq(Loc::getAreaId, area)
         );
@@ -588,7 +593,7 @@
         String locNo = loc.getCode();
 
         // 杩斿洖dto
-        inTaskMsgDto.setDeviceNo(deviceNo);
+        inTaskMsgDto.setDeviceNo(channel);
         inTaskMsgDto.setSourceStaNo(sourceStaNo);
 //        inTaskMsgDto.setStaNo();
         inTaskMsgDto.setLocNo(locNo);

--
Gitblit v1.9.1