From 039ea2a8d16e84f524e65ec47f9352b3ef625940 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 09 七月 2025 16:21:16 +0800 Subject: [PATCH] no message --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java | 74 ++++++++++++++++++++++++++++++++++++- 1 files changed, 72 insertions(+), 2 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java index 704f4c3..08172a0 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java @@ -10,6 +10,10 @@ import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType; import com.zy.asrs.wms.asrs.entity.enums.TaskStsType; import com.zy.asrs.wms.asrs.service.*; +import com.zy.asrs.wms.asrs.service.impl.WaveDetlLogServiceImpl; +import com.zy.asrs.wms.asrs.service.impl.WaveDetlServiceImpl; +import com.zy.asrs.wms.asrs.service.impl.WaveLogServiceImpl; +import com.zy.asrs.wms.asrs.service.impl.WaveServiceImpl; import com.zy.asrs.wms.system.entity.Dict; import com.zy.asrs.wms.system.service.DictService; import com.zy.asrs.wms.utils.OrderUtils; @@ -42,6 +46,69 @@ private WaveSeedService waveSeedService; @Autowired private DictService dictService; + @Autowired + private WaveServiceImpl waveService; + @Autowired + private WaveLogServiceImpl waveLogService; + @Autowired + private WaveDetlServiceImpl waveDetlService; + @Autowired + private WaveDetlLogServiceImpl waveDetlLogService; + + + /** + * @author Ryan + * @date 2025/6/20 + * @description: 鏇存柊娉㈡鏄庣粏锛屽姞鍏ュ巻鍙叉。 + * @version 1.0 + */ + @Scheduled(cron = "0/30 * * * * ? ") + @Transactional(rollbackFor = Exception.class) + public void addWaveHistories() { + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.UPDATED_OUT.id)); + if (tasks.isEmpty()) { + return; + } + for (Task task : tasks) { + List<TaskDetl> detls = taskDetlService.list(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getTaskId, task.getId())); + if (detls.isEmpty()) { + continue; + } + Set<Long> waveIds = detls.stream().map(TaskDetl::getWaveId).collect(Collectors.toSet()); + + if (waveIds.isEmpty()) { + throw new CoolException("娉㈡淇℃伅涓虹┖锛侊紒"); + } + List<Wave> waves = waveService.list(new LambdaQueryWrapper<Wave>().in(Wave::getId, waveIds)); + for (Wave wave : waves) { + WaveLog waveLog = new WaveLog(); + waveLog.sync(wave); + waveLog.setId(null); + if (!waveLogService.save(waveLog)) { + throw new CoolException("娉㈡杞巻鍙插け璐�"); + } + + List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, wave.getId())); + for (WaveDetl waveDetl : waveDetls) { + WaveDetlLog waveDetlLog = new WaveDetlLog(); + waveDetlLog.sync(waveDetl); + waveDetlLog.setId(null); + waveDetlLog.setWaveId(waveLog.getId()); + if (!waveDetlLogService.save(waveDetlLog)) { + throw new CoolException("娉㈡鏄庣粏杞巻鍙插け璐�"); + } + if (!waveDetlService.removeById(waveDetl.getId())) { + throw new CoolException("娉㈡鏄庣粏鍒犻櫎澶辫触"); + } + } + if (!waveService.removeById(wave.getId())) { + throw new CoolException("娉㈡鍒犻櫎澶辫触"); + } + } + } + } + + /** * modifty锛� @@ -76,7 +143,10 @@ continue; } // 杩囨护宸茬粡鐢熸垚娉㈡鎾鏁版嵁鐨勪换鍔� 璇ヤ换鍔$殑浠诲姟鏄庣粏鍙蜂笉鑳藉湪鎾鏁版嵁琛ㄩ噷闈� - long count = waveSeedService.count(new LambdaQueryWrapper<WaveSeed>().in(WaveSeed::getTaskDetlId, taskDetls.stream().map(TaskDetl::getId).collect(Collectors.toList())).eq(WaveSeed::getHostId, hostId)); + long count = waveSeedService.count(new LambdaQueryWrapper<WaveSeed>() + .in(WaveSeed::getTaskDetlId, taskDetls.stream() + .map(TaskDetl::getId).collect(Collectors.toList())) + .eq(WaveSeed::getHostId, hostId)); if (count > 0) { continue; } @@ -143,7 +213,7 @@ waveSeed.setWaveId(taskDetl.getWaveId()).setWaveNo(taskDetl.getWaveNo()); waveSeed.setTaskDetlId(taskDetl.getId()); //涓烘弧瓒冲綋鍓嶉渶姹傦紝缁忕‘璁わ紝鏀规垚璁㈠崟鏁伴噺 - waveSeed.setAnfme(orderDetl.getAnfme()); + waveSeed.setAnfme(taskDetl.getAnfme()); waveSeed.setWorkQty(0D); waveSeed.setMatnr(taskDetl.getMatnr()); waveSeed.setBatch(taskDetl.getBatch()); -- Gitblit v1.9.1