From 71a3743a5cb2a3b948caa4c2dc5a957bc370cbe9 Mon Sep 17 00:00:00 2001 From: hujl Date: Fri, 18 Feb 2022 11:48:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=BA=E9=99=B7=E5=88=97=E8=A1=A8=EF=BC=9A?= =?UTF-8?q?=E5=8E=9F=E6=9C=AC=E4=B8=BB=E7=AE=A1=E5=8C=BB=E7=94=9F=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E6=AD=A3=E5=BC=8F=E4=B8=BB=E6=B2=BB=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E3=80=81=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/faultController.java | 150 +++++++++--------- .../ipml/Emr_Fault_DetailServiceImpl.java | 15 +- 2 files changed, 83 insertions(+), 82 deletions(-) diff --git a/src/main/java/com/emr/controller/faultController.java b/src/main/java/com/emr/controller/faultController.java index c9139a1c..3fe28364 100644 --- a/src/main/java/com/emr/controller/faultController.java +++ b/src/main/java/com/emr/controller/faultController.java @@ -34,6 +34,7 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Controller @RequestMapping("fault") @@ -67,8 +68,7 @@ public class faultController { String[] fileNames = {"archiveDetailId","inpNo","visitId","name","deptName","dischargeDateTime","archivestate","price","doctorInCharge","totalBackNum","totalBackFee","backNum","backFee","updater","updateTime","assortName","score","content","creater","createTime"};//,"backContent" //文件名 String fileName = "缺陷信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; - //构造excel的数据 - // List list = emrFaultDetailService.getQualityControlList(emrFaultVo); + //获取病案室退回医生或护士的缺陷列表 List list = emrFaultDetailService.selByCol(emrFaultVo); //获取病案退回是第几次 updater为退回人 @@ -87,96 +87,90 @@ public class faultController { faultInfo.setTotalBackNum("0"); faultInfo.setTotalBackFee("0"); //退回总次数、总费用和总评分 - 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()); - faultInfo.setDeptName(masertInfo.getDeptName()); - faultInfo.setDischargeDateTime(masertInfo.getDischargeDateTime()); - faultInfo.setArchiveState(masertInfo.getArchiveState()); - faultInfo.setPrice(masertInfo.getScore()); - faultInfo.setTotalBackNum(masertInfo.getTotalBackNum()); - faultInfo.setTotalBackFee(masertInfo.getTotalBackFee()); - }else{ - //匹配不到退回相关的ArchiveDetailId,分数暂时为100 - faultInfo.setPrice(new BigDecimal(100)); - } + List masterList2= masterList.stream().filter(u -> (u.getArchiveDetailId()).equals(faultInfo.getArchiveDetailId())).collect(Collectors.toList()); + if(masterList2.size()>0){ + Emr_Fault_Vo masertInfo=masterList2.get(0); + faultInfo.setBackFee(masertInfo .getBackFee()); + faultInfo.setInpNo(masertInfo.getInpNo()); + faultInfo.setVisitId(masertInfo.getVisitId()); + faultInfo.setName(masertInfo.getName()); + faultInfo.setDeptName(masertInfo.getDeptName()); + faultInfo.setDischargeDateTime(masertInfo.getDischargeDateTime()); + faultInfo.setArchiveState(masertInfo.getArchiveState()); + faultInfo.setPrice(masertInfo.getScore()); + faultInfo.setTotalBackNum(masertInfo.getTotalBackNum()); + faultInfo.setTotalBackFee(masertInfo.getTotalBackFee()); + }else{ + //匹配不到退回相关的ArchiveDetailId,分数暂时为100 + faultInfo.setPrice(new BigDecimal(100)); } - //获取病案退回是第几次 updater为退回人 - for (Emr_Fault_Vo backInfo : backList) { - if(faultInfo.getArchiveDetailId().equals(backInfo.getArchiveDetailId())) { - if(backInfo.getCreateTime()!=null && backInfo.getCreateTime()!=""){ - if(backInfo.getStartDateTo()!=null && backInfo.getStartDateTo()!="" && backInfo.getEndDateTo()!=null && backInfo.getEndDateTo()!=""){ - SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); - Date nowTime = ft.parse(faultInfo.getCreateTime()); - Date startTime = ft.parse(backInfo.getStartDateTo()); - Date endTime = ft.parse(backInfo.getEndDateTo()); - if( isEffectiveDate(nowTime,startTime,endTime)){ - faultInfo.setStartDateTo(backInfo.getStartDateTo()); - faultInfo.setEndDateTo(backInfo.getEndDateTo()); - faultInfo.setBackNum(backInfo.getBackNum()); - faultInfo.setUpdater(backInfo.getCreater()); - //System.out.println(backInfo.getCreateTime()); - if(StringUtils.isNotBlank(backInfo.getEndDateTo())){ - faultInfo.setUpdateTime(backInfo.getEndDateTo()); - }else{ - faultInfo.setUpdateTime(backInfo.getStartDateTo()); - } - faultInfo.setBackContent(backInfo.getContent()); - break; + List backList2= backList.stream().filter(u -> (u.getArchiveDetailId()).equals(faultInfo.getArchiveDetailId())).collect(Collectors.toList()); + //获取病案退回是第几次 updater为退回人 1583480 + for (Emr_Fault_Vo backInfo : backList2) { + if(backInfo.getCreateTime()!=null && backInfo.getCreateTime()!=""){ + if(backInfo.getStartDateTo()!=null && backInfo.getStartDateTo()!="" && backInfo.getEndDateTo()!=null && backInfo.getEndDateTo()!=""){ + SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); + Date nowTime = ft.parse(faultInfo.getCreateTime()); + Date startTime = ft.parse(backInfo.getStartDateTo()); + Date endTime = ft.parse(backInfo.getEndDateTo()); + if( isEffectiveDate(nowTime,startTime,endTime)){ + faultInfo.setStartDateTo(backInfo.getStartDateTo()); + faultInfo.setEndDateTo(backInfo.getEndDateTo()); + faultInfo.setBackNum(backInfo.getBackNum()); + faultInfo.setUpdater(backInfo.getCreater()); + // faultInfo.setDoctorInCharge(backInfo.getDoctorInCharge()); + //System.out.println(backInfo.getCreateTime()); + if(StringUtils.isNotBlank(backInfo.getEndDateTo())){ + faultInfo.setUpdateTime(backInfo.getEndDateTo()); + }else{ + faultInfo.setUpdateTime(backInfo.getStartDateTo()); + } + faultInfo.setBackContent(backInfo.getContent()); + break; + } + }else if(faultInfo.getEndDateTo()!=null && faultInfo.getEndDateTo()!=""){ + if(compare(backInfo.getCreateTime(),faultInfo.getEndDateTo())){ + faultInfo.setBackNum(backInfo.getBackNum()); + faultInfo.setUpdater(backInfo.getCreater()); + //faultInfo.setDoctorInCharge(backInfo.getDoctorInCharge()); + //System.out.println(backInfo.getCreateTime()); + if(StringUtils.isNotBlank(backInfo.getEndDateTo())){ + faultInfo.setUpdateTime(backInfo.getEndDateTo()); + }else{ + faultInfo.setUpdateTime(backInfo.getStartDateTo()); } - }else if(faultInfo.getEndDateTo()!=null && faultInfo.getEndDateTo()!=""){ - if(compare(backInfo.getCreateTime(),faultInfo.getEndDateTo())){ - faultInfo.setBackNum(backInfo.getBackNum()); - faultInfo.setUpdater(backInfo.getCreater()); - //System.out.println(backInfo.getCreateTime()); - if(StringUtils.isNotBlank(backInfo.getEndDateTo())){ - faultInfo.setUpdateTime(backInfo.getEndDateTo()); - }else{ - faultInfo.setUpdateTime(backInfo.getStartDateTo()); - } - faultInfo.setBackContent(backInfo.getContent()); - break; - } - }else if(faultInfo.getStartDateTo()!=null && faultInfo.getStartDateTo()!=""){ - if(compare(faultInfo.getStartDateTo(),backInfo.getCreateTime())){ - faultInfo.setBackNum(backInfo.getBackNum()); - faultInfo.setUpdater(backInfo.getCreater()); - if(StringUtils.isNotBlank(backInfo.getEndDateTo())){ - faultInfo.setUpdateTime(backInfo.getEndDateTo()); - }else{ - faultInfo.setUpdateTime(backInfo.getStartDateTo()); - } - faultInfo.setBackContent(backInfo.getContent()); - break; + faultInfo.setBackContent(backInfo.getContent()); + break; + } + }else if(faultInfo.getStartDateTo()!=null && faultInfo.getStartDateTo()!=""){ + if(compare(faultInfo.getStartDateTo(),backInfo.getCreateTime())){ + faultInfo.setBackNum(backInfo.getBackNum()); + faultInfo.setUpdater(backInfo.getCreater()); + //faultInfo.setDoctorInCharge(backInfo.getDoctorInCharge()); + if(StringUtils.isNotBlank(backInfo.getEndDateTo())){ + faultInfo.setUpdateTime(backInfo.getEndDateTo()); + }else{ + faultInfo.setUpdateTime(backInfo.getStartDateTo()); } + faultInfo.setBackContent(backInfo.getContent()); + break; } - } - } } - - } - if(backList.size()>0) { - ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames); - /* System.out.println("开始执行导出......."); - long start = System.currentTimeMillis();*/ - String result = utils.exportExcelToFilePath(response, utils.listConvert(list)); - /* long end = System.currentTimeMillis(); - System.out.println("耗时:" + (end - start) / 1000 + "秒");*/ - } } } - } - + ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames); + /* System.out.println("开始执行导出......."); + long start = System.currentTimeMillis();*/ + String result = utils.exportExcelToFilePath(response, utils.listConvert(list)); + /* long end = System.currentTimeMillis(); + System.out.println("耗时:" + (end - start) / 1000 + "秒");*/ } public boolean compare(String time1,String time2) throws ParseException { 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 3ca1e3ac..b96e900b 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 @@ -330,13 +330,12 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { 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); @@ -467,6 +466,14 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { } else { emr_fault_vo.setCreater(userInfo.getString("name")); } + + + 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")); + } } } }