This commit is contained in:
杜建超 2020-12-11 18:19:58 +08:00
parent cb000f0ace
commit fcc6f13d76
4 changed files with 63 additions and 23 deletions

View File

@ -43,7 +43,7 @@ public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, Schedule
CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId()); CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId());
//如果不存在则创建 //如果不存在则创建
if(cronTrigger == null) { if(cronTrigger == null) {
ScheduleUtils.createScheduleJob(scheduler, scheduleJob); //ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
}else { }else {
ScheduleUtils.updateScheduleJob(scheduler, scheduleJob); ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
} }

View File

@ -6,11 +6,15 @@ package com.lz.modules.performance.enums;
* @Date: 2020/12/9 14:08 * @Date: 2020/12/9 14:08
*/ */
public enum ProcessRecordEnum { public enum ProcessRecordEnum {
NAME(1,"更新了名称"), NAME(1,"修改名称"),
PROCESS(2,"更新了进度"), PROCESS(2,"更新了进度"),
ALL(3,"更新了名称和进度"), NAME_PROCESS(3,"更新了名称和进度"),
ADD(4,"增加了任务"), REMARK(4,"修改进度说明"),
DELETE(5,"删除了任务"), NAME_REMARK(5,"修改了名称和进度说明"),
PROCESS_REMARK(6,"修改了进度和进度说明"),
ALL(7,"都修改"),
ADD(8,"新增"),
DELETE(9,"删除"),
; ;

View File

@ -2,6 +2,7 @@ package com.lz.modules.performance.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lz.common.utils.BigDecimalUtil; import com.lz.common.utils.BigDecimalUtil;
import com.lz.common.utils.StringUtil;
import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.entity.StaffEntity;
import com.lz.modules.app.service.StaffService; import com.lz.modules.app.service.StaffService;
import com.lz.modules.performance.dao.ResultTaskMapper; import com.lz.modules.performance.dao.ResultTaskMapper;
@ -19,6 +20,7 @@ import com.lz.modules.sys.entity.app.ResultDetail;
import com.lz.modules.sys.service.app.ResultDetailService; import com.lz.modules.sys.service.app.ResultDetailService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -138,13 +140,14 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
resultTaskMapper.insertResultTask(resultTask); resultTaskMapper.insertResultTask(resultTask);
//将插入的id传递过去 //将插入的id传递过去
req.setTaskId(resultTask.getId()); req.setTaskId(resultTask.getId());
int i = changeTaskProcess(null, req); int i = changeTaskProcess(null, req,null);
} }
else { else {
log.info("绩效任务修改操作。。。"); log.info("绩效任务修改操作。。。");
resultTask = resultTaskMapper.selectResultTaskById(tasklId); resultTask = resultTaskMapper.selectResultTaskById(tasklId);
int i = changeTaskProcess(resultTask, req); TaskProcessRecordDto taskProcessRecordDto = taskProcessRecordMapper.selectTaskProcessRecordLastByTaskId(tasklId);
int i = changeTaskProcess(resultTask, req,taskProcessRecordDto);
if(i<1){ if(i<1){
log.info("任务暂无变化,不做修改"); log.info("任务暂无变化,不做修改");
} }
@ -182,38 +185,68 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
} }
//记录变更记录 //记录变更记录
private int changeTaskProcess(ResultTask before,ResultUpdateTaskReq after){ private int changeTaskProcess(ResultTask beforeResultTask,ResultUpdateTaskReq req,TaskProcessRecordDto beforeTaskProcessRecord){
TaskProcessRecord taskProcessRecord = new TaskProcessRecord(); TaskProcessRecord taskProcessRecord = new TaskProcessRecord();
BeanUtils.copyProperties(after,taskProcessRecord); BeanUtils.copyProperties(req,taskProcessRecord);
//新增操作 //新增操作
if(before == null){ if(beforeResultTask == null){
taskProcessRecord.setType(ProcessRecordEnum.ADD.getType()); taskProcessRecord.setType(ProcessRecordEnum.ADD.getType());
taskProcessRecord.setDetailId(after.getDetailId()); taskProcessRecord.setLabel("新增key Results名称" + req.getName() + ";进度:" + BigDecimalUtil.mul(req.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
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.setDetailId(before.getDetailId());
//判断修改了名称或进度 //判断修改了名称或进度
if(!before.getName().equals(after.getName())){ int i = 0;
if(BigDecimalUtil.compareTo(before.getProcessRate(),after.getProcessRate())!=0){ String lebel = "key Results名称" + beforeResultTask.getName();
if(!beforeResultTask.getName().equals(req.getName())) {
i|= (0x00000001<<0);
lebel = lebel + " 改为 " + req.getName() + "\n";
}
if(BigDecimalUtil.compareTo(beforeResultTask.getProcessRate(),req.getProcessRate())!=0){
i|= (0x00000001<<1);
lebel = lebel + "将进度:" +BigDecimalUtil.mul(beforeResultTask.getProcessRate(),BigDecimal.valueOf(100)).setScale(2)+ "%" + " 改为 " + BigDecimalUtil.mul(req.getProcessRate(),BigDecimal.valueOf(100)).setScale(2)+ "%";
}
String remark = StringUtil.EMPTY;
if(req.getRemark() != null){
if(beforeTaskProcessRecord != null){
remark = beforeTaskProcessRecord.getRemark();
}
if(beforeTaskProcessRecord == null ||(!req.getRemark().equals(beforeTaskProcessRecord.getRemark()))){
i|= (0x00000001<<2);
lebel = lebel + "将进度说明:" + remark + " 改为 " + req.getRemark();
}
}
if(i==0){
return -1;
}
taskProcessRecord.setTaskId(beforeResultTask.getId());
taskProcessRecord.setDetailId(beforeResultTask.getDetailId());
taskProcessRecord.setType(i);
taskProcessRecord.setLabel(lebel);
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
/*if(!beforeResultTask.getName().equals(req.getName())){
if(BigDecimalUtil.compareTo(beforeResultTask.getProcessRate(),req.getProcessRate())!=0){
taskProcessRecord.setType(ProcessRecordEnum.ALL.getType()); taskProcessRecord.setType(ProcessRecordEnum.ALL.getType());
taskProcessRecord.setLabel("将key Results名称" + before.getName() + "改为" + after.getName() + "\n" taskProcessRecord.setLabel("将key Results名称" + beforeResultTask.getName() + "改为" + req.getName() + "\n"
+ "进度:" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "改为" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%"); + "进度:" + BigDecimalUtil.mul(beforeResultTask.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "改为" + BigDecimalUtil.mul(req.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
taskProcessRecord.setType(ProcessRecordEnum.NAME.getType()); taskProcessRecord.setType(ProcessRecordEnum.NAME.getType());
taskProcessRecord.setLabel("将key Results名称" + before.getName() + "改为" + after.getName()); taskProcessRecord.setLabel("将key Results名称" + beforeResultTask.getName() + "改为" + req.getName());
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
if(BigDecimalUtil.compareTo(before.getProcessRate(),after.getProcessRate())!=0){ if(BigDecimalUtil.compareTo(beforeResultTask.getProcessRate(),req.getProcessRate())!=0){
taskProcessRecord.setType(ProcessRecordEnum.PROCESS.getType()); taskProcessRecord.setType(ProcessRecordEnum.PROCESS.getType());
taskProcessRecord.setLabel("" +before.getName() + "得进度由" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "更新为:" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%"); taskProcessRecord.setLabel("" +beforeResultTask.getName() + "得进度由" + BigDecimalUtil.mul(beforeResultTask.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "更新为:" + BigDecimalUtil.mul(req.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue(); return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
} }
return -1; return -1;*/
} }
@ -252,4 +285,5 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
public List<ResultTaskDto> selectResultTaskDtosByDetailId(Long detailId){ public List<ResultTaskDto> selectResultTaskDtosByDetailId(Long detailId){
return resultTaskMapper.selectResultTaskDtosByDetailId(detailId); return resultTaskMapper.selectResultTaskDtosByDetailId(detailId);
} }
} }

View File

@ -131,7 +131,9 @@ public class TaskProcessRecordServiceImpl extends ServiceImpl<TaskProcessRecordM
for(TaskProcessRecordDto dto:dtos){ for(TaskProcessRecordDto dto:dtos){
ResultTask resultTask = resultTaskService.selectResultTaskById(dto.getTaskId()); ResultTask resultTask = resultTaskService.selectResultTaskById(dto.getTaskId());
Optional.ofNullable(resultTask).ifPresent(resultTask1 -> dto.setTaskName(resultTask1.getName())); Optional.ofNullable(resultTask).ifPresent(resultTask1 -> dto.setTaskName(resultTask1.getName()));
if(dto.getUseType()==0){
dto.setTypeDesc(ProcessRecordEnum.findByType(dto.getType()).getDesc()); dto.setTypeDesc(ProcessRecordEnum.findByType(dto.getType()).getDesc());
}
Optional.ofNullable(staffEntity).ifPresent(staffEntity1 -> { Optional.ofNullable(staffEntity).ifPresent(staffEntity1 -> {
dto.setAvatar(staffEntity1.getAvatar()); dto.setAvatar(staffEntity1.getAvatar());
dto.setStaffName(staffEntity1.getName()); dto.setStaffName(staffEntity1.getName());