自动化立体仓库 - WMS系统
*
L
6 天以前 e4a7d5239f176c5cf5ba95b52c88366908d2ecfa
src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
@@ -13,6 +13,7 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -60,13 +61,28 @@
    }};
    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
        add(120);add(121);add(122);add(123);
        add(120);add(121);add(122);add(123);add(171);
    }};
//    @Scheduled(cron = "0/3 * * * * ? ")
    @Scheduled(cron = "0/1 * * * * ? ")
    private void execute(){
        List<Integer> integersStaArr = new ArrayList<>();
        List<int[]> stalistArr = new ArrayList<>();
        for(Integer staNo : STA_WORK_CU){
            Integer crnNo = getCrnNo(staNo);
            int selectCount = wrkMastService.selectCount(
                    new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", 11L));
            stalistArr.add(new int[]{staNo, selectCount});
        }
// 按selectCount降序排序(最大的排第一位)
        Collections.sort(stalistArr, (a, b) -> b[1] - a[1]);  // 降序排列
// 如果您需要转为数组(可选)
        for (int[] staNowArr : stalistArr){
            integersStaArr.add(staNowArr[0]);
        }
        for(Integer staNo : integersStaArr){
            try{
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -139,10 +155,25 @@
        }
    }
//    @Scheduled(cron = "0/3 * * * * ? ")
    @Scheduled(cron = "0/1 * * * * ? ")
    private void execute2(){
        try{
            List<Integer> integersStaArr = new ArrayList<>();
            List<int[]> stalistArr = new ArrayList<>();
            for(Integer staNo : STA_WORK_CU){
                Integer crnNo = getCrnNo(staNo);
                int selectCount = wrkMastService.selectCount(
                        new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", 11L));
                stalistArr.add(new int[]{staNo, selectCount});
            }
// 按selectCount降序排序(最大的排第一位)
            Collections.sort(stalistArr, (a, b) -> b[1] - a[1]);  // 降序排列
// 如果您需要转为数组(可选)
            for (int[] staNowArr : stalistArr){
                integersStaArr.add(staNowArr[0]);
            }
            for(Integer staNo : integersStaArr){
                try{
                    BasDevp basDevp = basDevpService.selectById(staNo);
                    if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -168,8 +199,93 @@
                            continue;
                        }
                        BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
                        if (!basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
                        if (!basDevpEnd.getAutoing().equals("Y")){
                            continue;
                        }
                        if (basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
                            if (basDevpEnd.getWrkNo()!=0 && basDevpEnd.getLoading().equals("Y") && basDevpEnd.getReportSign()!=0){
                                WrkMast wrkMastEnd = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpEnd.getWrkNo()));
                                if (Cools.isEmpty(wrkMastEnd) || wrkMastEnd.getIoType()!=101 || Cools.isEmpty(wrkMastEnd.getSheetNo()) || wrkMastEnd.getSheetNo().equals("0")){
                                    continue;
                                }
                                if (wrkMast.getStaNo()==121){
                                    BasDevp basDevpEnd120 = basDevpService.selectById(120);
                                    if (Cools.isEmpty(basDevpEnd120)){
                                        continue;
                                    }
                                    if (basDevpEnd120.getAutoing().equals("Y")){
                                        if (basDevpEnd120.getLoading().equals("N")){
                                            boolean signQQ = false;
                                            for (Integer staNoQQ : STA_WORK_CU){
                                                BasDevp basDevpEndQQ = basDevpService.selectById(staNoQQ);
                                                if (!Cools.isEmpty(basDevpEndQQ) && basDevpEndQQ.getWrkNo()!=0){
                                                    WrkMast wrkMastEndQQ = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpEndQQ.getWrkNo()));
                                                    if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==101){
                                                        signQQ = true;
                                                        break;
                                                    }
                                                    if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==103){
                                                        List<WrkDetl> wrkDetlsQQ = wrkDetlService.selectByWrkNo(wrkMastEndQQ.getWrkNo());
                                                        for (WrkDetl wrkDetlQQ: wrkDetlsQQ){
                                                            String originQQ = wrkDetlQQ.getOrigin();
                                                            if (originQQ.equals("2")){
                                                                signQQ = true;
                                                                break;
                                                            }
                                                        }
                                                        if (signQQ){
                                                            break;
                                                        }
                                                    }
                                                }
                                            }
                                            if (signQQ){
                                                continue;
                                            }
                                        }
                                    }
                                }
                                if (wrkMast.getStaNo()==120){
                                    BasDevp basDevpEnd121 = basDevpService.selectById(121);
                                    if (Cools.isEmpty(basDevpEnd121)){
                                        continue;
                                    }
                                    if (basDevpEnd121.getAutoing().equals("Y")){
                                        if (basDevpEnd121.getLoading().equals("N")){
                                            boolean signQQ = false;
                                            for (Integer staNoQQ : STA_WORK_CU){
                                                BasDevp basDevpEndQQ = basDevpService.selectById(staNoQQ);
                                                if (!Cools.isEmpty(basDevpEndQQ) && basDevpEndQQ.getWrkNo()!=0){
                                                    WrkMast wrkMastEndQQ = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpEndQQ.getWrkNo()));
                                                    if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==101){
                                                        signQQ = true;
                                                        break;
                                                    }
                                                    if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==103){
                                                        List<WrkDetl> wrkDetlsQQ = wrkDetlService.selectByWrkNo(wrkMastEndQQ.getWrkNo());
                                                        for (WrkDetl wrkDetlQQ: wrkDetlsQQ){
                                                            String originQQ = wrkDetlQQ.getOrigin();
                                                            if (originQQ.equals("1")){
                                                                signQQ = true;
                                                                break;
                                                            }
                                                        }
                                                        if (signQQ){
                                                            break;
                                                        }
                                                    }
                                                }
                                            }
                                            if (signQQ){
                                                continue;
                                            }
                                        }
                                    }
                                }
                            } else {
                                continue;
                            }
                        }
                        if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
                            RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
@@ -213,7 +329,7 @@
                }
            }
            for(Integer staNo : STA_WORK_CU){
            for(Integer staNo : integersStaArr){
                try{
                    BasDevp basDevp = basDevpService.selectById(staNo);
                    if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -313,4 +429,35 @@
        return false;
    }
    public Integer getCrnNo(Integer staNo){
        switch (staNo){
            case 100:
            case 101:
            case 102:
                return 1;
            case 103:
            case 104:
            case 105:
                return 2;
            case 106:
            case 107:
            case 108:
                return 3;
            case 109:
            case 110:
            case 111:
                return 4;
            case 112:
            case 113:
            case 114:
                return 5;
            case 115:
            case 116:
            case 117:
                return 6;
            default:
                return 0;
        }
    }
}