From 67ec4f8f5dcd6b11441223e4e5a377063afe1fbf Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 26 Jul 2018 11:29:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A0=E6=AD=A3=E6=9C=88=E9=BE=84=EF=BC=8C?= =?UTF-8?q?=E4=BD=93=E6=A0=BC=E5=8F=91=E8=82=B2=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BabyCheckFacade.java | 44 ++--- .../web/service/impl/BloodSugarServiceImpl.java | 199 +++++++++++++++------ 2 files changed, 172 insertions(+), 71 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index d60dda3..75edfba 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -797,29 +797,31 @@ public class BabyCheckFacade { } else { base.setDueDate(DateUtil.getyyyy_MM_dd(model.getDueDate())); } +// +// String c = ""; +// if (model.getDueWeek() != null) +// { +// Integer days = model.getDueWeek()*7 + (model.getDueDay() == null ? 0 : model.getDueDay()); +// if ((DateUtil.daysBetween(model.getBirth(),new Date())+days) < 280) +// { +// base.setIsCorrectMonthAge(1); +// //纠正胎龄 +// c = "孕"+(days/7)+"周"+(days%7 == 0 ? "" : days%7+"天"); +// } +// else +// { +// //纠正月龄 +// if (StringUtils.isNotEmpty(base.getDueDate())) +// { +// base.setIsCorrectMonthAge(2); +// DateUtil.getMonthDesc(DateUtil.parseYMD(base.getDueDate()),new Date()); +// } +// } +// } +// base.setCorrectValue(c); } - String c = ""; - if (model.getDueWeek() != null) - { - Integer days = model.getDueWeek()*7 + (model.getDueDay() == null ? 0 : model.getDueDay()); - if ((DateUtil.daysBetween(model.getBirth(),new Date())+days) < 280) - { - base.setIsCorrectMonthAge(1); - //纠正胎龄 - c = "孕"+(days/7)+"周"+(days%7 == 0 ? "" : days%7+"天"); - } - else - { - //纠正月龄 - if (StringUtils.isNotEmpty(base.getDueDate())) - { - base.setIsCorrectMonthAge(2); - DateUtil.getMonthDesc(DateUtil.parseYMD(base.getDueDate()),new Date()); - } - } - } - base.setCorrectValue(c); + base.setBirthday(DateUtil.getyyyy_MM_dd(model.getBirth())); 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 d69ca1f..80d4ab5 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 @@ -459,7 +459,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga hrisks.add("5aab6d3e422b03d4ad2bf83f"); hrisks.add("de7468e6-1bb5-4fab-ae84-78857868409a"); antExRecordQuery.setrFactorList(hrisks); - List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.ASC,"created"); + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.ASC, "created"); if (org.apache.commons.collections.CollectionUtils.isNotEmpty(antExRecordModelList)) { for (AntExRecordModel model : antExRecordModelList) @@ -503,24 +503,26 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga Integer type = Integer.valueOf(String.valueOf(map.get("type"))); // 1 无需药物治疗 2 需药物治疗 Date checkDate = (Date)map.get("checkDate"); //第一次出现糖尿病的检查时间 - Date currentDate = DateUtil.addDay(DateUtil.formatDate(new Date()),-7); + //Date currentDate = DateUtil.addDay(DateUtil.formatDate(new Date()),-7); BloodSugarQuery bloodSugarQuery = new BloodSugarQuery(); bloodSugarQuery.setIsExistReportDate(true); bloodSugarQuery.setPid(pid); List bloodSugars = bloodSugarService.queryBloodSugarList(bloodSugarQuery, Sort.Direction.DESC, "reportDate"); + if (CollectionUtils.isNotEmpty(bloodSugars)) { BloodSugar blood = bloodSugars.get(0); if (blood != null && blood.getReportDate() != null) { - queryDate = currentDate.getTime() > blood.getReportDate().getTime() ? currentDate : blood.getReportDate(); + queryDate = blood.getReportDate(); } } else { - queryDate = checkDate.getTime() < currentDate.getTime() ? currentDate : checkDate; + queryDate = checkDate; } + //达标次数 int successCount = 0; @@ -530,65 +532,162 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga //7 药物治疗,监测次数达标,血糖平稳但不理想 Integer monitorStatus = null; - if (DateUtil.daysBetween(queryDate,new Date()) == 7) + if (DateUtil.daysBetween(queryDate,new Date()) >= 7) { - BloodSugarQuery buery = new BloodSugarQuery(); - buery.setPid(pid); - buery.setCreatedStart(queryDate); - buery.setCreatedEnd(DateUtil.formatDate(DateUtil.addDay(DateUtil.formatDate(new Date()),7))); - List list = bloodSugarService.queryBloodSugarList(buery, Sort.Direction.DESC, "created"); - - int size = list == null ? 0 : list.size(); - if (type == 1 && size < 8) - { - monitorStatus = 1; - } - else if (type == 1 && size >= 8) + + while (true) { - for (BloodSugar blood : list) + + Date endDate = DateUtil.addDay(queryDate,7); + if (endDate.getTime() > new Date().getTime()) + { + break; + } + + BloodSugarQuery buery = new BloodSugarQuery(); + buery.setPid(pid); + buery.setCreatedStart(queryDate); + buery.setCreatedEnd(endDate); + List list = bloodSugarService.queryBloodSugarList(buery, Sort.Direction.DESC, "created"); + + + int size = list == null ? 0 : list.size(); + if (type == 1 && size < 8) + { + monitorStatus = 1; + } + else if (type == 1 && size >= 8) { - Integer bsType = blood.getBloodSugarType(); - if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null) + for (BloodSugar blood : list) { - continue; - } - successCount += getBloodSugarSuccess(bsType, blood); + Integer bsType = blood.getBloodSugarType(); + if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null) + { + continue; + } + successCount += getBloodSugarSuccess(bsType, blood); + } + double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + monitorStatus = result < 0.8 ? 2 : 3; } - double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); - monitorStatus = result < 0.8 ? 2 : 3; - } - else if (type == 2 && size < 21) - { - monitorStatus = 4; - } - else if (type == 2 && size >= 21) - { - for (BloodSugar blood : list) + else if (type == 2 && size < 21) { - Integer bsType = blood.getBloodSugarType(); - if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null) + monitorStatus = 4; + } + else if (type == 2 && size >= 21) + { + for (BloodSugar blood : list) { - continue; + Integer bsType = blood.getBloodSugarType(); + if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null) + { + continue; + } + successCount += getBloodSugarSuccess(bsType, blood); } - successCount += getBloodSugarSuccess(bsType, blood); + double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + monitorStatus = result < 0.6 ? 5 : (result < 0.8 ? 6 : 7); } - double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); - monitorStatus = result < 0.6 ? 5 : (result < 0.8 ? 6 : 7); - } - Patients patients = mongoTemplate.findById(one.getParentId(), Patients.class); - int week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.formatDate(one.getCreated())); - if (week < 6) - { - return false; + Patients patients = mongoTemplate.findById(one.getParentId(), Patients.class); + int week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.formatDate(one.getCreated())); + if (week < 6) + { + return false; + } + one.setCurrentWeek(week); + one.setMonitorStatus(monitorStatus); + one.setReportDate(DateUtil.formatDate(DateUtil.addDay(new Date(), -1))); + one.setStatus(1); //报告状态 1未查看 2查看 + + queryDate = endDate; + + return true; } - one.setCurrentWeek(week); - one.setMonitorStatus(monitorStatus); - one.setReportDate(DateUtil.formatDate(DateUtil.addDay(new Date(), -1))); - one.setStatus(1); //报告状态 1未查看 2查看 - return true; } + + +// if (CollectionUtils.isNotEmpty(bloodSugars)) +// { +// BloodSugar blood = bloodSugars.get(0); +// if (blood != null && blood.getReportDate() != null) +// { +// queryDate = currentDate.getTime() > blood.getReportDate().getTime() ? currentDate : blood.getReportDate(); +// } +// } +// else +// { +// queryDate = checkDate.getTime() < currentDate.getTime() ? currentDate : checkDate; +// } +// //达标次数 +// int successCount = 0; +// +// //监测状态 1 非药物治疗,监测不足 2 非药物治疗,监测次数达标,血糖控制不理想 +// //3 非药物治疗,监测次数达标,血糖控制良好 4 药物治疗,监测不足 +// //5 药物治疗,监测次数达标,血糖波动较大 6 药物治疗,监测次数达标,血糖控制良好 +// //7 药物治疗,监测次数达标,血糖平稳但不理想 +// Integer monitorStatus = null; +// +// if (DateUtil.daysBetween(queryDate,new Date()) == 7) +// { +// BloodSugarQuery buery = new BloodSugarQuery(); +// buery.setPid(pid); +// buery.setCreatedStart(queryDate); +// buery.setCreatedEnd(DateUtil.formatDate(DateUtil.addDay(DateUtil.formatDate(new Date()),7))); +// List list = bloodSugarService.queryBloodSugarList(buery, Sort.Direction.DESC, "created"); +// +// int size = list == null ? 0 : list.size(); +// if (type == 1 && size < 8) +// { +// monitorStatus = 1; +// } +// else if (type == 1 && size >= 8) +// { +// for (BloodSugar blood : list) +// { +// Integer bsType = blood.getBloodSugarType(); +// if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null) +// { +// continue; +// } +// successCount += getBloodSugarSuccess(bsType, blood); +// +// } +// double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); +// monitorStatus = result < 0.8 ? 2 : 3; +// } +// else if (type == 2 && size < 21) +// { +// monitorStatus = 4; +// } +// else if (type == 2 && size >= 21) +// { +// for (BloodSugar blood : list) +// { +// Integer bsType = blood.getBloodSugarType(); +// if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null) +// { +// continue; +// } +// successCount += getBloodSugarSuccess(bsType, blood); +// } +// double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); +// monitorStatus = result < 0.6 ? 5 : (result < 0.8 ? 6 : 7); +// } +// +// Patients patients = mongoTemplate.findById(one.getParentId(), Patients.class); +// int week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.formatDate(one.getCreated())); +// if (week < 6) +// { +// return false; +// } +// one.setCurrentWeek(week); +// one.setMonitorStatus(monitorStatus); +// one.setReportDate(DateUtil.formatDate(DateUtil.addDay(new Date(), -1))); +// one.setStatus(1); //报告状态 1未查看 2查看 +// return true; +// } } return false; } -- 1.8.3.1