提交修改
This commit is contained in:
parent
104f818e4a
commit
73619c25c1
@ -19,7 +19,6 @@ import com.lz.modules.sys.entity.app.ResultDetail;
|
|||||||
import com.lz.modules.sys.entity.app.ResultRecord;
|
import com.lz.modules.sys.entity.app.ResultRecord;
|
||||||
import com.lz.modules.sys.service.app.ResultDetailService;
|
import com.lz.modules.sys.service.app.ResultDetailService;
|
||||||
import com.lz.modules.sys.service.app.ResultRecordService;
|
import com.lz.modules.sys.service.app.ResultRecordService;
|
||||||
import com.mchange.lang.IntegerUtils;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.map.HashedMap;
|
import org.apache.commons.collections.map.HashedMap;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@ -33,13 +32,13 @@ import java.util.function.Function;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 发起考核表 服务类
|
* 发起考核表 服务类
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author quyixiao
|
* @author quyixiao
|
||||||
* @since 2020-10-13
|
* @since 2020-10-13
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -89,55 +88,45 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
private DingtalkBusiness dingtalkBusiness;
|
private DingtalkBusiness dingtalkBusiness;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FlowStart selectFlowStartById(Long id){
|
public FlowStart selectFlowStartById(Long id) {
|
||||||
return flowStartMapper.selectFlowStartById(id);
|
return flowStartMapper.selectFlowStartById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long insertFlowStart(FlowStart flowStart){
|
public Long insertFlowStart(FlowStart flowStart) {
|
||||||
return flowStartMapper.insertFlowStart(flowStart);
|
return flowStartMapper.insertFlowStart(flowStart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateFlowStartById(FlowStart flowStart){
|
public int updateFlowStartById(FlowStart flowStart) {
|
||||||
return flowStartMapper.updateFlowStartById(flowStart);
|
return flowStartMapper.updateFlowStartById(flowStart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateCoverFlowStartById(FlowStart flowStart){
|
public int updateCoverFlowStartById(FlowStart flowStart) {
|
||||||
return flowStartMapper.updateCoverFlowStartById(flowStart);
|
return flowStartMapper.updateCoverFlowStartById(flowStart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int deleteFlowStartById(Long id){
|
public int deleteFlowStartById(Long id) {
|
||||||
return flowStartMapper.deleteFlowStartById(id);
|
return flowStartMapper.deleteFlowStartById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FlowStart selectFlowStartByName(String name){
|
public FlowStart selectFlowStartByName(String name) {
|
||||||
return flowStartMapper.selectFlowStartByName(name);
|
return flowStartMapper.selectFlowStartByName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
//发起指定用户的绩效,中途添加的时候
|
//发起指定用户的绩效,中途添加的时候
|
||||||
public R startStaffs(StartGroups startGroupStaffIds){
|
public R startStaffs(StartGroups startGroupStaffIds) {
|
||||||
log.info("发起指定用户的绩效,中途添加的时候{}", startGroupStaffIds);
|
log.info("发起指定用户的绩效,中途添加的时候{}", startGroupStaffIds);
|
||||||
FlowStart flowStart = flowStartMapper.selectFlowStartById(startGroupStaffIds.getStartId());
|
FlowStart flowStart = flowStartMapper.selectFlowStartById(startGroupStaffIds.getStartId());
|
||||||
if(flowStart == null){
|
if (flowStart == null) {
|
||||||
log.info("发起任务不存在");
|
log.info("发起任务不存在");
|
||||||
return R.error("发起任务不存在");
|
return R.error("发起任务不存在");
|
||||||
}
|
}
|
||||||
@ -147,10 +136,10 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
Map<Long, List<FlowChartRole>> selfMustRole = new HashMap<>();
|
Map<Long, List<FlowChartRole>> selfMustRole = new HashMap<>();
|
||||||
List<StaffSimpleInfo> noticeStaff = new ArrayList<>();
|
List<StaffSimpleInfo> noticeStaff = new ArrayList<>();
|
||||||
List<StartStartDto> resultRecords = new ArrayList<>();
|
List<StartStartDto> resultRecords = new ArrayList<>();
|
||||||
for (GroupStaffs groupStaffs:startGroupStaffIds.getGroups()
|
for (GroupStaffs groupStaffs : startGroupStaffIds.getGroups()
|
||||||
) {
|
) {
|
||||||
List<StaffSimpleInfo> staffSimpleInfos = staffService.selectStaffSimpleInfos(groupStaffs.getStaffIds());
|
List<StaffSimpleInfo> staffSimpleInfos = staffService.selectStaffSimpleInfos(groupStaffs.getStaffIds());
|
||||||
if(staffSimpleInfos.size() == 0){
|
if (staffSimpleInfos.size() == 0) {
|
||||||
log.info("无有效考核人员");
|
log.info("无有效考核人员");
|
||||||
R.error(groupStaffs.getEvaluationGroup().getName() + "——无有效考核人员");
|
R.error(groupStaffs.getEvaluationGroup().getName() + "——无有效考核人员");
|
||||||
}
|
}
|
||||||
@ -159,7 +148,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
evaluationGroupService.selectEvaluationGroupById(groupStaffs.getEvaluationGroup().getId());
|
evaluationGroupService.selectEvaluationGroupById(groupStaffs.getEvaluationGroup().getId());
|
||||||
//evaluationGroupService.selectEvaluationGroupByCopyId(groupStaffs.getEvaluationGroup().getId(),flowStart.getId());//20201218注释,不适用历史数据,使用最新模板数据
|
//evaluationGroupService.selectEvaluationGroupByCopyId(groupStaffs.getEvaluationGroup().getId(),flowStart.getId());//20201218注释,不适用历史数据,使用最新模板数据
|
||||||
StartStartDto startDto = start(evaluationGroup, flowStart, staffManages, staffSimpleInfos, mustRole, selfMustRole, false);
|
StartStartDto startDto = start(evaluationGroup, flowStart, staffManages, staffSimpleInfos, mustRole, selfMustRole, false);
|
||||||
switch (startDto.getStatus()){
|
switch (startDto.getStatus()) {
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置考核模板");
|
return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置考核模板");
|
||||||
@ -195,42 +184,42 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
ids.add("140");
|
ids.add("140");
|
||||||
ids.add("141");
|
ids.add("141");
|
||||||
ids.add("134");
|
ids.add("134");
|
||||||
Map<String, String> maps = ids.stream().collect(Collectors.toMap(e->e, e->e));
|
Map<String, String> maps = ids.stream().collect(Collectors.toMap(e -> e, e -> e));
|
||||||
|
|
||||||
System.out.println(maps);
|
System.out.println(maps);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R saveStart(FlowStart flowStart){
|
public R saveStart(FlowStart flowStart) {
|
||||||
log.info("发起考核{}", flowStart);
|
log.info("发起考核{}", flowStart);
|
||||||
//下面生成或者合并发起绩效
|
//下面生成或者合并发起绩效
|
||||||
if(flowStart.getStartTime() == null){
|
if (flowStart.getStartTime() == null) {
|
||||||
log.info("未设置有效考核月份");
|
log.info("未设置有效考核月份");
|
||||||
return R.error("未设置有效考核月份");
|
return R.error("未设置有效考核月份");
|
||||||
}
|
}
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");
|
||||||
String startDate = sdf.format(flowStart.getStartTime());
|
String startDate = sdf.format(flowStart.getStartTime());
|
||||||
|
|
||||||
if(flowStart.getCycleType().intValue() != 0){
|
if (flowStart.getCycleType().intValue() != 0) {
|
||||||
//月份
|
//月份
|
||||||
if(flowStart.getEndTime() == null){
|
if (flowStart.getEndTime() == null) {
|
||||||
log.info("未设置有效考核结束月份");
|
log.info("未设置有效考核结束月份");
|
||||||
return R.error("未设置有效考核结束月份");
|
return R.error("未设置有效考核结束月份");
|
||||||
}
|
}
|
||||||
String endDate = sdf.format(flowStart.getEndTime());
|
String endDate = sdf.format(flowStart.getEndTime());
|
||||||
flowStart.setName(startDate + "至" + endDate + "绩效考核");
|
flowStart.setName(startDate + "至" + endDate + "绩效考核");
|
||||||
}else{
|
} else {
|
||||||
flowStart.setName(startDate + "绩效考核");
|
flowStart.setName(startDate + "绩效考核");
|
||||||
}
|
}
|
||||||
List<String> newIds = new ArrayList<>();
|
List<String> newIds = new ArrayList<>();
|
||||||
FlowStart flowStart1 = selectFlowStartByName(flowStart.getName());
|
FlowStart flowStart1 = selectFlowStartByName(flowStart.getName());
|
||||||
if(flowStart1 == null){
|
if (flowStart1 == null) {
|
||||||
insertFlowStart(flowStart);
|
insertFlowStart(flowStart);
|
||||||
flowStart1 = flowStart;
|
flowStart1 = flowStart;
|
||||||
}else{
|
} else {
|
||||||
|
|
||||||
//因为保存的时拷贝后的组,所以这里查询原来的组
|
//因为保存的时拷贝后的组,所以这里查询原来的组
|
||||||
List<Long> lIds= Arrays.stream(flowStart1.getGroupIds().split(",")).map(new Function<String, Long>() {
|
List<Long> lIds = Arrays.stream(flowStart1.getGroupIds().split(",")).map(new Function<String, Long>() {
|
||||||
@Override
|
@Override
|
||||||
public Long apply(String s) {
|
public Long apply(String s) {
|
||||||
newIds.add(s);
|
newIds.add(s);
|
||||||
@ -239,7 +228,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
List<EvaluationGroup> evaluationGroups = evaluationGroupService.selectEvaluationGroupByCopyIds(lIds);
|
List<EvaluationGroup> evaluationGroups = evaluationGroupService.selectEvaluationGroupByCopyIds(lIds);
|
||||||
|
|
||||||
List<String> ids1= evaluationGroups.stream().map(new Function<EvaluationGroup, String>() {
|
List<String> ids1 = evaluationGroups.stream().map(new Function<EvaluationGroup, String>() {
|
||||||
@Override
|
@Override
|
||||||
public String apply(EvaluationGroup evaluationGroup) {
|
public String apply(EvaluationGroup evaluationGroup) {
|
||||||
return evaluationGroup.getId().toString();
|
return evaluationGroup.getId().toString();
|
||||||
@ -248,32 +237,31 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
//查询拷贝后的
|
//查询拷贝后的
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, String> maps = ids1.stream().collect(Collectors.toMap(e -> e, e -> e));
|
||||||
Map<String, String> maps = ids1.stream().collect(Collectors.toMap(e->e, e->e));
|
|
||||||
|
|
||||||
//求差集发起,但是历史记录怎么搞
|
//求差集发起,但是历史记录怎么搞
|
||||||
List<String> ids= Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function<String, String>() {
|
List<String> ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function<String, String>() {
|
||||||
@Override
|
@Override
|
||||||
public String apply(String s) {
|
public String apply(String s) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
for(int i = 0; i < ids.size();){//过滤掉已经发起的
|
for (int i = 0; i < ids.size(); ) {//过滤掉已经发起的
|
||||||
String str = ids.get(i);
|
String str = ids.get(i);
|
||||||
if(maps.containsKey(str)){
|
if (maps.containsKey(str)) {
|
||||||
ids.remove(str);
|
ids.remove(str);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ids.size() == 0){
|
if (ids.size() == 0) {
|
||||||
/*return R.ok("发起成功,该任务已经发起过")
|
/*return R.ok("发起成功,该任务已经发起过")
|
||||||
.put("data", flowStart1);*/
|
.put("data", flowStart1);*/
|
||||||
log.info("可能会使用历史数模板数据");
|
log.info("可能会使用历史数模板数据");
|
||||||
flowStart.setId(flowStart1.getId());
|
flowStart.setId(flowStart1.getId());
|
||||||
flowStart.setIsDelete(flowStart1.getIsDelete());
|
flowStart.setIsDelete(flowStart1.getIsDelete());
|
||||||
}else{
|
} else {
|
||||||
log.info("有新增组");
|
log.info("有新增组");
|
||||||
ids1.addAll(ids);
|
ids1.addAll(ids);
|
||||||
flowStart1.setGroupIds(ids1.stream().collect(Collectors.joining(",")));//把新的组信息加入,把拷贝前的组信息保存下来
|
flowStart1.setGroupIds(ids1.stream().collect(Collectors.joining(",")));//把新的组信息加入,把拷贝前的组信息保存下来
|
||||||
@ -305,24 +293,24 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
EvaluationGroup evaluationGroup = evaluationGroups.get(n);
|
EvaluationGroup evaluationGroup = evaluationGroups.get(n);
|
||||||
//下面初始化员工考核流程
|
//下面初始化员工考核流程
|
||||||
List<StaffSimpleInfo> staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup);
|
List<StaffSimpleInfo> staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup);
|
||||||
if(staffIds.size() == 0){
|
if (staffIds.size() == 0) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("无有效考核人员");
|
log.info("无有效考核人员");
|
||||||
return R.error(evaluationGroup.getName() + "——无有效考核人员");
|
return R.error(evaluationGroup.getName() + "——无有效考核人员");
|
||||||
}
|
}
|
||||||
if(flowStart.getIsDelete() != null){//已经发起过的
|
if (flowStart.getIsDelete() != null) {//已经发起过的
|
||||||
//下面去掉已经发起的用户
|
//下面去掉已经发起的用户
|
||||||
List<Long> longs = evaluationStartStaffService.selectStaffIdsByStartAndStaffId(flowStart.getId(), staffIds);
|
List<Long> longs = evaluationStartStaffService.selectStaffIdsByStartAndStaffId(flowStart.getId(), staffIds);
|
||||||
if(longs.size() > 0){
|
if (longs.size() > 0) {
|
||||||
Map<Long, StaffSimpleInfo> map
|
Map<Long, StaffSimpleInfo> map
|
||||||
= staffIds.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, e->e));
|
= staffIds.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, e -> e));
|
||||||
for (Long key:longs
|
for (Long key : longs
|
||||||
) {
|
) {
|
||||||
map.remove(key);
|
map.remove(key);
|
||||||
}
|
}
|
||||||
staffIds = map.values().stream().collect(Collectors.toList());
|
staffIds = map.values().stream().collect(Collectors.toList());
|
||||||
|
|
||||||
if(staffIds.size() == 0){
|
if (staffIds.size() == 0) {
|
||||||
log.info("本次发起参与人员为0");
|
log.info("本次发起参与人员为0");
|
||||||
return R.error(evaluationGroup.getName() + "——本次发起参与人员为0");
|
return R.error(evaluationGroup.getName() + "——本次发起参与人员为0");
|
||||||
}
|
}
|
||||||
@ -332,7 +320,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
|
|
||||||
|
|
||||||
StartStartDto startDto = start(evaluationGroup, flowStart, staffManages, staffIds, mustRole, selfMustRole, false);
|
StartStartDto startDto = start(evaluationGroup, flowStart, staffManages, staffIds, mustRole, selfMustRole, false);
|
||||||
switch (startDto.getStatus()){
|
switch (startDto.getStatus()) {
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
return R.error(evaluationGroup.getName() + "——没有设置考核模板");
|
return R.error(evaluationGroup.getName() + "——没有设置考核模板");
|
||||||
@ -358,14 +346,15 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
//dingtalkBusiness.sendWorkMSGWithAsyn(noticeStaff, WorkMsgTypeEnum.START_WORK.getType());
|
//dingtalkBusiness.sendWorkMSGWithAsyn(noticeStaff, WorkMsgTypeEnum.START_WORK.getType());
|
||||||
return R.ok("发起成功").put("data", flowStart);
|
return R.ok("发起成功").put("data", flowStart);
|
||||||
}
|
}
|
||||||
|
|
||||||
//isInsert表示是否中途加人
|
//isInsert表示是否中途加人
|
||||||
private StartStartDto start(EvaluationGroup evaluationGroup, FlowStart flowStart,
|
private StartStartDto start(EvaluationGroup evaluationGroup, FlowStart flowStart,
|
||||||
Map<String, List<StaffEntity>> staffManages, List<StaffSimpleInfo> staffIds,
|
Map<String, List<StaffEntity>> staffManages, List<StaffSimpleInfo> staffIds,
|
||||||
Map<Long, List<FlowChartRole>> mustRole, Map<Long, List<FlowChartRole>> selfMustRole, boolean isInsert){
|
Map<Long, List<FlowChartRole>> mustRole, Map<Long, List<FlowChartRole>> selfMustRole, boolean isInsert) {
|
||||||
log.info("开始发起考评组考核{}", evaluationGroup);
|
log.info("开始发起考评组考核{}", evaluationGroup);
|
||||||
StartStartDto startStartDto = new StartStartDto();
|
StartStartDto startStartDto = new StartStartDto();
|
||||||
List<ResultModelDto> resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId());
|
List<ResultModelDto> resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId());
|
||||||
if(resultModelDtos.size() == 0){
|
if (resultModelDtos.size() == 0) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("没有设置考核模板");
|
log.info("没有设置考核模板");
|
||||||
startStartDto.setStatus(1);
|
startStartDto.setStatus(1);
|
||||||
@ -373,21 +362,21 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<FlowChart> flowCharts = flowChartService.selectFlowChartsByGroupId(evaluationGroup.getId());
|
List<FlowChart> flowCharts = flowChartService.selectFlowChartsByGroupId(evaluationGroup.getId());
|
||||||
if(flowCharts.size() == 0){
|
if (flowCharts.size() == 0) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("无有效绩效流程节点");
|
log.info("无有效绩效流程节点");
|
||||||
startStartDto.setStatus(2);
|
startStartDto.setStatus(2);
|
||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
List<FlowChartDetailRecord> flowChartDetailRecords = new ArrayList<>();
|
List<FlowChartDetailRecord> flowChartDetailRecords = new ArrayList<>();
|
||||||
for (FlowChart chart:flowCharts
|
for (FlowChart chart : flowCharts
|
||||||
) {//按照节点顺序获取正确的流程
|
) {//按照节点顺序获取正确的流程
|
||||||
List<FlowChartDetailRecord> flowChartDetailRecords1
|
List<FlowChartDetailRecord> flowChartDetailRecords1
|
||||||
= flowChartDetailRecordService.selectOpenFlowChartDetailRecordByGroupIdAndChartId(evaluationGroup.getId(), chart.getId());
|
= flowChartDetailRecordService.selectOpenFlowChartDetailRecordByGroupIdAndChartId(evaluationGroup.getId(), chart.getId());
|
||||||
flowChartDetailRecords.addAll(flowChartDetailRecords1);
|
flowChartDetailRecords.addAll(flowChartDetailRecords1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(flowChartDetailRecords.size() == 0){
|
if (flowChartDetailRecords.size() == 0) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("没有设置考核流程");
|
log.info("没有设置考核流程");
|
||||||
startStartDto.setStatus(3);
|
startStartDto.setStatus(3);
|
||||||
@ -399,7 +388,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
//获取绩效考核管理员
|
//获取绩效考核管理员
|
||||||
List<StaffEntity> staffManagers = staffService.selectStaffsByGroupId(evaluationGroup.getCopyId());
|
List<StaffEntity> staffManagers = staffService.selectStaffsByGroupId(evaluationGroup.getCopyId());
|
||||||
|
|
||||||
if(staffManagers == null || staffManagers.size() == 0){
|
if (staffManagers == null || staffManagers.size() == 0) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("没有设置绩效管理人员");
|
log.info("没有设置绩效管理人员");
|
||||||
startStartDto.setStatus(4);
|
startStartDto.setStatus(4);
|
||||||
@ -410,7 +399,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
List<Flow> flows;
|
List<Flow> flows;
|
||||||
List<FlowApprovalRole> flowApprovalRoles;
|
List<FlowApprovalRole> flowApprovalRoles;
|
||||||
//下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id
|
//下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id
|
||||||
if(!isInsert){
|
if (!isInsert) {
|
||||||
evaluationGroup.setCopyId(evaluationGroup.getId());
|
evaluationGroup.setCopyId(evaluationGroup.getId());
|
||||||
evaluationGroup.setId(null);
|
evaluationGroup.setId(null);
|
||||||
evaluationGroup.setGmtCreate(null);
|
evaluationGroup.setGmtCreate(null);
|
||||||
@ -421,7 +410,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
//拷贝考评组的指标信息
|
//拷贝考评组的指标信息
|
||||||
List<ResultTagetLib> resultTagetLibs = new ArrayList<>();
|
List<ResultTagetLib> resultTagetLibs = new ArrayList<>();
|
||||||
|
|
||||||
for (ResultModelDto dto:resultModelDtos
|
for (ResultModelDto dto : resultModelDtos
|
||||||
) {
|
) {
|
||||||
dto.setEvaluationGroupId(evaluationGroup.getId());//设置拷贝组的id
|
dto.setEvaluationGroupId(evaluationGroup.getId());//设置拷贝组的id
|
||||||
//下面拷贝一份考评组信息的维度信息
|
//下面拷贝一份考评组信息的维度信息
|
||||||
@ -432,7 +421,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
|
|
||||||
List<ResultTagetLibDto> libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId());
|
List<ResultTagetLibDto> libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId());
|
||||||
dto.setTagetLibs(libDtos);
|
dto.setTagetLibs(libDtos);
|
||||||
for (ResultTagetLibDto libDto: libDtos
|
for (ResultTagetLibDto libDto : libDtos
|
||||||
) {
|
) {
|
||||||
//下面拷贝考评组里面的指标信息
|
//下面拷贝考评组里面的指标信息
|
||||||
ResultTagetLib resultTagetLib = new ResultTagetLib();
|
ResultTagetLib resultTagetLib = new ResultTagetLib();
|
||||||
@ -443,33 +432,33 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
dto.setId(resultModel.getId());
|
dto.setId(resultModel.getId());
|
||||||
}
|
}
|
||||||
if(resultTagetLibs.size() > 0){
|
if (resultTagetLibs.size() > 0) {
|
||||||
//插入备份的考评组指标信息
|
//插入备份的考评组指标信息
|
||||||
resultTagetLibService.saveBatch(resultTagetLibs);
|
resultTagetLibService.saveBatch(resultTagetLibs);
|
||||||
}
|
}
|
||||||
//拷贝一份流程
|
//拷贝一份流程
|
||||||
for(FlowChartDetailRecord flowChartDetailRecord: flowChartDetailRecords){
|
for (FlowChartDetailRecord flowChartDetailRecord : flowChartDetailRecords) {
|
||||||
flowChartDetailRecord.setId(null);
|
flowChartDetailRecord.setId(null);
|
||||||
flowChartDetailRecord.setGmtCreate(null);
|
flowChartDetailRecord.setGmtCreate(null);
|
||||||
flowChartDetailRecord.setGmtModified(null);
|
flowChartDetailRecord.setGmtModified(null);
|
||||||
flowChartDetailRecord.setEvaluationGroupId(evaluationGroup.getId());
|
flowChartDetailRecord.setEvaluationGroupId(evaluationGroup.getId());
|
||||||
}
|
}
|
||||||
flowChartDetailRecordService.saveBatch(flowChartDetailRecords);
|
flowChartDetailRecordService.saveBatch(flowChartDetailRecords);
|
||||||
}else{
|
} else {
|
||||||
|
|
||||||
if(evaluationGroup == null){
|
if (evaluationGroup == null) {
|
||||||
log.info("无法找到拷贝组信息");
|
log.info("无法找到拷贝组信息");
|
||||||
startStartDto.setStatus(5);
|
startStartDto.setStatus(5);
|
||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId());
|
resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId());
|
||||||
if(resultModelDtos.size() == 0){
|
if (resultModelDtos.size() == 0) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("拷贝组的维度信息错误");
|
log.info("拷贝组的维度信息错误");
|
||||||
startStartDto.setStatus(1);
|
startStartDto.setStatus(1);
|
||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
for (ResultModelDto modelDto:resultModelDtos
|
for (ResultModelDto modelDto : resultModelDtos
|
||||||
) {
|
) {
|
||||||
List<ResultTagetLibDto> resultTagetLibDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(modelDto.getId());
|
List<ResultTagetLibDto> resultTagetLibDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(modelDto.getId());
|
||||||
modelDto.setTagetLibs(resultTagetLibDtos);
|
modelDto.setTagetLibs(resultTagetLibDtos);
|
||||||
@ -481,7 +470,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
List<EvaluationStartStaff> evaluationStartStaffs = new ArrayList<>();
|
List<EvaluationStartStaff> evaluationStartStaffs = new ArrayList<>();
|
||||||
List<ResultDetail> resultDetails = new ArrayList();
|
List<ResultDetail> resultDetails = new ArrayList();
|
||||||
//下面初始化参与人员
|
//下面初始化参与人员
|
||||||
for (StaffSimpleInfo staffInfo:staffIds
|
for (StaffSimpleInfo staffInfo : staffIds
|
||||||
) {
|
) {
|
||||||
|
|
||||||
EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff();
|
EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff();
|
||||||
@ -514,18 +503,17 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
resultRecordService.insertResultRecord(resultRecord);
|
resultRecordService.insertResultRecord(resultRecord);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//resultRecordService.initFlowRecord(resultRecord.getId());
|
//resultRecordService.initFlowRecord(resultRecord.getId());
|
||||||
|
|
||||||
//下面生成实际的考核流程
|
//下面生成实际的考核流程
|
||||||
staffInfo.setResultRecord(resultRecord);
|
staffInfo.setResultRecord(resultRecord);
|
||||||
staffInfo.setFlowStart(flowStart);
|
staffInfo.setFlowStart(flowStart);
|
||||||
for (ResultModelDto modelDto:resultModelDtos
|
for (ResultModelDto modelDto : resultModelDtos
|
||||||
) {
|
) {
|
||||||
|
|
||||||
log.info("发起考核,modelDto:{}, tagetLibsSize:{}", modelDto, modelDto.getTagetLibs().size());
|
log.info("发起考核,modelDto:{}, tagetLibsSize:{}", modelDto, modelDto.getTagetLibs().size());
|
||||||
if(modelDto.getTagetLibs() != null && modelDto.getTagetLibs().size() > 0){//模板里面有添加指标
|
if (modelDto.getTagetLibs() != null && modelDto.getTagetLibs().size() > 0) {//模板里面有添加指标
|
||||||
for (ResultTagetLibDto libDto:
|
for (ResultTagetLibDto libDto :
|
||||||
modelDto.getTagetLibs()) {
|
modelDto.getTagetLibs()) {
|
||||||
|
|
||||||
ResultDetail resultDetail = new ResultDetail();
|
ResultDetail resultDetail = new ResultDetail();
|
||||||
@ -539,21 +527,21 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
resultDetail.setModelId(modelDto.getId());
|
resultDetail.setModelId(modelDto.getId());
|
||||||
resultDetails.add(resultDetail);
|
resultDetails.add(resultDetail);
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
log.info("无考评组信息");
|
log.info("无考评组信息");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//如果有数据插入lz_result_detail表
|
//如果有数据插入lz_result_detail表
|
||||||
log.info("发起考核,新增绩效详情个数{}", resultDetails.size());
|
log.info("发起考核,新增绩效详情个数{}", resultDetails.size());
|
||||||
if(resultDetails.size() > 0){
|
if (resultDetails.size() > 0) {
|
||||||
//
|
//
|
||||||
resultDetailService.saveBatch(resultDetails);
|
resultDetailService.saveBatch(resultDetails);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
evaluationStartStaffService.saveBatch(evaluationStartStaffs);
|
evaluationStartStaffService.saveBatch(evaluationStartStaffs);
|
||||||
startStartDto.setResultRecordList(resultRecords);
|
startStartDto.setResultRecordList(resultRecords);
|
||||||
flows = flowService.selectByFlowId(evaluationGroup.getId(),flowStart.getId());
|
flows = flowService.selectByFlowId(evaluationGroup.getId(), flowStart.getId());
|
||||||
List<Long> flowIds = flows.stream().map(new Function<Flow, Long>() {
|
List<Long> flowIds = flows.stream().map(new Function<Flow, Long>() {
|
||||||
@Override
|
@Override
|
||||||
public Long apply(Flow flow) {
|
public Long apply(Flow flow) {
|
||||||
@ -561,7 +549,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds);
|
flowApprovalRoles = flowApprovalRoleService.selectFlowApprovalRoleList(flowIds);
|
||||||
startStartDto.setFlows(flows);
|
startStartDto.setFlows(flows);
|
||||||
startStartDto.setFlowApprovalRoles(flowApprovalRoles);
|
startStartDto.setFlowApprovalRoles(flowApprovalRoles);
|
||||||
startStartDto.setStatus(0);
|
startStartDto.setStatus(0);
|
||||||
@ -572,7 +560,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
flows = new ArrayList<>();
|
flows = new ArrayList<>();
|
||||||
flowApprovalRoles = new ArrayList<>();
|
flowApprovalRoles = new ArrayList<>();
|
||||||
int stepIndex = 0;
|
int stepIndex = 0;
|
||||||
for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords
|
for (FlowChartDetailRecord flowChartDetailRecord : flowChartDetailRecords
|
||||||
) {//初始化考评组对应的的flow
|
) {//初始化考评组对应的的flow
|
||||||
Flow flow = new Flow();
|
Flow flow = new Flow();
|
||||||
flow.setFlowId(evaluationGroup.getId());
|
flow.setFlowId(evaluationGroup.getId());
|
||||||
@ -585,18 +573,18 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
FlowApprovalRole flowApprovalRole = null;
|
FlowApprovalRole flowApprovalRole = null;
|
||||||
List<FlowChartRole> flowChartRoles = null;
|
List<FlowChartRole> flowChartRoles = null;
|
||||||
//获取必备权限
|
//获取必备权限
|
||||||
if(mustRole.containsKey(flow.getChartId())){
|
if (mustRole.containsKey(flow.getChartId())) {
|
||||||
flowChartRoles = mustRole.get(flow.getChartId());
|
flowChartRoles = mustRole.get(flow.getChartId());
|
||||||
}else{
|
} else {
|
||||||
flowChartRoles =
|
flowChartRoles =
|
||||||
flowChartRoleService.selectFlowChartRolesByChartIdAndType(flow.getChartId(), 1);
|
flowChartRoleService.selectFlowChartRolesByChartIdAndType(flow.getChartId(), 1);
|
||||||
mustRole.put(flow.getChartId(), flowChartRoles);
|
mustRole.put(flow.getChartId(), flowChartRoles);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()){//指定人员的
|
if (flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()) {//指定人员的
|
||||||
|
|
||||||
String roles = null;
|
String roles = null;
|
||||||
if(flowChartRoles != null && flowChartRoles.size() > 0){//
|
if (flowChartRoles != null && flowChartRoles.size() > 0) {//
|
||||||
roles = flowChartRoles.stream().map(new Function<FlowChartRole, String>() {
|
roles = flowChartRoles.stream().map(new Function<FlowChartRole, String>() {
|
||||||
@Override
|
@Override
|
||||||
public String apply(FlowChartRole flowChartRole) {
|
public String apply(FlowChartRole flowChartRole) {
|
||||||
@ -607,7 +595,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
|
|
||||||
String[] optIds = flowChartDetailRecord.getOptIds().split(",");
|
String[] optIds = flowChartDetailRecord.getOptIds().split(",");
|
||||||
for (String id:optIds
|
for (String id : optIds
|
||||||
) {//初始化考评组对应的的FlowApprovalRole
|
) {//初始化考评组对应的的FlowApprovalRole
|
||||||
|
|
||||||
flowApprovalRole = new FlowApprovalRole();
|
flowApprovalRole = new FlowApprovalRole();
|
||||||
@ -618,26 +606,26 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
flowApprovalRole.setType(flowChartDetailRecord.getOptType());
|
flowApprovalRole.setType(flowChartDetailRecord.getOptType());
|
||||||
flowApprovalRoles.add(flowApprovalRole);
|
flowApprovalRoles.add(flowApprovalRole);
|
||||||
flowApprovalRole.setStepIndex(stepIndex);
|
flowApprovalRole.setStepIndex(stepIndex);
|
||||||
if(roles != null){
|
if (roles != null) {
|
||||||
if(flowApprovalRole.getRoleId() == null || flowApprovalRole.getRoleId().length() == 0){
|
if (flowApprovalRole.getRoleId() == null || flowApprovalRole.getRoleId().length() == 0) {
|
||||||
flowApprovalRole.setRoleId(roles);
|
flowApprovalRole.setRoleId(roles);
|
||||||
}else{
|
} else {
|
||||||
flowApprovalRole.setRoleId(flowApprovalRole.getRoleId() + "," + roles);
|
flowApprovalRole.setRoleId(flowApprovalRole.getRoleId() + "," + roles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(flowChartDetailRecord.getStepType().intValue() == 0){
|
if (flowChartDetailRecord.getStepType().intValue() == 0) {
|
||||||
//依次
|
//依次
|
||||||
stepIndex++;
|
stepIndex++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(flowApprovalRole != null){
|
if (flowApprovalRole != null) {
|
||||||
stepIndex = flowApprovalRole.getStepIndex() + 1;
|
stepIndex = flowApprovalRole.getStepIndex() + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.SELF.getCode()) {//参与人员为自己的
|
if (flowChartDetailRecord.getOptType().intValue() == ChartOptType.SELF.getCode()) {//参与人员为自己的
|
||||||
//获取被考核人的必备权限
|
//获取被考核人的必备权限
|
||||||
if (selfMustRole.containsKey(flow.getChartId())) {
|
if (selfMustRole.containsKey(flow.getChartId())) {
|
||||||
flowChartRoles.addAll(selfMustRole.get(flow.getChartId()));
|
flowChartRoles.addAll(selfMustRole.get(flow.getChartId()));
|
||||||
@ -656,16 +644,16 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
flowApprovalRoles.add(flowApprovalRole);
|
flowApprovalRoles.add(flowApprovalRole);
|
||||||
flowApprovalRole.setStepIndex(stepIndex);
|
flowApprovalRole.setStepIndex(stepIndex);
|
||||||
|
|
||||||
if(flowChartRoles != null && flowChartRoles.size() > 0){//
|
if (flowChartRoles != null && flowChartRoles.size() > 0) {//
|
||||||
String roles = flowChartRoles.stream().map(new Function<FlowChartRole, String>() {
|
String roles = flowChartRoles.stream().map(new Function<FlowChartRole, String>() {
|
||||||
@Override
|
@Override
|
||||||
public String apply(FlowChartRole flowChartRole) {
|
public String apply(FlowChartRole flowChartRole) {
|
||||||
return flowChartRole.getRoleId().toString();
|
return flowChartRole.getRoleId().toString();
|
||||||
}
|
}
|
||||||
}).collect(Collectors.joining(","));
|
}).collect(Collectors.joining(","));
|
||||||
if(flowApprovalRole.getRoleId() == null || flowApprovalRole.getRoleId().length() == 0){
|
if (flowApprovalRole.getRoleId() == null || flowApprovalRole.getRoleId().length() == 0) {
|
||||||
flowApprovalRole.setRoleId(roles);
|
flowApprovalRole.setRoleId(roles);
|
||||||
}else{
|
} else {
|
||||||
flowApprovalRole.setRoleId(flowApprovalRole.getRoleId() + "," + roles);
|
flowApprovalRole.setRoleId(flowApprovalRole.getRoleId() + "," + roles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -674,7 +662,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//插入记录/flowChart/saveDetailProcs
|
//插入记录/flowChart/saveDetailProcs
|
||||||
if(flowApprovalRoles.size() > 0){
|
if (flowApprovalRoles.size() > 0) {
|
||||||
flowApprovalRoleService.saveBatch(flowApprovalRoles);
|
flowApprovalRoleService.saveBatch(flowApprovalRoles);
|
||||||
|
|
||||||
//初始化lz_result_details数据
|
//初始化lz_result_details数据
|
||||||
@ -683,7 +671,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
List<EvaluationStartStaff> evaluationStartStaffs = new ArrayList<>();
|
List<EvaluationStartStaff> evaluationStartStaffs = new ArrayList<>();
|
||||||
|
|
||||||
//下面初始化参与人员
|
//下面初始化参与人员
|
||||||
for (StaffSimpleInfo staffInfo:staffIds
|
for (StaffSimpleInfo staffInfo : staffIds
|
||||||
) {
|
) {
|
||||||
|
|
||||||
EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff();
|
EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff();
|
||||||
@ -708,59 +696,57 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
resultRecord.setFlowProcess(0);//设置为目标制定
|
resultRecord.setFlowProcess(0);//设置为目标制定
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//下面初始化flow_staff_id_role字段,步骤为0的
|
//下面初始化flow_staff_id_role字段,步骤为0的
|
||||||
String roleJSON = "[";
|
String roleJSON = "[";
|
||||||
for (int i = 0; i < flowApprovalRoles.size() ;i++){
|
for (int i = 0; i < flowApprovalRoles.size(); i++) {
|
||||||
FlowApprovalRole approvalRole = flowApprovalRoles.get(i);
|
FlowApprovalRole approvalRole = flowApprovalRoles.get(i);
|
||||||
if(approvalRole.getStepIndex().intValue() == 0){//找到所有步骤为0的人员
|
if (approvalRole.getStepIndex().intValue() == 0) {//找到所有步骤为0的人员
|
||||||
Long staffId = approvalRole.getApprovalId();//默认为指定人员。
|
Long staffId = approvalRole.getApprovalId();//默认为指定人员。
|
||||||
if(approvalRole.getType().intValue() == ChartOptType.SELF.getCode()){
|
if (approvalRole.getType().intValue() == ChartOptType.SELF.getCode()) {
|
||||||
//制定人员为自己的
|
//制定人员为自己的
|
||||||
staffId = staffInfo.getId();
|
staffId = staffInfo.getId();
|
||||||
if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
if (i == 0) {//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
||||||
//设置当前审批员工id current_approval_staff_id
|
//设置当前审批员工id current_approval_staff_id
|
||||||
resultRecord.setCurrentApprovalStaffId(staffInfo.getId());
|
resultRecord.setCurrentApprovalStaffId(staffInfo.getId());
|
||||||
//设置当前审批员工姓名 current_approval_staff_name
|
//设置当前审批员工姓名 current_approval_staff_name
|
||||||
resultRecord.setCurrentApprovalStaffName(staffInfo.getName());
|
resultRecord.setCurrentApprovalStaffName(staffInfo.getName());
|
||||||
|
|
||||||
}
|
}
|
||||||
} else if(approvalRole.getType().intValue() > 0){//当设置为几级领导时
|
} else if (approvalRole.getType().intValue() > 0) {//当设置为几级领导时
|
||||||
///查找领导,如果不存在那么设置管理人员
|
///查找领导,如果不存在那么设置管理人员
|
||||||
List<StaffEntity> staffLeader;
|
List<StaffEntity> staffLeader;
|
||||||
String key = staffInfo.getDepartmentId() + "_" + approvalRole.getType();
|
String key = staffInfo.getDepartmentId() + "_" + approvalRole.getType();
|
||||||
if(staffManages.containsKey(key)){
|
if (staffManages.containsKey(key)) {
|
||||||
staffLeader = staffManages.get(staffInfo.getDepartmentId());
|
staffLeader = staffManages.get(staffInfo.getDepartmentId());
|
||||||
}else{
|
} else {
|
||||||
DepartManagers departManagers =
|
DepartManagers departManagers =
|
||||||
staffService.findLeader(staffInfo.getId(), approvalRole.getType());
|
staffService.findLeader(staffInfo.getId(), approvalRole.getType());
|
||||||
staffLeader = departManagers.getManagers();
|
staffLeader = departManagers.getManagers();
|
||||||
staffManages.put(key, departManagers.getManagers());
|
staffManages.put(key, departManagers.getManagers());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(staffLeader == null || staffLeader.size() == 0){
|
if (staffLeader == null || staffLeader.size() == 0) {
|
||||||
//没有领导,通知到组设置的绩效管理人员
|
//没有领导,通知到组设置的绩效管理人员
|
||||||
for (StaffEntity entity:staffManagers
|
for (StaffEntity entity : staffManagers
|
||||||
) {
|
) {
|
||||||
roleJSON += ("{\"roleId\":0,\"staffId\":" + entity.getId() + "},");//这里写死了权限为0的即为找不到领导
|
roleJSON += ("{\"roleId\":0,\"staffId\":" + entity.getId() + "},");//这里写死了权限为0的即为找不到领导
|
||||||
|
|
||||||
}
|
}
|
||||||
if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
if (i == 0) {//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
||||||
//设置当前审批员工id current_approval_staff_id
|
//设置当前审批员工id current_approval_staff_id
|
||||||
resultRecord.setCurrentApprovalStaffId(staffManagers.get(0).getId());
|
resultRecord.setCurrentApprovalStaffId(staffManagers.get(0).getId());
|
||||||
//设置当前审批员工姓名 current_approval_staff_name
|
//设置当前审批员工姓名 current_approval_staff_name
|
||||||
resultRecord.setCurrentApprovalStaffName(staffManagers.get(0).getName());
|
resultRecord.setCurrentApprovalStaffName(staffManagers.get(0).getName());
|
||||||
|
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
for(int j = 0; j <staffLeader.size(); j++ ){
|
for (int j = 0; j < staffLeader.size(); j++) {
|
||||||
StaffEntity staff = staffLeader.get(j);
|
StaffEntity staff = staffLeader.get(j);
|
||||||
|
|
||||||
roleJSON += ("{\"roleId\":"+ approvalRole.getRoleId() +
|
roleJSON += ("{\"roleId\":" + approvalRole.getRoleId() +
|
||||||
",\"staffId\":" + staff.getId() + "},");
|
",\"staffId\":" + staff.getId() + "},");
|
||||||
}
|
}
|
||||||
if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
if (i == 0) {//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
||||||
//设置当前审批员工id current_approval_staff_id
|
//设置当前审批员工id current_approval_staff_id
|
||||||
resultRecord.setCurrentApprovalStaffId(staffLeader.get(0).getId());
|
resultRecord.setCurrentApprovalStaffId(staffLeader.get(0).getId());
|
||||||
//设置当前审批员工姓名 current_approval_staff_name
|
//设置当前审批员工姓名 current_approval_staff_name
|
||||||
@ -770,8 +756,8 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}else{
|
} else {
|
||||||
if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
if (i == 0) {//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的
|
||||||
//设置当前审批员工id current_approval_staff_id
|
//设置当前审批员工id current_approval_staff_id
|
||||||
resultRecord.setCurrentApprovalStaffId(approvalRole.getApprovalId());
|
resultRecord.setCurrentApprovalStaffId(approvalRole.getApprovalId());
|
||||||
//设置当前审批员工姓名 current_approval_staff_name
|
//设置当前审批员工姓名 current_approval_staff_name
|
||||||
@ -780,7 +766,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
roleJSON += ("{\"roleId\":"+ approvalRole.getRoleId() +
|
roleJSON += ("{\"roleId\":" + approvalRole.getRoleId() +
|
||||||
",\"staffId\":" + staffId + "},");
|
",\"staffId\":" + staffId + "},");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -809,10 +795,10 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
|
|
||||||
//resultRecordService.initFlowRecord(resultRecord.getId());
|
//resultRecordService.initFlowRecord(resultRecord.getId());
|
||||||
//下面生成ResultDetail对象
|
//下面生成ResultDetail对象
|
||||||
for (ResultModelDto modelDto:resultModelDtos
|
for (ResultModelDto modelDto : resultModelDtos
|
||||||
) {
|
) {
|
||||||
if(modelDto.getTagetLibs() != null && modelDto.getTagetLibs().size() > 0){//模板里面有添加指标
|
if (modelDto.getTagetLibs() != null && modelDto.getTagetLibs().size() > 0) {//模板里面有添加指标
|
||||||
for (ResultTagetLibDto libDto:
|
for (ResultTagetLibDto libDto :
|
||||||
modelDto.getTagetLibs()) {
|
modelDto.getTagetLibs()) {
|
||||||
ResultDetail resultDetail = new ResultDetail();
|
ResultDetail resultDetail = new ResultDetail();
|
||||||
resultDetail.setRecordId(resultRecord.getId());
|
resultDetail.setRecordId(resultRecord.getId());
|
||||||
@ -832,12 +818,12 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
startStartDto.setFlowApprovalRoles(flowApprovalRoles);
|
startStartDto.setFlowApprovalRoles(flowApprovalRoles);
|
||||||
startStartDto.setFlows(flows);
|
startStartDto.setFlows(flows);
|
||||||
//如果有数据插入lz_result_detail表
|
//如果有数据插入lz_result_detail表
|
||||||
if(resultDetails.size() > 0){
|
if (resultDetails.size() > 0) {
|
||||||
//
|
//
|
||||||
resultDetailService.saveBatch(resultDetails);
|
resultDetailService.saveBatch(resultDetails);
|
||||||
}
|
}
|
||||||
evaluationStartStaffService.saveBatch(evaluationStartStaffs);
|
evaluationStartStaffService.saveBatch(evaluationStartStaffs);
|
||||||
}else{
|
} else {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
|
||||||
log.info("初始化考核流程失败");
|
log.info("初始化考核流程失败");
|
||||||
startStartDto.setStatus(5);
|
startStartDto.setStatus(5);
|
||||||
@ -849,16 +835,16 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R getModelById(Long id, int type){
|
public R getModelById(Long id, int type) {
|
||||||
/*EvaluationGroup evaluationGroup = evaluationGroupService.selectEvaluationGroupById(id);
|
/*EvaluationGroup evaluationGroup = evaluationGroupService.selectEvaluationGroupById(id);
|
||||||
List<StaffSimpleInfo> staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup);*/
|
List<StaffSimpleInfo> staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup);*/
|
||||||
//flowStart = flowStartService.selectFlowStartById(flowStart.getId());
|
//flowStart = flowStartService.selectFlowStartById(flowStart.getId());
|
||||||
DepartManagers staffEntity = staffService.findLeader(id, type);
|
DepartManagers staffEntity = staffService.findLeader(id, type);
|
||||||
return R.ok().put("data",staffEntity);
|
return R.ok().put("data", staffEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initFlowRecordAnsy(List<StartStartDto> resultRecords, List<StaffSimpleInfo> noticeStaff){
|
private void initFlowRecordAnsy(List<StartStartDto> resultRecords, List<StaffSimpleInfo> noticeStaff) {
|
||||||
if(resultRecords.size() > 0){
|
if (resultRecords.size() > 0) {
|
||||||
ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff);
|
ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff);
|
||||||
|
|
||||||
Thread thread = new Thread(threadInitFlowRecord);
|
Thread thread = new Thread(threadInitFlowRecord);
|
||||||
@ -868,11 +854,11 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ThreadInitFlowRecord implements Runnable{
|
public class ThreadInitFlowRecord implements Runnable {
|
||||||
List<StartStartDto> resultStarts;
|
List<StartStartDto> resultStarts;
|
||||||
List<StaffSimpleInfo> noticeStaff;
|
List<StaffSimpleInfo> noticeStaff;
|
||||||
|
|
||||||
public ThreadInitFlowRecord(List<StartStartDto> resultRecords, List<StaffSimpleInfo> noticeStaff){
|
public ThreadInitFlowRecord(List<StartStartDto> resultRecords, List<StaffSimpleInfo> noticeStaff) {
|
||||||
|
|
||||||
this.resultStarts = resultRecords;
|
this.resultStarts = resultRecords;
|
||||||
this.noticeStaff = noticeStaff;
|
this.noticeStaff = noticeStaff;
|
||||||
@ -880,25 +866,31 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
String oldNo = Logger.inheritableThreadLocalNo.get();//.threadLocalNo.get();
|
try {
|
||||||
String newNo = oldNo + "_initFlowRecord" ;//+ resultRecord.getStaffId() + "_" + resultRecord.getId();
|
|
||||||
ch.qos.logback.classic.Logger.threadLocalNo.set(newNo);
|
|
||||||
log.info("开始批量初始化流程,任务数量{}", resultStarts.size());
|
log.info("开始批量初始化流程,任务数量{}", resultStarts.size());
|
||||||
|
String oldNo = Logger.inheritableThreadLocalNo.get();
|
||||||
for (StartStartDto startStartDto: resultStarts
|
for (StartStartDto startStartDto : resultStarts) {
|
||||||
) {
|
try {
|
||||||
|
oldNo = Logger.inheritableThreadLocalNo.get();
|
||||||
|
String newNo = oldNo + "_initFlowRecord_" + startStartDto.getResultRecordList().get(0).getStartId();
|
||||||
|
Logger.threadLocalNo.set(newNo);
|
||||||
log.info("初始化任务中绩效数量{}", startStartDto.getResultRecordList().size());
|
log.info("初始化任务中绩效数量{}", startStartDto.getResultRecordList().size());
|
||||||
for (ResultRecord resultRecord:startStartDto.getResultRecordList()
|
for (ResultRecord resultRecord : startStartDto.getResultRecordList()) {
|
||||||
) {
|
|
||||||
log.info("初始化绩效{}", resultRecord);
|
log.info("初始化绩效{}", resultRecord);
|
||||||
resultRecordService.initFlowRecord(resultRecord, startStartDto.getFlows(), startStartDto.getFlowApprovalRoles());
|
resultRecordService.initFlowRecord(resultRecord, startStartDto.getFlows(), startStartDto.getFlowApprovalRoles());
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发出异常", e);
|
||||||
|
} finally {
|
||||||
|
Logger.threadLocalNo.set(oldNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Logger.threadLocalNo.set(oldNo);
|
||||||
|
dingtalkBusiness.sendWorkMSGWithAsyn(noticeStaff, WorkMsgTypeEnum.START_WORK.getType());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("异常", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ch.qos.logback.classic.Logger.threadLocalNo.set(oldNo);
|
|
||||||
dingtalkBusiness.sendWorkMSGWithAsyn(noticeStaff, WorkMsgTypeEnum.START_WORK.getType());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -796,6 +796,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R initFlowRecord(ResultRecord resultRecord, List<Flow> flows, List<FlowApprovalRole> flowApprovalRoles) {
|
public R initFlowRecord(ResultRecord resultRecord, List<Flow> flows, List<FlowApprovalRole> flowApprovalRoles) {
|
||||||
|
log.info("员工id :" + resultRecord.getStaffId() + " ,员工名称 " + resultRecord.getStaffName());
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) {
|
for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) {
|
||||||
FlowRecord flowRecord = new FlowRecord();
|
FlowRecord flowRecord = new FlowRecord();
|
||||||
@ -817,14 +818,17 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 5);
|
approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 5);
|
||||||
}
|
}
|
||||||
if (approvalStaff != null && StringUtil.isNotBlank(approvalStaff.getName())) {
|
if (approvalStaff != null && StringUtil.isNotBlank(approvalStaff.getName())) {
|
||||||
|
log.info("插入xxx");
|
||||||
insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, null);
|
insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, null);
|
||||||
} else {
|
} else {
|
||||||
List<StaffRole> staffRoles = staffRoleService.selectAllStaffRoleByDepartmentLevel(Arrays.asList(new String[]{RoleEnums.MASTER_PM.getName(), RoleEnums.CHILD_PM.getName()}));
|
List<StaffRole> staffRoles = staffRoleService.selectAllStaffRoleByDepartmentLevel(Arrays.asList(new String[]{RoleEnums.MASTER_PM.getName(), RoleEnums.CHILD_PM.getName()}));
|
||||||
for (StaffRole staffRole : staffRoles) {
|
for (StaffRole staffRole : staffRoles) {
|
||||||
approvalStaff = staffService.selectStaffById(staffRole.getStaffId());
|
approvalStaff = staffService.selectStaffById(staffRole.getStaffId());
|
||||||
if (staffRole.getDepartmentId() == 0) { //如果是管理所有部门
|
if (staffRole.getDepartmentId() == 0) { //如果是管理所有部门
|
||||||
|
log.info("如果是管理所有部门------");
|
||||||
insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, 1);
|
insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, 1);
|
||||||
} else {
|
} else {
|
||||||
|
log.info("222222222------");
|
||||||
DepartmentsStaffRelateEntity relateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(resultRecord.getStaffId());
|
DepartmentsStaffRelateEntity relateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(resultRecord.getStaffId());
|
||||||
Map<String, String> map = departmentsService.selectUserAllDepartmentIds(relateEntity.getDepartmentId());
|
Map<String, String> map = departmentsService.selectUserAllDepartmentIds(relateEntity.getDepartmentId());
|
||||||
List<StaffRoleDepartment> staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId());
|
List<StaffRoleDepartment> staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId());
|
||||||
@ -837,6 +841,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (flag) { //如果管理员是管理特定部门
|
if (flag) { //如果管理员是管理特定部门
|
||||||
|
log.info("如果管理员是管理特定部门===========");
|
||||||
insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, 1);
|
insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user