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