Commit 846f7f8a45bc42bfb7ae1d6e3a1a8f94edb5cb36

Authored by jiangjiazhi

Merge remote-tracking branch 'origin/master'

Showing 14 changed files

platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java View file @ 846f7f8
... ... @@ -14,12 +14,14 @@
14 14 //服务类型(1-高危精准指导、2-体重、3-血糖、4-血压、5-专家咨询)
15 15 public enum SerTypeEnums {
16 16 bzfw(6, "标准服务"),
17   - yqjzzd(1, "精准医疗指导"),
  17 + yqjzzd(1, "孕期精准医疗指导"),
18 18 tz(2, "体重管理"),
19 19 xt(3, "血糖管理"),
20 20 xy(4, "血压管理"),
21 21 zjzx(5, "专家咨询"),
22   - tw(7, "体温管理");
  22 + tw(7, "体温管理"),
  23 + babyjzzz(10,"精准医疗指导"),
  24 + babyBzfw(11,"标准服务");
23 25 private Integer id;
24 26 private String title;
25 27  
... ... @@ -54,6 +56,7 @@
54 56 }
55 57 }
56 58  
  59 +
57 60 //服务状态(1-开通、2-退订、3-过期、4-暂停)
58 61 public enum SerStatusEnums {
59 62 kt(1, "开通"),
60 63  
61 64  
62 65  
... ... @@ -98,24 +101,26 @@
98 101 public static List getBabySerType() {
99 102 List<Object> list = new ArrayList<>();
100 103 Map<String, Object> resultMap = new HashMap<>();
101   - resultMap.put("id", SerTypeEnums.bzfw.id);
102   - resultMap.put("name", SerTypeEnums.bzfw.getTitle());
  104 + resultMap.put("id", SerTypeEnums.babyBzfw.id);
  105 + resultMap.put("name", SerTypeEnums.babyBzfw.getTitle());
103 106 list.add(resultMap);
104 107 Map<String, Object> resultMap2 = new HashMap<>();
105   - resultMap2.put("id", SerTypeEnums.yqjzzd.id);
106   - resultMap2.put("name", SerTypeEnums.yqjzzd.getTitle());
  108 + resultMap2.put("id", SerTypeEnums.babyjzzz.id);
  109 + resultMap2.put("name", SerTypeEnums.babyjzzz.getTitle());
107 110 list.add(resultMap2);
108 111 return list;
109 112 }
110 113  
111   - //全部服务类型
  114 + //孕妇服务类型
112 115 public static List getSerType() {
113 116 List<Object> list = new ArrayList<>();
114 117 for (SerTypeEnums enums : SerTypeEnums.values()) {
115   - Map<String, Object> resultMap = new HashMap<>();
116   - resultMap.put("id", enums.getId());
117   - resultMap.put("name", enums.getTitle());
118   - list.add(resultMap);
  118 + if(enums.getId()<10){
  119 + Map<String, Object> resultMap = new HashMap<>();
  120 + resultMap.put("id", enums.getId());
  121 + resultMap.put("name", enums.getTitle());
  122 + list.add(resultMap);
  123 + }
119 124 }
120 125 return list;
121 126 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java View file @ 846f7f8
... ... @@ -147,6 +147,7 @@
147 147 }
148 148  
149 149 /**
  150 + * 儿童建档服务数据处理
150 151 * @param isSkip 是否增量添加 true:增量添加
151 152 * @return
152 153 */
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ 846f7f8
... ... @@ -726,19 +726,31 @@
726 726  
727 727 operateLogFacade.addAddOptLog(userId, Integer.valueOf(request.getHospitalId()), model, OptActionEnums.ADD.getId(), "儿童建档");
728 728 model = babyBookbuildingService.addBabyBookbuilding(model);
729   - if (model == null || model.getId() == null) {
  729 +
  730 + final String bId = model.getId();
  731 + if (model == null || bId == null) {
730 732 br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
731 733 br.setErrormsg("保存失败");
732 734 return br;
733 735 }
734   - //创建建档短信
735   - //createBuildSms(model);
736   -
737   - createBuildMsg(model);
738   -
  736 + //创建建档短信、推送/业务推广
  737 + new Thread(new Runnable() {
  738 + @Override
  739 + public void run() {
  740 + BabyModelQuery babyQuery = new BabyModelQuery();
  741 + babyQuery.setYn(YnEnums.YES.getId());
  742 + babyQuery.setId(bId);
  743 + List<BabyModel> list = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  744 + if (CollectionUtils.isNotEmpty(list))
  745 + {
  746 + createBuildMsg(list.get(0));
  747 + createExtensionMsg(list.get(0));
  748 + }
  749 + }
  750 + }).start();
739 751 br.setErrorcode(ErrorCodeConstants.SUCCESS);
740 752 br.setErrormsg("成功");
741   - br.setData(model.getId());
  753 + br.setData(bId);
742 754 }
743 755 catch (Exception e)
744 756 {
745 757  
... ... @@ -756,13 +768,12 @@
756 768  
757 769 //判断医院是否启动和对应的服务项是否启用
758 770 SmsConfigModel configModel = new SmsConfigModel();
  771 + // 1 推送服务, 2 推送和短信服务 3短信服务,
759 772 int startType = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId());
760 773 if (startType == 0) {
761 774 return;
762 775 }
763 776  
764   - ExceptionUtils.catchException("The child build config is started.;" + babyModel.getMphone() + ";name=" + babyModel.getName());
765   -
766 777 SmsTemplateQuery query = new SmsTemplateQuery();
767 778 query.setYn(YnEnums.YES.getId());
768 779 query.setStatus(1);
769 780  
770 781  
771 782  
772 783  
773 784  
774 785  
775 786  
776 787  
777 788  
778 789  
779 790  
780 791  
781 792  
782 793  
783 794  
784 795  
785 796  
786 797  
787 798  
788 799  
789 800  
790 801  
791 802  
... ... @@ -770,284 +781,139 @@
770 781 query.setServiceObj(ServiceObjEnums.BABYOBJ.getId());
771 782 query.setSpecialDateType(SpecialDateEnums.JD.getId());
772 783  
  784 + //获取建档的模板(包括推送模板、短信模板)
  785 + List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
  786 +
773 787 Integer serviceType = babyModel.getServiceType();
774 788 Integer serviceStatus = babyModel.getServiceStatus();
775   - List<SmsTemplateModel> sendList = new ArrayList<>();
776   - List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
777   - if (CollectionUtils.isNotEmpty(temps)) {
778 789  
779   - for (SmsTemplateModel temp : temps) {
780   - if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
781   - sendList.add(temp);
782   - break;
783   - }
784   - }
  790 + //根据服务状态和服务类型获取可以发送的模板
  791 + List<SmsTemplateModel> sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps,serviceType,serviceStatus);
