From d1ef13d1f116e69a7f44e78d64fd0fe4ce2cad80 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 10 二月 2025 13:17:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/enums/WrkStsType.java                    |    5 +
 src/main/java/com/zy/asrs/controller/OpenController.java           |   45 ++++++++++-
 src/main/java/com/zy/core/enums/WrkIoType.java                     |    1 
 src/main/java/com/zy/asrs/domain/param/CreateInTaskParam.java      |   20 +++++
 src/main/java/com/zy/asrs/domain/param/CreateOutTaskParam.java     |   17 ++++
 src/main/java/com/zy/common/service/CommonService.java             |  112 +++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/domain/param/CreateLocMoveTaskParam.java |   17 ++++
 7 files changed, 210 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index da84136..c72e692 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -3,9 +3,7 @@
 import com.core.common.R;
 import com.zy.asrs.domain.NotifyDto;
 import com.zy.asrs.domain.enums.NotifyMsgType;
-import com.zy.asrs.domain.param.CancelTaskParam;
-import com.zy.asrs.domain.param.CompleteTaskParam;
-import com.zy.asrs.domain.param.CreateMoveTaskParam;
+import com.zy.asrs.domain.param.*;
 import com.zy.asrs.utils.NotifyUtils;
 import com.zy.common.service.CommonService;
 import com.zy.core.dispatcher.ShuttleDispatchUtils;
@@ -13,8 +11,6 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
 
 @Slf4j
 @RestController
@@ -40,6 +36,45 @@
         return R.error("鐢熸垚澶辫触");
     }
 
