From 0c6a4102012ca052915af778b563670252399ce2 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 30 七月 2025 09:53:39 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java b/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
index 06f07dd..eff1591 100644
--- a/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
@@ -1,11 +1,21 @@
 package com.zy.asrs.task;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.ReportToDismantleTheStackHandler;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.thread.SiemensDevpThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import java.util.*;
 
 /**
  * Created by Monkey D. Luffy on 2023.07.25
@@ -18,10 +28,36 @@
     @Autowired
     private ReportToDismantleTheStackHandler reportToDismantleTheStackHandler;
 
+    @Autowired
+    private WrkMastService wrkMastService;
     @Scheduled(cron = "0/1 * * * * ? ")
     private void execute(){//鎷嗗灈淇℃伅涓婁紶
         int[] staNos =new int[]{118,120,121};
-        for (int staNo : staNos){
+        List<Integer> integersStaArr = new ArrayList<>();
+        List<Long[]> stalistArr = new ArrayList<>();
+        for(Integer staNo : staNos){
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            StaProtocol staProtocol = devpThread.getStation().get(staNo);
+            if (staProtocol == null || !staProtocol.isAutoing() || staProtocol.getWorkNo()==0) {
+                continue;
+            }
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()));
+            if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("0")){
+                continue;
+            }
+            Date modiTime = wrkMast.getModiTime();
+            stalistArr.add(new Long[]{staNo.longValue(), modiTime.getTime()});
+        }
+        if (!stalistArr.isEmpty()){
+//            Collections.sort(stalistArr, (a, b) -> a[1] - b[1]);  // 闄嶅簭鎺掑垪
+            if (stalistArr.size()>1){
+                Collections.sort(stalistArr, Comparator.comparingLong(arr -> arr[1]));
+            }
+            for (Long[] staNowArr : stalistArr){
+                integersStaArr.add(staNowArr[0].intValue());
+            }
+        }
+        for (int staNo : integersStaArr){
             try{
                 ReturnT<String> result = reportToDismantleTheStackHandler.start2(staNo);
                 if (result.getCode()==200){

--
Gitblit v1.9.1