From 3f30983db5b3cd2b25cb215579501a2ef134883c Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 04 八月 2023 17:00:11 +0800
Subject: [PATCH] agv 订单出库功能完善

---
 src/main/java/com/zy/asrs/controller/AgvBasDevpController.java |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 101 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
index 6587f41..241d8cd 100644
--- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -10,15 +10,17 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
-import com.zy.asrs.entity.AgvBasDevp;
-import com.zy.asrs.entity.BasDevp;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.LocMastInitParam;
-import com.zy.asrs.service.AgvBasDevpService;
+import com.zy.asrs.service.*;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/agv")
@@ -26,6 +28,14 @@
 
     @Autowired
     AgvBasDevpService agvBasDevpService;
+    @Autowired
+    AgvWrkMastService agvWrkMastService;
+    @Autowired
+    AgvWrkDetlService agvWrkDetlService;
+    @Autowired
+    AgvWaitPakinService agvWaitPakinService;
+    @Autowired
+    AgvWorkService agvWorkService;
 
     @RequestMapping(value = "/basDevp/list/auth")
     @ManagerAuth
@@ -148,6 +158,36 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/basDevp/detail/list/auth")
+    public R basDevpDetailList(@RequestParam(defaultValue = "1")Integer curr,
+                               @RequestParam(defaultValue = "10")Integer limit,
+                               @RequestParam Map<String, Object> param){
+        String devNo = param.get("devNo").toString();
+        AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo);
+        if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){
+            //鍏堝幓鍏ュ簱閫氱煡妗f壘鏄庣粏
+            Page<AgvWaitPakin> agvWaitPakinPage = agvWaitPakinService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWaitPakin>()
+                    .eq("zpallet", agvBasDevp.getBarcode()));
+            if(agvWaitPakinPage.getRecords().size()>0){
+                return R.ok(agvWaitPakinPage);
+            }else {
+                //濡傛灉鍏ュ簱閫氭。鏄庣粏涓虹┖锛屽垯鍘诲伐浣滄。鎵炬槑缁�
+                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+                        .eq("loc_no", agvBasDevp.getDevNo())
+                        .or().eq("source_loc_no",agvBasDevp.getDevNo()));
+
+                Page<AgvWrkDetl> agvWrkDetlPage = agvWrkDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWrkDetl>()
+                        .eq("wrk_no", agvWrkMast.getWrkNo()));
+
+                if(agvWrkDetlPage.getRecords().size()>0){
+                    return R.ok(agvWrkDetlPage);
+                }
+            }
+        }
+
+        return R.error("鏁版嵁寮傚父");
+    }
+
     @RequestMapping(value = "/basDevp/visualized/list/auth")
     public R visualizedList(@RequestBody JSONObject param){
 
@@ -159,6 +199,64 @@
         return R.ok(result);
     }
 
+    /*
+    瀹瑰櫒绂诲満
+     */
+    @RequestMapping(value = "/basDevp/visualized/container/moveOut")
+    public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) {
+
+        List<String> devNos = (List<String>) map.get("devNo");
+        List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> {
+            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
+            if(agvWrkMast.getIoType() == 103){
+                throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�103.鎷f枡鍏ュ簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�");
+            }
+            return agvWrkMast;
+        }).collect(Collectors.toList());
+
+        try {
+           int code = agvWrkMastService.containerMoveOut(agvWrkMastList);
+           if(code == 0){
+               //灏嗗伐浣滃厷鐘舵�佹敼涓哄鍣ㄧ鍦�
+               agvWrkMastList.forEach(agvWrkMast -> {
+                   agvWrkMast.setWrkSts(207L);
+                   agvWrkMastService.updateById(agvWrkMast);
+               });
+               //淇敼绔欑偣鐘舵��
+               devNos.forEach(devNo -> {
+                   AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo);
+                   agvBasDevp.setBarcode("");
+                   agvBasDevp.setLocSts("O");
+                   agvBasDevpService.updateById(agvBasDevp);
+               });
+           }
+        } catch (IOException e) {
+            e.printStackTrace();
+            return R.error("瀹瑰櫒绂诲満澶辫触");
+        }
+
+        return R.ok("瀹瑰櫒绂诲満鎴愬姛");
+    }
+
+    /*
+    鎷f枡鍏ュ簱
+     */
+    @RequestMapping(value = "/basDevp/visualized/container/pickIn")
+    public R visualiZedPickIn(@RequestBody Map<String,Object> map){
+        List<String> devNos = (List<String>) map.get("devNo");
+        List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> {
+            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
+            if(agvWrkMast.getIoType() == 101){
+                throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍏ュ簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�");
+            }
+            return agvWrkMast;
+        }).collect(Collectors.toList());
+
+        agvWorkService.pickIn(agvWrkMastList);
+
+        return R.ok("鐢熸垚鎷f枡鍑哄簱浠诲姟鎴愬姛");
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());

--
Gitblit v1.9.1