From 1b02862f56fc90459088a7850b1cbc66686ea29e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 30 十月 2026 16:45:12 +0800
Subject: [PATCH] feat(order): 新增委托单级联删除服务 - 新增 InsOrderDeletionService,实现委托单及全部关联业务记录的级联删除 - 重构删除接口,增加权限校验和操作日志注解 - 委托单、报告、样品、样品接收、用章台账、过程报告等模块统一增加送样日期字段并按送样日期排序 - 委托单新增时校验送样日期不能为空 - 优化角色菜单权限,新增

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

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java b/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java
index 4ea9c59..c6d3d03 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java
@@ -11,6 +11,8 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
+import java.util.Base64;
+
 /**
  * Author: yuan
  * Date: 2024-12-17 鏄熸湡浜� 10:35:50
@@ -87,4 +89,48 @@
         }
         return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null;
     }
+
+    /**
+     * 鍏ㄩ�忔槑 1x1 PNG, 绛惧悕鏈厤缃�/绛惧悕鏂囦欢缂哄け鏃剁殑鍏滃簳鍥剧墖
+     */
+    private static final byte[] TRANSPARENT_PNG = Base64.getDecoder().decode(
+            "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAANSURBVBhXY2BgYGAAAAAFAAGKM+MAAAAAAElFTkSuQmCC");
+
+    /**
+     * 鍥剧墖鍊煎厹搴�: null 鎴栨湰鍦板浘鐗囪鍙栧け璐�(濡傜鍚嶆枃浠剁己澶�)鏃惰繑鍥為�忔槑鍥剧墖
+     */
+    public static PictureRenderData orTransparentPicture(PictureRenderData picture) {
+        if (picture != null) {
+            try {
+                byte[] data = picture.readPictureData();
+                if (data != null && data.length > 0) {
+                    return picture;
+                }
+            } catch (Exception ignored) {
+            }
+        }
+        return Pictures.ofBytes(TRANSPARENT_PNG).create();
+    }
+
+    /**
+     * 娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄(鎸変汉鍛榠d, 甯﹀厹搴�): 浜哄憳涓嶅瓨鍦ㄦ垨绛惧悕鏈厤缃�/鏂囦欢缂哄け鏃惰繑鍥為�忔槑鍥剧墖, 涓嶆姏閿�
+     */
+    public static PictureRenderData getFinalUserSignatureOrTransparent(Integer userId) {
+        try {
+            return orTransparentPicture(getFinalUserSignatureUrl(userId));
+        } catch (Exception e) {
+            return Pictures.ofBytes(TRANSPARENT_PNG).create();
+        }
+    }
+
+    /**
+     * 娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄(鎸変汉鍛樺鍚�, 甯﹀厹搴�): 浜哄憳涓嶅瓨鍦ㄦ垨绛惧悕鏈厤缃�/鏂囦欢缂哄け鏃惰繑鍥為�忔槑鍥剧墖, 涓嶆姏閿�
+     */
+    public static PictureRenderData getFinalUserSignatureOrTransparent(String userName) {
+        try {
+            return orTransparentPicture(getFinalUserSignatureUrl(userName));
+        } catch (Exception e) {
+            return Pictures.ofBytes(TRANSPARENT_PNG).create();
+        }
+    }
 }

--
Gitblit v1.9.3