Commit 21447c837b0ba1a67bbb72bba728bdf370938d79

Authored by liquanyu
1 parent 748c37ccf8

code update

Showing 3 changed files with 940 additions and 892 deletions

platform-dal/src/main/java/com/lyms/platform/query/SmsConfigQuery.java View file @ 21447c8
... ... @@ -10,6 +10,7 @@
10 10 import org.springframework.data.mongodb.core.mapping.Document;
11 11 import org.springframework.data.mongodb.core.query.Criteria;
12 12  
  13 +import java.util.Arrays;
13 14 import java.util.Date;
14 15 import java.util.List;
15 16 import java.util.Map;
... ... @@ -37,6 +38,7 @@
37 38 //指导发送时间 周几发送
38 39 private String guideTime;
39 40  
  41 + private Integer[] prefixTypes;
40 42  
41 43 @Override
42 44 public MongoQuery convertToQuery() {
43 45  
... ... @@ -54,9 +56,22 @@
54 56 if (null != guideTime) {
55 57 condition = condition.and("guideTime", guideTime, MongoOper.LIKE);
56 58 }
  59 +
  60 + if (null != prefixTypes && prefixTypes.length > 0) {
  61 + Criteria c = Criteria.where("prefixType").in(Arrays.asList(prefixTypes));
  62 + condition.andCondition(new MongoCondition(c));
  63 + }
  64 +
57 65 return condition.toMongoQuery();
58 66 }
59 67  
  68 + public Integer[] getPrefixTypes() {
  69 + return prefixTypes;
  70 + }
  71 +
  72 + public void setPrefixTypes(Integer[] prefixTypes) {
  73 + this.prefixTypes = prefixTypes;
  74 + }
