子线程测试
This commit is contained in:
parent
103f53c0d5
commit
6a37769c08
@ -34,4 +34,6 @@ public interface FlowMapper extends BaseMapper<Flow> {
|
|||||||
|
|
||||||
|
|
||||||
List<Flow> selectByFlowId(@Param("flowId") Long flowId, @Param("startId") Long startId);
|
List<Flow> selectByFlowId(@Param("flowId") Long flowId, @Param("startId") Long startId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,12 +1,16 @@
|
|||||||
package com.lz.modules.flow.model;
|
package com.lz.modules.flow.model;
|
||||||
|
|
||||||
|
import com.lz.modules.flow.entity.Flow;
|
||||||
|
import com.lz.modules.flow.entity.FlowApprovalRole;
|
||||||
import com.lz.modules.sys.entity.app.ResultRecord;
|
import com.lz.modules.sys.entity.app.ResultRecord;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
public class StartStartDto {
|
public class StartStartDto {//发起一个考评组对应的返回的数据
|
||||||
private int status;
|
private int status;//返回结果
|
||||||
private List<ResultRecord> resultRecordList = new ArrayList<>();
|
private List<Flow> flows ;
|
||||||
|
private List<FlowApprovalRole> flowApprovalRoles;
|
||||||
|
private List<ResultRecord> resultRecordList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,4 +36,6 @@ public interface FlowService extends IService<Flow> {
|
|||||||
List<Flow> selectByFlowId(Long flowId,Long startId);
|
List<Flow> selectByFlowId(Long flowId,Long startId);
|
||||||
|
|
||||||
FlowChart selectFlowChartByChartId(Long flowId);
|
FlowChart selectFlowChartByChartId(Long flowId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -78,4 +78,6 @@ public class FlowServiceImpl extends ServiceImpl<FlowMapper, Flow> implements Fl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -161,7 +161,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
Map<Long, List<FlowChartRole>> mustRole = new HashMap<>();
|
Map<Long, List<FlowChartRole>> mustRole = new HashMap<>();
|
||||||
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<ResultRecord> 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());
|
||||||
@ -187,7 +187,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
return R.error(groupStaffs.getEvaluationGroup().getName() + "——初始化考核流程失败");
|
return R.error(groupStaffs.getEvaluationGroup().getName() + "——初始化考核流程失败");
|
||||||
case 0:
|
case 0:
|
||||||
noticeStaff.addAll(staffSimpleInfos);
|
noticeStaff.addAll(staffSimpleInfos);
|
||||||
resultRecords.addAll(startDto.getResultRecordList());
|
resultRecords.add(startDto);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,7 +276,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
Map<Long, List<FlowChartRole>> mustRole = new HashMap<>();
|
Map<Long, List<FlowChartRole>> mustRole = new HashMap<>();
|
||||||
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<ResultRecord> resultRecords = new ArrayList<>();
|
List<StartStartDto> resultRecords = new ArrayList<>();
|
||||||
for (int n = 0; n < evaluationGroups.size(); n++
|
for (int n = 0; n < evaluationGroups.size(); n++
|
||||||
) {
|
) {
|
||||||
EvaluationGroup evaluationGroup = evaluationGroups.get(n);
|
EvaluationGroup evaluationGroup = evaluationGroups.get(n);
|
||||||
@ -323,7 +323,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
return R.error(evaluationGroup.getName() + "——初始化考核流程失败");
|
return R.error(evaluationGroup.getName() + "——初始化考核流程失败");
|
||||||
case 0:
|
case 0:
|
||||||
noticeStaff.addAll(staffIds);
|
noticeStaff.addAll(staffIds);
|
||||||
resultRecords.addAll(startDto.getResultRecordList());
|
resultRecords.add(startDto);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -379,6 +379,9 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<ResultRecord> resultRecords = new ArrayList<>();
|
||||||
|
List<Flow> flows;
|
||||||
|
List<FlowApprovalRole> flowApprovalRoles;
|
||||||
//下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id
|
//下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id
|
||||||
if(!isInsert){
|
if(!isInsert){
|
||||||
evaluationGroup.setCopyId(evaluationGroup.getId());
|
evaluationGroup.setCopyId(evaluationGroup.getId());
|
||||||
@ -450,12 +453,10 @@ 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
|
||||||
) {
|
) {
|
||||||
staffInfo.setStartId(flowStart.getId());
|
staffInfo.setStartId(flowStart.getId());
|
||||||
|
|
||||||
EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff();
|
EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff();
|
||||||
evaluationStartStaff.setEvaluationId(evaluationGroup.getId());
|
evaluationStartStaff.setEvaluationId(evaluationGroup.getId());
|
||||||
evaluationStartStaff.setEvaluationName(evaluationGroup.getName());
|
evaluationStartStaff.setEvaluationName(evaluationGroup.getName());
|
||||||
@ -482,9 +483,9 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
resultRecord.setCurrentApprovalStaffId(staffInfo.getId());
|
resultRecord.setCurrentApprovalStaffId(staffInfo.getId());
|
||||||
//设置当前审批员工姓名 current_approval_staff_name
|
//设置当前审批员工姓名 current_approval_staff_name
|
||||||
resultRecord.setCurrentApprovalStaffName(staffInfo.getName());
|
resultRecord.setCurrentApprovalStaffName(staffInfo.getName());
|
||||||
|
resultRecords.add(resultRecord);
|
||||||
resultRecordService.insertResultRecord(resultRecord);
|
resultRecordService.insertResultRecord(resultRecord);
|
||||||
|
|
||||||
startStartDto.getResultRecordList().add(resultRecord);
|
|
||||||
|
|
||||||
|
|
||||||
//resultRecordService.initFlowRecord(resultRecord.getId());
|
//resultRecordService.initFlowRecord(resultRecord.getId());
|
||||||
@ -521,22 +522,35 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
evaluationStartStaffService.saveBatch(evaluationStartStaffs);
|
evaluationStartStaffService.saveBatch(evaluationStartStaffs);
|
||||||
|
startStartDto.setResultRecordList(resultRecords);
|
||||||
|
flows = flowService.selectByFlowId(evaluationGroup.getId(),flowStart.getId());
|
||||||
|
List<Long> flowIds = flows.stream().map(new Function<Flow, Long>() {
|
||||||
|
@Override
|
||||||
|
public Long apply(Flow flow) {
|
||||||
|
return flow.getId();
|
||||||
|
}
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds);
|
||||||
|
startStartDto.setFlows(flows);
|
||||||
|
startStartDto.setFlowApprovalRoles(flowApprovalRoles);
|
||||||
startStartDto.setStatus(0);
|
startStartDto.setStatus(0);
|
||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
//下面初始化lz_flow流程表 lz_flow_approval_role流程审批表
|
//下面初始化lz_flow流程表 lz_flow_approval_role流程审批表
|
||||||
List<FlowApprovalRole> flowApprovalRoles = new ArrayList<>();
|
flows = new ArrayList<>();
|
||||||
|
flowApprovalRoles = new ArrayList<>();
|
||||||
int stepIndex = 0;
|
int stepIndex = 0;
|
||||||
for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords
|
for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords
|
||||||
) {
|
) {//初始化考评组对应的的flow
|
||||||
Flow flow = new Flow();
|
Flow flow = new Flow();
|
||||||
flow.setFlowId(evaluationGroup.getId());
|
flow.setFlowId(evaluationGroup.getId());
|
||||||
flow.setOpt("+");
|
flow.setOpt("+");
|
||||||
flow.setStartId(flowStart.getId());
|
flow.setStartId(flowStart.getId());
|
||||||
flow.setChartId(flowChartDetailRecord.getChartId());
|
flow.setChartId(flowChartDetailRecord.getChartId());
|
||||||
flow.setOptDesc(chartNameMaps.get(flowChartDetailRecord.getChartId()));
|
flow.setOptDesc(chartNameMaps.get(flowChartDetailRecord.getChartId()));
|
||||||
|
flows.add(flow);
|
||||||
flowService.insertFlow(flow);
|
flowService.insertFlow(flow);
|
||||||
FlowApprovalRole flowApprovalRole = null;
|
FlowApprovalRole flowApprovalRole = null;
|
||||||
List<FlowChartRole> flowChartRoles = null;
|
List<FlowChartRole> flowChartRoles = null;
|
||||||
@ -564,7 +578,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 = new FlowApprovalRole();
|
flowApprovalRole = new FlowApprovalRole();
|
||||||
flowApprovalRole.setFlowId(flow.getId());
|
flowApprovalRole.setFlowId(flow.getId());
|
||||||
@ -637,7 +651,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
List<ResultDetail> resultDetails = new ArrayList<>();
|
List<ResultDetail> resultDetails = new ArrayList<>();
|
||||||
|
|
||||||
List<EvaluationStartStaff> evaluationStartStaffs = new ArrayList<>();
|
List<EvaluationStartStaff> evaluationStartStaffs = new ArrayList<>();
|
||||||
List<ResultRecord> resultRecords = new ArrayList<>();
|
|
||||||
//下面初始化参与人员
|
//下面初始化参与人员
|
||||||
for (StaffSimpleInfo staffInfo:staffIds
|
for (StaffSimpleInfo staffInfo:staffIds
|
||||||
) {
|
) {
|
||||||
@ -746,9 +760,11 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
roleJSON += "]";
|
roleJSON += "]";
|
||||||
roleJSON = roleJSON.replace(",]", "]");
|
roleJSON = roleJSON.replace(",]", "]");
|
||||||
resultRecord.setFlowStaffIdRole(roleJSON);
|
resultRecord.setFlowStaffIdRole(roleJSON);
|
||||||
|
resultRecords.add(resultRecord);
|
||||||
resultRecordService.insertResultRecord(resultRecord);
|
resultRecordService.insertResultRecord(resultRecord);
|
||||||
startStartDto.getResultRecordList().add(resultRecord);
|
|
||||||
|
|
||||||
|
//startStartDto.getResultRecordList().add(resultRecord);
|
||||||
staffInfo.setRecordId(resultRecord.getId());
|
staffInfo.setRecordId(resultRecord.getId());
|
||||||
//下面生成实际的考核流程
|
//下面生成实际的考核流程
|
||||||
|
|
||||||
@ -782,6 +798,9 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
startStartDto.setResultRecordList(resultRecords);
|
||||||
|
startStartDto.setFlowApprovalRoles(flowApprovalRoles);
|
||||||
|
startStartDto.setFlows(flows);
|
||||||
//如果有数据插入lz_result_detail表
|
//如果有数据插入lz_result_detail表
|
||||||
if(resultDetails.size() > 0){
|
if(resultDetails.size() > 0){
|
||||||
//
|
//
|
||||||
@ -794,6 +813,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
startStartDto.setStatus(5);
|
startStartDto.setStatus(5);
|
||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
startStartDto.setStatus(0);
|
startStartDto.setStatus(0);
|
||||||
return startStartDto;
|
return startStartDto;
|
||||||
}
|
}
|
||||||
@ -807,7 +827,7 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
return R.ok().put("data",staffEntity);
|
return R.ok().put("data",staffEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initFlowRecordAnsy(List<ResultRecord> 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);
|
||||||
|
|
||||||
@ -819,14 +839,13 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class ThreadInitFlowRecord implements Runnable{
|
public class ThreadInitFlowRecord implements Runnable{
|
||||||
List<ResultRecord> resultRecords = new ArrayList<>();
|
List<StartStartDto> resultRecords;
|
||||||
List<StaffSimpleInfo> noticeStaff = new ArrayList<>();
|
List<StaffSimpleInfo> noticeStaff;
|
||||||
|
|
||||||
public ThreadInitFlowRecord(List<ResultRecord> resultRecords, List<StaffSimpleInfo> noticeStaff){
|
public ThreadInitFlowRecord(List<StartStartDto> resultRecords, List<StaffSimpleInfo> noticeStaff){
|
||||||
//CollectionUtils.addAll(this.resultRecords, new Object[resultRecords.size()]);
|
|
||||||
//Collections.copy(resultRecords, resultRecords);
|
this.resultRecords = resultRecords;
|
||||||
this.resultRecords.addAll(resultRecords);
|
this.noticeStaff = noticeStaff;
|
||||||
this.noticeStaff.addAll(noticeStaff);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -836,9 +855,13 @@ public class FlowStartServiceImpl extends ServiceImpl<FlowStartMapper, FlowStart
|
|||||||
//ch.qos.logback.classic.Logger.threadLocalNo.set(newNo);
|
//ch.qos.logback.classic.Logger.threadLocalNo.set(newNo);
|
||||||
log.info("开始批量初始化流程,数量{}", resultRecords.size());
|
log.info("开始批量初始化流程,数量{}", resultRecords.size());
|
||||||
|
|
||||||
for (ResultRecord resultRecord:resultRecords
|
for (StartStartDto startStartDto:resultRecords
|
||||||
) {
|
) {
|
||||||
resultRecordService.initFlowRecord(resultRecord.getId());
|
for (ResultRecord resultRecord:startStartDto.getResultRecordList()
|
||||||
|
) {
|
||||||
|
resultRecordService.initFlowRecord(resultRecord, startStartDto.getFlows(), startStartDto.getFlowApprovalRoles());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import com.lz.modules.app.req.ResultRecordReq;
|
|||||||
import com.lz.modules.app.resp.OwnResultResp;
|
import com.lz.modules.app.resp.OwnResultResp;
|
||||||
import com.lz.modules.app.utils.t.TwoTuple;
|
import com.lz.modules.app.utils.t.TwoTuple;
|
||||||
import com.lz.modules.flow.entity.Flow;
|
import com.lz.modules.flow.entity.Flow;
|
||||||
|
import com.lz.modules.flow.entity.FlowApprovalRole;
|
||||||
import com.lz.modules.flow.model.StaffRoleDto;
|
import com.lz.modules.flow.model.StaffRoleDto;
|
||||||
import com.lz.modules.performance.req.AssessDetailReq;
|
import com.lz.modules.performance.req.AssessDetailReq;
|
||||||
import com.lz.modules.performance.req.OwnResultReq;
|
import com.lz.modules.performance.req.OwnResultReq;
|
||||||
@ -112,7 +113,9 @@ public interface ResultRecordService extends IService<ResultRecord> {
|
|||||||
|
|
||||||
R initFlowRecord(Long resultRecordId);
|
R initFlowRecord(Long resultRecordId);
|
||||||
|
|
||||||
R newApproval(ApprovalDto approvalDto) throws Exception;
|
R initFlowRecord(ResultRecord resultRecord, List<Flow> flows, List<FlowApprovalRole> flowApprovalRoles);
|
||||||
|
|
||||||
|
R newApproval(ApprovalDto approvalDto) throws Exception;
|
||||||
|
|
||||||
R newResultRecordList(RecordDetailDto recordDetailDto);
|
R newResultRecordList(RecordDetailDto recordDetailDto);
|
||||||
|
|
||||||
|
|||||||
@ -772,19 +772,19 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
@Override
|
@Override
|
||||||
public R initFlowRecord(Long resultRecordId) {
|
public R initFlowRecord(Long resultRecordId) {
|
||||||
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(resultRecordId);
|
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(resultRecordId);
|
||||||
log.info("record");
|
|
||||||
if(resultRecord == null){
|
|
||||||
log.info("record==null");
|
|
||||||
}
|
|
||||||
List<Flow> flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId());
|
List<Flow> flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId());
|
||||||
log.info("flows");
|
|
||||||
List<Long> flowIds = new ArrayList<>();
|
List<Long> flowIds = new ArrayList<>();
|
||||||
for(Flow flow:flows){
|
for(Flow flow:flows){
|
||||||
flowIds.add(flow.getId());
|
flowIds.add(flow.getId());
|
||||||
}
|
}
|
||||||
log.info("flowId");
|
|
||||||
List<FlowApprovalRole> flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds);
|
List<FlowApprovalRole> flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds);
|
||||||
log.info("flowApprovalRoles");
|
|
||||||
|
return initFlowRecord(resultRecord, flows, flowApprovalRoles);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R initFlowRecord(ResultRecord resultRecord, List<Flow> flows, List<FlowApprovalRole> flowApprovalRoles) {
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) {
|
for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) {
|
||||||
FlowRecord flowRecord = new FlowRecord();
|
FlowRecord flowRecord = new FlowRecord();
|
||||||
|
|||||||
@ -103,5 +103,7 @@
|
|||||||
select * from lz_flow where flow_id = #{flowId} and is_delete = 0 and start_id = #{startId}
|
select * from lz_flow where flow_id = #{flowId} and is_delete = 0 and start_id = #{startId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user