From ac8dd7d172198cd40504f1a9d03ae4d4b1366c9b Mon Sep 17 00:00:00 2001 From: hujl Date: Wed, 19 Jan 2022 11:41:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BC=BA=E9=99=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8:=E7=8A=B6=E6=80=81=E4=B8=BA=E4=BD=9C=E5=BA=9F?= =?UTF-8?q?=E6=88=96=E4=B8=BA=E7=A9=BA=E6=88=96=E5=B7=B2=E5=B0=81=E5=AD=98?= =?UTF-8?q?=E7=9A=84=E4=B8=8D=E6=9F=A5=E8=AF=A2=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/faultController.java | 37 ++--- .../ipml/Emr_Fault_DetailServiceImpl.java | 146 +++++------------- src/main/java/com/emr/util/DatelUtils.java | 10 +- .../mapper/Emr_Fault_DetailMapper.xml | 8 +- 4 files changed, 59 insertions(+), 142 deletions(-) diff --git a/src/main/java/com/emr/controller/faultController.java b/src/main/java/com/emr/controller/faultController.java index 81fe1482..e597af36 100644 --- a/src/main/java/com/emr/controller/faultController.java +++ b/src/main/java/com/emr/controller/faultController.java @@ -6,11 +6,16 @@ */ package com.emr.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.emr.entity.*; import com.emr.service.Emr_DictionaryService; import com.emr.service.Emr_Fault_DetailService; import com.emr.service.Emr_Fault_TypeService; +import com.emr.service.PowerUserService; import com.emr.util.ThreadExcelUtils; +import com.google.common.base.Function; +import com.google.common.collect.Maps; import org.apache.shiro.SecurityUtils; import org.apache.shiro.session.Session; import org.apache.shiro.subject.Subject; @@ -32,10 +37,6 @@ import java.util.*; @Controller @RequestMapping("fault") public class faultController { - - @Value("${backFee}") - private String backFee; - @Autowired private Emr_Fault_DetailService emrFaultDetailService; @@ -61,8 +62,8 @@ public class faultController { @RequestMapping(value = "/exportExcel") public void exportExcel(HttpServletResponse response, Emr_Fault_Vo emrFaultVo) throws Exception { response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - String[] header = {"病历清单id","住院号","住院次数","姓名","出院科室","出院日期","归档状态","评分","退回总次数","退回总费用(元)","当前退回次数","退回费用","退回人","退回时间","回退内容","缺陷选项","缺陷评分","缺陷内容","创建人","创建时间"}; - String[] fileNames = {"ArchiveDetailId","inpNo","visitId","name","deptName","dischargeDateTime","archivestate","price","totalBackNum","totalBackFee","backNum","backFee","updater","updateTime","backContent","assortName","score","content","creater","createTime"}; + String[] header = {"病历清单id","住院号","住院次数","姓名","出院科室","出院日期","归档状态","评分","主管医生","退回总次数","退回总费用(元)","当前退回次数","退回费用","退回人","退回时间","回退内容","缺陷选项","缺陷评分","缺陷内容","创建人","创建时间"}; + String[] fileNames = {"archiveDetailId","inpNo","visitId","name","deptName","dischargeDateTime","archivestate","price","doctorInCharge","totalBackNum","totalBackFee","backNum","backFee","updater","updateTime","backContent","assortName","score","content","creater","createTime"}; //文件名 String fileName = "缺陷信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; //构造excel的数据 @@ -71,23 +72,17 @@ public class faultController { List list = emrFaultDetailService.selByCol(emrFaultVo); //获取病案退回是第几次 updater为退回人 List backList =emrFaultDetailService.faultBackScoreList(emrFaultVo); - //获取病案信息 - String priceVal=""; - if(backFee!=null && backFee!=""){ - priceVal=backFee; - }else{ - //默认退回一次扣30元 - priceVal="30"; - } - emrFaultVo.setBackFee(priceVal); + //退回总次数、总费用和总评分 List masterList=emrFaultDetailService.masterTotalList(emrFaultVo); - if(list!=null && list.size()>0){ if(backList!=null && backList.size()>0){ if(masterList!=null && masterList.size()>0){ + //缺陷列表 for (Emr_Fault_Vo faultInfo : list) { + //退回总次数、总费用和总评分 for (Emr_Fault_Vo masertInfo : masterList) { if(faultInfo.getArchiveDetailId().equals(masertInfo.getArchiveDetailId())) { + faultInfo.setBackFee(masertInfo.getBackFee()); faultInfo.setInpNo(masertInfo.getInpNo()); faultInfo.setVisitId(masertInfo.getVisitId()); faultInfo.setName(masertInfo.getName()); @@ -97,10 +92,12 @@ public class faultController { faultInfo.setPrice(masertInfo.getScore()); faultInfo.setTotalBackNum(masertInfo.getTotalBackNum()); faultInfo.setTotalBackFee(masertInfo.getTotalBackFee()); - - } + //else{ + //匹配不到退回相关的ArchiveDetailId + //} } + //获取病案退回是第几次 updater为退回人 for (Emr_Fault_Vo backInfo : backList) { if(faultInfo.getArchiveDetailId().equals(backInfo.getArchiveDetailId())) { if(backInfo.getCreateTime()!=null && backInfo.getCreateTime()!=""){ @@ -116,7 +113,6 @@ public class faultController { faultInfo.setUpdater(backInfo.getCreater()); faultInfo.setUpdateTime(backInfo.getCreateTime()); faultInfo.setContent(backInfo.getContent()); - } } else if(faultInfo.getEndDateTo()!=null && faultInfo.getEndDateTo()!=""){ @@ -135,11 +131,9 @@ public class faultController { } } } - } } } - } } } @@ -492,7 +486,6 @@ public class faultController { @ResponseBody @RequestMapping(value = "/masterTotalList") public OffsetLimitPage masterTotalList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) { - emrFaultVo.setBackFee(backFee); OffsetLimitPage result = emrFaultDetailService.masterTotalList(emrFaultVo, offset, limit); return result; diff --git a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java index b8ec6439..f0072c47 100644 --- a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java @@ -22,6 +22,7 @@ import com.google.common.base.Function; import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -35,6 +36,9 @@ import java.util.Map; @Service public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { + @Value("${backFee}") + private String backFee; + @Autowired private Emr_Fault_DetailMapper emrFaultDetailMapper; @@ -312,67 +316,54 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { @Override public List masterTotalList(Emr_Fault_Vo emrFaultVo) { - List list= emrFaultDetailMapper.masterTotalList(emrFaultVo); - 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 (Emr_Fault_Vo emr_fault_vo : list) { - //主管医生 - 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")); - } - } - + //获取病案信息 + String priceVal=""; + if(backFee!=null && backFee!=""){ + priceVal=backFee; + }else{ + //默认退回一次扣30元 + priceVal="30"; } - return list; - } - - @Override - public OffsetLimitPage masterTotalList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) { - PageHelper.offsetPage(offset, limit); - List list = emrFaultDetailMapper.masterTotalList(emrFaultVo); - if(list!=null && list.size()>0){ + emrFaultVo.setBackFee(backFee); + List list= emrFaultDetailMapper.masterTotalList(emrFaultVo); + 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() { + if (powerUserList != null) { + Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { @Override public String apply(JSONObject temp) { return temp.getString("userName"); - }}); + } + }); + for (Emr_Fault_Vo emr_fault_vo : list) { + // emr_fault_vo.setBackFee(priceVal); + //主管医生 JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); - if (userInfo==null){ + if (userInfo == null) { emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge()); - }else { + } else { emr_fault_vo.setDoctorInCharge(userInfo.getString("name")); } - + //退回人 userInfo = mappedMovies.get(emr_fault_vo.getCreater()); - if (userInfo==null){ + if (userInfo == null) { emr_fault_vo.setCreater(emr_fault_vo.getCreater()); - }else { + } else { emr_fault_vo.setCreater(userInfo.getString("name")); } } + } } + return list; + } + + @Override + public OffsetLimitPage masterTotalList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) { + PageHelper.offsetPage(offset, limit); + List list =masterTotalList(emrFaultVo); return new OffsetLimitPage((Page) list); } @@ -452,74 +443,7 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { @Override public OffsetLimitPage faultBackScoreList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); - List list = emrFaultDetailMapper.faultBackScoreList(emrFaultVo); - if(list!=null && list.size()>0){ - Archive_Master_Following archiveMasterFollowing=new Archive_Master_Following(); - archiveMasterFollowing.setFollowingType("9"); - //根据条件查询跟随流程记录的退回次数排序列表,remark暂存退回次数 - List followList =archiveMasterFollowingMapper.selByCol(archiveMasterFollowing); - if(followList!=null && followList.size()>0){ - //Boolean bol=false; - - 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 (Emr_Fault_Vo emr_fault_vo : list) { - /*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")); - }*/ - - JSONObject 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")); - } - - //退回次数 - for(int i=0;i list =faultBackScoreList(emrFaultVo); return new OffsetLimitPage((Page) list); } diff --git a/src/main/java/com/emr/util/DatelUtils.java b/src/main/java/com/emr/util/DatelUtils.java index d90222d8..148d74b3 100644 --- a/src/main/java/com/emr/util/DatelUtils.java +++ b/src/main/java/com/emr/util/DatelUtils.java @@ -70,22 +70,22 @@ public class DatelUtils { public static Archive_Master_Vo setMaterVoFun(Archive_Master_Vo archiveMasterVo) throws Exception { //判断复制时段类型 String endDateStr=""; - if(org.apache.commons.lang3.StringUtils.isNotBlank(archiveMasterVo.getLockinfo())){ + if(StringUtils.isNotBlank(archiveMasterVo.getLockinfo())){ //day_7 month_day_15 month_1 month_3 - if(org.apache.commons.lang3.StringUtils.isNotBlank(archiveMasterVo.getStartDate()) && org.apache.commons.lang3.StringUtils.isBlank(archiveMasterVo.getEndDate())){ + if(StringUtils.isNotBlank(archiveMasterVo.getStartDate()) && StringUtils.isBlank(archiveMasterVo.getEndDate())){ //复印时间的截至日期,不得超过 endDateStr=getDateFun(archiveMasterVo.getLockinfo(),archiveMasterVo.getStartDate(),"A",0); archiveMasterVo.setEndDate(endDateStr); - }else if(org.apache.commons.lang3.StringUtils.isNotBlank(archiveMasterVo.getStartDate()) && org.apache.commons.lang3.StringUtils.isNotBlank(archiveMasterVo.getEndDate())){ + }else if(StringUtils.isNotBlank(archiveMasterVo.getStartDate()) &&StringUtils.isNotBlank(archiveMasterVo.getEndDate())){ endDateStr=getDateFun(archiveMasterVo.getLockinfo(),archiveMasterVo.getStartDate(),"A",0); if(!compareDate(archiveMasterVo.getStartDate(),endDateStr)){ archiveMasterVo.setEndDate(endDateStr); } - }else if(org.apache.commons.lang3.StringUtils.isBlank(archiveMasterVo.getStartDate()) && org.apache.commons.lang3.StringUtils.isNotBlank(archiveMasterVo.getEndDate())){ + }else if(StringUtils.isBlank(archiveMasterVo.getStartDate()) && StringUtils.isNotBlank(archiveMasterVo.getEndDate())){ //反向扣除s endDateStr=getDateFun(archiveMasterVo.getLockinfo(),archiveMasterVo.getEndDate(),"B",0); archiveMasterVo.setStartDate(endDateStr); - }else if(org.apache.commons.lang3.StringUtils.isBlank(archiveMasterVo.getStartDate()) && org.apache.commons.lang3.StringUtils.isBlank(archiveMasterVo.getEndDate())){ + }else if(StringUtils.isBlank(archiveMasterVo.getStartDate()) && StringUtils.isBlank(archiveMasterVo.getEndDate())){ //系统时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String nowDate= String.valueOf(sdf.format(new Date())); diff --git a/src/main/resources/mapper/Emr_Fault_DetailMapper.xml b/src/main/resources/mapper/Emr_Fault_DetailMapper.xml index 9785ca87..6b6a5c6a 100644 --- a/src/main/resources/mapper/Emr_Fault_DetailMapper.xml +++ b/src/main/resources/mapper/Emr_Fault_DetailMapper.xml @@ -85,7 +85,7 @@ on f.archive_detail_id=m.id LEFT JOIN emr_fault_type t on f.assort_id=convert(varchar(50),t.id) - 1=1 and ArchiveState!='作废' + 1=1 and ArchiveState not in('作废','已封存') and assort_id is not null and assort_id!='' and f.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR} @@ -769,7 +769,7 @@ on a.master_id=m.id LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) d on m.dept_name=d.code - 1=1 and m.ArchiveState!='作废' and m.Is_Valid!=1 and m.ArchiveState!='已封存' + 1=1 and m.ArchiveState not in('作废','已封存','') and m.ArchiveState is not null and m.Is_Valid!=1 and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%' @@ -834,10 +834,10 @@ )a left join( select m.id,m.inp_no,m.visit_id,m.name,m.discharge_date_time,m.dept_name,m.ArchiveState, score,m.DOCTOR_IN_CHARGE - from Archive_Master m where ArchiveState!='作废' + from Archive_Master m where 1=1 and ArchiveState not in('作废','已封存','') and ArchiveState is not null and Is_Valid!=1 )m on a.archive_detail_id=m.id - 1=1 and m.ArchiveState!='作废' + 1=1 and ArchiveState not in('作废','已封存','') and ArchiveState is not null and a.archive_detail_id=#{archiveDetailId,jdbcType=NCHAR}