From 11b92076bdf5289cb7f9b9daaeab3451abb6bc0d Mon Sep 17 00:00:00 2001 From: landong2015 Date: Fri, 16 Dec 2016 11:23:09 +0800 Subject: [PATCH] update --- .../web/controller/ResidentsArchiveController.java | 22 +++++++++ .../operate/web/facade/ResidentsArchiveFacade.java | 52 ++++++++++++++++++++++ 2 files changed, 74 insertions(+) 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 2c7a646..032daa7 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 @@ -59,6 +59,28 @@ public class ResidentsArchiveController extends BaseController { } /** + * 通过证件号,就诊卡号查询居民建档信息,优先返回本院 + * @param vcCardNo + * @param cardNo + * @param request + * @return + */ + @RequestMapping(value = "/findResidentInformation", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseObjectResponse findResidentInformation(@RequestParam(value = "vcCardNo",required = false) String vcCardNo, + @RequestParam(value = "cardNo",required = false) String cardNo, + HttpServletRequest request) { + ResidentsArchiveQueryRequest queryRequest = new ResidentsArchiveQueryRequest(); + queryRequest.setCardNo(cardNo); + queryRequest.setVcCardNo(vcCardNo); + //获取当前登录用户ID + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return residentsArchiveFacade.findResidentsArchive(queryRequest,loginState.getId()); + } + + + /** * 居民建档接口(新增或修改) * @param addRequest * @param request 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 403798b..46be5aa 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 @@ -64,6 +64,58 @@ public class ResidentsArchiveFacade{ @Autowired private SyncDataService syncDataService; + public BaseObjectResponse findResidentsArchive(ResidentsArchiveQueryRequest queryRequest,Integer userId){ + + List residents = new ArrayList<>(); + + String hospitalId = autoMatchFacade.getHospitalId(userId); + + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); + archiveQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(queryRequest.getCardNo())){ + archiveQuery.setCertificateNum(queryRequest.getCardNo()); + residents = residentsArchiveService.queryResident(archiveQuery); + }else if (StringUtils.isNotEmpty(queryRequest.getVcCardNo())){ + //通过用户ID查询医院ID + + archiveQuery.setVcCardNo(queryRequest.getVcCardNo()); + archiveQuery.setHospitalId(hospitalId); + List archiveModelList = residentsArchiveService.queryResident(archiveQuery); + if (CollectionUtils.isNotEmpty(archiveModelList)){ + //判断身份证号是否为null + if (StringUtils.isEmpty(archiveModelList.get(0).getCertificateNum())){ + residents = archiveModelList; + }else { + archiveQuery.setHospitalId(null); + archiveQuery.setVcCardNo(null); + archiveQuery.setCertificateNum(archiveModelList.get(0).getCertificateNum()); + residents = residentsArchiveService.queryResident(archiveQuery); + } + } + } + + ResidentsArchiveModel archiveModel = null; + + if (residents.size()!=0){ + for (ResidentsArchiveModel model : residents){ + if (model.getHospitalId().equals(hospitalId)){ + archiveModel = model; + } + } + } + + if (archiveModel==null && residents.size()!=0){ + archiveModel = residents.get(0); + } + return new BaseObjectResponse().setData(archiveModel).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + + + + + + /** * 查询居民健康记录,获取基础数据 * @param residentsArchiveQueryRequest -- 1.8.3.1