| | |
| | | locDtos.add(locDto); |
| | | } |
| | | } |
| | | |
| | | // 重新计算出库站点,可能存在一个托盘多条明细,多条明细统计下来可全板出库,但实际给出的站点只能拣选出库 |
| | | HashMap<String, Double> locAnfmeMap = new HashMap<>(); |
| | | for (LocDto locDto : locDtos) { |
| | | if(locAnfmeMap.containsKey(locDto.getLocNo())) { |
| | | Double anfme = locAnfmeMap.get(locDto.getLocNo()); |
| | | BigDecimal decimal = BigDecimal.valueOf(locDto.getAnfme()).add(BigDecimal.valueOf(anfme)); |
| | | locAnfmeMap.put(locDto.getLocNo(), decimal.doubleValue()); |
| | | }else { |
| | | locAnfmeMap.put(locDto.getLocNo(), locDto.getAnfme()); |
| | | } |
| | | } |
| | | |
| | | HashMap<String, List<Integer>> locStaNosMap = new HashMap<>(); |
| | | for (Map.Entry<String, Double> entry : locAnfmeMap.entrySet()) { |
| | | String locNo = entry.getKey(); |
| | | Double realAnfme = entry.getValue(); |
| | | |
| | | double stockAnfme = 0D; |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo)); |
| | | for (LocDetl locDetl : locDetls) { |
| | | BigDecimal decimal = BigDecimal.valueOf(stockAnfme).add(BigDecimal.valueOf(locDetl.getAnfme())); |
| | | stockAnfme = decimal.doubleValue(); |
| | | } |
| | | |
| | | int ioType = 103; |
| | | if(stockAnfme == realAnfme) { |
| | | ioType = 101; |
| | | } |
| | | |
| | | List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locNo, ioType); |
| | | locStaNosMap.put(locNo, staNos); |
| | | } |
| | | |
| | | for (LocDto locDto : locDtos) { |
| | | List<Integer> staNos = locStaNosMap.get(locDto.getLocNo()); |
| | | locDto.setStaNos(staNos); |
| | | } |
| | | } |
| | | |
| | | return R.ok().add(locDtos); |
| | | } |
| | | |