xuhy
2 天以前 fb91542ce0668b0281c986f76d45498774530ba7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java
@@ -275,26 +275,26 @@
                        }
                    }
                }
                tLocationList = tLocationList.stream().distinct().collect(Collectors.toList());
                // 抽取重复点位
                Integer currentValue = detail.getCurrentValue();
                if(currentValue != cycle){
                    // 周期天数加一
                    detail.setCurrentValue(currentValue + 1);
                    // 获取重复点位
                    Set<TLocation> repeatLocation = redisCache.getCacheSet(detail.getId() + REPEAT_LOCATION);
                    Set<TLocation> repeatLocation = redisCache.getCacheSet(detail.getId() + ":" + sysUser.getUserId() + REPEAT_LOCATION);
                    if(!CollectionUtils.isEmpty(repeatLocation)){
                        List<TLocation> locations = randomSelection(new ArrayList<>(tLocationList), num3);
                        tLocationList.addAll(locations);
                    }
                    Set<TLocation> locationSet = new HashSet<>(tLocationList);
                    redisCache.setCacheSet(detail.getId() + REPEAT_LOCATION, locationSet);
                    redisCache.setCacheSet(detail.getId() + ":" + sysUser.getUserId() + REPEAT_LOCATION, locationSet);
                }else {
                    // 设置当前周期为0
                    detail.setCurrentValue(0);
                    // 将重复点位置空
                    redisCache.deleteObject(detail.getId() + REPEAT_LOCATION);
                    redisCache.deleteObject(detail.getId() + ":" + sysUser.getUserId() + REPEAT_LOCATION);
                    // 将项目部权重置空
                    redisCache.deleteObject(detail.getId() + PROJECT_DEPT_WEIGHT);
                    // 将保洁员权重置空
@@ -328,7 +328,11 @@
            // 添加应生成任务数量
            TTemplateCount templateCount = new TTemplateCount();
            templateCount.setTemplateId(detail.getTemplateId());
            templateCount.setTaskCount(tLocationList.size()* cycle);
            // 查询所有的保洁员下面的点位
            List<String> cleanIds = cleaners.stream().map(TCleaner::getId).collect(Collectors.toList());
            List<TLocation> tLocations = locationService.list(Wrappers.lambdaQuery(TLocation.class)
                    .in(TLocation::getLocationCleaner, cleanIds));
            templateCount.setTaskCount(tLocations.size());
            templateCount.setUserId(sysUser.getUserId());
            templateCountService.save(templateCount);