Commit 846f7f8a45bc42bfb7ae1d6e3a1a8f94edb5cb36
Exists in
master
and in
6 other branches
Merge remote-tracking branch 'origin/master'
Showing 14 changed files
- platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
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
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) { |