From 872a269a10513973af50da22c6673f47739954ad Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 19 六月 2020 13:21:17 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 39 ++++++++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+), 7 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 e69c42a..0f5e587 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -133,8 +133,8 @@ } } if (!locDetlDtos.isEmpty()) { - // 鍚姩鍑哄簱寮�濮� - stockOut(staNo, locDetlDtos, userId); + // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱 + stockOut(staNo, locDetlDtos, 101, userId); } else { throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); } @@ -142,7 +142,7 @@ @Override @Transactional - public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Long userId) { + public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) { // 鍚堝苟鍚岀被椤� Set<String> locNos = new HashSet<>(); locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo())); @@ -165,7 +165,7 @@ LocMast locMast = locMastService.selectById(dto.getLocNo()); // 鑾峰彇璺緞 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", 101) + .eq("type_no", ioType) .eq("stn_no", staNo.getDevNo()) .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); @@ -179,7 +179,7 @@ wrkMast.setWrkNo(workNo); wrkMast.setIoTime(new Date()); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID - wrkMast.setIoType(101); // 鍏ュ嚭搴撶姸鎬侊細101.鍑哄簱 + wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬侊細101.鍑哄簱 wrkMast.setIoPri(13D); // 浼樺厛绾э細13 wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 @@ -199,12 +199,13 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDetlDto detlDto : dto.getLocDetlDtos()) { - if (detlDto.getCount() <= 0.0D) {continue;} + if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(new Date()); wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr()); - wrkDetl.setAnfme(detlDto.getCount()); // 鏁伴噺 + Double anfme = ioType==101?detlDto.getCount():detlDto.getLocDetl().getAnfme(); + wrkDetl.setAnfme(anfme); // 鏁伴噺 wrkDetl.setZmatid(detlDto.getLocDetl().getZmatid()); wrkDetl.setTbpos(detlDto.getLocDetl().getTbpos()); wrkDetl.setTbnum(detlDto.getLocDetl().getTbnum()); @@ -355,6 +356,30 @@ @Override @Transactional + public void locCheckOut(StockOutParam param, Long userId) { + // 鐩爣绔欑偣鐘舵�佹娴� + BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); + // 鑾峰彇搴撲綅鏄庣粏 + List<LocDetlDto> locDetlDtos = new ArrayList<>(); + for (StockOutParam.LocDetl locDetl : param.getLocDetls()) { + if (!Cools.isEmpty(locDetl.getLocNo(), locDetl.getMatnr())) { + LocDetl sqlParam = new LocDetl(); + sqlParam.setLocNo(locDetl.getLocNo()); + sqlParam.setMatnr(locDetl.getMatnr()); + LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam)); + if (null != one) locDetlDtos.add(new LocDetlDto(one, locDetl.getCount())); + } + } + if (!locDetlDtos.isEmpty()) { + // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 + stockOut(staNo, locDetlDtos, 107, userId); + } else { + throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); + } + } + + @Override + @Transactional public void locMove(String sourceLocNo, String locNo, Long userId) { LocMast sourceLoc = locMastService.selectById(sourceLocNo); if (Cools.isEmpty(sourceLoc)){ -- Gitblit v1.9.1