Commit d63d895b66a53970f931e63e95bf61a66244cf16

Authored by liquanyu
1 parent 1c45d72974

儿童疾病

Showing 4 changed files with 169 additions and 1 deletions

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短信服务,