785 792  
786   - for (SmsTemplateModel temp : temps) {
787   - if (temp.getServiceStatus() == ServiceStatusEnums.STANDARD_ALL.getId()) {
788   - if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId()) {
789   - sendList.add(temp);
790   - break;
  793 + if (CollectionUtils.isNotEmpty(sendList)) {
  794 + //短信前缀
  795 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId());
  796 + for (SmsTemplateModel templateModel : sendList) {
  797 + //推送类型模板
  798 + if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0)
  799 + {
  800 + //发送推送类模板建档
  801 + if (startType == 3)
  802 + {
  803 + continue;
791 804 }
792 805 }
793   - }
794   -
795   - for (SmsTemplateModel temp : temps) {
796   - if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) {
797   - if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()
798   - || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) {
799   - sendList.add(temp);
800   - break;
801   - }
  806 + //发送短信类模板建档
  807 + else if(templateModel.getTemplateType() == 1 && startType == 1)
  808 + {
  809 + continue;
802 810 }
803   - }
804 811  
  812 + List<MsgRequest> messages = new ArrayList<>();
  813 + MsgRequest mr = new MsgRequest();
805 814  
806   - for (SmsTemplateModel temp : temps) {
807   - if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) {
808   - if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) {
809   - sendList.add(temp);
810   - break;
811   - }
812   - }
813   - }
  815 + String content = "【" + messagePrefix + "】" + templateModel.getContent();
814 816  
  817 + mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content));
  818 + mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
  819 + mr.setPhone(babyModel.getMphone());
  820 + mr.setTypeId(ProjectTypeEnums.YNXT.getId());
  821 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  822 + mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
  823 + mr.setStatus(SmsStatusEnums.WFS.getId());
  824 + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
815 825  
816   - for (SmsTemplateModel temp : temps) {
817   - if (temp.getServiceStatus() == ServiceStatusEnums.ALL_NO_OPEN.getId()) {
818   - if (serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()) {
819   - sendList.add(temp);
820   - break;
821   - }
822   - }
823   - }
  826 + mr.setHospitalId(babyModel.getHospitalId());
  827 + mr.setTempId(templateModel.getId());
  828 + mr.setPatientId(babyModel.getId());
824 829  
  830 + mr.setKeyword1(babyModel.getName());
  831 + mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
  832 + mr.setRemark("");
  833 + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
  834 + mr.setSmsStatus(SmsStatusEnums.WFS.getId());
  835 + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3);
825 836  
826   - for (SmsTemplateModel temp : temps) {
827   - if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) {
828   - if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) {
829   - sendList.add(temp);
830   - break;
831   - }
  837 + mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId());
  838 + messages.add(mr);
  839 + ExceptionUtils.catchException("child build msg = " + mr);
  840 + if (CollectionUtils.isNotEmpty(messages)) {
  841 + smsConfigFacade.saveMsg(messages, babyModel.getHospitalId());
832 842 }
833 843 }
  844 + }
  845 + }
834 846  
835 847  
836   - for (SmsTemplateModel temp : temps) {
837   - if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) {
838   - sendList.add(temp);
839   - break;
840   - }
841   - }
842 848  
843   - if (CollectionUtils.isNotEmpty(sendList)) {
844   - //短信前缀
845   - String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId());
846   - for (SmsTemplateModel templateModel : sendList) {
847   - if (templateModel != null && templateModel.getStatus() == 1) {
848   - ExceptionUtils.catchException("The child build status is opened.;" + babyModel.getMphone() + ";name=" + babyModel.getName());
849   - MsgListRequest smsList = new MsgListRequest();
850   - List<MsgRequest> messages = new ArrayList<>();
851   - MsgRequest mr = new MsgRequest();
852   - String content = "【" + messagePrefix + "】" + templateModel.getContent();
  849 + /**
  850 + * 创建业务推广短信
  851 + */
  852 + private void createExtensionMsg(BabyModel babyModel) {
853 853  
  854 + //判断医院是否启动和对应的服务项是否启用
  855 + SmsConfigModel configModel = new SmsConfigModel();
  856 + int startType = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.YWTG.getId());
  857 + if (startType == 0) {
  858 + return;
  859 + }
854 860  
855   - mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content));
856   - mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
857   - mr.setPhone(babyModel.getMphone());
858   - mr.setTypeId(ProjectTypeEnums.YNXT.getId());
859   - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
860   - mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
861   - mr.setStatus(SmsStatusEnums.WFS.getId());
862   - mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
  861 + SmsTemplateQuery query = new SmsTemplateQuery();
  862 + query.setYn(YnEnums.YES.getId());
  863 + query.setStatus(1);
  864 + query.setHospitalId(babyModel.getHospitalId());
  865 + query.setServiceObj(ServiceObjEnums.BABYOBJ.getId());
  866 + query.setSpecialDateType(SpecialDateEnums.ETFWTG.getId());
863 867  
864   - mr.setHospitalId(babyModel.getHospitalId());
865   - mr.setTempId(templateModel.getId());
866   - mr.setPatientId(babyModel.getId());
  868 + Integer serviceType = babyModel.getServiceType();
  869 + Integer serviceStatus = babyModel.getServiceStatus();
867 870  
868   - mr.setKeyword1(babyModel.getName());
869   - mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
870   - mr.setRemark("");
871   - mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
872   - mr.setSmsStatus(SmsStatusEnums.WFS.getId());
873   - mr.setServiceType(startType);
  871 + List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
  872 + List<SmsTemplateModel> sendList =smsConfigFacade.getSendTemplateByServiceStatus(temps,serviceType,serviceStatus);
