From c2116cdee584c009b7ffb1c89b062e35873b8885 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 17 十月 2024 13:48:55 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   86 ++++++++++++++++++++++++++++++------------
 1 files changed, 61 insertions(+), 25 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 8ccdcaa..a03ebb5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,54 +1,90 @@
 package com.zy.asrs.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.core.common.Cools;
+import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.utils.Utils;
+import com.zy.core.DevpThread;
+import com.zy.core.News;
+import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.*;
 import com.zy.core.model.DevpSlave;
+import com.zy.core.model.RgvSlave;
+import com.zy.core.model.SteSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.SteCommand;
+import com.zy.core.model.protocol.RgvProtocol;
 import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.model.protocol.SteProtocol;
 import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.BarcodeThread;
-import com.zy.core.thread.DevpThread;
+import com.zy.core.thread.RgvThread;
+import com.zy.core.thread.SiemensDevpThread;
+import com.zy.core.thread.SteThread;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
+import java.util.Map;
+
 /**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
  * Created by vincent on 2020/8/6
  */
+@Slf4j
 @Service("mainService")
+@Transactional
 public class MainServiceImpl {
 
     @Autowired
     private SlaveProperties slaveProperties;
+    @Autowired
+    private BasDevpService basDevpService;
+    @Autowired
+    private BasRgvServiceImpl basRgvService;
 
     /**
-     * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵��1
+     * 绔欑偣浠诲姟妫�娴�  涓嬪彂灏忚溅鍙栨斁浠诲姟
      */
-    @Transactional
-    public void generateStoreWrkFile() {
-        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+    public synchronized void DevpTaskNoRun() {
         for (DevpSlave devp : slaveProperties.getDevp()) {
-            // 閬嶅巻鍏ュ簱鍙�
-            for (DevpSlave.InSta inSta : devp.getInSta()) {
-                // 鑾峰彇鏉$爜
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
-                String barcode = barcodeThread.getBarcode();
-                // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
-                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInreq1()
-                        && !staProtocol.isEmptyMk() && staProtocol.isInreq1() && staProtocol.getWorkNO() ==0
-                        && !Cools.isEmpty(barcode)) {
-                    // 鐢熸垚宸ヤ綔妗�
-
+            // 閬嶅巻绌烘澘鍏ュ簱鍙�
+            for (DevpSlave.Sta sta : devp.getInSta()) {
+                // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
                 }
-
-
             }
-
         }
-
     }
 
+    public synchronized void loopSteCharge() {
+        for (RgvSlave rgv : slaveProperties.getRgv()) {
+            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+            BasRgv basRgv = basRgvService.selectById(rgv.getId());
+            if (Cools.isEmpty(rgvProtocol, basRgv)) { continue; }
+            try {
+                // 鍦ㄧ嚎 绌洪棽   鏃犱綔涓氭爣璁�   涓嶅湪鍏呯數
+                if (rgvProtocol.getMode() == 0
+                        || !rgvProtocol.statusType.equals(RgvStatusType.IDLE)
+                        || basRgv.getPakMk().equals("Y")
+//                        || steProtocol.getChargeStatus() == 1
+                ) {
+                    continue;
+                }
+            } catch (Exception e) {
+                News.error("fail", e);
+            }
+        }
+    }
 }

--
Gitblit v1.9.1