瀏覽代碼

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

jinhu 2 周之前
父節點
當前提交
51906d8464

+ 1 - 1
src/main/java/com/kcim/controller/QualificationManageController.java

@@ -96,7 +96,7 @@ public class QualificationManageController {
      * 授权管理-查询我的授权记录明细
      */
     @ApiOperation("授权管理-查询我的授权记录明细")
-    @PostMapping("getMyQualificationHistory")
+    @GetMapping("getMyQualificationHistory")
     public Result getMyQualificationHistory(@RequestParam(value = "qualificationCode", required = true) String qualificationCode){
         return Result.ok(qualificationManageService.getMyQualificationHistory(qualificationCode));
     }

+ 16 - 10
src/main/java/com/kcim/dao/repository/QualificationApplyRepository.java

@@ -154,10 +154,6 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
      */
     public List<QualificationApply> listByQualification(String qualificationCode,String userId)
     {
-        //用户信息
-        List<UserInfo> empList = userInfoRepository.list();
-        Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
-
         //ApplyStatus 当前状态 1草稿 2待科主任审核 3待医务部审核 4待院长审核 5审核通过 6驳回
         LambdaQueryWrapper<QualificationApply> queryWrapper = new LambdaQueryWrapper<>();
 
@@ -173,14 +169,21 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
             queryWrapper.eq(QualificationApply::getUserId, userId);
         }
 
+        //用户信息
+        List<UserInfo> empList = userInfoRepository.list();
+        Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
+
         //手术级别字典
         List<SysDictionary> dicOperationLevel = sysDictionaryRepository.listByType("SURGICAL_AND_OPERATIONAL_LEVELS");
+        Map<String,SysDictionary> operationLevelMap = dicOperationLevel.stream().collect(Collectors.toMap(SysDictionary::getCode, vo -> vo, (a, b) -> b));
 
         //有效资质
         List<Qualification> listQualification = qualificationRepository.list();
+        Map<String,Qualification> qualificationMap = listQualification.stream().collect(Collectors.toMap(Qualification::getCode, vo -> vo, (a, b) -> b));
 
         //资质分类
         List<QualificationType> listQualificationType = qualificationTypeRepository.list();
+        Map<String,QualificationType> qualificationTypeMap = listQualificationType.stream().collect(Collectors.toMap(QualificationType::getCode, vo -> vo, (a, b) -> b));
 
         //调整记录
         List<QualificationApplyAdjust> listApplyAdjust = applyAdjustRepository.list();
@@ -193,19 +196,22 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
 
             //资质信息
             //Qualification qualification = qualificationRepository.getByCode(apply.getQualificationCode());
-            Qualification qualification = listQualification.stream().filter(q -> q.getCode().equals(apply.getQualificationCode())).findFirst().orElse(null);
+            //Qualification qualification = listQualification.stream().filter(q -> q.getCode().equals(apply.getQualificationCode())).findFirst().orElse(null);
+            Qualification qualification = qualificationMap.get(apply.getQualificationCode());
 
             //资质分类
-            QualificationType qualificationType = listQualificationType.stream().filter(t -> t.getCode().equals(qualification.getQualificationTypeCode())).findFirst().orElse(null);
+            //QualificationType qualificationType = listQualificationType.stream().filter(t -> t.getCode().equals(qualification.getQualificationTypeCode())).findFirst().orElse(null);
+            QualificationType qualificationType = qualificationTypeMap.get(qualification.getCode());
             if(qualificationType != null){
                 qualification.setQualificationTypeName(qualificationType.getName());
             }
 
             if(!StringUtils.isEmpty(qualification.getOperationLevelCode())){
-                Optional<SysDictionary> dic = dicOperationLevel.stream()
-                        .filter(d -> d.getCode().equals(qualification.getOperationLevelCode()))
-                        .findFirst();
-                dic.ifPresent(sysDictionary -> qualification.setOperationLevelName(sysDictionary.getName()));
+//                Optional<SysDictionary> dic = dicOperationLevel.stream()
+//                        .filter(d -> d.getCode().equals(qualification.getOperationLevelCode()))
+//                        .findFirst();
+//                dic.ifPresent(sysDictionary -> qualification.setOperationLevelName(sysDictionary.getName()));
+                qualification.setOperationLevelName(operationLevelMap.get(qualification.getOperationLevelCode()).getName());
             }
             apply.setQualificationInfo(qualification);