From 896aea7374cf621a0e16b9c90eadff763cad7677 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期四, 05 六月 2025 10:53:29 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/model/TaskDto.java | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java index 0c467ff..2da937d 100644 --- a/src/main/java/com/zy/common/model/TaskDto.java +++ b/src/main/java/com/zy/common/model/TaskDto.java @@ -119,36 +119,59 @@ // } // return sameNumber == locDetls.size(); // } -public boolean isAll(){ +public boolean isAll() { + // 娣辨嫹璐濓紝闃叉鍘熼泦鍚堣淇敼 List<LocDetlDto> locDetlDtosCp = new ArrayList<>(this.locDetlDtos); - // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏 + + // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夊簱瀛樻槑缁� LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo)); - if (locDetls == null || locDetls.isEmpty()){ + List<LocDetl> locDetls = locDetlService.selectList( + new EntityWrapper<LocDetl>().eq("loc_no", this.locNo) + ); + + if (locDetls == null || locDetls.isEmpty()) { throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo); } + int sameNumber = 0; + for (LocDetl locDetl : locDetls) { + boolean matched = false; + + System.out.println("褰撳墠搴撳瓨鏄庣粏: matnr=" + locDetl.getMatnr() + ", batch=" + locDetl.getBatch() + ", anfme=" + locDetl.getAnfme()); + Iterator<LocDetlDto> iterator = locDetlDtosCp.iterator(); while (iterator.hasNext()) { - LocDetlDto next = iterator.next(); - if (!next.getLocDetl().getMatnr().equals(locDetl.getMatnr())) { - continue; + LocDetlDto dto = iterator.next(); + String dtoMatnr = dto.getLocDetl().getMatnr(); + String dtoBatch = dto.getLocDetl().getBatch(); + Double dtoCount = dto.getCount(); + + System.out.println("姣旇緝瀵硅薄: matnr=" + dtoMatnr + ", batch=" + dtoBatch + ", count=" + dtoCount); + + if (!dtoMatnr.equals(locDetl.getMatnr())) continue; + if (!Cools.eq(dtoBatch, locDetl.getBatch())) continue; + + if (dtoCount > locDetl.getAnfme()) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝鏁伴噺澶т簬搴撳瓨"); } - if (!Cools.eq(next.getLocDetl().getBatch(), locDetl.getBatch())) { - continue; - } - if (next.getCount() > locDetl.getAnfme()) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); - } - if (next.getCount().equals(locDetl.getAnfme())) { + + if (dtoCount.equals(locDetl.getAnfme())) { sameNumber++; + matched = true; iterator.remove(); + System.out.println("鍖归厤鎴愬姛骞剁Щ闄よ椤癸紝褰撳墠 sameNumber = " + sameNumber + "锛屽墿浣欏尮閰嶆暟: " + locDetlDtosCp.size()); break; } } + + if (!matched) { + System.out.println("鏈尮閰嶆垚鍔�: matnr=" + locDetl.getMatnr() + ", batch=" + locDetl.getBatch()); + } } + return sameNumber == locDetls.size(); } + } -- Gitblit v1.9.1