From e1c62d4cbdf0028cef266a9335102244ae6bf69f Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 10 Sep 2018 10:56:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=A4=E7=99=8C=E7=AD=9B=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/CancerScreeningController.java | 16 ++++ .../operate/web/facade/CancerScreeningFacade.java | 86 ++++++++++++++++++++++ 2 files changed, 102 insertions(+) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java index 9512bbb..b3a142a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java @@ -24,6 +24,22 @@ public class CancerScreeningController extends BaseController { @Autowired private CancerScreeningFacade cancerScreenService; + + /** + * 查询两癌筛查妇女基本信息 + * @param cardNo + * @param vaCardNo + * @return + */ + @ResponseBody + @RequestMapping(value="/queryCanSrcInfo",method = RequestMethod.GET) + @TokenRequired + public BaseResponse queryCanSrcInfo(@RequestParam(required = false) String cardNo,@RequestParam(required = false) String vaCardNo, + HttpServletRequest request) { + return cancerScreenService.queryCanSrcInfo(cardNo,vaCardNo,getUserId(request)); + } + + /** * 添加或修改两癌筛查 * @param cancerScr diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java index fc375db..9f935b8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java @@ -4,19 +4,25 @@ import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.CancerScreeningService; import com.lyms.platform.biz.service.ResidentsArchiveService; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.SexEnum; import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.request.CancerScreeningRequest; +import com.lyms.platform.operate.web.result.ResidentsPageResult; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.FunvCommonUtil; +import com.lyms.platform.operate.web.utils.UnitConstants; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.CancerScreeningModel; import com.lyms.platform.pojo.ResidentsArchiveModel; import com.lyms.platform.query.CancerScreeningQuery; +import com.lyms.platform.query.ResidentsArchiveQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.map.HashedMap; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -176,4 +182,84 @@ public class CancerScreeningFacade { return new BaseResponse(e.getMessage(), ErrorCodeConstants.SYSTEM_ERROR); } } + + public BaseResponse queryCanSrcInfo(String cardNo, String vaCardNo, Integer userId) { + List residents = new ArrayList<>(); + + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); + archiveQuery.setYn(YnEnums.YES.getId()); + //身份证不为空的情况下通过身份证查询 + if (StringUtils.isNotEmpty(cardNo)){ + archiveQuery.setCertificateNum(cardNo); + residents = residentsArchiveService.queryResident(archiveQuery); + + //使用就诊卡号查询,先用登录ID查询属于哪家医院,然后查询到该居民的身份证号,调出所有的建档记录 + }else if (StringUtils.isNotEmpty(vaCardNo)){ + //通过用户ID查询医院ID + String hospitalId = autoMatchFacade.getHospitalId(userId); + archiveQuery.setVcCardNo(vaCardNo); + 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); + } + } + } + + if (CollectionUtils.isNotEmpty(residents)) + { + + Map baseInfo = new HashMap<>(); + + ResidentsArchiveModel model = residents.get(0); + Map result = new HashMap<>(); + + result.put("userName",model.getUsername()); + + if (model.getBirthday() != null) { + result.put("age", com.lyms.platform.common.utils.StringUtils.unitHandle(DateUtil.getAge(model.getBirthday(), new Date()).toString(), UnitConstants.SUI)); + } + + result.put("sex",SexEnum.getTextById(Integer.parseInt(model.getSex()))); + result.put("birthday",DateUtil.getyyyy_MM_dd(model.getBirthday())); + result.put("phone",model.getPhone()); + + //户籍地址 + String addressRegister = CommonsHelper.getResidence(model.getProvinceRegisterId(), model.getCityRegisterId(), + model.getAreaRegisterId(), model.getStreetRegisterId(), model.getAddressRegister(), basicConfigService); + result.put("registAddress",addressRegister); + result.put("levelType",FunvCommonUtil.getBaseicConfigByid(model.getLevelTypeId(), basicConfigService)); + result.put("residentId", model.getId()); + + + List cancerScreeningModels = cancerScreenService.findResIdCancerScreenList(model.getId()); + List> hisCancerScrList = new ArrayList<>(); + for (CancerScreeningModel cs : cancerScreeningModels) { + Map map = new HashedMap(); + map.put("id", cs.getId()); + map.put("createTime", DateUtil.getyyyy_MM_dd(cs.getCreated())); + //根据用户id获取医院ID + Users users = usersService.getUsers(cs.getOperator()); + if (users != null) { + map.put("operUser", users.getName()); + } + hisCancerScrList.add(map); + } + + result.put("hisCancerScrList",hisCancerScrList); + + BaseObjectResponse response = new BaseObjectResponse(); + response.setData(baseInfo); + response.setErrorcode(ErrorCodeConstants.SUCCESS); + response.setErrormsg("成功"); + } + return new BaseResponse("妇女未建档,请前往妇女建档", ErrorCodeConstants.USER_NOT_EXISTS); + } } -- 1.8.3.1