diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 112e20a..689dec0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -2189,53 +2189,105 @@ public class PatientFacade extends BaseServiceImpl { response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;fileName=" + "datas.xls"); try { + String hospital = autoMatchFacade.getHospitalId(userId); BaseListResponse listResponse = null; List > datas = new ArrayList <>(); Map cnames = new LinkedHashMap <>(); int type = patientsQueryRequest.getQueryType() == 1 ? 1 : 3; - //导出与页面不一致.不知道上面type逻辑什么意思。这里保证只要传querytype就能得到正确结果 - if(null!=patientsQueryRequest.getQueryType()){ - type=patientsQueryRequest.getQueryType(); - } - listResponse = (BaseListResponse) queryHighRisk(patientsQueryRequest, null, type, userId, "true", Boolean.TRUE); + //20220104区域(高危孕妇)导出与页面不一致,查高危孕妇 + Boolean isHighRisk=null; + if(patientsQueryRequest.getQueryType()==0){ + isHighRisk=true;//查高危 + patientsQueryRequest.setQueryType(0);//查孕妇 + type=1; + } + listResponse = (BaseListResponse) queryHighRisk(patientsQueryRequest, isHighRisk, type, userId, "true", Boolean.TRUE); List list = listResponse.getData(); for (Object obj : list) { Map data = new HashMap <>(); - QuanChanResult rp = (QuanChanResult) obj; - data.put("name", rp.getName()); - data.put("age", rp.getAge()); - data.put("dueWeek", rp.getDueWeek()); - data.put("cTime", rp.getcTime()); - data.put("rLevel", getLevel(rp.getrLevel())); - data.put("rFactor", rp.getrFactor()); - data.put("nextCheckTime", rp.getNextCheckTime()); - data.put("cTimes", rp.getcTimes()); - data.put("cHTimes", rp.getcHTimes()); - data.put("checkDoctor", rp.getCheckDoctor()); - data.put("lName", rp.getlName()); - data.put("phone", patientsQueryRequest.getIsEncry() == 0 ? rp.getRealPhone() : com.lyms.platform.common.utils.StringUtils.encryPhone(rp.getRealPhone())); - data.put("addr", rp.getAddr()); - data.put("serviceType", "服务类型"); - data.put("serviceStatus", "服务类型"); - datas.add(data); + //孕妇 + if(obj instanceof RiskPatientsResult){ + RiskPatientsResult rp = (RiskPatientsResult) obj; + data.put("name", rp.getName()); + data.put("age", rp.getAge()); + if ("1000000115".equals(hospital)) { + data.put("cardNo", rp.getCardNo()); + data.put("vcCardNo", rp.getVcCardNo()); + } + data.put("dueWeek", rp.getDueWeek()); + data.put("rLevel", getLevel(rp.getrLevel())); + data.put("rFactor", rp.getrFactor()); + data.put("hScore", rp.gethScore()); + data.put("cTimes", rp.getcTimes()); + data.put("cHTimes", rp.getcHTimes()); + data.put("cTime", rp.getcTime()); + data.put("dueDate", rp.getDueDate()); + data.put("checkDoctor", rp.getCheckDoctor()); + data.put("lName", rp.getlName()); + data.put("phone", patientsQueryRequest.getIsEncry() == 0 ? rp.getRealPhone() : StringUtils.encryPhone(rp.getRealPhone())); + data.put("serviceType", rp.getServiceType()); + data.put("serviceStatus", rp.getServiceStatus()); + datas.add(data); + }else { + //产妇 + QuanChanResult rp = (QuanChanResult) obj; + data.put("name", rp.getName()); + data.put("age", rp.getAge()); + data.put("dueWeek", rp.getDueWeek()); + data.put("cTime", rp.getcTime()); + data.put("rLevel", getLevel(rp.getrLevel())); + data.put("rFactor", rp.getrFactor()); + data.put("nextCheckTime", rp.getNextCheckTime()); + data.put("cTimes", rp.getcTimes()); + data.put("cHTimes", rp.getcHTimes()); + data.put("checkDoctor", rp.getCheckDoctor()); + data.put("lName", rp.getlName()); + data.put("phone", patientsQueryRequest.getIsEncry() == 0 ? rp.getRealPhone() : StringUtils.encryPhone(rp.getRealPhone())); + data.put("addr", rp.getAddr()); + data.put("serviceType", "服务类型"); + data.put("serviceStatus", "服务类型"); + datas.add(data); + } + } + //孕妇 + if(patientsQueryRequest.getQueryType()==0||patientsQueryRequest.getQueryType()==1){ + cnames.put("name", "姓名"); + cnames.put("age", "当前年龄"); + if ("1000000115".equals(hospital)) { + cnames.put("cardNo", "身份证"); + cnames.put("vcCardNo", "就诊卡号"); + } + cnames.put("dueWeek", "当前孕周"); + cnames.put("rLevel", "高危等级"); + cnames.put("rFactor", "高危风险因素"); + cnames.put("hScore", "高危评分"); + cnames.put("cTimes", "总产检次数"); + cnames.put("cHTimes", "本院产检次数"); + cnames.put("cTime", "预约产检日期"); + cnames.put("dueDate", "预产期"); + cnames.put("checkDoctor", "产检医生"); + cnames.put("lName", "登记人"); + cnames.put("phone", "联系方式"); + cnames.put("serviceType", "服务类型"); + cnames.put("serviceStatus", "服务状态"); + }else { + //产妇 + cnames.put("name", "姓名"); + cnames.put("age", "分娩年龄"); + cnames.put("dueWeek", "分娩日期"); + cnames.put("cTime", "产后时间"); + cnames.put("rLevel", "高危等级"); + cnames.put("rFactor", "高危风险因素"); + cnames.put("nextCheckTime", "预约下次复查"); + cnames.put("cTimes", "总复查次数"); + cnames.put("cHTimes", "本院复查次数"); + cnames.put("checkDoctor", "检查医生"); + cnames.put("phone", "联系方式"); + cnames.put("lName", "登记人"); + cnames.put("addr", "居住地"); + cnames.put("serviceType", "服务类型"); + cnames.put("serviceStatus", "服务状态"); } - cnames.put("name", "姓名"); - cnames.put("age", "分娩年龄"); - cnames.put("dueWeek", "分娩日期"); - cnames.put("cTime", "产后时间"); - cnames.put("rLevel", "高危等级"); - cnames.put("rFactor", "高危风险因素"); - cnames.put("nextCheckTime", "预约下次复查"); - cnames.put("cTimes", "总复查次数"); - cnames.put("cHTimes", "本院复查次数"); - cnames.put("checkDoctor", "检查医生"); - cnames.put("phone", "联系方式"); - cnames.put("lName", "登记人"); - cnames.put("addr", "居住地"); - cnames.put("serviceType", "服务类型"); - cnames.put("serviceStatus", "服务状态"); - - OutputStream out = response.getOutputStream(); ExcelUtil.toExcel(out, datas, cnames); } catch (Exception e) {