From 788b9bfcf3d4935a9e171488fb4e55482480472c Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 01 八月 2024 13:27:29 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java
index 9126c72..de41adb 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java
@@ -5,23 +5,23 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.asrs.entity.*;
+import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
+import com.zy.asrs.wms.asrs.service.*;
 import com.zy.asrs.wms.common.annotation.OperationLog;
 import com.zy.asrs.wms.common.domain.BaseParam;
 import com.zy.asrs.wms.common.domain.KeyValVo;
 import com.zy.asrs.wms.common.domain.PageParam;
-import com.zy.asrs.wms.asrs.entity.WaitPakin;
-import com.zy.asrs.wms.asrs.service.WaitPakinService;
 import com.zy.asrs.wms.system.controller.BaseController;
 import com.zy.asrs.wms.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 @RequestMapping("/api")
@@ -29,6 +29,14 @@
 
     @Autowired
     private WaitPakinService waitPakinService;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
+    private LocService locService;
+    @Autowired
+    private TaskService taskService;
 
     @PreAuthorize("hasAuthority('asrs:waitPakin:list')")
     @PostMapping("/waitPakin/page")
@@ -53,10 +61,45 @@
     @PreAuthorize("hasAuthority('asrs:waitPakin:save')")
     @OperationLog("娣诲姞缁勬墭閫氱煡妗�")
     @PostMapping("/waitPakin/save")
+    @Transactional
     public R save(@RequestBody WaitPakin waitPakin) {
+        if (waitPakin.getAnfme() <= 0) {
+            return R.error("缁勬墭鏁伴噺閿欒");
+        }
+
+        List<Loc> locList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, waitPakin.getBarcode()));
+        if (!locList.isEmpty()) {
+            return R.error("鎵樼洏宸插湪搴�");
+        }
+
+        List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, waitPakin.getBarcode()));
+        if (!taskList.isEmpty()) {
+            return R.error("鎵樼洏姝e湪鍏ュ簱涓�");
+        }
+
         if (!waitPakinService.save(waitPakin)) {
             return R.error("娣诲姞澶辫触");
         }
+
+        OrderDetl orderDetl = orderDetlService.getById(waitPakin.getDetlId());
+        if (orderDetl == null) {
+            throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
+
+        //鑾峰彇璁㈠崟
+        Order order = orderService.getById(orderDetl.getOrderId());
+        if(order == null){
+            throw new CoolException("璁㈠崟涓嶅瓨鍦�");
+        }
+
+        //鏇存柊璁㈠崟鐘舵��
+        if (order.getOrderSettle().equals(OrderSettleType.INIT.val())) {
+            order.setOrderSettle(OrderSettleType.WAIT.val());
+            order.setUpdateTime(new Date());
+            if (!orderService.updateById(order)) {
+                throw new CoolException("璁㈠崟鏁版嵁鏇存柊澶辫触");
+            }
+        }
         return R.ok("娣诲姞鎴愬姛");
     }
 

--
Gitblit v1.9.1