From d8c9b9afb41c368a08d7e05d0f624c98bf72042a Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期五, 06 六月 2025 11:18:56 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 580 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 390 insertions(+), 190 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 e5981bd..adae54a 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -2,16 +2,12 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; -import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.EmptyPlateOutParam; -import com.zy.asrs.entity.param.FullStoreParam; -import com.zy.asrs.entity.param.LocDetlAdjustParam; -import com.zy.asrs.entity.param.StockOutParam; +import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; @@ -82,104 +78,155 @@ @Transactional public String startupFullPutStore(FullStoreParam param, Long userId) { // 鍙傛暟闈炵┖鍒ゆ柇 - if (Cools.isEmpty(param.getDevpNo(), param.getList())) { - throw new CoolException(BaseRes.PARAM); - } - Date now = new Date(); - // 婧愮珯鐐圭姸鎬佹娴� - BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true); - // 妫�绱㈠簱浣� - LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); - List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto); - // 鐢熸垚宸ヤ綔鍙� - int workNo = dto.getWorkNo(); - // 鐢熸垚宸ヤ綔妗� - WrkMast wrkMast = new WrkMast(); - wrkMast.setWrkNo(workNo); - wrkMast.setIoTime(now); - wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID - wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 - wrkMast.setIoPri(13D); // 浼樺厛绾э細13 - wrkMast.setCrnNo(dto.getCrnNo()); - wrkMast.setSourceStaNo(dto.getSourceStaNo()); - wrkMast.setStaNo(dto.getStaNo()); - wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮� - wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 - wrkMast.setPicking("N"); // 鎷f枡 - wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setEmptyMk("N"); // 绌烘澘 - wrkMast.setLinkMis("N"); - wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 - wrkMast.setAppeUser(userId); - wrkMast.setAppeTime(now); - wrkMast.setModiUser(userId); - wrkMast.setModiTime(now); - if (!wrkMastService.insert(wrkMast)) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); - } - // 鐢熸垚宸ヤ綔妗f槑缁� - List<DetlDto> detlDtos = new ArrayList<>(); - param.getList().forEach(elem -> { - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); - if (DetlDto.has(detlDtos, detlDto)) { - DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); - assert detlDto1 != null; - detlDto1.setAnfme(detlDto1.getAnfme() + detlDto.getAnfme()); - } else { - detlDtos.add(detlDto); - } - }); - wrkDetlService.createWorkDetail(workNo, detlDtos, param.getBarcode(), userId, now); - // 鏇存柊婧愮珯鐐逛俊鎭� - sourceStaNo.setWrkNo(workNo); - sourceStaNo.setModiUser(userId); - sourceStaNo.setModiTime(now); - if (!basDevpService.updateById(sourceStaNo)){ - throw new CoolException("鏇存柊婧愮珯澶辫触"); - } - // 鏇存柊鐩爣搴撲綅鐘舵�� - LocMast locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocSts().equals("O")){ - locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 - locMast.setModiUser(userId); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)){ - throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); - } - } else { - throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); - } - return dto.getLocNo(); +// if (Cools.isEmpty(param.getDevpNo(), param.getList())) { +// throw new CoolException(BaseRes.PARAM); +// } +// Date now = new Date(); +// // 婧愮珯鐐圭姸鎬佹娴� +// BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true); +// // 妫�绱㈠簱浣� +// LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); +// List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); +// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); +// StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null, locTypeDto); +// // 鐢熸垚宸ヤ綔鍙� +// int workNo = dto.getWorkNo(); +// // 鐢熸垚宸ヤ綔妗� +// WrkMast wrkMast = new WrkMast(); +// wrkMast.setWrkNo(workNo); +// wrkMast.setIoTime(now); +// wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID +// wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 +// wrkMast.setIoPri(13D); // 浼樺厛绾э細13 +// wrkMast.setCrnNo(dto.getCrnNo()); +// wrkMast.setSourceStaNo(dto.getSourceStaNo()); +// wrkMast.setStaNo(dto.getStaNo()); +// wrkMast.setLocNo(dto.getLocNo()); +// wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮� +// wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 +// wrkMast.setPicking("N"); // 鎷f枡 +// wrkMast.setExitMk("N"); // 閫�鍑� +// wrkMast.setEmptyMk("N"); // 绌烘澘 +// wrkMast.setLinkMis("N"); +// wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 +// wrkMast.setAppeUser(userId); +// wrkMast.setAppeTime(now); +// wrkMast.setModiUser(userId); +// wrkMast.setModiTime(now); +// if (!wrkMastService.insert(wrkMast)) { +// throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); +// } +// // 鐢熸垚宸ヤ綔妗f槑缁� +// List<DetlDto> detlDtos = new ArrayList<>(); +// param.getList().forEach(elem -> { +// DetlDto detlDto = new DetlDto(elem); +// if (DetlDto.has(detlDtos, detlDto)) { +// DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); +// assert detlDto1 != null; +// detlDto1.setAnfme(detlDto1.getAnfme() + detlDto.getAnfme()); +// } else { +// detlDtos.add(detlDto); +// } +// }); +// wrkDetlService.createWorkDetail(workNo, detlDtos, param.getBarcode(), userId, now); +// // 鏇存柊婧愮珯鐐逛俊鎭� +// sourceStaNo.setWrkNo(workNo); +// sourceStaNo.setModiUser(userId); +// sourceStaNo.setModiTime(now); +// if (!basDevpService.updateById(sourceStaNo)) { +// throw new CoolException("鏇存柊婧愮珯澶辫触"); +// } +// // 鏇存柊鐩爣搴撲綅鐘舵�� +// LocMast locMast = locMastService.selectById(dto.getLocNo()); +// if (locMast.getLocSts().equals("O")) { +// locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 +// locMast.setModiUser(userId); +// locMast.setModiTime(now); +// if (!locMastService.updateById(locMast)) { +// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); +// } +// } else { +// throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); +// } +// return dto.getLocNo(); + return null; } + +// @Override +// @Transactional +// public void startupFullTakeStore(StockOutFloorParam param, Long userId) { +// // 鐩爣绔欑偣鐘舵�佹娴� +// BasDevp staNo = null; +// // 鑾峰彇搴撲綅鏄庣粏 +// List<LocDetlDto> locDetlDtos = new ArrayList<>(); +// for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) { +// staNo = basDevpService.checkSiteStatus(paramLocDetl.getSiteId()); +// +// if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { +// LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl); +// if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); +// } +// } +// if (!locDetlDtos.isEmpty()) { +// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); +// if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) { +// // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱 +// stockOut(staNo, locDetlDtos, null, userId); +// } else { +// throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$()); +// } +// } else { +// throw new CoolException("搴撳瓨涓嶅瓨鍦�"); +// } +// } @Override @Transactional - public void startupFullTakeStore(StockOutParam param, Long userId) { - // 鐩爣绔欑偣鐘舵�佹娴� - BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); - // 鑾峰彇搴撲綅鏄庣粏 - List<LocDetlDto> locDetlDtos = new ArrayList<>(); - for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { + public void startupFullTakeStore(StockOutFloorParam param, Long userId) { + // 鎸� siteId 鍒嗙粍 + Map<Integer, List<LocDetlDto>> siteIdToLocDetlsMap = new HashMap<>(); + + for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) { 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())); + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl); + if (one != null) { + LocDetlDto dto = new LocDetlDto(one, paramLocDetl.getCount()); + Integer siteId = paramLocDetl.getSiteId(); + + if (siteId != null) { + siteIdToLocDetlsMap.computeIfAbsent(siteId, k -> new ArrayList<>()).add(dto); + } + } } } - if (!locDetlDtos.isEmpty()) { - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); - if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){ - // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱 - stockOut(staNo, locDetlDtos, null, userId); - }else { - throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); - } - } else { + + if (siteIdToLocDetlsMap.isEmpty()) { throw new CoolException("搴撳瓨涓嶅瓨鍦�"); } + + // 閬嶅巻鍒嗙粍鍚庣殑姣忎釜 siteId锛岄�愪釜鍑哄簱 + for (Map.Entry<Integer, List<LocDetlDto>> entry : siteIdToLocDetlsMap.entrySet()) { + Integer siteId = entry.getKey(); + List<LocDetlDto> locDetlDtos = entry.getValue(); + + // 鏍¢獙搴撲綅鐘舵�� + LocMast locMast = locMastService.selectOne( + new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()) + ); + + if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) { + // 鏍¢獙鐩爣绔欑偣 + BasDevp staNo = basDevpService.checkSiteStatus(siteId); + + // 鎵ц鍑哄簱 + stockOut(staNo, locDetlDtos, null, userId); + } else { + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$()); + } + } } + @Override @Transactional @@ -247,17 +294,19 @@ wrkMast.setModiUser(userId); wrkMast.setModiTime(now); if (!wrkMastService.insert(wrkMast)) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo()); + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo()); } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDetlDto detlDto : dto.getLocDetlDtos()) { - if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} + if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) { + continue; + } WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(detlDto.getLocDetl()); wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙� wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(now); - Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); + Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount(); wrkDetl.setAnfme(anfme); // 鏁伴噺 wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); @@ -270,11 +319,11 @@ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("F")) { - locMast.setLocSts(ioType==101?"R":"P"); + locMast.setLocSts(ioType == 101 ? "R" : "P"); locMast.setModiUser(userId); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { - throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+dto.getLocNo()); + throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + dto.getLocNo()); } } else { throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); @@ -294,6 +343,21 @@ } // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(taskDto.getLocNo()); + // 鏋勫缓鍑哄簱鏄庣粏锛堢敤浜� isAll 鍒ゆ柇锛� + List<LocDetlDto> locDetlDtos = locDtos.stream().map(locDto -> { + LocDetl locDetl = new LocDetl(); + locDetl.setMatnr(locDto.getMatnr()); + locDetl.setBatch(locDto.getBatch()); + locDetl.setAnfme(locDto.getAnfme()); + + LocDetlDto dto = new LocDetlDto(); + dto.setLocDetl(locDetl); + dto.setCount(locDto.getAnfme()); + return dto; + }).collect(Collectors.toList()); + + taskDto.setLocDetlDtos(locDetlDtos); + // 鑾峰彇璺緞 int ioType = taskDto.isAll() ? 101 : 103; StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); @@ -321,16 +385,16 @@ wrkMast.setModiUser(userId); wrkMast.setModiTime(now); if (!wrkMastService.insert(wrkMast)) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+taskDto.getLocNo()); + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo()); } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDto locDto : taskDto.getLocDtos()) { - if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } - log.info(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getAnfme()); - if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getAnfme()); + if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) { + continue; } + log.info("宸ヤ綔妗f槑缁嗭細{},{},{},{}", locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getAnfme()); + OrderDetl orderDetl = orderDetlService.selectItem(locDto); + WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); @@ -347,7 +411,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } // 淇敼璁㈠崟鏄庣粏 - if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { + if (!orderDetlService.increaseWorkQty(orderDetl, locDto.getAnfme())) { throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); @@ -355,11 +419,95 @@ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(taskDto.getLocNo()); if (locMast.getLocSts().equals("F")) { - locMast.setLocSts(ioType==101?"R":"P"); + locMast.setLocSts(ioType == 101 ? "R" : "P"); locMast.setModiUser(userId); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { - throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+taskDto.getLocNo()); + throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo()); + } + } else { + throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); + } + } + + @Override + public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId, String endLocation) { + Date now = new Date(); + List<LocDto> locDtos = taskDto.getLocDtos(); + for (LocDto locDto : locDtos) { + if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) { + throw new CoolException("璁㈠崟鍑哄簱寮傚父锛岃鑱旂郴绠$悊鍛�"); + } + } + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(taskDto.getLocNo()); + // 鑾峰彇璺緞 + int ioType = taskDto.isAll() ? 101 : 103; + StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); + // 鐢熸垚宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setInvWh(endLocation); // 鍦扮爜 + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� + wrkMast.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 + wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� + wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setBarcode(locMast.getBarcode()); + wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + if (!wrkMastService.insert(wrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo()); + } + // 鐢熸垚宸ヤ綔妗f槑缁� + for (LocDto locDto : taskDto.getLocDtos()) { + if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) { + continue; + } + log.info("宸ヤ綔妗f槑缁嗭細{},{},{},{}", locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getAnfme()); + OrderDetl orderDetl = orderDetlService.selectItem(locDto); + + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(orderDetl); + wrkDetl.setZpallet(wrkMast.getBarcode()); + wrkDetl.setIoTime(now); + wrkDetl.setWrkNo(workNo); + //wrkDetl.setBatch(locDto.getBatch()); + wrkDetl.setOrderNo(locDto.getOrderNo()); + wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + // 淇敼璁㈠崟鏄庣粏 + if (!orderDetlService.increaseWorkQty(orderDetl, locDto.getAnfme())) { + throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); + } + orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); + } + // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� + locMast = locMastService.selectById(taskDto.getLocNo()); + if (locMast.getLocSts().equals("F")) { + locMast.setLocSts(ioType == 101 ? "R" : "P"); + locMast.setModiUser(userId); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo()); } } else { throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); @@ -373,7 +521,7 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, null, null, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -406,20 +554,20 @@ sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiUser(userId); sourceStaNo.setModiTime(now); - if (!basDevpService.updateById(sourceStaNo)){ + if (!basDevpService.updateById(sourceStaNo)) { throw new CoolException("鏇存柊婧愮珯澶辫触"); } // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocSts().equals("O")){ + if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 locMast.setModiUser(userId); locMast.setModiTime(now); - if (!locMastService.updateById(locMast)){ + if (!locMastService.updateById(locMast)) { throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } return dto.getLocNo(); } @@ -436,10 +584,10 @@ // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { - throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�"); } - if (!locMast.getLocSts().equals("D")){ - throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + if (!locMast.getLocSts().equals("D")) { + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$()); } // 鑾峰彇婧愮珯 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -447,10 +595,10 @@ .eq("stn_no", param.getOutSite()) .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); - Integer sourceStaNo = staDesc.getCrnStn(); - if (Cools.isEmpty(sourceStaNo)) { - throw new CoolException("妫�绱㈡簮绔欏け璐�"); + if (Cools.isEmpty(staDesc)) { + throw new CoolException("涓嶅瓨鍦ㄨ绌烘澘鍑哄簱璺緞锛岃鏇存崲绔欑偣"); } + Integer sourceStaNo = staDesc.getCrnStn(); Date now = new Date(); // 淇濆瓨宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -477,7 +625,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 - if (locMast.getLocSts().equals("D")){ + if (locMast.getLocSts().equals("D")) { locMast.setLocSts("R"); locMast.setModiUser(userId); locMast.setModiTime(now); @@ -501,7 +649,7 @@ // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { - throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�"); } // 鑾峰彇婧愮珯 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -540,7 +688,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 - if (locMast.getLocSts().equals("D")){ + if (locMast.getLocSts().equals("D")) { locMast.setLocSts("R"); locMast.setModiUser(1L); locMast.setModiTime(now); @@ -552,29 +700,77 @@ return wrkMast; } +// @Override +// @Transactional +// public void locCheckOut(StockOutParam param, Long userId) { +// // 鐩爣绔欑偣鐘舵�佹娴� +// BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); +// // 鑾峰彇搴撲綅鏄庣粏 +// List<LocDetlDto> locDetlDtos = new ArrayList<>(); +// for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { +// if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { +// LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl); +// if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); +// } +// } +// if (!locDetlDtos.isEmpty()) { +// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); +// if (locMast.getLocSts().equals("F")) { +// // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 +// stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); +// } else { +// throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$()); +// } +// } else { +// throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); +// } +// } + @Override @Transactional - public void locCheckOut(StockOutParam param, Long userId) { - // 鐩爣绔欑偣鐘舵�佹娴� - BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); - // 鑾峰彇搴撲綅鏄庣粏 - List<LocDetlDto> locDetlDtos = new ArrayList<>(); - for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { + public void locCheckOut(StockOutFloorParam param, Long userId) { + + // 鎸� siteId 鍒嗙粍 + Map<Integer, List<LocDetlDto>> siteIdToLocDetlsMap = new HashMap<>(); + + for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) { 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())); + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl); + if (one != null) { + LocDetlDto dto = new LocDetlDto(one, paramLocDetl.getCount()); + Integer siteId = paramLocDetl.getSiteId(); + + if (siteId != null) { + siteIdToLocDetlsMap.computeIfAbsent(siteId, k -> new ArrayList<>()).add(dto); + } + } } } - if (!locDetlDtos.isEmpty()) { - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); - if (locMast.getLocSts().equals("F")){ - // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 + + if (siteIdToLocDetlsMap.isEmpty()) { + throw new CoolException("搴撳瓨涓嶅瓨鍦�"); + } + + // 閬嶅巻鍒嗙粍鍚庣殑姣忎釜 siteId锛岄�愪釜鍑哄簱 + for (Map.Entry<Integer, List<LocDetlDto>> entry : siteIdToLocDetlsMap.entrySet()) { + Integer siteId = entry.getKey(); + List<LocDetlDto> locDetlDtos = entry.getValue(); + + // 鏍¢獙搴撲綅鐘舵�� + LocMast locMast = locMastService.selectOne( + new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()) + ); + + if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) { + // 鏍¢獙鐩爣绔欑偣 + BasDevp staNo = basDevpService.checkSiteStatus(siteId); + + // 鎵ц鍑哄簱 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); - }else { - throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } else { + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$()); } - } else { - throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); } } @@ -583,14 +779,14 @@ public void locMove(String sourceLocNo, String locNo, Long userId) { LocMast sourceLoc = locMastService.selectById(sourceLocNo); List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); - if (Cools.isEmpty(sourceLoc)){ + if (Cools.isEmpty(sourceLoc)) { throw new CoolException("鏈壘鍒板簱浣�"); } LocMast loc = locMastService.selectById(locNo); - if (Cools.isEmpty(loc)){ + if (Cools.isEmpty(loc)) { throw new CoolException("鏈壘鍒板簱浣�"); } - if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){ + if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))) { throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉"); } if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { @@ -609,10 +805,10 @@ wrkMast.setCrnNo(sourceLoc.getCrnNo()); wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣� wrkMast.setLocNo(locNo); // 鐩爣搴撲綅 - wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒 + wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 + wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘 wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); @@ -643,11 +839,11 @@ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 sourceLoc.setModiUser(userId); sourceLoc.setModiTime(now); - if (!locMastService.updateById(sourceLoc)){ + if (!locMastService.updateById(sourceLoc)) { throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); } } else { - throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocSts$()); + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細" + sourceLoc.getLocSts$()); } // 淇敼鐩爣搴撲綅鐘舵�� if (loc.getLocSts().equals("O")) { @@ -658,7 +854,7 @@ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$()); + throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細" + loc.getLocSts$()); } } @@ -666,16 +862,16 @@ @Transactional public void completeWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); - if (Cools.isEmpty(wrkMast)){ - throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); } - if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { + if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() >= 14) { throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚"); } // 鍏ュ簱 + 搴撲綅杞Щ - if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { + if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) { wrkMast.setWrkSts(4L); - // 鍑哄簱 + // 鍑哄簱 } else if (wrkMast.getWrkSts() > 10) { wrkMast.setWrkSts(14L); } @@ -716,12 +912,14 @@ Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator(); while (iterator1.hasNext()) { LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); - if (adjust.getCount() == 0) { continue; } + if (adjust.getCount() == 0) { + continue; + } if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) { if (!locDetl.getAnfme().equals(adjust.getCount())) { // todo 鐩樼偣璁板綍 // 淇敼搴撳瓨 - if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { + if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl)) { throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); } // 淇濆瓨璋冩暣璁板綍 @@ -746,7 +944,7 @@ // 鍒犻櫎搴撳瓨 for (LocDetl locDetl : locDetls) { // todo 鐩樼偣璁板綍 - if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { + if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl)) { throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触"); } // 淇濆瓨璋冩暣璁板綍 @@ -765,7 +963,9 @@ // 娣诲姞搴撳瓨 for (LocDetlAdjustParam.LocDetlAdjust adjust : list) { - if (adjust.getCount() == 0.0D) { continue; } + if (adjust.getCount() == 0.0D) { + continue; + } Mat mat = matService.selectByMatnr(adjust.getMatnr()); LocDetl locDetl = new LocDetl(); locDetl.sync(mat); @@ -817,8 +1017,8 @@ public void cancelWrkMast(String workNo, Long userId) { Date now = new Date(); WrkMast wrkMast = wrkMastService.selectById(workNo); - if (Cools.isEmpty(wrkMast)){ - throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); } String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� @@ -832,29 +1032,29 @@ // 搴撲綅杞Щ锛氭簮搴撲綅 LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo()); } - locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"); + locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"); locMast.setModiTime(now); locMast.setModiUser(userId); locMastService.updateById(locMast); } - // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� + // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { locNo = wrkMast.getSourceLocNo(); // 鍑哄簱 ===>> F.鍦ㄥ簱 if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { locSts = "F"; - // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� + // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 110) { locSts = "D"; - // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� + // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 11) { - locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"; + locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"; // 搴撲綅杞Щ锛氱洰鏍囧簱浣� LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo()); + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo()); } locMast.setLocSts("O"); locMast.setModiTime(now); @@ -866,15 +1066,15 @@ } //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 - if(wrkMast.getIoType() == 1) { - List<WaitPakin> waitPakins=waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); - for (WaitPakin waitPakin:waitPakins){ + if (wrkMast.getIoType() == 1) { + List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); + for (WaitPakin waitPakin : waitPakins) { if (!Cools.isEmpty(waitPakin)) { waitPakin.setIoStatus("N"); waitPakin.setLocNo(""); waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() // .eq("order_no", waitPakin.getOrderNo()) - .eq("zpallet",waitPakin.getZpallet()) + .eq("zpallet", waitPakin.getZpallet()) .eq("matnr", waitPakin.getMatnr()) .eq("batch", waitPakin.getBatch())); } @@ -882,30 +1082,30 @@ } //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 - if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { + if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { - if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { + if (!orderDetlService.decrease(wrkDetl, wrkDetl.getAnfme())) { throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); } //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 boolean flag = true; - List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo())); - for(OrderDetl orderDetl : orderDetls){ - if(orderDetl.getWorkQty() > 0){ + List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", wrkDetl.getOrderNo())); + for (OrderDetl orderDetl : orderDetls) { + if (orderDetl.getWorkQty() > 0) { flag = false; } } - if(flag){ - Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo())); - if(!Cools.isEmpty(order) && order.getSettle()==2){ + if (flag) { + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo())); + if (!Cools.isEmpty(order) && order.getSettle() == 2) { order.setSettle(1L); order.setUpdateBy(userId); order.setUpdateTime(now); } - if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){ + if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()))) { throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); } } @@ -952,7 +1152,7 @@ // 淇敼搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo); + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo); } locMast.setLocSts(locSts); locMast.setModiTime(now); @@ -967,8 +1167,8 @@ @Transactional public void pickWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); - if (Cools.isEmpty(wrkMast)){ - throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); } // 鍏ュ嚭搴撶被鍨嬪垽鏂� if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { @@ -1027,7 +1227,7 @@ } LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1((short) 1); - return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list); + return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), 0.0, locTypeDto, list); } @Override @@ -1046,7 +1246,7 @@ // 鐩爣搴撲綅 LocMast targetLoc = null; - for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) { + for (int curRow = rowLastno.getsRow(); curRow <= rowLastno.geteRow(); curRow++) { if (Utils.isShallowLoc(slaveProperties, curRow)) { Integer deepRow = Utils.getDeepRow(slaveProperties, curRow); @@ -1105,15 +1305,15 @@ throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); } // 淇敼搴撲綅鐘舵�� O ===>>> S - if (targetLoc.getLocSts().equals("O")){ + if (targetLoc.getLocSts().equals("O")) { targetLoc.setLocSts("S"); // S.鍏ュ簱棰勭害 targetLoc.setModiUser(userId); targetLoc.setModiTime(now); - if (!locMastService.updateById(targetLoc)){ + if (!locMastService.updateById(targetLoc)) { throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException(targetLoc.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + throw new CoolException(targetLoc.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } // 绂佺敤寮傚父搴撲綅 // locMast.setLocSts("X"); // X.绂佺敤 @@ -1129,19 +1329,19 @@ @Transactional public void turnMatLocDetl(EmptyPlateOutParam param, Long userId) { Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("id", param.getMatId())); - if (Cools.isEmpty(mat)){ + if (Cools.isEmpty(mat)) { throw new CoolException("鐩爣搴撲綅鍟嗗搧缂栫爜鏈夎锛�"); } List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getLocDetls().get(0).getMatnr())); - if (Cools.isEmpty(locDetls) || locDetls.size()<1){ - throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛� 鍝佸彿锛�"+param.getLocDetls().get(0).getMatnr()); + if (Cools.isEmpty(locDetls) || locDetls.size() < 1) { + throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛� 鍝佸彿锛�" + param.getLocDetls().get(0).getMatnr()); } try { - locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(),mat.getMatnr()); - }catch (Exception e){ + locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(), mat.getMatnr()); + } catch (Exception e) { throw new CoolException("瀵规暟鎹簱淇敼鍑洪敊锛�"); } - for (LocDetl locDetl:locDetls){ + for (LocDetl locDetl : locDetls) { // 淇濆瓨璋冩暣璁板綍 AdjDetl adjDetl = new AdjDetl(); adjDetl.setLocNo(locDetl.getLocNo()); -- Gitblit v1.9.1