From 84988579b77ec4578af30d5c836690beeff3562c Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期五, 22 三月 2024 13:44:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java |   83 +++++++++++++++++++++++++++--------------
 1 files changed, 55 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 385906e..0e360c4 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
 import com.zy.asrs.entity.param.TaskCreateParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -78,38 +79,64 @@
 
     //鍒涘缓浠诲姟
     @PostMapping("/taskCreate")
+    @Transactional
     public R taskCreate(@RequestHeader String appkey,
                           @RequestBody List<TaskCreateParam> param1,
                           HttpServletRequest request) {
         auth(appkey, param1, request);
-        for (TaskCreateParam param : param1
-             ) {
-        if (Cools.isEmpty(param)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        if (Cools.isEmpty(param.getTaskNo())) {
-            return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getIoType())) {
-            return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getBarcode())) {
-            return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
-        }
-        String locNo=null;
-        if(param.getIoType()==1){
-            locNo=param.getTargetPoint();
-        }else{
-            locNo=param.getStartPoint();
-        }
-        LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
-                .eq("loc_sts","F")
-                .eq("loc_no",locNo)
-                .eq("barcode",param.getBarcode()));
-        if(Cools.isEmpty(locMast)){
-            return R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢"+param.getTargetPoint());
-        }
-        openService.taskCreate(param);
+        try{
+            List<TaskCreateParam> paramList = new ArrayList<>();
+            List<String> locNoList = new ArrayList<>();
+            for (TaskCreateParam param : param1) {
+                if (Cools.isEmpty(param)) {
+                    return R.parse(BaseRes.PARAM);
+                }
+                if (Cools.isEmpty(param.getTaskNo())) {
+                    return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
+                }
+                if (Cools.isEmpty(param.getIoType())) {
+                    return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
+                }
+                if (Cools.isEmpty(param.getBarcode())) {
+                    return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
+                }
+                String locNo=null;
+                if(param.getIoType()==1){
+                    locNo=param.getTargetPoint();
+                }else{
+                    locNo=param.getStartPoint();
+                }
+                try{
+                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                            .eq("loc_no", locNo).ne("loc_sts","X"));
+                    if (Cools.isEmpty(locMast)){
+                        log.error("搴撲綅鍙蜂笉瀛樺湪"+locNo);
+                        return R.error("搴撲綅鍙蜂笉瀛樺湪"+locNo).add("搴撲綅鍙蜂笉瀛樺湪"+locNo);
+                    }
+                }catch (Exception e){
+                    log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e);
+                    return R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e);
+                }
+                LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+                        .eq("loc_sts","F")
+                        .eq("loc_no",locNo)
+                        .eq("barcode",param.getBarcode()));
+                if(Cools.isEmpty(locMast)){
+                    return R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢"+param.getTargetPoint());
+                }
+                if (!locNoList.contains(locMast.getLocNo())){
+                    locNoList.add(locMast.getLocNo());
+                    paramList.add(param);
+                }else {
+                    return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�"+locMast.getLocNo());
+                }
+            }
+            for (TaskCreateParam param : paramList){
+                openService.taskCreate(param);
+            }
+        }catch (Exception e){
+            log.error("浠诲姟涓嬪彂寮傚父"+e);
+            return R.error();
         }
         return R.ok();
     }

--
Gitblit v1.9.1