Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
FCL
2026-03-17 15:18:11 +08:00
10 changed files with 82 additions and 6 deletions

View File

@@ -26,6 +26,8 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleEntrustDepartmentService; import com.zt.plat.module.qms.business.bus.service.BusinessSampleEntrustDepartmentService;
@@ -89,6 +91,10 @@ public class BusinessSampleEntrustDepartmentController implements BusinessContro
@Operation(summary = "获得委检登记分析部门业务分页") @Operation(summary = "获得委检登记分析部门业务分页")
// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:query')") // @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:query')")
public CommonResult<PageResult<BusinessSampleEntrustDepartmentExtendRespVO>> getBusinessSampleEntrustDepartmentPage(@Valid BusinessSampleEntrustDepartmentPageReqVO pageReqVO) { public CommonResult<PageResult<BusinessSampleEntrustDepartmentExtendRespVO>> getBusinessSampleEntrustDepartmentPage(@Valid BusinessSampleEntrustDepartmentPageReqVO pageReqVO) {
if (pageReqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
PageResult<BusinessSampleEntrustDepartmentExtendRespVO> pageResult = businessSampleEntrustDepartmentService.getBusinessSampleEntrustDepartmentPage(pageReqVO); PageResult<BusinessSampleEntrustDepartmentExtendRespVO> pageResult = businessSampleEntrustDepartmentService.getBusinessSampleEntrustDepartmentPage(pageReqVO);
return success(pageResult); return success(pageResult);
} }

View File

@@ -31,6 +31,9 @@ public class BusinessSampleEntrustFilePageReqVO extends PageParam {
@Schema(description = "路径") @Schema(description = "路径")
private String filePath; private String filePath;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "所属部门") @Schema(description = "所属部门")
private String systemDepartmentCode; private String systemDepartmentCode;

View File

@@ -42,6 +42,9 @@ public class BusinessSampleEntrustFileRespVO {
@ExcelProperty("路径") @ExcelProperty("路径")
private String filePath; private String filePath;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "所属部门") @Schema(description = "所属部门")
@ExcelProperty("所属部门") @ExcelProperty("所属部门")
private String systemDepartmentCode; private String systemDepartmentCode;

View File

@@ -31,6 +31,9 @@ public class BusinessSampleEntrustFileSaveReqVO {
@Schema(description = "路径") @Schema(description = "路径")
private String filePath; private String filePath;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "所属部门") @Schema(description = "所属部门")
private String systemDepartmentCode; private String systemDepartmentCode;

View File

@@ -62,6 +62,11 @@ public class BusinessSampleEntrustFileDO extends BusinessBaseDO {
@TableField("FILE_PATH") @TableField("FILE_PATH")
private String filePath; private String filePath;
/** /**
* 扩展信息
*/
@TableField("EXT_INF")
private String externalInfomation;
/**
* 所属部门 * 所属部门
*/ */
@TableField("SYS_DEPT_CD") @TableField("SYS_DEPT_CD")

View File

@@ -32,6 +32,7 @@ public interface BusinessSampleEntrustFileMapper extends BaseMapperX<BusinessSam
.eqIfPresent(BusinessSampleEntrustFileDO::getFileId, reqVO.getFileId()) .eqIfPresent(BusinessSampleEntrustFileDO::getFileId, reqVO.getFileId())
.likeIfPresent(BusinessSampleEntrustFileDO::getFileName, reqVO.getFileName()) .likeIfPresent(BusinessSampleEntrustFileDO::getFileName, reqVO.getFileName())
.eqIfPresent(BusinessSampleEntrustFileDO::getFilePath, reqVO.getFilePath()) .eqIfPresent(BusinessSampleEntrustFileDO::getFilePath, reqVO.getFilePath())
.eqIfPresent(BusinessSampleEntrustFileDO::getExternalInfomation, reqVO.getExternalInfomation())
.eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark()) .eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark())
@@ -50,6 +51,7 @@ public interface BusinessSampleEntrustFileMapper extends BaseMapperX<BusinessSam
.eqIfPresent(BusinessSampleEntrustFileDO::getFileId, reqVO.getFileId()) .eqIfPresent(BusinessSampleEntrustFileDO::getFileId, reqVO.getFileId())
.likeIfPresent(BusinessSampleEntrustFileDO::getFileName, reqVO.getFileName()) .likeIfPresent(BusinessSampleEntrustFileDO::getFileName, reqVO.getFileName())
.eqIfPresent(BusinessSampleEntrustFileDO::getFilePath, reqVO.getFilePath()) .eqIfPresent(BusinessSampleEntrustFileDO::getFilePath, reqVO.getFilePath())
.eqIfPresent(BusinessSampleEntrustFileDO::getExternalInfomation, reqVO.getExternalInfomation())
.eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark()) .eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark())

