From dbb30331f9fb339a099a438b2d3c6d8b99b55d23 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 20 一月 2025 18:01:09 +0800 Subject: [PATCH] #打印预览 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java | 103 ++++++++++++++++++++++++++++----------------------- 1 files changed, 57 insertions(+), 46 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java index 6a4b7d9..709c6a1 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.mysql.cj.util.StringUtils; import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.asrs.entity.dto.*; import com.zy.asrs.wms.asrs.entity.dto.OrderOutMergeDto; @@ -24,6 +25,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 鍑哄簱绠$悊 @@ -551,7 +553,7 @@ sortParams.add(sortParam); List<MergePreviewResultDto> resultDtos = new ArrayList<>(); - + //浼樺厛鏌ヨ骞冲簱鏁版嵁 param.forEach(pars -> { List<MergePreviewResultLocDto> locDtos = new ArrayList<>(); MergePreviewResultDto resultDto = new MergePreviewResultDto(); @@ -600,15 +602,9 @@ resultDtos.add(resultDto); - } else { - resultDto.sync(pars); - resultDto.setLocs(new ArrayList<>()); - resultDto.setOrderIds(pars.getOrderIds()); - resultDto.setAnfme(pars.getAnfme()); - resultDtos.add(resultDto); } }); - + //骞冲簱鏌ヨ瀹屾垚鍚庯紝鍐嶆煡璇CU for (MergePreviewDto dto : param) { Double anfme = dto.getAnfme() - dto.getWorkQty(); //鍑忓幓骞冲簱鏁伴噺鍚庯紝灏忎簬绛変簬0锛岃烦鍑哄鐞� @@ -647,7 +643,7 @@ locDto.setLocId(locDetl.getLocId()); locDto.setLocNo(locDetl.getLocNo()); locDto.setLocDetlId(locDetl.getId()); - + locDto.setTypeId(LocAreaTypeSts.LOC_AREA_TYPE_UTC.id); locDtos.add(locDto); if (anfme - locDetl.getAnfme() < 0) { locDto.setAnfme(anfme); @@ -671,6 +667,7 @@ MergePreviewResultLocDto locDto = new MergePreviewResultLocDto(); locDto.setLocId(locDetl.getLocId()); locDto.setLocNo(locDetl.getLocNo()); + locDto.setTypeId(LocAreaTypeSts.LOC_AREA_TYPE_UTC.id); locDto.setLocDetlId(locDetl.getId()); locDto.setAnfme(locDetl.getAnfme()); otherLocDtos.add(locDto); @@ -998,7 +995,7 @@ } /** - * 鏍规嵁涓嶅悓搴撲綅绫诲瀷鐢熸垚鍑哄簱鎷e崟鍙奣UC浠诲姟妗� + * 鏍规嵁涓嶅悓搴撲綅绫诲瀷鐢熸垚鍑哄簱鎷e崟鍙奀TU浠诲姟妗� * * @param dto * @param wave @@ -1014,9 +1011,13 @@ //TUC鏁版嵁婧� List<OrderOutMergeParam> tucOrders = new ArrayList<>();//listMap.get(LocAreaTypeSts.LOC_AREA_TYPE_UTC); //鎸夊簱浣嶇被鍨嬪垎绫� - Map<Long, List<OrderOutMergeParam>> listMap = params.stream().collect(Collectors.groupingBy(OrderOutMergeParam::getTypeId)); + //fixme 濡傛灉搴撳瓨涓嶈冻鏃讹紝鐢熸垚浠诲姟妗� 杩囨护鎺夋病鏈夊簱浣嶄俊鎭殑鏁版嵁銆傛壘鍚涙澃纭 + List<OrderOutMergeParam> mergeParam = params.stream().filter(par -> { + return !StringUtils.isNullOrEmpty(par.getLocNo()); + }).collect(Collectors.toList()); + //鏁版嵁鍒嗙被 1.骞冲簱鏁版嵁 2. CTU鏁版嵁 + Map<Long, List<OrderOutMergeParam>> listMap = mergeParam.stream().collect(Collectors.groupingBy(OrderOutMergeParam::getTypeId)); - //鏁版嵁鍒嗙被 1.骞冲簱鏁版嵁 2. TUC鏁版嵁 listMap.keySet().forEach(key -> { if (key == LocAreaTypeSts.LOC_AREA_TYPE_FLAT.id) { flatOrders.addAll(listMap.get(key)); @@ -1045,9 +1046,7 @@ */ private void outStockByTUC(List<OrderOutMergeParam> tucOrders, Wave wave) {//123 Map<Long, List<OrderOutMergeDto>> map = checkLoc(tucOrders, wave); - if (!Objects.isNull(map)) { - return; - } + for (Map.Entry<Long, List<OrderOutMergeDto>> entry : map.entrySet()) { Long locId = entry.getKey(); List<OrderOutMergeDto> list = entry.getValue(); @@ -1199,6 +1198,10 @@ //閿佸畾搴撳瓨閲� locDetl.setWorkQty(locDetl.getWorkQty() + outOder.getAnfme()); + if (!locDetlService.updateById(locDetl)) { + throw new CoolException("搴撳瓨鍔犻攣澶辫触锛侊紒"); + } + }); }); @@ -1232,12 +1235,12 @@ throw new CoolException("閫氶亾鍙傛暟涓嶈兘涓虹┖"); } - for (String channel : channels) { - long count = cacheSiteService.count(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getChannel, channel).ne(CacheSite::getSiteStatus, 0)); - if (count > 0) { - throw new CoolException(channel + "閫氶亾宸茬粡鍒嗛厤娉㈡"); - } - } +// for (String channel : channels) { +// long count = cacheSiteService.count(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getChannel, channel).ne(CacheSite::getSiteStatus, 0)); +// if (count > 0) { +// throw new CoolException(channel + "閫氶亾宸茬粡鍒嗛厤娉㈡"); +// } +// } List<Long> orderIds = param.getOrderIds(); @@ -1290,19 +1293,19 @@ throw new CoolException("璁㈠崟鍙嶅啓娉㈡澶辫触"); } - List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).in(CacheSite::getChannel, channels).orderBy(true, true, CacheSite::getChannel)); - if (cacheSites.isEmpty()) { - throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�"); - } - - CacheSite cacheSite = cacheSites.get(0); - cacheSite.setOrderId(order.getId()); - cacheSite.setOrderNo(order.getOrderNo()); - cacheSite.setSiteStatus(CacheSiteStatusType.R.id); - cacheSite.setUpdateTime(new Date()); - if (!cacheSiteService.updateById(cacheSite)) { - throw new CoolException("缂撳瓨绔欐洿鏂板け璐�"); - } +// List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).in(CacheSite::getChannel, channels).orderBy(true, true, CacheSite::getChannel)); +// if (cacheSites.isEmpty()) { +// throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�"); +// } +// +// CacheSite cacheSite = cacheSites.get(0); +// cacheSite.setOrderId(order.getId()); +// cacheSite.setOrderNo(order.getOrderNo()); +// cacheSite.setSiteStatus(CacheSiteStatusType.R.id); +// cacheSite.setUpdateTime(new Date()); +// if (!cacheSiteService.updateById(cacheSite)) { +// throw new CoolException("缂撳瓨绔欐洿鏂板け璐�"); +// } } for (Map.Entry<String, List<OrderDetl>> entry : map.entrySet()) { @@ -1339,7 +1342,7 @@ } - @Transactional + @Transactional(rollbackFor = Exception.class) public void cancelWave(List<Long> waveIds) { if (waveIds == null) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖"); @@ -1362,6 +1365,14 @@ throw new CoolException("宸插瓨鍦ㄤ换鍔★紝绂佹鍙栨秷娉㈡"); } + List<PickSheet> pickSheets = pickSheetService.list(new LambdaQueryWrapper<PickSheet>() + .eq(PickSheet::getWaveNo, wave.getWaveNo()) + .eq(PickSheet::getDeleted, 0) + .eq(PickSheet::getStatus, 1)); + if (!pickSheets.isEmpty()) { + throw new CoolException("褰撳墠娉㈡鏈夋嫞璐у崟瀛樺湪锛侊紒"); + } + List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, wave.getId())); for (Order order : orders) { order.setWaveId(null); @@ -1374,17 +1385,17 @@ throw new CoolException("璁㈠崟鍙嶅啓澶辫触"); } - CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, order.getId())); - if (cacheSite == null) { - throw new CoolException("缂撳瓨绔欎笉瀛樺湪"); - } - cacheSite.setSiteStatus(CacheSiteStatusType.O.id); - cacheSite.setOrderId(null); - cacheSite.setOrderNo(null); - cacheSite.setUpdateTime(new Date()); - if (!cacheSiteService.updateById(cacheSite)) { - throw new CoolException("缂撳瓨绔欐竻绌哄け璐�"); - } +// CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, order.getId())); +// if (cacheSite == null) { +// throw new CoolException("缂撳瓨绔欎笉瀛樺湪"); +// } +// cacheSite.setSiteStatus(CacheSiteStatusType.O.id); +// cacheSite.setOrderId(null); +// cacheSite.setOrderNo(null); +// cacheSite.setUpdateTime(new Date()); +// if (!cacheSiteService.updateById(cacheSite)) { +// throw new CoolException("缂撳瓨绔欐竻绌哄け璐�"); +// } } waveDetlService.removeById(waveDetl.getId()); -- Gitblit v1.9.1