| | |
| | | |
| | | private Integer staNo; |
| | | |
| | | private String agvStaNo; |
| | | |
| | | private List<LocDto> locDtos; |
| | | |
| | | { |
| | |
| | | this.locDtos.add(locDto); |
| | | } |
| | | |
| | | public TaskDto(String locNo, String agvStaNo, LocDto locDto) { |
| | | this.locNo = locNo; |
| | | this.agvStaNo = agvStaNo; |
| | | this.locDtos.add(locDto); |
| | | } |
| | | |
| | | public TaskDto(String locNo, Integer staNo, List<LocDto> locDtos) { |
| | | this.locNo = locNo; |
| | | this.staNo = staNo; |
| | |
| | | return false; |
| | | } |
| | | for (TaskDto taskDto : list) { |
| | | if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){ |
| | | return true; |
| | | } |
| | | if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) { |
| | | return true; |
| | | } |
| | |
| | | return null; |
| | | } |
| | | for (TaskDto taskDto : list) { |
| | | if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){ |
| | | return taskDto; |
| | | } |
| | | if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) { |
| | | return taskDto; |
| | | } |
| | |
| | | } |
| | | |
| | | public boolean isAll(){ |
| | | // 汇总不考虑批号 |
| | | // 汇总不考虑序列码 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | for (LocDto locDto : this.getLocDtos()) { |
| | | DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme()); |
| | | DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(), locDto.getCsocode(), locDto.getIsoseq(),locDto.getContainerCode()); |
| | | //dto.setContainerCode(locDto.getContainerCode()); |
| | | if (DetlDto.has(detlDtos, dto)) { |
| | | DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch()); |
| | | DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),dto.getContainerCode()); |
| | | assert detlDto != null; |
| | | detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme()); |
| | | } else { |
| | | detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme())); |
| | | detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq(),locDto.getContainerCode())); |
| | | } |
| | | } |
| | | |
| | |
| | | if (!dto.getMatnr().equals(locDetl.getMatnr())) { |
| | | continue; |
| | | } |
| | | if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { |
| | | if(!Cools.eq(dto.getBatch(),locDetl.getBatch())){ |
| | | continue; |
| | | } |
| | | if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) { |
| | | if(!Cools.eq(dto.getCsocode(),locDetl.getThreeCode())){ |
| | | continue; |
| | | } |
| | | if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { |
| | | if (!dto.getBatch().equals(locDetl.getBatch())) { |
| | | continue; |
| | | } |
| | | if(!Cools.eq(dto.getIsoseq(),locDetl.getDeadTime())){ |
| | | continue; |
| | | } |
| | | if(!Cools.eq(dto.getContainerCode(),locDetl.getSuppCode())){ |
| | | continue; |
| | | } |
| | | // if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { |
| | | // continue; |
| | | // } |
| | | // if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) { |
| | | // continue; |
| | | // } |
| | | // if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { |
| | | // if (!dto.getBatch().equals(locDetl.getBatch())) { |
| | | // continue; |
| | | // } |
| | | // } |
| | | // if (!Cools.isEmpty(dto.getContainerCode()) && !Cools.isEmpty(locDetl.getSuppCode())) { |
| | | // if (!dto.getContainerCode().equals(locDetl.getSuppCode())) { |
| | | // continue; |
| | | // } |
| | | // } |
| | | if (dto.getAnfme() > locDetl.getAnfme()) { |
| | | throw new CoolException("服务器内部错误"); |
| | | } |
| | |
| | | return sameNumber == locDetls.size(); |
| | | } |
| | | |
| | | public void sortLocDtos() { |
| | | ArrayList<LocDto> list = new ArrayList<>(); |
| | | String orderNo = ""; |
| | | for (LocDto locDto : locDtos) { |
| | | if (!Cools.isEmpty(locDto.getOrderNo())) { |
| | | orderNo = locDto.getOrderNo(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_no", locNo); |
| | | LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); |
| | | List<LocDetl> locDetls = locDetlService.selectList(wrapper); |
| | | for (LocDetl locDetl : locDetls) { |
| | | boolean flag = true; |
| | | for (LocDto locDto : locDtos) { |
| | | if (!Cools.isEmpty(locDetl.getMatnr())) { |
| | | if (!locDetl.getMatnr().equals(locDto.getMatnr())) { |
| | | continue; |
| | | } |
| | | } |
| | | if (!Cools.isEmpty(locDetl.getBatch())) { |
| | | if (!locDetl.getBatch().equals(locDto.getBatch())) { |
| | | continue; |
| | | } |
| | | } |
| | | if (!Cools.isEmpty(locDetl.getSuppCode())) { |
| | | if (!locDetl.getSuppCode().equals(locDto.getContainerCode())) { |
| | | continue; |
| | | } |
| | | } |
| | | locDto.setStock(locDetl.getAnfme()); |
| | | flag = false; |
| | | break; |
| | | } |
| | | |
| | | if (flag) { |
| | | LocDto dto = new LocDto(locNo, locDetl.getMatnr(), locDetl.getBatch(), 0D); |
| | | dto.setContainerCode(locDetl.getSuppCode()); |
| | | dto.setStock(locDetl.getAnfme()); |
| | | list.add(dto); |
| | | } |
| | | } |
| | | |
| | | locDtos.addAll(list); |
| | | } |
| | | |
| | | } |