From 8f6f9c00dd51ba6dea3ad77c95508dec50bcc6ea Mon Sep 17 00:00:00 2001 From: "81383286@qq.com" Date: Sat, 19 Mar 2022 23:11:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=88=E5=AE=A1=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/Archive_Master_FollowingMapper.java | 3 + .../com/emr/dao/Emr_Fault_DetailMapper.java | 4 +- .../ipml/Archive_MasterServiceImpl.java | 123 +++++++++++++----- .../resources/mapper/Archive_MasterMapper.xml | 24 +--- .../mapper/Archive_Master_FollowingMapper.xml | 3 + .../mapper/Emr_Fault_DetailMapper.xml | 15 ++- 6 files changed, 118 insertions(+), 54 deletions(-) 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 83e9e5d5..2b44e9fd 100644 --- a/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java +++ b/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java @@ -1,6 +1,7 @@ package com.emr.dao; import com.emr.entity.Archive_Master_Following; +import org.apache.ibatis.annotations.Param; import java.util.HashMap; import java.util.List; @@ -69,4 +70,6 @@ public interface Archive_Master_FollowingMapper { */ List selLastByType(Archive_Master_Following archiveMasterFollowing); + List selectFollowingByFollowingType(@Param("followingType")String followingType,@Param("masterIds")String masterIds); + } \ No newline at end of file diff --git a/src/main/java/com/emr/dao/Emr_Fault_DetailMapper.java b/src/main/java/com/emr/dao/Emr_Fault_DetailMapper.java index 8d5f01d0..997b2806 100644 --- a/src/main/java/com/emr/dao/Emr_Fault_DetailMapper.java +++ b/src/main/java/com/emr/dao/Emr_Fault_DetailMapper.java @@ -3,6 +3,7 @@ package com.emr.dao; import com.emr.entity.Archive_Master; import com.emr.entity.Emr_Fault_Detail; import com.emr.entity.Emr_Fault_Vo; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -133,8 +134,7 @@ public interface Emr_Fault_DetailMapper { */ List selByCol(Emr_Fault_Vo emrFaultVo); - - + List faultBackMasterIdListByBackFlag(@Param("backFlags")String backFlags,@Param("masterIds")String masterIds); 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 4a69d0ab..9d32a294 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -8,10 +8,7 @@ package com.emr.service.ipml; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.emr.dao.ArchivePrintinfoMapper; -import com.emr.dao.Archive_MasterMapper; -import com.emr.dao.DocusRequestInfoMapper; -import com.emr.dao.MedicalRecordHomepageCacheMapper; +import com.emr.dao.*; import com.emr.util.HttpClientTool; import com.emr.util.IDHelper; import com.emr.vo.Power_User_Dto; @@ -60,6 +57,15 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { @Autowired private DocusRequestInfoMapper docusRequestInfoMapper; + @Autowired + private Emr_DictionaryMapper dictionaryMapper; + + @Autowired + private Emr_Fault_DetailMapper emrFaultDetailMapper; + + @Autowired + private Archive_Master_FollowingMapper archiveMasterFollowingMapper; + @Override public Archive_Master selectById(String id) { return archiveMasterMapper.selectById(id); @@ -180,13 +186,75 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { PageHelper.offsetPage(offset, limit); } List list = archiveMasterMapper.selectByColumn(archiveMasterVo); - //设置医生、护士名称和打印标识 + //设置医生、护士名称和打印标识、科室、是否退回医生、是否退回护士 setNameAndPrintFlag(archiveMasterVo, list); return list; } + //设置科室名称 + private void setDeptName(Archive_Master_Vo archiveMasterVo,List dictionaryList){ + if(!CollectionUtils.isEmpty(dictionaryList)){ + String deptAdmissionTo = archiveMasterVo.getDeptAdmissionTo(); + String deptName = archiveMasterVo.getDeptName(); + for(Emr_Dictionary dictionary : dictionaryList){ + if(StringUtils.isNotBlank(deptAdmissionTo) && dictionary.getCode().equals(deptAdmissionTo)){ + archiveMasterVo.setDeptAdmissionTo(dictionary.getName()); + } + if(StringUtils.isNotBlank(deptName) && dictionary.getCode().equals(deptName)){ + archiveMasterVo.setDeptName(dictionary.getName()); + } + } + } + + } + + //设置退回医生数量 + private void setDoctorFaultNum(String masterIds,List list){ + String backFlags = "1" + "," + "5"; + List emrFaultDetails = emrFaultDetailMapper.faultBackMasterIdListByBackFlag(backFlags, masterIds); + if(!CollectionUtils.isEmpty(emrFaultDetails)){ + for(Archive_Master_Vo archiveMasterVo : list) { + for (Emr_Fault_Detail detail : emrFaultDetails) { + if (detail.getArchiveDetailId().equals(archiveMasterVo.getId())){ + archiveMasterVo.setDoctorNum(detail.getId().toString()); + break; + } + } + } + } + } + //设置退回护士数量 + private void setNurseFaultNum(String masterIds,List list){ + String backFlags = "2" + "," + "6"; + List emrFaultDetails = emrFaultDetailMapper.faultBackMasterIdListByBackFlag(backFlags, masterIds); + if(!CollectionUtils.isEmpty(emrFaultDetails)){ + for(Archive_Master_Vo archiveMasterVo : list) { + for (Emr_Fault_Detail detail : emrFaultDetails) { + if (detail.getArchiveDetailId().equals(archiveMasterVo.getId())){ + archiveMasterVo.setNurseNum(detail.getId().toString()); + break; + } + } + } + } + } + + //设置followingType=9 + private void setFollowingType(String masterIds, List list) { + List archiveMasterFollowings = archiveMasterFollowingMapper.selectFollowingByFollowingType("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 * @param list */ @@ -199,6 +267,10 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //转换对象 powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class); } + //查询科室字典 + Emr_Dictionary dictionary = new Emr_Dictionary(); + dictionary.setTypecode("dept_code"); + List dictionaryList = dictionaryMapper.dicByTypeCode(dictionary); //定义查询的masterId集合 StringBuilder masterIds = new StringBuilder(); //遍历赋值 @@ -237,30 +309,22 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { printFlag = "已打印"; } archiveMaster.setPrintNum(printFlag); - }else{ - if(StringUtils.isNotBlank(masterIds)){ - masterIds.append(","); - } - masterIds.append(archiveMaster.getId()); } - } - //查询打印情况 - /*if(StringUtils.isNotBlank(masterIds)){ - List archivePrintinfos = archivePrintinfoMapper.selectPrintCountByMasterId(masterIds.toString()); - //定义初始化打印状态 - String printFlag = "未打印"; - for (Archive_Master_Vo archiveMaster : list) { - if(!CollectionUtils.isEmpty(archivePrintinfos)){ - for(ArchivePrintinfo archivePrintinfo : archivePrintinfos){ - if(archivePrintinfo.getMasterid().equals(archiveMaster.getId())){ - printFlag = "已打印"; - break; - } - } - } - archiveMaster.setPrintNum(printFlag); + if(StringUtils.isNotBlank(masterIds)){ + masterIds.append(","); } - }*/ + masterIds.append("'").append(archiveMaster.getId()).append("'"); + //设置科室名称 + setDeptName(archiveMaster,dictionaryList); + archiveMaster.setDoctorNum("0"); + archiveMaster.setNurseNum("0"); + } + //设置退回医生数量 + setDoctorFaultNum(masterIds.toString(),list); + //设置退回护士数量 + setNurseFaultNum(masterIds.toString(),list); + //设置followingType=9 + setFollowingType(masterIds.toString(),list); } } @@ -538,7 +602,6 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { public OffsetLimitPage selectByFollowinglog(Archive_Master_Vo record, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); List list = archiveMasterMapper.selectByFollowinglog(record); - return new OffsetLimitPage((Page) list); } @@ -636,7 +699,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { map.put("userid",user.getUserId().toString()); map.put("username",user.getUserName()); map.put("code",archiveMaster.getDeptName()); - map.put("REASON",returnContent.toString()); + map.put("REASON",emrFaultDetail.getDealPerson()); //定义请求信息记录表 DocusRequestInfo docusRequestInfo = new DocusRequestInfo(); docusRequestInfo.setCode("return"); diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index cceed73d..345f558c 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -402,31 +402,18 @@ diff --git a/src/main/resources/mapper/Archive_Master_FollowingMapper.xml b/src/main/resources/mapper/Archive_Master_FollowingMapper.xml index 6d23d5db..b694873f 100644 --- a/src/main/resources/mapper/Archive_Master_FollowingMapper.xml +++ b/src/main/resources/mapper/Archive_Master_FollowingMapper.xml @@ -204,4 +204,7 @@ + \ No newline at end of file diff --git a/src/main/resources/mapper/Emr_Fault_DetailMapper.xml b/src/main/resources/mapper/Emr_Fault_DetailMapper.xml index 915addd0..42843927 100644 --- a/src/main/resources/mapper/Emr_Fault_DetailMapper.xml +++ b/src/main/resources/mapper/Emr_Fault_DetailMapper.xml @@ -889,7 +889,16 @@ order by create_time - + \ No newline at end of file