Commit 2115441265412a4ae71f00f73ff4cb75d4448eb9

Authored by liquanyu
1 parent fb734b10c8

update code

Showing 4 changed files with 70 additions and 14 deletions

platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java View file @ 2115441
... ... @@ -970,11 +970,11 @@
970 970 }
971 971  
972 972 public static void main(String[] arg) throws Exception {
973   - Date start = parseYMD("2017-05-11");
974   - Date end = parseYMD("2017-06-02");
  973 + Date lastMensesMax = DateUtil.getNewDate(-42, "周", 0);
975 974  
976   - System.out.println(getMonth(start));
977   - System.out.println(getMonth(end));
  975 + System.out.println(getyyyy_MM_dd_hms(lastMensesMax));
  976 +// System.out.println(getMonth(start));
  977 +// System.out.println(getMonth(end));
978 978 }
979 979  
980 980  
platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java View file @ 2115441
... ... @@ -323,6 +323,7 @@
323 323 private String lastDiagnose;
324 324  
325 325 private List<Integer> buildTypeList;
  326 + private List<Integer> smsBuildTypeList;
326 327  
327 328 private String queryNo;
328 329  
329 330  
... ... @@ -336,7 +337,14 @@
336 337 //身长别体重
337 338 private String heightWeight;
338 339  
  340 + public List<Integer> getSmsBuildTypeList() {
  341 + return smsBuildTypeList;
  342 + }
339 343  
  344 + public void setSmsBuildTypeList(List<Integer> smsBuildTypeList) {
  345 + this.smsBuildTypeList = smsBuildTypeList;
  346 + }
  347 +
340 348 public String getWeightEvaluate() {
341 349 return weightEvaluate;
342 350 }
... ... @@ -647,6 +655,9 @@
647 655 MongoCondition condition2 = MongoCondition.newInstance("buildType", buildTypeList, MongoOper.IN);
648 656  
649 657 condition = condition.orCondition(new MongoCondition[]{condition1, condition2});
  658 + }
  659 + if (null != smsBuildTypeList) {
  660 + condition = condition.and("buildType", smsBuildTypeList, MongoOper.IN);
650 661 }
651 662  
652 663 if (StringUtils.isNotEmpty(queryNo)){
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java View file @ 2115441
... ... @@ -416,6 +416,8 @@
416 416  
417 417 private List<Integer> buildTypeList;
418 418  
  419 + private List<Integer> smsBuildTypeList;
  420 +
419 421 private Integer buildTypeEq;
420 422  
421 423 private Date fmDateStart;
... ... @@ -456,6 +458,14 @@
456 458 // 是否自动分娩
457 459 private Integer isAutoFm = -1;
458 460  
  461 + public List<Integer> getSmsBuildTypeList() {
  462 + return smsBuildTypeList;
  463 + }
  464 +
  465 + public void setSmsBuildTypeList(List<Integer> smsBuildTypeList) {
  466 + this.smsBuildTypeList = smsBuildTypeList;
  467 + }
  468 +
459 469 public Integer getIsAutoFm() {
460 470 return isAutoFm;
461 471 }
... ... @@ -949,6 +959,10 @@
949 959 MongoCondition condition1 = mongoCondition.and("enable", enable, MongoOper.IS);
950 960 MongoCondition condition2 = MongoCondition.newInstance("buildType", buildTypeList, MongoOper.IN);
951 961 condition = condition.orCondition(new MongoCondition[]{condition1, condition2});
  962 + }
  963 + else if (null != smsBuildTypeList)
  964 + {
  965 + condition = condition.and("buildType", smsBuildTypeList, MongoOper.IN);
952 966 }
953 967 if(null!=extEnable){
954 968 List list=new ArrayList();
platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java View file @ 2115441
... ... @@ -146,14 +146,15 @@
146 146 List buildType = new ArrayList();
147 147 buildType.add(0);
148 148 buildType.add(2);
149   - patientsQuery.setBuildTypeList(buildType);
  149 + patientsQuery.setSmsBuildTypeList(buildType);
150 150 //1孕妇 3 产妇
151 151 patientsQuery.setType(1);
152 152 //分娩状态
153 153 patientsQuery.setDueStatus(0);
154 154  
155 155 //末次月经必须大于当前时间减去42周视为未分娩孕妇
156   - Date lastMensesMax = DateUtil.getNewDate(-42, "周", 1);
  156 + Date lastMenses = DateUtil.getNewDate(-42, "周", 0);
  157 + Date lastMensesMax = DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(lastMenses));
