From 99a830441c94ee759cfe46f65bc612876c463296 Mon Sep 17 00:00:00 2001 From: YY <1272464982@qq.com> Date: Thu, 3 Jul 2025 15:49:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/CoscoEvaluateScoringMapper.java | 7 ++ .../CoscoEvaluateTaskDeptWeightMapper.java | 7 ++ .../dao/CoscoEvaluateTaskSupplierMapper.java | 7 ++ .../impl/ScheduledTasksServiceImpl.java | 75 +++++++++++-------- .../vo/CalculateAndObtainScoresVo.java | 4 + .../mapper/CoscoEvaluateScoringMapper.xml | 17 +++++ .../CoscoEvaluateTaskDeptWeightMapper.xml | 10 +++ .../CoscoEvaluateTaskSupplierMapper.xml | 11 +++ 8 files changed, 108 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateScoringMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateScoringMapper.java index 88c2f4e..aab36f9 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateScoringMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateScoringMapper.java @@ -89,4 +89,11 @@ public interface CoscoEvaluateScoringMapper { * @param taskId */ void deleteByTaskId(String taskId); + + /** + * 根据任务id集合查询 + * @param taskIds + * @return + */ + List selectByTaskIds(List taskIds); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskDeptWeightMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskDeptWeightMapper.java index d5fb032..e56c26b 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskDeptWeightMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskDeptWeightMapper.java @@ -66,4 +66,11 @@ public interface CoscoEvaluateTaskDeptWeightMapper { void batchCoscoEvaluateTaskDeptWeight(List list); void deleteByTaskId(String id); + + /** + * 根据id集合获取详细信息 + * @param taskIds + * @return + */ + List selectByTaskId(List taskIds); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskSupplierMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskSupplierMapper.java index 852e6b3..1cdbc5d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskSupplierMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/dao/CoscoEvaluateTaskSupplierMapper.java @@ -108,4 +108,11 @@ public interface CoscoEvaluateTaskSupplierMapper { List exportList(CoscoEvaluateTaskSupplier taskListVo); List getSupplierEvaluateStatisticsList(SupplierEvaluateStatisticsVo vo); + + /** + * 根据taskIds查询信息 + * @param taskIds + * @return + */ + List selectByTaskIds(List taskIds); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java index 2aa88c8..3b42397 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java @@ -74,37 +74,52 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { //获取当前时间指标信息 List coscoEvaluateTasks = coscoEvaluateTaskMapper.selectCloseTask(); List coscoEvaluateLevels = coscoEvaluateLevelMapper.selectCoscoEvaluateLevelList(new CoscoEvaluateLevel()); - for (CoscoEvaluateTask coscoEvaluateTask : coscoEvaluateTasks) { - //查询当前任务的添加的供应商 - CoscoEvaluateTaskSupplier suppliers = new CoscoEvaluateTaskSupplier(); - suppliers.setEvaluateTaskId(coscoEvaluateTask.getId()); - CoscoEvaluateTaskDeptWeight coscoEvaluateTaskDeptWeights = new CoscoEvaluateTaskDeptWeight(); - coscoEvaluateTaskDeptWeights.setEvaluateTaskId(coscoEvaluateTask.getId()); - List coscoEvaluateTaskDeptWeightes = coscoEvaluateTaskDeptWeightMapper.selectCoscoEvaluateTaskDeptWeightList(coscoEvaluateTaskDeptWeights); - List coscoEvaluateTaskSuppliers = coscoEvaluateTaskSupplierMapper.selectCoscoEvaluateTaskSupplierList(suppliers); - //查询当前任务的人员信息及人员评价情况 - List calculateAndObtainScoresVos = coscoEvaluateScoringMapper.selectCalculateAndObtainScores(coscoEvaluateTask.getId()); - //获取人员信息 - List user = userService.getUser(new SelectUserVo()); - //给人员添加部门信息 - Map userMap = user.stream().collect(Collectors.toMap(UserVo::getUserId, UserVo::getUserDeptId)); - calculateAndObtainScoresVos.forEach(vos -> { - vos.setDeptId(userMap.get(vos.getUserId())); - }); - //返回集合 - List coscoEvaluateScoringResults = new ArrayList<>(); - coscoEvaluateTaskSuppliers.forEach(coscoEvaluateTaskSupplier -> { - //计算总分数 - int totalScore = getCalculateScore(calculateAndObtainScoresVos, coscoEvaluateTaskSupplier, coscoEvaluateScoringResults, coscoEvaluateTaskDeptWeightes); - coscoEvaluateTaskSupplier.setReviewScore(BigDecimal.valueOf(totalScore)); - //根据总分数获取供应商评价结果 - getReviewResult(totalScore, coscoEvaluateLevels, coscoEvaluateTaskSupplier); - coscoEvaluateTaskSupplierMapper.updateCoscoEvaluateTaskSupplier(coscoEvaluateTaskSupplier); - }); - coscoEvaluateTask.setStatus(EvaluateTaskConstant.EVALUATE_TASK_STATUS_END); - coscoEvaluateTaskMapper.updateCoscoEvaluateTask(coscoEvaluateTask); - coscoEvaluateScoringResultMapper.batchCoscoEvaluateScoringResult(coscoEvaluateScoringResults); + if(!coscoEvaluateTasks.isEmpty()){ + //获取任务id集合 + List taskIds= coscoEvaluateTasks.stream().map(CoscoEvaluateTask::getId).collect(Collectors.toList()); + //获取任务权重信息 + List allCoscoEvaluateTaskDeptWeightes = coscoEvaluateTaskDeptWeightMapper.selectByTaskId(taskIds); + //获取任务供应商信息 + List allCoscoEvaluateTaskSuppliers = coscoEvaluateTaskSupplierMapper.selectByTaskIds(taskIds); + //获取任务供应商评价信息 + List allCalculateAndObtainScoresVos = coscoEvaluateScoringMapper.selectByTaskIds(taskIds); + + for (CoscoEvaluateTask coscoEvaluateTask : coscoEvaluateTasks) { + //查询当前任务的添加的供应商 + CoscoEvaluateTaskDeptWeight coscoEvaluateTaskDeptWeights = new CoscoEvaluateTaskDeptWeight(); + coscoEvaluateTaskDeptWeights.setEvaluateTaskId(coscoEvaluateTask.getId()); + //根据任务id获取当前任务权重信息 + List coscoEvaluateTaskDeptWeightes = allCoscoEvaluateTaskDeptWeightes.stream() + .filter(coscoEvaluateTaskDeptWeight -> coscoEvaluateTaskDeptWeight.getEvaluateTaskId().equals(coscoEvaluateTask.getId())).collect(Collectors.toList()); + //根据任务id获取当前任务供应商信息 + List coscoEvaluateTaskSuppliers = allCoscoEvaluateTaskSuppliers.stream() + .filter(coscoEvaluateTaskSupplier -> coscoEvaluateTaskSupplier.getEvaluateTaskId().equals(coscoEvaluateTask.getId())).collect(Collectors.toList()); + //根据任务id获取当前任务的人员信息及人员评价情况 + List calculateAndObtainScoresVos = allCalculateAndObtainScoresVos.stream() + .filter(calculateAndObtainScoresVo -> calculateAndObtainScoresVo.getEvaluateTaskId().equals(coscoEvaluateTask.getId())).collect(Collectors.toList()); + //获取人员信息 + List user = userService.getUser(new SelectUserVo()); + //给人员添加部门信息 + Map userMap = user.stream().collect(Collectors.toMap(UserVo::getUserId, UserVo::getUserDeptId)); + calculateAndObtainScoresVos.forEach(vos -> { + vos.setDeptId(userMap.get(vos.getUserId())); + }); + //返回集合 + List coscoEvaluateScoringResults = new ArrayList<>(); + coscoEvaluateTaskSuppliers.forEach(coscoEvaluateTaskSupplier -> { + //计算总分数 + int totalScore = getCalculateScore(calculateAndObtainScoresVos, coscoEvaluateTaskSupplier, coscoEvaluateScoringResults, coscoEvaluateTaskDeptWeightes); + coscoEvaluateTaskSupplier.setReviewScore(BigDecimal.valueOf(totalScore)); + //根据总分数获取供应商评价结果 + getReviewResult(totalScore, coscoEvaluateLevels, coscoEvaluateTaskSupplier); + coscoEvaluateTaskSupplierMapper.updateCoscoEvaluateTaskSupplier(coscoEvaluateTaskSupplier); + }); + coscoEvaluateTask.setStatus(EvaluateTaskConstant.EVALUATE_TASK_STATUS_END); + coscoEvaluateTaskMapper.updateCoscoEvaluateTask(coscoEvaluateTask); + coscoEvaluateScoringResultMapper.batchCoscoEvaluateScoringResult(coscoEvaluateScoringResults); + } } + } /** diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CalculateAndObtainScoresVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CalculateAndObtainScoresVo.java index ef6df85..9f8d057 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CalculateAndObtainScoresVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CalculateAndObtainScoresVo.java @@ -27,6 +27,10 @@ public class CalculateAndObtainScoresVo implements Serializable { * 供应商id */ private String supplierId; + /** + * 任务id + */ + private String evaluateTaskId; } diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateScoringMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateScoringMapper.xml index a772716..14c32c9 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateScoringMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateScoringMapper.xml @@ -190,4 +190,21 @@ and cetsu.evaluate_task_id = #{taskId} + + + diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskDeptWeightMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskDeptWeightMapper.xml index b2d8f14..fbd5714 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskDeptWeightMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskDeptWeightMapper.xml @@ -18,6 +18,16 @@ from cosco_evaluate_task_dept_weight + + + + +