From 52d0ba5ae5b6b1c3dfd544e81e7ed33a6e3b6003 Mon Sep 17 00:00:00 2001 From: DESKTOP-LMJ82IJ\Eno <creaycat@gmail.com> Date: 星期四, 26 十二月 2024 22:23:48 +0800 Subject: [PATCH] #波次播种列表不显示问题修复 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java | 147 +++++++++++++++++++++++++----------------------- 1 files changed, 76 insertions(+), 71 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 b5ff768..e619af4 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 @@ -45,7 +45,7 @@ @Autowired private DictService dictService; - @Scheduled(cron = "0/3 * * * * ? ") + @Scheduled(cron = "0/15 * * * * ? ") @Transactional(rollbackFor = Exception.class) public void taskWave() { InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build()); @@ -60,88 +60,93 @@ } List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id)); - for (Task task : taskList) { - Long hostId = task.getHostId(); + if (taskList.isEmpty()) { +// throw new CoolException("娌℃湁鍙挱绉嶄换鍔★紒锛�"); + } else { + for (Task task : taskList) { + Long hostId = task.getHostId(); - List<TaskDetl> taskDetls = taskDetlService.list(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getTaskId, task.getId()).eq(TaskDetl::getHostId, hostId)); - if (taskDetls.isEmpty()) { - continue; - } - - for (TaskDetl taskDetl : taskDetls) { - //鍒嗛厤璁㈠崟 - Long waveId = taskDetl.getWaveId(); - List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, waveId)); - if (list.isEmpty()) { + List<TaskDetl> taskDetls = taskDetlService.list(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getTaskId, task.getId()).eq(TaskDetl::getHostId, hostId)); + if (taskDetls.isEmpty()) { continue; } - ArrayList<Long> orderIds = new ArrayList<>(); - for (Order order : list) { - orderIds.add(order.getId()); - } - - String matUniqueKey = Utils.getMatUniqueKey(taskDetl.getMatnr(), taskDetl.getBatch(), taskDetl.getUniqueField()); - List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>() - .in(OrderDetl::getOrderId, orderIds) - .eq(OrderDetl::getStockIndex, matUniqueKey) - .eq(OrderDetl::getHostId, hostId)); - if(orderDetls.isEmpty()){ - throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�"); - } - - Double anfme = taskDetl.getAnfme(); - for (OrderDetl orderDetl : orderDetls) { - double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty() - orderDetl.getWorkQty()).orElse(0.0D); - if (issued <= 0.0D) { continue; } - if (anfme <= 0.0D) { break; } - - double workQty = issued; - if(anfme - issued < 0){ - workQty = anfme; - } - anfme -= workQty; - - orderUtils.updateWorkQty(orderDetl.getId(), workQty, true); - - CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, orderDetl.getOrderId()).eq(CacheSite::getHostId, hostId)); - if (cacheSite == null) { - throw new CoolException("缂撳瓨绔欑┖闂翠笉瀛樺湪"); + for (TaskDetl taskDetl : taskDetls) { + //鍒嗛厤璁㈠崟 + Long waveId = taskDetl.getWaveId(); + List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, waveId)); + if (list.isEmpty()) { + continue; } - WaveSeed waveSeed = new WaveSeed(); - waveSeed.setSiteId(cacheSite.getId()); - waveSeed.setSiteNo(cacheSite.getSiteNo()); - waveSeed.setOrderNo(orderDetl.getOrderNo()); - waveSeed.setOrderId(orderDetl.getOrderId()); - waveSeed.setOrderDetlId(orderDetl.getId()); - waveSeed.setTaskDetlId(taskDetl.getId()); - waveSeed.setAnfme(taskDetl.getAnfme()); - waveSeed.setWorkQty(0D); - waveSeed.setMatnr(taskDetl.getMatnr()); - waveSeed.setBatch(taskDetl.getBatch()); - waveSeed.setFieldParams(JSON.toJSONString(taskDetl.getUniqueField())); - waveSeed.setHostId(hostId); - if (!waveSeedService.save(waveSeed)) { - throw new CoolException("娉㈡鎾鍒涘缓澶辫触"); + ArrayList<Long> orderIds = new ArrayList<>(); + for (Order order : list) { + orderIds.add(order.getId()); } - cacheSite.setOrderId(orderDetl.getOrderId()); - cacheSite.setOrderNo(orderDetl.getOrderNo()); - cacheSite.setSiteStatus(CacheSiteStatusType.R.id); - cacheSite.setUpdateTime(new Date()); - if (!cacheSiteService.updateById(cacheSite)) { - throw new CoolException("缂撳瓨绔欐洿鏂板け璐�"); + String matUniqueKey = Utils.getMatUniqueKey(taskDetl.getMatnr(), taskDetl.getBatch(), taskDetl.getUniqueField()); + List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>() + .in(OrderDetl::getOrderId, orderIds) + .eq(OrderDetl::getStockIndex, matUniqueKey) + .eq(OrderDetl::getHostId, hostId)); + if(orderDetls.isEmpty()){ + throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�"); + } + + Double anfme = taskDetl.getAnfme(); + for (OrderDetl orderDetl : orderDetls) { + //fixme 浣滀笟涓暟閲忚皟鏁存斁鑷筹紝鐢熸垚鍑哄簱浠诲姟鎴愬姛鍚� +// double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty() - orderDetl.getWorkQty()).orElse(0.0D); +// if (issued <= 0.0D) { continue; } +// if (anfme <= 0.0D) { break; } +// +// double workQty = issued; +// if(anfme - issued < 0){ +// workQty = anfme; +// } +// anfme -= workQty; +// +// orderUtils.updateWorkQty(orderDetl.getId(), workQty, true); + + CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, orderDetl.getOrderId()).eq(CacheSite::getHostId, hostId)); + if (cacheSite == null) { + throw new CoolException("缂撳瓨绔欑┖闂翠笉瀛樺湪"); + } + + WaveSeed waveSeed = new WaveSeed(); + waveSeed.setSiteId(cacheSite.getId()); + waveSeed.setSiteNo(cacheSite.getSiteNo()); + waveSeed.setOrderNo(orderDetl.getOrderNo()); + waveSeed.setOrderId(orderDetl.getOrderId()); + waveSeed.setOrderDetlId(orderDetl.getId()); + waveSeed.setTaskDetlId(taskDetl.getId()); + waveSeed.setAnfme(taskDetl.getAnfme()); + waveSeed.setWorkQty(0D); + waveSeed.setMatnr(taskDetl.getMatnr()); + waveSeed.setBatch(taskDetl.getBatch()); + waveSeed.setFieldParams(JSON.toJSONString(taskDetl.getUniqueField())); + waveSeed.setHostId(hostId); + if (!waveSeedService.save(waveSeed)) { + throw new CoolException("娉㈡鎾鍒涘缓澶辫触"); + } + + cacheSite.setOrderId(orderDetl.getOrderId()); + cacheSite.setOrderNo(orderDetl.getOrderNo()); + cacheSite.setSiteStatus(CacheSiteStatusType.R.id); + cacheSite.setUpdateTime(new Date()); + if (!cacheSiteService.updateById(cacheSite)) { + throw new CoolException("缂撳瓨绔欐洿鏂板け璐�"); + } + } } - } - - task.setTaskSts(TaskStsType.COMPLETE_OUT.id); - task.setUpdateTime(new Date()); - if (!taskService.updateById(task)) { - throw new CoolException("浠诲姟鏇存柊澶辫触"); + task.setTaskSts(TaskStsType.COMPLETE_OUT.id); + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + throw new CoolException("浠诲姟鏇存柊澶辫触"); + } } } } catch (Exception e) { -- Gitblit v1.9.1