From a5816e4f1abd1e513d304357e542b75ff76a8f94 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 20 五月 2025 13:37:55 +0800
Subject: [PATCH] 任务列表完成优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 34 insertions(+), 21 deletions(-)

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 b82017c..178cf4d 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
@@ -371,15 +371,41 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void completeTask(List<Task> tasks) throws Exception {
-        if (tasks.isEmpty()) {
+        for (Task task : tasks) {
+            if (task.getTaskType() < TaskType.TASK_TYPE_OUT.type) {
+                //鍏ュ簱浠诲姟
+                complateInstock(task);
+            } else {
+                //鍑哄簱浠诲姟
+                complateOutStock(task);
+            }
+        }
+    }
+    /**
+     * @author Ryan
+     * @date 2025/5/20
+     * @description: 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭�
+     * @version 1.0
+     */
+    public void complateOutStock(Task task) {
+
+
+    }
+
+    /**
+     * @author Ryan
+     * @date 2025/5/20
+     * @description: 瀹屾垚鍏ュ簱浠诲姟
+     * @version 1.0
+     */
+    public void complateInstock(Task task) {
+        if (Objects.isNull(task)) {
             return;
         }
-        List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList());
-        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list));
+        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, task.getId()));
         if (taskItems.isEmpty()) {
             throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
         }
-        List<String> locCodes = tasks.stream().map(Task::getTargLoc).collect(Collectors.toList());
         Map<Long, List<TaskItem>> listMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getTaskId));
         /**瀵逛换鍔℃槑缁嗘寜浠诲姟涓诲崟杩涜鍒嗙粍*/
         listMap.keySet().forEach(key -> {
@@ -396,10 +422,7 @@
         Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource));
         orderMap.keySet().forEach(key -> {
             WaitPakinItem pakinItem = waitPakinItemService.getById(key);
-//            AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>()
-//                    .eq(AsnOrder::getId, key)
-//                    .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode));
-            if (null == pakinItem) {
+            if (Objects.isNull(pakinItem)) {
                 throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨暟鎹笉瀛樺湪锛岃鑱旂郴绠$悊鍛橈紒锛�");
             }
             List<TaskItem> items = orderMap.get(key);
@@ -413,10 +436,10 @@
             }
         });
         /**淇敼搴撲綅鐘舵�佷负F.鍦ㄥ簱*/
-        if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).in(Loc::getCode, locCodes))) {
+        if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).eq(Loc::getCode, task.getTargLoc()))) {
             throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
         }
-        if (!this.update(new LambdaUpdateWrapper<Task>().in(Task::getId, list).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) {
+        if (!this.update(new LambdaUpdateWrapper<Task>().eq(Task::getId, task.getId()).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) {
             throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
         }
     }
@@ -486,19 +509,13 @@
     }
 
     /**
-     * 鐢熸垚搴撳瓨鏄庣粏
+     * 鐢熸垚鍏ュ簱搴撳瓨鏄庣粏
      * @param items
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
     public void saveStockItems(List<TaskItem> items, WaitPakinItem order) throws Exception {
         Stock stock = new Stock();
-//        if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) {
-//            Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode()));
-//            if (!Objects.isNull(purchase)) {
-//                stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
-//            }
-//        }
         String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null);
         if (StringUtils.isBlank(ruleCode)) {
             throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
@@ -517,10 +534,6 @@
         List<StockItem> stockItems = new ArrayList<>();
         for (TaskItem item : items) {
             /**閫氳繃浠诲姟鏄庣粏涓殑taskId鏌ヨ,鑾峰彇TASK鐨勭洰鏍囧簱浣嶄俊鎭�*/
-//            AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId()));
-//            if (Objects.isNull(orderItem)) {
-//                throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
-//            }
             StockItem stockItem = new StockItem();
             BeanUtils.copyProperties(item, stockItem);
             stockItem.setSourceItemId(item.getOrderItemId())

--
Gitblit v1.9.1