Commit bdc356d054f6b6fa1f4a4f2924f88096f500e9d1

Authored by liquanyu
1 parent bac3165fb7
Exists in master and in 1 other branch dev

分娩儿童建档服务开通问题修改

Showing 1 changed file with 102 additions and 92 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ bdc356d
... ... @@ -804,33 +804,7 @@
804 804 model.setEndCase(0);//秦皇岛,默认未结案
805 805 model = babyBookbuildingService.addBabyBookbuilding(model);
806 806  
807   - //眼保健保存建档时候,保存听力产筛档案mysql表
808   - addMysqlOrUpdateBabyEar(userId, model);
809 807  
810   - // 更新追访概况,作废档案转正
811   - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_STATISTICS, STATUS_TYPE_BUILD);
812   - //babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_BUILD, STATUS_TYPE_NO);
813   - // 新增儿保追访和眼保追访
814   - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_CHECK, STATUS_TYPE_YES);
815   - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_EYE_CHECK, STATUS_TYPE_YES);
816   -
817   -// //开通增值服务
818   -// PatientService patientService = new PatientService();
819   -// patientService.setPerType(2);
820   -// patientService.setSerInfos(request.getSerInfos());
821   -// patientService.setCreateUser(String.valueOf(userId));
822   -// //开通日期与建档日期一致
823   -// patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate()));
824   -// patientService.setParentid(model.getId());
825   -// patientService.setPid(model.getPid());
826   -// try {
827   -// patientServiceFacade.addPatientService(patientService, userId, request.getHospitalId());
828   -// } catch (Exception e) {
829   -// System.out.println("儿童建档服务开通异常!");
830   -// e.printStackTrace();
831   -// }
832   -
833   -
834 808 String bId = model.getId();
835 809 if (model == null || bId == null) {
836 810 br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
... ... @@ -838,7 +812,7 @@
838 812 return br;
839 813 }
840 814 //创建建档短信
841   - createBuildMsg(model);
  815 + createBuildMsg(model, userId, request);
842 816 handleBabyDiangose(request.getBlNo(), hid);
843 817  
844 818 br.setErrorcode(ErrorCodeConstants.SUCCESS);
845 819  
846 820  
847 821  
848 822  
849 823  
850 824  
851 825  
852 826  
853 827  
854 828  
855 829  
856 830  
857 831  
858 832  
... ... @@ -947,81 +921,117 @@
947 921 /**
948 922 * 创建建档短信
949 923 */
950   - public void createBuildMsg(BabyModel babyModel) {
  924 + public void createBuildMsg(final BabyModel babyModel, final Integer userId,final BabyBookbuildingAddRequest request) {
951 925  
952   - //判断医院是否启动和对应的服务项是否启用
953   - SmsConfigModel configModel = new SmsConfigModel();
954   - // 1 推送服务, 2 推送和短信服务 3短信服务,
955   - int startType = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId());
956   - if (startType == 0) {
957   - return;
958   - }
  926 + commonThreadPool.execute(new Runnable() {
  927 + @Override
  928 + public void run() {
959 929  
960   - SmsTemplateQuery query = new SmsTemplateQuery();
961   - query.setYn(YnEnums.YES.getId());
962   - query.setStatus(1);
963   - query.setHospitalId(babyModel.getHospitalId());
964   - query.setServiceObj(ServiceObjEnums.BABYOBJ.getId());
965   - query.setSpecialDateType(SpecialDateEnums.JD.getId());
966 930  
967   - //获取建档的模板(包括推送模板、短信模板)
968   - List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
  931 + //眼保健保存建档时候,保存听力产筛档案mysql表
  932 + addMysqlOrUpdateBabyEar(userId, babyModel);
969 933  
970   - Integer serviceType = babyModel.getServiceType();
971   - Integer serviceStatus = babyModel.getServiceStatus();
  934 + // 更新追访概况,作废档案转正
  935 + babyAfterVisitService.addOrUpdateAfterVisitData(babyModel, TYPE_STATISTICS, STATUS_TYPE_BUILD);
  936 + //babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_BUILD, STATUS_TYPE_NO);
  937 + // 新增儿保追访和眼保追访
  938 + babyAfterVisitService.addOrUpdateAfterVisitData(babyModel, TYPE_CHECK, STATUS_TYPE_YES);
  939 + babyAfterVisitService.addOrUpdateAfterVisitData(babyModel, TYPE_EYE_CHECK, STATUS_TYPE_YES);
972 940  
973   - //根据服务状态和服务类型获取可以发送的模板
974   - List<SmsTemplateModel> sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps, serviceType, serviceStatus);
  941 + //开通增值服务
  942 + PatientService patientService = new PatientService();
  943 + patientService.setPerType(2);
  944 + patientService.setSerInfos(request.getSerInfos());
  945 + patientService.setCreateUser(String.valueOf(userId));
  946 + //开通日期与建档日期一致
  947 + patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate()));
  948 + patientService.setParentid(babyModel.getId());
  949 + patientService.setPid(babyModel.getPid());
  950 + try {
  951 + patientServiceFacade.addPatientService(patientService, userId, request.getHospitalId());
  952 + } catch (Exception e) {
  953 + System.out.println("儿童建档服务开通异常!");
  954 + e.printStackTrace();
  955 + }
975 956  
976   - if (CollectionUtils.isNotEmpty(sendList)) {
977   - //短信前缀
978   - String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId());
979   - for (SmsTemplateModel templateModel : sendList) {
980   - //推送类型模板
981   - if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) {
982   - //发送推送类模板建档
983   - if (startType == 3) {
984   - continue;
985   - }
  957 +
  958 + //判断医院是否启动和对应的服务项是否启用
  959 + SmsConfigModel configModel = new SmsConfigModel();
  960 + // 1 推送服务, 2 推送和短信服务 3短信服务,
  961 + int startType = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId());
  962 + if (startType == 0) {
  963 + return;
986 964 }
987   - //发送短信类模板建档
988   - else if (templateModel.getTemplateType() == 1 && startType == 1) {
989   - continue;
990   - }
991 965  
992   - List<MsgRequest> messages = new ArrayList<>();
993   - MsgRequest mr = new MsgRequest();
  966 + SmsTemplateQuery query = new SmsTemplateQuery();
  967 + query.setYn(YnEnums.YES.getId());
  968 + query.setStatus(1);
  969 + query.setHospitalId(babyModel.getHospitalId());
  970 + query.setServiceObj(ServiceObjEnums.BABYOBJ.getId());
  971 + query.setSpecialDateType(SpecialDateEnums.JD.getId());
994 972  
995   - String content = "【" + messagePrefix + "】" + templateModel.getContent();
  973 + //获取建档的模板(包括推送模板、短信模板)
  974 + List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
996 975  
997   - mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content));
998   - mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
999   - mr.setPhone(babyModel.getMphone());
1000   - mr.setTypeId(ProjectTypeEnums.YNXT.getId());
1001   - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
1002   - mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
1003   - mr.setStatus(SmsStatusEnums.WFS.getId());
1004   - mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
  976 + Integer serviceType = babyModel.getServiceType();
  977 + Integer serviceStatus = babyModel.getServiceStatus();