60 75  
61 76 public String getGuideTime() {
62 77 return guideTime;
platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java View file @ 21447c8
Diff suppressed. Click to show
... ... @@ -619,291 +619,305 @@
619 619 */
620 620 @Override
621 621 public void productTemplateSms() {
622   -
623   - //查询短信模板
624   - SmsTemplateQuery tempQuery = new SmsTemplateQuery();
625   - tempQuery.setYn(YnEnums.YES.getId());
626   - //启用状态 0未启用 1启用
627   - tempQuery.setStatus(1);
628   - List<SmsTemplateModel> templates = smsTemplateService.querySmsTemplates(tempQuery);
629   - if (!CollectionUtils.isNotEmpty(templates))
630   - {
631   - return;
632   - }
633   -
634 622 SmsConfigQuery configQuery = new SmsConfigQuery();
635 623 configQuery.setYn(YnEnums.YES.getId());
  624 + configQuery.setPrefixTypes(new Integer[]{0,1});
  625 +
636 626 //查询出对应医院配置
637 627 List<SmsConfigModel> configs = smsConfigService.querySmsConfig(configQuery);
638   -
639   - for (SmsTemplateModel template : templates)
  628 + if (CollectionUtils.isNotEmpty(configs))
640 629 {
641 630  
642   - //模板属于的医院id
643   - String tempHid = template.getHospitalId();
  631 + //查询短信模板
  632 + SmsTemplateQuery tempQuery = new SmsTemplateQuery();
  633 + tempQuery.setYn(YnEnums.YES.getId());
  634 + //启用状态 0未启用 1启用
  635 + tempQuery.setStatus(1);
  636 + for(SmsConfigModel config : configs)
  637 + {
644 638  
645   - //服务对象1孕妇 2儿童 3产妇
646   - Integer serviceObj = template.getServiceObj();
647   - //服务类型
648   - Integer serviceType = template.getServiceType();
649   - //服务状态
650   - Integer serviceStatus = template.getServiceStatus();
651   - //消息类型
652   - Integer smsType = template.getSmsType();
  639 + String hospitalId = config.getHospitalId();
  640 + if (StringUtils.isEmpty(hospitalId))
  641 + {
  642 + continue;
  643 + }
653 644  
  645 + //判断医院是否运行
  646 + if (!isRunning(hospitalId))
  647 + {
  648 + continue;
  649 + }
654 650  
655   - //发送时间 SendTimeEnums DT(0,"当天"),QYT(1,"前一天"),QLT(2,"前两天"),QST(3,"前三天");
656   - Integer sendTimeType = template.getSendTimeType();
657 651  
658   - String hospitalId = template.getHospitalId();
  652 + //查询到当前配置的医院的所有模板 可用状态的模板
  653 + tempQuery.setHospitalId(hospitalId);
  654 + List<SmsTemplateModel> templates = smsTemplateService.querySmsTemplates(tempQuery);
659 655  
660   - if (hospitalId == null || serviceObj == null) {
661   - continue;
662   - }
  656 + if (!CollectionUtils.isNotEmpty(templates))
  657 + {
  658 + return;
  659 + }
663 660  
664   - //判断医院是否运行
665   - if (!isRunning(hospitalId))
666   - {
667   - continue;
668   - }
  661 + //循环每一个模板,根据模板条件查询到用户 发送短信
  662 + for (SmsTemplateModel template : templates)
  663 + {
669 664  
670   - SmsConfigModel config = getSmsConfig(configs,hospitalId);
  665 + //模板属于的医院id
  666 + String tempHid = template.getHospitalId();
671 667  
672   - //false 表示该服务没有启动 smsType为消息类型
673   - boolean isStart = isStartTemplate(config, smsType);
674   - if (!isStart)
675   - {
676   - continue;
677   - }
  668 + //服务对象1孕妇 2儿童 3产妇
  669 + Integer serviceObj = template.getServiceObj();
  670 + //服务类型
  671 + Integer serviceType = template.getServiceType();
  672 + //服务状态
  673 + Integer serviceStatus = template.getServiceStatus();
  674 + //消息类型
  675 + Integer smsType = template.getSmsType();
678 676  
679   - //孕妇
680   - if (serviceObj == ServiceObjEnums.YUNOBJ.getId())
681   - {
682 677  
683   - PatientsQuery patientsQuery = new PatientsQuery();
684   - patientsQuery.setYn(YnEnums.YES.getId());
685   - //1孕妇
686   - patientsQuery.setType(1);
687   - // 0未终止妊娠 1终止妊娠
688   - patientsQuery.setDueStatus(0);
  678 + //发送时间 SendTimeEnums DT(0,"当天"),QYT(1,"前一天"),QLT(2,"前两天"),QST(3,"前三天");
  679 + Integer sendTimeType = template.getSendTimeType();
689 680  
690   - patientsQuery = getServicePatientQuery(serviceType, serviceStatus, patientsQuery);
  681 + if (tempHid == null || serviceObj == null) {
  682 + continue;
  683 + }
691 684  
692   - //发送短信集合
693   - MessageListRequest list = new MessageListRequest();
694   - List<MessageRequest> messages = new ArrayList<>();
695 685  
696   - //孕妇预约短信
697   - if (smsType == SmsServiceEnums.CJYYTX.getId())
698   - {
699   - Date yuYueDate = DateUtil.addDay(new Date(),sendTimeType);
700   - //得到孕妇的id
701   - Set<String> idset = getYuYuePatient(sendTimeType, tempHid);
  686 + //false 表示该服务没有启动 smsType为消息类型
  687 + boolean isStart = isStartTemplate(config, smsType);
  688 + if (!isStart)
  689 + {
  690 + continue;
  691 + }
702 692  
703   - for (String pid : idset)
704   - {
705   - //查询符合条件的产妇
706   - patientsQuery.setId(pid);
707   - List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
708   - if (CollectionUtils.isNotEmpty(patients))
709   - {
710   - for (Patients pat : patients)
711   - {
712   - //短信前缀
713   - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
714   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
715   - messageContent = replaceEL(pat.getUsername(),yuYueDate,messageContent);
  693 + //孕妇
  694 + if (serviceObj == ServiceObjEnums.YUNOBJ.getId())
  695 + {
716 696  
717   - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
718   - pat.getHospitalId(),template.getId(),pat.getId());
  697 + PatientsQuery patientsQuery = new PatientsQuery();
  698 + patientsQuery.setYn(YnEnums.YES.getId());
  699 + //1孕妇
  700 + patientsQuery.setType(1);
  701 + // 0未终止妊娠 1终止妊娠
  702 + patientsQuery.setDueStatus(0);
719 703  
720   - messages.add(request);
721   - }
722   - }
723   - }
  704 + getServicePatientQuery(serviceType, serviceStatus, patientsQuery);
724 705  
725   - }
726   - //产检程序提醒
727   - else if (smsType == SmsServiceEnums.CJCXTX.getId())
728   - {
729   - //发送频次
730   - Integer sendFreq = template.getSendFrequency();
  706 + //发送短信集合
  707 + MessageListRequest list = new MessageListRequest();
  708 + List<MessageRequest> messages = new ArrayList<>();
731 709  
732   - if (sendFreq == SendFrequencyEnums.ONCE.getId())
733   - {
  710 + //孕妇预约短信
  711 + if (smsType == SmsServiceEnums.CJYYTX.getId())
  712 + {
  713 + Date yuYueDate = DateUtil.addDay(new Date(),sendTimeType);
  714 + //得到孕妇的id
  715 + Set<String> idset = getYuYuePatient(sendTimeType, tempHid);
734 716  
735   - //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
736   - Integer sendDateType = template.getSendDateType();
737   - if (sendDateType == SendDateEnums.SLRQ.getId())
738   - {
739   - //孕妇为孕周
740   - Integer specialDateType = template.getSpecialDateType();
  717 + for (String pid : idset)
  718 + {
  719 + //查询符合条件的产妇
  720 + patientsQuery.setId(pid);
  721 + List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  722 + if (CollectionUtils.isNotEmpty(patients))
  723 + {
  724 + for (Patients pat : patients)
  725 + {
  726 + //短信前缀
  727 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
  728 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  729 + messageContent = replaceEL(pat.getUsername(),yuYueDate,messageContent);
741 730  
742   - if (specialDateType == SpecialDateEnums.YZ.getId())
743   - {
744   - Integer start = template.getStart();
745   - Integer end = template.getEnd();
  731 + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
  732 + pat.getHospitalId(),template.getId(),pat.getId());
746 733  
747   - if (start != null && end != null)
748   - {
749   - Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType);
750   - Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType);
751   - patientsQuery.setLastMensesStart(startDate);
752   - patientsQuery.setLastMensesEnd(endDate);
753   - //查询符合条件的孕妇
754   - List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
755   - if (CollectionUtils.isNotEmpty(patients))
756   - {
757   - for (Patients pat : patients)
758   - {
  734 + messages.add(request);
  735 + }
  736 + }
  737 + }
759 738  
760   - //如果有有效的预约短信就不发送产检程序提醒
761   - boolean isOrder = queryYunIsOrder(sendTimeType, tempHid,pat.getId(),pat.getLastMenses(),start);
762   - if (isOrder)
763   - {
764   - continue;
765   - }
766   - //短信前缀
767   - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
768   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
769   - messageContent = replaceName(pat.getUsername(), messageContent);
  739 + }
  740 + //产检程序提醒
  741 + else if (smsType == SmsServiceEnums.CJCXTX.getId())
  742 + {
  743 + //发送频次
  744 + Integer sendFreq = template.getSendFrequency();
770 745  
771   - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
772   - pat.getHospitalId(),template.getId(),pat.getId());
773   - messages.add(request);
774   - }
775   - }
776   - }
  746 + if (sendFreq == SendFrequencyEnums.ONCE.getId())
  747 + {
777 748  
778   - }
779   - }
780   - }
781   - }
782   - else
783   - {
784   - //发送频次
785   - Integer sendFreq = template.getSendFrequency();
786   - if (sendFreq == SendFrequencyEnums.YEAR.getId())
787   - {
788   - //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
789   - Integer sendDateType = template.getSendDateType();
790   - if (sendDateType == SendDateEnums.TSRQ.getId()) {
791   - //孕妇 下面的 孕妇生日 丈夫生日
792   - Integer specialDateType = template.getSpecialDateType();
793   - //丈夫生日
794   - if (specialDateType == SpecialDateEnums.ZFSR.getId())
795   - {
796   - Date birthday = DateUtil.addDay(new Date(),sendTimeType);
797   - List<String> ids = yunBookbuildingService.getBirthHusbands(DateUtil.formatSimpleDate(birthday));
798   - if(CollectionUtils.isNotEmpty(ids))
799   - {
800   - for(String id : ids)
801   - {
802   - patientsQuery.setId(id);
803   - //查询符合条件丈夫信息
804   - List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
805   - if (CollectionUtils.isNotEmpty(patients))
806   - {
807   - for (Patients pat : patients)
808   - {
809   - if (pat != null && StringUtils.isEmpty(pat.getPhone()))
810   - {
811   - continue;
812   - }
  749 + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
  750 + Integer sendDateType = template.getSendDateType();
  751 + if (sendDateType == SendDateEnums.SLRQ.getId())
  752 + {
  753 + //孕妇为孕周
  754 + Integer specialDateType = template.getSpecialDateType();
813 755  
814   - //短信前缀
815   - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
816   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
817   - messageContent = replaceName(pat.getHusbandName(), messageContent);
818   - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
819   - pat.getHospitalId(),template.getId(),pat.getId());
  756 + if (specialDateType == SpecialDateEnums.YZ.getId())
  757 + {
  758 + Integer start = template.getStart();
  759 + Integer end = template.getEnd();
820 760  
821   - messages.add(request);
822   - }
823   - }
824   - }
825   - }
  761 + if (start != null && end != null)
  762 + {
  763 + Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType);
  764 + Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType);
  765 + patientsQuery.setLastMensesStart(startDate);
  766 + patientsQuery.setLastMensesEnd(endDate);
  767 + //查询符合条件的孕妇
  768 + List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  769 + if (CollectionUtils.isNotEmpty(patients))
  770 + {
  771 + for (Patients pat : patients)
  772 + {
826 773  
  774 + //如果有有效的预约短信就不发送产检程序提醒
  775 + boolean isOrder = queryYunIsOrder(sendTimeType, tempHid,pat.getId(),pat.getLastMenses(),start);
  776 + if (isOrder)
  777 + {
  778 + continue;
  779 + }
  780 + //短信前缀
  781 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
  782 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  783 + messageContent = replaceName(pat.getUsername(), messageContent);
827 784  
828   - }
829   - //孕妇生日
830   - else if(specialDateType == SpecialDateEnums.MMSR.getId())
831   - {
832   - Date birthday = DateUtil.addDay(new Date(), sendTimeType);
833   - String dateStr = DateUtil.formatSimpleDate(birthday);
834   - List<String> ids = yunBookbuildingService.getBirthPatients(dateStr);
835   - if (CollectionUtils.isNotEmpty(ids))
836   - {
837   - for(String id : ids)
838   - {
839   - patientsQuery.setId(id);
840   - messages.addAll(getYunMessageRequestList(patientsQuery, config, template));
841   - }
842   - }
  785 + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
  786 + pat.getHospitalId(),template.getId(),pat.getId());
  787 + messages.add(request);
  788 + }
  789 + }
  790 + }
843 791  
844   - }
845   - }
846   - //特殊日期中的公历和农历 每年的公历/农历
847   - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() )
848   - {
849   - Date sendDate = template.getSendDate();
850   - //公历
851   - if (sendDateType == SendDateEnums.GL.getId())
852   - {
853   - if (isGLYear(sendDate,sendTimeType))
854   - {
855   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
856   - }
857   - }
858   - //农历
859   - else if (sendDateType == SendDateEnums.NL.getId())
860   - {
861   - if (isNLYear(sendDate,sendTimeType))
862   - {
863   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
864   - }
865   - }
866   - }
867   - }
868   - //每月发送
869   - else if (sendFreq == SendFrequencyEnums.MONTH.getId())
870   - {
871   - Integer sendDateType = template.getSendDateType();
  792 + }
  793 + }
  794 + }
  795 + }
  796 + else
  797 + {
  798 + //发送频次
  799 + Integer sendFreq = template.getSendFrequency();
  800 + if (sendFreq == SendFrequencyEnums.YEAR.getId())
  801 + {
  802 + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
  803 + Integer sendDateType = template.getSendDateType();
  804 + if (sendDateType == SendDateEnums.TSRQ.getId()) {
  805 + //孕妇 下面的 孕妇生日 丈夫生日
  806 + Integer specialDateType = template.getSpecialDateType();
  807 + //丈夫生日
  808 + if (specialDateType == SpecialDateEnums.ZFSR.getId())
  809 + {
  810 + Date birthday = DateUtil.addDay(new Date(),sendTimeType);
  811 + List<String> ids = yunBookbuildingService.getBirthHusbands(DateUtil.formatSimpleDate(birthday));
  812 + if(CollectionUtils.isNotEmpty(ids))
  813 + {
  814 + for(String id : ids)
  815 + {
  816 + patientsQuery.setId(id);
  817 + //查询符合条件丈夫信息
  818 + List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  819 + if (CollectionUtils.isNotEmpty(patients))
  820 + {
  821 + for (Patients pat : patients)
  822 + {
  823 + if (pat != null && StringUtils.isEmpty(pat.getPhone()))
  824 + {
  825 + continue;
  826 + }
872 827  
873   - //公历
874   - if (sendDateType == SendDateEnums.GL.getId())
875   - {
876   - Date sendDate = template.getSendDate();
877   - if (sendDate != null)
878   - {
879   - if (isGLMonth(sendDate,sendTimeType))
880   - {
881   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
882   - }
883   - }
884   - }
885   - //农历
886   - else if (sendDateType == SendDateEnums.NL.getId())
887   - {
888   - Date sendDate = template.getSendDate();
889   - if (isNLMonth(sendDate,sendTimeType))
890   - {
891   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
892   - }
893   - }
894   - }
895   - //发送一次
896   - else if (sendFreq == SendFrequencyEnums.ONCE.getId())
897   - {
898   - //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
899   - Integer sendDateType = template.getSendDateType();
900   - if (sendDateType == SendDateEnums.TSRQ.getId()) {
901   - //孕妇的建档 和服务结束
902   - Integer specialDateType = template.getSpecialDateType();
903   - //服务结束
904   - if (specialDateType == SpecialDateEnums.FWJS.getId())
905   - {
  828 + //短信前缀
  829 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
  830 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  831 + messageContent = replaceName(pat.getHusbandName(), messageContent);
  832 + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
  833 + pat.getHospitalId(),template.getId(),pat.getId());
906 834  
  835 + messages.add(request);
  836 + }
  837 + }
  838 + }
  839 + }
  840 +
  841 +
  842 + }
  843 + //孕妇生日
  844 + else if(specialDateType == SpecialDateEnums.MMSR.getId())
  845 + {
  846 + Date birthday = DateUtil.addDay(new Date(), sendTimeType);
  847 + String dateStr = DateUtil.formatSimpleDate(birthday);
  848 + List<String> ids = yunBookbuildingService.getBirthPatients(dateStr);
  849 + if (CollectionUtils.isNotEmpty(ids))
  850 + {
  851 + for(String id : ids)
  852 + {
  853 + patientsQuery.setId(id);
  854 + messages.addAll(getYunMessageRequestList(patientsQuery, config, template));
  855 + }
  856 + }
  857 +
  858 + }
  859 + }
  860 + //特殊日期中的公历和农历 每年的公历/农历
  861 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() )
  862 + {
  863 + Date sendDate = template.getSendDate();
  864 + //公历
  865 + if (sendDateType == SendDateEnums.GL.getId())
  866 + {
  867 + if (isGLYear(sendDate,sendTimeType))
  868 + {
  869 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  870 + }
  871 + }
  872 + //农历
  873 + else if (sendDateType == SendDateEnums.NL.getId())
  874 + {
  875 + if (isNLYear(sendDate,sendTimeType))
  876 + {
  877 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  878 + }
  879 + }
  880 + }
  881 + }
  882 + //每月发送
  883 + else if (sendFreq == SendFrequencyEnums.MONTH.getId())
  884 + {
  885 + Integer sendDateType = template.getSendDateType();
  886 +
  887 + //公历
  888 + if (sendDateType == SendDateEnums.GL.getId())
  889 + {
  890 + Date sendDate = template.getSendDate();
  891 + if (sendDate != null)
  892 + {
  893 + if (isGLMonth(sendDate,sendTimeType))
  894 + {
  895 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  896 + }
  897 + }
  898 + }
  899 + //农历
  900 + else if (sendDateType == SendDateEnums.NL.getId())
  901 + {
  902 + Date sendDate = template.getSendDate();
  903 + if (isNLMonth(sendDate,sendTimeType))
  904 + {
  905 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  906 + }
  907 + }
  908 + }
  909 + //发送一次
  910 + else if (sendFreq == SendFrequencyEnums.ONCE.getId())
  911 + {
  912 + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
  913 + Integer sendDateType = template.getSendDateType();
  914 + if (sendDateType == SendDateEnums.TSRQ.getId()) {
  915 + //孕妇的建档 和服务结束
  916 + Integer specialDateType = template.getSpecialDateType();
  917 + //服务结束
  918 + if (specialDateType == SpecialDateEnums.FWJS.getId())
  919 + {
  920 +
907 921 // Date endDate = DateUtil.formatDate(new Date());
908 922 //
909 923 // patientsQuery.setYn(YnEnums.YES.getId());
910 924  
911 925  
912 926  
913 927  
914 928  
915 929  
916 930  
917 931  
918 932  
919 933  
920 934  
921 935  
922 936  
923 937  
924 938  
925 939  
926 940  
927 941  
928 942  
929 943  
930 944  
931 945  
932 946  
933 947  
934 948  
935 949  
936 950  
937 951  
938 952  
939 953  
940 954  
941 955  
942 956  
943 957  
944 958  
945 959  
946 960  
947 961  
948 962  
949 963  
950 964  
951 965  
952 966  
953 967  
954 968  
955 969  
956 970  
957 971  
958 972  
959 973  
960 974  
961 975  
962 976  
963 977  
... ... @@ -969,681 +983,686 @@
969 983 // }
970 984 //
971 985 // }
972   - }
973   - //孕妇建档在 孕妇建档生成
  986 + }
  987 + //孕妇建档在 孕妇建档生成
974 988  
975   - }
976   - //特殊日期中的公历和农历
977   - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() )
978   - {
979   - //公历
980   - if (sendDateType == SendDateEnums.GL.getId())
981   - {
982   - Date sendDate = template.getSendDate();
983   - if (isGLPoint(sendDate,sendTimeType))
984   - {
985   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
986   - }
987   - }
988   - //农历
989   - else if (sendDateType == SendDateEnums.NL.getId())
990   - {
991   - Date sendDate = template.getSendDate();
992   - if (isNLPoint(sendDate, sendTimeType))
993   - {
994   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
995   - }
996   - }
997   - }
998   - else if (sendDateType == SendDateEnums.SLRQ.getId())
999   - {
1000   - //孕妇特殊日期 孕周
1001   - Integer specialDateType = template.getSpecialDateType();
1002   - if (specialDateType == SpecialDateEnums.YZ.getId())
1003   - {
1004   - Integer start = template.getStart();
1005   - Integer end = template.getEnd();
1006   - if (end != null && start != null)
1007   - {
  989 + }
  990 + //特殊日期中的公历和农历
  991 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() )
  992 + {
  993 + //公历
  994 + if (sendDateType == SendDateEnums.GL.getId())
  995 + {
  996 + Date sendDate = template.getSendDate();
  997 + if (isGLPoint(sendDate,sendTimeType))
  998 + {
  999 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  1000 + }
  1001 + }
  1002 + //农历
  1003 + else if (sendDateType == SendDateEnums.NL.getId())
  1004 + {
  1005 + Date sendDate = template.getSendDate();
  1006 + if (isNLPoint(sendDate, sendTimeType))
  1007 + {
  1008 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  1009 + }
  1010 + }
  1011 + }
  1012 + else if (sendDateType == SendDateEnums.SLRQ.getId())
  1013 + {
  1014 + //孕妇特殊日期 孕周
  1015 + Integer specialDateType = template.getSpecialDateType();
  1016 + if (specialDateType == SpecialDateEnums.YZ.getId())
  1017 + {
  1018 + Integer start = template.getStart();
  1019 + Integer end = template.getEnd();
  1020 + if (end != null && start != null)
  1021 + {
1008 1022  
1009   - Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType);
1010   - Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType);
1011   - patientsQuery.setLastMensesStart(startDate);
1012   - patientsQuery.setLastMensesEnd(endDate);
  1023 + Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType);
  1024 + Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType);
  1025 + patientsQuery.setLastMensesStart(startDate);
  1026 + patientsQuery.setLastMensesEnd(endDate);
