From 4e1a8e484888b3d3f28dc9629904e6e54d90ebc5 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 28 七月 2023 16:26:40 +0800
Subject: [PATCH] 穿梭车命令封装

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

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index f568cb7..4fec9b9 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -13,6 +13,7 @@
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.Shelves;
 import com.zy.common.model.StartupDto;
+import com.zy.core.News;
 import com.zy.core.properties.SlaveProperties;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +48,9 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private LocDetlService locDetlService;
+    @Autowired
+    private WrkChargeService wrkChargeService;
+
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -81,6 +85,40 @@
         } else {
             if (wrkMastService.selectById(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;
@@ -240,7 +278,7 @@
                 .eq("crn_no", crnNo);
         StaDesc staDesc = staDescService.selectOne(wrapper);
         if (Cools.isEmpty(staDesc)) {
-            log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
+            News.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
             throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
         }
         BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
@@ -301,7 +339,7 @@
                 locTypeDto.setLocType1((short) 2);
                 return getLocNo(null, staDescId, sourceStaNo, matNos, locTypeDto, times);
             }
-            log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
+            News.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }
         String locNo = locMast.getLocNo();

--
Gitblit v1.9.1