Prechádzať zdrojové kódy

v2025.8.4
1、我的资质和医生授权管理,详情优化:授权记录改从单独接口查询,不再放在列表信息中。减少手术类型字典、资质字典、资质分类的调用次数

jinhu 2 týždňov pred
rodič
commit
2ecf923e11

+ 18 - 3
src/main/java/com/kcim/dao/repository/QualificationApplyRepository.java

@@ -172,6 +172,15 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
             queryWrapper.eq(QualificationApply::getUserId, userId);
         }
 
+        //手术级别字典
+        List<SysDictionary> dicOperationLevel = sysDictionaryRepository.listByType("SURGICAL_AND_OPERATIONAL_LEVELS");
+
+        //有效资质
+        List<Qualification> listQualification = qualificationRepository.list();
+
+        //资质分类
+        List<QualificationType> listQualificationType = qualificationTypeRepository.list();
+
         List<QualificationApply> list = this.list(queryWrapper);
         for(QualificationApply apply: list){
 
@@ -179,9 +188,15 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
             apply.setUserInfo(userInfos.stream().filter(u -> u.getId().equals(apply.getUserId())).findFirst().orElse(null));
 
             //资质信息
-            Qualification qualification = qualificationRepository.getByCode(apply.getQualificationCode());
-            //手术级别字典
-            List<SysDictionary> dicOperationLevel = sysDictionaryRepository.listByType("SURGICAL_AND_OPERATIONAL_LEVELS");
+            //Qualification qualification = qualificationRepository.getByCode(apply.getQualificationCode());
+            Qualification qualification = listQualification.stream().filter(q -> q.getCode().equals(apply.getQualificationCode())).findFirst().orElse(null);
+
+            //资质分类
+            QualificationType qualificationType = listQualificationType.stream().filter(t -> t.getCode().equals(qualification.getQualificationTypeCode())).findFirst().orElse(null);
+            if(qualificationType != null){
+                qualification.setQualificationTypeName(qualificationType.getName());
+            }
+
             if(!StringUtils.isEmpty(qualification.getOperationLevelCode())){
                 Optional<SysDictionary> dic = dicOperationLevel.stream()
                         .filter(d -> d.getCode().equals(qualification.getOperationLevelCode()))