自动化立体仓库 - WMS系统
LSH
2024-03-25 bcdcebacdd2b58397c5f00f28983ad36e67ce9fe
#for循环异常处理
3个文件已修改
313 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/WorkLogScheduler.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkMastScheduler.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java 254 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -36,8 +36,12 @@
            return;
        }
        for (WrkMast wrkMast : wrkMasts) {
            ReturnT<String> result = workLogHandler.start(wrkMast);
            if (!result.isSuccess()) {
            try{
                ReturnT<String> result = workLogHandler.start(wrkMast);
                if (!result.isSuccess()) {
                    log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo());
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo());
            }
        }
@@ -50,8 +54,12 @@
            return;
        }
        for (WrkMast wrkMast : wrkMasts) {
            wrkMast.setOveMk("Y");
            wrkMastService.updateById(wrkMast);
            try{
                wrkMast.setOveMk("Y");
                wrkMastService.updateById(wrkMast);
            }catch (Exception e){
                log.error("工作档[workNo={}]标记处理失败", wrkMast.getWrkNo());
            }
        }
    }
@@ -62,8 +70,12 @@
            return;
        }
        for (WrkMastSta wrkMastSta : wrkMastStaList) {
            ReturnT<String> result = workLogHandler.start(wrkMastSta);
            if (!result.isSuccess()) {
            try{
                ReturnT<String> result = workLogHandler.start(wrkMastSta);
                if (!result.isSuccess()) {
                    log.error("工作档[workNo={}]历史档处理失败", wrkMastSta.getWrkNo());
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]历史档处理失败", wrkMastSta.getWrkNo());
            }
        }
src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -39,19 +39,23 @@
            return;
        }
        for (WrkMast wrkMast : wrkMasts) {
            if (wrkMast.getIoType().equals(101)){
                if (Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("3")){
                    continue;
            try{
                if (wrkMast.getIoType().equals(101)){
                    if (Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("3")){
                        continue;
                    }
                }
            }
            ReturnT<String> returnT = workMastHandler.start(wrkMast);
            if (!returnT.isSuccess()) {
                wrkMast.setUpdMk("X");
                wrkMast.setErrorMemo(returnT.getMsg());
                wrkMast.setErrorTime(new Date());
                if (!wrkMastService.updateById(wrkMast)) {
                    log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo());
                ReturnT<String> returnT = workMastHandler.start(wrkMast);
                if (!returnT.isSuccess()) {
                    wrkMast.setUpdMk("X");
                    wrkMast.setErrorMemo(returnT.getMsg());
                    wrkMast.setErrorTime(new Date());
                    if (!wrkMastService.updateById(wrkMast)) {
                        log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo());
                    }
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]更新库存处理失败", wrkMast.getWrkNo());
            }
        }
    }
@@ -72,9 +76,14 @@
            return;
        }
        for (WrkMast wrkMast : wrkMasts) {
            wrkMast.setWrkSts(57L);
            if (!wrkMastService.updateById(wrkMast)) {
            try{
                wrkMast.setWrkSts(57L);
                if (!wrkMastService.updateById(wrkMast)) {
                    log.error("工作档[workNo={}]转完成处理失败", wrkMast.getWrkNo());
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]转完成处理失败", wrkMast.getWrkNo());
            }
        }
    }
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -134,154 +134,162 @@
    private void execute2(){
        try{
            for(Integer staNo : STA_WORK_CU){
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if(Cools.isEmpty(wrkMast)){
                        continue;
                    }
                    if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){
                        continue;
                    }
                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                        continue;
                    }
                    if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){
                        continue;
                    }
                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo()));
                    if (count!=0){
                        continue;
                    }
                    int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
                    if (countStart!=0){
                        continue;
                    }
                    BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
                    if (!basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
                        continue;
                    }
                    if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
                        if (rgvOneSign.getRgvOneSign()==1){
                try{
                    BasDevp basDevp = basDevpService.selectById(staNo);
                    if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                        if(Cools.isEmpty(wrkMast)){
                            continue;
                        }
                    }
                    if (wrkMast.getIoType()!=101){
                        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                        if (wrkDetls.size()!=0){
                            String origin = wrkDetls.get(0).getOrigin();
                            if (origin.equals("1")){
                                if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){
                                    continue;
                                }
                            }else {
                                if (!STA_WORK_CU_CAR_THREE.contains(wrkMast.getStaNo())){
                                    continue;
                                }
                            }
                        }else {
                            log.error("未查询到工作明细");
                        if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){
                            continue;
                        }
                    }
//
                    boolean wrkTypeSign = fullKM(wrkMast);
                    if (!Cools.isEmpty(wrkMast)){
                        if (wrkTypeSign) {
                            ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放
                            if (result.getCode()==200){
                        if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                            continue;
                        }
                        if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){
                            continue;
                        }
                        int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo()));
                        if (count!=0){
                            continue;
                        }
                        int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
                        if (countStart!=0){
                            continue;
                        }
                        BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
                        if (!basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
                            continue;
                        }
                        if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
                            RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
                            if (rgvOneSign.getRgvOneSign()==1){
                                continue;
                            }
                        }
                        if (wrkMast.getIoType()!=101){
                            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                            if (wrkDetls.size()!=0){
                                String origin = wrkDetls.get(0).getOrigin();
                                if (origin.equals("1")){
                                    if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){
                                        continue;
                                    }
                                }else {
                                    if (!STA_WORK_CU_CAR_THREE.contains(wrkMast.getStaNo())){
                                        continue;
                                    }
                                }
                            }else {
                                System.out.println(staNo+"失败!");
                                log.error("未查询到工作明细");
                                continue;
                            }
                        }
