From 685e8c6d6eb33d883f41f4d9470d9909ac074d16 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 10 七月 2025 11:09:28 +0800 Subject: [PATCH] 保洁巡检本周代码 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java index 62b0083..3d043de 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java @@ -171,10 +171,10 @@ List<String> proIds = projectDepts.stream().map(TProjectDept::getId).collect(Collectors.toList()); // 拿到抽取的项目部下的所有保洁员 - List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) - .in(TProjectDept::getId, proIds)); +// List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) +// .in(TProjectDept::getId, proIds)); // 获取片区id - List<String> areaIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + List<String> areaIds = projectDepts.stream().map(TProjectDept::getId).collect(Collectors.toList()); if(CollectionUtils.isEmpty(areaIds)){ return; } @@ -184,10 +184,14 @@ .in(TCleaner::getProjectId, areaIds)); int cleanerSums = num1 * Integer.parseInt(count + ""); // 获取每天需要抽取的保洁员数,向上取整 - if (cleanerSums <cycle){ + if (cleanerSums < cycle){ cleanerSums = cycle; } int dayCleanerCount = cleanerSums / cycle; + + if((cycle - detail.getCurrentValue()) == 1 && cleanerSums % cycle != 0){ + dayCleanerCount++; + } // 获取保洁员权重 List<String> cleanerIds = redisCache.getCacheList(detail.getId() + CLEANER_WEIGHT); @@ -217,7 +221,8 @@ redisCache.deleteObject(detail.getId() + CLEANER_WEIGHT); List<TCleaner> tCleaners1 = randomSelection(cleaners1, dayCleanerCount - tCleaners.size()); List<String> cleanIds1 = tCleaners1.stream().map(TCleaner::getId).collect(Collectors.toList()); - // 将已抽取的项目部id保存到redis中 + // 将已抽取的保洁员id保存到redis中 + cleanIds1.addAll(cleanIds); redisCache.setCacheList(detail.getId() + CLEANER_WEIGHT, cleanIds1); tCleaners.addAll(tCleaners1); }else { @@ -285,7 +290,7 @@ task.setLocationId(tLocation.getId()); task.setImplementTime(LocalDateTime.now().plusDays(1)); task.setTaskType(1); - task.setTemplateId(detail.getId()); + task.setTemplateId(detail.getTemplateId()); String nameAndCode = CodeGenerateUtils.generateVolumeSn(); task.setTaskName(nameAndCode); task.setTaskCode(nameAndCode); @@ -294,10 +299,10 @@ // 添加应生成任务数量 TTemplateCount templateCount = new TTemplateCount(); - templateCount.setTemplateId(detail.getId()); + templateCount.setTemplateId(detail.getTemplateId()); templateCount.setTaskCount(tLocationList.size()* cycle); templateCount.setUserId(sysUser.getUserId()); - templateCountService.saveOrUpdate(templateCount); + templateCountService.save(templateCount); taskCleanService.saveBatch(tasks); template.setTaskCount(tasks.size()); -- Gitblit v1.7.1