From f4a97ab8909d419a40fafcd51e21efec7d78e2ac Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Thu, 14 Dec 2017 09:47:38 +0800 Subject: [PATCH] bugbu --- .../operate/web/controller/ReportController.java | 5 +++-- .../operate/web/service/IReportService.java | 2 +- .../web/service/impl/BloodSugarServiceImpl.java | 22 +++++++++++++++++++++- .../web/service/impl/ReportServiceImpl.java | 4 +--- 4 files changed, 26 insertions(+), 7 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 2315cff..0fc7076 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 @@ -33,9 +33,10 @@ public class ReportController extends BaseController { * 聊城曲线图 */ @ResponseBody + @TokenRequired @RequestMapping(value = "/health/{parentId}", method = RequestMethod.GET) - public BaseObjectResponse health(@PathVariable String parentId) { - return reportService.health(parentId); + public BaseObjectResponse health(@PathVariable String parentId, HttpServletRequest request) { + return reportService.health(parentId, getUserId(request)); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java index 1b76088..f89642e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java @@ -104,5 +104,5 @@ public interface IReportService extends IBaseService { void patientsExport2(String provinceId, String cityId, String areaId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response); - BaseObjectResponse health(String parentId); + BaseObjectResponse health(String parentId, Integer userId); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java index 6a0e414..ac0fc10 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java @@ -231,6 +231,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga Set monthCountSet = new HashSet<>(); for (BloodSugar bloodSugar : bloodSugars) { monthCountSet.add(DateUtil.getMonth(bloodSugar.getCreated())+""); + if(bloodSugar.getBloodSugarType() == type) { Map temp = new HashMap<>(); temp.put("bloodSugar", bloodSugar.getBloodSugar()); @@ -241,7 +242,26 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga dayCountSet.add(DateUtil.getyyyy_MM_dd(bloodSugar.getCreated())); } } - return RespBuilder.buildSuccess("restList", restList, "count", bloodSugars.size(), "dayCount", dayCountSet.size(), "month", monthCountSet); + + + Date date = new Date(); + Map monthAvgMap = new LinkedHashMap<>(); + Map> monthAvgTemp = new LinkedHashMap<>(); + Map weekAvgMap = new LinkedHashMap<>(); + Map> weekAvgMapTemp = new LinkedHashMap<>(); + Date weekStart = DateUtil.addWeek(date, -1); + Date monthStart = DateUtil.addMonth(date, -1); + List bloodSugarsWeek = mongoTemplate.find(Query.query(Criteria.where("parentId").is(parentId).and("bloodSugarType").is(type).and("created").gte(weekStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); + for (BloodSugar bloodSugar : bloodSugarsWeek) { + if(monthAvgTemp.containsKey(bloodSugar.getBloodSugarType())) { + Map temp = monthAvgTemp.get(bloodSugar.getBloodSugarType()); + temp.put("dayCount", Integer.parseInt(temp.get("count") + "") + 1); // 总共有记录的天数 +// temp.put() +// monthAvgTemp.put(bloodSugar.getBloodSugarType(), ) + } + } + List bloodSugarsMonth = mongoTemplate.find(Query.query(Criteria.where("parentId").is(parentId).and("bloodSugarType").is(type).and("created").gte(monthStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); + return RespBuilder.buildSuccess("restList", restList, "count", bloodSugars.size(), "dayCount", dayCountSet.size(), "month", monthCountSet, "monthAvgMap", monthAvgMap, "weekAvgMap", weekAvgMap); } } 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 ba7e543..c02c4b2 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 @@ -593,14 +593,12 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } @Override - public BaseObjectResponse health(String parentId) { + public BaseObjectResponse health(String parentId, Integer userId) { List> restList = new ArrayList<>(); Patients p = mongoTemplate.findById(parentId, Patients.class); AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1).and("hospitalId").is("216")).with(new Sort(Sort.Direction.DESC, "checkTime")), AntExChuModel.class); List antexModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "checkTime")), AntenatalExaminationModel.class); -// antExChuModels.get() - for (AntenatalExaminationModel antexModel : antexModels) { Map temp = new HashMap<>(); temp.put("checkTime", DateUtil.getyyyy_MM_dd(antexModel.getCheckDate())); -- 1.8.3.1