From e180e3a496d6f29d3a3b34016400de9d997c6bd9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 07 四月 2026 14:42:23 +0800
Subject: [PATCH] 省立同德满意度功能提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java |   50 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java
index dada19c..6f5ee13 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java
@@ -3,6 +3,7 @@
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
+import com.smartor.common.PinYinUtil;
 import com.smartor.domain.IvrLibaTargetAssort;
 import com.smartor.domain.SvyLibScriptCategory;
 import com.smartor.domain.SvyLibScriptCategoryVO;
@@ -15,9 +16,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -52,23 +51,30 @@
     @Override
     public List<SvyLibScriptCategoryVO> selectSvyLibScriptCategoryList(SvyLibScriptCategory svyLibScriptCategory) {
         List<SvyLibScriptCategory> svyLibScriptCategories = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory);
-//        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-//        svyLibScriptCategories = svyLibScriptCategories.stream().filter(assort -> assort.getPid() != null).collect(Collectors.toList());
+        List<SvyLibScriptCategoryVO> svyLibScriptCategoryVOS = DtoConversionUtils.sourceToTarget(svyLibScriptCategories, SvyLibScriptCategoryVO.class);
 
-        List<SvyLibScriptCategoryVO> SvyLibScriptCategoryVO = DtoConversionUtils.sourceToTarget(svyLibScriptCategories, SvyLibScriptCategoryVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (SvyLibScriptCategoryVO svyLibScriptCategoryVO : SvyLibScriptCategoryVO) {
-//            if (svyLibScriptCategoryVO.getPid() != null) {
-//                continue;
-//            }
-            SvyLibScriptCategory svyLibScriptCategory1 = new SvyLibScriptCategory();
-            svyLibScriptCategory1.setPid(svyLibScriptCategoryVO.getId());
-            List<SvyLibScriptCategory> svyLibScriptCategories1 = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory1);
-            if (!Collections.isEmpty(svyLibScriptCategories1)) {
-                svyLibScriptCategoryVO.setSvyLibScriptCategoryList(svyLibScriptCategories1);
+        List<SvyLibScriptCategoryVO> rootList = new ArrayList<>();
+        Map<Long, SvyLibScriptCategoryVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (SvyLibScriptCategoryVO category : svyLibScriptCategoryVOS) {
+            categoryMap.put(category.getId(), category);
+        }
+
+        for (SvyLibScriptCategoryVO category : svyLibScriptCategoryVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                SvyLibScriptCategoryVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    SvyLibScriptCategory sc = DtoConversionUtils.sourceToTarget(category, SvyLibScriptCategory.class);
+                    parent.getSvyLibScriptCategoryList().add(sc);
+                }
             }
         }
-        return SvyLibScriptCategoryVO;
+        return rootList;
     }
 
     /**
@@ -92,6 +98,9 @@
     @Override
     public int updateSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory) {
         svyLibScriptCategory.setUpdateTime(DateUtils.getNowDate());
+        if (svyLibScriptCategory.getName() != null && svyLibScriptCategory.getName().contains("婊℃剰搴�") && svyLibScriptCategory.getPid() != -1) {
+            svyLibScriptCategory.setType(PinYinUtil.getpy(svyLibScriptCategory.getName()));
+        }
         return svyLibScriptCategoryMapper.updateSvyLibScriptCategory(svyLibScriptCategory);
     }
 
@@ -144,6 +153,9 @@
         svyLibScriptCategory.setUpdateTime(new Date());
         svyLibScriptCategory.setCreateTime(new Date());
         if (svyLibScriptCategory.getPid() == null) svyLibScriptCategory.setPid((long) -1);
+        if (svyLibScriptCategory.getName() != null && svyLibScriptCategory.getName().contains("婊℃剰搴�") && svyLibScriptCategory.getPid() != -1) {
+            svyLibScriptCategory.setType(PinYinUtil.getpy(svyLibScriptCategory.getName()));
+        }
         i = svyLibScriptCategoryMapper.insertSvyLibScriptCategory(svyLibScriptCategory);
         log.info("闂璇濇湳鍒嗙被搴撲竴绾ф爲鐨勪富閿�:{}", svyLibScriptCategory.getId());
 
@@ -161,6 +173,10 @@
                 if (seqMax1 != null) {
                     svyLibScriptCategory1.setSeqno(seqMax1 + 1);
                 }
+                if (svyLibScriptCategory1.getName() != null && svyLibScriptCategory1.getName().contains("婊℃剰搴�")) {
+                    svyLibScriptCategory1.setType(PinYinUtil.getpy(svyLibScriptCategory1.getName()));
+                }
+
                 svyLibScriptCategory1.setGuid(svyLibScriptCategoryVO.getGuid());
                 svyLibScriptCategory1.setOrgid(svyLibScriptCategoryVO.getOrgid());
                 svyLibScriptCategoryMapper.insertSvyLibScriptCategory(svyLibScriptCategory1);

--
Gitblit v1.9.3