Merge branch 'feature/REQ-5965' into dev
This commit is contained in:
commit
37871f67e7
@ -8,7 +8,9 @@ import cn.axzo.workflow.common.model.request.bpmn.print.Print4ProcessLogDTO;
|
|||||||
import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.print.PrintProcessLogPdfDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.print.PrintProcessLogPdfDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO;
|
||||||
|
import cn.axzo.workflow.common.model.request.bpmn.print.QueryProcessLogPdfDTO;
|
||||||
import cn.axzo.workflow.common.model.response.bpmn.process.PrintData4LogVO;
|
import cn.axzo.workflow.common.model.response.bpmn.process.PrintData4LogVO;
|
||||||
|
import cn.axzo.workflow.common.model.response.print.ProcessLogPdfResultDTO;
|
||||||
import cn.azxo.framework.common.model.CommonResponse;
|
import cn.azxo.framework.common.model.CommonResponse;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -91,7 +93,10 @@ public interface PrintAdminApi {
|
|||||||
CommonResponse<PrintData4LogVO> getPrintDataForProcessLog(@Validated @RequestBody Print4ProcessLogDTO dto);
|
CommonResponse<PrintData4LogVO> getPrintDataForProcessLog(@Validated @RequestBody Print4ProcessLogDTO dto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后端请求指定流程日志 PDF 文件生成
|
* 后端请求指定流程日志 PDF 文件生成, 实现是异步的。
|
||||||
|
* <p>
|
||||||
|
* 请使用 {@link PrintAdminApi#queryProcessLogPdfResult(QueryProcessLogPdfDTO)} 函数查询,
|
||||||
|
* 或者使用 {@link cn.axzo.nanopart.doc.api.conversion.DocConversionApi#queryConvertResultByBiz} 函数查询,bizCode:固定为"workflow-process-log", bizKey:为实例 ID
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -99,4 +104,15 @@ public interface PrintAdminApi {
|
|||||||
@PostMapping("/api/print/admin/process/log/pdf")
|
@PostMapping("/api/print/admin/process/log/pdf")
|
||||||
@InvokeMode(SYNC)
|
@InvokeMode(SYNC)
|
||||||
CommonResponse<String> createProcessLogPdf(@Validated @RequestBody PrintProcessLogPdfDTO dto);
|
CommonResponse<String> createProcessLogPdf(@Validated @RequestBody PrintProcessLogPdfDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 后端查询指定审批日志 PDF 文件的生成结果
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Operation(summary = "后端查询指定审批日志 PDF 文件的生成结果")
|
||||||
|
@PostMapping("/api/print/admin/process/log/pdf/result")
|
||||||
|
@InvokeMode(SYNC)
|
||||||
|
CommonResponse<ProcessLogPdfResultDTO> queryProcessLogPdfResult(@Validated @RequestBody QueryProcessLogPdfDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,30 @@
|
|||||||
|
package cn.axzo.workflow.common.model.request.bpmn.print;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询审批日志转 pdf 的入参模型
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2025-10-31 17:15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class QueryProcessLogPdfDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批实例 ID
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "审批实例 ID")
|
||||||
|
@NotBlank(message = "审批实例 ID 不能为空")
|
||||||
|
private String processInstanceId;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
package cn.axzo.workflow.common.model.response.print;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批日志 PDF 查询结果相应模型
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2025-11-07 18:13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ProcessLogPdfResultDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转换状态
|
||||||
|
* INIT("初始"),
|
||||||
|
* <p>
|
||||||
|
* CONVERTING("转换中"),
|
||||||
|
* <p>
|
||||||
|
* SUCCESS("转换完成"),
|
||||||
|
* <p>
|
||||||
|
* FAILED("转换失败");
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转换成功后的oss fileKey
|
||||||
|
*/
|
||||||
|
private String pdfFileKey;
|
||||||
|
}
|
||||||
@ -1,10 +1,13 @@
|
|||||||
package cn.axzo.workflow.server.controller.web.manage;
|
package cn.axzo.workflow.server.controller.web.manage;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.BeanMapper;
|
||||||
import cn.axzo.maokai.api.client.OrganizationalNodeUserQueryApi;
|
import cn.axzo.maokai.api.client.OrganizationalNodeUserQueryApi;
|
||||||
import cn.axzo.maokai.api.vo.request.OrgNodeUserBriefInfoListReq;
|
import cn.axzo.maokai.api.vo.request.OrgNodeUserBriefInfoListReq;
|
||||||
import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp;
|
import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp;
|
||||||
import cn.axzo.nanopart.doc.api.conversion.DocConversionApi;
|
import cn.axzo.nanopart.doc.api.conversion.DocConversionApi;
|
||||||
|
import cn.axzo.nanopart.doc.api.conversion.req.QueryConversionTaskRequestV2;
|
||||||
import cn.axzo.nanopart.doc.api.conversion.req.SubmitConversionTaskRequest;
|
import cn.axzo.nanopart.doc.api.conversion.req.SubmitConversionTaskRequest;
|
||||||
|
import cn.axzo.nanopart.doc.api.conversion.res.FileConvertResultResp;
|
||||||
import cn.axzo.nanopart.doc.api.enums.DocConversionTypeEnum;
|
import cn.axzo.nanopart.doc.api.enums.DocConversionTypeEnum;
|
||||||
import cn.axzo.oss.http.api.ServerFileServiceApi;
|
import cn.axzo.oss.http.api.ServerFileServiceApi;
|
||||||
import cn.axzo.oss.http.model.ApiSignUrlDownloadRequest;
|
import cn.axzo.oss.http.model.ApiSignUrlDownloadRequest;
|
||||||
@ -21,6 +24,7 @@ import cn.axzo.workflow.common.model.request.bpmn.print.Print4ProcessLogDTO;
|
|||||||
import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.print.PrintProcessLogPdfDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.print.PrintProcessLogPdfDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO;
|
||||||
|
import cn.axzo.workflow.common.model.request.bpmn.print.QueryProcessLogPdfDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceLogQueryDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceLogQueryDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.AttachmentDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.AttachmentDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||||
@ -31,6 +35,7 @@ import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinition
|
|||||||
import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceLogVO;
|
import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceLogVO;
|
||||||
import cn.axzo.workflow.common.model.response.bpmn.process.PrintData4LogVO;
|
import cn.axzo.workflow.common.model.response.bpmn.process.PrintData4LogVO;
|
||||||
import cn.axzo.workflow.common.model.response.category.CategoryGroupVarItemVo;
|
import cn.axzo.workflow.common.model.response.category.CategoryGroupVarItemVo;
|
||||||
|
import cn.axzo.workflow.common.model.response.print.ProcessLogPdfResultDTO;
|
||||||
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
|
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
|
||||||
import cn.axzo.workflow.core.conf.SupportRefreshProperties;
|
import cn.axzo.workflow.core.conf.SupportRefreshProperties;
|
||||||
import cn.axzo.workflow.core.engine.cmd.CustomGetFormInstanceLatestValuesCmd;
|
import cn.axzo.workflow.core.engine.cmd.CustomGetFormInstanceLatestValuesCmd;
|
||||||
@ -596,4 +601,19 @@ public class PrintAdminController implements PrintAdminApi {
|
|||||||
String taskId = RpcExternalUtil.rpcApiResultProcessor(() -> docConversionApi.submitConvertTask(request), "创建网页转 PDF 的异步任务", request);
|
String taskId = RpcExternalUtil.rpcApiResultProcessor(() -> docConversionApi.submitConvertTask(request), "创建网页转 PDF 的异步任务", request);
|
||||||
return CommonResponse.success(taskId);
|
return CommonResponse.success(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "后端查询指定审批日志 PDF 文件的生成结果")
|
||||||
|
@PostMapping("/process/log/pdf/result")
|
||||||
|
@Override
|
||||||
|
public CommonResponse<ProcessLogPdfResultDTO> queryProcessLogPdfResult(@Validated @RequestBody QueryProcessLogPdfDTO dto) {
|
||||||
|
QueryConversionTaskRequestV2 request = new QueryConversionTaskRequestV2();
|
||||||
|
request.setBizCode("workflow-process-log");
|
||||||
|
request.setBizKey(dto.getProcessInstanceId());
|
||||||
|
List<FileConvertResultResp> taskConvertResults = RpcExternalUtil.rpcApiResultProcessor(() -> docConversionApi.queryConvertResultByBiz(request), "查询流程日志转 PDF 的结果", request);
|
||||||
|
List<ProcessLogPdfResultDTO> results = BeanMapper.copyList(taskConvertResults, ProcessLogPdfResultDTO.class, (s, t) -> {
|
||||||
|
t.setPdfFileKey(s.getResultFileFileKey());
|
||||||
|
t.setStatus(s.getStatus().name());
|
||||||
|
});
|
||||||
|
return CommonResponse.success(results.isEmpty() ? null : results.get(0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user