修改发送正常流转待办任务取消和发送的顺序
This commit is contained in:
parent
ef891ecac6
commit
62129d354b
@ -514,44 +514,26 @@ public class DingtalkBusiness {
|
||||
}else{
|
||||
logger.info("流程正常流转");
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(fromStaff.getResultRecord().getId(), 2);
|
||||
if(flowRecords.size() > 0){//给下一步骤需要处理的人发送待办任务
|
||||
if(flowRecords.get(0).getFlowProcess().intValue() != 2){//执行中流程的不发送待办
|
||||
logger.info("非执行中的节点发送待办任务:{}", flowRecords.get(0).getFlowName());
|
||||
List<Long> ids = flowRecords.stream().map(new Function<FlowRecord, Long>() {
|
||||
@Override
|
||||
public Long apply(FlowRecord flowRecord) {
|
||||
return flowRecord.getApprovalStaffId();
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
List<StaffSimpleInfo> staffSimpleInfos = staffService.selectStaffSimpleInfos(ids);
|
||||
for (StaffSimpleInfo staffSimpleInfo:staffSimpleInfos
|
||||
) {
|
||||
sendNotic(staffSimpleInfo.getId(), staffSimpleInfo.getEmployeeId(),
|
||||
flowRecords.get(0).getFlowName(), fromStaff.getFlowStart().getName(),
|
||||
fromStaff.getResultRecord().getStaffName(), token, url, fromStaff.getResultRecord().getId());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//取消上一步骤发送的待办任务
|
||||
List<FlowRecord> cancelRecords;
|
||||
if(flowRecords.size() == 0){//任务结束了
|
||||
logger.info("任务结束了");
|
||||
flowRecords = flowRecordService.selectLastFlowRecordsById(fromStaff.getResultRecord().getId());
|
||||
cancelRecords = flowRecordService.selectLastFlowRecordsById(fromStaff.getResultRecord().getId());
|
||||
}else{
|
||||
if(workMsgTypeEnum.getType() == WorkMsgTypeEnum.REJECT.getType()){//被拒
|
||||
logger.info("任务驳回");
|
||||
flowRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
||||
cancelRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
||||
, flowRecords.get(0).getFlowIndex().intValue() + 1);//获取下一步的数据
|
||||
}else{
|
||||
logger.info("任务流转下一步");
|
||||
flowRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
||||
cancelRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
||||
, flowRecords.get(0).getFlowIndex().intValue() - 1);//获取上一步的数据
|
||||
}
|
||||
|
||||
}
|
||||
logger.info("查询到可能需要更新的待办任务数量{}", flowRecords.size());
|
||||
if(flowRecords.size() > 0){
|
||||
for (FlowRecord flowRecord:flowRecords
|
||||
logger.info("查询到可能需要更新的待办任务数量{}", cancelRecords.size());
|
||||
if(cancelRecords.size() > 0){
|
||||
for (FlowRecord flowRecord:cancelRecords
|
||||
) {
|
||||
if(flowRecord.getStatus().intValue() == 1
|
||||
|| flowRecord.getStatus().intValue() == 3
|
||||
@ -571,6 +553,27 @@ public class DingtalkBusiness {
|
||||
}
|
||||
}
|
||||
}
|
||||
//给下一步需要处理的人员发送待办任务
|
||||
if(flowRecords.size() > 0){//给下一步骤需要处理的人发送待办任务
|
||||
if(flowRecords.get(0).getFlowProcess().intValue() != 2){//执行中流程的不发送待办
|
||||
logger.info("非执行中的节点发送待办任务:{}", flowRecords.get(0).getFlowName());
|
||||
List<Long> ids = flowRecords.stream().map(new Function<FlowRecord, Long>() {
|
||||
@Override
|
||||
public Long apply(FlowRecord flowRecord) {
|
||||
return flowRecord.getApprovalStaffId();
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
List<StaffSimpleInfo> staffSimpleInfos = staffService.selectStaffSimpleInfos(ids);
|
||||
for (StaffSimpleInfo staffSimpleInfo:staffSimpleInfos
|
||||
) {
|
||||
sendNotic(staffSimpleInfo.getId(), staffSimpleInfo.getEmployeeId(),
|
||||
flowRecords.get(0).getFlowName(), fromStaff.getFlowStart().getName(),
|
||||
fromStaff.getResultRecord().getStaffName(), token, url, fromStaff.getResultRecord().getId());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user