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