1013 1027  
1014   - messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
  1028 + messages.addAll(getYunMessageRequestList(patientsQuery,config,template));
1015 1029  
1016   - }
1017   - }
1018   - }
1019   - }
1020   - }
1021   - list.setMessages(messages);
1022   - sendSms(list);
1023   - }
1024   - //发送对象为儿童
1025   - else if (serviceObj == ServiceObjEnums.BABYOBJ.getId())
1026   - {
1027   - BabyModelQuery babyModelQuery = new BabyModelQuery();
1028   - babyModelQuery.setYn(YnEnums.YES.getId());
  1030 + }
  1031 + }
  1032 + }
  1033 + }
  1034 + }
  1035 + list.setMessages(messages);
  1036 + sendSms(list);
  1037 + }
  1038 + //发送对象为儿童
  1039 + else if (serviceObj == ServiceObjEnums.BABYOBJ.getId())
  1040 + {
  1041 + BabyModelQuery babyModelQuery = new BabyModelQuery();
  1042 + babyModelQuery.setYn(YnEnums.YES.getId());
1029 1043  
1030   - babyModelQuery = getServiceBabyQuery( serviceType, serviceStatus, babyModelQuery);
  1044 + babyModelQuery = getServiceBabyQuery( serviceType, serviceStatus, babyModelQuery);
1031 1045  
1032   - //发送短信集合
1033   - MessageListRequest list = new MessageListRequest();
1034   - List<MessageRequest> messages = new ArrayList<>();
  1046 + //发送短信集合
  1047 + MessageListRequest list = new MessageListRequest();
  1048 + List<MessageRequest> messages = new ArrayList<>();
1035 1049  
1036   - //儿保预约提醒
1037   - if (smsType == SmsServiceEnums.EBYYTX.getId())
1038   - {
1039   - Date yuYueDate = DateUtil.addDay(new Date(), sendTimeType);
1040   - List<BabyCheckModel> checkModels = babyBookbuildingService.queryBabyYuYueRecord(yuYueDate, tempHid);
1041   - if (CollectionUtils.isNotEmpty(checkModels))
1042   - {
1043   - for(BabyCheckModel checkModel : checkModels)
1044   - {
  1050 + //儿保预约提醒
  1051 + if (smsType == SmsServiceEnums.EBYYTX.getId())
  1052 + {
  1053 + Date yuYueDate = DateUtil.addDay(new Date(), sendTimeType);
  1054 + List<BabyCheckModel> checkModels = babyBookbuildingService.queryBabyYuYueRecord(yuYueDate, tempHid);
  1055 + if (CollectionUtils.isNotEmpty(checkModels))
  1056 + {
  1057 + for(BabyCheckModel checkModel : checkModels)
  1058 + {
1045 1059  
1046   - BabyModelQuery query = new BabyModelQuery();
1047   - query.setYn(YnEnums.YES.getId());
1048   - query.setId(checkModel.getBuildId());
1049   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1050   - }
1051   - }
1052   - }
1053   - //儿保程序提醒
1054   - else if (smsType == SmsServiceEnums.EBCXTX.getId())
1055   - {
  1060 + BabyModelQuery query = new BabyModelQuery();
  1061 + query.setYn(YnEnums.YES.getId());
  1062 + query.setId(checkModel.getBuildId());
  1063 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1064 + }
  1065 + }
  1066 + }
  1067 + //儿保程序提醒
  1068 + else if (smsType == SmsServiceEnums.EBCXTX.getId())
  1069 + {
1056 1070  
1057   - //发送频次
1058   - Integer sendFreq = template.getSendFrequency();
  1071 + //发送频次
  1072 + Integer sendFreq = template.getSendFrequency();
1059 1073  
1060   - if (sendFreq == SendFrequencyEnums.ONCE.getId())
1061   - {
  1074 + if (sendFreq == SendFrequencyEnums.ONCE.getId())
  1075 + {
1062 1076  
1063   - //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
1064   - Integer sendDateType = template.getSendDateType();
1065   - if (sendDateType == SendDateEnums.SLRQ.getId())
1066   - {
1067   - //儿童
1068   - Integer specialDateType = template.getSpecialDateType();
  1077 + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
  1078 + Integer sendDateType = template.getSendDateType();
  1079 + if (sendDateType == SendDateEnums.SLRQ.getId())
  1080 + {
  1081 + //儿童
  1082 + Integer specialDateType = template.getSpecialDateType();
1069 1083  
1070   - if (specialDateType == SpecialDateEnums.ETTS.getId())
1071   - {
1072   - Integer start = template.getStart();
1073   - Integer end = template.getEnd();
  1084 + if (specialDateType == SpecialDateEnums.ETTS.getId())
  1085 + {
  1086 + Integer start = template.getStart();
  1087 + Integer end = template.getEnd();
1074 1088  
1075   - if (start != null && end != null)
1076   - {
1077   - Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType);
1078   - Date endDate = DateUtil.getNewDate(-start,"天",sendTimeType);
1079   - babyModelQuery.setBirthStart(startDate);
1080   - babyModelQuery.setBirthEnd(endDate);
  1089 + if (start != null && end != null)
  1090 + {
  1091 + Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType);
  1092 + Date endDate = DateUtil.getNewDate(-start,"天",sendTimeType);
  1093 + babyModelQuery.setBirthStart(startDate);
  1094 + babyModelQuery.setBirthEnd(endDate);
1081 1095  
1082   - List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
1083   - if (CollectionUtils.isNotEmpty(babyModels))
1084   - {
1085   - for (BabyModel model : babyModels)
1086   - {
1087   - if (model.getBirth() == null)
1088   - {
1089   - continue;
1090   - }
  1096 + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
  1097 + if (CollectionUtils.isNotEmpty(babyModels))
  1098 + {
  1099 + for (BabyModel model : babyModels)
  1100 + {
  1101 + if (model.getBirth() == null)
  1102 + {
  1103 + continue;
  1104 + }
1091 1105  
1092   - //如果有有效的预约短信就不发送 儿保检查提醒
1093   - if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"天"))
1094   - {
1095   - continue;
1096   - }
  1106 + //如果有有效的预约短信就不发送 儿保检查提醒
  1107 + if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"天"))
  1108 + {
  1109 + continue;
  1110 + }
1097 1111  
1098   - //短信前缀
1099   - String messagePrefix = getSmsPrefix(config, model.getBuildDoctor());
1100   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
1101   - messageContent = replaceName(model.getName(), messageContent);
1102   - MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
1103   - model.getHospitalId(),template.getId(),model.getId());
1104   - messages.add(request);
  1112 + //短信前缀
  1113 + String messagePrefix = getSmsPrefix(config, model.getBuildDoctor());
  1114 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  1115 + messageContent = replaceName(model.getName(), messageContent);
  1116 + MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
  1117 + model.getHospitalId(),template.getId(),model.getId());
  1118 + messages.add(request);
1105 1119  
1106   - }
1107   - }
1108   - }
1109   - }
1110   - //儿童月龄
1111   - else if (specialDateType == SpecialDateEnums.ETYL.getId())
1112   - {
1113   - Integer start = template.getStart();
1114   - Integer end = template.getEnd();
  1120 + }
  1121 + }
  1122 + }
  1123 + }
  1124 + //儿童月龄
  1125 + else if (specialDateType == SpecialDateEnums.ETYL.getId())
  1126 + {
  1127 + Integer start = template.getStart();
  1128 + Integer end = template.getEnd();
1115 1129  
1116   - if (start != null && end != null)
1117   - {
1118   - Date startDate = DateUtil.getNewDate(-end, "月", sendTimeType);
1119   - Date endDate = DateUtil.getNewDate(-start,"月",sendTimeType);
1120   - babyModelQuery.setBirthStart(startDate);
1121   - babyModelQuery.setBirthEnd(endDate);
  1130 + if (start != null && end != null)
  1131 + {
  1132 + Date startDate = DateUtil.getNewDate(-end, "月", sendTimeType);
  1133 + Date endDate = DateUtil.getNewDate(-start,"月",sendTimeType);
  1134 + babyModelQuery.setBirthStart(startDate);
  1135 + babyModelQuery.setBirthEnd(endDate);
1122 1136  
1123   - List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
1124   - if (CollectionUtils.isNotEmpty(babyModels))
1125   - {
1126   - for (BabyModel model : babyModels)
1127   - {
1128   - if (model.getBirth() == null)
1129   - {
1130   - continue;
1131   - }
  1137 + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
  1138 + if (CollectionUtils.isNotEmpty(babyModels))
  1139 + {
  1140 + for (BabyModel model : babyModels)
  1141 + {
  1142 + if (model.getBirth() == null)
  1143 + {
  1144 + continue;
  1145 + }
1132 1146  
1133   - //如果有有效的预约短信就不发送 儿保检查提醒
1134   - if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"月"))
1135   - {
1136   - continue;
1137   - }
  1147 + //如果有有效的预约短信就不发送 儿保检查提醒
  1148 + if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"月"))
  1149 + {
  1150 + continue;
  1151 + }
1138 1152  
1139   - //短信前缀
1140   - String messagePrefix = getSmsPrefix(config, model.getBuildDoctor());
1141   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
1142   - messageContent = replaceName(model.getName(), messageContent);
1143   - MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
1144   - model.getHospitalId(),template.getId(),model.getId());
1145   - messages.add(request);
  1153 + //短信前缀
  1154 + String messagePrefix = getSmsPrefix(config, model.getBuildDoctor());
  1155 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  1156 + messageContent = replaceName(model.getName(), messageContent);
  1157 + MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
  1158 + model.getHospitalId(),template.getId(),model.getId());
  1159 + messages.add(request);
1146 1160  
1147   - }
1148   - }
1149   - }
1150   - }
1151   - }
1152   - }
1153   - }
1154   - else
1155   - {
1156   - //发送频次
1157   - Integer sendFreq = template.getSendFrequency();
1158   - Integer sendDateType = template.getSendDateType();
1159   - if (sendFreq == SendFrequencyEnums.YEAR.getId()) {
1160   - //特殊日期
1161   - if (sendDateType == SendDateEnums.TSRQ.getId())
1162   - {
1163   - Integer specialDateType = template.getSpecialDateType();
1164   - //儿童生日
1165   - if (specialDateType == SpecialDateEnums.ETSR.getId()) {
  1161 + }
  1162 + }
  1163 + }
  1164 + }
  1165 + }
  1166 + }
  1167 + }
  1168 + else
  1169 + {
  1170 + //发送频次
  1171 + Integer sendFreq = template.getSendFrequency();
  1172 + Integer sendDateType = template.getSendDateType();
  1173 + if (sendFreq == SendFrequencyEnums.YEAR.getId()) {
  1174 + //特殊日期
  1175 + if (sendDateType == SendDateEnums.TSRQ.getId())
  1176 + {
  1177 + Integer specialDateType = template.getSpecialDateType();
  1178 + //儿童生日
  1179 + if (specialDateType == SpecialDateEnums.ETSR.getId()) {
1166 1180  
1167   - Date birthday = DateUtil.addDay(new Date(), sendTimeType);
1168   - String dateStr = DateUtil.formatSimpleDate(birthday);
1169   - List<String> ids = babyBookbuildingService.getBirthBabies(dateStr);
1170   - if (CollectionUtils.isNotEmpty(ids))
1171   - {
1172   - for(String id : ids)
1173   - {
1174   - babyModelQuery.setId(id);
1175   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1176   - }
1177   - }
  1181 + Date birthday = DateUtil.addDay(new Date(), sendTimeType);
  1182 + String dateStr = DateUtil.formatSimpleDate(birthday);
  1183 + List<String> ids = babyBookbuildingService.getBirthBabies(dateStr);
  1184 + if (CollectionUtils.isNotEmpty(ids))
  1185 + {
  1186 + for(String id : ids)
  1187 + {
  1188 + babyModelQuery.setId(id);
  1189 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1190 + }
  1191 + }
1178 1192  
1179   - }
1180   - } //儿童 每年的公历和农历
1181   - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId())
1182   - {
1183   - Date sendDate = template.getSendDate();
1184   - //公历
1185   - if (sendDateType == SendDateEnums.GL.getId())
1186   - {
1187   - if (isGLYear(sendDate,sendTimeType))
1188   - {
1189   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1190   - }
1191   - }
1192   - //农历
1193   - else if (sendDateType == SendDateEnums.NL.getId())
1194   - {
1195   - if (isNLYear(sendDate,sendTimeType))
1196   - {
1197   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1198   - }
1199   - }
1200   - }
1201   - }
1202   - else if (sendFreq == SendFrequencyEnums.MONTH.getId())
1203   - {
1204   - //儿童 每年的公历和农历
1205   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId())
1206   - {
1207   - Date sendDate = template.getSendDate();
1208   - //公历
1209   - if (sendDateType == SendDateEnums.GL.getId())
1210   - {
1211   - if (isGLMonth(sendDate, sendTimeType))
1212   - {
1213   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1214   - }
1215   - }
1216   - //农历
1217   - else if (sendDateType == SendDateEnums.NL.getId())
1218   - {
1219   - if (isNLMonth(sendDate, sendTimeType))
1220   - {
1221   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1222   - }
1223   - }
1224   - }
1225   - }
1226   - else if (sendFreq == SendFrequencyEnums.ONCE.getId())
1227   - {
1228   - //生理日期
1229   - if (sendDateType == SendDateEnums.SLRQ.getId())
1230   - {
1231   - Integer specialDateType = template.getSpecialDateType();
1232   - //儿童天数
1233   - if (specialDateType == SpecialDateEnums.ETTS.getId()) {
1234   - Integer start = template.getStart();
1235   - Integer end = template.getEnd();
1236   - if (start != null && end != null)
1237   - {
1238   - Date startDate = DateUtil.getNewDate(-end,"天",sendTimeType);
1239   - Date endDate = DateUtil.getNewDate(-start,"天",sendTimeType);
1240   - babyModelQuery.setBirthStart(startDate);
1241   - babyModelQuery.setBirthEnd(endDate);
1242   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1243   - }
1244   - }
1245   - //儿童月龄
1246   - else if (specialDateType == SpecialDateEnums.ETYL.getId())
1247   - {
1248   - Integer start = template.getStart();
1249   - Integer end = template.getEnd();
1250   - if (start != null && end != null)
1251   - {
1252   - Date startDate = DateUtil.getNewDate(-end,"月",sendTimeType);
1253   - Date endDate = DateUtil.getNewDate(-start,"月",sendTimeType);
1254   - babyModelQuery.setBirthStart(startDate);
1255   - babyModelQuery.setBirthEnd(endDate);
1256   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1257   - }
1258   - }
1259   - }
1260   - //特殊日期
1261   - else if (sendDateType == SendDateEnums.TSRQ.getId())
1262   - {
1263   - Integer specialDateType = template.getSpecialDateType();
1264   - //儿童满月
1265   - if (specialDateType == SpecialDateEnums.ETMY.getId())
1266   - {
1267   - Date birthday = DateUtil.getNewDate(-1, "月", -sendTimeType);
1268   - babyModelQuery.setBirthStart(birthday);
1269   - babyModelQuery.setBirthEnd(birthday);
1270   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1271   - }
1272   - //儿童百岁
1273   - else if(specialDateType == SpecialDateEnums.ETBS.getId())
1274   - {
1275   - Date birthday = DateUtil.getNewDate(-100, "天", -sendTimeType);
1276   - babyModelQuery.setBirthStart(birthday);
1277   - babyModelQuery.setBirthEnd(birthday);
1278   - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
1279   - }
  1193 + }
  1194 + } //儿童 每年的公历和农历
  1195 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId())
  1196 + {
  1197 + Date sendDate = template.getSendDate();
  1198 + //公历
  1199 + if (sendDateType == SendDateEnums.GL.getId())
  1200 + {
  1201 + if (isGLYear(sendDate,sendTimeType))
  1202 + {
  1203 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1204 + }
  1205 + }
  1206 + //农历
  1207 + else if (sendDateType == SendDateEnums.NL.getId())
  1208 + {
  1209 + if (isNLYear(sendDate,sendTimeType))
  1210 + {
  1211 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1212 + }
  1213 + }
  1214 + }
  1215 + }
  1216 + else if (sendFreq == SendFrequencyEnums.MONTH.getId())
  1217 + {
  1218 + //儿童 每年的公历和农历
  1219 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId())
  1220 + {
  1221 + Date sendDate = template.getSendDate();
  1222 + //公历
  1223 + if (sendDateType == SendDateEnums.GL.getId())
  1224 + {
  1225 + if (isGLMonth(sendDate, sendTimeType))
  1226 + {
  1227 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1228 + }
  1229 + }
  1230 + //农历
  1231 + else if (sendDateType == SendDateEnums.NL.getId())
  1232 + {
  1233 + if (isNLMonth(sendDate, sendTimeType))
  1234 + {
  1235 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1236 + }
  1237 + }
  1238 + }
  1239 + }
  1240 + else if (sendFreq == SendFrequencyEnums.ONCE.getId())
  1241 + {
  1242 + //生理日期
  1243 + if (sendDateType == SendDateEnums.SLRQ.getId())
  1244 + {
  1245 + Integer specialDateType = template.getSpecialDateType();
  1246 + //儿童天数
  1247 + if (specialDateType == SpecialDateEnums.ETTS.getId()) {
  1248 + Integer start = template.getStart();
  1249 + Integer end = template.getEnd();
  1250 + if (start != null && end != null)
  1251 + {
  1252 + Date startDate = DateUtil.getNewDate(-end,"天",sendTimeType);
  1253 + Date endDate = DateUtil.getNewDate(-start,"天",sendTimeType);
  1254 + babyModelQuery.setBirthStart(startDate);
  1255 + babyModelQuery.setBirthEnd(endDate);
  1256 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1257 + }
  1258 + }
  1259 + //儿童月龄
  1260 + else if (specialDateType == SpecialDateEnums.ETYL.getId())
  1261 + {
  1262 + Integer start = template.getStart();
  1263 + Integer end = template.getEnd();
  1264 + if (start != null && end != null)
  1265 + {
  1266 + Date startDate = DateUtil.getNewDate(-end,"月",sendTimeType);
  1267 + Date endDate = DateUtil.getNewDate(-start,"月",sendTimeType);
  1268 + babyModelQuery.setBirthStart(startDate);
  1269 + babyModelQuery.setBirthEnd(endDate);
  1270 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1271 + }
  1272 + }
  1273 + }
  1274 + //特殊日期
  1275 + else if (sendDateType == SendDateEnums.TSRQ.getId())
  1276 + {
  1277 + Integer specialDateType = template.getSpecialDateType();
  1278 + //儿童满月
  1279 + if (specialDateType == SpecialDateEnums.ETMY.getId())
  1280 + {
  1281 + Date birthday = DateUtil.getNewDate(-1, "月", -sendTimeType);
  1282 + babyModelQuery.setBirthStart(birthday);
  1283 + babyModelQuery.setBirthEnd(birthday);
  1284 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1285 + }
  1286 + //儿童百岁
  1287 + else if(specialDateType == SpecialDateEnums.ETBS.getId())
  1288 + {
  1289 + Date birthday = DateUtil.getNewDate(-100, "天", -sendTimeType);
  1290 + babyModelQuery.setBirthStart(birthday);
  1291 + babyModelQuery.setBirthEnd(birthday);
  1292 + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template));
  1293 + }
