| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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); |
| | | // 将保洁员权重置空 |
| | |
| | | tasks.add(task); |
| | | } |
| | | |
| | | // 添加应生成任务数量 |
| | | TTemplateCount templateCount = new TTemplateCount(); |
| | | templateCount.setTemplateId(detail.getTemplateId()); |
| | | templateCount.setTaskCount(tLocationList.size()* cycle); |
| | | templateCount.setUserId(sysUser.getUserId()); |
| | | templateCountService.save(templateCount); |
| | | |
| | | // 添加应生成任务数量 |
| | | TTemplateCount templateCount = new TTemplateCount(); |
| | | templateCount.setTemplateId(detail.getTemplateId()); |
| | | // 查询所有的保洁员下面的点位 |
| | | 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); |
| | | taskCleanService.saveBatch(tasks); |
| | | taskCount = taskCount + tasks.size(); |
| | | } |