From a6f6f82ccb56c168ecd564eca377b41f25a901bb Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期一, 07 四月 2025 17:20:44 +0800
Subject: [PATCH] 还没有写完

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  122 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 111 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index c920776..aa40e13 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,13 +10,9 @@
 import com.zy.asrs.domain.param.CrnOperatorParam;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.wms.StorageEscalationParam;
-import com.zy.asrs.mapper.BasCrnErrorMapper;
-import com.zy.asrs.mapper.StaDescMapper;
-import com.zy.asrs.mapper.TaskWrkMapper;
-import com.zy.asrs.mapper.WrkMastMapper;
+import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
-import com.zy.common.service.CommonService;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
@@ -31,7 +27,6 @@
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.SiemensDevpThread;
-import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -69,6 +64,9 @@
     private BasCrnErrorMapper basCrnErrorMapper;
     @Autowired
     private TaskWrkMapper taskWrkMapper;
+
+    @Autowired
+    private DevpTaskMapper devpTaskMapper;
     @Autowired
     private TaskWrkService taskWrkService;
 
@@ -81,9 +79,6 @@
 
 
     @Autowired
-    private CommonService commonService;
-
-    @Autowired
     private ToWmsService toWmsService;
 
 
@@ -91,9 +86,9 @@
     private CrnController crnController;
 
     @Autowired
-    private ConfigService configService;
+    private TransferTaskService transferTaskService;
 
-    public void generateStoreWrkFile1() throws IOException, InterruptedException {
+    public void generateStoreWrkFile() throws IOException, InterruptedException {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -424,6 +419,15 @@
                     if (flag) {
                         LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
                                 .eq("row1", (locMast.getRow1() - 1))
+                                .eq("bay1", locMast.getBay1())
+                                .eq("lev1", locMast.getLev1()).eq("loc_sts", "F"));
+                        if (!Cools.isEmpty(locMast1)) {
+                            log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
+                            continue;
+                        }
+                    } else {
+                        LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
+                                .eq("row1", (locMast.getRow1() + 1))
                                 .eq("bay1", locMast.getBay1())
                                 .eq("lev1", locMast.getLev1()).eq("loc_sts", "F"));
                         if (!Cools.isEmpty(locMast1)) {
@@ -834,6 +838,9 @@
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
+                if (devp.getId() == 2){
+                    continue;
+                }
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 for (DevpSlave.Sta inSta : devp.getInSta()) {
                     WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta());
@@ -992,4 +999,97 @@
         }
     }
 
+
+    /**
+     * 璺戝簱绋嬪簭
+     */
+    public void debug() {
+        //棣栧厛搴撲綅鏈変竴涓湪搴撶殑搴撲綅
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F"));
+        if (locMast != null) {
+            // 鍐嶇敓鎴愪竴涓Щ搴撲换鍔�
+            LocMast mk = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O").ne("mk", 1));
+
+        }
+
+    }
+
+
+    /**
+     * 杞Щ浠诲姟涓嬪彂
+     */
+    public void transferTaskStart() {
+
+        for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) {
+            try {
+                // 鑾峰彇鍏ュ簱绔欎俊鎭�
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+                StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+                    // 鏌ヨ宸ヤ綔妗�
+                    TransferTask transferTask = transferTaskService.selectByStartPoint(sta.getStaNo());
+                    if (transferTask == null) {
+                        continue;
+                    }
+                    log.info("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛歵askWrk:" + JSON.toJSONString(transferTask));
+                    staProtocol.setWorkNo(transferTask.getWrkNo().shortValue());
+                    staProtocol.setStaNo(transferTask.getTargetPoint().shortValue());
+                    boolean offer = false;
+                    try {
+                        offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                    } catch (Exception e) {
+                        log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:" + e);
+                        log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:offer:" + offer);
+                    }
+                    if (offer) {
+                        log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(transferTask));
+                        transferTask.setStatus(2);
+                        transferTaskService.updateById(transferTask);
+                    } else {
+                        log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(transferTask));
+                    }
+                }
+            } catch (Exception e) {
+                log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e);
+            }
+        }
+
+    }
+
+    /**
+     * 杞Щ浠诲姟瀹屾垚
+     */
+    public void transferTaskEnd() {
+        for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) {
+            try {
+                // 鑾峰彇缁堢偣绔�
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+                StaProtocol staProtocol = devpThread.getStation().get(sta.getOverSta());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+                    // 鏌ヨ宸ヤ綔妗�
+                    TransferTask transferTask = transferTaskService.selectByEndPoint(sta.getStaNo());
+                    if (transferTask == null) {
+                        continue;
+                    }
+                    log.info("杞Щ浠诲姟瀹屾垚锛歵ransferTask:" + JSON.toJSONString(transferTask));
+                    transferTask.setStatus(5);
+                    transferTaskService.updateById(transferTask);
+                }
+            } catch (Exception e) {
+                log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e);
+            }
+        }
+
+    }
+
 }

--
Gitblit v1.9.1