|
@@ -10,6 +10,7 @@ import org.apache.commons.lang.time.DateUtils;
|
|
import org.springblade.business.entity.*;
|
|
import org.springblade.business.entity.*;
|
|
import org.springblade.business.mapper.TaskMapper;
|
|
import org.springblade.business.mapper.TaskMapper;
|
|
import org.springblade.business.service.*;
|
|
import org.springblade.business.service.*;
|
|
|
|
+import org.springblade.business.vo.MessageWarningVO;
|
|
import org.springblade.business.vo.TaskApprovalVO;
|
|
import org.springblade.business.vo.TaskApprovalVO;
|
|
import org.springblade.business.vo.TaskVO;
|
|
import org.springblade.business.vo.TaskVO;
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
@@ -31,6 +32,10 @@ import org.springblade.flow.core.feign.NewFlowClient;
|
|
import org.springblade.flow.core.utils.FlowUtil;
|
|
import org.springblade.flow.core.utils.FlowUtil;
|
|
import org.springblade.flow.core.utils.TaskUtil;
|
|
import org.springblade.flow.core.utils.TaskUtil;
|
|
import org.springblade.flow.core.vo.FlowProcessVO;
|
|
import org.springblade.flow.core.vo.FlowProcessVO;
|
|
|
|
+import org.springblade.manager.entity.ContractInfo;
|
|
|
|
+import org.springblade.manager.entity.ProjectInfo;
|
|
|
|
+import org.springblade.manager.feign.ContractClient;
|
|
|
|
+import org.springblade.manager.feign.ProjectClient;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -67,6 +72,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
private final IContractLogService contractLogService;
|
|
private final IContractLogService contractLogService;
|
|
|
|
|
|
|
|
+ private final IMessageWarningService messageWarningService;
|
|
|
|
+
|
|
|
|
+ private final ProjectClient projectClient;
|
|
|
|
+
|
|
|
|
+ private final ContractClient contractClient;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<TaskParallel> queryApprovalUser(String formDataIds) {
|
|
public List<TaskParallel> queryApprovalUser(String formDataIds) {
|
|
//返回结果
|
|
//返回结果
|
|
@@ -363,6 +374,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
List<TaskParallel> otherLink = this.taskParallelService.queryOtherLinkList(parallelProcessInstanceId);
|
|
List<TaskParallel> otherLink = this.taskParallelService.queryOtherLinkList(parallelProcessInstanceId);
|
|
//主流程实例ID
|
|
//主流程实例ID
|
|
String masterProcessInstanceId;
|
|
String masterProcessInstanceId;
|
|
|
|
+
|
|
if(otherLink != null && otherLink.size() > 0){
|
|
if(otherLink != null && otherLink.size() > 0){
|
|
masterProcessInstanceId = otherLink.get(0).getProcessInstanceId();
|
|
masterProcessInstanceId = otherLink.get(0).getProcessInstanceId();
|
|
for(TaskParallel parallel : otherLink){
|
|
for(TaskParallel parallel : otherLink){
|
|
@@ -382,10 +394,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- //获取主流程数据
|
|
|
|
- Task task = this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getIsDeleted, 0).eq(Task::getProcessInstanceId, currentLink.getProcessInstanceId()));
|
|
|
|
//找到实例ID
|
|
//找到实例ID
|
|
- masterProcessInstanceId = task.getProcessInstanceId();
|
|
|
|
|
|
+ masterProcessInstanceId = currentLink.getProcessInstanceId();
|
|
}
|
|
}
|
|
|
|
|
|
//处理完分支流程后,将主流程结束并设置状态为废除
|
|
//处理完分支流程后,将主流程结束并设置状态为废除
|
|
@@ -398,6 +408,45 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 3).set(Task::getUpdateTime, new Date()).eq(Task::getProcessInstanceId, masterProcessInstanceId));
|
|
this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 3).set(Task::getUpdateTime, new Date()).eq(Task::getProcessInstanceId, masterProcessInstanceId));
|
|
//修改对应的业务数据状态为已废除
|
|
//修改对应的业务数据状态为已废除
|
|
this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3, null);
|
|
this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3, null);
|
|
|
|
+
|
|
|
|
+ //查询合同段及项目名称
|
|
|
|
+ ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(masterTask.getProjectId())).get(0);
|
|
|
|
+ String projectName = StringUtils.isNotEmpty(projectInfo.getProjectAlias()) ? projectInfo.getProjectAlias() : projectInfo.getProjectName();
|
|
|
|
+ ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(masterTask.getContractId()));
|
|
|
|
+ String contractName = contractInfo.getContractName();
|
|
|
|
+
|
|
|
|
+ try{
|
|
|
|
+ //设置废除通知信息
|
|
|
|
+ List<MessageWarningVO> messageWarningList = new ArrayList<>();
|
|
|
|
+ List<TaskParallel> linkTaskList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, masterProcessInstanceId));
|
|
|
|
+ for(TaskParallel parallel : linkTaskList){
|
|
|
|
+ if(!currentLink.getId().equals(parallel.getId())){
|
|
|
|
+ messageWarningList.add(new MessageWarningVO(
|
|
|
|
+ Long.parseLong(masterTask.getProjectId()),
|
|
|
|
+ Long.parseLong(masterTask.getContractId()),
|
|
|
|
+ 3,
|
|
|
|
+ "【" + projectName + "-" + contractName + "】的用户【" + AuthUtil.getNickName() + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
|
+ Long.parseLong(parallel.getTaskUser()),
|
|
|
|
+ 0
|
|
|
|
+ ));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //通知上报人
|
|
|
|
+ messageWarningList.add(new MessageWarningVO(
|
|
|
|
+ Long.parseLong(masterTask.getProjectId()),
|
|
|
|
+ Long.parseLong(masterTask.getContractId()),
|
|
|
|
+ 3,
|
|
|
|
+ "【" + projectName + "-" + contractName + "】的用户【" + AuthUtil.getNickName() + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
|
+ masterTask.getCreateUser(),
|
|
|
|
+ 0
|
|
|
|
+ ));
|
|
|
|
+
|
|
|
|
+ //生成废除通知
|
|
|
|
+ this.messageWarningService.savePushUserMessageWarning(messageWarningList);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return true;
|
|
return true;
|