From 013450af0b071d504c9b1c6cf7d1c58639e3cf32 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 11 四月 2025 13:58:48 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java |   38 ++++--
 smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java            |   37 ++++--
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java    |   42 +++---
 smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java   |   51 ++++++--
 ruoyi-admin/src/main/resources/application-druid.yml                                  |   16 +-
 smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java    |   38 ++++--
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java        |    7 
 ruoyi-admin/src/main/resources/logback.xml                                            |    4 
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java  |   38 ++++--
 smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java        |   41 +++---
 10 files changed, 188 insertions(+), 124 deletions(-)

diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index e30aa14..e65bd6c 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -13,10 +13,10 @@
         #        鍏徃
         #        url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         #        涓芥按
-        url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-        username: smartor
-        password: Smartor.2023
-        driverClassName: com.mysql.cj.jdbc.Driver
+#        url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+#        username: smartor
+#        password: Smartor.2023
+#        driverClassName: com.mysql.cj.jdbc.Driver
         #        # 鏂板崕
         #        url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         #        username: smartor
@@ -24,10 +24,10 @@
         #        driverClassName: com.mysql.cj.jdbc.Driver
 
         #  鍏徃浜�
-#        url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-#        username: hxsoft
-#        password: Hxerp2000
-#        driverClassName: com.mysql.cj.jdbc.Driver
+        url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        username: hxsoft
+        password: Hxerp2000
+        driverClassName: com.mysql.cj.jdbc.Driver
 
 
       # 浠庡簱鏁版嵁婧�
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index 5b81bcc..d826fcd 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <!-- 鏃ュ織瀛樻斁璺緞 -->
+    <!-- 鏃ュ織瀛樻斁璺緞 8095-->
+<!--	<property name="log.path" value="D:/health/logs" />-->
+    <!-- 鏃ュ織瀛樻斁璺緞 8096-->
 	<property name="log.path" value="D:/lihu/logs" />
     <!-- 涓芥按鏃ュ織瀛樻斁璺緞 -->
 <!--	<property name="log.path" value="/home/software/smartor-logs" />-->
