From 900f7032f7e701efd4741c2bcabeaad969e5fd3f Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 14 一月 2025 15:20:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   87 ++++++++++++++++++++++---------------------
 1 files changed, 44 insertions(+), 43 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index eb14888..8604944 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -2,16 +2,18 @@
 
 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.entity.*;
 import com.zy.asrs.service.*;
+import com.zy.core.enums.WrkIoType;
+import com.zy.core.enums.WrkStsType;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-/**
- * 璐ф灦鏍稿績鍔熻兘
- * Created by vincent on 2020/6/11
- */
+import java.util.Date;
+
 @Slf4j
 @Service
 public class CommonService {
@@ -19,10 +21,9 @@
     @Autowired
     private WrkMastService wrkMastService;
     @Autowired
-    private WrkLastnoService wrkLastnoService;
+    private WrkMastLogService wrkMastLogService;
     @Autowired
-    private WrkChargeService wrkChargeService;
-
+    private WrkLastnoService wrkLastnoService;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -39,7 +40,7 @@
         int eNo = wrkLastno.getENo();
         workNo = workNo>=eNo ? sNo : workNo+1;
         while (true) {
-            WrkMast wrkMast = wrkMastService.selectById(workNo);
+            WrkMast wrkMast = wrkMastService.selectByWorkNo(workNo);
             if (null != wrkMast) {
                 workNo = workNo>=eNo ? sNo : workNo+1;
             } else {
@@ -55,42 +56,8 @@
         if (workNo == 0) {
             throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
         } else {
-            if (wrkMastService.selectById(workNo)!=null) {
+            if (wrkMastService.selectByWorkNo(workNo)!=null) {
                 throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪");
-            }
-        }
-        return workNo;
-    }
-
-    public int getChargeWorkNo(Integer wrkMk) {
-        WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
-        if (Cools.isEmpty(wrkLastno)) {
-            throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
-        }
-
-        int workNo = wrkLastno.getWrkNo();
-        int sNo = wrkLastno.getSNo();
-        int eNo = wrkLastno.getENo();
-        workNo = workNo>=eNo ? sNo : workNo+1;
-        while (true) {
-            WrkCharge wrkCharge = wrkChargeService.selectById(workNo);
-            if (null != wrkCharge) {
-                workNo = workNo>=eNo ? sNo : workNo+1;
-            } else {
-                break;
-            }
-        }
-        // 淇敼搴忓彿璁板綍
-        if (workNo > 0){
-            wrkLastno.setWrkNo(workNo);
-            wrkLastnoService.updateById(wrkLastno);
-        }
-        // 妫�楠�
-        if (workNo == 0) {
-            throw new CoolException("鐢熸垚鍏呯數宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
-        } else {
-            if (wrkChargeService.selectById(workNo)!=null) {
-                throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ厖鐢靛伐浣滄。涓凡瀛樺湪");
             }
         }
         return workNo;
@@ -110,4 +77,38 @@
         }
     }
 
+    public boolean completeTask(CompleteTaskParam param) {
+        Integer wrkNo = param.getWrkNo();
+        WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+        if (null == wrkMast) {
+            throw new CoolException("浠诲姟涓嶅瓨鍦�");
+        }
+
+        if (wrkMast.getIoType() == WrkIoType.IN.id) {
+            wrkMast.setWrkSts(WrkStsType.COMPLETE_INBOUND.sts);
+        }else if (wrkMast.getIoType() == WrkIoType.OUT.id) {
+            wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);
+        } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_MOVE.id) {
+            wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
+        } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_CHARGE.id) {
+            wrkMast.setWrkSts(WrkStsType.COMPLETE_CHARGE.sts);
+        }
+
+        wrkMast.setModiTime(new Date());
+        wrkMastService.updateById(wrkMast);
+        return true;
+    }
+
+    public boolean cancelTask(CancelTaskParam param) {
+        Integer wrkNo = param.getWrkNo();
+        WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+        if (null == wrkMast) {
+            throw new CoolException("浠诲姟涓嶅瓨鍦�");
+        }
+
+        wrkMastLogService.save(wrkNo);
+        wrkMastService.deleteById(wrkNo);
+        return true;
+    }
+
 }

--
Gitblit v1.9.1