|
@@ -52,7 +52,6 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
|
|
|
|
//资质分类集合
|
|
|
List<QualificationType> qualificationTypeList = qualificationTypeRepository.list();
|
|
|
- Map<String, QualificationType> qualificationTypeMap = qualificationTypeList.stream().collect(Collectors.toMap(QualificationType::getCode, vo -> vo, (a, b) -> b));
|
|
|
|
|
|
//遍历qualificationMap中的每个项目
|
|
|
qualificationMap.forEach((qualificationCode, qualification) -> {
|
|
@@ -154,7 +153,7 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
|
|
|
|
@Override
|
|
|
public Object listQualificationApplyByDoctor(String userId){
|
|
|
- List<QualificationApply> list = qualificationApplyRepository.listByQualification(null,userId);
|
|
|
+ List<QualificationApply> list = qualificationApplyRepository.listQualificationApplyByUserId(userId);
|
|
|
return geneQualificationStatus(list);
|
|
|
}
|
|
|
|
|
@@ -183,87 +182,117 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
|
//返回的集合
|
|
|
List<QualificationManageForDoctor> listReturn = new ArrayList<>();
|
|
|
|
|
|
- //资质集合
|
|
|
+ //所有有效的资质
|
|
|
List<Qualification> qualificationList = qualificationRepository.list();
|
|
|
-
|
|
|
- //有效的资质授权
|
|
|
- List<QualificationApply> list = qualificationApplyRepository.listByQualification();
|
|
|
-
|
|
|
- //过滤的科室代码和其下级代码组成的列表
|
|
|
- List<String> listDept = getDepartmentCodeRecursion(departmentRepository.list(),deptCode);
|
|
|
+ Map<String,Qualification> qualificationMap = qualificationList.stream().collect(Collectors.toMap(Qualification::getCode, vo -> vo, (a, b) -> b));
|
|
|
|
|
|
//人员列表
|
|
|
List<UserInfo> empList = userInfoRepository.list();
|
|
|
Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
|
|
|
|
|
|
- for(QualificationApply qualificationApply : list){
|
|
|
-
|
|
|
- //资质字典
|
|
|
- Qualification qualification = qualificationList.stream().filter(q -> q.getCode().equals(qualificationApply.getQualificationCode())).findFirst().get();
|
|
|
- //资质名称
|
|
|
- String qualificationName = qualification.getName();
|
|
|
-
|
|
|
- //科室过滤
|
|
|
- if(!StringUtils.isEmpty(deptCode) && !listDept.contains(qualificationApply.getUserInfo().getDeptCode())){
|
|
|
- continue;
|
|
|
- }
|
|
|
+ //遍历每个医生
|
|
|
+ empMap.forEach((empId,emp) -> {
|
|
|
//姓名过滤
|
|
|
- if(!StringUtils.isEmpty(userName) && !qualificationApply.getUserInfo().getName().contains(userName)){
|
|
|
- continue;
|
|
|
+ if(!StringUtils.isEmpty(userName) && !emp.getName().contains(userName)){
|
|
|
+ return;
|
|
|
}
|
|
|
- if(!CollectionUtils.isEmpty(qualificationApply.getApplyAdjust())){
|
|
|
- //调整历史-调整人姓名
|
|
|
- for(QualificationApplyAdjust adjust : qualificationApply.getApplyAdjust()){
|
|
|
- adjust.setAdjustUserName(empMap.get(adjust.getUserId()).getName());
|
|
|
- }
|
|
|
+ //科室过滤
|
|
|
+ if(!StringUtils.isEmpty(deptCode) && !emp.getDeptCode().equals(deptCode)){
|
|
|
+ return;
|
|
|
}
|
|
|
+ QualificationManageForDoctor qualificationManageForDoctor = new QualificationManageForDoctor();
|
|
|
+ qualificationManageForDoctor.setUserInfo(emp);
|
|
|
+ qualificationManageForDoctor.setQualificationList("-");
|
|
|
+ listReturn.add(qualificationManageForDoctor);
|
|
|
+ });
|
|
|
|
|
|
- Optional<QualificationManageForDoctor> returnItem = listReturn.stream().filter(q -> q.getUserInfo().getId().equals(qualificationApply.getUserId())).findFirst();
|
|
|
- //添加1项
|
|
|
- if(!returnItem.isPresent()) {
|
|
|
- QualificationManageForDoctor newItem = new QualificationManageForDoctor();
|
|
|
- //医生信息
|
|
|
- newItem.setUserInfo(userInfoRepository.getUserInfoById(qualificationApply.getUserId()));
|
|
|
- //资质名称列表
|
|
|
- if(qualificationApply.getCurrentStatus().equals("授权中")){
|
|
|
- newItem.setQualificationList(qualificationName);
|
|
|
- }
|
|
|
- else{
|
|
|
- newItem.setQualificationList(""); //新建时如果不是授权中状态,则给一个空字符串,避免出现null文本
|
|
|
- }
|
|
|
- //申请列表
|
|
|
- List<QualificationApply> applyList = new ArrayList<>();
|
|
|
- applyList.add(qualificationApply);
|
|
|
- newItem.setApplyList(applyList);
|
|
|
+ // 对listReturn进行分页处理
|
|
|
+ int total = listReturn.size();
|
|
|
+ int startIndex = (current - 1) * pageSize;
|
|
|
+ int endIndex = Math.min(startIndex + pageSize, total);
|
|
|
|
|
|
- listReturn.add(newItem);
|
|
|
- }
|
|
|
- //更新项
|
|
|
- else{
|
|
|
- //资质名称列表
|
|
|
- if(qualificationApply.getCurrentStatus().equals("授权中")){
|
|
|
- String newQualificationList = returnItem.get().getQualificationList() + "," + qualificationName;
|
|
|
- newQualificationList = StringUtils.trimLeadingCharacter(newQualificationList,','); //去掉最左边的逗号
|
|
|
- returnItem.get().setQualificationList(newQualificationList);
|
|
|
- }
|
|
|
- //申请列表
|
|
|
- returnItem.get().getApplyList().add(qualificationApply);
|
|
|
- }
|
|
|
+ // 如果起始索引超出范围,则返回空列表
|
|
|
+ List<QualificationManageForDoctor> pagedList = new ArrayList<>();
|
|
|
+ if (startIndex < total) {
|
|
|
+ pagedList = listReturn.subList(startIndex, endIndex);
|
|
|
}
|
|
|
|
|
|
- //设置「允许重新授权状态」,已过期的授权,如果没有对应的授权中的授权时,才可以重新授权
|
|
|
- for(QualificationManageForDoctor item : listReturn ){
|
|
|
- for(QualificationApply apply : item.getApplyList()){
|
|
|
- if(apply.getCurrentStatus().equals("已过期")) {
|
|
|
- if(item.getApplyList().stream().filter(a -> a.getCurrentStatus().equals("授权中"))
|
|
|
- .noneMatch(a -> a.getQualificationInfo().getCode().equals(apply.getQualificationInfo().getCode()))) {
|
|
|
- apply.setAllowReAuthorize(NumberConstant.ONE);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ return new PageUtils(pagedList, total, pageSize, current);
|
|
|
|
|
|
- return new PageUtils(listReturn, Math.toIntExact(listReturn.size()),pageSize,current);
|
|
|
+ //有效的资质授权
|
|
|
+// List<QualificationApply> list = qualificationApplyRepository.listByQualification();
|
|
|
+//
|
|
|
+// //过滤的科室代码和其下级代码组成的列表
|
|
|
+// List<String> listDept = getDepartmentCodeRecursion(departmentRepository.list(),deptCode);
|
|
|
+//
|
|
|
+// for(QualificationApply qualificationApply : list){
|
|
|
+//
|
|
|
+// //资质字典
|
|
|
+// Qualification qualification = qualificationList.stream().filter(q -> q.getCode().equals(qualificationApply.getQualificationCode())).findFirst().get();
|
|
|
+// //资质名称
|
|
|
+// String qualificationName = qualification.getName();
|
|
|
+//
|
|
|
+// //科室过滤
|
|
|
+// if(!StringUtils.isEmpty(deptCode) && !listDept.contains(qualificationApply.getUserInfo().getDeptCode())){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //姓名过滤
|
|
|
+// if(!StringUtils.isEmpty(userName) && !qualificationApply.getUserInfo().getName().contains(userName)){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// if(!CollectionUtils.isEmpty(qualificationApply.getApplyAdjust())){
|
|
|
+// //调整历史-调整人姓名
|
|
|
+// for(QualificationApplyAdjust adjust : qualificationApply.getApplyAdjust()){
|
|
|
+// adjust.setAdjustUserName(empMap.get(adjust.getUserId()).getName());
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// Optional<QualificationManageForDoctor> returnItem = listReturn.stream().filter(q -> q.getUserInfo().getId().equals(qualificationApply.getUserId())).findFirst();
|
|
|
+// //添加1项
|
|
|
+// if(!returnItem.isPresent()) {
|
|
|
+// QualificationManageForDoctor newItem = new QualificationManageForDoctor();
|
|
|
+// //医生信息
|
|
|
+// newItem.setUserInfo(userInfoRepository.getUserInfoById(qualificationApply.getUserId()));
|
|
|
+// //资质名称列表
|
|
|
+// if(qualificationApply.getCurrentStatus().equals("授权中")){
|
|
|
+// newItem.setQualificationList(qualificationName);
|
|
|
+// }
|
|
|
+// else{
|
|
|
+// newItem.setQualificationList(""); //新建时如果不是授权中状态,则给一个空字符串,避免出现null文本
|
|
|
+// }
|
|
|
+// //申请列表
|
|
|
+// List<QualificationApply> applyList = new ArrayList<>();
|
|
|
+// applyList.add(qualificationApply);
|
|
|
+// newItem.setApplyList(applyList);
|
|
|
+//
|
|
|
+// listReturn.add(newItem);
|
|
|
+// }
|
|
|
+// //更新项
|
|
|
+// else{
|
|
|
+// //资质名称列表
|
|
|
+// if(qualificationApply.getCurrentStatus().equals("授权中")){
|
|
|
+// String newQualificationList = returnItem.get().getQualificationList() + "," + qualificationName;
|
|
|
+// newQualificationList = StringUtils.trimLeadingCharacter(newQualificationList,','); //去掉最左边的逗号
|
|
|
+// returnItem.get().setQualificationList(newQualificationList);
|
|
|
+// }
|
|
|
+// //申请列表
|
|
|
+// returnItem.get().getApplyList().add(qualificationApply);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// //设置「允许重新授权状态」,已过期的授权,如果没有对应的授权中的授权时,才可以重新授权
|
|
|
+// for(QualificationManageForDoctor item : listReturn ){
|
|
|
+// for(QualificationApply apply : item.getApplyList()){
|
|
|
+// if(apply.getCurrentStatus().equals("已过期")) {
|
|
|
+// if(item.getApplyList().stream().filter(a -> a.getCurrentStatus().equals("授权中"))
|
|
|
+// .noneMatch(a -> a.getQualificationInfo().getCode().equals(apply.getQualificationInfo().getCode()))) {
|
|
|
+// apply.setAllowReAuthorize(NumberConstant.ONE);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// return new PageUtils(listReturn, Math.toIntExact(listReturn.size()),pageSize,current);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -381,6 +410,13 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
|
return myInfo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Object getDoctorInfo(Long userId) {
|
|
|
+ UserInfo myInfo = userInfoRepository.getUserInfoById(userId);
|
|
|
+ myInfo.setAttachments(doctorAttachmentRepository.listByUserId(userId));
|
|
|
+ return myInfo;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Object listAllDepartment(String queryCondition) {
|
|
|
//返回的集合
|