From cfd0903dc0cfc7ffd39c2caa101f31a50441d39c Mon Sep 17 00:00:00 2001
From: 6c <420680616@qq.com>
Date: 星期五, 31 十月 2025 17:29:59 +0800
Subject: [PATCH] 已送审保养打印; 列表批量打印
---
src/main/java/com/product/print/util/CustomPictureRenderPolicy.java | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/product/print/util/CustomPictureRenderPolicy.java b/src/main/java/com/product/print/util/CustomPictureRenderPolicy.java
index de58bd3..a95664c 100644
--- a/src/main/java/com/product/print/util/CustomPictureRenderPolicy.java
+++ b/src/main/java/com/product/print/util/CustomPictureRenderPolicy.java
@@ -8,9 +8,12 @@
import com.deepoove.poi.data.Pictures;
import com.deepoove.poi.policy.PictureRenderPolicy;
import com.deepoove.poi.render.RenderContext;
+import com.product.common.lang.StringUtils;
import com.product.core.dao.BaseDao;
import com.product.core.entity.FieldSetEntity;
+import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.file.service.FileManagerService;
+import com.product.print.config.CmnCode;
import java.io.File;
import java.io.FileInputStream;
@@ -31,9 +34,29 @@
public PictureRenderData cast(Object source) throws Exception {
FileManagerService fileManagerService = SpringUtil.getBean(FileManagerService.class);
String templateUid = source.toString();
+ if (StringUtils.isEmpty(templateUid)) {
+ return null;
+ }
+ int width = 0;
+ int height = 0;
+ if (templateUid.contains(" ")) {
+ String[] infoArr = templateUid.split(" ");
+ templateUid = infoArr[0];
+ width = Integer.parseInt(infoArr[1]);
+ height = Integer.parseInt(infoArr[2]);
+ }
BaseDao baseDao = SpringUtil.getBean(BaseDao.class);
FieldSetEntity attachmentFse = baseDao.getFieldSetEntity("product_sys_attachments", templateUid, false);
- fileManagerService.getFile(templateUid);
+
+ // 閬囬敊璺宠繃锛岄粯璁や娇鐢ㄩ�忔槑鑳屾櫙涓嶆嫤鎴紝璁板綍鏃ュ織鍒版枃浠�
+ try {
+ fileManagerService.getFile(templateUid);
+ } catch (Exception e) {
+ attachmentFse = baseDao.getFieldSetEntityByFilter("product_sys_attachments", "attachment_title=?", new Object[]{"sys_sp_deal_閫忔槑鑳屾櫙"}, false);
+ fileManagerService.getFile(attachmentFse.getUUID());
+ SpringMVCContextHolder.getSystemLogger().error(String.format("%s-闄勪欢uuid:%s", CmnCode.EXISTS_FILE_RECORD_BUT_NO_FILE.getText(), templateUid));
+ }
+
String fileName = attachmentFse.getString("file_name");
String type = fileName.substring(fileName.lastIndexOf(".") + 1);
File file = fileManagerService.getFile(attachmentFse);
@@ -47,7 +70,11 @@
} else if ("svg".equals(type)) {
imgType = PictureType.SVG;
}
- return converter.convert(Pictures.ofStream(new FileInputStream(file), imgType).create());
+ if (width > 0 && height > 0) {
+ return converter.convert(Pictures.ofStream(new FileInputStream(file), imgType).size(width, height).create());
+ } else {
+ return converter.convert(Pictures.ofStream(new FileInputStream(file), imgType).create());
+ }
}
@Override
--
Gitblit v1.9.2