From a09bb3ce7f3e80c07cca2529e0bf402f6d101be6 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 12 Nov 2018 15:22:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=9B=E6=9F=A5=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/SieveResultQuery.java | 27 ++++++ .../platform/operate/web/facade/SieveFacade.java | 100 +++++++++++++++++++-- 2 files changed, 119 insertions(+), 8 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java index 755debb..48ca899 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java @@ -62,6 +62,26 @@ public class SieveResultQuery extends BaseQuery implements IConvertToNativeQuery private String cspj;// 产筛评价 private String stzhz13; //13-三体 + //结果录入时间 + private Date resultTimeStart; + private Date resultTimeEnd; + + public Date getResultTimeStart() { + return resultTimeStart; + } + + public void setResultTimeStart(Date resultTimeStart) { + this.resultTimeStart = resultTimeStart; + } + + public Date getResultTimeEnd() { + return resultTimeEnd; + } + + public void setResultTimeEnd(Date resultTimeEnd) { + this.resultTimeEnd = resultTimeEnd; + } + public String getTszhz() { return tszhz; } @@ -215,6 +235,13 @@ public class SieveResultQuery extends BaseQuery implements IConvertToNativeQuery c1 = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); } } + if (null != resultTimeStart && resultTimeEnd != null) { + if (null != c1) { + c1 = c1.where("resultTime").gte(resultTimeStart).lte(resultTimeEnd); + } else { + c1 = Criteria.where("resultTime").gte(resultTimeStart).lte(resultTimeEnd); + } + } if (null != c1) { condition = condition.andCondition(new MongoCondition(c1)); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 397aecb..c9b3564 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -1405,19 +1405,43 @@ public class SieveFacade { if (CollectionUtils.isNotEmpty(patientIds)) { SieveResultQuery sieveResultQuery = new SieveResultQuery(); + if (dates != null) { + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1])); + } + } sieveResultQuery.setParentIds(patientIds); sieveResultQuery.setYn(YnEnums.YES.getId()); + if (dates != null) { + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1])); + } + } sieveResultQuery.setTszhz("2"); st21Count = sieveService.queryListSieveResultCount(sieveResultQuery); sieveResultQuery = new SieveResultQuery(); + if (dates != null) { + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1])); + } + } sieveResultQuery.setParentIds(patientIds); sieveResultQuery.setYn(YnEnums.YES.getId()); sieveResultQuery.setSbst("2"); int temp1 = sieveService.queryListSieveResultCount(sieveResultQuery); sieveResultQuery = new SieveResultQuery(); + if (dates != null) { + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1])); + } + } sieveResultQuery.setParentIds(patientIds); sieveResultQuery.setYn(YnEnums.YES.getId()); sieveResultQuery.setStzhz13("2"); @@ -1426,6 +1450,12 @@ public class SieveFacade { sieveResultQuery = new SieveResultQuery(); + if (dates != null) { + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1])); + } + } sieveResultQuery.setParentIds(patientIds); sieveResultQuery.setYn(YnEnums.YES.getId()); sieveResultQuery.setSjgjx("2"); @@ -1459,9 +1489,6 @@ public class SieveFacade { } } disExcCount = diagnosisService.queryDiagnosisCount(diagnosisQuery1); - - - } mapData.put("st21Count", String.valueOf(st21Count));//21-三体 @@ -1490,18 +1517,75 @@ public class SieveFacade { } - //sum(list, basicConfigs); + sum(list); return list; } - public void exportSieveReportExcl(CqSieveQueryRequest cqSieveQueryRequest, Integer userId,HttpServletResponse response) { - - try { + private void sum(List> list) { + int ySieveCount = 0; + int sSieveCount = 0; + int st21Count = 0; + int st1813Count = 0; + int sjqxCount = 0; + int sieveCount=0; + int disCount = 0; + int disExcCount = 0; + int sjDisCount = 0; + int sjDisExcCount = 0; + //孕妇无创DNA检测 + int dnaSieveCount = 0; + int dnaSieveLowCount = 0; + int dnaSieveHighCount = 0; + + if (CollectionUtils.isNotEmpty(list)) + { + for (Map map : list) + { + ySieveCount += Integer.parseInt(map.get("ySieveCount")); + sSieveCount += Integer.parseInt(map.get("sSieveCount")); + st21Count += Integer.parseInt(map.get("st21Count")); + st1813Count += Integer.parseInt(map.get("st1813Count")); + sjqxCount += Integer.parseInt(map.get("sjqxCount")); + sieveCount += Integer.parseInt(map.get("sieveCount")); + disCount += Integer.parseInt(map.get("disCount")); + disExcCount += Integer.parseInt(map.get("disExcCount")); + sjDisCount += Integer.parseInt(map.get("sjDisCount")); + sjDisExcCount += Integer.parseInt(map.get("sjDisExcCount")); + dnaSieveCount += Integer.parseInt(map.get("dnaSieveCount")); + dnaSieveLowCount += Integer.parseInt(map.get("dnaSieveLowCount")); + dnaSieveHighCount += Integer.parseInt(map.get("dnaSieveHighCount")); + } + } + Map totalMap = new LinkedHashMap<>(); + totalMap.put("orgName","合计"); + totalMap.put("ySieveCount",String.valueOf(ySieveCount)); + totalMap.put("sSieveCount",String.valueOf(sSieveCount)); + totalMap.put("sieveCount",String.valueOf(sieveCount)); + totalMap.put("st21Count",String.valueOf(st21Count)); + totalMap.put("st1813Count",String.valueOf(st1813Count)); + totalMap.put("sjqxCount",String.valueOf(sjqxCount)); + totalMap.put("disCount",String.valueOf(disCount)); + totalMap.put("disExcCount",String.valueOf(disExcCount)); + totalMap.put("sjDisCount",String.valueOf(sjDisCount)); + totalMap.put("sjDisExcCount",String.valueOf(sjDisExcCount)); + totalMap.put("dnaSieveCount",String.valueOf(dnaSieveCount)); + totalMap.put("dnaSieveLowCount",String.valueOf(dnaSieveLowCount)); + totalMap.put("dnaSieveHighCount",String.valueOf(dnaSieveHighCount)); + } + public void exportSieveReportExcl(CqSieveQueryRequest cqSieveQueryRequest, Integer userId,HttpServletResponse response) { - List> list = new ArrayList<>(); + try { + //获取用户权限医院和筛选条件的交集 + List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(), + cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId()); + String[] dates = null; + if (StringUtils.isNotEmpty(cqSieveQueryRequest.getTime())) { + dates = cqSieveQueryRequest.getTime().split(" - "); + } + List> list = getSieveDatas(currentUserHospPermissions,dates,cqSieveQueryRequest.getCityId()); response.setContentType("application/force-download"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(("孕妇产前筛查和诊断情况月报表.xls").getBytes("UTF-8"), "ISO-8859-1")); String path = this.getClass().getResource("/").getPath()+ "whfy_sieve.xls"; -- 1.8.3.1