From 0e28dcd5e28976c847deeb9798e979bd58cf65df Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Wed, 12 Jul 2017 09:10:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E6=A3=80=E6=AC=A1=E6=95=B0=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/controller/ReportController.java | 1 - .../web/service/impl/ReportServiceImpl.java | 22 +++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java index 3cb255b..5128c8a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java @@ -114,7 +114,6 @@ public class ReportController extends BaseController { String name, Integer currentPage, Integer pageSize, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return reportService.checkInfo(childBirth, startDate, endDate, startWeek, endWeek, number, name, loginState.getId(), currentPage, pageSize); -// return reportService.checkInfo(childBirth, startDate, endDate, startWeek, endWeek, number, name, 753, currentPage, pageSize); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index ef6244e..70d5a86 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -1194,7 +1194,9 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService /** 拼装好产检次数 */ List yData = new ArrayList<>(); - List> grid = getCheckNumerGrid(datas, yData); + Map> pidMap = new HashMap<>(); /** key=次数(0~13) value=具体的ids 详情直接采用这个数据来查 */ + List> grid = getCheckNumerGrid(datas, yData, pidMap); + restMap.put("pidMap", pidMap); restMap.put("grid", grid); restMap.put("xAxis", Arrays.asList("1次", "2次", "3次", "4次", "5次", "6次", "7次", "8次", "9次", "10次", "11次", "12次", "≥13次")); restMap.put("yAxis", yData); @@ -1203,7 +1205,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService return rest; } - private List> getCheckNumerGrid(List> datas, List yData) { + private List> getCheckNumerGrid(List> datas, List yData, Map> pidMap) { /** key = pid, value = 初诊复诊记录 */ Map>> userCheckInfo = new HashMap<>(); for (Map data : datas) { @@ -1218,19 +1220,20 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } } Map countMap = new HashMap<>(); + pidMap.put(0, new ArrayList()); for (int i = 1; i < 14; i++) { countMap.put(i, 0); + pidMap.put(i, new ArrayList()); } Set>>> entries = userCheckInfo.entrySet(); for (Map.Entry>> entry : entries) { List> value = entry.getValue(); if(value.size() == 1) { countMap.put(1, countMap.get(1) + 1); + pidMap.get(1).add(entry.getKey()); } else { - /** 按照分娩时间分组 */ - /** key=pid value=count */ - Map tempMap = new HashMap<>(); - Integer other = 0; + Map tempMap = new HashMap<>();/** 按照分娩时间分组 */ + Integer other = 0; /** 分娩时间为null的次数 */ for (Map map : value) { Date fmDate = (Date) map.get("fmDate"); if(fmDate == null) { @@ -1243,11 +1246,13 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService tempMap.put(fmDate, 1); } } - if(other != 0) { /** 处理大于或等于13次 没有分娩时间的数据 */ + if(other != 0) { /** 处理没有分娩时间的数据 */ if(other >= 13) { countMap.put(13, countMap.get(13) + 1); + pidMap.get(13).add(entry.getKey()); } else { countMap.put(other, countMap.get(other) + 1); + pidMap.get(other).add(entry.getKey()); } } @@ -1256,8 +1261,10 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Integer v = en.getValue(); if(v >= 13) { countMap.put(13, countMap.get(13) + 1); + pidMap.get(13).add(entry.getKey()); } else { countMap.put(v, countMap.get(v) + 1); + pidMap.get(v).add(entry.getKey()); } } @@ -1267,6 +1274,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Integer count = 0; for (int i = 1; i < 14; i++) { count += countMap.get(i); + pidMap.get(0).addAll(pidMap.get(i)); } countMap.put(0, count); -- 1.8.3.1