From 29fc12b38133fd1361dd4d368b29719c2bfca161 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期五, 08 三月 2024 15:38:37 +0800 Subject: [PATCH] 修复入库产生重复工作档 --- src/main/java/com/zy/common/model/TaskDto.java | 100 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 90 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java index 63ea7b4..142c311 100644 --- a/src/main/java/com/zy/common/model/TaskDto.java +++ b/src/main/java/com/zy/common/model/TaskDto.java @@ -20,6 +20,8 @@ private Integer staNo; + private String agvStaNo; + private List<LocDto> locDtos; { @@ -37,6 +39,12 @@ 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; @@ -48,6 +56,9 @@ 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; } @@ -60,6 +71,9 @@ 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; } @@ -68,16 +82,17 @@ } 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())); } } @@ -95,17 +110,34 @@ 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); } @@ -119,4 +151,52 @@ 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); + } + } -- Gitblit v1.9.1