修改发送正常流转待办任务取消和发送的顺序
This commit is contained in:
parent
ef891ecac6
commit
62129d354b
@ -514,44 +514,26 @@ public class DingtalkBusiness {
|
|||||||
}else{
|
}else{
|
||||||
logger.info("流程正常流转");
|
logger.info("流程正常流转");
|
||||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(fromStaff.getResultRecord().getId(), 2);
|
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){//任务结束了
|
if(flowRecords.size() == 0){//任务结束了
|
||||||
logger.info("任务结束了");
|
logger.info("任务结束了");
|
||||||
flowRecords = flowRecordService.selectLastFlowRecordsById(fromStaff.getResultRecord().getId());
|
cancelRecords = flowRecordService.selectLastFlowRecordsById(fromStaff.getResultRecord().getId());
|
||||||
}else{
|
}else{
|
||||||
if(workMsgTypeEnum.getType() == WorkMsgTypeEnum.REJECT.getType()){//被拒
|
if(workMsgTypeEnum.getType() == WorkMsgTypeEnum.REJECT.getType()){//被拒
|
||||||
logger.info("任务驳回");
|
logger.info("任务驳回");
|
||||||
flowRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
cancelRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
||||||
, flowRecords.get(0).getFlowIndex().intValue() + 1);//获取下一步的数据
|
, flowRecords.get(0).getFlowIndex().intValue() + 1);//获取下一步的数据
|
||||||
}else{
|
}else{
|
||||||
logger.info("任务流转下一步");
|
logger.info("任务流转下一步");
|
||||||
flowRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
cancelRecords = flowRecordService.selectLastFlowRecordsByIdAndFlowIndex(fromStaff.getResultRecord().getId()
|
||||||
, flowRecords.get(0).getFlowIndex().intValue() - 1);//获取上一步的数据
|
, flowRecords.get(0).getFlowIndex().intValue() - 1);//获取上一步的数据
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
logger.info("查询到可能需要更新的待办任务数量{}", flowRecords.size());
|
logger.info("查询到可能需要更新的待办任务数量{}", cancelRecords.size());
|
||||||
if(flowRecords.size() > 0){
|
if(cancelRecords.size() > 0){
|
||||||
for (FlowRecord flowRecord:flowRecords
|
for (FlowRecord flowRecord:cancelRecords
|
||||||
) {
|
) {
|
||||||
if(flowRecord.getStatus().intValue() == 1
|
if(flowRecord.getStatus().intValue() == 1
|
||||||
|| flowRecord.getStatus().intValue() == 3
|
|| 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