874 873  
  874 + if (CollectionUtils.isNotEmpty(sendList)) {
  875 + //短信前缀
  876 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId());
  877 + for (SmsTemplateModel templateModel : sendList) {
  878 + if (templateModel != null && templateModel.getStatus() == 1) {
875 879  
876   - mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId());
877   - messages.add(mr);
  880 + List<MsgRequest> messages = new ArrayList<>();
  881 + MsgRequest mr = new MsgRequest();
  882 + String content = "【" + messagePrefix + "】" + templateModel.getContent();
878 883  
879   - if (CollectionUtils.isNotEmpty(messages)) {
880   - smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
881   - smsList.setMessages(messages);
882   - if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION))
883   - {
884   - //秦皇岛、威县建档
885   - if (syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), babyModel.getHospitalId())) {
886   - ExceptionUtils.catchException("The child build is saved.;" + babyModel.getMphone() + ";name=" + babyModel.getName());
887   - }
888   - }
889   - else
890   - {
891   - //线上
892   - MessageCenterService.saveMsgCenter(smsList);
893   - ExceptionUtils.catchException("The child build is saved." + babyModel.getMphone() + ";name=" + babyModel.getName());
894   - }
895   - }
  884 + mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content));
  885 + mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
  886 + mr.setPhone(babyModel.getMphone());
  887 + mr.setTypeId(ProjectTypeEnums.YNXT.getId());
  888 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  889 + mr.setSubTypeId(SmsServiceEnums.YWTG.getId()); //业务推广
  890 + mr.setStatus(SmsStatusEnums.WFS.getId());
  891 + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
  892 +
  893 + mr.setHospitalId(babyModel.getHospitalId());
  894 + mr.setTempId(templateModel.getId());
  895 + mr.setPatientId(babyModel.getId());
  896 +
  897 + mr.setKeyword1(babyModel.getName());
  898 + mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
  899 + mr.setRemark("");
  900 + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
  901 + mr.setSmsStatus(SmsStatusEnums.WFS.getId());
  902 + mr.setServiceType(startType);
  903 +
  904 + mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId());
  905 + messages.add(mr);
  906 +
  907 + if (CollectionUtils.isNotEmpty(messages)) {
  908 + smsConfigFacade.saveMsg(messages,babyModel.getHospitalId());
896 909 }
897 910 }
898 911 }
899   -
900   -
901 912 }
902 913 }
903 914  
904 915  
905 916 /**
906   - * 创建建档短信
907   - */
908   -// public void createBuildSms(BabyModel babyModel) {
909   -//
910   -// //判断医院是否启动和对应的服务项是否启用
911   -// SmsConfigModel configModel = new SmsConfigModel();
912   -// BaseResponse response = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId());
913   -// if (response != null) {
914   -// return;
915   -// }
916   -//
917   -// ExceptionUtils.catchException("儿童建档1---------->" + babyModel.getMphone() + ";name=" + babyModel.getName());
918   -//
919   -// SmsTemplateQuery query = new SmsTemplateQuery();
920   -// query.setYn(YnEnums.YES.getId());
921   -// query.setStatus(1);
922   -// query.setHospitalId(babyModel.getHospitalId());
923   -// query.setServiceObj(ServiceObjEnums.BABYOBJ.getId());
924   -// query.setSpecialDateType(SpecialDateEnums.JD.getId());
925   -//
926   -// Integer serviceType = babyModel.getServiceType();
927   -// Integer serviceStatus = babyModel.getServiceStatus();
928   -// List<SmsTemplateModel> sendList = new ArrayList<>();
929   -// List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
930   -// if (CollectionUtils.isNotEmpty(temps)) {
931   -//
932   -// for (SmsTemplateModel temp : temps) {
933   -// if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
934   -// sendList.add(temp);
935   -// break;
936   -// }
937   -// }
938   -//
939   -// for (SmsTemplateModel temp : temps) {
940   -// if (temp.getServiceStatus() == ServiceStatusEnums.STANDARD_ALL.getId()) {
941   -// if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId()) {
942   -// sendList.add(temp);
943   -// break;
944   -// }
945   -// }
946   -// }
947   -//
948   -// for (SmsTemplateModel temp : temps) {
949   -// if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) {
950   -// if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()
951   -// || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) {
952   -// sendList.add(temp);
953   -// break;
954   -// }
955   -// }
956   -// }
957   -//
958   -//
959   -// for (SmsTemplateModel temp : temps) {
960   -// if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) {
961   -// if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) {
962   -// sendList.add(temp);
963   -// break;
964   -// }
965   -// }
966   -// }
967   -//
968   -//
969   -// for (SmsTemplateModel temp : temps) {
970   -// if (temp.getServiceStatus() == ServiceStatusEnums.ALL_NO_OPEN.getId()) {
971   -// if (serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()) {
972   -// sendList.add(temp);
973   -// break;
974   -// }
975   -// }
976   -// }
977   -//
978   -//
979   -// for (SmsTemplateModel temp : temps) {
980   -// if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) {
981   -// if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) {
982   -// sendList.add(temp);
983   -// break;
984   -// }
985   -// }
986   -// }
987   -//
988   -//
989   -// for (SmsTemplateModel temp : temps) {
990   -// if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) {
991   -// sendList.add(temp);
992   -// break;
993   -// }
994   -// }
995   -//
996   -// if (CollectionUtils.isNotEmpty(sendList)) {
997   -//
998   -//
999   -// //短信前缀
1000   -// String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, babyModel.getBuildDoctor());
1001   -// for (SmsTemplateModel templateModel : sendList) {
1002   -// if (templateModel != null && templateModel.getStatus() == 1) {
1003   -// ExceptionUtils.catchException("儿童建档2---------->"+babyModel.getMphone()+";name="+babyModel.getName());
1004   -// MsgListRequest smsList = new MsgListRequest();
1005   -// List<MsgRequest> messages = new ArrayList<>();
1006   -// MsgRequest mr = new MsgRequest();
1007   -// String content = "【" + messagePrefix + "】" + templateModel.getContent();
1008   -// mr.setContent(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content));
1009   -// mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
1010   -// mr.setPhone(babyModel.getMphone());
1011   -// //短信商
1012   -// mr.setServiceType(SmsProviderEnums.YM.getId());
1013   -// mr.setTypeId(ProjectTypeEnums.YNXT.getId());
1014   -// mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
1015   -// mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
1016   -// mr.setStatus(SmsStatusEnums.WFS.getId());
1017   -// mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
1018   -//
1019   -// mr.setExt1(babyModel.getHospitalId());
1020   -// mr.setExt2(templateModel.getId());
1021   -// mr.setExt3(babyModel.getId());
1022   -// messages.add(mr);
1023   -//
1024   -// if (CollectionUtils.isNotEmpty(messages)) {
1025   -// smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
1026   -// smsList.setMessages(messages);
1027   -// if ("4".equals(HIS_VERSION))
1028   -// {
1029   -// //秦皇岛建档
1030   -// if (syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getExt1())) {
1031   -// ExceptionUtils.catchException("儿童建档3---------->"+babyModel.getMphone()+";name="+babyModel.getName());
1032   -// }
1033   -// }
1034   -// else
1035   -// {
1036   -// //线上
1037   -// MessageCenterService.saveSmsCenter(smsList);
1038   -// ExceptionUtils.catchException("儿童建档3---------->" + babyModel.getMphone() + ";name=" + babyModel.getName());
1039   -// }
1040   -// }
1041   -// }
1042   -// }
1043   -// }
1044   -//
1045   -//
1046   -// }
1047   -// }
1048   -
1049   -
1050   - /**
1051 917 * 准备修改和添加的孕妇建档数据
1052 918 *
1053 919 * @param request
1054 920  
... ... @@ -1182,10 +1048,10 @@
1182 1048 if (CollectionUtils.isNotEmpty(b.getSerInfos())) {
1183 1049 for (Map<String, String> serInfo : b.getSerInfos()) {
1184 1050 //标准服务
1185   - if (Integer.parseInt(serInfo.get("serType")) == PatientSerEnums.SerTypeEnums.bzfw.getId()) {
  1051 + if (Integer.parseInt(serInfo.get("serType")) == PatientSerEnums.SerTypeEnums.babyBzfw.getId()) {
1186 1052 bm.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
1187 1053 bm.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId());
1188   - }else if(Integer.parseInt(serInfo.get("serType")) == PatientSerEnums.SerTypeEnums.yqjzzd.getId()){//增值服务:修改为孕期精准指导
  1054 + }else if(Integer.parseInt(serInfo.get("serType")) == PatientSerEnums.SerTypeEnums.babyjzzz.getId()){//增值服务:修改为孕期精准指导
1189 1055 bm.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
1190 1056 bm.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
1191 1057 break;
... ... @@ -2347,7 +2213,6 @@
2347 2213 sendModels = getBabayListByCondition(request.getRequest(), false, babyQuery);
2348 2214 }
2349 2215  
2350   - MsgListRequest smsList = new MsgListRequest();
2351 2216 List<MsgRequest> messages = new ArrayList<>();
2352 2217  
2353 2218 if (CollectionUtils.isNotEmpty(sendModels)) {
... ... @@ -2392,21 +2257,7 @@
2392 2257 }
2393 2258  
2394 2259 if (CollectionUtils.isNotEmpty(messages)) {
2395   - smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
2396   - smsList.setMessages(messages);
2397   - //调用发送接口
2398   - if ("4".equals(HIS_VERSION))
2399   - {
2400   - //秦皇岛
2401   - //保存到同步表中
2402   - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId());
2403   - }
2404   - else
2405   - {
2406   - //保存到短信中心 线上
2407   - MessageCenterService.saveMsgCenter(smsList);
2408   - }
2409   -
  2260 + smsConfigFacade.saveMsg(messages,messages.get(0).getHospitalId());
2410 2261 }
2411 2262 BaseResponse objectResponse = new BaseResponse();
2412 2263 objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java View file @ 846f7f8
... ... @@ -576,44 +576,37 @@
576 576 query.setServiceObj(ServiceObjEnums.YUNOBJ.getId());
577 577 query.setSpecialDateType(SpecialDateEnums.JD.getId());
578 578  
  579 + List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
  580 +
579 581 Integer serviceType = patient.getServiceType();
580 582 Integer serviceStatus = patient.getServiceStatus();
581 583  
582   - List<SmsTemplateModel> sendList = new ArrayList<>();
  584 + //根据服务状态和服务类型获取可以发送的模板
  585 + List<SmsTemplateModel> sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps, serviceType, serviceStatus);
583 586  
584   - List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
585 587 if (CollectionUtils.isNotEmpty(temps)) {
586   -
587   - for (SmsTemplateModel temp : temps) {
588   - if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
589   - sendList.add(temp);
590   - } else if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
591   - sendList.add(temp);
592   - } else if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) {
593   - if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()
594   - || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) {
595   - sendList.add(temp);
596   - }
597   - } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) {
598   - if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) {
599   - sendList.add(temp);
600   - }
601   - } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) {
602   - if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) {
603   - sendList.add(temp);
604   - }
605   - } else if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) {
606   - sendList.add(temp);
607   - }
608   - }
609   -
610 588 if (CollectionUtils.isNotEmpty(sendList)) {
611 589  
612 590 //短信前缀
613 591 String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, patient.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId());
614 592 for (SmsTemplateModel templateModel : sendList) {
615 593 if (templateModel != null && templateModel.getStatus() == 1) {
616   - MsgListRequest smsList = new MsgListRequest();
  594 +
  595 + //推送类型模板
  596 + if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0)
  597 + {
  598 + //发送推送类模板建档
  599 + if (startType == 3)
  600 + {
  601 + continue;
  602 + }
  603 + }
  604 + //发送短信类模板建档
  605 + else if(templateModel.getTemplateType() == 1 && startType == 1)
  606 + {
  607 + continue;
  608 + }
  609 +
617 610 List<MsgRequest> messages = new ArrayList<>();
618 611 MsgRequest mr = new MsgRequest();
619 612 Date dueDate = DateUtil.addMonth(patient.getLastMenses(), 9);
620 613  
... ... @@ -632,9 +625,8 @@
632 625 mr.setTempId(templateModel.getId());
633 626 mr.setPatientId(patient.getId());
634 627 mr.setSmsStatus(SmsStatusEnums.WFS.getId());
635   - mr.setServiceType(startType);
  628 + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); //判断发送类型
636 629  
637   -
638 630 mr.setKeyword1(patient.getUsername());
639 631 mr.setKeyword2(DateUtil.getyyyy_MM_dd(dueDate));
640 632 mr.setRemark("");
641 633  
... ... @@ -645,144 +637,12 @@
645 637 messages.add(mr);
646 638 ExceptionUtils.catchException("patient build msg = " + messages);
647 639 if (CollectionUtils.isNotEmpty(messages)) {
648   - smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
649   - smsList.setMessages(messages);
650   - //调用发送接口
651   - if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION)) {
652   - //秦皇岛
653   - //保存到同步表中
654   - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId());
655   - } else {
656   - //保存到短信中心 线上
657   - MessageCenterService.saveMsgCenter(smsList);
658   - }
  640 + smsConfigFacade.saveMsg(messages,patient.getHospitalId());
659 641 }
660 642 }
661 643 }
662 644 }
663 645 }
664   - }
665   -
666   -
667   - /**
668   - * 创建孕妇建档短信
669   - */
670   - private void createBuildSms(Patients patient) {
671   -
672   - //判断医院是否启动和对应的服务项是否启用
673   - SmsConfigModel configModel = new SmsConfigModel();
674   - int startType = smsConfigFacade.hospitalIsStart(patient.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId());
675   - if (startType == 0) {
676   - return;
677   - }
678   -
679   - SmsTemplateQuery query = new SmsTemplateQuery();
680   - query.setYn(YnEnums.YES.getId());
681   - query.setStatus(1);
682   - query.setHospitalId(patient.getHospitalId());
683   - query.setServiceObj(ServiceObjEnums.YUNOBJ.getId());
684   - query.setSpecialDateType(SpecialDateEnums.JD.getId());
685   -
686   - Integer serviceType = patient.getServiceType();
687   - Integer serviceStatus = patient.getServiceStatus();
688   -
689   - List<SmsTemplateModel> sendList = new ArrayList<>();
690   -
691   - List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
692   - if (CollectionUtils.isNotEmpty(temps)) {
693   -
694   - for (SmsTemplateModel temp : temps) {
695   - if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
696   - sendList.add(temp);
697   - } else if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
698   - sendList.add(temp);
699   - } else if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) {
700   - if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()
701   - || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) {
702   - sendList.add(temp);
703   - }
704   - } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) {
705   - if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) {
706   - sendList.add(temp);
707   - }
708   - } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) {
709   - if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) {
710   - sendList.add(temp);
711   - }
712   - } else if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) {
713   - sendList.add(temp);
714   - }
715   - }
716   -
717   - if (CollectionUtils.isNotEmpty(sendList)) {
718   -
719   - //短信前缀
720   - String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, patient.getBookbuildingDoctor());
721   - for (SmsTemplateModel templateModel : sendList) {
722   - if (templateModel != null && templateModel.getStatus() == 1) {
723   - MessageListRequest smsList = new MessageListRequest();
724   - List<MessageRequest> messages = new ArrayList<>();
725   - MessageRequest mr = new MessageRequest();
726   - Date dueDate = DateUtil.addDay(patient.getLastMenses(), 7);
727   - dueDate = DateUtil.addMonth(dueDate, 9);
728   - String content = StringUtils.replaceEL(patient.getUsername(), dueDate, templateModel.getContent());
729   -
730   - mr.setContent("【" + messagePrefix + "】" + content);
731   - mr.setObjType(ServiceObjEnums.YUNOBJ.getId());
732   - mr.setPhone(patient.getPhone());
733   - mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
734   - //短信商
735   - mr.setServiceType(SmsProviderEnums.YM.getId());
736   - mr.setTypeId(ProjectTypeEnums.YNXT.getId());
737   - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
738   - mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
739   - mr.setStatus(SmsStatusEnums.WFS.getId());
740   - mr.setExt1(patient.getHospitalId());
741   - mr.setExt2(templateModel.getId());
742   - mr.setExt3(patient.getId());
743   - messages.add(mr);
744   -
745   - if (CollectionUtils.isNotEmpty(messages)) {
746   - smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
747   - smsList.setMessages(messages);
748   - //调用发送接口
749   -
750   - ExceptionUtils.catchException("patient build msg = " + messages);
751   - if ("4".equals(HIS_VERSION)) {
752   - //秦皇岛
753   - //保存到同步表中
754   - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getExt1());
755   - } else {
756   - //保存到短信中心 线上
757   - MessageCenterService.saveSmsCenter(smsList);
758   - }
759   - }
760   - }
761   - }
762   - }
763   - }
764   - }
765   -
766   -
767   - /**
768   - * 判断对应服务是否启动
769   - */
770   - private boolean isStartService(Integer smsType, String serviceStr) {
771   - if (StringUtils.isEmpty(serviceStr)) {
772   - return false;
773   - }
774   - //消息服务启动
775   - List<Map> smsServices = JsonUtil.toList(serviceStr, Map.class);
776   -
777   - if (CollectionUtils.isNotEmpty(smsServices)) {
778   - for (Map map : smsServices) {
779   - String status = String.valueOf(map.get(String.valueOf(smsType)));
780   - if ("true".equals(status)) {
781   - return true;
782   - }
783   - }
784   - }
785   - return false;
786 646 }
787 647  
788 648 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java View file @ 846f7f8
... ... @@ -768,7 +768,6 @@
768 768 return objectResponse;
769 769 }
770 770  
771   - MsgListRequest smsList = new MsgListRequest();
772 771 List<MsgRequest> messages = new ArrayList<>();
773 772 List<Patients> sendModels = new ArrayList<>();
774 773 if (CollectionUtils.isNotEmpty(patientGuideSmsRequest.getIds())) {
... ... @@ -821,17 +820,7 @@
821 820 }
822 821  
823 822 if (CollectionUtils.isNotEmpty(messages)) {
824   - smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
825   - smsList.setMessages(messages);
826   - //调用发送接口
827   - if ("4".equals(HIS_VERSION)) {
828   - //秦皇岛
829   - //保存到同步表中
830   - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId());
831   - } else {
832   - //保存到短信中心 线上
833   - MessageCenterService.saveMsgCenter(smsList);
834   - }
  823 + smsConfigFacade.saveMsg(messages, messages.get(0).getHospitalId());
