From 17508414e74f7728016387c56da6e75fa530cb90 Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Tue, 12 Sep 2023 17:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=97=85=E6=A1=88=E7=A4=BA=E8=B8=AA=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/beHospitaledController.java | 12 --- .../ipml/Archive_MasterServiceImpl.java | 97 ++++++++++++++----- .../emr/service/ipml/CaSignServiceImpl.java | 1 + .../resources/mapper/Archive_MasterMapper.xml | 67 ++++++++----- .../unfileMedicalDir/unfileMedicalList.jsp | 21 +--- 5 files changed, 118 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 8082501a..5436c2f8 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -187,12 +187,6 @@ public class beHospitaledController { doctorTime = (Date) map.get("FINISHED_DATE_TIME"); nurseTime = (Date) map.get("MR_COMMIT_NURSE_DATE_TIME"); lastTime = (Date) map.get("FIRST_PAGE_FINISHED_SAVE_TIME"); - System.out.println("医生文书提交时间(视图)"+doctorTime); - System.out.println("医生文书提交时间(提交)"+c1); - System.out.println("护士文书提交时间(视图)"+nurseTime); - System.out.println("医生文书提交时间(提交)"+c2); - System.out.println("首页文书提交时间(视图)"+lastTime); - System.out.println("医生文书提交时间(提交)"+c9); if (doctorTime!=null && nurseTime!=null && lastTime!=null ) { if (c1.compareTo(doctorTime) < 0) { result1 = "①检查文书有过修改,麻烦医生在电子病历系统重新提交医生文书"; @@ -204,12 +198,6 @@ public class beHospitaledController { result3 = "③检查首页有过修改,麻烦医生在电子病历系统重新提交首页"; } result = result1 + result2 + result3; - System.out.println("result1"+result1); - System.out.println("result2"+result2); - System.out.println("result3"+result3); - System.out.println("医生文书"+c2.compareTo(nurseTime)); - System.out.println("护士文书"+c2.compareTo(nurseTime)); - System.out.println("首页"+c9.compareTo(lastTime)); if (result.equals("")) { if (flagNum == 0) { try { diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index 11620d28..48b6f3ca 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -270,15 +270,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { @Override public List selectBeHospitalByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) { - //判断并设置查询是否打印权限 - //setIdByPrintNum(archiveMasterVo); //根据条件查询记录 if(null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } List list = archiveMasterMapper.selectByColumn(archiveMasterVo); - - //获取科室列表 Emr_Dictionary dic = new Emr_Dictionary(); dic.setEffective(1); @@ -622,42 +618,91 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { @Override public List selectByUnfileAndColumn(Archive_Master_Vo archiveMasterVo,Integer offset, Integer limit) { - //判断并设置查询是否打印权限 - //setIdByPrintNum(archiveMasterVo); //根据条件查询记录 if(null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } List list = archiveMasterMapper.selectByUnfileNew(archiveMasterVo); + //获取科室列表 Emr_Dictionary dic = new Emr_Dictionary(); dic.setEffective(1); dic.setTypecode("dept_code"); - //科室列表 List dicList = emrDictionaryService.dicByTypeCode(dic); - for (Archive_Master_Vo archiveMaster:list) //转换科室 - for (int k = 0; k < dicList.size(); k++) { - if(StringUtils.isNotBlank(archiveMaster.getDeptName())){ - String deptName = archiveMaster.getDeptName(); - - if (deptName.equals(dicList.get(k).getCode())) { - //出院科室 - deptName = deptName.replace(deptName, dicList.get(k).getName()); - archiveMaster.setDeptName(deptName); - } + Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode); + Setters.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(archiveMaster.getDeptAdmissionTo())){ - String dept2 = archiveMaster.getDeptAdmissionTo(); - if(dept2 != null && dept2.equals(dicList.get(k).getCode())) { - //入院科室dept_admission_to - dept2 = dept2.replace(dept2, dicList.get(k).getName()); - archiveMaster.setDeptAdmissionTo(dept2); - } + if(StringUtils.isNotBlank(deptAdmissionCode) && codeMap.containsKey(deptAdmissionCode)){ + String deptAdmissionTo = codeMap.get(deptAdmissionCode).getName(); + p.setDeptAdmissionTo(deptAdmissionTo); } + }); + //masterIds集合 + List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId); + //转成逗号拼接 + String ids = String.join(",", masterIds); + //获取医生缺陷数量 + List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids); + //医生是否有缺陷 + Map doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId); + Setters.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 nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids); + //护士是否有缺陷 + Map nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId); + //判断是否有缺陷就填入 + Setters.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); + } + }); + //设置医生、护士名称和打印标识、科室、是否退回医生、是否退回护士 + setNameAndPrintFlagNew(archiveMasterVo, list); + if(list!=null && list.size()>0) { + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); + if (powerUserList != null){ + Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { + @Override + public String apply(JSONObject temp) { + return temp.getString("userName"); + }}); + for (Archive_Master_Vo emr_fault_vo : list) { + // emr_fault_vo.setBackFee(priceVal); + //主管医生 + JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); + if (userInfo == null) { + emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge()); + } else { + emr_fault_vo.setDoctorInCharge(userInfo.getString("name")); + } + //退回人 + userInfo = mappedMovies.get(emr_fault_vo.getCreater()); + if (userInfo == null) { + emr_fault_vo.setCreater(emr_fault_vo.getCreater()); + } else { + emr_fault_vo.setCreater(userInfo.getString("name")); + } + } + + } } - //设置医生、护士名称和打印标识 - setNameAndPrintFlag(archiveMasterVo, list); return list; } diff --git a/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java b/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java index 3c0604ec..7b4fecfc 100644 --- a/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java @@ -1,5 +1,6 @@ package com.emr.service.ipml; + import cn.org.bjca.seal.esspdf.client.message.ChannelMessage; import cn.org.bjca.seal.esspdf.client.message.RectangleBean; import cn.org.bjca.seal.esspdf.client.tools.AnySignClientTool; diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 47bc8ae0..3fad0137 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -794,32 +794,47 @@