From 6c24bdbef2e517fde4ed6462326513851662d7e9 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sat, 2 Feb 2019 16:29:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=80=E7=B3=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/biz/service/GenSequenceIdService.java | 2 +- .../operate/web/controller/TestController.java | 32 ++++ .../web/service/impl/BloodSugarServiceImpl.java | 166 ++++++++++----------- 3 files changed, 115 insertions(+), 85 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/GenSequenceIdService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/GenSequenceIdService.java index 6d2d8a6..71e53d8 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/GenSequenceIdService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/GenSequenceIdService.java @@ -27,7 +27,7 @@ public class GenSequenceIdService { private int createSize; - public String poll(String areaCode) { + public synchronized String poll(String areaCode) { String s = genSequenceIdDao.poll(); if(StringUtils.isBlank(s)) { generateData(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 692bf39..627b29e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -3137,4 +3137,36 @@ public class TestController extends BaseController { return "1"; } + @RequestMapping(method = RequestMethod.GET, value = "/cdMatDeliverHandle") + @ResponseBody + public void cdMatDeliverHandle(String start,String end) + { + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setCreatedTimeStart(DateUtil.parseYMD(start)); + matDeliverQuery.setCreatedTimeEnd(DateUtil.parseYMD(end)); + matDeliverQuery.setYn(YnEnums.YES.getId()); + List deliverModels = matDeliverService.query(matDeliverQuery); + if (CollectionUtils.isNotEmpty(deliverModels)) + { + for (MaternalDeliverModel deliverModel : deliverModels) + { + try { + Patients pat = patientsService.findOnePatientById(deliverModel.getParentId()); + if (pat != null && !StringUtils.isNotEmpty(pat.getFmHospital())) + { + + Organization org = organizationService.getOrganization(Integer.parseInt(pat.getHospitalId())); + if ("9".equals(org.getCityId())) + { + System.out.println(pat.getUsername() + " " +pat.getCardNo()+ " " + pat.getPhone()+" "+org.getName()+"\r\n" ); + } + } + }catch (Exception e) + { + continue; + } + } + } + } + } 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 361443f..b378562 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 @@ -369,89 +369,88 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga } -// // 周平均 -// Date date = new Date(); -// List> weekAvgMap = new ArrayList<>(); -// Map> weekAvgMapTemp = new LinkedHashMap<>(); -// Date weekStart = DateUtil.getYmdDate(DateUtil.addDay(DateUtil.addWeek(date, -1), 1)); -// List bloodSugarsWeek = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("created").gte(weekStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); -// for (BloodSugar bloodSugar : bloodSugarsWeek) { -// if(weekAvgMapTemp.containsKey(bloodSugar.getBloodSugarType())) { -// Map temp = weekAvgMapTemp.get(bloodSugar.getBloodSugarType()); -// temp.put("dayCount", Integer.parseInt(temp.get("dayCount") + "") + 1); // 总共有记录的天数 -// temp.put("sugarCount", Double.parseDouble(temp.get("sugarCount") + "") + Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 -// weekAvgMapTemp.put(bloodSugar.getBloodSugarType(), temp); -// } else { -// Map temp = new HashMap<>(); -// temp.put("dayCount", 1); // 总共有记录的天数 -// temp.put("sugarCount", Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 -// weekAvgMapTemp.put(bloodSugar.getBloodSugarType(), temp); -// } -// } -// for (BloodSugarEnums bloodSugarEnums : BloodSugarEnums.values()) { -// Map weekMap = new HashMap<>(); -// weekMap.put("name", bloodSugarEnums.getName()); -// boolean flag = true; -// for (Map.Entry> entry : weekAvgMapTemp.entrySet()) { -// if(entry.getKey() == bloodSugarEnums.getId()) { -// Map map = entry.getValue(); -// Integer dayCount = (Integer) map.get("dayCount"); -// Double sugarCount = (Double) map.get("sugarCount"); -// weekMap.put("value", MathUtil.doubleFormat2(sugarCount / dayCount)); -// flag = false; -// } -// } -// if(flag) { -// weekMap.put("value", ""); -// } -// weekAvgMap.add(weekMap); -// } - -// // 月平均 -// List> monthAvgMap = new ArrayList<>(); -// Map> monthAvgTemp = new LinkedHashMap<>(); -//// Date monthStart = DateUtil.addMonth(date, -1); -// Date monthStart = DateUtil.getYmdDate(DateUtil.addDay(DateUtil.addMonth(date, -1), 1)); -// List bloodSugarsMonth = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("created").gte(monthStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); -// for (BloodSugar bloodSugar : bloodSugarsMonth) { -// if(monthAvgTemp.containsKey(bloodSugar.getBloodSugarType())) { -// Map temp = monthAvgTemp.get(bloodSugar.getBloodSugarType()); -// temp.put("dayCount", Integer.parseInt(temp.get("dayCount") + "") + 1); // 总共有记录的天数 -// temp.put("sugarCount", Double.parseDouble(temp.get("sugarCount") + "") + Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 -// monthAvgTemp.put(bloodSugar.getBloodSugarType(), temp); -// } else { -// Map temp = new HashMap<>(); -// temp.put("dayCount", 1); // 总共有记录的天数 -// temp.put("sugarCount", Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 -// monthAvgTemp.put(bloodSugar.getBloodSugarType(), temp); -// } -// } -// for (BloodSugarEnums bloodSugarEnums : BloodSugarEnums.values()) { -// Map monthMap = new HashMap<>(); -// monthMap.put("name", bloodSugarEnums.getName()); -// boolean flag = true; -// for (Map.Entry> entry : monthAvgTemp.entrySet()) { -// monthMap.put("name", bloodSugarEnums.getName()); -// if(entry.getKey() == bloodSugarEnums.getId()) { -// Map map = entry.getValue(); -// Integer dayCount = (Integer) map.get("dayCount"); -// Double sugarCount = (Double) map.get("sugarCount"); -// monthMap.put("value", MathUtil.doubleFormat2(sugarCount / dayCount)); -// flag = false; -// } -// } -// if(flag) { -// monthMap.put("value", ""); -// } -// monthAvgMap.add(monthMap); -// } - + // 周平均 + Date date = new Date(); + List> weekAvgMap = new ArrayList<>(); + Map> weekAvgMapTemp = new LinkedHashMap<>(); + Date weekStart = DateUtil.getYmdDate(DateUtil.addDay(DateUtil.addWeek(date, -1), 1)); + List bloodSugarsWeek = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("created").gte(weekStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); + for (BloodSugar bloodSugar : bloodSugarsWeek) { + if(weekAvgMapTemp.containsKey(bloodSugar.getBloodSugarType())) { + Map temp = weekAvgMapTemp.get(bloodSugar.getBloodSugarType()); + temp.put("dayCount", Integer.parseInt(temp.get("dayCount") + "") + 1); // 总共有记录的天数 + temp.put("sugarCount", Double.parseDouble(temp.get("sugarCount") + "") + Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 + weekAvgMapTemp.put(bloodSugar.getBloodSugarType(), temp); + } else { + Map temp = new HashMap<>(); + temp.put("dayCount", 1); // 总共有记录的天数 + temp.put("sugarCount", Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 + weekAvgMapTemp.put(bloodSugar.getBloodSugarType(), temp); + } + } + for (BloodSugarEnums bloodSugarEnums : BloodSugarEnums.values()) { + Map weekMap = new HashMap<>(); + weekMap.put("name", bloodSugarEnums.getName()); + boolean flag = true; + for (Map.Entry> entry : weekAvgMapTemp.entrySet()) { + if(entry.getKey() == bloodSugarEnums.getId()) { + Map map = entry.getValue(); + Integer dayCount = (Integer) map.get("dayCount"); + Double sugarCount = (Double) map.get("sugarCount"); + weekMap.put("value", MathUtil.doubleFormat2(sugarCount / dayCount)); + flag = false; + } + } + if(flag) { + weekMap.put("value", ""); + } + weekAvgMap.add(weekMap); + } + // 月平均 List> monthAvgMap = new ArrayList<>(); - List> weekAvgMap = new ArrayList<>(); - Date monthStart = new Date(); - DateUtil.formatYmd(monthStart); - List bss = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("created").gte(monthStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); + Map> monthAvgTemp = new LinkedHashMap<>(); +// Date monthStart = DateUtil.addMonth(date, -1); + Date monthStart = DateUtil.getYmdDate(DateUtil.addDay(DateUtil.addMonth(date, -1), 1)); + List bloodSugarsMonth = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("created").gte(monthStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); + for (BloodSugar bloodSugar : bloodSugarsMonth) { + if(monthAvgTemp.containsKey(bloodSugar.getBloodSugarType())) { + Map temp = monthAvgTemp.get(bloodSugar.getBloodSugarType()); + temp.put("dayCount", Integer.parseInt(temp.get("dayCount") + "") + 1); // 总共有记录的天数 + temp.put("sugarCount", Double.parseDouble(temp.get("sugarCount") + "") + Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 + monthAvgTemp.put(bloodSugar.getBloodSugarType(), temp); + } else { + Map temp = new HashMap<>(); + temp.put("dayCount", 1); // 总共有记录的天数 + temp.put("sugarCount", Double.parseDouble(bloodSugar.getBloodSugar())); // 总共所有记录的和 + monthAvgTemp.put(bloodSugar.getBloodSugarType(), temp); + } + } + for (BloodSugarEnums bloodSugarEnums : BloodSugarEnums.values()) { + Map monthMap = new HashMap<>(); + monthMap.put("name", bloodSugarEnums.getName()); + boolean flag = true; + for (Map.Entry> entry : monthAvgTemp.entrySet()) { + monthMap.put("name", bloodSugarEnums.getName()); + if(entry.getKey() == bloodSugarEnums.getId()) { + Map map = entry.getValue(); + Integer dayCount = (Integer) map.get("dayCount"); + Double sugarCount = (Double) map.get("sugarCount"); + monthMap.put("value", MathUtil.doubleFormat2(sugarCount / dayCount)); + flag = false; + } + } + if(flag) { + monthMap.put("value", ""); + } + monthAvgMap.add(monthMap); + } + + + List> todayMap = new ArrayList<>(); + Date todayStart = new Date(); + DateUtil.formatYmd(todayStart); + List bss = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("created").gte(todayStart)).with(new Sort(Sort.Direction.DESC, "created")), BloodSugar.class); if (CollectionUtils.isNotEmpty(bss)) { for (BloodSugarEnums bloodSugarEnums : BloodSugarEnums.values()) { @@ -470,8 +469,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga if(flag) { monthMap.put("value", ""); } - monthAvgMap.add(monthMap); - weekAvgMap.add(monthMap); + todayMap.add(monthMap); } @@ -512,7 +510,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga return RespBuilder.buildSuccess("restList", restList, "count", bloodSugars.size(), "dayCount", dayCountSet.size(), "month", monthCountSet3, "monthAvgMap", monthAvgMap, - "weekAvgMap", weekAvgMap,"newBloodVal",newBloodMap,"weightInfo",weightInfo,"isReport",isReport,"id",id,"exceptionCount",exceptionCount); + "weekAvgMap", weekAvgMap,"newBloodVal",newBloodMap,"weightInfo",weightInfo,"isReport",isReport,"id",id,"exceptionCount",exceptionCount,"todayMap",todayMap); } private Map> sortMapByKey(Map> datas) { -- 1.8.3.1