//
                        boolean wrkTypeSign = fullKM(wrkMast);
                        if (!Cools.isEmpty(wrkMast)){
                            if (wrkTypeSign) {
                                ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放
                                if (result.getCode()==200){
                                    continue;
                                }else {
                                    System.out.println(staNo+"失败!");
                                }
                            }
                        }
                    }
                }catch (Exception e){
                    log.error("STA_WORK_CU处理失败,当前站点号:"+staNo+"异常信息"+e);
                }
            }
            for(Integer staNo : STA_WORK_CU){
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                    List<Integer> STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR;
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if(Cools.isEmpty(wrkMast)){
                        continue;
                    }
                    if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){
                        continue;
                    }
                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                        continue;
                    }
                    Integer wrkMastStaNo = wrkMast.getStaNo();
                    if (wrkMastStaNo<118 || wrkMastStaNo>121){
                        continue;
                    }
                    String origin = null;
                    boolean sign = false;
                    if (wrkMast.getIoType()!=101){
                        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                        if (wrkDetls.size()!=0){
                            origin = wrkDetls.get(0).getOrigin();
                            if (origin.equals("1")){
                                if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){
                                    sign = true;
                                }
                            }else {
                                if (!STA_WORK_CU_CAR_THREE.contains(wrkMastStaNo)){
                                    sign = true;
                                }
                            }
                        }else {
                            log.error("未查询到工作明细");
                try{
                    BasDevp basDevp = basDevpService.selectById(staNo);
                    if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                        List<Integer> STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR;
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                        if(Cools.isEmpty(wrkMast)){
                            continue;
                        }
                    }
                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo));
                    if (count!=0){
                        continue;
                    }
                    int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
                    if (countStart!=0){
                        continue;
                    }
                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
                    if (rgvOneSign.getRgvOneSign()==1){
                        STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR_TWO;
                    }
                    BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo);
                    if (sign || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) {
                        for (Integer staNoOther : STA_WORK_CU_CAR_NOW) {
                            if (staNoOther.equals(wrkMastStaNo)) continue;
                            if (sign){
                        if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){
                            continue;
                        }
                        if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                            continue;
                        }
                        Integer wrkMastStaNo = wrkMast.getStaNo();
                        if (wrkMastStaNo<118 || wrkMastStaNo>121){
                            continue;
                        }
                        String origin = null;
                        boolean sign = false;
                        if (wrkMast.getIoType()!=101){
                            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                            if (wrkDetls.size()!=0){
                                origin = wrkDetls.get(0).getOrigin();
                                if (origin.equals("1")){
                                    if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){
                                        continue;
                                    if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){
                                        sign = true;
                                    }
                                }else {
                                    if (!STA_WORK_CU_CAR_THREE.contains(staNoOther)){
                                        continue;
                                    if (!STA_WORK_CU_CAR_THREE.contains(wrkMastStaNo)){
                                        sign = true;
                                    }
                                }
                            }else {
                                log.error("未查询到工作明细");
                                continue;
                            }
                        }
                        int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo));
                        if (count!=0){
                            continue;
                        }
                        int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
                        if (countStart!=0){
                            continue;
                        }
                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
                        if (rgvOneSign.getRgvOneSign()==1){
                            STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR_TWO;
                        }
                            int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther));
                            if (countOther!=0){
                                continue;
                        BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo);
                        if (sign || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) {
                            for (Integer staNoOther : STA_WORK_CU_CAR_NOW) {
                                if (staNoOther.equals(wrkMastStaNo)) continue;
                                if (sign){
                                    if (origin.equals("1")){
                                        if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){
                                            continue;
                                        }
                                    }else {
                                        if (!STA_WORK_CU_CAR_THREE.contains(staNoOther)){
                                            continue;
                                        }
                                    }
                                }
                                int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther));
                                if (countOther!=0){
                                    continue;
                                }
                                BasDevp basDevpOther = basDevpService.selectById(staNoOther);
                                if (!basDevpOther.getAutoing().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) {
                                    continue;
                                }
                                wrkMast.setStaNo(staNoOther);
                                wrkMastService.updateById(wrkMast);
                                log.info("工作号"+wrkMast.getWrkNo()+"修改目标站为:"+staNoOther+";原目标站为:"+wrkMastStaNo);
                                return;
                            }
                            BasDevp basDevpOther = basDevpService.selectById(staNoOther);
                            if (!basDevpOther.getAutoing().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) {
                                continue;
                            }
                            wrkMast.setStaNo(staNoOther);
                            wrkMastService.updateById(wrkMast);
                            log.info("工作号"+wrkMast.getWrkNo()+"修改目标站为:"+staNoOther+";原目标站为:"+wrkMastStaNo);
                            return;
                        }
                    }
                }catch (Exception e){
                    log.error("STA_WORK_CU处理失败,当前站点号:"+staNo+"异常信息"+e);
                }
            }
        }catch (Exception e){