View File

@@ -782,6 +782,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
if (usageCount <= 0) {//如果没有上报检测项目,则跳出当前循环 if (usageCount <= 0) {//如果没有上报检测项目,则跳出当前循环
continue; continue;
} }
//需要上报的检测项目
List<Long> usageReportDicProjectIdList = businessAssayProjectDataDOList.stream().filter(f -> businessAssayTaskDataAssayDepartmentIdList.contains(f.getBusinessAssayTaskDataId()) && (QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT.equals(f.getUsage()) || QmsCommonConstant.ASSAY_PROJECT_USAGE_INGREDIENT_REPORT.equals(f.getUsage()))).map(m -> m.getDictionaryProjectId()).distinct().collect(Collectors.toList());
List<String> usageReportProjectNameList = dictionaryProjectList.stream().filter(f -> usageReportDicProjectIdList.contains(f.getId())).map(m -> m.getShowName()).collect(Collectors.toList());
BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = new BusinessSampleEntrustDepartmentDO(); BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = new BusinessSampleEntrustDepartmentDO();
businessSampleEntrustDepartmentDO.setId(IdWorker.getId()); businessSampleEntrustDepartmentDO.setId(IdWorker.getId());
@@ -800,7 +803,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
return Arrays.stream(parts) return Arrays.stream(parts)
.map(String::trim) // 去除每个ID前后的空格 .map(String::trim) // 去除每个ID前后的空格
.filter(s -> !s.isEmpty()); // 过滤掉空项(例如 "101,,102" 中间的空项) .filter(s -> !s.isEmpty()); // 过滤掉空项(例如 "101,,102" 中间的空项)
}).distinct().collect(Collectors.toList()); }).filter(f -> usageReportProjectNameList.contains(f)).distinct().collect(Collectors.toList());
businessSampleEntrustDepartmentDO.setAssayProject(CollUtil.join(assayProjectList, ",")); businessSampleEntrustDepartmentDO.setAssayProject(CollUtil.join(assayProjectList, ","));
List<Long> configAssayMethodIdAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); List<Long> configAssayMethodIdAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList());
@@ -814,6 +817,16 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
List<Long> businessBaseSampleIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getBusinessBaseSampleId()).distinct().collect(Collectors.toList()); List<Long> businessBaseSampleIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getBusinessBaseSampleId()).distinct().collect(Collectors.toList());
for (Long businessBaseSampleId : businessBaseSampleIdList) { for (Long businessBaseSampleId : businessBaseSampleIdList) {
//获取当前主样的分析任务id
List<Long> currBaseBusinessAssayTaskDataAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessBaseSampleId)).map(m -> m.getId()).collect(Collectors.toList());
//统计检测项目是上报的或者配料上报的数量
usageCount = businessAssayProjectDataDOList.stream().filter(f -> currBaseBusinessAssayTaskDataAssayDepartmentIdList.contains(f.getBusinessAssayTaskDataId()) && (QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT.equals(f.getUsage()) || QmsCommonConstant.ASSAY_PROJECT_USAGE_INGREDIENT_REPORT.equals(f.getUsage()))).count();
if (usageCount <= 0) {//如果没有上报检测项目,则跳出当前循环
continue;
}
List<Long> currBaseUsageReportDicProjectIdList = businessAssayProjectDataDOList.stream().filter(f -> currBaseBusinessAssayTaskDataAssayDepartmentIdList.contains(f.getBusinessAssayTaskDataId()) && (QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT.equals(f.getUsage()) || QmsCommonConstant.ASSAY_PROJECT_USAGE_INGREDIENT_REPORT.equals(f.getUsage()))).map(m -> m.getDictionaryProjectId()).distinct().collect(Collectors.toList());
List<String> currBaseUsageReportProjectNameList = dictionaryProjectList.stream().filter(f -> currBaseUsageReportDicProjectIdList.contains(f.getId())).map(m -> m.getShowName()).collect(Collectors.toList());
BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO = sampleEntrustDetailList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessBaseSampleId)).findFirst().orElse(null); BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO = sampleEntrustDetailList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessBaseSampleId)).findFirst().orElse(null);
BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetailDO = new BusinessSampleEntrustDepartmentDetailDO(); BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetailDO = new BusinessSampleEntrustDepartmentDetailDO();
@@ -836,7 +849,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
return Arrays.stream(parts) return Arrays.stream(parts)
.map(String::trim) // 去除每个ID前后的空格 .map(String::trim) // 去除每个ID前后的空格
.filter(s -> !s.isEmpty()); // 过滤掉空项(例如 "101,,102" 中间的空项) .filter(s -> !s.isEmpty()); // 过滤掉空项(例如 "101,,102" 中间的空项)
}).distinct().collect(Collectors.toList()); }).filter(f -> currBaseUsageReportProjectNameList.contains(f)).distinct().collect(Collectors.toList());
businessSampleEntrustDepartmentDetailDO.setAssayProject(CollUtil.join(sampleAssayProjectList, ",")); businessSampleEntrustDepartmentDetailDO.setAssayProject(CollUtil.join(sampleAssayProjectList, ","));

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.qms.business.bus.service; package com.zt.plat.module.qms.business.bus.service;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@@ -15,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.ServiceException;
@@ -216,9 +218,14 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
Long businessSampleEntrustDepartmentId = param.getBusinessSampleEntrustDepartmentId(); Long businessSampleEntrustDepartmentId = param.getBusinessSampleEntrustDepartmentId();
BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = businessSampleEntrustDepartmentMapper.selectById(businessSampleEntrustDepartmentId); BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = businessSampleEntrustDepartmentMapper.selectById(businessSampleEntrustDepartmentId);
if (QmsCommonConstant.YES.equals(businessSampleEntrustDepartmentDO.getIsReported())) {
throw new ServiceException(1_032_100_000, "当前商检报告已审核!");
}
businessSampleEntrustDepartmentDO.setIsReported(QmsCommonConstant.YES); businessSampleEntrustDepartmentDO.setIsReported(QmsCommonConstant.YES);
businessSampleEntrustDepartmentDO.setReportOperator(nickName); businessSampleEntrustDepartmentDO.setReportOperator(nickName);
businessSampleEntrustDepartmentDO.setReportOperatorId(loginUserId); businessSampleEntrustDepartmentDO.setReportOperatorId(loginUserId);
businessSampleEntrustDepartmentDO.setReportTime(LocalDateTime.now());
businessSampleEntrustDepartmentDO.setAssayStatus(QmsCommonConstant.CHECKED); businessSampleEntrustDepartmentDO.setAssayStatus(QmsCommonConstant.CHECKED);
Set<String> assayOperatorSet = new HashSet<>(); Set<String> assayOperatorSet = new HashSet<>();
@@ -290,6 +297,13 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
businessFileApi.createBusinessFile(businessFileSaveReqDTO); businessFileApi.createBusinessFile(businessFileSaveReqDTO);
//设置附件 //设置附件
JSONObject fileExtInfoJSON = new JSONObject();
fileExtInfoJSON.put("taskNo", businessAssayTaskJson.getString("taskNo"));
fileExtInfoJSON.put("taskName", businessAssayTaskJson.getString("taskName"));
fileExtInfoJSON.put("assayOperator", businessAssayTaskJson.getString("assayOperator"));
fileExtInfoJSON.put("assayTime", businessAssayTaskJson.getString("assayTime"));
fileExtInfoJSON.put("reportOperator", businessAssayTaskJson.getString("reportOperator"));
fileExtInfoJSON.put("reportTime", businessAssayTaskJson.getString("reportTime"));
BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO(); BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO();
businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId());
businessSampleEntrustFileDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId()); businessSampleEntrustFileDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId());
@@ -297,6 +311,7 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
businessSampleEntrustFileDO.setFileId(fileRespDTO.getId()); businessSampleEntrustFileDO.setFileId(fileRespDTO.getId());
businessSampleEntrustFileDO.setFileName(fileRespDTO.getName()); businessSampleEntrustFileDO.setFileName(fileRespDTO.getName());
businessSampleEntrustFileDO.setFilePath(fileRespDTO.getDirectory()); businessSampleEntrustFileDO.setFilePath(fileRespDTO.getDirectory());
businessSampleEntrustFileDO.setExternalInfomation(fileExtInfoJSON.toJSONString());
businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO); businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO);
@@ -329,7 +344,7 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
formData.put("sampleCategory", sampleCategory); formData.put("sampleCategory", sampleCategory);
formData.put("entrustCode", businessSampleEntrustRegistrationDO.getEntrustNumber()); formData.put("entrustCode", businessSampleEntrustRegistrationDO.getEntrustNumber());
jsonObjectParam.put("assayReportDataList", businessAssayReportDataList); jsonObjectParam.put("assayReportDataList", JSON.parseArray(JSON.toJSONString(businessAssayReportDataList)));
jsonObjectParam.put("itemNameList", param.getAssayProject()); jsonObjectParam.put("itemNameList", param.getAssayProject());
jsonObjectParam.put("signatureData", signatureData); jsonObjectParam.put("signatureData", signatureData);
jsonObjectParam.put("formData", formData); jsonObjectParam.put("formData", formData);
@@ -364,6 +379,11 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
businessFileApi.createBusinessFile(businessFileSaveReqDTO); businessFileApi.createBusinessFile(businessFileSaveReqDTO);
//设置附件 //设置附件
JSONObject fileExtInfoJSON = new JSONObject();
fileExtInfoJSON.put("entrustNumber", businessSampleEntrustRegistrationDO.getEntrustNumber());
fileExtInfoJSON.put("assayDepartmentName", businessSampleEntrustDepartmentDO.getAssayDepartmentName());
fileExtInfoJSON.put("reportOperator", businessSampleEntrustDepartmentDO.getReportOperator());
fileExtInfoJSON.put("reportTime", DateUtil.formatLocalDateTime(businessSampleEntrustDepartmentDO.getReportTime()));
BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO(); BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO();
businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId());
businessSampleEntrustFileDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId()); businessSampleEntrustFileDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId());
@@ -371,6 +391,7 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
businessSampleEntrustFileDO.setFileId(fileRespDTO.getId()); businessSampleEntrustFileDO.setFileId(fileRespDTO.getId());
businessSampleEntrustFileDO.setFileName(fileRespDTO.getName()); businessSampleEntrustFileDO.setFileName(fileRespDTO.getName());
businessSampleEntrustFileDO.setFilePath(fileRespDTO.getDirectory()); businessSampleEntrustFileDO.setFilePath(fileRespDTO.getDirectory());
businessSampleEntrustFileDO.setExternalInfomation(fileExtInfoJSON.toJSONString());
businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO); businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO);