1280 1294  
1281   - //儿童服务结束
1282   - else if (specialDateType == SpecialDateEnums.FWJS.getId())
1283   - {
  1295 + //儿童服务结束
  1296 + else if (specialDateType == SpecialDateEnums.FWJS.getId())
  1297 + {
1284 1298  
1285   - /**
1286   - * 儿童服务结束
1287   - */
1288   - babyModelQuery.setYn(YnEnums.YES.getId());
1289   - Date babyEndDate = DateUtil.getNewDate(-36, "月", 0);
1290   - //把时间格式化成 yyyy_MM_dd 的日期
1291   - babyEndDate = DateUtil.formatDate(babyEndDate);
  1299 + /**
  1300 + * 儿童服务结束
  1301 + */
  1302 + babyModelQuery.setYn(YnEnums.YES.getId());
  1303 + Date babyEndDate = DateUtil.getNewDate(-36, "月", 0);
  1304 + //把时间格式化成 yyyy_MM_dd 的日期
  1305 + babyEndDate = DateUtil.formatDate(babyEndDate);
1292 1306  
1293   - babyModelQuery.setBirthStart(babyEndDate);
1294   - babyModelQuery.setBirthEnd(babyEndDate);
  1307 + babyModelQuery.setBirthStart(babyEndDate);
  1308 + babyModelQuery.setBirthEnd(babyEndDate);
1295 1309  
1296   - List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
1297   - if (CollectionUtils.isNotEmpty(babyModels))
1298   - {
1299   - for(BabyModel model : babyModels)
1300   - {
1301   - //短信前缀
1302   - String messagePrefix = getSmsPrefix(config, model.getBuildDoctor());
1303   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
1304   - messageContent = replaceName(model.getName(), messageContent);
1305   - MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
1306   - model.getHospitalId(),template.getId(),model.getId());
1307   - messages.add(request);
  1310 + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
  1311 + if (CollectionUtils.isNotEmpty(babyModels))
  1312 + {
  1313 + for(BabyModel model : babyModels)
  1314 + {
  1315 + //短信前缀
  1316 + String messagePrefix = getSmsPrefix(config, model.getBuildDoctor());
  1317 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  1318 + messageContent = replaceName(model.getName(), messageContent);
  1319 + MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(),
  1320 + model.getHospitalId(),template.getId(),model.getId());
  1321 + messages.add(request);
1308 1322  
1309   - //更新状态为过期
1310   - //判断其为增值服务还是 标准服务
1311   - if (model.getServiceType() == ServiceTypeEnums.STANDARD_SERVICE.getId())
1312   - {
1313   - model.setServiceStatus(ServiceStatusEnums.STANDARD_OVERDUE.getId());
1314   - }
1315   - else if (model.getServiceType() == ServiceTypeEnums.ADD_SERVICE.getId())
1316   - {
1317   - model.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId());
1318   - }
1319   - babyBookbuildingService.updateBabyBuild(model,model.getId());
1320   - }
1321   - }
1322   - }
1323   - //儿童建档 在儿童建档时候生成 及时短信
1324   - }
1325   - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId())
1326   - {
1327   - Date sendDate = template.getSendDate();
1328   - //公历
1329   - if (sendDateType == SendDateEnums.GL.getId())
1330   - {
1331   - if (isGLPoint(sendDate, sendTimeType))
1332   - {
1333   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1334   - }
1335   - }
1336   - //农历
1337   - else if (sendDateType == SendDateEnums.NL.getId())
1338   - {
1339   - if (isNLPoint(sendDate, sendTimeType))
1340   - {
1341   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1342   - }
1343   - }
1344   - }
1345   - }
  1323 + //更新状态为过期
  1324 + //判断其为增值服务还是 标准服务
  1325 + if (model.getServiceType() == ServiceTypeEnums.STANDARD_SERVICE.getId())
  1326 + {
  1327 + model.setServiceStatus(ServiceStatusEnums.STANDARD_OVERDUE.getId());
  1328 + }
  1329 + else if (model.getServiceType() == ServiceTypeEnums.ADD_SERVICE.getId())
  1330 + {
  1331 + model.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId());
  1332 + }
  1333 + babyBookbuildingService.updateBabyBuild(model,model.getId());
  1334 + }
  1335 + }
  1336 + }
  1337 + //儿童建档 在儿童建档时候生成 及时短信
  1338 + }
  1339 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId())
  1340 + {
  1341 + Date sendDate = template.getSendDate();
  1342 + //公历
  1343 + if (sendDateType == SendDateEnums.GL.getId())
  1344 + {
  1345 + if (isGLPoint(sendDate, sendTimeType))
  1346 + {
  1347 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1348 + }
  1349 + }
  1350 + //农历
  1351 + else if (sendDateType == SendDateEnums.NL.getId())
  1352 + {
  1353 + if (isNLPoint(sendDate, sendTimeType))
  1354 + {
  1355 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1356 + }
  1357 + }
  1358 + }
  1359 + }
