From ccab5f516f055c5e8d8015442d9860a18072f508 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 06 五月 2026 13:56:48 +0800
Subject: [PATCH] #跑库功能V3.0.1.9

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

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 2870463..a842401 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -415,6 +415,86 @@
         return true;
     }
 
+    //绉诲簱浠诲姟锛堣繑鍥濿rkMast锛屼緵璺戝簱绛夊満鏅幏鍙栧伐浣滃彿锛�
+    public WrkMast createLocMoveTaskReturnMast(CreateLocMoveTaskParam param) {
+        Date now = new Date();
+        LocMast sourceLocMast = locMastService.queryByLoc(param.getSourceLocNo());
+        if (null == sourceLocMast) {
+            throw new CoolException(param.getSourceLocNo() + "婧愬簱浣嶄笉瀛樺湪");
+        }
+
+        if (!sourceLocMast.getLocSts().equals("F")) {
+            throw new CoolException(sourceLocMast.getLocNo() + "婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
+        }
+
+        LocMast locMast = locMastService.queryByLoc(param.getLocNo());
+        if (null == locMast) {
+            throw new CoolException(param.getLocNo() + "鐩爣搴撲綅涓嶅瓨鍦�");
+        }
+
+        if (!locMast.getLocSts().equals("O")) {
+            throw new CoolException(locMast.getLocNo() + "鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�");
+        }
+
+        double ioPri = 800D;
+        if (param.getTaskPri() != null) {
+            ioPri = param.getTaskPri().doubleValue();
+        }
+
+        FindCrnNoResult sourceCrnResult = this.findCrnNoByLocNo(sourceLocMast.getLocNo());
+        if (sourceCrnResult == null) {
+            throw new CoolException("鏈壘鍒板搴斿爢鍨涙満");
+        }
+
+        FindCrnNoResult targetCrnResult = this.findCrnNoByLocNo(locMast.getLocNo());
+        if (targetCrnResult == null) {
+            throw new CoolException("鏈壘鍒板搴斿爢鍨涙満");
+        }
+
+        if (!sourceCrnResult.getCrnNo().equals(targetCrnResult.getCrnNo())) {
+            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);
+        wrkMast.setIoType(WrkIoType.LOC_MOVE.id);
+        wrkMast.setIoPri(ioPri);
+        wrkMast.setSourceLocNo(param.getSourceLocNo());
+        wrkMast.setLocNo(param.getLocNo());
+        wrkMast.setWmsWrkNo(param.getTaskNo());
+        wrkMast.setBarcode(sourceLocMast.getBarcode());
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+
+        if (targetCrnResult.getCrnType().equals(SlaveType.Crn)) {
+            wrkMast.setCrnNo(targetCrnResult.getCrnNo());
+        } else if (targetCrnResult.getCrnType().equals(SlaveType.DualCrn)) {
+            wrkMast.setDualCrnNo(targetCrnResult.getCrnNo());
+        } else {
+            throw new CoolException("鏈煡璁惧绫诲瀷");
+        }
+
+        boolean res = wrkMastService.save(wrkMast);
+        if (!res) {
+            News.error("绉诲簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        wrkAnalysisService.initForTask(wrkMast);
+
+        sourceLocMast.setLocSts("R");
+        sourceLocMast.setModiTime(new Date());
+        locMastService.updateById(sourceLocMast);
+
+        locMast.setLocSts("S");
+        locMast.setModiTime(new Date());
+        locMastService.updateById(locMast);
+
+        return wrkMast;
+    }
+
     //鍏ュ簱浠诲姟
     public WrkMast createInTask(CreateInTaskParam param) {
         Date now = new Date();

--
Gitblit v1.9.1