自动化立体仓库 - WMS系统
#
zjj
2024-11-21 fa7e3a2b324a5c57e332771c33d4daee28674740
#
1个文件已修改
41 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OutController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java
@@ -70,22 +70,8 @@
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued <= 0.0D) { continue; }
            List<LocDetl> locDetls = new ArrayList<>();
            switch (RoleUtils.outRole(getUserId())) {
                case "stacker_hangar":
                    locDetls = locDetlService.queryStockCrn(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
                    break;
                case "four_directional_library":
                    locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
                    break;
                case "ctu_library":
                    locDetls = locDetlService.queryStockMinAnfme(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
                    break;
                case "all":
                    locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
                    break;
            }
            locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
            for (LocDetl locDetl : locDetls) {
                    if (RoleUtils.outRole(getUserId()).equals("four_directional_library")){
                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
                        List<LocMast> locMasts = new ArrayList<>();
                        if (locMast.getBay1() >=1 && locMast.getBay1()<=2){
@@ -113,7 +99,6 @@
                                        .eq("loc_No", locMast1.getLocNo())
                                        .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch()));
                                if (!Cools.isEmpty(locDetl1)) {
                                    if (exist.add(locDetl.getLocNo())){
                                        if (issued > 0) {
                                            LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                                                    issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
@@ -132,33 +117,13 @@
                                        }else {
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }else {
                        if (issued > 0) {
                            LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                                    issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                            List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                            List<LocDto.staListDto> maps = new ArrayList<>();
                            for (Integer staNo : staNos) {
                                LocDto.staListDto staListDto = new LocDto.staListDto();
                                staListDto.setStaNo(staNo);
                                staListDto.setStaName(Utils.getStaName(staNo));
                                maps.add(staListDto);
                            }
                            locDto.setStaNos(maps);
                            locDtos.add(locDto);
//                            exist.add(locDetl.getLocNo());
                            // 剩余待出数量递减
                            issued = issued - locDetl.getAnfme();
                        }else {
                            break;
                        }
                    }
            }