From 61add877611b42f0d71e217b5459b1b42640c735 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 24 Nov 2017 11:44:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/common/utils/DateUtil.java | 13 +++ .../operate/web/facade/RiskReportFacade.java | 113 ++++++++++++--------- .../web/request/RiskPatientsCountRequest.java | 29 ++++++ .../lyms/platform/operate/web/utils/MongoUtil.java | 16 +-- 4 files changed, 115 insertions(+), 56 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index 6bdd360..49972b5 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -211,6 +211,19 @@ public class DateUtil { } } + public static Date getYear() + { + lock.lock(); + try { + String year = yyyy.format(new Date()); + return yyyy.parse(year); + } catch (Exception e) { + return null; + }finally { + lock.unlock(); + } + } + public static Date getNextYearDate(String s) { if (s == null) { return null; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java index 75720cb..cca3d43 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java @@ -239,11 +239,7 @@ public class RiskReportFacade { List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, countRequest.getProvinceId(), countRequest.getCityId(), countRequest.getAreaId()); - //孕妇基础查询对象 - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - - getRequestQuery(patientsQuery,countRequest); + PatientsQuery patientsQuery = getRequestQuery(countRequest); List> times = null; @@ -267,26 +263,26 @@ public class RiskReportFacade { basicQuery.setTypeId("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); - - - String addressId = ""; + String parentId = ""; + String childId = ""; if (StringUtils.isNotEmpty(countRequest.getProvinceId())) { basicQuery.setParentId(countRequest.getProvinceId()); countRequest.setExportType(1); - - addressId = countRequest.getProvinceId(); + parentId = countRequest.getProvinceId(); + childId = countRequest.getQueryCityId(); } if (StringUtils.isNotEmpty(countRequest.getCityId())) { basicQuery.setParentId(countRequest.getCityId()); countRequest.setExportType(2); - addressId = countRequest.getCityId(); + parentId = countRequest.getCityId(); + childId = countRequest.getQueryAreaId(); } //获取地址列表 - List> list = mongoUtil.getChilds(addressId); + List> list = mongoUtil.getChilds(parentId,childId); if (StringUtils.isNotEmpty(countRequest.getAreaId())) { @@ -295,37 +291,8 @@ public class RiskReportFacade { } int addrType = countRequest.getExportType(); + List title = getTableDataTitle(addrType,times); - List title = new ArrayList<>(); - title.add("序号"); - if (addrType == 1) - { - title.add("地市名称"); - } - else if(addrType == 2) - { - title.add("区县名称"); - } - else - { - title.add("医院名称"); - } - - if (addrType < 3) - { - title.add("机构数"); - } - title.add("统计指标(人)"); - - - - if (CollectionUtils.isNotEmpty(times)) { - for (Map time : times) { - title.add(DateUtil.getyyyy_mm(time.get("cname"))); - } - } - - title.add("合计"); result.add(title); @@ -614,14 +581,16 @@ public class RiskReportFacade { for (Organization org : orgs) { xAxis.add(org.getName()); + } + for (BasicConfig config : riskLevelConfig) + { Map map = new HashMap(); - map.put("name",org.getName()); + map.put("name",config.getName()); map.put("type", "bar"); List items = new ArrayList<>(); - for (BasicConfig config : riskLevelConfig) + for (Organization org : orgs) { - patientsQuery.setHospitalId(String.valueOf(org.getId())); patientsQuery.setHospitalList(null); //高危等级 @@ -643,13 +612,56 @@ public class RiskReportFacade { } /** + * 表格标题 + * @param addrType + * @return + */ + private List getTableDataTitle(int addrType,List> times) { + + List title = new ArrayList<>(); + title.add("序号"); + if (addrType == 1) + { + title.add("地市名称"); + } + else if(addrType == 2) + { + title.add("区县名称"); + } + else + { + title.add("医院名称"); + } + + if (addrType < 3) + { + title.add("机构数"); + } + title.add("统计指标(人)"); + + if (CollectionUtils.isNotEmpty(times)) { + for (Map time : times) { + title.add(DateUtil.getyyyy_mm(time.get("cname"))); + } + } + + title.add("合计"); + + return title; + } + + /** * 查询条件 - * @param patientsQuery * @param countRequest */ - private void getRequestQuery(PatientsQuery patientsQuery, RiskPatientsCountRequest countRequest) { - Date currentDate = new Date(); + private PatientsQuery getRequestQuery(RiskPatientsCountRequest countRequest) { + + //孕妇基础查询对象 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + + Date currentDate = DateUtil.getYear(); //0:全部 1:20岁一下 2:25-30 3:30-40 4:40岁以上 if (countRequest.getAgeRange() != null && countRequest.getAgeRange() != 0) @@ -673,10 +685,10 @@ public class RiskReportFacade { s = 41;e=100; } - Date start = DateUtil.addMonth(currentDate, s); + Date start = DateUtil.addYear(currentDate, -s); patientsQuery.setBirthEnd(start); - Date end = DateUtil.addDay(DateUtil.addYear(currentDate, e - 1), 1); + Date end = DateUtil.addYear(currentDate, -e); patientsQuery.setBirthStart(end); } @@ -730,6 +742,7 @@ public class RiskReportFacade { //建档类型 patientsQuery.setBuildTypeList(buildType); + return patientsQuery; } public void exportAreaHighRisk(RiskPatientsCountRequest countRequest, diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsCountRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsCountRequest.java index f3e547b..095b3ca 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsCountRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsCountRequest.java @@ -21,6 +21,11 @@ public class RiskPatientsCountRequest extends BasePageQueryRequest { private String areaId; private String streetId; + //页面查询地址条件 + private String queryCityId; + private String queryAreaId; + private String queryStreetId; + //医院id private String hospitalId; @@ -46,6 +51,30 @@ public class RiskPatientsCountRequest extends BasePageQueryRequest { //孕周 0 全部孕周 1:孕12周前 2:13-19 3:20-25 4:26-30 5:31-36 6:37-40 7:40-分娩前 private Integer week; + public String getQueryCityId() { + return queryCityId; + } + + public void setQueryCityId(String queryCityId) { + this.queryCityId = queryCityId; + } + + public String getQueryAreaId() { + return queryAreaId; + } + + public void setQueryAreaId(String queryAreaId) { + this.queryAreaId = queryAreaId; + } + + public String getQueryStreetId() { + return queryStreetId; + } + + public void setQueryStreetId(String queryStreetId) { + this.queryStreetId = queryStreetId; + } + public Integer getHbType() { return hbType; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java index 078912d..deebd21 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java @@ -51,19 +51,23 @@ public class MongoUtil { @Autowired private CouponMapper couponMapper; - public List> getChilds(String id) { + public List> getChilds(String parentId,String childId) { List> childList = new ArrayList<>(); - BasicConfig basicConfig = mongoTemplate.findById(id, BasicConfig.class); - if(basicConfig != null) { - List childs = mongoTemplate.find(Query.query(Criteria.where("parentId").is(basicConfig.getId()).and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd")), BasicConfig.class); + + Criteria c = Criteria.where("parentId").is(parentId); + if (StringUtils.isNotEmpty(childId)) + { + c.and("id").is(childId); + } + c.and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); + + List childs = mongoTemplate.find(Query.query(c), BasicConfig.class); for (BasicConfig child : childs) { Map temp = new HashMap<>(); temp.put("id", child.getId()); temp.put("name", child.getName()); childList.add(temp); } - } - return childList; } -- 1.8.3.1