835 824 }
836 825 }
837 826 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java View file @ 846f7f8
... ... @@ -242,7 +242,7 @@
242 242 operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), pser, OptActionEnums.ADD.getId(), "开通增值服务");
243 243  
244 244 if (ps.getPerType() != null && ps.getPerType() == 2) {//儿童建档服务数据处理
245   - if(PatientSerEnums.SerTypeEnums.yqjzzd.getId() == ps.getSerType()){
  245 + if(PatientSerEnums.SerTypeEnums.babyjzzz.getId() == ps.getSerType()){
246 246 BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest();
247 247 babyBookbuildingAddRequest.setId(ps.getParentid());
248 248 babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
... ... @@ -293,7 +293,7 @@
293 293 patientServiceService.updatePatientService(ps);
294 294  
295 295 if (before.getPerType() != null && before.getPerType() == 2) {//儿童建档服务数据处理
296   - if(PatientSerEnums.SerTypeEnums.yqjzzd.getId() == ps.getSerType()){
  296 + if(PatientSerEnums.SerTypeEnums.babyjzzz.getId() == ps.getSerType()){
297 297 BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest();
298 298 babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
299 299 if (ps.getSerStatus() == PatientSerEnums.SerStatusEnums.kt.getId()) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java View file @ 846f7f8
... ... @@ -87,6 +87,8 @@
87 87 bloodSugarCache.put(bloodSugar.getId(), temp);
88 88 setTempInfo(bloodSugar.getId() + ID_SEPARATOR + bloodSugar.getModified().getTime(), temp, mongoTemplate.findById(bloodSugar.getParentId(), Patients.class), bloodSugar.getBloodSugar(), Double.parseDouble(bloodSugar.getBloodSugar()) > max ? "高血糖" : "低血糖",
89 89 "(" + min +"-" + max + ")", ErrorPatientEnums.BLOOD_SUGAR, bloodSugar.getModified());
  90 + temp.put("typeId", bloodSugar.getBloodSugarType());
  91 + temp.put("typeName", BloodSugarEnums.getName(bloodSugar.getBloodSugarType()));
90 92 }
91 93 }
92 94 restList.addAll(bloodSugarCache.values());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java View file @ 846f7f8
... ... @@ -763,7 +763,6 @@
763 763 return objectResponse;
764 764 }
765 765  
766   - MsgListRequest smsList = new MsgListRequest();
767 766 List<MsgRequest> messages = new ArrayList<>();
768 767  
769 768 List<ResidentsArchiveModel> sendModels = new ArrayList<>();
... ... @@ -820,21 +819,7 @@
820 819 }
821 820  
822 821 if (CollectionUtils.isNotEmpty(messages)) {
823   - smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
824   - smsList.setMessages(messages);
825   - smsList.setMessages(messages);
826   - //调用发送接口
827   - if ("4".equals(HIS_VERSION))
828   - {
829   - //秦皇岛
830   - //保存到同步表中
831   - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId());
832   - }
833   - else
834   - {
835   - //保存到短信中心 线上
836   - MessageCenterService.saveMsgCenter(smsList);
837   - }
  822 + smsConfigFacade.saveMsg(messages, messages.get(0).getHospitalId());
838 823 }
839 824 }
840 825 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java View file @ 846f7f8
1 1 package com.lyms.platform.operate.web.facade;
2 2  
  3 +import com.lyms.platform.beans.MsgListRequest;
  4 +import com.lyms.platform.beans.MsgRequest;
