From ab9e3b55225455a503d40aec1a603f355e208ea7 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 31 三月 2022 15:15:25 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 43 +++++++++++++++++-------------------------- 1 files changed, 17 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 504ea6b..a098b78 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -170,20 +170,22 @@ Date now = new Date(); // 鍚堝苟鍚岀被椤� Set<String> locNos = new HashSet<>(); - locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo())); List<OutLocDto> dtos = new ArrayList<>(); - for (String locNo : locNos) { - List<LocDetlDto> list = new ArrayList<>(); - Iterator<LocDetlDto> iterator = locDetlDtos.iterator(); - while (iterator.hasNext()) { - LocDetlDto dto = iterator.next(); - if (locNo.equals(dto.getLocDetl().getLocNo())) { - list.add(dto); - iterator.remove(); + for (LocDetlDto locDetlDto : locDetlDtos) { + String locNo = locDetlDto.getLocDetl().getLocNo(); + if (locNos.contains(locNo)) { + for (OutLocDto dto : dtos) { + if (dto.getLocNo().equals(locNo)) { + dto.getLocDetlDtos().add(locDetlDto); + break; + } } + } else { + locNos.add(locNo); + dtos.add(new OutLocDto(locNo, locDetlDto)); } - dtos.add(new OutLocDto(locNo, list)); } + // 鐢熸垚宸ヤ綔妗� for (OutLocDto dto : dtos) { // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱 @@ -193,14 +195,7 @@ // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(dto.getLocNo()); // 鑾峰彇璺緞 - Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", ioType) - .eq("stn_no", staNo.getDevNo()) - .eq("crn_no", locMast.getCrnNo()); - StaDesc staDesc = staDescService.selectOne(wrapper); - if (Cools.isEmpty(staDesc)) { - throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�"); - } + StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� @@ -228,11 +223,10 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDetlDto detlDto : dto.getLocDetlDtos()) { - // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣� if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(workNo); - wrkDetl.setIoTime(new Date()); + wrkDetl.setIoTime(now); Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); wrkDetl.setAnfme(anfme); // 鏁伴噺 VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗 @@ -462,12 +456,9 @@ // 鑾峰彇搴撲綅鏄庣粏 List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { - if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr())) { - LocDetl sqlParam = new LocDetl(); - sqlParam.setLocNo(paramLocDetl.getLocNo()); - sqlParam.setMatnr(paramLocDetl.getMatnr()); - LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam)); - if (null != one) locDetlDtos.add(new LocDetlDto(one, one.getAnfme())); + if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch()); + if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); } } if (!locDetlDtos.isEmpty()) { -- Gitblit v1.9.1