1005 978  
1006   - mr.setHospitalId(babyModel.getHospitalId());
1007   - mr.setTempId(templateModel.getId());
1008   - mr.setPatientId(babyModel.getId());
  979 + //根据服务状态和服务类型获取可以发送的模板
  980 + List<SmsTemplateModel> sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps, serviceType, serviceStatus);
1009 981  
1010   - mr.setKeyword1(babyModel.getName());
1011   - mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
1012   - mr.setRemark("");
1013   - mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
1014   - mr.setSmsStatus(SmsStatusEnums.WFS.getId());
1015   - mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3);
  982 + if (CollectionUtils.isNotEmpty(sendList)) {
  983 + //短信前缀
  984 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId());
  985 + for (SmsTemplateModel templateModel : sendList) {
  986 + //推送类型模板
  987 + if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) {
  988 + //发送推送类模板建档
  989 + if (startType == 3) {
  990 + continue;
  991 + }
  992 + }
  993 + //发送短信类模板建档
  994 + else if (templateModel.getTemplateType() == 1 && startType == 1) {
  995 + continue;
  996 + }
1016 997  
1017   - mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId());
1018   - messages.add(mr);
1019   - ExceptionUtils.catchException("child build msg = " + mr);
1020   - if (CollectionUtils.isNotEmpty(messages)) {
1021   - smsConfigFacade.saveMsg(messages, babyModel.getHospitalId());
  998 + List<MsgRequest> messages = new ArrayList<>();
  999 + MsgRequest mr = new MsgRequest();
  1000 +
  1001 + String content = "【" + messagePrefix + "】" + templateModel.getContent();
  1002 +
  1003 + mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content));
  1004 + mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
  1005 + mr.setPhone(babyModel.getMphone());
  1006 + mr.setTypeId(ProjectTypeEnums.YNXT.getId());
  1007 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  1008 + mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
  1009 + mr.setStatus(SmsStatusEnums.WFS.getId());
  1010 + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
  1011 +
  1012 + mr.setHospitalId(babyModel.getHospitalId());
  1013 + mr.setTempId(templateModel.getId());
  1014 + mr.setPatientId(babyModel.getId());
  1015 +
  1016 + mr.setKeyword1(babyModel.getName());
  1017 + mr.setKeyword2(DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
  1018 + mr.setRemark("");
  1019 + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
  1020 + mr.setSmsStatus(SmsStatusEnums.WFS.getId());
  1021 + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3);
  1022 +
  1023 + mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId());
  1024 + messages.add(mr);
  1025 + ExceptionUtils.catchException("child build msg = " + mr);
  1026 + if (CollectionUtils.isNotEmpty(messages)) {
  1027 + smsConfigFacade.saveMsg(messages, babyModel.getHospitalId());
  1028 + }
  1029 + }
1022 1030 }
1023 1031 }
1024   - }
  1032 + });
  1033 +
  1034 +
1025 1035 }
1026 1036  
1027 1037