From 56fe897d3e06bfa1e1105980d0044e6e67b2a484 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 23 十月 2026 17:44:20 +0800
Subject: [PATCH] feat(report): 实现浏览器内报告DOCX编辑功能
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderTemplateServiceImpl.java | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderTemplateServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderTemplateServiceImpl.java
index 0de8550..0c4fb27 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderTemplateServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderTemplateServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,6 +18,9 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* @author Administrator
@@ -67,7 +71,29 @@
vo.setStandardTreeId(standardTreeId);
if (standardTreeId != null) {
List<StandardTreeTemplateBindingVo> bindings = standardTreeService.selectTemplateBindings(standardTreeId);
- vo.setTemplateBindings(bindings == null ? new ArrayList<>() : bindings);
+ // 鏂颁繚瀛樼殑涓嬪崟妯℃澘璁板綍浜嗗疄闄呬繚鐣欑殑鍘熷璁板綍妯℃澘锛涙棫妯℃澘娌℃湁璇ュ瓧娈碉紝娌跨敤鏍囧噯搴撶粦瀹氬垪琛ㄣ��
+ JSONObject content = StringUtils.isBlank(template.getThing())
+ ? null : JSON.parseObject(template.getThing());
+ JSONArray savedSelections = content == null ? null : content.getJSONArray("templateList");
+ if (savedSelections == null) {
+ vo.setTemplateBindings(bindings == null ? new ArrayList<>() : bindings);
+ } else {
+ Map<Integer, StandardTreeTemplateBindingVo> currentBindings = (bindings == null
+ ? new ArrayList<StandardTreeTemplateBindingVo>() : bindings).stream()
+ .collect(Collectors.toMap(StandardTreeTemplateBindingVo::getTemplateId,
+ Function.identity(), (first, ignored) -> first));
+ List<StandardTreeTemplateBindingVo> selected = new ArrayList<>();
+ for (int index = 0; index < savedSelections.size(); index++) {
+ JSONObject selection = savedSelections.getJSONObject(index);
+ if (selection == null) continue;
+ StandardTreeTemplateBindingVo binding = currentBindings.get(selection.getInteger("templateId"));
+ if (binding != null) {
+ binding.setSort(index);
+ selected.add(binding);
+ }
+ }
+ vo.setTemplateBindings(selected);
+ }
} else {
vo.setTemplateBindings(new ArrayList<>());
}
--
Gitblit v1.9.3