From 7d7a2c1b4a8f4c0ce412916cf8acba3510e3ba05 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 08 十二月 2025 17:21:48 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java            |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |   44 +++++++++++++++++++++-
 src/main/java/com/zy/asrs/service/TaskWrkService.java          |    3 +
 src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java |    9 +++-
 src/main/java/com/zy/core/MainProcess.java                     |    2 +
 src/main/resources/mapper/TaskWrkMapper.xml                    |    6 +++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java        |    2 
 7 files changed, 61 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
index 555b2e6..4271fca 100644
--- a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
@@ -9,4 +9,5 @@
 @Repository
 public interface TaskWrkMapper extends BaseMapper<TaskWrk> {
     TaskWrk selectByWrkNo(Integer wrkNo);
+    TaskWrk selectByTaskNo(Integer taskNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/TaskWrkService.java b/src/main/java/com/zy/asrs/service/TaskWrkService.java
index 51c9b98..06197f1 100644
--- a/src/main/java/com/zy/asrs/service/TaskWrkService.java
+++ b/src/main/java/com/zy/asrs/service/TaskWrkService.java
@@ -8,6 +8,7 @@
 
 public interface TaskWrkService extends IService<TaskWrk> {
 
-    TaskWrk selectByWrkNo(Integer wrkNo);
+//    TaskWrk selectByWrkNo(Integer wrkNo);
+    TaskWrk selectByTaskNo(Integer taskNo);
 
 }
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 8c6dc95..eca924f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1242,6 +1242,20 @@
 
     /////////////////////////////////////RGV璋冨害/////////////////////////////////////
 
+    public synchronized void taskCreate() {
+        for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
+            try {
+                for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) {
+                    boolean create = deviceDetectionCreate(inSta);
+                    if (create) {
+                        continue;
+                    }
+                }
+            } catch (Exception e){
+
+            }
+        }
+    }
     public synchronized void taskStart() {
         for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
             try {
@@ -1724,6 +1738,32 @@
         return true;
     }
 
+    public boolean deviceDetectionCreate(RgvSlave.RgvStn inSta) {
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId());
+        StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+        if (staProtocol == null) {
+            return false;
+        }
+        // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+        if (staProtocol.isAutoing()
+//                && staProtocol.isLoading()
+//                && staProtocol.isStaOk()
+                && staProtocol.getWorkNo() != 0) {
+            TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
+            if (Cools.isEmpty(taskWrk)){
+                if (inSta.getStaNo()==117 || inSta.getStaNo()==120 || inSta.getStaNo()==123
+                        || inSta.getStaNo()==217 || inSta.getStaNo()==220 || inSta.getStaNo()==223){
+                    WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+                    if (!Cools.isEmpty(wrkMast) && wrkMast.getIoType()<100){
+                        return true;
+                    }
+                } else {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
     public TaskWrk deviceDetection(RgvSlave.RgvStn inSta) {
 
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId());
@@ -1741,7 +1781,7 @@
 //                && staProtocol.isLoading()
 //                && staProtocol.isStaOk()
                 && staProtocol.getWorkNo() != 0) {
-            TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo());
+            TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
             if (taskWrk != null) {
                 Integer stano = staProtocol.getStaNo().intValue();
                 if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){
@@ -1859,7 +1899,7 @@
                 // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
                 if (staProtocolOther.isAutoing()
                         && staProtocolOther.getWorkNo() != 0) {
-                    TaskWrk taskWrkOther = taskWrkService.selectByWrkNo(staProtocolOther.getWorkNo());
+                    TaskWrk taskWrkOther = taskWrkService.selectByTaskNo(staProtocolOther.getWorkNo());
                     if (taskWrkOther != null) {
                         return taskWrkOther;
                     }
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
index e8854d7..e4407e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -9,8 +9,13 @@
 @Service("taskWrkService")
 public class TaskWrkServiceImpl extends ServiceImpl<TaskWrkMapper, TaskWrk> implements TaskWrkService {
 
+//    @Override
+//    public TaskWrk selectByWrkNo(Integer wrkNo) {
+//        return this.baseMapper.selectByWrkNo(wrkNo);
+//    }
+
     @Override
-    public TaskWrk selectByWrkNo(Integer wrkNo) {
-        return this.baseMapper.selectByWrkNo(wrkNo);
+    public TaskWrk selectByTaskNo(Integer taskNo) {
+        return this.baseMapper.selectByTaskNo(taskNo);
     }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 607e8bf..e974d59 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -88,6 +88,8 @@
                 if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
                     continue;
                 }
+                // 浠诲姟鐢熸垚
+                mainService.taskCreate();
                 // 浠诲姟涓嬪彂
                 mainService.taskStart();
 
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 52374e0..917d3da 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -543,7 +543,7 @@
 
             //鏇存柊浠诲姟姝ュ簭
             TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
-            TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo());
+            TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
             if (taskWrk != null) {
                 taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
                 taskWrkService.updateById(taskWrk);
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 585bc90..6c9dc99 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -36,4 +36,10 @@
           and "wrk_no" = #{wrkNo}
     </select>
 
+    <select id="selectByTaskNo" resultMap="BaseResultMap">
+        select top 1 * from wcs_task_wrk
+        where 1=1
+          and "task_no" = #{taskNo}
+    </select>
+
 </mapper>

--
Gitblit v1.9.1