3 5 import com.lyms.platform.biz.service.*;
4 6 import com.lyms.platform.common.base.PageInfo;
5 7 import com.lyms.platform.common.constants.ErrorCodeConstants;
... ... @@ -34,6 +36,8 @@
34 36 @Component
35 37 public class SmsConfigFacade {
36 38  
  39 + public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version");
  40 +
37 41 @Autowired
38 42 private SmsConfigService smsConfigService;
39 43  
... ... @@ -55,6 +59,9 @@
55 59 @Autowired
56 60 private AutoMatchFacade autoMatchFacade;
57 61  
  62 + @Autowired
  63 + private SyncDataService syncDataService;
  64 +
58 65 /**
59 66 * 更新短信服务配置
60 67 * @param request
... ... @@ -823,6 +830,78 @@
823 830 }
824 831 return isStart;
825 832 }
  833 +
  834 +
  835 + /**
  836 + *
  837 + * 由于秦皇岛和威海不能访问外网,所有就只能把新建的短信或者推送保存在本地
  838 + * ,然后通过线上服务器来同步这个数据
  839 + * 保存短信或者推送
  840 + * @param messages
  841 + * @param hospitalId
  842 + */
  843 + public void saveMsg(List<MsgRequest> messages,String hospitalId)
  844 + {
  845 + MsgListRequest smsList = new MsgListRequest();
  846 + smsList.setTypeId(ProjectTypeEnums.YNXT.getId());
  847 + smsList.setMessages(messages);
  848 + if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION))
  849 + {
  850 + //秦皇岛、威县建档 保存到本地
  851 + syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), hospitalId);
  852 + }
  853 + else
  854 + {
  855 + //调用发送
  856 + MessageCenterService.saveMsgCenter(smsList);
  857 + }
  858 + }
  859 +
  860 +
  861 + /**
  862 + * 根据服务状态和服务类型获取可以发送的模板
  863 + * @param temps
  864 + * @param serviceType
  865 + * @param serviceStatus
  866 + * @return
  867 + */
  868 + public List<SmsTemplateModel> getSendTemplateByServiceStatus(List<SmsTemplateModel> temps,Integer serviceType,Integer serviceStatus)
  869 + {
  870 + List<SmsTemplateModel> sendList = new ArrayList<>();
  871 + if (CollectionUtils.isNotEmpty(temps)) {
  872 + for (SmsTemplateModel temp : temps) {
  873 + if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) {
  874 + sendList.add(temp);
  875 + } else if (temp.getServiceStatus() == ServiceStatusEnums.STANDARD_ALL.getId()) {
  876 + if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.NO_OPEN.getId()
  877 + || serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId()) {
  878 + sendList.add(temp);
  879 + }
  880 + } else if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) {
  881 + if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()
  882 + || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) {
  883 + sendList.add(temp);
  884 + }
  885 + } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) {
  886 + if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) {
  887 + sendList.add(temp);
  888 + }
  889 + } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_NO_OPEN.getId()) {
  890 + if (serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()) {
  891 + sendList.add(temp);
  892 + }
  893 + } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) {
  894 + if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) {
  895 + sendList.add(temp);
  896 + }
  897 + } else if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) {
  898 + sendList.add(temp);
  899 + }
  900 + }
  901 + }
  902 + return sendList;
  903 + }
  904 +
