skyouc
6 天以前 e046dba174365eb8934ee1e4206f09821145e876
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java
@@ -118,8 +118,6 @@
    @Scheduled(cron = "0/3 * * * * ? ")
    @Transactional(rollbackFor = Exception.class)
    public void taskWave() {
        InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
        try {
            Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "autoCreateWaveSeed").eq(Dict::getStatus, 1));
            if (dict == null) {
                return;
@@ -131,7 +129,7 @@
            //查询状态为RCS任务完成所有任务单据
//            List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id));
            List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WCS_EXECUTE_OUT.id));
            HashSet<String> sycMatnrs = new HashSet<>();
//            HashSet<String> sycMatnrs = new HashSet<>();
            if (taskList.isEmpty()) {
//                throw new CoolException("没有可播种任务!!");
            } else {
@@ -154,11 +152,11 @@
                    for (TaskDetl taskDetl : taskDetls) {
                        //分配订单
                        Long waveId = taskDetl.getWaveId();
                        //同一个物料只添加一次播种任务
                        if (sycMatnrs.contains(taskDetl.getMatnr())) {
                            continue;
                        }
                        sycMatnrs.add(taskDetl.getMatnr());
//                        //同一个物料只添加一次播种任务
//                        if (sycMatnrs.contains(taskDetl.getMatnr())) {
//                            continue;
//                        }
//                        sycMatnrs.add(taskDetl.getMatnr());
                        List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, waveId));
                        if (list.isEmpty()) {
@@ -197,19 +195,14 @@
                            anfme -= workQty;
                            orderUtils.updateWorkQty(orderDetl.getId(), workQty, true);
//
                            //fixme 生成波次播种数据时,不自动添加站点绑定,站点绑定调整至出库绑定播种库位时更新
//                            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.setTaskId(taskDetl.getTaskId());
                            waveSeed.setTaskNo(taskDetl.getTaskNo());
                            waveSeed.setWaveId(taskDetl.getWaveId()).setWaveNo(taskDetl.getWaveNo());
                            waveSeed.setTaskDetlId(taskDetl.getId());
                            //为满足当前需求,经确认,改成订单数量
@@ -222,30 +215,10 @@
                            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.GENERATE_WAVE_SEED.id);
//                    task.setUpdateTime(new Date());
//                    if (!taskService.updateById(task)) {
//                        throw new CoolException("任务更新失败");
//                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        } finally {
            InterceptorIgnoreHelper.clearIgnoreStrategy();
        }
    }
}