|
|
|
@ -231,8 +231,58 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
|
|
|
|
|
PageHelper.offsetPage(offset, limit);
|
|
|
|
|
}
|
|
|
|
|
List<Archive_Master_Vo> list = archiveMasterMapper.selectByColumn(archiveMasterVo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取科室列表
|
|
|
|
|
Emr_Dictionary dic = new Emr_Dictionary();
|
|
|
|
|
dic.setEffective(1);
|
|
|
|
|
dic.setTypecode("dept_code");
|
|
|
|
|
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
|
|
|
|
|
//转换科室
|
|
|
|
|
Map<String, Emr_Dictionary> codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
|
|
|
|
|
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
|
|
|
|
|
String deptCode = p.getDeptName();
|
|
|
|
|
String deptAdmissionCode = p.getDeptAdmissionTo();
|
|
|
|
|
if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){
|
|
|
|
|
String deptName = codeMap.get(deptCode).getName();
|
|
|
|
|
p.setDeptName(deptName);
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isNotBlank(deptAdmissionCode) && codeMap.containsKey(deptAdmissionCode)){
|
|
|
|
|
String deptAdmissionTo = codeMap.get(deptAdmissionCode).getName();
|
|
|
|
|
p.setDeptAdmissionTo(deptAdmissionTo);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//masterIds集合
|
|
|
|
|
List<String> masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId);
|
|
|
|
|
//转成逗号拼接
|
|
|
|
|
String ids = String.join(",", masterIds);
|
|
|
|
|
//获取医生缺陷数量
|
|
|
|
|
List<Archive_Master_Vo> doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids);
|
|
|
|
|
//医生是否有缺陷
|
|
|
|
|
Map<String, Archive_Master_Vo> doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
|
|
|
|
|
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
|
|
|
|
|
String doctorId = p.getId();
|
|
|
|
|
if (doctorMap.containsKey(doctorId)){
|
|
|
|
|
String faultDoctorNum = doctorMap.get(doctorId).getFaultDoctorNum();
|
|
|
|
|
p.setFaultDoctorNum(faultDoctorNum);
|
|
|
|
|
p.setNumb(1);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//获取护士缺陷数量
|
|
|
|
|
List<Archive_Master_Vo> nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids);
|
|
|
|
|
//护士是否有缺陷
|
|
|
|
|
Map<String, Archive_Master_Vo> nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
|
|
|
|
|
//判断是否有缺陷就填入
|
|
|
|
|
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
|
|
|
|
|
String nurseId = p.getId();
|
|
|
|
|
if (nurseMap.containsKey(nurseId)){
|
|
|
|
|
String faultNurseNum = nurseMap.get(nurseId).getFaultNurseNum();
|
|
|
|
|
p.setFaultNurseNum(faultNurseNum);
|
|
|
|
|
p.setNumb(1);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//设置医生、护士名称和打印标识、科室、是否退回医生、是否退回护士
|
|
|
|
|
setNameAndPrintFlag(archiveMasterVo, list);
|
|
|
|
|
setNameAndPrintFlagNew(archiveMasterVo, list);
|
|
|
|
|
if(list!=null && list.size()>0) {
|
|
|
|
|
JSONArray powerUsers = powerUserService.getPowerUserList("1");
|
|
|
|
|
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
|
|
|
|
@ -389,11 +439,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
|
|
|
|
|
masterIds.append(",");
|
|
|
|
|
}
|
|
|
|
|
masterIds.append("'").append(archiveMaster.getId()).append("'");
|
|
|
|
|
//设置科室名称
|
|
|
|
|
setDeptName(archiveMaster,dictionaryList);
|
|
|
|
|
// //设置科室名称
|
|
|
|
|
// setDeptName(archiveMaster,dictionaryList);
|
|
|
|
|
archiveMaster.setDoctorNum("0");
|
|
|
|
|
archiveMaster.setNurseNum("0");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//设置退回医生数量
|
|
|
|
|
setDoctorFaultNum(masterIds.toString(),list);
|
|
|
|
|
//设置退回护士数量
|
|
|
|
@ -403,6 +454,70 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置医生、护士名称和打印标识、科室名称、是否退回医生、是否退回护士,是否followType=9
|
|
|
|
|
* @param archiveMasterVo
|
|
|
|
|
* @param list
|
|
|
|
|
*/
|
|
|
|
|
private void setNameAndPrintFlagNew(Archive_Master_Vo archiveMasterVo, List<Archive_Master_Vo> list) {
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)) {
|
|
|
|
|
//查询用户集合
|
|
|
|
|
JSONArray powerUsers = powerUserService.getPowerUserList("1");
|
|
|
|
|
List<Power_User_Dto> powerUserList = null;
|
|
|
|
|
if(!CollectionUtils.isEmpty(powerUsers)) {
|
|
|
|
|
//转换对象
|
|
|
|
|
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
|
|
|
|
|
}
|
|
|
|
|
//定义查询的masterId集合
|
|
|
|
|
StringBuilder masterIds = new StringBuilder();
|
|
|
|
|
//遍历赋值
|
|
|
|
|
for (Archive_Master_Vo archiveMaster : list) {
|
|
|
|
|
if(null != powerUserList) {
|
|
|
|
|
//获取医生工号
|
|
|
|
|
String doctorName = archiveMaster.getDoctorName();
|
|
|
|
|
//获取护士工号
|
|
|
|
|
String nurseName = archiveMaster.getNurseName();
|
|
|
|
|
//获取初审人工号
|
|
|
|
|
String firstInstance = archiveMaster.getFirstInstance();
|
|
|
|
|
//遍历匹配工号赋值姓名
|
|
|
|
|
for(Power_User_Dto powerUserDto : powerUserList){
|
|
|
|
|
String name = powerUserDto.getName();
|
|
|
|
|
if(StringUtils.isNotBlank(doctorName) && powerUserDto.getUserName().equals(doctorName)){
|
|
|
|
|
archiveMaster.setDoctorName(name);
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isNotBlank(nurseName) && powerUserDto.getUserName().equals(nurseName)){
|
|
|
|
|
archiveMaster.setNurseName(name);
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)){
|
|
|
|
|
archiveMaster.setFirstInstance(name);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String printNum = archiveMaster.getPrintNum();
|
|
|
|
|
if(StringUtils.isNotBlank(printNum) && !"0".equals(printNum)){
|
|
|
|
|
archiveMaster.setPrintNum("已打印");
|
|
|
|
|
}else{
|
|
|
|
|
archiveMaster.setPrintNum("未打印");
|
|
|
|
|
}
|
|
|
|
|
//是否打印条件不为空,直接赋值打印标识
|
|
|
|
|
if(StringUtils.isNotBlank(archiveMasterVo.getPrintNum())){
|
|
|
|
|
String printFlag = "未打印";
|
|
|
|
|
if("1".equals(archiveMasterVo.getPrintNum())){
|
|
|
|
|
printFlag = "已打印";
|
|
|
|
|
}
|
|
|
|
|
archiveMaster.setPrintNum(printFlag);
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isNotBlank(masterIds)){
|
|
|
|
|
masterIds.append(",");
|
|
|
|
|
}
|
|
|
|
|
masterIds.append("'").append(archiveMaster.getId()).append("'");
|
|
|
|
|
archiveMaster.setDoctorNum("0");
|
|
|
|
|
archiveMaster.setNurseNum("0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置医生和护士姓名
|
|
|
|
|
* @param list
|
|
|
|
@ -1200,7 +1315,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//设置医生、护士名称和打印标识
|
|
|
|
|
setNameAndPrintFlag(archiveMasterVo, list);
|
|
|
|
|
setNameAndPrintFlagNew(archiveMasterVo, list);
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|