From ebe2da6e4eefd59b366ebab3a651b32763b580ed Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期日, 22 六月 2025 14:23:56 +0800
Subject: [PATCH] Merge branch 'ycds-wms-dev' of http://47.97.1.152:5880/r/zy-asrs-master into ycds-wms-dev

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java |   63 ++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 23 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
index b801644..ba6dff2 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
@@ -2,8 +2,9 @@
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.zy.asrs.framework.common.Cools;
-import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.common.DateUtils;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wms.asrs.entity.*;
 import com.zy.asrs.wms.asrs.entity.enums.*;
@@ -15,6 +16,8 @@
 import com.zy.asrs.wms.utils.LocUtils;
 import com.zy.asrs.wms.utils.OrderUtils;
 import com.zy.asrs.wms.utils.Utils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -23,6 +26,8 @@
 
 @Service("workService")
 public class WorkServiceImpl implements WorkService {
+
+    public static final Logger logger = LoggerFactory.getLogger(WorkServiceImpl.class);
 
     @Autowired
     private TaskService taskService;
@@ -77,9 +82,11 @@
 
     @Override
     public String generateTaskNo(Long taskType) {
+        String format = DateUtils.format(new Date(), "MMddHHmm");
         Random random = new Random();
         int nextInt = random.nextInt(99999);
-        return "R" + nextInt;
+        logger.info("R" + format + nextInt);
+        return "R" + format + nextInt;
     }
 
     @Override
@@ -142,15 +149,16 @@
             }
 
             if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.COMPLETE.id)) {
+                return locUtils.getGlobalEmptyLocToCtu(locTypeHeight);
                 //浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
-                List<Loc> globalLoc = locUtils.getGlobalEmptyLoc(taskType, locTypeHeight, laneRowList, currentLev);
-                //鑾峰彇搴撲綅
-                if (!globalLoc.isEmpty()) {
-                    defaultLoc = locUtils.filterAllLoc(globalLoc);
-                    if (defaultLoc != null) {
-                        return defaultLoc;
-                    }
-                }
+//                List<Loc> globalLoc = locUtils.getGlobalEmptyLoc(taskType, locTypeHeight, laneRowList, currentLev);
+//                //鑾峰彇搴撲綅
+//                if (!globalLoc.isEmpty()) {
+//                    defaultLoc = locUtils.filterAllLoc(globalLoc);
+//                    if (defaultLoc != null) {
+//                        return defaultLoc;
+//                    }
+//                }
             }
         }
 
@@ -240,15 +248,16 @@
             }
 
             if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.COMPLETE.id)) {
+                return locUtils.getGlobalEmptyLocToCtu(locTypeHeight);
                 //浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
-                List<Loc> globalLoc = locUtils.getGlobalLoc(taskType, locTypeHeight, laneRowList, currentLev);
-                //鑾峰彇搴撲綅
-                if (!globalLoc.isEmpty()) {
-                    defaultLoc = locUtils.filterAllLoc(globalLoc);
-                    if (defaultLoc != null) {
-                        return defaultLoc;
-                    }
-                }
+//                List<Loc> globalLoc = locUtils.getGlobalLoc(taskType, locTypeHeight, laneRowList, currentLev);
+//                //鑾峰彇搴撲綅
+//                if (!globalLoc.isEmpty()) {
+//                    defaultLoc = locUtils.filterAllLoc(globalLoc);
+//                    if (defaultLoc != null) {
+//                        return defaultLoc;
+//                    }
+//                }
             }
         }
         return defaultLoc;
@@ -439,13 +448,12 @@
         } else {
             //鍑哄簱
             TaskDetl taskDetl = taskDetls.get(0); //TODO  鍑哄簱娴佺▼寰呯‘璁わ紝ESS鍙栬揣鍚庯紝杈撻�佺嚎娴佽浆鍒版壂鐮佸鐘舵��
-            if (taskDetl.getWaveId() == null) {
+            if (taskDetl.getWaveId() == null && task.getTaskType() != 103 && task.getTaskType() != 107) {
                 task.setTaskSts(TaskStsType.COMPLETE_OUT.id);//199.鍑哄簱瀹屾垚
             } else {
                 task.setTaskSts(TaskStsType.WAVE_SEED.id);//198.鎾涓�
             }
         }
-
         task.setUpdateTime(new Date());
         if (!taskService.updateById(task)) {
             throw new CoolException("浠诲姟鏇存柊澶辫触");
@@ -637,7 +645,7 @@
             throw new CoolException("浠诲姟涓嶅瓨鍦�");
         }
 
-        if (task.getTaskType() != 103) {
+        if (task.getTaskType() != 103 && task.getTaskType() != 107) {
             throw new CoolException("浠诲姟绫诲瀷涓嶅彲鎷f枡");
         }
 
@@ -652,7 +660,9 @@
         }
 
         //鑾峰彇婧愬簱浣嶉珮搴�
-        LocTypeBind locTypeBind = locTypeBindService.getOne(new LambdaQueryWrapper<LocTypeBind>().eq(LocTypeBind::getLocId, originLoc.getId()).in(LocTypeBind::getTypeId, LocBindType.HEIGHT.list()));
+        LocTypeBind locTypeBind = locTypeBindService.getOne(new LambdaQueryWrapper<LocTypeBind>()
+                .eq(LocTypeBind::getLocId, originLoc.getId())
+                .in(LocTypeBind::getTypeId, LocBindType.HEIGHT.list()));
         if (locTypeBind == null) {
             throw new CoolException("搴撲綅绫诲瀷涓嶅瓨鍦�");
         }
@@ -683,8 +693,12 @@
         if (loc == null) {
             throw new CoolException("娌℃湁绌哄簱浣�");
         }
+        // 鑾峰彇鏂颁换鍔″彿
+        String taskNo = generateTaskNo(53L);
+        // 璁剧疆鏂颁换鍔″彿
+        task.setTaskNo(taskNo);
         //102鎷f枡姝ゅ闇�淇敼涓篧CS_CONTAINER_RECEIVE,瀹氭椂浠诲姟鏌ヨ鍚庯紝鑷姩涓嬪彂鍏ュ簱浠诲姟鑷矱SS
-        task.setTaskSts(TaskStsType.WCS_CONTAINER_RECEIVE.id);//1.鐢熸垚鍏ュ簱浠诲姟
+        task.setTaskSts(TaskStsType.GENERATE_IN.id);//1.鐢熸垚鍏ュ簱浠诲姟
         task.setTaskType(taskType);
         //鍘熷簱浣嶅彉鐩爣搴撲綅, 鍘熺珯鐐瑰彉鐩爣绔欑偣
         //todo 闇�纭鍘熺珯鐐逛负绌猴紝璇ユ�庝箞澶勭悊
@@ -693,6 +707,9 @@
         if (!taskService.updateById(task)) {
             throw new CoolException("鎷f枡澶辫触");
         }
+        // 鏇存柊浠诲姟鏄庣粏鏂颁换鍔″彿
+        UpdateWrapper<TaskDetl> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("task_no",taskNo).eq("task_id",task.getId());
         //搴撲綅鐘舵�佹敼涓洪绾﹀叆搴� R => S
         loc.setLocStsId(LocStsType.S.val());
         loc.setUpdateTime(new Date());

--
Gitblit v1.9.1