*
lsh
2025-07-30 0c6a4102012ca052915af778b563670252399ce2
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
@@ -2,12 +2,14 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasDevpService;
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;
@@ -28,29 +30,29 @@
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private BasDevpService basDevpService;
    @Scheduled(cron = "0/1 * * * * ? ")
    private void execute(){//拆垛信息上传
        int[] staNos =new int[]{118,120,121};
        List<Integer> integersStaArr = new ArrayList<>();
        List<Long[]> stalistArr = new ArrayList<>();
        for(Integer staNo : staNos){
            BasDevp basDevp = basDevpService.selectById(staNo);
            if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()==0){
            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", basDevp.getWrkNo()));
            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() && stalistArr.size()>1){
        if (!stalistArr.isEmpty()){
//            Collections.sort(stalistArr, (a, b) -> a[1] - b[1]);  // 降序排列
            Collections.sort(stalistArr, Comparator.comparingLong(arr -> arr[1]));
            if (stalistArr.size()>1){
                Collections.sort(stalistArr, Comparator.comparingLong(arr -> arr[1]));
            }
            for (Long[] staNowArr : stalistArr){
                integersStaArr.add(staNowArr[0].intValue());
            }