From c1ea417afc9e7aec133e1953ca7e4ff77c0701d0 Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Mon, 10 Jul 2023 09:39:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=97=85=E6=A1=88=E5=B0=81=E5=AD=98=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/beHospitaledController.java | 1 - .../dao/Archive_Master_FollowingMapper.java | 3 ++ .../ipml/Archive_MasterServiceImpl.java | 51 +++++++++++++++++-- .../resources/mapper/Archive_MasterMapper.xml | 18 +------ .../mapper/Archive_Master_FollowingMapper.xml | 10 ++++ .../views/lastVerifyDir/lastVerifyList.jsp | 14 ----- 6 files changed, 61 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 692c5756..8082501a 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -65,7 +65,6 @@ public class beHospitaledController { @RequestMapping(value = "/beHosps") public String inHospitals(Model model) { - //return "beHospitaledDir/beHospListNow"; return "beHospitaledDir/beHospList"; } diff --git a/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java b/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java index f58ad4bf..453e5e18 100644 --- a/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java +++ b/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java @@ -72,5 +72,8 @@ public interface Archive_Master_FollowingMapper { List selectFollowingByFollowingType(@Param("followingType")String followingType,@Param("masterIds")String masterIds); + List selectFollowingByFollowingTypeNew(@Param("followingType")String followingType,@Param("masterIds")String masterIds); + + List getHandleName(@Param(value = "roleName") String roleName,@Param(value = "userName") String userName); } \ No newline at end of file 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 e5fe5a64..6a710cb1 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -188,6 +188,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } List list = archiveMasterMapper.selectByLast(archiveMasterVo); if(list!=null && list.size()>0) { + //科室列表 Emr_Dictionary dic = new Emr_Dictionary(); dic.setEffective(1); dic.setTypecode("dept_code"); @@ -202,11 +203,38 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { p.setDeptName(deptName); } }); + //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); + } + }); + //是否有退回 + setFollowingTypeNew(ids,list); } - - //科室列表 - //设置医生、护士名称和打印标识 - return list; } @@ -396,6 +424,21 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } } } + + + private void setFollowingTypeNew(String masterIds, List list) { + List archiveMasterFollowings = archiveMasterFollowingMapper.selectFollowingByFollowingTypeNew("9", masterIds); + if(!CollectionUtils.isEmpty(archiveMasterFollowings)){ + for(Archive_Master_Vo archiveMasterVo : list) { + for (Archive_Master_Following following : archiveMasterFollowings) { + if (following.getMasterId().equals(archiveMasterVo.getId())){ + archiveMasterVo.setFollowingType("9"); + break; + } + } + } + } + } /** * 设置医生、护士名称和打印标识、科室名称、是否退回医生、是否退回护士,是否followType=9 * @param archiveMasterVo diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 07118b11..c53d8b4d 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -537,19 +537,12 @@ select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,m.dept_name,CONVERT(varchar(10),m.discharge_date_time, 120) discharge_date_time,m.ArchiveState,CONVERT(varchar(10),m.admission_date_time, 120) admission_date_time, m.dept_admission_to,m.check_doctor,m.checked_datetime,m.checked_doctor,m.LockInfo,m.DOCTOR_IN_CHARGE,m.ID_NO,m.DISCHARGE_DISPOSITION,m.dept_code_lend,m.isscaned, m.cmt_doctor,m.cmt_nurse,m.doctor_name,m.nurse_name,m.cmt_doctor_date,m.cmt_nurse_date,m.emr_doctor_cmt,m.emr_nure_cmt,m.death_flag,m.first_instance, - m.is_scanning,m.bed_number,ISNULL(s.numb, 0) numb,ao.C5 is_sign,ISNULL(sNurse.numb, 0) faultNurseNum,ISNULL(sDoctor.numb, 0) faultDoctorNum - ,case when emr_fault_detail.archive_detail_id is not null then '是' else '否' end isFault,m.print_flag as printNum + m.is_scanning,m.bed_number,ao.C5 is_sign,case when emr_fault_detail.archive_detail_id is not null then '是' else '否' end isFault,m.print_flag as printNum from archive_master m left join (select distinct archive_detail_id from emr_fault_detail where back_flag in ('6','5')) emr_fault_detail on emr_fault_detail.archive_detail_id = m.ID - LEFT JOIN(select archive_detail_id,count(*) numb from emr_fault_detail where 1=1 and back_flag is not null GROUP BY archive_detail_id) s - on m.id=s.archive_detail_id LEFT JOIN (select distinct masterID,C5 FROM archive_other where sysFlag = '1') ao on m.id=ao.masterID - LEFT JOIN(select archive_detail_id,count(*) numb from emr_fault_detail where 1=1 and back_flag in ('2','6') GROUP BY archive_detail_id) sNurse - on m.id=sNurse.archive_detail_id - LEFT JOIN(select archive_detail_id,count(*) numb from emr_fault_detail where 1=1 and back_flag in ('1','5') GROUP BY archive_detail_id) sDoctor - on m.id=sDoctor.archive_detail_id where 1=1 and ArchiveState in('初审') and m.Is_Valid!=1 and patindex('%B%',m.inp_no) = 0 and inp_no not like 'LG%' @@ -563,14 +556,6 @@ AND m.print_flag=#{printNum} - - - - - - - - and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%' @@ -628,7 +613,6 @@ and m.admission_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' - and m.check_doctor = #{checkDoctor,jdbcType=NVARCHAR} diff --git a/src/main/resources/mapper/Archive_Master_FollowingMapper.xml b/src/main/resources/mapper/Archive_Master_FollowingMapper.xml index 49ef54d0..e535d0a7 100644 --- a/src/main/resources/mapper/Archive_Master_FollowingMapper.xml +++ b/src/main/resources/mapper/Archive_Master_FollowingMapper.xml @@ -209,6 +209,16 @@ + + + +