This commit is contained in:
杜建超 2020-12-10 18:07:43 +08:00
parent 123e993e68
commit 6ff5b1b3f9
3 changed files with 22 additions and 18 deletions

View File

@ -873,7 +873,7 @@ public class ResultRecordController extends AbstractController {
taskReq.setTaskId(taskDto.getId()); taskReq.setTaskId(taskDto.getId());
taskReq.setName(taskDto.getName()); taskReq.setName(taskDto.getName());
taskReq.setOrderBy(orderBy); taskReq.setOrderBy(orderBy);
taskReq.setProcessRate(taskDto.getProcessRate()); taskReq.setProcessRate(BigDecimal.valueOf(taskDto.getProcessRate()));
resultTaskService.saveOrUpdateResultTask(taskReq); resultTaskService.saveOrUpdateResultTask(taskReq);
orderBy++; orderBy++;
} }

View File

@ -28,7 +28,7 @@ public class ResultTaskDto {
private String name; private String name;
//任务的当前进度 //任务的当前进度
@ApiModelProperty(value = "任务的当前进度", name = "processRate") @ApiModelProperty(value = "任务的当前进度", name = "processRate")
private BigDecimal processRate; private Double processRate;
//头像 //头像
@ApiModelProperty(value = "头像", name = "avatar") @ApiModelProperty(value = "头像", name = "avatar")
private String avatar; private String avatar;

View File

@ -145,38 +145,40 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
log.info("绩效任务修改操作。。。"); log.info("绩效任务修改操作。。。");
resultTask = resultTaskMapper.selectResultTaskById(tasklId); resultTask = resultTaskMapper.selectResultTaskById(tasklId);
resultTask.setOrderBy(req.getOrderBy());
resultTask.setName(req.getName());
resultTask.setProcessRate(req.getProcessRate());
resultTaskMapper.updateResultTaskById(resultTask);
int i = changeTaskProcess(resultTask, req); int i = changeTaskProcess(resultTask, req);
if(i<1){ if(i<1){
log.info("任务暂无变化,不做修改"); log.info("任务暂无变化,不做修改");
} }
resultTask.setOrderBy(req.getOrderBy());
resultTask.setName(req.getName());
resultTask.setProcessRate(req.getProcessRate());
resultTaskMapper.updateCoverResultTaskById(resultTask);
} }
//修改总进度 //修改总进度
if(detailId == null){ if(detailId == null){
detailId = resultTask.getDetailId(); detailId = resultTask.getDetailId();
} }
ResultDetail resultDetail = resultDetailService.selectResultDetailById(detailId); ResultDetail resultDetail = resultDetailService.selectResultDetailById(detailId);
resultDetail.setProcessRate(caclateResultDetailProcess(detailId)); resultDetail.setProcessRate(BigDecimal.valueOf(caclateResultDetailProcess(detailId)));
return resultDetailService.updateResultDetailById(resultDetail); return resultDetailService.updateResultDetailById(resultDetail);
} }
//计算总进度 //计算总进度
private BigDecimal caclateResultDetailProcess(Long detailId){ private Double caclateResultDetailProcess(Long detailId){
List<ResultTaskDto> resultTaskDtos = resultTaskMapper.selectResultTaskDtosByDetailId(detailId); List<ResultTaskDto> resultTaskDtos = resultTaskMapper.selectResultTaskDtosByDetailId(detailId);
if(CollectionUtils.isEmpty(resultTaskDtos)){ if(CollectionUtils.isEmpty(resultTaskDtos)){
log.info("未找到该绩效详情下得任务信息"); log.info("未找到该绩效详情下得任务信息");
return BigDecimal.ZERO; return 0d;
} }
int size = resultTaskDtos.size(); int size = resultTaskDtos.size();
BigDecimal rate = BigDecimal.ZERO; Double rate = 0d;
for(ResultTaskDto dto:resultTaskDtos){ for(ResultTaskDto dto:resultTaskDtos){
rate = BigDecimalUtil.add(rate,dto.getProcessRate()); rate = BigDecimalUtil.add(rate,dto.getProcessRate());
} }
return BigDecimalUtil.divide(rate,BigDecimal.valueOf(size)).setScale(4); double result = BigDecimalUtil.div(rate, size, 4);
return result;
} }
@ -187,16 +189,16 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
//新增操作 //新增操作
if(before == null){ if(before == null){
taskProcessRecord.setType(ProcessRecordEnum.ADD.getType()); taskProcessRecord.setType(ProcessRecordEnum.ADD.getType());
taskProcessRecord.setLabel("新增key Results名称" + after.getName() + "进度:" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)) + "%"); taskProcessRecord.setLabel("新增key Results名称" + after.getName() + "进度:" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
taskProcessRecord.setTaskId(before.getId()); taskProcessRecord.setTaskId(before.getId());
//判断修改了名称或进度 //判断修改了名称或进度
if(before.getName().equals(after.getName())){ if(!before.getName().equals(after.getName())){
if(before.getProcessRate().equals(after.getProcessRate())){ if(!before.getProcessRate().equals(after.getProcessRate())){
taskProcessRecord.setType(ProcessRecordEnum.ALL.getType()); taskProcessRecord.setType(ProcessRecordEnum.ALL.getType());
taskProcessRecord.setLabel("将key Results名称" + before.getName() + "改为" + after.getName() + "\n" taskProcessRecord.setLabel("将key Results名称" + before.getName() + "改为" + after.getName() + "\n"
+ "进度:" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)) + "%" + "改为" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)) + "%"); + "进度:" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "改为" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
@ -205,14 +207,16 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
if(before.getProcessRate().equals(after.getProcessRate())){ if(!before.getProcessRate().equals(after.getProcessRate())){
taskProcessRecord.setType(ProcessRecordEnum.PROCESS.getType()); taskProcessRecord.setType(ProcessRecordEnum.PROCESS.getType());
taskProcessRecord.setLabel("" +before.getName() + "得进度由" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)) + "%" + "更新为:" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)) + "%"); taskProcessRecord.setLabel("" +before.getName() + "得进度由" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "更新为:" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
return -1; return -1;
} }
@Override @Override
public List<ResultTask> selectResultTasksByDetailId(Long detailId){ public List<ResultTask> selectResultTasksByDetailId(Long detailId){
return resultTaskMapper.selectResultTasksByDetailId(detailId); return resultTaskMapper.selectResultTasksByDetailId(detailId);
@ -240,7 +244,7 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord); taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord);
//修改总进度 //修改总进度
ResultDetail resultDetail = resultDetailService.selectResultDetailById(resultTask.getDetailId()); ResultDetail resultDetail = resultDetailService.selectResultDetailById(resultTask.getDetailId());
resultDetail.setProcessRate(caclateResultDetailProcess(resultTask.getDetailId())); resultDetail.setProcessRate(BigDecimal.valueOf(caclateResultDetailProcess(resultTask.getDetailId())));
resultDetailService.updateResultDetailById(resultDetail); resultDetailService.updateResultDetailById(resultDetail);
} }