From c2b707e00352990acc2bf57526c815d00a11542b Mon Sep 17 00:00:00 2001 From: YY <1272464982@qq.com> Date: Thu, 26 Jun 2025 16:03:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CoscoEvaluateTaskController.java | 5 +++ .../impl/ScheduledTasksServiceImpl.java | 33 ++++++++++++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskController.java index 4acc6dc..30c427e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskController.java @@ -105,6 +105,11 @@ public class CoscoEvaluateTaskController extends BaseController { return BaseResponse.success(coscoEvaluateTaskService.submit(addCoscoEvaluateTaskVo)); } + /** + * 分工任务信息添加 + * @param addCoscoEvaluateTaskVo + * @return + */ @PostMapping("/incrementalDivisionOfLaborAdditionAdd") public BaseResponse incrementalDivisionOfLaborAdditionAdd(@RequestBody AddCoscoEvaluateTaskVo addCoscoEvaluateTaskVo) { return BaseResponse.success(coscoEvaluateTaskService.incrementalDivisionOfLaborAdditionAdd(addCoscoEvaluateTaskVo)); 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 9f89d4b..2b5b2bc 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 @@ -3,6 +3,8 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.impl; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.EvaluateTaskConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.MessageConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.impl.UserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.UserVo; import com.chinaunicom.zyhy.ebtp.supplier.common.MessageType; import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.service.ICoscoBlacklistService; @@ -45,6 +47,8 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { private ICoscoBlacklistService coscoBlacklistService; @Autowired private CoscoMessageMapper coscoMessageMapper; + @Autowired + private UserService userService; /** * 定时任务查看待开启的任务。如果时间小于当前时间那么开启任务 @@ -52,7 +56,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { @Scheduled(cron = "0 0 1 * * ?") @MessageLog(messageType = MessageType.MESSAGETYPE_GYSJY) public List checkTask() { - List noTasks =coscoEvaluateTaskMapper.selectNoTask(); + List noTasks = coscoEvaluateTaskMapper.selectNoTask(); //查询小于当前时间 未开启任务 coscoEvaluateTaskMapper.updateNOTask(); return noTasks; @@ -78,6 +82,14 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { List coscoEvaluateTaskSuppliers = coscoEvaluateTaskSupplierMapper.selectCoscoEvaluateTaskSupplierList(suppliers); //查询当前任务的人员信息及人员评价情况 List calculateAndObtainScoresVos = coscoEvaluateScoringMapper.selectCalculateAndObtainScores(coscoEvaluateTask.getId()); + //获取人员信息 + List user = userService.getUser(new ArrayList<>()); + //给人员添加部门信息 + 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 -> { //计算总分数 @@ -108,6 +120,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { /** * 计算分数 + * * @param calculateAndObtainScoresVos * @param coscoEvaluateTaskSupplier * @param coscoEvaluateScoringResults @@ -143,7 +156,9 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { int noWeightDeptListI = 0; BigDecimal hundred = BigDecimal.valueOf(100); for (String deptId : groupedByDeptId.keySet()) { + //判断是否添加权重 BigDecimal bigDecimal = map.get(deptId); + //获取部门打分项信息 List calculateAndObtainScoresVos1 = groupedByDeptId.get(deptId); if (bigDecimal != null) { if (calculateAndObtainScoresVos1 != null) { @@ -164,13 +179,16 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { } } } + //计算非权重部门的打分 BigDecimal divide = noWeightScore .divide(BigDecimal.valueOf(noWeightDeptListI), 2, BigDecimal.ROUND_HALF_UP) .multiply(new BigDecimal(basePercentage)).divide(hundred, 2, BigDecimal.ROUND_HALF_UP); + //计算分数总和 indicatorScore = weightScore.add(divide).doubleValue(); } else { + //获取没有权重的打分信息 int sScore = indicatorList.stream().mapToInt(CalculateAndObtainScoresVo::getScore).sum(); - indicatorScore = sScore / indicatorList.size(); + indicatorScore = (double) sScore / indicatorList.size(); } addResults(coscoEvaluateTaskSupplier, coscoEvaluateScoringResults, id, indicatorScore); totalScore += indicatorScore; @@ -178,6 +196,13 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { return totalScore.intValue(); } + /** + * 添加结果 + * @param coscoEvaluateTaskSupplier + * @param coscoEvaluateScoringResults + * @param id + * @param indicatorScore + */ private static void addResults(CoscoEvaluateTaskSupplier coscoEvaluateTaskSupplier, List coscoEvaluateScoringResults, String id, double indicatorScore) { @@ -200,11 +225,11 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { List becomeDueVos = coscoBlacklistService.selectBecomeDue(); List coscoMessages = new ArrayList<>(); //添加消息 - becomeDueVos.forEach(becomeDueVo ->{ + becomeDueVos.forEach(becomeDueVo -> { CoscoMessage coscoMessage = new CoscoMessage(); coscoMessage.setId(PropertyUtils.getSnowflakeId()); coscoMessage.setReceiverId(becomeDueVo.getCreater()); - coscoMessage.setContent("您准入的"+becomeDueVo.getName()+"供应商黑名单时效到期,请及时提交解除申请:"); + coscoMessage.setContent("您准入的" + becomeDueVo.getName() + "供应商黑名单时效到期,请及时提交解除申请:"); coscoMessage.setType(MessageConstant.BLACKLIST_EXPIRE); coscoMessage.setCreateTime(new Date()); coscoMessage.setUpdateTime(new Date());