From e4b641e65e49c7854ed11e7822316431f5e0ce1b Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 27 六月 2025 08:36:03 +0800 Subject: [PATCH] 出库单生成波次功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java index 96dcb4b..51b885d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java @@ -161,15 +161,21 @@ } List<OrderOutItemDto> results = LocManageUtil.getOutOrderList(params, waveRule); if (results.isEmpty()) { - waveService.update(new LambdaUpdateWrapper<Wave>() - .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val) - .set(Wave::getUpdateBy, loginUserId) - .set(Wave::getUpdateTime, new Date()) - .eq(Wave::getId, waveId)); + Wave wave = waveService.getById(waveId); + if (Objects.isNull(wave)) { + throw new CoolException("<UNK>"); + } + wave.setUpdateBy(loginUserId).setUpdateTime(new Date()); + if (wave.getAnfme().compareTo(wave.getWorkQty()) == 0) { + wave.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_TASK.val); + } else { + wave.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val); + } + waveService.updateById(wave); return R.ok(); } - /**鐢熸垚鍑哄簱浠诲姟*/ try { + /**鐢熸垚鍑哄簱浠诲姟*/ generateOutTask(results, loginUserId, waves); } catch (Exception e) { log.error("UNK", e); @@ -183,7 +189,6 @@ } for (TaskItem item : taskItems) { WaveItem waveItem = waveItemService.getById(item.getSource()); - Double workQty = Math.round((waveItem.getWorkQty() + item.getAnfme()) * 10000) / 10000.0; waveItem.setWorkQty(workQty); if (workQty.compareTo(waveItem.getAnfme()) < 0) { -- Gitblit v1.9.1