diff --git a/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java
index a7adeaf..496694b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java
@@ -49,31 +49,30 @@
     @Override
     public List<HeLibraryAssortVO> selectHeLibraryAssortList(HeLibraryAssort heLibraryAssort) {
         List<HeLibraryAssort> heLibraryAssorts = heLibraryAssortMapper.selectHeLibraryAssortList(heLibraryAssort);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-        List<HeLibraryAssort> heLibraryAssortList2 = new ArrayList<>();
-        for (HeLibraryAssort heLibraryAssort1 : heLibraryAssorts) {
-//            if (heLibraryAssort1.getPid() != null) {
-                heLibraryAssortList2.add(heLibraryAssort1);
-//            }
+        List<HeLibraryAssortVO> heLibraryAssortVOS = DtoConversionUtils.sourceToTarget(heLibraryAssorts, HeLibraryAssortVO.class);
+
+        List<HeLibraryAssortVO> rootList = new ArrayList<>();
+        Map<Long, HeLibraryAssortVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (HeLibraryAssortVO category : heLibraryAssortVOS) {
+            categoryMap.put(category.getId(), category);
         }
 
-        List<HeLibraryAssortVO> heLibraryAssortVOS = DtoConversionUtils.sourceToTarget(heLibraryAssortList2, HeLibraryAssortVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        List<HeLibraryAssortVO> heLibraryAssortVOArrayList = new ArrayList<>();
-        for (HeLibraryAssortVO heLibraryAssortVO : heLibraryAssortVOS) {
-//            if (heLibraryAssortVO.getPid() != null) {
-//                continue;
-//            }
-            HeLibraryAssort heLibraryAssort1 = new HeLibraryAssort();
-            heLibraryAssort1.setPid(heLibraryAssortVO.getId());
-            List<HeLibraryAssort> heLibraryAssortList = heLibraryAssortMapper.selectHeLibraryAssortList(heLibraryAssort1);
-
-            if (!Collections.isEmpty(heLibraryAssortList)) {
-                heLibraryAssortVO.setHeLibraryAssortList(heLibraryAssortList);
+        for (HeLibraryAssortVO category : heLibraryAssortVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                HeLibraryAssortVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    HeLibraryAssort sc = DtoConversionUtils.sourceToTarget(category, HeLibraryAssort.class);
+                    parent.getHeLibraryAssortList().add(sc);
+                }
             }
-            heLibraryAssortVOArrayList.add(heLibraryAssortVO);
         }
-        return heLibraryAssortVOArrayList;
+        return rootList;
     }
 
     /**
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java
index 54d1250..d5fe7c8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java
@@ -13,7 +13,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -178,22 +181,29 @@
     @Override
     public List<IvrLibaScriptAssortVO> selectIvrLibaScriptAssortList(IvrLibaScriptAssort ivrLibaScriptAssort) {
         List<IvrLibaScriptAssort> ivrLibaScriptAssorts = ivrLibaScriptAssortMapper.selectIvrLibaScriptAssortList(ivrLibaScriptAssort);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-//        ivrLibaScriptAssorts = ivrLibaScriptAssorts.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
-
         List<IvrLibaScriptAssortVO> ivrLibaScriptAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaScriptAssorts, IvrLibaScriptAssortVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (IvrLibaScriptAssortVO ivrLibaScriptAssortVO : ivrLibaScriptAssortVOS) {
-//            if (ivrLibaScriptAssortVO.getPid() != null) {
-//                continue;
-//            }
-            IvrLibaScriptAssort ivrLibaTargetAssort1 = new IvrLibaScriptAssort();
-            ivrLibaTargetAssort1.setPid(ivrLibaScriptAssortVO.getId());
-            List<IvrLibaScriptAssort> ivrLibaScriptAssorts1 = ivrLibaScriptAssortMapper.selectIvrLibaScriptAssortList(ivrLibaTargetAssort1);
-            if (!Collections.isEmpty(ivrLibaScriptAssorts1)) {
-                ivrLibaScriptAssortVO.setIvrLibaScriptAssortList(ivrLibaScriptAssorts1);
+
+        List<IvrLibaScriptAssortVO> rootList = new ArrayList<>();
+        Map<Long, IvrLibaScriptAssortVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (IvrLibaScriptAssortVO category : ivrLibaScriptAssortVOS) {
+            categoryMap.put(category.getId(), category);
+        }
+
+        for (IvrLibaScriptAssortVO category : ivrLibaScriptAssortVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                IvrLibaScriptAssortVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    IvrLibaScriptAssort sc = DtoConversionUtils.sourceToTarget(category, IvrLibaScriptAssort.class);
+                    parent.getIvrLibaScriptAssortList().add(sc);
+                }
             }
         }
-        return ivrLibaScriptAssortVOS;
+        return rootList;
     }
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java
index 9a1ff53..72dd95d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java
@@ -14,7 +14,9 @@
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -49,30 +51,30 @@
     @Override
     public List<IvrLibaTargetAssortVO> selectIvrLibaTargetAssortList(IvrLibaTargetAssort ivrLibaTargetAssort) {
         List<IvrLibaTargetAssort> ivrLibaTargetAssorts = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-        List<IvrLibaTargetAssort> ivrLibaTargetAssortList = new ArrayList<>();
-        for (IvrLibaTargetAssort ivrLibaTargetAssort1 : ivrLibaTargetAssorts) {
-//            if (ivrLibaTargetAssort1.getPid() != null) {
-                ivrLibaTargetAssortList.add(ivrLibaTargetAssort1);
-//            }
+        List<IvrLibaTargetAssortVO> ivrLibaTargetAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTargetAssorts, IvrLibaTargetAssortVO.class);
+
+        List<IvrLibaTargetAssortVO> rootList = new ArrayList<>();
+        Map<Long, IvrLibaTargetAssortVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (IvrLibaTargetAssortVO category : ivrLibaTargetAssortVOS) {
+            categoryMap.put(category.getId(), category);
         }
 
-        List<IvrLibaTargetAssortVO> ivrLibaTargetAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTargetAssortList, IvrLibaTargetAssortVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        List<IvrLibaTargetAssortVO> ivrLibaTargetAssortVOS1 = new ArrayList<>();
-        for (IvrLibaTargetAssortVO ivrLibaTargetAssortVO : ivrLibaTargetAssortVOS) {
-//            if (ivrLibaTargetAssortVO.getPid() != -1) {
-//                continue;
-//            }
-            IvrLibaTargetAssort ivrLibaTargetAssort1 = new IvrLibaTargetAssort();
-            ivrLibaTargetAssort1.setPid(ivrLibaTargetAssortVO.getId());
-            List<IvrLibaTargetAssort> ivrLibaTargetAssorts2 = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort1);
-            if (!Collections.isEmpty(ivrLibaTargetAssorts2)) {
-                ivrLibaTargetAssortVO.setIvrLibaTargetAssortList(ivrLibaTargetAssorts2);
+        for (IvrLibaTargetAssortVO category : ivrLibaTargetAssortVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                IvrLibaTargetAssortVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    IvrLibaTargetAssort sc = DtoConversionUtils.sourceToTarget(category, IvrLibaTargetAssort.class);
+                    parent.getIvrLibaTargetAssortList().add(sc);
+                }
             }
-            ivrLibaTargetAssortVOS1.add(ivrLibaTargetAssortVO);
         }
-        return ivrLibaTargetAssortVOS1;
+        return rootList;
     }
 
     /**
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java
index 7545c2f..9c22e65 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java
@@ -14,7 +14,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -49,23 +52,30 @@
     @Override
     public List<IvrLibaTemplateAssortVO> selectIvrLibaTemplateAssortList(IvrLibaTemplateAssort ivrLibaScriptAssort) {
         List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaScriptAssort);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-//        ivrLibaTemplateAssorts = ivrLibaTemplateAssorts.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
-
         List<IvrLibaTemplateAssortVO> ivrLibaTemplateAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateAssorts, IvrLibaTemplateAssortVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (IvrLibaTemplateAssortVO ivrLibaTemplateAssortVO : ivrLibaTemplateAssortVOS) {
-//            if (ivrLibaTemplateAssortVO.getPid() != null) {
-//                continue;
-//            }
-            IvrLibaTemplateAssort ivrLibaTemplateAssort = new IvrLibaTemplateAssort();
-            ivrLibaTemplateAssort.setPid(ivrLibaTemplateAssortVO.getId());
-            List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts1 = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaTemplateAssort);
-            if (!Collections.isEmpty(ivrLibaTemplateAssorts1)) {
-                ivrLibaTemplateAssortVO.setIvrLibaTemplateAssortList(ivrLibaTemplateAssorts1);
+
+        List<IvrLibaTemplateAssortVO> rootList = new ArrayList<>();
+        Map<Long, IvrLibaTemplateAssortVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (IvrLibaTemplateAssortVO category : ivrLibaTemplateAssortVOS) {
+            categoryMap.put(category.getId(), category);
+        }
+
+        for (IvrLibaTemplateAssortVO category : ivrLibaTemplateAssortVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                IvrLibaTemplateAssortVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    IvrLibaTemplateAssort sc = DtoConversionUtils.sourceToTarget(category, IvrLibaTemplateAssort.class);
+                    parent.getIvrLibaTemplateAssortList().add(sc);
+                }
             }
         }
-        return ivrLibaTemplateAssortVOS;
+        return rootList;
     }
 
     /**
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 575bca8..7b3a1bf 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -871,12 +871,10 @@
         }
 
         patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
-        if (StringUtils.isEmpty(externalInHospPatientInfo.getLianXiDH()))
+        if (StringUtils.isEmpty(patArchive.getTelcode()))
             patArchive.setTelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
-        if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo))
-            patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH());
         patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao());
         patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC());
         patArchive.setUpdateTime(new Date());
@@ -968,6 +966,7 @@
         int i = 1;
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
             patMedInhosp.setUpdateTime(new Date());
+            patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
             i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
         } else {
             patMedInhosp.setCreateTime(new Date());
@@ -1103,7 +1102,7 @@
                 return addMedicalTeam(dataMap);
             case "JZ_ZY_RuKe":
                 log.error("鍏ョ鐨勬暟鎹负锛歿}", type);
-                return addMedicalTeam(dataMap);
+                return addInDeptInfo(dataMap);
         }
         return true;
     }
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java
index ccb7ed3..eaaccc6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java
@@ -16,7 +16,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -51,23 +54,31 @@
     @Override
     public List<SvyCategoryVO> selectSvyCategoryList(SvyCategory svyCategory) {
         List<SvyCategory> svyCategories = svyCategoryMapper.selectSvyCategoryList(svyCategory);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-//        svyCategories = svyCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
 
         List<SvyCategoryVO> svyCategoryVOS = DtoConversionUtils.sourceToTarget(svyCategories, SvyCategoryVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (SvyCategoryVO svyCategoryVO : svyCategoryVOS) {
-//            if (svyCategoryVO.getPid() != null) {
-//                continue;
-//            }
-            SvyCategory svyCategory1 = new SvyCategory();
-            svyCategory1.setPid(svyCategoryVO.getId());
-            List<SvyCategory> svyCategoryList = svyCategoryMapper.selectSvyCategoryList(svyCategory1);
-            if (!Collections.isEmpty(svyCategoryList)) {
-                svyCategoryVO.setSvyCategoryList(svyCategoryList);
+
+        List<SvyCategoryVO> rootList = new ArrayList<>();
+        Map<Long, SvyCategoryVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (SvyCategoryVO category : svyCategoryVOS) {
+            categoryMap.put(category.getId(), category);
+        }
+
+        for (SvyCategoryVO category : svyCategoryVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                SvyCategoryVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    SvyCategory sc = DtoConversionUtils.sourceToTarget(category, SvyCategory.class);
+                    parent.getSvyCategoryList().add(sc);
+                }
             }
         }
-        return svyCategoryVOS;
+        return rootList;
     }
 
     /**
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..1fab7ca 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java
@@ -15,9 +15,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 +50,46 @@
     @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> SvyLibScriptCategoryVO = DtoConversionUtils.sourceToTarget(svyLibScriptCategories, SvyLibScriptCategoryVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (SvyLibScriptCategoryVO svyLibScriptCategoryVO : SvyLibScriptCategoryVO) {
+////        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
+//        svyLibScriptCategories = svyLibScriptCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
+//
+//        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);
+//            SvyLibScriptCategory svyLibScriptCategory1 = new SvyLibScriptCategory();
+//            svyLibScriptCategory1.setPid(svyLibScriptCategoryVO.getId());
+//            List<SvyLibScriptCategory> svyLibScriptCategories1 = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory1);
+//            if (!Collections.isEmpty(svyLibScriptCategories1)) {
+//                svyLibScriptCategoryVO.setSvyLibScriptCategoryList(svyLibScriptCategories1);
+//            }
+//        }
+  List<SvyLibScriptCategoryVO> svyLibScriptCategoryVOS = DtoConversionUtils.sourceToTarget(svyLibScriptCategories, SvyLibScriptCategoryVO.class);
+
+        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;
     }
 
     /**
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
index 4173e4d..17594c5 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
@@ -14,7 +14,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -49,23 +52,30 @@
     @Override
     public List<SvyLibTemplateCategoryVO> selectSvyLibTemplateCategoryList(SvyLibTemplateCategory svyLibTemplateCategory) {
         List<SvyLibTemplateCategory> svyLibTemplateCategories = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-//        svyLibTemplateCategories = svyLibTemplateCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
-
         List<SvyLibTemplateCategoryVO> svyLibTemplateCategoryVOList = DtoConversionUtils.sourceToTarget(svyLibTemplateCategories, SvyLibTemplateCategoryVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (SvyLibTemplateCategoryVO svyLibTemplateCategoryVO : svyLibTemplateCategoryVOList) {
-//            if (svyLibTemplateCategoryVO.getPid() != null) {
-//                continue;
-//            }
-            SvyLibTemplateCategory svyLibTemplateCategory1 = new SvyLibTemplateCategory();
-            svyLibTemplateCategory1.setPid(svyLibTemplateCategoryVO.getId());
-            List<SvyLibTemplateCategory> svyLibTemplateCategoryList = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory1);
-            if (!Collections.isEmpty(svyLibTemplateCategoryList)) {
-                svyLibTemplateCategoryVO.setSvyLibTemplateCategoryList(svyLibTemplateCategoryList);
+
+        List<SvyLibTemplateCategoryVO> rootList = new ArrayList<>();
+        Map<Long, SvyLibTemplateCategoryVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (SvyLibTemplateCategoryVO category : svyLibTemplateCategoryVOList) {
+            categoryMap.put(category.getId(), category);
+        }
+
+        for (SvyLibTemplateCategoryVO category : svyLibTemplateCategoryVOList) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                SvyLibTemplateCategoryVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    SvyLibTemplateCategory sc = DtoConversionUtils.sourceToTarget(category, SvyLibTemplateCategory.class);
+                    parent.getSvyLibTemplateCategoryList().add(sc);
+                }
             }
         }
-        return svyLibTemplateCategoryVOList;
+        return rootList;
     }
 
     /**

--
Gitblit v1.9.3