自动化立体仓库 - WMS系统
#1
lsh
1 天以前 e128bbc4a9df1491257320884169ba813d461f63
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -13,6 +13,7 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -41,11 +42,12 @@
    public static final List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{
        add(101);add(102);add(104);add(105);add(107);add(108);add(110);add(111);add(113);add(114);add(116);add(117);
        add(101);add(102);add(104);add(105);add(107);add(108);add(110);add(111);add(113);add(114);
    }};
//        add(116);add(117);
    public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{
        add(118);add(119);add(120);add(121);
        add(118);add(120);add(121);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
@@ -55,17 +57,34 @@
        add(118);add(120);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_FOUR  = new ArrayList<Integer>() {{
        add(119);add(121);
        add(121);add(118);
    }};
    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
        add(118);add(119);add(120);add(121);add(122);add(123);
        add(118);add(120);add(121);add(122);add(123);add(1907);
    }};
//    add(171);
    @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()!=2){
            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")){
@@ -79,7 +98,7 @@
                        continue;
                    }
                    if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){
                        if (!wrkMast.getStaNo().equals(122)){
                        if (!wrkMast.getStaNo().equals(122) && !wrkMast.getStaNo().equals(1901)){
                            continue;
                        }
                    }
@@ -89,13 +108,14 @@
                    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:取放
                            if (result.getCode()==200){
                                continue;
                            }else {
                            } else {
                                System.out.println(staNo+"失败!");
                            }
                        } else {
@@ -121,9 +141,14 @@
                    if (Cools.isEmpty(wrkMast)){
                        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);
@@ -138,15 +163,31 @@
                    }
                }
            }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()!=2){
            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});
            }
            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")){
@@ -227,7 +268,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")){
@@ -351,4 +392,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;
        }
    }
}