diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 26ff039..f133643 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -804,32 +804,6 @@ public class BabyBookbuildingFacade { model.setEndCase(0);//秦皇岛,默认未结案 model = babyBookbuildingService.addBabyBookbuilding(model); - //眼保健保存建档时候,保存听力产筛档案mysql表 - addMysqlOrUpdateBabyEar(userId, model); - - // 更新追访概况,作废档案转正 - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_STATISTICS, STATUS_TYPE_BUILD); - //babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_BUILD, STATUS_TYPE_NO); - // 新增儿保追访和眼保追访 - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_CHECK, STATUS_TYPE_YES); - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_EYE_CHECK, STATUS_TYPE_YES); - -// //开通增值服务 -// PatientService patientService = new PatientService(); -// patientService.setPerType(2); -// patientService.setSerInfos(request.getSerInfos()); -// patientService.setCreateUser(String.valueOf(userId)); -// //开通日期与建档日期一致 -// patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate())); -// patientService.setParentid(model.getId()); -// patientService.setPid(model.getPid()); -// try { -// patientServiceFacade.addPatientService(patientService, userId, request.getHospitalId()); -// } catch (Exception e) { -// System.out.println("儿童建档服务开通异常!"); -// e.printStackTrace(); -// } - String bId = model.getId(); if (model == null || bId == null) { @@ -838,7 +812,7 @@ public class BabyBookbuildingFacade { return br; } //创建建档短信 - createBuildMsg(model); + createBuildMsg(model, userId, request); handleBabyDiangose(request.getBlNo(), hid); br.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -947,81 +921,117 @@ public class BabyBookbuildingFacade { /** * 创建建档短信 */ - public void createBuildMsg(BabyModel babyModel) { - - //判断医院是否启动和对应的服务项是否启用 - SmsConfigModel configModel = new SmsConfigModel(); - // 1 推送服务, 2 推送和短信服务 3短信服务, - int startType = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId()); - if (startType == 0) { - return; - } + public void createBuildMsg(final BabyModel babyModel, final Integer userId,final BabyBookbuildingAddRequest request) { - SmsTemplateQuery query = new SmsTemplateQuery(); - query.setYn(YnEnums.YES.getId()); - query.setStatus(1); - query.setHospitalId(babyModel.getHospitalId()); - query.setServiceObj(ServiceObjEnums.BABYOBJ.getId()); - query.setSpecialDateType(SpecialDateEnums.JD.getId()); + commonThreadPool.execute(new Runnable() { + @Override + public void run() { - //获取建档的模板(包括推送模板、短信模板) - List temps = smsTemplateService.querySmsTemplates(query); - Integer serviceType = babyModel.getServiceType(); - Integer serviceStatus = babyModel.getServiceStatus(); + //眼保健保存建档时候,保存听力产筛档案mysql表 + addMysqlOrUpdateBabyEar(userId, babyModel); - //根据服务状态和服务类型获取可以发送的模板 - List sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps, serviceType, serviceStatus); + // 更新追访概况,作废档案转正 + babyAfterVisitService.addOrUpdateAfterVisitData(babyModel, TYPE_STATISTICS, STATUS_TYPE_BUILD); + //babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_BUILD, STATUS_TYPE_NO); + // 新增儿保追访和眼保追访 + babyAfterVisitService.addOrUpdateAfterVisitData(babyModel, TYPE_CHECK, STATUS_TYPE_YES); + babyAfterVisitService.addOrUpdateAfterVisitData(babyModel, TYPE_EYE_CHECK, STATUS_TYPE_YES); - if (CollectionUtils.isNotEmpty(sendList)) { - //短信前缀 - String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); - for (SmsTemplateModel templateModel : sendList) { - //推送类型模板 - if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) { - //发送推送类模板建档 - if (startType == 3) { - continue; - } + //开通增值服务 + PatientService patientService = new PatientService(); + patientService.setPerType(2); + patientService.setSerInfos(request.getSerInfos()); + patientService.setCreateUser(String.valueOf(userId)); + //开通日期与建档日期一致 + patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate())); + patientService.setParentid(babyModel.getId()); + patientService.setPid(babyModel.getPid()); + try { + patientServiceFacade.addPatientService(patientService, userId, request.getHospitalId()); + } catch (Exception e) { + System.out.println("儿童建档服务开通异常!"); + e.printStackTrace(); } - //发送短信类模板建档 - else if (templateModel.getTemplateType() == 1 && startType == 1) { - continue; + + + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = new SmsConfigModel(); + // 1 推送服务, 2 推送和短信服务 3短信服务, + int startType = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId()); + if (startType == 0) { + return; } - List messages = new ArrayList<>(); - MsgRequest mr = new MsgRequest(); - - String content = "【" + messagePrefix + "】" + templateModel.getContent(); - - mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content)); - mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); - mr.setPhone(babyModel.getMphone()); - mr.setTypeId(ProjectTypeEnums.YNXT.getId()); - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setSubTypeId(SmsServiceEnums.FWKT.getId()); - mr.setStatus(SmsStatusEnums.WFS.getId()); - mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); - - mr.setHospitalId(babyModel.getHospitalId()); - mr.setTempId(templateModel.getId()); - mr.setPatientId(babyModel.getId()); - - mr.setKeyword1(babyModel.getName()); - mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth())); - mr.setRemark(""); - mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setSmsStatus(SmsStatusEnums.WFS.getId()); - mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); - - mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId()); - messages.add(mr); - ExceptionUtils.catchException("child build msg = " + mr); - if (CollectionUtils.isNotEmpty(messages)) { - smsConfigFacade.saveMsg(messages, babyModel.getHospitalId()); + SmsTemplateQuery query = new SmsTemplateQuery(); + query.setYn(YnEnums.YES.getId()); + query.setStatus(1); + query.setHospitalId(babyModel.getHospitalId()); + query.setServiceObj(ServiceObjEnums.BABYOBJ.getId()); + query.setSpecialDateType(SpecialDateEnums.JD.getId()); + + //获取建档的模板(包括推送模板、短信模板) + List temps = smsTemplateService.querySmsTemplates(query); + + Integer serviceType = babyModel.getServiceType(); + Integer serviceStatus = babyModel.getServiceStatus(); + + //根据服务状态和服务类型获取可以发送的模板 + List sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps, serviceType, serviceStatus); + + if (CollectionUtils.isNotEmpty(sendList)) { + //短信前缀 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); + for (SmsTemplateModel templateModel : sendList) { + //推送类型模板 + if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) { + //发送推送类模板建档 + if (startType == 3) { + continue; + } + } + //发送短信类模板建档 + else if (templateModel.getTemplateType() == 1 && startType == 1) { + continue; + } + + List messages = new ArrayList<>(); + MsgRequest mr = new MsgRequest(); + + String content = "【" + messagePrefix + "】" + templateModel.getContent(); + + mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content)); + mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); + mr.setPhone(babyModel.getMphone()); + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.FWKT.getId()); + mr.setStatus(SmsStatusEnums.WFS.getId()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + + mr.setHospitalId(babyModel.getHospitalId()); + mr.setTempId(templateModel.getId()); + mr.setPatientId(babyModel.getId()); + + mr.setKeyword1(babyModel.getName()); + mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth())); + mr.setRemark(""); + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSmsStatus(SmsStatusEnums.WFS.getId()); + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); + + mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId()); + messages.add(mr); + ExceptionUtils.catchException("child build msg = " + mr); + if (CollectionUtils.isNotEmpty(messages)) { + smsConfigFacade.saveMsg(messages, babyModel.getHospitalId()); + } + } } } - } + }); + + }