Merge branch 'feature/dingdingLogin' into test
This commit is contained in:
commit
e89e5848a2
@ -7,8 +7,11 @@ import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbo
|
||||
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCancelDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||
import cn.axzo.workflow.core.engine.cmd.CustomApproveTaskCmd;
|
||||
import cn.axzo.workflow.core.engine.cmd.CustomRejectionTaskCmd;
|
||||
import cn.axzo.workflow.core.repository.entity.ExtAxProcessLog;
|
||||
import cn.axzo.workflow.core.service.BpmnProcessTaskService;
|
||||
import cn.axzo.workflow.core.service.ExtAxHiTaskInstService;
|
||||
import cn.axzo.workflow.core.service.ExtAxProcessLogService;
|
||||
import cn.axzo.workflow.server.common.util.RpcExternalUtil;
|
||||
import cn.axzo.workflow.server.controller.web.bpmn.BpmnProcessInstanceController;
|
||||
@ -20,10 +23,10 @@ import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.common.engine.impl.interceptor.CommandExecutor;
|
||||
import org.flowable.engine.RuntimeService;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.engine.runtime.ProcessInstance;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.flowable.spring.SpringProcessEngineConfiguration;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@ -60,7 +63,7 @@ public class DangerOperationController {
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
@Resource
|
||||
private TaskService flowableTaskService;
|
||||
private SpringProcessEngineConfiguration processEngineConfiguration;
|
||||
@Resource
|
||||
private BpmnProcessInstanceController instanceController;
|
||||
@Resource
|
||||
@ -74,6 +77,8 @@ public class DangerOperationController {
|
||||
@Resource
|
||||
private Environment environment;
|
||||
@Resource
|
||||
private ExtAxHiTaskInstService extAxHiTaskInstService;
|
||||
@Resource
|
||||
private ThirdPartySyncApi thirdPartySyncApi;
|
||||
|
||||
@Value("${dingtalk.appKey:dingfg3ijkpjkqnrgapc}")
|
||||
@ -168,15 +173,7 @@ public class DangerOperationController {
|
||||
|
||||
String taskId = null;
|
||||
if (!Objects.equals("0", personId)) {
|
||||
List<Task> tasks = flowableTaskService.createTaskQuery().active().list();
|
||||
if (CollectionUtils.isEmpty(tasks)) {
|
||||
return;
|
||||
}
|
||||
if (tasks.size() == 1) {
|
||||
taskId = tasks.get(0).getId();
|
||||
} else {
|
||||
taskId = taskService.findTaskIdByInstanceIdAndPersonId(jobParam.getProcessInstanceId(), jobParam.getPersonId());
|
||||
}
|
||||
taskId = taskService.findTaskIdByInstanceIdAndPersonId(jobParam.getProcessInstanceId(), jobParam.getPersonId());
|
||||
}
|
||||
|
||||
ExtAxProcessLog query = new ExtAxProcessLog();
|
||||
@ -188,13 +185,24 @@ public class DangerOperationController {
|
||||
log.warn("未找到可操作的任务日志,无法驳回任务,processInstanceId={}, personId={}", jobParam.getProcessInstanceId(), jobParam.getPersonId());
|
||||
return;
|
||||
}
|
||||
List<BpmnTaskDelegateAssigner> assigneeFull = logs.get(0).getAssigneeFull();
|
||||
if (CollectionUtils.isEmpty(assigneeFull)) {
|
||||
// 自动驳回
|
||||
BpmnTaskAuditDTO reject = new BpmnTaskAuditDTO();
|
||||
reject.setTaskId(logs.get(0).getTaskId());
|
||||
reject.setApprover(new BpmnTaskDelegateAssigner("", "system", logs.get(0).getTenantId()));
|
||||
reject.setOperationDesc("未找到审批人,自动驳回");
|
||||
CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutor();
|
||||
commandExecutor.execute(new CustomRejectionTaskCmd(reject, extAxHiTaskInstService));
|
||||
} else {
|
||||
taskController.rejectTask(BpmnTaskAuditDTO.builder()
|
||||
.processInstanceId(jobParam.getProcessInstanceId())
|
||||
.advice(jobParam.getComment())
|
||||
.approver(assigneeFull.get(0))
|
||||
.async(false)
|
||||
.build());
|
||||
}
|
||||
|
||||
taskController.rejectTask(BpmnTaskAuditDTO.builder()
|
||||
.processInstanceId(jobParam.getProcessInstanceId())
|
||||
.advice(jobParam.getComment())
|
||||
.approver(logs.get(0).getAssigneeFull().get(0))
|
||||
.async(false)
|
||||
.build());
|
||||
}
|
||||
|
||||
private void approveTask(DangerSuperOperationJobHandler.DangerOperationJobParam jobParam) {
|
||||
@ -205,15 +213,7 @@ public class DangerOperationController {
|
||||
|
||||
String taskId = null;
|
||||
if (!Objects.equals("0", personId)) {
|
||||
List<Task> tasks = flowableTaskService.createTaskQuery().active().list();
|
||||
if (CollectionUtils.isEmpty(tasks)) {
|
||||
return;
|
||||
}
|
||||
if (tasks.size() == 1) {
|
||||
taskId = tasks.get(0).getId();
|
||||
} else {
|
||||
taskId = taskService.findTaskIdByInstanceIdAndPersonId(jobParam.getProcessInstanceId(), jobParam.getPersonId());
|
||||
}
|
||||
taskId = taskService.findTaskIdByInstanceIdAndPersonId(jobParam.getProcessInstanceId(), jobParam.getPersonId());
|
||||
}
|
||||
|
||||
ExtAxProcessLog query = new ExtAxProcessLog();
|
||||
@ -226,12 +226,24 @@ public class DangerOperationController {
|
||||
return;
|
||||
}
|
||||
|
||||
taskController.approveTask(BpmnTaskAuditDTO.builder()
|
||||
.processInstanceId(jobParam.getProcessInstanceId())
|
||||
.advice(jobParam.getComment())
|
||||
.approver(logs.get(0).getAssigneeFull().get(0))
|
||||
.async(false)
|
||||
.build());
|
||||
List<BpmnTaskDelegateAssigner> assigneeFull = logs.get(0).getAssigneeFull();
|
||||
if (CollectionUtils.isEmpty(assigneeFull)) {
|
||||
// 自动通过
|
||||
BpmnTaskAuditDTO pass = new BpmnTaskAuditDTO();
|
||||
pass.setTaskId(logs.get(0).getTaskId());
|
||||
pass.setAdvice("");
|
||||
pass.setApprover(null);
|
||||
pass.setOperationDesc("未找到审批人,自动同意");
|
||||
CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutor();
|
||||
commandExecutor.execute(new CustomApproveTaskCmd(pass));
|
||||
} else {
|
||||
taskController.approveTask(BpmnTaskAuditDTO.builder()
|
||||
.processInstanceId(jobParam.getProcessInstanceId())
|
||||
.advice(jobParam.getComment())
|
||||
.approver(assigneeFull.get(0))
|
||||
.async(false)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
private void cancelProcessInstance(DangerSuperOperationJobHandler.DangerOperationJobParam jobParam) {
|
||||
|
||||
@ -141,7 +141,7 @@
|
||||
<h2 class="text-[clamp(1.5rem,3vw,2rem)] font-bold text-dark mb-2"
|
||||
th:text="${isAuthenticated} ? '流程操作' : '授权验证'"></h2>
|
||||
<p class="text-secondary"
|
||||
th:text="${isAuthenticated} ? '请根据需要选择相应操作并填写表单信息' : '请输入扫码登陆'">
|
||||
th:text="${isAuthenticated} ? '请根据需要选择相应操作并填写表单信息' : '请输入扫码登陆!本系统请使用 Chrome 或 Edge 浏览器'">
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user