DESKTOP-LMJ82IJ\Eno
2024-12-26 52d0ba5ae5b6b1c3dfd544e81e7ed33a6e3b6003
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,6 +60,9 @@
            }
            List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id));
            if (taskList.isEmpty()) {
//                throw new CoolException("没有可播种任务!!");
            } else {
            for (Task task : taskList) {
                Long hostId = task.getHostId();
@@ -92,17 +95,18 @@
                    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);
                            //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) {
@@ -144,6 +148,7 @@
                    throw new CoolException("任务更新失败");
                }
            }
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();