From 5083a27bc23631e926d8962d40351dbb79364256 Mon Sep 17 00:00:00 2001 From: landong2015 Date: Wed, 7 Dec 2016 14:41:37 +0800 Subject: [PATCH] update --- .../web/controller/ResidentsArchiveController.java | 32 +++++- .../operate/web/facade/ResidentsArchiveFacade.java | 125 ++++++++++++++++++++- 2 files changed, 151 insertions(+), 6 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java index 28ea534..f78c0e9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java @@ -7,8 +7,10 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.ResidentsArchiveFacade; +import com.lyms.platform.operate.web.request.PatientGuideSmsRequest; import com.lyms.platform.operate.web.request.ResidentsArchiveAddRequest; import com.lyms.platform.operate.web.request.ResidentsArchiveQueryRequest; +import com.lyms.platform.operate.web.request.WomenGuideSmsRequest; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -82,7 +84,7 @@ public class ResidentsArchiveController extends BaseController { */ @RequestMapping(value = "/queryResidentsArchiveById/{id}", method = RequestMethod.GET) @ResponseBody -// @TokenRequired + @TokenRequired public BaseObjectResponse queryResidentsArchiveById(@PathVariable("id")String id){ BaseObjectResponse objectResponse = residentsArchiveFacade.queryResidentsArchiveById(id); return objectResponse; @@ -109,6 +111,34 @@ public class ResidentsArchiveController extends BaseController { return residentsArchiveFacade.queryCardNoType(); } + /** + * 数据导出接口 + * @param residentsArchiveQueryRequest + * @param response + * @param request + */ + @RequestMapping(value = "/residentsArchiveExport", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public void residentsArchiveExport(@Valid ResidentsArchiveQueryRequest residentsArchiveQueryRequest,HttpServletResponse response, + HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + residentsArchiveFacade.residentsArchiveExport(residentsArchiveQueryRequest,loginState.getId(),response); + } + + /** + * 妇女指导接口 + * @param womenGuideSmsRequest + * @param request + * @return + */ + @RequestMapping(value = "/sendWomenGuildSms", method = RequestMethod.POST) + @ResponseBody + @TokenRequired + public BaseResponse womenGuildSms(@RequestBody @Valid WomenGuideSmsRequest womenGuideSmsRequest,HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return residentsArchiveFacade.womenGuildSms(womenGuideSmsRequest, loginState.getId()); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java index a2cf815..0f62f8f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java @@ -3,8 +3,9 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.PremaritalCheckupService; import com.lyms.platform.biz.service.ResidentsArchiveService; +import com.lyms.platform.biz.service.SyncDataService; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -12,12 +13,12 @@ import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExcelUtil; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.SystemConfig; -import com.lyms.platform.operate.web.request.ResidentsArchiveAddRequest; -import com.lyms.platform.operate.web.request.ResidentsArchiveQueryRequest; +import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.BasicConfigResult; import com.lyms.platform.operate.web.result.ResidentsArchiveHistoryResult; import com.lyms.platform.operate.web.result.ResidentsArchiveResult; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.MessageCenterService; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; @@ -25,6 +26,7 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.PremaritalCheckup; import com.lyms.platform.pojo.ResidentsArchiveModel; +import com.lyms.platform.pojo.SmsConfigModel; import com.lyms.platform.query.BasicConfigQuery; import com.lyms.platform.query.PremaritalCheckupQuery; import com.lyms.platform.query.ResidentsArchiveQuery; @@ -59,7 +61,10 @@ public class ResidentsArchiveFacade{ private BasicConfigService basicConfigService; @Autowired private PremaritalCheckupService premaritalCheckupService; - + @Autowired + private SmsConfigFacade smsConfigFacade; + @Autowired + private SyncDataService syncDataService; /** * 查询居民健康记录,获取基础数据 @@ -232,6 +237,7 @@ public class ResidentsArchiveFacade{ if (users!=null && users.getYn()!=YnEnums.NO.getId()){ model.setPublishName(users.getName()); } + model.setId(id); residentsArchiveService.updateResident(model,id); }catch (Exception e){ @@ -305,6 +311,11 @@ public class ResidentsArchiveFacade{ archiveModel.setPublishName(users.getName()); } +/* if (StringUtils.isNotEmpty(archiveModel.getBuildDoctor())){ + Users u = usersService.getUsers(Integer.valueOf(archiveModel.getBuildDoctor())); + archiveModel.setBuildDoctor(u.getName()); + }*/ + ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(archiveModel); if (residentsArchiveModel == null || StringUtils.isEmpty(residentsArchiveModel.getId())){ @@ -568,14 +579,40 @@ public class ResidentsArchiveFacade{ map.put("presentHistory", data.getPresentHistory()); map.put("vcCardNo", data.getVcCardNo()); + map.put("buildDoctor", data.getBuildDoctor()); map.put("buildDay", data.getBuildDay()); + list.add(map); } } out = response.getOutputStream(); Map cnames = new LinkedHashMap<>(); cnames.put("username","姓名"); - + cnames.put("sex","性别"); + cnames.put("birthday","出生日期"); + cnames.put("countryId","国籍"); + cnames.put("nationId","民族"); + cnames.put("marriageId","婚姻状况"); + cnames.put("certificateTypeId","证件类型"); + cnames.put("certificateNum","证件号"); + cnames.put("censusTypeId","户籍类型"); + cnames.put("liveTypeId","居住类别"); + cnames.put("levelTypeId","文化程度"); + cnames.put("professionTypeId","职业类别"); + cnames.put("hospital","建档医院"); + cnames.put("age","年龄"); + cnames.put("phone","联系方式"); + cnames.put("workUnit","工作单位"); + cnames.put("residence","居住地"); + cnames.put("residenceRegister","户籍地址"); + cnames.put("pastHistory","既往史"); + cnames.put("familyHistory","家族史"); + cnames.put("personalHistory","个人史"); + cnames.put("ywgmHistory","药物过敏史"); + cnames.put("presentHistory","现病史"); + cnames.put("vcCardNo","就诊卡号"); + cnames.put("buildDoctor","建档人"); + cnames.put("buildDay","建档日期"); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;fileName=" + "juming.xls"); @@ -607,4 +644,82 @@ public class ResidentsArchiveFacade{ } return ""; } + + /** + * 发送妇女指导短信 + * @param request + * @param userId + * @return + */ + public BaseResponse womenGuildSms(WomenGuideSmsRequest request,Integer userId){ + String hospitalId = ""; + //得到当前登录的医院id + if (userId != null) { + Users dbuser = usersService.getUsers(userId); + if (dbuser != null) { + hospitalId = String.valueOf(dbuser.getOrgId()); + } + } + + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = new SmsConfigModel(); + BaseResponse response = smsConfigFacade.hospitalIsStart(hospitalId, configModel, SmsServiceEnums.YSGXHZD.getId()); + if (response != null) { + return response; + } + + MessageListRequest smsList = new MessageListRequest(); + List messages = new ArrayList<>(); + + List sendModels = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(request.getIds())) { + List ids = request.getIds(); + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); + query.setYn(YnEnums.YES.getId()); + for (String id : ids){ + if (StringUtils.isNotEmpty(id)){ + query.setId(id); + List modelList = residentsArchiveService.queryResident(query); + if (CollectionUtils.isNotEmpty(modelList)){ + sendModels.addAll(modelList); + } + } + } + + if (CollectionUtils.isNotEmpty(sendModels)) { + for (ResidentsArchiveModel model : sendModels){ + if (model!=null && StringUtils.isNotEmpty(model.getPhone())){ + MessageRequest mr = new MessageRequest(); + String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, model.getBuildDoctor()); + mr.setContent("【" + messagePrefix + "】" + request.getSmsContent()); + mr.setObjType(Integer.valueOf(request.getType())); + mr.setPhone(model.getPhone()); + //短信商 + mr.setServiceType(SmsProviderEnums.YM.getId()); + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + + mr.setStatus(SmsStatusEnums.WFS.getId()); + + mr.setExt1(String.valueOf(model.getHospitalId())); + messages.add(mr); + } + } + } + + if (CollectionUtils.isNotEmpty(messages)) { + smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); + smsList.setMessages(messages); + //调用发送接口 + if (!syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getExt1())) { + MessageCenterService.saveSmsCenter(smsList); + } + } + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + } -- 1.8.3.1