|
@@ -84,59 +84,6 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
listReturn.add(qualificationManage);
|
|
listReturn.add(qualificationManage);
|
|
});
|
|
});
|
|
|
|
|
|
-
|
|
|
|
-//有效的资质授权
|
|
|
|
-// List<QualificationApply> list = qualificationApplyRepository.listByQualification();
|
|
|
|
-//
|
|
|
|
-// for(QualificationApply qualificationApply : list){
|
|
|
|
-//
|
|
|
|
-// //资质字典信息
|
|
|
|
-// Qualification qualification = qualificationMap.get(qualificationApply.getQualificationCode());
|
|
|
|
-//
|
|
|
|
-// //资质名称
|
|
|
|
-// String qualificationName = qualification.getName();
|
|
|
|
-// //资质分类
|
|
|
|
-// QualificationType qualificationType = qualificationTypeMap.get(qualification.getQualificationTypeCode());
|
|
|
|
-// //资质分类编码
|
|
|
|
-// String typeCode = qualificationType.getCode();
|
|
|
|
-// //资质分类名称
|
|
|
|
-// String typeName = qualificationType.getName();
|
|
|
|
-// qualification.setQualificationTypeName(typeName);
|
|
|
|
-//
|
|
|
|
-// //名称过滤
|
|
|
|
-// if(!StringUtils.isEmpty(name) && !qualificationName.contains(name)){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// //分类过滤
|
|
|
|
-// if(!qualificationTypeCode.equals("0")){
|
|
|
|
-// List<String> typeCodeList = qualificationService.getQualificationTypeCodeRecursion(qualificationTypeList,qualificationTypeCode);
|
|
|
|
-// if(!typeCodeList.contains(typeCode)){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// //手术标志过滤
|
|
|
|
-// if(operationFlag != null && operationFlag.equals(NumberConstant.ONE) && qualification.getOperationFlag().equals(NumberConstant.ZERO)){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// //医疗技术标志过滤
|
|
|
|
-// if(techFlag != null && techFlag.equals(NumberConstant.ONE) && qualification.getTechFlag().equals(NumberConstant.ZERO)){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// //手术级别过滤
|
|
|
|
-// if(!StringUtils.isEmpty(operationLevelCode) && !qualification.getOperationLevelCode().equals(operationLevelCode)){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// Optional<QualificationManage> returnItem = listReturn.stream().filter(q -> q.getQualification().getCode().equals(qualificationApply.getQualificationCode())).findFirst();
|
|
|
|
-// //添加1项
|
|
|
|
-// if(!returnItem.isPresent()) {
|
|
|
|
-// QualificationManage newItem = new QualificationManage();
|
|
|
|
-// //资质字典
|
|
|
|
-// newItem.setQualification(qualification);
|
|
|
|
-// listReturn.add(newItem);
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
// 对listReturn进行分页处理
|
|
// 对listReturn进行分页处理
|
|
int total = listReturn.size();
|
|
int total = listReturn.size();
|
|
int startIndex = (current - 1) * pageSize;
|
|
int startIndex = (current - 1) * pageSize;
|
|
@@ -182,29 +129,28 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
//返回的集合
|
|
//返回的集合
|
|
List<QualificationManageForDoctor> listReturn = new ArrayList<>();
|
|
List<QualificationManageForDoctor> listReturn = new ArrayList<>();
|
|
|
|
|
|
- //所有有效的资质
|
|
|
|
- List<Qualification> qualificationList = qualificationRepository.list();
|
|
|
|
- Map<String,Qualification> qualificationMap = qualificationList.stream().collect(Collectors.toMap(Qualification::getCode, vo -> vo, (a, b) -> b));
|
|
|
|
-
|
|
|
|
//人员列表
|
|
//人员列表
|
|
List<UserInfo> empList = userInfoRepository.list();
|
|
List<UserInfo> empList = userInfoRepository.list();
|
|
Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
|
|
Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
|
|
|
|
|
|
- //遍历每个医生
|
|
|
|
- empMap.forEach((empId,emp) -> {
|
|
|
|
|
|
+ //过滤的科室代码和其下级代码组成的列表
|
|
|
|
+ List<String> listDept = getDepartmentCodeRecursion(departmentRepository.list(),deptCode);
|
|
|
|
+
|
|
|
|
+ //遍历 empList
|
|
|
|
+ for(UserInfo emp : empList){
|
|
//姓名过滤
|
|
//姓名过滤
|
|
if(!StringUtils.isEmpty(userName) && !emp.getName().contains(userName)){
|
|
if(!StringUtils.isEmpty(userName) && !emp.getName().contains(userName)){
|
|
- return;
|
|
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
//科室过滤
|
|
//科室过滤
|
|
- if(!StringUtils.isEmpty(deptCode) && !emp.getDeptCode().equals(deptCode)){
|
|
|
|
- return;
|
|
|
|
|
|
+ if(!StringUtils.isEmpty(deptCode) && !listDept.contains(emp.getDeptCode())){
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
QualificationManageForDoctor qualificationManageForDoctor = new QualificationManageForDoctor();
|
|
QualificationManageForDoctor qualificationManageForDoctor = new QualificationManageForDoctor();
|
|
qualificationManageForDoctor.setUserInfo(emp);
|
|
qualificationManageForDoctor.setUserInfo(emp);
|
|
qualificationManageForDoctor.setQualificationList("-");
|
|
qualificationManageForDoctor.setQualificationList("-");
|
|
listReturn.add(qualificationManageForDoctor);
|
|
listReturn.add(qualificationManageForDoctor);
|
|
- });
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// 对listReturn进行分页处理
|
|
// 对listReturn进行分页处理
|
|
int total = listReturn.size();
|
|
int total = listReturn.size();
|
|
@@ -218,81 +164,6 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
}
|
|
}
|
|
|
|
|
|
return new PageUtils(pagedList, total, pageSize, current);
|
|
return new PageUtils(pagedList, total, 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);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -490,6 +361,59 @@ public class QualificationManageServiceImpl extends ServiceImpl<QualificationApp
|
|
return doctorAttachmentRepository.removeById(id);
|
|
return doctorAttachmentRepository.removeById(id);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Object listAllDoctorAttachments(String doctorName, String deptCode, String attachmentName , Date expireDate, Integer current, Integer pageSize){
|
|
|
|
+
|
|
|
|
+ List<DoctorAttachment> listReturn = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ //人员列表
|
|
|
|
+ List<UserInfo> empList = userInfoRepository.list();
|
|
|
|
+ Map<Long,UserInfo> empMap = empList.stream().collect(Collectors.toMap(UserInfo::getId, vo -> vo, (a, b) -> b));
|
|
|
|
+
|
|
|
|
+ //需要过滤科室
|
|
|
|
+ boolean needDeptFilter = !StringUtils.isEmpty(deptCode) && !deptCode.equals("0");
|
|
|
|
+
|
|
|
|
+ List<String> listDept = new ArrayList<>();
|
|
|
|
+ //过滤的科室代码和其下级代码组成的列表
|
|
|
|
+ if(needDeptFilter){
|
|
|
|
+ listDept = getDepartmentCodeRecursion(departmentRepository.list(),deptCode);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<DoctorAttachment> list = doctorAttachmentRepository.list(attachmentName, expireDate);
|
|
|
|
+ for(DoctorAttachment doctorAttachment : list){
|
|
|
|
+ //姓名过滤
|
|
|
|
+ if(!StringUtils.isEmpty(doctorName)){
|
|
|
|
+ String empName = empMap.get(doctorAttachment.getUserId()).getName();
|
|
|
|
+ if(!empName.contains(doctorName)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //科室过滤
|
|
|
|
+ if(needDeptFilter){
|
|
|
|
+ String userDeptCode = empMap.get(doctorAttachment.getUserId()).getDeptCode();
|
|
|
|
+ if(!listDept.contains(userDeptCode)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ UserInfo empInfo = empMap.get(doctorAttachment.getUserId());
|
|
|
|
+ doctorAttachment.setEmpNameAndCode(empInfo.getName() + "(" + empInfo.getAccount() + ")");
|
|
|
|
+ listReturn.add(doctorAttachment);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 对listReturn进行分页处理
|
|
|
|
+ int total = listReturn.size();
|
|
|
|
+ int startIndex = (current - 1) * pageSize;
|
|
|
|
+ int endIndex = Math.min(startIndex + pageSize, total);
|
|
|
|
+
|
|
|
|
+ // 如果起始索引超出范围,则返回空列表
|
|
|
|
+ List<DoctorAttachment> pagedList = new ArrayList<>();
|
|
|
|
+ if (startIndex < total) {
|
|
|
|
+ pagedList = listReturn.subList(startIndex, endIndex);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return new PageUtils(pagedList, total, pageSize, current);
|
|
|
|
+ }
|
|
|
|
+
|
|
private String getChildDepartmentFilter(String code,String name,List<Department> list) {
|
|
private String getChildDepartmentFilter(String code,String name,List<Department> list) {
|
|
|
|
|
|
val filter = new StringBuilder();
|
|
val filter = new StringBuilder();
|