826 905  
827 906 /**
828 907 * 判断对应服务是否启动
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java View file @ 846f7f8
... ... @@ -2945,6 +2945,7 @@
2945 2945 if (models != null && models.size() > 0) {
2946 2946 BabyModel model = models.get(0);
2947 2947  
  2948 + //获取儿童服务开通信息
2948 2949 BaseResponse baseResponse = patientServiceFacade.findPatientServiceList(id);
2949 2950 List<PatientSerResult> patientSerResults = (List<PatientSerResult>) baseResponse.getObject();
2950 2951 result.setPatientSerResults(patientSerResults);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java View file @ 846f7f8
... ... @@ -13,6 +13,7 @@
13 13 import com.lyms.platform.common.utils.StringUtils;
14 14 import com.lyms.platform.operate.web.facade.AccessPermissionFacade;
15 15 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
  16 +import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
16 17 import com.lyms.platform.operate.web.service.IBloodPressureService;
17 18 import com.lyms.platform.operate.web.utils.CollectionUtils;
18 19 import com.lyms.platform.operate.web.utils.MongoUtil;
... ... @@ -51,6 +52,8 @@
51 52  
52 53 @Autowired
53 54 private PatientWeightService2 patientWeightService2;
  55 + @Autowired
  56 + private OrganizationGroupsFacade groupsFacade;
54 57  
55 58  
56 59 public BaseResponse addOrUpdate(Integer userId, BloodPressure bloodPressure) {
... ... @@ -94,7 +97,9 @@
94 97 @Override
95 98 public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId) {
96 99 boolean flag = false;
97   - List<String> hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId);
  100 +// List<String> hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId);
  101 +
  102 + List<String> hospitalIds = groupsFacade.findGroupHospital(userId, false);
98 103 Criteria criteria = Criteria.where("yn").is(1).and("hospitalId").in(hospitalIds);
99 104 Criteria pCriteria = Criteria.where("yn").is(1).and("hospitalId").in(hospitalIds);
100 105 if(StringUtils.isNotEmpty(key)) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java View file @ 846f7f8
... ... @@ -14,6 +14,7 @@
14 14 import com.lyms.platform.common.utils.StringUtils;
15 15 import com.lyms.platform.operate.web.facade.AccessPermissionFacade;
16 16 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
  17 +import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
17 18 import com.lyms.platform.operate.web.service.IBloodSugarService;
18 19 import com.lyms.platform.operate.web.utils.CollectionUtils;
19 20 import com.lyms.platform.operate.web.utils.MathUtil;
... ... @@ -46,6 +47,8 @@
46 47  
47 48 @Autowired
48 49 private AccessPermissionFacade accessPermissionFacade;
  50 + @Autowired
  51 + private OrganizationGroupsFacade groupsFacade;
49 52  
50 53  
51 54 public BaseResponse add(Integer userId, BloodSugar bloodSugar) {
52 55  
53 56  
... ... @@ -75,9 +78,11 @@
75 78 if(StringUtils.isNotEmpty(key) || StringUtils.isNotEmpty(vcCardNo) || weekEnd != null || weekStart != null || age != null) {
76 79 flag = true;
77 80 }
  81 +// List<String> hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId);
  82 + List<String> hospitalIds = groupsFacade.findGroupHospital(userId, false);
78 83 Criteria criteria = Criteria.where("yn").is(1);
  84 + criteria.and("hospitalId").in(hospitalIds);
79 85 if(flag) {
80   - List<String> hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId);
81 86 List<String> pids = mongoUtil.getPidsByCondition2(hospitalIds, key, vcCardNo, weekStart, weekEnd, age);
82 87 criteria.and("pid").in(pids);
83 88 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java View file @ 846f7f8
... ... @@ -201,7 +201,7 @@
201 201 @Override
202 202 public BaseResponse list(String key, String vcCardNo, Integer currentWeekStart, Integer currentWeekEnd, Integer age, Integer page, Integer limit, Integer userId) {
203 203 boolean flag = false;
204   - List<String> hospital = groupsFacade.findGroupHospital(userId, true) ;
  204 + List<String> hospital = groupsFacade.findGroupHospital(userId, false) ;
205 205 Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").in(hospital);
206 206 Criteria pCriteria = Criteria.where("yn").ne("0").and("hospitalId").in(hospital);
207 207 if(StringUtils.isNotBlank(key)) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java View file @ 846f7f8
1 1 package com.lyms.platform.operate.web.service.impl;
2 2  
3 3 import com.lyms.platform.biz.service.TrackDownService;
  4 +import com.lyms.platform.common.enums.FmTypeEnums;
4 5 import com.lyms.platform.common.enums.YnEnums;
5 6 import com.lyms.platform.common.result.BaseResponse;
  7 +import com.lyms.platform.common.result.PageResult;
6 8 import com.lyms.platform.common.result.RespBuilder;
7 9 import com.lyms.platform.common.utils.DateUtil;
8 10 import com.lyms.platform.common.utils.StringUtils;
9 11 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
10 12 import com.lyms.platform.operate.web.service.ITrackDownService;
  13 +import com.lyms.platform.operate.web.utils.CollectionUtils;
11 14 import com.lyms.platform.operate.web.utils.MongoUtil;
12   -import com.lyms.platform.pojo.Patients;
13   -import com.lyms.platform.pojo.TrackDown;
  15 +import com.lyms.platform.pojo.*;
14 16 import org.springframework.beans.factory.annotation.Autowired;
15 17 import org.springframework.data.mongodb.core.MongoTemplate;
16 18 import org.springframework.data.mongodb.core.query.Criteria;
17 19 import org.springframework.data.mongodb.core.query.Query;
18 20 import org.springframework.stereotype.Service;
19 21  
20   -import java.util.Date;
21   -import java.util.List;
  22 +import java.util.*;
22 23  
23 24 @Service
24 25 public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownService {
25 26  
... ... @@ -37,8 +38,11 @@
37 38  
38 39 @Override
39 40 public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId) {
  41 + String hospitalId = autoMatchFacade.getHospitalId(userId);
40 42 Criteria patientCriteria = new Criteria();
41 43 Criteria residentCriteria = new Criteria();
  44 + patientCriteria.and("yn").is(1).and("hospitalId").is(hospitalId);
  45 + residentCriteria.and("yn").is(1).and("").is(hospitalId);
42 46 if(buildStart != null && buildEnd != null) {
43 47 residentCriteria.and("buildDay").gte(buildStart).lt(DateUtil.addDay(buildEnd, 1));
44 48 }
... ... @@ -48,7 +52,74 @@
48 52 if(fmStart != null && fmEnd != null) {
49 53 patientCriteria.and("fmDate").gte(fmStart).lt(DateUtil.addDay(fmEnd, 1));
50 54 }
51   - return null;
  55 + if(StringUtils.isNotEmpty(key)) {
  56 + patientCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key));
  57 + residentCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("certificateNum").is(key));
  58 + }
  59 + PageResult mongoPage = findMongoPage(Patients.class, Query.query(patientCriteria), page, limit);
  60 + List<Patients> patients = null;
  61 + if(mongoPage.getCount() >= limit) {
  62 + patients = (List<Patients>) mongoPage.getGrid();
  63 + } else {
  64 + patients = mongoTemplate.find(Query.query(patientCriteria), Patients.class);
  65 + }
  66 + List<ResidentsArchiveModel> residentsArchiveModels = mongoTemplate.find(Query.query(residentCriteria), ResidentsArchiveModel.class);
  67 + List<Map<String, Object>> restList = new ArrayList<>();
  68 + for (Patients patient : patients) { // type: 1=孕期 3=产后
  69 + Map<String, Object> temp = new HashMap<>();
  70 + temp.put("id", patient.getId());
  71 + temp.put("cardNo", patient.getCardNo());
  72 + temp.put("username", patient.getUsername());
  73 + temp.put("phone", patient.getPhone());
  74 + temp.put("age", DateUtil.getAge(patient.getBirth()));
  75 + temp.put("bookbuild", 2); // 孕期建档 1=勾勾 2=叉叉 3=--
  76 + temp.put("bookbuildDate", DateUtil.getyyyy_MM_dd(patient.getBookbuildingDate()));
  77 + temp.put("yjcount", getChuzhenCount(patient.getId())); // 孕检次数 = 初诊 + 复诊
  78 + temp.put("cqsc", 1); // 产前筛查 1=勾勾 2=叉叉 3=--
  79 + temp.put("fm", 3); // 分娩 1=勾勾 2=叉叉 3=--
  80 + temp.put("fmType", FmTypeEnums.getFmNameById(patient.getFmType())); // 分娩方式
  81 + temp.put("chfc", 3); // 产后复查 1=勾勾 2=叉叉 3=--
  82 + temp.put("chfcCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(patient.getId()).and("yn").is(1)), PostReviewModel.class)); // 复查次数
  83 + restList.add(temp);
  84 + }
  85 + for (ResidentsArchiveModel archiveModel : residentsArchiveModels) {
  86 + for (Map<String, Object> map : restList) {
  87 + if(archiveModel.getCertificateNum().toString().equals(map.get("cardNo").toString())) {
  88 + map.put("resident", 2); // 妇女建档
  89 + map.put("residentDate", DateUtil.getyyyy_MM_dd(archiveModel.getBuildDay()));
  90 + map.put("check", 3); // 婚检
  91 + continue;
  92 + }
  93 + }
  94 + Map<String, Object> temp = new HashMap<>();
  95 + temp.put("id", archiveModel.getId());
  96 + temp.put("cardNo", archiveModel.getCertificateNum());
  97 + temp.put("username", archiveModel.getUsername());
  98 + temp.put("phone", archiveModel.getPhone());
  99 + temp.put("age", DateUtil.getAge(archiveModel.getBirthday()));
  100 + temp.put("resident", 3); // 妇女建档
  101 + temp.put("residentDate", DateUtil.getyyyy_MM_dd(archiveModel.getBuildDay())); // 妇女建档日期
  102 + temp.put("check", 2); // 婚检
  103 + temp.put("bookbuild", 2); // 孕期建档 1=勾勾 2=叉叉
  104 + temp.put("bookbuildDate", "--");
  105 + temp.put("yjcount", 0); // 孕检次数 = 初诊 + 复诊
  106 + temp.put("cqsc", 2); // 产前筛查 1=勾勾 2=叉叉
  107 + temp.put("fm", 2); // 分娩 1=勾勾 2=叉叉
  108 + temp.put("fmType", "--"); // 分娩方式
  109 + temp.put("chfc", 2); // 产后复查 1=勾勾 2=叉叉
  110 + temp.put("chfcCount", 0); // 复查次数
  111 + restList.add(temp);
  112 + }
  113 + return RespBuilder.buildSuccess(new PageResult(restList.size(), page, limit, CollectionUtils.getPageIds(restList, page, limit)));
  114 + }
  115 +
  116 + /**
  117 + * 获取产检次数
  118 + */
  119 + private long getChuzhenCount(String patientId) {
  120 + long antexcCount = mongoTemplate.count(Query.query(Criteria.where("parentId").is(patientId).and("yn").is(1)), AntExChuModel.class);
  121 + long antexCount = mongoTemplate.count(Query.query(Criteria.where("parentid").is(patientId).and("yn").is(1)), AntenatalExaminationModel.class);
  122 + return antexcCount + antexCount;
52 123 }
53 124  
54 125 public BaseResponse add(Integer userId, TrackDown trackDown) {