From fbd4ecb70baf2e671876ca809a81f6e6fe7342ee Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期日, 20 九月 2026 19:52:50 +0800
Subject: [PATCH] feat(inspect): 新增检测标准方法报告文本功能并优化报告生成 - 委托编号生成逻辑调整为下单时生成并校验唯一性,避免审核时重复 - 新增标准模板价格字段及对应的数据模型和数据库映射 - 订单费用详情查询逻辑重构为基于模板价格计算方式 - 新增标准模板与设备绑定关系的数据结构和管理功能 - 委托编号唯一性校验逻辑增强

---
 inspect-server/src/main/java/com/ruoyi/inspect/util/ReportSignaturePictureUtils.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/util/ReportSignaturePictureUtils.java b/inspect-server/src/main/java/com/ruoyi/inspect/util/ReportSignaturePictureUtils.java
new file mode 100644
index 0000000..e33f010
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/util/ReportSignaturePictureUtils.java
@@ -0,0 +1,41 @@
+package com.ruoyi.inspect.util;
+
+import com.deepoove.poi.data.PictureRenderData;
+import com.deepoove.poi.data.Pictures;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * 鎶ュ憡绛惧悕鍥剧墖宸ュ叿銆�
+ */
+public final class ReportSignaturePictureUtils {
+
+    private static final int MAX_WIDTH = 90;
+    private static final int MAX_HEIGHT = 45;
+
+    private ReportSignaturePictureUtils() {
+    }
+
+    /**
+     * 鎸夊師濮嬫瘮渚嬪皢绛惧悕閫傞厤鍒版姤鍛婄鍚嶅崟鍏冩牸锛岄伩鍏嶅浘鐗囪秺杩囧崟鍏冩牸杈圭晫鑰岃瑁佸壀銆�
+     */
+    public static PictureRenderData create(String imageDirectory, String signatureUrl) {
+        String signaturePath = imageDirectory + "/" + signatureUrl;
+        try {
+            BufferedImage image = ImageIO.read(new File(signaturePath));
+            if (image != null && image.getWidth() > 0 && image.getHeight() > 0) {
+                double scale = Math.min((double) MAX_WIDTH / image.getWidth(),
+                        (double) MAX_HEIGHT / image.getHeight());
+                int width = Math.max(1, (int) Math.round(image.getWidth() * scale));
+                int height = Math.max(1, (int) Math.round(image.getHeight() * scale));
+                return Pictures.ofLocal(signaturePath).size(width, height).create();
+            }
+        } catch (IOException ignored) {
+            // 鍥剧墖鍏冩暟鎹鍙栧け璐ユ椂浠嶅彲灏濊瘯浠ラ粯璁ゅ昂瀵稿啓鍏ユ姤鍛娿��
+        }
+        return Pictures.ofLocal(signaturePath).size(MAX_WIDTH, MAX_HEIGHT).create();
+    }
+}

--
Gitblit v1.9.3