157 158 patientsQuery.setLastMensesStart(lastMensesMax);
158 159 //健康指导短信 只能是类型为 增值服务 开通状态 才发送
159 160 patientsQuery.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
160 161  
... ... @@ -238,10 +239,11 @@
238 239 {
239 240 /**
240 241 * 高危短信
  242 + *
241 243 */
242 244 //获取最后一次高危因素
243 245 List risks = findLastRisk(pat.getPid());
244   - if (CollectionUtils.isNotEmpty(risks))
  246 + if (isOnlyHealthy(risks))
245 247 {
246 248 List<MessageContent> highRiskContents = new ArrayList();
247 249 //把多种高危因素的短信合并在一起
248 250  
... ... @@ -359,9 +361,34 @@
359 361 }
360 362  
361 363  
  364 + /**
  365 + * 健康高危因素 id d42eec03-aa86-45b8-a4e0-78a0ff365fb6
  366 + *
  367 + * 判断高危因素中是不只有健康
  368 + * @param list
  369 + * @return
  370 + */
  371 + private boolean isOnlyHealthy(List list)
  372 + {
  373 + if (CollectionUtils.isNotEmpty(list))
  374 + {
  375 + Map<String, Object> riskMap = (Map<String, Object>) list.get(0);
  376 + //只存在健康高危因素就生成指导短信
  377 + if (list.size() == 1 && "d42eec03-aa86-45b8-a4e0-78a0ff365fb6".equals(riskMap.get("id").toString()))
  378 + {
  379 + return false;
  380 + }
  381 + else
  382 + {
  383 + return true;
  384 + }
  385 + }
  386 + return false;
  387 + }
362 388  
363 389  
364 390  
  391 +
365 392 /**
366 393 * 生成儿童ams短信
367 394 */
... ... @@ -421,7 +448,7 @@
421 448 List buildType = new ArrayList();
422 449 buildType.add(1);
423 450 buildType.add(2);
424   - babyQuery.setBuildTypeList(buildType);
  451 + babyQuery.setSmsBuildTypeList(buildType);
425 452  
426 453 //儿童年龄满三岁就不在提供短信服务
427 454 Date birthdayMax = DateUtil.addYear(new Date(), -3);
... ... @@ -596,7 +623,7 @@
596 623 List buildType = new ArrayList();
597 624 buildType.add(0);
598 625 buildType.add(2);
599   - patientsQuery.setBuildTypeList(buildType);
  626 + patientsQuery.setSmsBuildTypeList(buildType);
600 627  
601 628 // //末次月经必须大于当前时间减去42周视为为分娩孕妇
602 629 // Date lastMensesMax = DateUtil.addDay(new Date(), -42);
... ... @@ -680,7 +707,7 @@
680 707 chanpatientsQuery.setLastMensesEnd(chanEndDate);
681 708 chanpatientsQuery.setLastMensesStart(chanEndDate);
682 709  
683   - List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(chanpatientsQuery);
  710 + List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(chanpatientsQuery);
684 711 if (CollectionUtils.isNotEmpty(patients))
685 712 {
686 713 for (Patients pat : patients)
... ... @@ -791,7 +818,7 @@
791 818 List buildType = new ArrayList();
792 819 buildType.add(0);
793 820 buildType.add(2);
794   - patientsQuery.setBuildTypeList(buildType);
  821 + patientsQuery.setSmsBuildTypeList(buildType);
795 822  
796 823 //1孕妇
797 824 patientsQuery.setType(1);
... ... @@ -1109,6 +1136,10 @@
1109 1136 BabyModelQuery babyModelQuery = new BabyModelQuery();
1110 1137 babyModelQuery.setYn(YnEnums.YES.getId());
1111 1138 babyModelQuery.setHospitalId(hospitalId);
  1139 + List buildType = new ArrayList();
  1140 + buildType.add(1);
  1141 + buildType.add(2);
  1142 + babyModelQuery.setSmsBuildTypeList(buildType);
1112 1143 babyModelQuery = getServiceBabyQuery( serviceType, serviceStatus, babyModelQuery);
1113 1144  
1114 1145 //发送短信集合
... ... @@ -1469,7 +1500,7 @@
1469 1500 List buildType = new ArrayList();
1470 1501 buildType.add(0);
1471 1502 buildType.add(2);
1472   - patientsQuery.setBuildTypeList(buildType);
  1503 + patientsQuery.setSmsBuildTypeList(buildType);
1473 1504 //1孕妇 3产妇
1474 1505 patientsQuery.setType(3);
1475 1506 //0未终止妊娠的产妇
... ... @@ -1728,7 +1759,7 @@
1728 1759 PatientsQuery chanPatientsQuery = new PatientsQuery();
1729 1760 chanPatientsQuery.setYn(YnEnums.YES.getId());
1730 1761 chanPatientsQuery.setHospitalId(hospitalId);
1731   - chanPatientsQuery.setBuildTypeList(buildType);
  1762 + chanPatientsQuery.setSmsBuildTypeList(buildType);
1732 1763 chanPatientsQuery.setType(3);
1733 1764 chanPatientsQuery.setDueStatus(0);
1734 1765 getServicePatientQuery(serviceType, serviceStatus, chanPatientsQuery);
... ... @@ -1739,7 +1770,7 @@
1739 1770 yunPatientsQuery.setHospitalId(hospitalId);
1740 1771 yunPatientsQuery.setType(1);
1741 1772 yunPatientsQuery.setDueStatus(0);
1742   - yunPatientsQuery.setBuildTypeList(buildType);
  1773 + yunPatientsQuery.setSmsBuildTypeList(buildType);
1743 1774 getServicePatientQuery(serviceType, serviceStatus, yunPatientsQuery);
1744 1775  
1745 1776