+    //绉诲簱浠诲姟
+    @PostMapping("/createLocMoveTask")
+    public R createLocMoveTask(@RequestBody CreateLocMoveTaskParam param) {
+        if (param == null) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖");
+        }
+        boolean result = commonService.createLocMoveTask(param);
+        if (result) {
+            return R.ok();
+        }
+        return R.error("鐢熸垚绉诲簱浠诲姟澶辫触");
+    }
+
+    //鍏ュ簱浠诲姟
+    @PostMapping("/createInTask")
+    public R createInTask(@RequestBody CreateInTaskParam param) {
+        if (param == null) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖");
+        }
+        boolean result = commonService.createInTask(param);
+        if (result) {
+            return R.ok();
+        }
+        return R.error("鐢熸垚鍏ュ簱浠诲姟澶辫触");
+    }
+
+    //鍑哄簱浠诲姟
+    @PostMapping("/createOutTask")
+    public R createOutTask(@RequestBody CreateOutTaskParam param) {
+        if (param == null) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖");
+        }
+        boolean result = commonService.createOutTask(param);
+        if (result) {
+            return R.ok();
+        }
+        return R.error("鐢熸垚鍑哄簱浠诲姟澶辫触");
+    }
+
     @PostMapping("/completeTask")
     public R completeTask(@RequestBody CompleteTaskParam param) {
         if (param == null) {
diff --git a/src/main/java/com/zy/asrs/domain/param/CreateInTaskParam.java b/src/main/java/com/zy/asrs/domain/param/CreateInTaskParam.java
new file mode 100644
index 0000000..b1fadc2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/CreateInTaskParam.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class CreateInTaskParam {
+
+    //wms浠诲姟鍙�
+    private String taskNo;
+
+    //婧愮珯
+    private Integer sourceStaNo;
+
+    //鐩爣绔�
+    private Integer staNo;
+
+    //鐩爣搴撲綅
+    private String locNo;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/CreateLocMoveTaskParam.java b/src/main/java/com/zy/asrs/domain/param/CreateLocMoveTaskParam.java
new file mode 100644
index 0000000..ffab168
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/CreateLocMoveTaskParam.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class CreateLocMoveTaskParam {
+
+    //wms浠诲姟鍙�
+    private String taskNo;
+
+    //婧愬簱浣�
+    private String sourceLocNo;
+
+    //鐩爣搴撲綅
+    private String locNo;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/CreateOutTaskParam.java b/src/main/java/com/zy/asrs/domain/param/CreateOutTaskParam.java
new file mode 100644
index 0000000..4e16ca1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/CreateOutTaskParam.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class CreateOutTaskParam {
+
+    //wms浠诲姟鍙�
+    private String taskNo;
+
+    //鐩爣绔�
+    private Integer staNo;
+
+    //婧愬簱浣�
+    private String sourceLocNo;
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 8604944..42cc7bb 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -2,10 +2,10 @@
 
 import com.core.common.Cools;
 import com.core.exception.CoolException;
-import com.zy.asrs.domain.param.CancelTaskParam;
-import com.zy.asrs.domain.param.CompleteTaskParam;
+import com.zy.asrs.domain.param.*;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
+import com.zy.core.News;
 import com.zy.core.enums.WrkIoType;
 import com.zy.core.enums.WrkStsType;
 import lombok.extern.slf4j.Slf4j;
@@ -24,6 +24,8 @@
     private WrkMastLogService wrkMastLogService;
     @Autowired
     private WrkLastnoService wrkLastnoService;
+    @Autowired
+    private LocMastService locMastService;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -111,4 +113,110 @@
         return true;
     }
 
+    //绉诲簱浠诲姟
+    public boolean createLocMoveTask(CreateLocMoveTaskParam param) {
+        Date now = new Date();
+        LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo());
+        if (null == locMast) {
+            throw new CoolException("婧愬簱浣嶄笉瀛樺湪");
+        }
+
+        if (!locMast.getLocSts().equals("F")) {
+            throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
+        }
+
+        // 鑾峰彇宸ヤ綔鍙�
+        int workNo = getWorkNo(WrkIoType.LOC_MOVE.id);
+        // 淇濆瓨宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(WrkStsType.NEW_LOC_MOVE.sts); // 宸ヤ綔鐘舵�侊細501.鐢熸垚绉诲簱浠诲姟
+        wrkMast.setIoType(WrkIoType.LOC_MOVE.id); // 鍏ュ嚭搴撶姸鎬侊細 201.绉诲簱浠诲姟
+        wrkMast.setIoPri(800D);
+        wrkMast.setSourceLocNo(param.getSourceLocNo());
+        wrkMast.setLocNo(param.getLocNo()); // 鐩爣搴撲綅
+        wrkMast.setWmsWrkNo(param.getTaskNo());
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            News.error("绉诲簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+
+        return true;
+    }
+
+    //鍏ュ簱浠诲姟
+    public boolean createInTask(CreateInTaskParam param) {
+        Date now = new Date();
+        LocMast locMast = locMastService.queryByLoc(param.getLocNo());
+        if (null == locMast) {
+            throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦�");
+        }
+
+        if (!locMast.getLocSts().equals("O")) {
+            throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�");
+        }
+
+        // 鑾峰彇宸ヤ綔鍙�
+        int workNo = getWorkNo(WrkIoType.IN.id);
+        // 淇濆瓨宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(WrkStsType.NEW_INBOUND.sts); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱浠诲姟
+        wrkMast.setIoType(WrkIoType.IN.id); // 鍏ュ嚭搴撶姸鎬侊細 1.鍏ュ簱
+        wrkMast.setIoPri(100D);
+        wrkMast.setLocNo(param.getLocNo()); // 鐩爣搴撲綅
+        wrkMast.setSourceStaNo(param.getSourceStaNo());//婧愮珯
+        wrkMast.setStaNo(param.getStaNo());//鐩爣绔�
+        wrkMast.setWmsWrkNo(param.getTaskNo());
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            News.error("鍏ュ簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+
+        return true;
+    }
+
+    //鍑哄簱浠诲姟
+    public boolean createOutTask(CreateOutTaskParam param) {
+        Date now = new Date();
+        LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo());
+        if (null == locMast) {
+            throw new CoolException("婧愬簱浣嶄笉瀛樺湪");
+        }
+
+        if (!locMast.getLocSts().equals("F")) {
+            throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
+        }
+
+        // 鑾峰彇宸ヤ綔鍙�
+        int workNo = getWorkNo(WrkIoType.OUT.id);
+        // 淇濆瓨宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(WrkStsType.NEW_OUTBOUND.sts); // 宸ヤ綔鐘舵�侊細101.鐢熸垚鍑哄簱浠诲姟
+        wrkMast.setIoType(WrkIoType.OUT.id); // 鍏ュ嚭搴撶姸鎬侊細 101.鍑哄簱
+        wrkMast.setIoPri(100D);
+        wrkMast.setSourceLocNo(param.getSourceLocNo()); // 婧愬簱浣�
+        wrkMast.setStaNo(param.getStaNo());//鐩爣绔�
+        wrkMast.setWmsWrkNo(param.getTaskNo());
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            News.error("鍑哄簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+
+        return true;
+    }
+
 }
diff --git a/src/main/java/com/zy/core/enums/WrkIoType.java b/src/main/java/com/zy/core/enums/WrkIoType.java
index 3b3a19f..e6fbccb 100644
--- a/src/main/java/com/zy/core/enums/WrkIoType.java
+++ b/src/main/java/com/zy/core/enums/WrkIoType.java
@@ -7,6 +7,7 @@
     IN(1, "鍏ュ簱"),
     OUT(101, "鍑哄簱"),
     SHUTTLE_MOVE(200, "灏忚溅绉诲姩"),
+    LOC_MOVE(201, "绉诲簱浠诲姟"),
     SHUTTLE_CHARGE(300, "灏忚溅鍏呯數"),
     ;
 
diff --git a/src/main/java/com/zy/core/enums/WrkStsType.java b/src/main/java/com/zy/core/enums/WrkStsType.java
index d44ac9d..ac9e6c9 100644
--- a/src/main/java/com/zy/core/enums/WrkStsType.java
+++ b/src/main/java/com/zy/core/enums/WrkStsType.java
@@ -44,6 +44,11 @@
     ANALYZE_MANUAL(402, "鎵嬪姩浠诲姟瑙f瀽"),
     EXECUTE_MANUAL(403, "鎵ц鎵嬪姩浠诲姟"),
     COMPLETE_MANUAL(410, "鎵嬪姩浠诲姟瀹屾垚"),
+
+    NEW_LOC_MOVE(501, "鐢熸垚绉诲簱浠诲姟"),
+    LOC_MOVE_SHUTTLE_RUN(502, "灏忚溅鎼繍涓�"),
+    COMPLETE_LOC_MOVE(509, "绉诲簱瀹屾垚"),
+    SETTLE_LOC_MOVE(510, "绉诲簱搴撳瓨鏇存柊"),
     ;
 
 

--
Gitblit v1.9.1