1346 1360  
1347   - }
  1361 + }
1348 1362  
1349   - list.setMessages(messages);
1350   - sendSms(list);
1351   - }
1352   - //产妇
1353   - else if (serviceObj == ServiceObjEnums.CHANOBJ.getId())
1354   - {
1355   - PatientsQuery patientsQuery = new PatientsQuery();
1356   - patientsQuery.setYn(YnEnums.YES.getId());
1357   - //1孕妇 3产妇
1358   - patientsQuery.setType(3);
  1363 + list.setMessages(messages);
  1364 + sendSms(list);
  1365 + }
  1366 + //产妇
  1367 + else if (serviceObj == ServiceObjEnums.CHANOBJ.getId())
  1368 + {
  1369 + PatientsQuery patientsQuery = new PatientsQuery();
  1370 + patientsQuery.setYn(YnEnums.YES.getId());
  1371 + //1孕妇 3产妇
  1372 + patientsQuery.setType(3);
1359 1373  
1360   - patientsQuery = getServicePatientQuery(serviceType, serviceStatus, patientsQuery);
  1374 + getServicePatientQuery(serviceType, serviceStatus, patientsQuery);
1361 1375  
1362   - //发送短信集合
1363   - MessageListRequest list = new MessageListRequest();
1364   - List<MessageRequest> messages = new ArrayList<>();
  1376 + //发送短信集合
  1377 + MessageListRequest list = new MessageListRequest();
  1378 + List<MessageRequest> messages = new ArrayList<>();
1365 1379  
1366   - //产妇预约短信
1367   - if (smsType == SmsServiceEnums.CHFCYUTX.getId())
1368   - {
1369   - //把时间格式成yyyy_MM_dd
1370   - String currentDate = DateUtil.getyyyy_MM_dd(new Date());
1371   - Date actualSendDate = DateUtil.addDay(DateUtil.parseYMD(currentDate), sendTimeType);
  1380 + //产妇预约短信
  1381 + if (smsType == SmsServiceEnums.CHFCYUTX.getId())
  1382 + {
  1383 + //把时间格式成yyyy_MM_dd
  1384 + String currentDate = DateUtil.getyyyy_MM_dd(new Date());
  1385 + Date actualSendDate = DateUtil.addDay(DateUtil.parseYMD(currentDate), sendTimeType);
1372 1386  
1373   - //查询出产妇预约
1374   - List<PostReviewModel> orderModels = postReviewService.queryPostOrder(actualSendDate,tempHid);
1375   - if(CollectionUtils.isNotEmpty(orderModels))
1376   - {
1377   - for(PostReviewModel orderModel : orderModels)
1378   - {
1379   - PatientsQuery query = new PatientsQuery();
1380   - query.setYn(YnEnums.YES.getId());
1381   - query.setId(orderModel.getParentId());
  1387 + //查询出产妇预约
  1388 + List<PostReviewModel> orderModels = postReviewService.queryPostOrder(actualSendDate,tempHid);
  1389 + if(CollectionUtils.isNotEmpty(orderModels))
  1390 + {
  1391 + for(PostReviewModel orderModel : orderModels)
  1392 + {
  1393 + PatientsQuery query = new PatientsQuery();
  1394 + query.setYn(YnEnums.YES.getId());
  1395 + query.setId(orderModel.getParentId());
1382 1396  
1383   - messages.addAll(getChanMessageRequestList(patientsQuery,config,template));
1384   - }
1385   - }
1386   - }
1387   - else if (smsType == SmsServiceEnums.CHFCCXTX.getId())
1388   - {
1389   - //发送频次
1390   - Integer sendFreq = template.getSendFrequency();
  1397 + messages.addAll(getChanMessageRequestList(patientsQuery,config,template));
  1398 + }
  1399 + }
  1400 + }
  1401 + else if (smsType == SmsServiceEnums.CHFCCXTX.getId())
  1402 + {
  1403 + //发送频次
  1404 + Integer sendFreq = template.getSendFrequency();
1391 1405  
1392   - if (sendFreq == SendFrequencyEnums.ONCE.getId()) {
  1406 + if (sendFreq == SendFrequencyEnums.ONCE.getId()) {
1393 1407  
1394   - //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
1395   - Integer sendDateType = template.getSendDateType();
1396   - if (sendDateType == SendDateEnums.SLRQ.getId()) {
1397   - //
1398   - Integer specialDateType = template.getSpecialDateType();
  1408 + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
  1409 + Integer sendDateType = template.getSendDateType();
  1410 + if (sendDateType == SendDateEnums.SLRQ.getId()) {
  1411 + //
  1412 + Integer specialDateType = template.getSpecialDateType();
1399 1413  
1400   - //产后天数
1401   - if (specialDateType == SpecialDateEnums.CHTS.getId()) {
1402   - Integer start = template.getStart();
1403   - Integer end = template.getEnd();
  1414 + //产后天数
  1415 + if (specialDateType == SpecialDateEnums.CHTS.getId()) {
  1416 + Integer start = template.getStart();
  1417 + Integer end = template.getEnd();
1404 1418  
1405   - if (start != null && end != null) {
1406   - Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType);
1407   - Date endDate = DateUtil.getNewDate(-start, "天", sendTimeType);
1408   - patientsQuery.setBirthStart(startDate);
1409   - patientsQuery.setBirthEnd(endDate);
1410   - List<Patients> patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
1411   - for(Patients pat : patientses)
1412   - {
1413   - if (pat.getDueDate() == null)
1414   - {
1415   - continue;
1416   - }
1417   - if (queryPostOrder(pat.getDueDate(),start,tempHid,sendTimeType,pat.getId()))
1418   - {
1419   - continue;
1420   - }
1421   - //短信前缀
1422   - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
1423   - String messageContent = "【"+messagePrefix+"】"+template.getContent();
1424   - messageContent = replaceName(pat.getUsername(), messageContent);
1425   - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(),
1426   - pat.getHospitalId(),template.getId(),pat.getId());
1427   - messages.add(request);
1428   - }
1429   - }
1430   - }
1431   - }
1432   - }
1433   - }
1434   - else
1435   - {
1436   - //发送频次
1437   - Integer sendFreq = template.getSendFrequency();
  1419 + if (start != null && end != null) {
  1420 + Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType);
  1421 + Date endDate = DateUtil.getNewDate(-start, "天", sendTimeType);
  1422 + patientsQuery.setBirthStart(startDate);
  1423 + patientsQuery.setBirthEnd(endDate);
  1424 + List<Patients> patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  1425 + for(Patients pat : patientses)
  1426 + {
  1427 + if (pat.getDueDate() == null)
  1428 + {
  1429 + continue;
  1430 + }
  1431 + if (queryPostOrder(pat.getDueDate(),start,tempHid,sendTimeType,pat.getId()))
  1432 + {
  1433 + continue;
  1434 + }
  1435 + //短信前缀
  1436 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor());
  1437 + String messageContent = "【"+messagePrefix+"】"+template.getContent();
  1438 + messageContent = replaceName(pat.getUsername(), messageContent);
  1439 + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(),
  1440 + pat.getHospitalId(),template.getId(),pat.getId());
  1441 + messages.add(request);
  1442 + }
  1443 + }
  1444 + }
  1445 + }
  1446 + }
  1447 + }
  1448 + else
  1449 + {
  1450 + //发送频次
  1451 + Integer sendFreq = template.getSendFrequency();
1438 1452  
1439   - if (sendFreq == SendFrequencyEnums.YEAR.getId()) {
  1453 + if (sendFreq == SendFrequencyEnums.YEAR.getId()) {
1440 1454  
1441   - //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
1442   - Integer sendDateType = template.getSendDateType();
1443   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
1444   - Date sendDate = template.getSendDate();
1445   - //公历
1446   - if (sendDateType == SendDateEnums.GL.getId())
1447   - {
1448   - if (isGLYear(sendDate, sendTimeType))
1449   - {
1450   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1451   - }
1452   - }
1453   - //农历
1454   - else if (sendDateType == SendDateEnums.NL.getId())
1455   - {
1456   - if (isNLYear(sendDate, sendTimeType))
1457   - {
1458   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1459   - }
1460   - }
1461   - }
  1455 + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3");
  1456 + Integer sendDateType = template.getSendDateType();
  1457 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
  1458 + Date sendDate = template.getSendDate();
  1459 + //公历
  1460 + if (sendDateType == SendDateEnums.GL.getId())
  1461 + {
  1462 + if (isGLYear(sendDate, sendTimeType))
  1463 + {
  1464 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1465 + }
  1466 + }
  1467 + //农历
  1468 + else if (sendDateType == SendDateEnums.NL.getId())
  1469 + {
  1470 + if (isNLYear(sendDate, sendTimeType))
  1471 + {
  1472 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1473 + }
  1474 + }
  1475 + }
1462 1476  
1463   - }
1464   - else if (sendFreq == SendFrequencyEnums.MONTH.getId())
1465   - {
1466   - Integer sendDateType = template.getSendDateType();
1467   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
1468   - Date sendDate = template.getSendDate();
1469   - //公历
1470   - if (sendDateType == SendDateEnums.GL.getId())
1471   - {
1472   - if (isGLMonth(sendDate, sendTimeType))
1473   - {
1474   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1475   - }
1476   - }
1477   - //农历
1478   - else if (sendDateType == SendDateEnums.NL.getId())
1479   - {
1480   - if (isNLMonth(sendDate, sendTimeType))
1481   - {
1482   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1483   - }
1484   - }
1485   - }
1486   - }
1487   - else if (sendFreq == SendFrequencyEnums.ONCE.getId())
1488   - {
1489   - Integer sendDateType = template.getSendDateType();
1490   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
1491   - Date sendDate = template.getSendDate();
1492   - //公历
1493   - if (sendDateType == SendDateEnums.GL.getId())
1494   - {
1495   - if (isGLPoint(sendDate, sendTimeType))
1496   - {
1497   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1498   - }
1499   - }
1500   - //农历
1501   - else if (sendDateType == SendDateEnums.NL.getId())
1502   - {
1503   - if (isNLPoint(sendDate, sendTimeType))
1504   - {
1505   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1506   - }
1507   - }
1508   - }
1509   - //产妇为分娩日期
1510   - else if (sendDateType == SendDateEnums.TSRQ.getId())
1511   - {
1512   - Integer specialDateType = template.getSpecialDateType();
1513   - if (specialDateType == SpecialDateEnums.FM.getId())
1514   - {
1515   - //分娩都为分娩后第二天发送短信
1516   - Date dueDate = DateUtil.addDay(new Date(),-1);
1517   - //把时间格式化成 yyyy_MM_dd 的日期
1518   - dueDate = DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(dueDate));
  1477 + }
  1478 + else if (sendFreq == SendFrequencyEnums.MONTH.getId())
  1479 + {
  1480 + Integer sendDateType = template.getSendDateType();
  1481 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
  1482 + Date sendDate = template.getSendDate();
  1483 + //公历
  1484 + if (sendDateType == SendDateEnums.GL.getId())
  1485 + {
  1486 + if (isGLMonth(sendDate, sendTimeType))
  1487 + {
  1488 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1489 + }
  1490 + }
  1491 + //农历
  1492 + else if (sendDateType == SendDateEnums.NL.getId())
  1493 + {
  1494 + if (isNLMonth(sendDate, sendTimeType))
  1495 + {
  1496 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1497 + }
  1498 + }
  1499 + }
  1500 + }
  1501 + else if (sendFreq == SendFrequencyEnums.ONCE.getId())
  1502 + {
  1503 + Integer sendDateType = template.getSendDateType();
  1504 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
  1505 + Date sendDate = template.getSendDate();
  1506 + //公历
  1507 + if (sendDateType == SendDateEnums.GL.getId())
  1508 + {
  1509 + if (isGLPoint(sendDate, sendTimeType))
  1510 + {
  1511 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1512 + }
  1513 + }
  1514 + //农历
  1515 + else if (sendDateType == SendDateEnums.NL.getId())
  1516 + {
  1517 + if (isNLPoint(sendDate, sendTimeType))
  1518 + {
  1519 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1520 + }
  1521 + }
  1522 + }
  1523 + //产妇为分娩日期
  1524 + else if (sendDateType == SendDateEnums.TSRQ.getId())
  1525 + {
  1526 + Integer specialDateType = template.getSpecialDateType();
  1527 + if (specialDateType == SpecialDateEnums.FM.getId())
  1528 + {
  1529 + //分娩都为分娩后第二天发送短信
  1530 + Date dueDate = DateUtil.addDay(new Date(),-1);
  1531 + //把时间格式化成 yyyy_MM_dd 的日期
  1532 + dueDate = DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(dueDate));
1519 1533  
1520   - patientsQuery.setDueDateStart(dueDate);
1521   - patientsQuery.setDueDateEnd(dueDate);
  1534 + patientsQuery.setDueDateStart(dueDate);
  1535 + patientsQuery.setDueDateEnd(dueDate);
1522 1536  
1523   - messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
1524   - }
  1537 + messages.addAll(getChanMessageRequestList(patientsQuery, config, template));
  1538 + }
