Commit d63d895b66a53970f931e63e95bf61a66244cf16
1 parent
1c45d72974
Exists in
master
and in
6 other branches
儿童疾病
Showing 4 changed files with 169 additions and 1 deletions
- platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java
- platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiseaseModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java
platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java
View file @
d63d895
| ... | ... | @@ -13,6 +13,7 @@ |
| 13 | 13 | AssayConfig("AssayConfig", 97531000050L), |
| 14 | 14 | FilePathModel("FilePathModel", 97233000050L), |
| 15 | 15 | AwModel("AwModel", 97531000060L), |
| 16 | + BabyDiseaseModel("BabyDiseaseModel", 97534000060L), | |
| 16 | 17 | AmniocentesisInfoModel("AmniocentesisInfoModel", 94531000060L), |
| 17 | 18 | AmniocentesisRecordModel("AmniocentesisRecordModel", 94531010060L), |
| 18 | 19 | AmniocentesisResultModel("AmniocentesisResultModel", 94521000060L), |
platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiseaseModel.java
View file @
d63d895
| 1 | +package com.lyms.platform.pojo; | |
| 2 | + | |
| 3 | +import com.lyms.platform.beans.SerialIdEnum; | |
| 4 | +import com.lyms.platform.common.result.BaseModel; | |
| 5 | +import org.springframework.data.mongodb.core.mapping.Document; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 儿童疾病配置 | |
| 9 | + */ | |
| 10 | +@Document(collection = "lyms_baby_disease") | |
| 11 | +public class BabyDiseaseModel extends BaseModel { | |
| 12 | + | |
| 13 | + private static final long serialVersionUID = SerialIdEnum.BabyDiseaseModel.getCid(); | |
| 14 | + | |
| 15 | + private String id; | |
| 16 | + //BabyDiseaseEnums | |
| 17 | + private String diseaseId; | |
| 18 | + private String content; | |
| 19 | + | |
| 20 | + public String getId() { | |
| 21 | + return id; | |
| 22 | + } | |
| 23 | + | |
| 24 | + public void setId(String id) { | |
| 25 | + this.id = id; | |
| 26 | + } | |
| 27 | + | |
| 28 | + public String getDiseaseId() { | |
| 29 | + return diseaseId; | |
| 30 | + } | |
| 31 | + | |
| 32 | + public void setDiseaseId(String diseaseId) { | |
| 33 | + this.diseaseId = diseaseId; | |
| 34 | + } | |
| 35 | + | |
| 36 | + public String getContent() { | |
| 37 | + return content; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public void setContent(String content) { | |
| 41 | + this.content = content; | |
| 42 | + } | |
| 43 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
View file @
d63d895
| 1 | 1 | package com.lyms.platform.operate.web.facade; |
| 2 | 2 | |
| 3 | 3 | import com.lyms.hospitalapi.qhdfy.QhdfyHisService; |
| 4 | +import com.lyms.platform.beans.MsgRequest; | |
| 4 | 5 | import com.lyms.platform.biz.service.*; |
| 5 | 6 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 6 | 7 | import com.lyms.platform.common.dao.BaseQuery; |
| 7 | 8 | |
| ... | ... | @@ -119,7 +120,10 @@ |
| 119 | 120 | @Autowired |
| 120 | 121 | private BabyAfterVisitService babyAfterVisitService; |
| 121 | 122 | |
| 123 | + @Autowired | |
| 124 | + private SmsConfigFacade smsConfigFacade; | |
| 122 | 125 | |
| 126 | + | |
| 123 | 127 | @Autowired |
| 124 | 128 | private CheckItemService checkItemService; |
| 125 | 129 | |
| 126 | 130 | |
| ... | ... | @@ -694,12 +698,86 @@ |
| 694 | 698 | |
| 695 | 699 | updateLastGrowth(model); |
| 696 | 700 | |
| 701 | + createBabyDiseaseMsg(model); | |
| 702 | + | |
| 697 | 703 | br.setErrorcode(ErrorCodeConstants.SUCCESS); |
| 698 | 704 | br.setErrormsg("成功"); |
| 699 | 705 | br.setData(model.getId()); |
| 700 | 706 | return br; |
| 701 | 707 | } |
| 702 | 708 | |
| 709 | + | |
| 710 | + /** | |
| 711 | + * 创建儿保疾病提醒 | |
| 712 | + * @param babyCheckModel | |
| 713 | + */ | |
| 714 | + public void createBabyDiseaseMsg(final BabyCheckModel babyCheckModel) { | |
| 715 | + | |
| 716 | + new Thread(new Runnable() { | |
| 717 | + @Override | |
| 718 | + public void run() { | |
| 719 | + BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(babyCheckModel.getBuildId()); | |
| 720 | + if (babyModel == null || !"2".equals(babyModel.getOpenDisease())) | |
| 721 | + { | |
| 722 | + return; | |
| 723 | + } | |
| 724 | + SmsConfigModel configModel = new SmsConfigModel(); | |
| 725 | + // 服务是否勾选启动 | |
| 726 | + boolean isStartService = smsConfigFacade.isStartSesrvice(babyModel.getHospitalId(), SmsServiceEnums.ETJBTX.getId(),configModel); | |
| 727 | + if (!isStartService) { | |
| 728 | + return; | |
| 729 | + } | |
| 730 | + | |
| 731 | + List<String> dids = babyCheckModel.getDiseases(); | |
| 732 | + if (CollectionUtils.isNotEmpty(dids)) | |
| 733 | + { | |
| 734 | + | |
| 735 | + //短信前缀 | |
| 736 | + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); | |
| 737 | + for (String id : dids) | |
| 738 | + { | |
| 739 | + Criteria criteria = Criteria.where("diseaseId").is(id); | |
| 740 | + BabyDiseaseModel babyDiseaseModel = mongoTemplate.findOne(Query.query(criteria), BabyDiseaseModel.class); | |
| 741 | + if (babyDiseaseModel != null) | |
| 742 | + { | |
| 743 | + List<MsgRequest> messages = new ArrayList<>(); | |
| 744 | + MsgRequest mr = new MsgRequest(); | |
| 745 | + String content = "【" + messagePrefix + "】" + babyDiseaseModel.getContent(); | |
| 746 | + mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content)); | |
| 747 | + mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); | |
| 748 | + mr.setPhone(babyModel.getMphone()); | |
| 749 | + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); | |
| 750 | + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); | |
| 751 | + mr.setSubTypeId(SmsServiceEnums.ETJBTX.getId()); | |
| 752 | + mr.setStatus(SmsStatusEnums.WFS.getId()); | |
| 753 | + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); | |
| 754 | + | |
| 755 | + mr.setHospitalId(babyModel.getHospitalId()); | |
| 756 | + mr.setTempId(babyCheckModel.getId()); | |
| 757 | + mr.setPatientId(babyModel.getId()); | |
| 758 | + int weeks = DateUtil.daysBetween(babyModel.getBirth(), new Date()) / 7; | |
| 759 | + String weekDay = weeks + "周"; | |
| 760 | + mr.setKeyword1(weekDay); | |
| 761 | + mr.setKeyword2(SmsServiceEnums.ETJBTX.getName()); | |
| 762 | + mr.setRemark(""); | |
| 763 | + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); | |
| 764 | + mr.setSmsStatus(SmsStatusEnums.WFS.getId()); | |
| 765 | + mr.setServiceType(1); | |
| 766 | + | |
| 767 | + mr.setWxTempId(WxTempleteIdEnums.BABY_YI_BAN_ZHI_DAO.getId()); | |
| 768 | + messages.add(mr); | |
| 769 | + ExceptionUtils.catchException("create baby disease msg = " + mr); | |
| 770 | + if (CollectionUtils.isNotEmpty(messages)) { | |
| 771 | + smsConfigFacade.saveMsg(messages, babyModel.getHospitalId()); | |
| 772 | + } | |
| 773 | + } | |
| 774 | + } | |
| 775 | + } | |
| 776 | + } | |
| 777 | + }).start(); | |
| 778 | + | |
| 779 | + } | |
| 780 | + | |
| 703 | 781 | private void syncMaster(String id) { |
| 704 | 782 | BabyModelQuery babyModelQuery = new BabyModelQuery(); |
| 705 | 783 | babyModelQuery.setId(id); |
| ... | ... | @@ -1982,7 +2060,16 @@ |
| 1982 | 2060 | model.setEyeAdviceName(eyeAdviceName); |
| 1983 | 2061 | model.setEyeGuideSuggestions(checkModel.getEyeGuideSuggestions()); |
| 1984 | 2062 | model.setConfigItemId(checkModel.getConfigItemId()); |
| 1985 | - model.setDiseases(checkModel.getDiseases()); | |
| 2063 | + | |
| 2064 | + List<String> diseses = new ArrayList<>(); | |
| 2065 | + if (CollectionUtils.isNotEmpty(checkModel.getDiseases())) | |
| 2066 | + { | |
| 2067 | + for (String key : checkModel.getDiseases()) | |
| 2068 | + { | |
| 2069 | + diseses.add(BabyDiseaseEnums.getNameById(Integer.parseInt(key))); | |
| 2070 | + } | |
| 2071 | + } | |
| 2072 | + model.setDiseases(diseses); | |
| 1986 | 2073 | return model; |
| 1987 | 2074 | |
| 1988 | 2075 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java
View file @
d63d895
| ... | ... | @@ -919,6 +919,43 @@ |
| 919 | 919 | } |
| 920 | 920 | |
| 921 | 921 | |
| 922 | + public boolean isStartSesrvice(String hospitalId,Integer smsType,SmsConfigModel configModel) | |
| 923 | + { | |
| 924 | + SmsConfigQuery configQuery = new SmsConfigQuery(); | |
| 925 | + configQuery.setYn(YnEnums.YES.getId()); | |
| 926 | + configQuery.setHospitalId(hospitalId); | |
| 927 | + //查询出对应医院配置 | |
| 928 | + List<SmsConfigModel> configs = smsConfigService.querySmsConfig(configQuery); | |
| 929 | + | |
| 930 | + if (CollectionUtils.isNotEmpty(configs)) | |
| 931 | + { | |
| 932 | + configModel.covertObj(configs.get(0)); | |
| 933 | + String serviceStr = configs.get(0).getSmsService(); | |
| 934 | + if (StringUtils.isNotEmpty(serviceStr)) | |
| 935 | + { | |
| 936 | + | |
| 937 | + if (StringUtils.isEmpty(serviceStr)) | |
| 938 | + { | |
| 939 | + return false; | |
| 940 | + } | |
| 941 | + //消息服务启动 | |
| 942 | + List<Map> smsServices = JsonUtil.toList(serviceStr, Map.class); | |
| 943 | + | |
| 944 | + if (CollectionUtils.isNotEmpty(smsServices)) { | |
| 945 | + for (Map map : smsServices) { | |
| 946 | + String status = String.valueOf(map.get(String.valueOf(smsType))); | |
| 947 | + if ("true".equals(status)) | |
| 948 | + { | |
| 949 | + return true; | |
| 950 | + } | |
| 951 | + } | |
| 952 | + } | |
| 953 | + } | |
| 954 | + } | |
| 955 | + return false; | |
| 956 | + } | |
| 957 | + | |
| 958 | + | |
| 922 | 959 | /** |
| 923 | 960 | * 判断对应服务是否启动 |
| 924 | 961 | * return 1 推送服务, 2 推送和短信服务 3短信服务, |