|
@@ -1,5 +1,6 @@
|
|
|
package com.aizuda.boot.modules.flw.service.impl;
|
|
|
|
|
|
+import com.aizuda.boot.modules.flw.FlowHelper;
|
|
|
import com.aizuda.boot.modules.flw.entity.FlwProcessForm;
|
|
|
import com.aizuda.boot.modules.flw.entity.dto.*;
|
|
|
import com.aizuda.boot.modules.flw.entity.vo.*;
|
|
@@ -42,8 +43,6 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
@Resource
|
|
|
private FlowlongMapper flowlongMapper;
|
|
|
@Resource
|
|
|
- private FlwTaskMapper flwTaskMapper;
|
|
|
- @Resource
|
|
|
private FlwExtInstanceMapper extInstanceMapper;
|
|
|
@Resource
|
|
|
private FlowLongEngine flowLongEngine;
|
|
@@ -84,10 +83,7 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
|
|
|
@Override
|
|
|
public TaskApprovalVO approvalInfo(Long taskId) {
|
|
|
- FlwTask flwTask = flwTaskMapper.selectById(taskId);
|
|
|
- if (null != flwTask) {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ FlwTask flwTask = this.getFlwTask(taskId);
|
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
|
vo.setTaskId(taskId);
|
|
|
vo.setCreateId(flwTask.getCreateId());
|
|
@@ -106,7 +102,7 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
if (null != extendConfig) {
|
|
|
Object formConfig = extendConfig.get("formConfig");
|
|
|
if (null != formConfig) {
|
|
|
- vo.setFormConfig((String) formConfig);
|
|
|
+ vo.setFormConfig(formConfig);
|
|
|
}
|
|
|
}
|
|
|
vo.setProcessApprovals(flwProcessApprovalService.listByInstanceId(flwTask.getInstanceId()));
|
|
@@ -207,22 +203,33 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
return voList;
|
|
|
}
|
|
|
|
|
|
+ private FlwTask getFlwTask(Long taskId) {
|
|
|
+ FlwTask flwTask = flowLongEngine.queryService().getTask(taskId);
|
|
|
+ ApiAssert.isEmpty(flwTask, "指定ID任务已执行完成");
|
|
|
+ return flwTask;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean approvalComment(TaskApprovalDTO dto) {
|
|
|
ApiAssert.isEmpty(dto.getContent(), "评论不能为空");
|
|
|
-
|
|
|
- return flwProcessApprovalService.comment(dto);
|
|
|
+ FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
+ return flwProcessApprovalService.comment(flwTask.getInstanceId(), dto);
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public boolean approvalConsent(TaskApprovalDTO dto) {
|
|
|
-
|
|
|
- return flwProcessApprovalService.consent(dto);
|
|
|
+ FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
+ ApiAssert.fail(!flowLongEngine.executeTask(dto.getTaskId(), FlowHelper.getFlowCreator()), "执行任务审批失败");
|
|
|
+ return flwProcessApprovalService.consent(flwTask.getInstanceId(), dto);
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public boolean approvalRejection(TaskApprovalDTO dto) {
|
|
|
-
|
|
|
- return flwProcessApprovalService.rejection(dto);
|
|
|
+ FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
+ TaskService taskService = flowLongEngine.taskService();
|
|
|
+ ApiAssert.fail(taskService.rejectTask(flwTask, FlowHelper.getFlowCreator()).isEmpty(), "执行驳回任务失败");
|
|
|
+ return flwProcessApprovalService.rejection(flwTask.getInstanceId(), dto);
|
|
|
}
|
|
|
}
|