From 351b16d0a3dc194841c2192cacfabf788ecafd5c Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 05 八月 2024 08:19:17 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 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 bdc9590..5d793ba 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
@@ -4,6 +4,7 @@
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wms.asrs.entity.*;
 import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
+import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
 import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
 import com.zy.asrs.wms.asrs.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +30,8 @@
     private OrderDetlFieldService orderDetlFieldService;
     @Autowired
     private TaskDetlFieldService taskDetlFieldService;
+    @Autowired
+    private OrderService orderService;
     @Autowired
     private OrderDetlService orderDetlService;
     @Autowired
@@ -135,17 +138,32 @@
                 throw new CoolException("缁勬墭閫氱煡妗f洿鏂板け璐�");
             }
 
-            //鏇存柊璁㈠崟鏁版嵁
+            //鏇存柊璁㈠崟鏄庣粏鏁版嵁
             OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
             if(orderDetl == null){
-                throw new CoolException("璁㈠崟鏁版嵁寮傚父");
+                throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
             }
 
             orderDetl.setWorkQty(orderDetl.getWorkQty() + taskDetl.getAnfme());
             orderDetl.setUpdateTime(new Date());
             boolean orderDetlUpdate = orderDetlService.updateById(orderDetl);
             if(!orderDetlUpdate){
-                throw new CoolException("璁㈠崟鏇存柊澶辫触");
+                throw new CoolException("璁㈠崟鏄庣粏鏇存柊澶辫触");
+            }
+
+            //鑾峰彇璁㈠崟
+            Order order = orderService.getById(taskDetl.getOrderId());
+            if(order == null){
+                throw new CoolException("璁㈠崟涓嶅瓨鍦�");
+            }
+
+            //鏇存柊璁㈠崟鐘舵��
+            if (order.getOrderSettle().equals(OrderSettleType.WAIT.val())) {
+                order.setOrderSettle(OrderSettleType.WORKING.val());
+                order.setUpdateTime(new Date());
+                if (!orderService.updateById(order)) {
+                    throw new CoolException("璁㈠崟鏁版嵁鏇存柊澶辫触");
+                }
             }
         }
 
@@ -161,6 +179,34 @@
     }
 
     @Override
+    public boolean completeTask(Long taskId) {
+        Task task = taskService.getById(taskId);
+        if(task == null){
+            throw new CoolException("浠诲姟涓嶅瓨鍦�");
+        }
+
+        List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(taskId);
+        if (taskDetls.isEmpty()) {
+            throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
+        }
+
+        if (task.getTaskType() < 100) {
+            //鍏ュ簱
+            task.setTaskSts(99L);//99.鍏ュ簱瀹屾垚
+        }else {
+            //鍑哄簱
+            task.setTaskSts(199L);//199.鍑哄簱瀹屾垚
+        }
+
+        task.setUpdateTime(new Date());
+        if (!taskService.updateById(task)) {
+            throw new CoolException("浠诲姟鏇存柊澶辫触");
+        }
+
+        return true;
+    }
+
+    @Override
     @Transactional
     public boolean cancelTask(Long taskId) {
         Task task = taskService.getById(taskId);

--
Gitblit v1.9.1