1525 1539  
1526   - }
  1540 + }
1527 1541  
1528   - }
1529   - }
  1542 + }
  1543 + }
1530 1544  
1531   - list.setMessages(messages);
1532   - sendSms(list);
1533   - }
1534   - //全部发送对象
1535   - else if (serviceObj == ServiceObjEnums.ALLOBJ.getId())
1536   - {
1537   - PatientsQuery chanPatientsQuery = new PatientsQuery();
1538   - chanPatientsQuery.setYn(YnEnums.YES.getId());
1539   - //3产妇
1540   - chanPatientsQuery.setType(3);
1541   - chanPatientsQuery = getServicePatientQuery(serviceType, serviceStatus, chanPatientsQuery);
  1545 + list.setMessages(messages);
  1546 + sendSms(list);
  1547 + }
  1548 + //全部发送对象
  1549 + else if (serviceObj == ServiceObjEnums.ALLOBJ.getId())
  1550 + {
  1551 + PatientsQuery chanPatientsQuery = new PatientsQuery();
  1552 + chanPatientsQuery.setYn(YnEnums.YES.getId());
  1553 + //3产妇
  1554 + chanPatientsQuery.setType(3);
  1555 + getServicePatientQuery(serviceType, serviceStatus, chanPatientsQuery);
1542 1556  
1543 1557  
1544   - PatientsQuery yunPatientsQuery = new PatientsQuery();
1545   - yunPatientsQuery.setYn(YnEnums.YES.getId());
1546   - //1孕妇
1547   - yunPatientsQuery.setType(1);
1548   - yunPatientsQuery = getServicePatientQuery(serviceType, serviceStatus, yunPatientsQuery);
  1558 + PatientsQuery yunPatientsQuery = new PatientsQuery();
  1559 + yunPatientsQuery.setYn(YnEnums.YES.getId());
  1560 + //1孕妇
  1561 + yunPatientsQuery.setType(1);
  1562 + getServicePatientQuery(serviceType, serviceStatus, yunPatientsQuery);
1549 1563  
1550 1564  
1551   - BabyModelQuery babyModelQuery = new BabyModelQuery();
1552   - babyModelQuery.setYn(YnEnums.YES.getId());
1553   - babyModelQuery = getServiceBabyQuery(serviceType, serviceStatus, babyModelQuery);
  1565 + BabyModelQuery babyModelQuery = new BabyModelQuery();
  1566 + babyModelQuery.setYn(YnEnums.YES.getId());
  1567 + babyModelQuery = getServiceBabyQuery(serviceType, serviceStatus, babyModelQuery);
1554 1568  
1555   - //发送短信集合
1556   - MessageListRequest list = new MessageListRequest();
1557   - List<MessageRequest> messages = new ArrayList<>();
  1569 + //发送短信集合
  1570 + MessageListRequest list = new MessageListRequest();
  1571 + List<MessageRequest> messages = new ArrayList<>();
1558 1572  
1559 1573  
1560   - Integer sendFreq = template.getSendFrequency();
  1574 + Integer sendFreq = template.getSendFrequency();
1561 1575  
1562   - if (sendFreq == SendFrequencyEnums.YEAR.getId()) {
1563   - Integer sendDateType = template.getSendDateType();
1564   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
1565   - Date sendDate = template.getSendDate();
1566   - //公历
1567   - if (sendDateType == SendDateEnums.GL.getId())
1568   - {
1569   - if (isGLYear(sendDate, sendTimeType))
1570   - {
1571   - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
1572   - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
1573   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1574   - }
1575   - }
1576   - //农历
1577   - else if (sendDateType == SendDateEnums.NL.getId())
1578   - {
1579   - if (isNLYear(sendDate, sendTimeType))
1580   - {
1581   - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
1582   - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
1583   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1584   - }
1585   - }
1586   - }
1587   - }
1588   - else if (sendFreq == SendFrequencyEnums.MONTH.getId())
1589   - {
1590   - Integer sendDateType = template.getSendDateType();
1591   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
1592   - Date sendDate = template.getSendDate();
1593   - //公历
1594   - if (sendDateType == SendDateEnums.GL.getId())
1595   - {
1596   - if (isGLMonth(sendDate, sendTimeType))
1597   - {
1598   - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
1599   - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
1600   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1601   - }
1602   - }
1603   - //农历
1604   - else if (sendDateType == SendDateEnums.NL.getId())
1605   - {
1606   - if (isNLMonth(sendDate, sendTimeType))
1607   - {
1608   - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
1609   - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
1610   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1611   - }
1612   - }
1613   - }
1614   - }
1615   - else if (sendFreq == SendFrequencyEnums.ONCE.getId())
1616   - {
1617   - Integer sendDateType = template.getSendDateType();
1618   - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
1619   - Date sendDate = template.getSendDate();
1620   - //公历
1621   - if (sendDateType == SendDateEnums.GL.getId())
1622   - {
1623   - if (isGLPoint(sendDate, sendTimeType))
1624   - {
1625   - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
1626   - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
1627   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1628   - }
1629   - }
1630   - //农历
1631   - else if (sendDateType == SendDateEnums.NL.getId())
1632   - {
1633   - if (isNLPoint(sendDate, sendTimeType))
1634   - {
1635   - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
1636   - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
1637   - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
1638   - }
1639   - }
1640   - }
1641   - }
1642   - list.setMessages(messages);
1643   - sendSms(list);
1644   - }
  1576 + if (sendFreq == SendFrequencyEnums.YEAR.getId()) {
  1577 + Integer sendDateType = template.getSendDateType();
  1578 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
  1579 + Date sendDate = template.getSendDate();
  1580 + //公历
  1581 + if (sendDateType == SendDateEnums.GL.getId())
  1582 + {
  1583 + if (isGLYear(sendDate, sendTimeType))
  1584 + {
  1585 + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
  1586 + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
  1587 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1588 + }
  1589 + }
  1590 + //农历
  1591 + else if (sendDateType == SendDateEnums.NL.getId())
  1592 + {
  1593 + if (isNLYear(sendDate, sendTimeType))
  1594 + {
  1595 + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
  1596 + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
  1597 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1598 + }
  1599 + }
  1600 + }
  1601 + }
  1602 + else if (sendFreq == SendFrequencyEnums.MONTH.getId())
  1603 + {
  1604 + Integer sendDateType = template.getSendDateType();
  1605 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
  1606 + Date sendDate = template.getSendDate();
  1607 + //公历
  1608 + if (sendDateType == SendDateEnums.GL.getId())
  1609 + {
  1610 + if (isGLMonth(sendDate, sendTimeType))
  1611 + {
  1612 + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
  1613 + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
  1614 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1615 + }
  1616 + }
  1617 + //农历
  1618 + else if (sendDateType == SendDateEnums.NL.getId())
  1619 + {
  1620 + if (isNLMonth(sendDate, sendTimeType))
  1621 + {
  1622 + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
  1623 + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
  1624 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1625 + }
  1626 + }
  1627 + }
  1628 + }
  1629 + else if (sendFreq == SendFrequencyEnums.ONCE.getId())
  1630 + {
  1631 + Integer sendDateType = template.getSendDateType();
  1632 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) {
  1633 + Date sendDate = template.getSendDate();
  1634 + //公历
  1635 + if (sendDateType == SendDateEnums.GL.getId())
  1636 + {
  1637 + if (isGLPoint(sendDate, sendTimeType))
  1638 + {
  1639 + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
  1640 + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
  1641 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1642 + }
  1643 + }
  1644 + //农历
  1645 + else if (sendDateType == SendDateEnums.NL.getId())
  1646 + {
  1647 + if (isNLPoint(sendDate, sendTimeType))
  1648 + {
  1649 + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template));
  1650 + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template));
  1651 + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template));
  1652 + }
  1653 + }
  1654 + }
  1655 + }
  1656 + list.setMessages(messages);
  1657 + sendSms(list);
  1658 + }
  1659 + }
  1660 +
  1661 + }
