From 3728fa293e1faf4bf4f9bf41105b84ddb43dc82e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 02 十一月 2026 16:53:02 +0800
Subject: [PATCH] feat(order-rates): 新增筛选条件下全部订单费用汇总接口

---
 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