| | |
| | | import com.core.common.BaseRes; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.LocMast; |
| | |
| | | List<LocDetl> locDetls = new ArrayList<>(); |
| | | locDetls = locDetlService.queryStockCrn(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); |
| | | for (LocDetl locDetl : locDetls) { |
| | | List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_No", locDetl.getLocNo())); |
| | | |
| | | if (issued > 0) { |
| | | ExistDto existDto = new ExistDto(); |
| | | existDto.setLocNo(locDetl.getLocNo()); |
| | |
| | | if (existDtos.add(existDto)) { |
| | | 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() && locDetlList.size() ==1? 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); |
| | | // 剩余待出数量递减 |
| | | issued = issued - locDetl.getAnfme(); |
| | |
| | | break; |
| | | } |
| | | } |
| | | for (LocDto locDto : locDtos){ |
| | | List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDto.getLocNo(),Judge101or103(locDto,locDtos)? 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); |
| | | } |
| | | if (issued > 0) { |
| | | LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); |
| | | locDto.setLack(Boolean.TRUE); |
| | |
| | | } |
| | | return R.ok().add(locDtos); |
| | | } |
| | | public boolean Judge101or103(LocDto locDto,List<LocDto> locDtos){ |
| | | List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_No", locDto.getLocNo())); |
| | | List<LocDto> dtos = locDtos.stream().filter(item -> !Cools.isEmpty(item.getLocNo()) && item.getLocNo().equals(locDto.getLocNo())).collect(Collectors.toList()); |
| | | if (locDetlList.size() != dtos.size()){ |
| | | return false; |
| | | } |
| | | boolean is = true; |
| | | for (LocDto locDto1 :dtos){ |
| | | List<LocDetl> list = locDetlList.stream().filter(item -> item.getLocNo().equals(locDto1.getLocNo()) && item.getBatch().equals(locDto1.getBatch())).collect(Collectors.toList()); |
| | | if (list.size() != 1){ |
| | | throw new CoolException("判断站点数据错误"); |
| | | } |
| | | if (!locDto1.getAnfme().equals(list.get(0).getAnfme())){ |
| | | is = false; |
| | | } |
| | | |
| | | } |
| | | return is; |
| | | } |
| | | |
| | | |
| | | |