1645 1662 }
1646 1663  
  1664 +
  1665 +
1647 1666 for (MessageRequest msg :allMsgs)
1648 1667 {
1649 1668 System.out.println("=======" + msg.getContent());
... ... @@ -1710,7 +1729,7 @@
1710 1729 * @param patientsQuery
1711 1730 * @return
1712 1731 */
1713   - private PatientsQuery getServicePatientQuery(Integer serviceType,Integer serviceStatus,PatientsQuery patientsQuery)
  1732 + private void getServicePatientQuery(Integer serviceType,Integer serviceStatus,PatientsQuery patientsQuery)
1714 1733 {
1715 1734 //所有服务类型
1716 1735 if (serviceType == ServiceTypeEnums.ALL_SERVICE.getId())
... ... @@ -1749,7 +1768,6 @@
1749 1768 patientsQuery.setServiceStatus(serviceStatus);
1750 1769 }
1751 1770 }
1752   - return patientsQuery;
1753 1771 }
1754 1772  
1755 1773 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java View file @ 21447c8
... ... @@ -287,6 +287,13 @@
287 287 List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
288 288  
289 289 if (CollectionUtils.isNotEmpty(models)) {
  290 +
  291 + PersonModelQuery personModelQuery = new PersonModelQuery();
  292 + personModelQuery.setYn(YnEnums.YES.getId());
  293 + personModelQuery.setId(model.getPid());
  294 +
  295 + List<PersonModel> personModels = personService.queryPersons(personModelQuery);
  296 +
290 297 int len = models.size();
291 298 String[] buildIds = new String[len];
292 299 for(int i = 0;i < len ; i++)
293 300  
... ... @@ -294,10 +301,9 @@
294 301 buildIds[i] = models.get(i).getId();
295 302 }
296 303  
297   - getBabyCheckList(buildIds, model, list);
  304 + getBabyCheckList(buildIds, personModels.get(0), list);
