自动化立体仓库 - WMS系统
#
zjj
2024-08-26 112ac231c1e27d591aec0dc39f1337b4f1971847
src/main/java/com/zy/common/service/CommonService.java
@@ -851,16 +851,45 @@
                    .eq("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())
                    .orderBy("lev1",true).orderBy("bay1",true));//最浅库位
            for (LocMast locMast1 : locMasts) {
                if (locMast != null){
                    break;
                }
                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                    continue;
                }
                if (Utils.BooleanWhsTypeStaIoType(rowLastno)){
                    //获取目标库位所在巷道最深空库位
                    LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow,nearRow,locMast1,rowLastnoType.getType().longValue());
                    if (!Cools.isEmpty(locMast2) && locMast2.getBay1()==curRow) {
                        locMast = locMast2;
                        break;
//                    LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow,nearRow,locMast1,rowLastnoType.getType().longValue());
//                    if (!Cools.isEmpty(locMast2) && locMast2.getBay1()==curRow) {
//                        locMast = locMast2;
//                        break;
//                    }
                    List<LocMast> locMasts1 = null;
                    if (curRow < nearRow){
                        locMasts1 = locMastService.selectList(new EntityWrapper<LocMast>()
                                .eq("gro1", locMast1.getGro1())
                                .orderBy("row1",true));
                        if(locMasts1.size() == 3  || (curRow>20 && locMasts1.size() == 2)){
                            locMasts1 = locMastService.selectList(new EntityWrapper<LocMast>()
                                    .eq("gro1", locMast1.getGro1())
                                    .orderBy("row1",false));
                        }
                    }else {
                        locMasts1 = locMastService.selectList(new EntityWrapper<LocMast>()
                                .eq("gro1", locMast1.getGro1())
                                .orderBy("row1",false));
                    }
                    if (Cools.isEmpty(locMasts1)) {
                        continue;
                    }
                    for (LocMast locMastGro1 : locMasts1) {
                        if (locMastGro1.getLocSts().equals("O")){
                            locMast = locMastGro1;
                            break;
                        }
                    }
                }
            }