From 69ddcd7014dcf6fd9a4e85e52665a9f5515e3445 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 30 六月 2024 16:19:08 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java |  178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 176 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
index 3f358a2..970bd2c 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
@@ -30,8 +30,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * 瀵瑰鏆撮湶鎺ュ彛
@@ -61,6 +60,176 @@
     private BasConveyorService basConveyorService;
     @Autowired
     private BasConveyorStaService basConveyorStaService;
+
+
+    @PostMapping("/cancelWcsTask")
+    public HashMap<String,Object> cancelWcsTask(@RequestBody CreateWcsTaskParam param){
+        HashMap<String, Object> map = new HashMap<>();
+        if (Cools.isEmpty(param)){
+            map.put("success", "0");
+            map.put("message", "澶辫触锛岃姹傚弬鏁颁负绌�");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+        if (Cools.isEmpty(param.getRequestPK()) || Cools.isEmpty(param.getContNo()) ){
+            map.put("success", "0");
+            map.put("message", "澶辫触锛岃姹傚弬鏁颁负绌�");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, param.getRequestPK()).eq(Task::getHostId,1L));
+        if (task == null){
+            map.put("success", "0");
+            map.put("message", "澶辫触锛屾湭鎵惧埌鐩稿悓缂栧彿鐨勪换鍔�");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+        if (task.getTaskSts() == 1 || task.getTaskSts() == 101){
+            boolean remove = false;
+            try {
+                remove = taskService.removeById(task);
+            }catch (Exception e){
+                map.put("success", "0");
+                map.put("message", "鍙栨秷浠诲姟澶辫触:"+e.getMessage());
+                map.put("result", "");
+                map.put("requestPK",param.getRequestPK());
+                return map;
+            }finally {
+                if (remove){
+                    map.put("success", "1");
+                    map.put("message", "鍙栨秷浠诲姟鎴愬姛");
+                    map.put("result", "");
+                    map.put("requestPK", param.getRequestPK());
+                }else {
+                    map.put("success", "0");
+                    map.put("message", "鍙栨秷浠诲姟澶辫触");
+                    map.put("result", "");
+                    map.put("requestPK", param.getRequestPK());
+                }
+            }
+        }else {
+            map.put("success", "0");
+            map.put("message", "澶辫触锛屼换鍔″凡鎵ц");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+        return map;
+
+    }
+
+
+    //mes涓嬪彂浠诲姟
+    @PostMapping("/createWcsTaskParam")
+    public HashMap<String,Object> createWcsTask(@RequestBody CreateWcsTaskParam param){
+        HashMap<String, Object> map = new HashMap<>();
+        if (Cools.isEmpty(param)){
+            map.put("success", "0");
+            map.put("message", "澶辫触锛岃姹傚弬鏁颁负绌�");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+        if (Cools.isEmpty(param.getRequestPK()) || Cools.isEmpty(param.getContNo()) || Cools.isEmpty(param.getTrkPrty()) || Cools.isEmpty(param.getToPos())){
+            map.put("success", "0");
+            map.put("message", "澶辫触锛岃姹傚弬鏁颁负绌�");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+
+        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, param.getRequestPK()).eq(Task::getHostId,1L));
+        if(task != null){
+            map.put("success", "0");
+            map.put("message", "澶辫触锛屽瓨鍦ㄧ浉鍚岀紪鍙风殑浠诲姟");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+            return map;
+        }
+        ArrayList<String> inlist = new ArrayList<>();
+        inlist.add("1");inlist.add("8");
+        ArrayList<String> outlist = new ArrayList<>();
+        outlist.add("2");outlist.add("9");
+        if (inlist.contains(param.getTrkType())){
+            CreateInTaskParam createInTaskParam = new CreateInTaskParam();
+            createInTaskParam.setTaskNo(param.getRequestPK());
+            createInTaskParam.setDestLoc(getWMStoWCSLocNo(param.getToPos()));
+            createInTaskParam.setOriginSite("100");
+            createInTaskParam.setBarcode(param.getContNo());
+            createInTaskParam.setPriority(Integer.valueOf(param.getTrkPrty()));
+            R inTask = null;
+            try {
+                inTask = createInTask(createInTaskParam);
+            }catch (Exception e){
+                map.put("success", "0");
+                map.put("message", "鐢熸垚浠诲姟鍑洪敊");
+                map.put("result", "");
+                map.put("requestPK", param.getRequestPK());
+                return map;
+            }finally {
+                int code = (int) inTask.get("code");
+                if (code == 200){
+                    map.put("success", "1");
+                    map.put("message", inTask.get("msg"));
+                    map.put("result", "");
+                    map.put("requestPK", param.getRequestPK());
+                }else {
+                    map.put("success", "0");
+                    map.put("message", inTask.get("msg"));
+                    map.put("result", "");
+                    map.put("requestPK", param.getRequestPK());
+                }
+            }
+        } else if (outlist.contains(param.getTrkType())) {
+            CreateOutTaskParam createOutTaskParam = new CreateOutTaskParam();
+            createOutTaskParam.setTaskNo(param.getRequestPK());
+            createOutTaskParam.setOriginLoc(getWMStoWCSLocNo(param.getFrmPos()));
+            createOutTaskParam.setOriginSite("101");
+            createOutTaskParam.setDestSite("100");
+            createOutTaskParam.setPriority(Integer.valueOf(param.getTrkPrty()));
+            R outTask = null;
+            try {
+                outTask = createOutTask(createOutTaskParam);
+            }catch (Exception e){
+                map.put("success", "0");
+                map.put("message", "鐢熸垚浠诲姟鍑洪敊");
+                map.put("result", "");
+                map.put("requestPK", param.getRequestPK());
+                return map;
+            }finally {
+                int code = (int) outTask.get("code");
+                if (code == 200){
+                    map.put("success", "1");
+                    map.put("message", outTask.get("msg"));
+                    map.put("result", "");
+                    map.put("requestPK", param.getRequestPK());
+                }else {
+                    map.put("success", "0");
+                    map.put("message", outTask.get("msg"));
+                    map.put("result", "");
+                    map.put("requestPK", param.getRequestPK());
+                }
+            }
+
+        }else {
+            map.put("success", "0");
+            map.put("message", "鏈壘鍒板搴斾换鍔$被鍨�");
+            map.put("result", "");
+            map.put("requestPK", param.getRequestPK());
+        }
+        return map;
+    }
+    public static String getWMStoWCSLocNo(String loc){
+        String locNo = "";
+        int row = Integer.parseInt(loc.substring(6,8));
+        int bay = Integer.parseInt(loc.substring(8,10));
+        int lev = Integer.parseInt(loc.substring(10,12));
+        locNo = row +"-"+bay+"-"+lev;
+        return locNo;
+    }
 
     //鐢熸垚鍏ュ簱浠诲姟
     @PostMapping("/createInTask")
@@ -507,4 +676,9 @@
         return R.ok();
     }
 
+    public static void main(String[] args) {
+        String wmStoWCSLocNo = getWMStoWCSLocNo("0601KW010101");
+        System.out.println(wmStoWCSLocNo);
+    }
+
 }

--
Gitblit v1.9.1