fix(task): 解决项目任务评分权限控制和状态更新问题

master
zhaokai 2026-03-19 14:12:00 +08:00
parent ce2426cbd7
commit 63cb072f8d
2 changed files with 8 additions and 4 deletions

View File

@ -57,8 +57,6 @@ public class ProjectTaskScoreInfoUpdateExe {
throw new BizException("只允许设置自己的评分"); throw new BizException("只允许设置自己的评分");
} }
ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE(); ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE();
BeanUtils.copyProperties(projectTaskSetScoreCmd, projectTaskScoreInfoE); BeanUtils.copyProperties(projectTaskSetScoreCmd, projectTaskScoreInfoE);
boolean res = projectTaskScoreInfoGateway.update(projectTaskScoreInfoE); boolean res = projectTaskScoreInfoGateway.update(projectTaskScoreInfoE);
@ -67,6 +65,7 @@ public class ProjectTaskScoreInfoUpdateExe {
} }
//判断是否所有人都评分完成,如果完成则修改任务状态为完成 //判断是否所有人都评分完成,如果完成则修改任务状态为完成
List<ProjectTaskScoreInfoDO> listByTaskId = projectTaskScoreInfoRepository.getListByTaskId(info.getProjectTaskId()); List<ProjectTaskScoreInfoDO> listByTaskId = projectTaskScoreInfoRepository.getListByTaskId(info.getProjectTaskId());
Boolean finish = false;
if(listByTaskId.size()==listByTaskId.stream().filter(item -> item.getScore() != null).count()){ if(listByTaskId.size()==listByTaskId.stream().filter(item -> item.getScore() != null).count()){
BigDecimal totalScore = listByTaskId.stream() BigDecimal totalScore = listByTaskId.stream()
.map(ProjectTaskScoreInfoDO::getScore) .map(ProjectTaskScoreInfoDO::getScore)
@ -76,9 +75,14 @@ public class ProjectTaskScoreInfoUpdateExe {
BigDecimal averageScore = totalScore.divide(new BigDecimal(listByTaskId.size()),2,RoundingMode.HALF_UP); BigDecimal averageScore = totalScore.divide(new BigDecimal(listByTaskId.size()),2,RoundingMode.HALF_UP);
projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCORED.getCode(),averageScore); projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCORED.getCode(),averageScore);
finish = true;
}else{ }else{
//修改为评分中 //修改为评分中
projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCOREING.getCode(),null); projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCOREING.getCode(),null);
}
if(finish){
//完成后,发送消息通知
} }

View File

@ -42,9 +42,9 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
if (params.get("corpinfoId") != null && StringUtils.isNotEmpty(params.get("corpinfoId").toString())) { if (params.get("corpinfoId") != null && StringUtils.isNotEmpty(params.get("corpinfoId").toString())) {
params.put("corpinfoId", params.get("corpinfoId")); params.put("corpinfoId", params.get("corpinfoId"));
} else { } else {
if(!corpInfoRepository.isSupper()){ /*if(!corpInfoRepository.isSupper()){
params.put("corpinfoId", AuthContext.getTenantId()); params.put("corpinfoId", AuthContext.getTenantId());
} }*/
} }
String menuPerms = ""; String menuPerms = "";
if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){ if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){