feat(REQ-4586) - 优化查询审批日志的逻辑
This commit is contained in:
parent
6f4e4a710d
commit
bd716ed44f
@ -3,7 +3,6 @@ package cn.axzo.workflow.client.feign.bpmn;
|
||||
import cn.axzo.workflow.client.annotation.WorkflowEngineFeignClient;
|
||||
import cn.axzo.workflow.common.annotation.InvokeMode;
|
||||
import cn.axzo.workflow.common.annotation.Manageable;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.log.LogApproveSearchDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnNodeBackSystemOperateDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnOptionalNodeDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCompleteDTO;
|
||||
|
||||
@ -21,18 +21,37 @@ import javax.validation.constraints.NotBlank;
|
||||
@Builder
|
||||
public class LogApproveSearchDTO {
|
||||
|
||||
@ApiModelProperty("流程实例 ID")
|
||||
@NotBlank(message = "流程实例 ID 不能为空")
|
||||
private String processInstanceId;
|
||||
|
||||
@NotBlank(message = "审批人 personId 不能为空")
|
||||
/**
|
||||
* 审批任务 ID,如果有值,优先使用 taskId 查询
|
||||
* <p>
|
||||
* 如果没有值,则 personId、tenantId、ouId 一定不能为 null
|
||||
*/
|
||||
@ApiModelProperty("审批任务 ID")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 如果没传 taskId,那么该属性必有值
|
||||
*/
|
||||
@ApiModelProperty("审批人 PersonId")
|
||||
private String personId;
|
||||
|
||||
@NotBlank(message = "审批人 tenantId 不能为空")
|
||||
/**
|
||||
* 如果没传 taskId,那么该属性必有值
|
||||
*/
|
||||
@ApiModelProperty("审批人 tenantId")
|
||||
private String tenantId;
|
||||
|
||||
@NotBlank(message = "审批人 ouId 不能为空")
|
||||
/**
|
||||
* 如果没传 taskId,那么该属性应该有值,如果是“工人”可以没有值
|
||||
*/
|
||||
@ApiModelProperty("审批人 ouId")
|
||||
private String ouId;
|
||||
|
||||
@ApiModelProperty("指定状态,如果为空,默认指定审批中状态的数据")
|
||||
private BpmnProcessInstanceResultEnum status;
|
||||
|
||||
}
|
||||
|
||||
@ -547,15 +547,23 @@ public class BpmnProcessInstanceController extends BasicPopulateAvatarController
|
||||
@GetMapping("/log/approve/ext")
|
||||
@Override
|
||||
public CommonResponse<List<ExtProcessLogVO>> getProcessLogByInstanceIdAndPersonId(@Validated @RequestBody LogApproveSearchDTO dto) {
|
||||
if (NumberUtil.isLong(dto.getPersonId())) {
|
||||
throw new WorkflowEngineException(PROCESS_EXT_LOG_PARAM_ERROR);
|
||||
}
|
||||
|
||||
ExtAxProcessLog query = new ExtAxProcessLog();
|
||||
query.setProcessInstanceId(dto.getProcessInstanceId());
|
||||
query.setAssigneeId(Long.valueOf(dto.getPersonId()));
|
||||
query.setAssigneeTenantId(dto.getTenantId());
|
||||
query.setAssigneeOuId(dto.getOuId());
|
||||
query.setStatus(BpmnProcessInstanceResultEnum.PROCESSING.getStatus());
|
||||
if (StringUtils.hasText(dto.getTaskId())) {
|
||||
query.setTaskId(dto.getTaskId());
|
||||
} else {
|
||||
if (NumberUtil.isLong(dto.getPersonId())) {
|
||||
throw new WorkflowEngineException(PROCESS_EXT_LOG_PARAM_ERROR);
|
||||
}
|
||||
query.setAssigneeId(Long.valueOf(dto.getPersonId()));
|
||||
query.setAssigneeTenantId(dto.getTenantId());
|
||||
query.setAssigneeOuId(Objects.isNull(dto.getOuId()) ? "" : dto.getOuId());
|
||||
}
|
||||
|
||||
if (Objects.isNull(dto.getStatus())) {
|
||||
query.setStatus(BpmnProcessInstanceResultEnum.PROCESSING.getStatus());
|
||||
}
|
||||
List<ExtAxProcessLog> extAxProcessLogs = extAxProcessLogService.genericQuery(query);
|
||||
return success(ListUtils.emptyIfNull(extAxProcessLogs).stream().map(i -> {
|
||||
ExtProcessLogVO logVO = new ExtProcessLogVO();
|
||||
|
||||
@ -1,14 +1,30 @@
|
||||
package cn.axzo.workflow.server.controller.web.bpmn;
|
||||
|
||||
import cn.axzo.workflow.client.feign.bpmn.ProcessTaskApi;
|
||||
import cn.axzo.workflow.common.annotation.InvokeMode;
|
||||
import cn.axzo.workflow.common.annotation.Manageable;
|
||||
import cn.axzo.workflow.common.enums.AttachmentTypeEnum;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.log.LogApproveSearchDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.*;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.AttachmentDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnNodeBackSystemOperateDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnOptionalNodeDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCompleteDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCreateDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditWithFormDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskBackAuditDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCountersignDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskRemindDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskResetApproversDTO;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskTransferDTO;
|
||||
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.BatchOperationResultVO;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.*;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceGroupVO;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceVO;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskDonePageItemVO;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskInstanceVO;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskTodoPageItemVO;
|
||||
import cn.axzo.workflow.core.service.BpmnProcessTaskService;
|
||||
import cn.axzo.workflow.server.common.annotation.ErrorReporter;
|
||||
import cn.axzo.workflow.server.common.annotation.RepeatSubmit;
|
||||
@ -22,7 +38,12 @@ import org.flowable.form.api.FormInfo;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.Resource;
|
||||
@ -33,7 +54,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC;
|
||||
import static cn.azxo.framework.common.model.CommonResponse.success;
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user