From 314e894c0d6ce2739344dcd1c94ae7770868a0f1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 28 五月 2025 14:51:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   76 +++++++++++++++++++++++++++++++++-----
 1 files changed, 66 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 42cc7bb..fd01bf3 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -21,8 +21,6 @@
     @Autowired
     private WrkMastService wrkMastService;
     @Autowired
-    private WrkMastLogService wrkMastLogService;
-    @Autowired
     private WrkLastnoService wrkLastnoService;
     @Autowired
     private LocMastService locMastService;
@@ -65,6 +63,21 @@
         return workNo;
     }
 
+    //妫�娴嬪伐浣滃彿鏄惁鍦ㄦ寚瀹氱被鍨嬪伐浣滆寖鍥村唴
+    public synchronized boolean checkWorkNoContainMk(Integer workNo, Integer wrkMk) {
+        WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
+        if (Cools.isEmpty(wrkLastno)) {
+            throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+        }
+
+        int sNo = wrkLastno.getSNo();
+        int eNo = wrkLastno.getENo();
+        if (workNo >= sNo && workNo <= eNo) {
+            return true;
+        }
+        return false;
+    }
+
     public static String zerofill(String msg, Integer count) {
         if (msg.length() == count) {
             return msg;
@@ -94,6 +107,8 @@
             wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
         } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_CHARGE.id) {
             wrkMast.setWrkSts(WrkStsType.COMPLETE_CHARGE.sts);
+        } else if (wrkMast.getIoType() == WrkIoType.LOC_MOVE.id) {
+            wrkMast.setWrkSts(WrkStsType.COMPLETE_LOC_MOVE.sts);
         }
 
         wrkMast.setModiTime(new Date());
@@ -108,21 +123,36 @@
             throw new CoolException("浠诲姟涓嶅瓨鍦�");
         }
 
-        wrkMastLogService.save(wrkNo);
-        wrkMastService.deleteById(wrkNo);
+        wrkMast.setMk("taskCancel");
+        wrkMast.setModiTime(new Date());
+        wrkMastService.updateById(wrkMast);
         return true;
     }
 
     //绉诲簱浠诲姟
     public boolean createLocMoveTask(CreateLocMoveTaskParam param) {
         Date now = new Date();
-        LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo());
-        if (null == locMast) {
+        LocMast sourceLocMast = locMastService.queryByLoc(param.getSourceLocNo());
+        if (null == sourceLocMast) {
             throw new CoolException("婧愬簱浣嶄笉瀛樺湪");
         }
 
-        if (!locMast.getLocSts().equals("F")) {
+        if (!sourceLocMast.getLocSts().equals("F")) {
             throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
+        }
+
+        LocMast locMast = locMastService.queryByLoc(param.getLocNo());
+        if (null == locMast) {
+            throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦�");
+        }
+
+        if (!locMast.getLocSts().equals("O")) {
+            throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�");
+        }
+
+        double ioPri = 800D;
+        if (param.getTaskPri() != null) {
+            ioPri = param.getTaskPri().doubleValue();
         }
 
         // 鑾峰彇宸ヤ綔鍙�
@@ -133,7 +163,7 @@
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(WrkStsType.NEW_LOC_MOVE.sts); // 宸ヤ綔鐘舵�侊細501.鐢熸垚绉诲簱浠诲姟
         wrkMast.setIoType(WrkIoType.LOC_MOVE.id); // 鍏ュ嚭搴撶姸鎬侊細 201.绉诲簱浠诲姟
-        wrkMast.setIoPri(800D);
+        wrkMast.setIoPri(ioPri);
         wrkMast.setSourceLocNo(param.getSourceLocNo());
         wrkMast.setLocNo(param.getLocNo()); // 鐩爣搴撲綅
         wrkMast.setWmsWrkNo(param.getTaskNo());
@@ -144,6 +174,14 @@
             News.error("绉诲簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
+
+        sourceLocMast.setLocSts("R");
+        sourceLocMast.setModiTime(new Date());
+        locMastService.updateById(sourceLocMast);
+
+        locMast.setLocSts("S");
+        locMast.setModiTime(new Date());
+        locMastService.updateById(locMast);
 
         return true;
     }
@@ -160,6 +198,11 @@
             throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�");
         }
 
+        double ioPri = 100D;
+        if (param.getTaskPri() != null) {
+            ioPri = param.getTaskPri().doubleValue();
+        }
+
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = getWorkNo(WrkIoType.IN.id);
         // 淇濆瓨宸ヤ綔妗�
@@ -168,7 +211,7 @@
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(WrkStsType.NEW_INBOUND.sts); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱浠诲姟
         wrkMast.setIoType(WrkIoType.IN.id); // 鍏ュ嚭搴撶姸鎬侊細 1.鍏ュ簱
-        wrkMast.setIoPri(100D);
+        wrkMast.setIoPri(ioPri);
         wrkMast.setLocNo(param.getLocNo()); // 鐩爣搴撲綅
         wrkMast.setSourceStaNo(param.getSourceStaNo());//婧愮珯
         wrkMast.setStaNo(param.getStaNo());//鐩爣绔�
@@ -180,6 +223,10 @@
             News.error("鍏ュ簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
+
+        locMast.setLocSts("S");
+        locMast.setModiTime(new Date());
+        locMastService.updateById(locMast);
 
         return true;
     }
@@ -196,6 +243,11 @@
             throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
         }
 
+        double ioPri = 100D;
+        if (param.getTaskPri() != null) {
+            ioPri = param.getTaskPri().doubleValue();
+        }
+
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = getWorkNo(WrkIoType.OUT.id);
         // 淇濆瓨宸ヤ綔妗�
@@ -204,7 +256,7 @@
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(WrkStsType.NEW_OUTBOUND.sts); // 宸ヤ綔鐘舵�侊細101.鐢熸垚鍑哄簱浠诲姟
         wrkMast.setIoType(WrkIoType.OUT.id); // 鍏ュ嚭搴撶姸鎬侊細 101.鍑哄簱
-        wrkMast.setIoPri(100D);
+        wrkMast.setIoPri(ioPri);
         wrkMast.setSourceLocNo(param.getSourceLocNo()); // 婧愬簱浣�
         wrkMast.setStaNo(param.getStaNo());//鐩爣绔�
         wrkMast.setWmsWrkNo(param.getTaskNo());
@@ -216,6 +268,10 @@
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
 
+        locMast.setLocSts("R");
+        locMast.setModiTime(new Date());
+        locMastService.updateById(locMast);
+
         return true;
     }
 

--
Gitblit v1.9.1