自动化立体仓库 - WMS系统
lsh
昨天 a159d70468d238504a2d705b738ca59bff7e7392
src/main/java/com/zy/asrs/task/WrkMastStaInIt3Scheduler.java
@@ -13,6 +13,7 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -45,11 +46,11 @@
    }};
    public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{
        add(118);
        add(118);add(1901);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
        add(1901);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_THREE  = new ArrayList<Integer>() {{
        add(118);
@@ -59,13 +60,29 @@
    }};
    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
        add(118);add(122);
        add(118);add(122);add(1907);
    }};
    @Scheduled(cron = "0/3 * * * * ? ")
    @Scheduled(cron = "0/1 * * * * ? ")
    private void execute(){
        RgvOneSign rgvTwoSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","rgvTwo"));
        if (Cools.isEmpty(rgvTwoSign) || rgvTwoSign.getRgvOneSign()!=0){
            return;
        }
        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});
        }
        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")){
@@ -74,7 +91,7 @@
                        continue;
                    }
                    if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){
                        if (!wrkMast.getStaNo().equals(122)){
                        if (!wrkMast.getStaNo().equals(122) && !wrkMast.getStaNo().equals(1901)){
                            continue;
                        }
                    }
@@ -84,7 +101,8 @@
                    if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){
                        continue;
                    }
                    boolean wrkTypeSign = fullKM(wrkMast);
//                    boolean wrkTypeSign = fullKM(wrkMast);
                    boolean wrkTypeSign = true;
                    if (!Cools.isEmpty(wrkMast)){
                        if (wrkTypeSign) {
                            ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放
@@ -117,8 +135,14 @@
                        continue;
                    }
                    if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){
                        continue;
                    if (staNo==1907){
                        if (wrkMast.getWrkSts()!=2){
                            continue;
                        }
                    } else {
                        if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){
                            continue;
                        }
                    }
//                boolean wrkTypeSign = fullKM(wrkMast);
@@ -133,15 +157,34 @@
                    }
                }
            }catch (Exception e){
                log.error("自动补空板STA_WORK_RU处理失败,当前站点号:"+staNo+"异常信息"+e);
                log.error("STA_WORK_RU处理失败,当前站点号:"+staNo+"异常信息"+e);
            }
        }
    }
    @Scheduled(cron = "0/3 * * * * ? ")
    @Scheduled(cron = "0/1 * * * * ? ")
    private void execute2(){
        RgvOneSign rgvTwoSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","rgvTwo"));
        if (Cools.isEmpty(rgvTwoSign) || rgvTwoSign.getRgvOneSign()!=0){
            return;
        }
        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")){
@@ -171,8 +214,8 @@
                            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", basDevp.getWrkNo()));
                            if (basDevpEnd.getWrkNo()!=0 && basDevpEnd.getLoading().equals("Y")){
                                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;
                                }
@@ -231,6 +274,19 @@
                        if(Cools.isEmpty(wrkMast)){
                            continue;
                        }
                        if (wrkMast.getStaNo()==1901){
                            boolean sign1901 = false;
                            List<WrkDetl> wrkDetlList1901 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                            for (WrkDetl wrkDetl : wrkDetlList1901){
                                if (wrkDetl.getBrandArmType$()==999){
                                    sign1901 = true;
                                    break;
                                }
                            }
                            if (sign1901){
                                continue;
                            }
                        }
                        if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){
                            continue;
                        }
@@ -238,7 +294,10 @@
                            continue;
                        }
                        Integer wrkMastStaNo = wrkMast.getStaNo();
                        if (wrkMastStaNo<118 || wrkMastStaNo>121){
                        if (wrkMastStaNo==1901){
                            wrkMastStaNo = 122;
                        }
                        if ((wrkMastStaNo<118 || wrkMastStaNo>121) && wrkMastStaNo!=122){
                            continue;
                        }
                        String origin = null;
@@ -290,6 +349,9 @@
                                        }
                                    }
                                }
                                if (staNoOther==1901){
                                    staNoOther = 122;
                                }
                                int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther));
                                if (countOther!=0){
@@ -298,6 +360,9 @@
                                BasDevp basDevpOther = basDevpService.selectById(staNoOther);
                                if (!basDevpOther.getAutoing().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) {
                                    continue;
                                }
                                if (staNoOther==122){
                                    staNoOther = 1901;
                                }
                                wrkMast.setStaNo(staNoOther);
                                wrkMastService.updateById(wrkMast);
@@ -322,4 +387,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;
        }
    }
}