Merge branch 'version_performance_2.0' of http://gitlab.ldxinyong.com/enterpriseManagement/lz_management into version_performance_2.0

This commit is contained in:
wulin 2020-12-14 11:30:48 +08:00
commit 14af982954
5 changed files with 64 additions and 24 deletions

View File

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

View File

@ -6,11 +6,15 @@ package com.lz.modules.performance.enums;
* @Date: 2020/12/9 14:08
*/
public enum ProcessRecordEnum {
NAME(1,"更新了名称"),
NAME(1,"修改名称"),
PROCESS(2,"更新了进度"),
ALL(3,"更新了名称和进度"),
ADD(4,"增加了任务"),
DELETE(5,"删除了任务"),
NAME_PROCESS(3,"更新了名称和进度"),
REMARK(4,"修改进度说明"),
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.lz.common.utils.BigDecimalUtil;
import com.lz.common.utils.StringUtil;
import com.lz.modules.app.entity.StaffEntity;
import com.lz.modules.app.service.StaffService;
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -138,13 +140,14 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
resultTaskMapper.insertResultTask(resultTask);
//将插入的id传递过去
req.setTaskId(resultTask.getId());
int i = changeTaskProcess(null, req);
int i = changeTaskProcess(null, req,null);
}
else {
log.info("绩效任务修改操作。。。");
resultTask = resultTaskMapper.selectResultTaskById(tasklId);
int i = changeTaskProcess(resultTask, req);
TaskProcessRecordDto taskProcessRecordDto = taskProcessRecordMapper.selectTaskProcessRecordLastByTaskId(tasklId);
int i = changeTaskProcess(resultTask, req,taskProcessRecordDto);
if(i<1){
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();
BeanUtils.copyProperties(after,taskProcessRecord);
BeanUtils.copyProperties(req,taskProcessRecord);
//新增操作
if(before == null){
if(beforeResultTask == null){
taskProcessRecord.setType(ProcessRecordEnum.ADD.getType());
taskProcessRecord.setDetailId(after.getDetailId());
taskProcessRecord.setLabel("新增key Results名称" + after.getName() + ";进度:" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
taskProcessRecord.setLabel("新增key Results名称" + req.getName() + ";进度:" + BigDecimalUtil.mul(req.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
}
taskProcessRecord.setTaskId(before.getId());
taskProcessRecord.setDetailId(before.getDetailId());
//判断修改了名称或进度
if(!before.getName().equals(after.getName())){
if(BigDecimalUtil.compareTo(before.getProcessRate(),after.getProcessRate())!=0){
int i = 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 + "将进度说明更新为: " + 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.setLabel("将key Results名称" + before.getName() + "改为" + after.getName() + "\n"
+ "进度:" + BigDecimalUtil.mul(before.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "改为" + BigDecimalUtil.mul(after.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
taskProcessRecord.setLabel("将key Results名称" + beforeResultTask.getName() + "改为" + req.getName() + "\n"
+ "进度:" + BigDecimalUtil.mul(beforeResultTask.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%" + "改为" + BigDecimalUtil.mul(req.getProcessRate(),BigDecimal.valueOf(100)).setScale(2) + "%");
return taskProcessRecordService.insertTaskProcessRecord(taskProcessRecord).intValue();
}
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();
}
if(BigDecimalUtil.compareTo(before.getProcessRate(),after.getProcessRate())!=0){
if(BigDecimalUtil.compareTo(beforeResultTask.getProcessRate(),req.getProcessRate())!=0){
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 -1;
return -1;*/
}
@ -252,4 +285,5 @@ public class ResultTaskServiceImpl extends ServiceImpl<ResultTaskMapper, ResultT
public List<ResultTaskDto> selectResultTaskDtosByDetailId(Long detailId){
return resultTaskMapper.selectResultTaskDtosByDetailId(detailId);
}
}

View File

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

View File

@ -131,7 +131,7 @@
<select id="selectTaskProcessRecordsByTaskId" resultType="com.lz.modules.performance.dto.TaskProcessRecordDto">
select gmt_create,remark,label,type,name,use_type,detail_id from lz_task_process_record where task_id=#{taskId}
select gmt_create,remark,label,type,name,use_type,detail_id,task_id from lz_task_process_record where task_id=#{taskId}
<if test="useType !=null">
and use_type = #{useType}
</if>