View File

@@ -137,9 +137,29 @@ public class ReportDocumentAssistService {
.body(bodyStr) .body(bodyStr)
.timeout(15000) .timeout(15000)
.execute(); .execute();
log.info("html2pdf--end at {}", LocalDateTime.now()); if (response.getStatus() != 200) {
// 尝试读取错误响应体以便调试(注意:如果流已消费则无法再次读取,这里 bodyStream 还没读)
String errorBody = response.body();
log.error("HTML2PDF 服务返回错误状态码: {}, 响应内容: {}", response.getStatus(), errorBody);
throw new IOException("生成 PDF 失败,远程服务返回状态码: " + response.getStatus() + ", 详情: " + errorBody);
}
// 只有状态码为 200 时,才读取流
InputStream inputStream = response.bodyStream(); InputStream inputStream = response.bodyStream();
return IOUtils.toByteArray(inputStream); if (inputStream == null) {
throw new IOException("生成 PDF 失败,响应流为空");
}
byte[] pdfBytes = IOUtils.toByteArray(inputStream);
// 【可选防御性检查】验证返回的数据是否真的像 PDF (以 %PDF 开头)
if (pdfBytes.length < 5 || !(new String(pdfBytes, 0, 4).startsWith("%PDF"))) {
log.error("生成的 PDF 数据头校验失败前100字节: {}", new String(pdfBytes, 0, Math.min(100, pdfBytes.length)));
throw new IOException("生成的文件不是有效的 PDF 格式,可能是服务端返回了错误信息");
}
log.info("html2pdf--end at {}, 文件大小: {} bytes", LocalDateTime.now(), pdfBytes.length);
return pdfBytes;
} }
/* /*

View File

@@ -103,7 +103,7 @@ public class PdfHelper {
pdfDocument.save(baos); pdfDocument.save(baos);
return baos.toByteArray(); return baos.toByteArray();
} catch (Exception e) { } catch (Exception e) {
log.error("处理pdf出错"); log.error("处理pdf出错", e);
} }
return null; return null;
} }