298 305 }
299 306  
300   -
301 307 resMap.put("baseInfo", base);
302 308 resMap.put("checkList", list);
303 309 br.setData(resMap);
304 310  
305 311  
306 312  
... ... @@ -307,19 +313,28 @@
307 313 return br;
308 314 }
309 315  
310   - public void getBabyCheckList(String[] ids, BabyModel model, List<Map<String, String>> list) {
  316 + public void getBabyCheckList(String[] ids, PersonModel personModel, List<Map<String, String>> list) {
311 317 List<BabyCheckModel> checkModels;
312   - if (model != null) {
  318 + if (personModel != null) {
313 319 BabyCheckModelQuery query = new BabyCheckModelQuery();
314 320 query.setYn(YnEnums.YES.getId());
315 321 query.setBuildIds(ids);
316 322 //查询儿童的检查记录
317 323 checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC);
318   - Date babyBirth = model.getBirth();
  324 + Date babyBirth = personModel.getBirth();
319 325 if (CollectionUtils.isNotEmpty(checkModels))
320 326 {
321 327  
322 328 for (BabyCheckModel cmodel : checkModels) {
  329 +
  330 + BabyModelQuery babyQuery = new BabyModelQuery();
  331 + babyQuery.setId(cmodel.getBuildId());
  332 + babyQuery.setYn(YnEnums.YES.getId());
  333 +
  334 + //查询儿童的基本信息
  335 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  336 +
  337 +
323 338 Map<String, String> checkRecord = new HashMap<>();
324 339 Date checkDate = cmodel.getCheckDate();
325 340 String monthAge = "";
326 341  
... ... @@ -334,9 +349,9 @@
334 349 checkRecord.put("buildId", cmodel.getBuildId());
335 350 checkRecord.put("type","2");
336 351  
337   - checkRecord.put("hospitalId",model.getHospitalId());
  352 + checkRecord.put("hospitalId", models.get(0).getHospitalId());
338 353 //查询建档医院
339   - Organization org = organizationService.getOrganization(Integer.valueOf(model.getHospitalId()));
  354 + Organization org = organizationService.getOrganization(Integer.valueOf(models.get(0).getHospitalId()));
340 355 if (org != null) {
341 356 checkRecord.put("hospitalName", org.getName());
342 357 } else {