|
@@ -171,6 +171,12 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
|
|
|
queryWrapper.eq(QualificationApply::getUserId, userId);
|
|
|
}
|
|
|
|
|
|
+ List<QualificationApply> list = this.list(queryWrapper);
|
|
|
+ //如果 list 为空,直接返回
|
|
|
+ if(CollectionUtils.isEmpty(list)){
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
//用户信息
|
|
|
List<UserInfo> empList = userInfoRepository.list();
|
|
|
Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
|
|
@@ -191,7 +197,7 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
|
|
|
List<QualificationApplyAdjust> listApplyAdjust = applyAdjustRepository.list();
|
|
|
Map<Integer, List<QualificationApplyAdjust>> qualificationApplyAdjustMap = listApplyAdjust.stream().collect(Collectors.groupingBy(QualificationApplyAdjust::getQualificationApplyId));
|
|
|
|
|
|
- List<QualificationApply> list = this.list(queryWrapper);
|
|
|
+
|
|
|
for(QualificationApply apply: list){
|
|
|
|
|
|
//医生信息
|
|
@@ -238,6 +244,68 @@ public class QualificationApplyRepository extends ServiceImpl<QualificationApply
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ public List<QualificationApply> listQualificationApplyByQualificationCode(String qualificationCode){
|
|
|
+ //ApplyStatus 当前状态 1草稿 2待科主任审核 3待医务部审核 4待院长审核 5审核通过 6驳回
|
|
|
+ LambdaQueryWrapper<QualificationApply> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+
|
|
|
+ queryWrapper.eq(QualificationApply::getHospId, BaseUtil.getCurrentLoginHospId());
|
|
|
+ queryWrapper.eq(QualificationApply::getDelFlag, NumberConstant.ZERO);
|
|
|
+ queryWrapper.eq(QualificationApply::getApplyStatus, NumberConstant.FIVE);
|
|
|
+ queryWrapper.eq(QualificationApply::getQualificationCode, qualificationCode);
|
|
|
+
|
|
|
+ List<QualificationApply> list = this.list(queryWrapper);
|
|
|
+ //如果 list 为空,直接返回
|
|
|
+ if(CollectionUtils.isEmpty(list)){
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ //用户信息
|
|
|
+ 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));
|
|
|
+
|
|
|
+ //资质信息
|
|
|
+ Qualification qualification = qualificationRepository.getByCode(qualificationCode);
|
|
|
+ //资质分类
|
|
|
+ QualificationType qualificationType = qualificationTypeRepository.getByCode(qualification.getQualificationTypeCode());
|
|
|
+ //资质分类名称
|
|
|
+ qualification.setQualificationTypeName(qualificationType.getName());
|
|
|
+
|
|
|
+ //调整记录
|
|
|
+ List<QualificationApplyAdjust> listApplyAdjust = applyAdjustRepository.list();
|
|
|
+ Map<Integer, List<QualificationApplyAdjust>> qualificationApplyAdjustMap = listApplyAdjust.stream().collect(Collectors.groupingBy(QualificationApplyAdjust::getQualificationApplyId));
|
|
|
+
|
|
|
+ for(QualificationApply apply: list){
|
|
|
+ //医生信息
|
|
|
+ apply.setUserInfo(empMap.get(apply.getUserId()));
|
|
|
+ //资质信息
|
|
|
+ apply.setQualificationInfo(qualification);
|
|
|
+ //手术等级
|
|
|
+ if(!StringUtils.isEmpty(qualification.getOperationLevelCode())){
|
|
|
+ SysDictionary operationLevel = operationLevelMap.get(qualification.getOperationLevelCode());
|
|
|
+ if(operationLevel != null){
|
|
|
+ qualification.setOperationLevelName(operationLevel.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ apply.setQualificationInfo(qualification);
|
|
|
+
|
|
|
+ //调整历史
|
|
|
+ List<QualificationApplyAdjust> applyAdjustList = qualificationApplyAdjustMap.get(apply.getId());
|
|
|
+ if(!CollectionUtils.isEmpty(applyAdjustList)) {
|
|
|
+ //调整历史-调整人姓名
|
|
|
+ for(QualificationApplyAdjust adjust : applyAdjustList){
|
|
|
+ adjust.setAdjustUserName(empMap.get(adjust.getUserId()).getName());
|
|
|
+ }
|
|
|
+ apply.setApplyAdjust(applyAdjustList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list.sort((Comparator.comparing(QualificationApply::getCurrentStatus, Comparator.reverseOrder()).thenComparing(QualificationApply::getApplyDate, Comparator.reverseOrder())));
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
public QualificationApply findByUserIdAndQualificationCode(Long userId,String qualificationCode,Boolean includeDraft){
|
|
|
LambdaQueryWrapper<QualificationApply> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|