diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 355abcc..f5ed13d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -1215,13 +1215,15 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } else { - if (StringUtils.isNotEmpty(pv[0])) { - condition = condition.and("phone", pv[0], MongoOper.IS); - } - if (StringUtils.isNotEmpty(pv[1])) { condition = condition.and("vcCardNo", pv[1], MongoOper.IS); } + else if (StringUtils.isNotEmpty(pv[2])) { + condition = condition.and("cardNo", pv[2], MongoOper.IS); + } + else if (StringUtils.isNotEmpty(pv[0])) { + condition = condition.and("phone", pv[0], MongoOper.IS); + } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java index 7ab9126..cc3b564 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java @@ -122,6 +122,8 @@ public class LisController extends BaseController { * 包含这个孕妇在整个区域的lis、ris数据 * @param vcCardNo 就诊卡号 * @param sortType 排序类型(1,根据日期分类;2,根据检查项目分类) + * @param phone 手机号码 + * @param cardNo 身份证号码 * @return */ @RequestMapping(method = RequestMethod.GET, value = "/getLisAndRisData") @@ -130,9 +132,10 @@ public class LisController extends BaseController { public BaseResponse getLisAndRisData(@RequestParam(required = false) String vcCardNo, @RequestParam("sortType") Integer sortType, @RequestParam(required = false) String phone, + @RequestParam(required = false) String cardNo, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return lisFacade.getLisAndRisData(vcCardNo, phone, sortType, loginState.getId()); + return lisFacade.getLisAndRisData(vcCardNo, phone,cardNo, sortType, loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java index c79c930..b66fbd4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java @@ -86,13 +86,13 @@ public class LisFacade { * @param sortType 排序类型(1,根据日期分类;2,根据检查项目分类) * @return */ - public BaseResponse getLisAndRisData(String vcCardNo,String phone,Integer sortType,Integer userId) { + public BaseResponse getLisAndRisData(String vcCardNo,String phone,String cardNo,Integer sortType,Integer userId) { List checkByDate=new ArrayList(); //根据用户id获取医院ID String hospitalId = autoMatchFacade.getHospitalId(userId); - List result = queryLisCheckList(vcCardNo,phone,hospitalId); + List result = queryLisCheckList(vcCardNo,phone,hospitalId,cardNo); //排序检查大项 sortLis(result); @@ -231,10 +231,11 @@ public class LisFacade { * 4、封装lis数据 * @param vcCardNo 就诊卡号 * @param phone 手机号码 - * @param userId 用户ID + * @param hospitalId 用户ID + * @param cardNo 身份证号码 * @return */ - public List queryLisCheckList(String vcCardNo,String phone,String hospitalId) { + public List queryLisCheckList(String vcCardNo,String phone,String hospitalId,String cardNo) { //保存这个人在所有医院的lis记录 List result = new ArrayList<>(); @@ -248,7 +249,7 @@ public class LisFacade { organizationQuery.setYn(YnEnums.YES.getId()); PatientsQuery patientsQuery=new PatientsQuery(); - String[] strs = new String[]{phone, vcCardNo}; + String[] strs = new String[]{phone, vcCardNo,cardNo}; patientsQuery.setPv(strs); patientsQuery.setHospitalId(hospitalId); patientsQuery.setYn(YnEnums.YES.getId()); @@ -270,7 +271,7 @@ public class LisFacade { if (pat != null && StringUtils.isNotEmpty(pat.getHospitalId())) { - if (StringUtils.isEmpty(pat.getVcCardNo()) && StringUtils.isEmpty(pat.getPhone())) + if (StringUtils.isEmpty(pat.getVcCardNo()) && StringUtils.isEmpty(pat.getPhone()) && StringUtils.isEmpty(pat.getCardNo())) { continue; } @@ -290,7 +291,7 @@ public class LisFacade { LisReportQuery model = new LisReportQuery(); model.setHospitalId(pat.getHospitalId()); //通过就诊卡号和医院id查询到医院下面的lis记录 - List lises = queryLisData(pat.getVcCardNo(), pat.getPhone(), model); + List lises = queryLisData(pat.getVcCardNo(), pat.getPhone(),pat.getCardNo(), model); if (CollectionUtils.isNotEmpty(lises)) { for (LisReportModel lis : lises) @@ -372,7 +373,7 @@ public class LisFacade { * @param model * @return */ - private List queryLisData(String vcCardNo, String phone,LisReportQuery model) { + private List queryLisData(String vcCardNo, String phone,String cardNo,LisReportQuery model) { List reportModelList = new ArrayList<>(); @@ -400,6 +401,11 @@ public class LisFacade { //model.setVcCardNo(getZcVcardNo(vcCardNo)); model.setVcCardNos(zcfyHisService.getZcVcCardNos(vcCardNo)); } + //威海市妇幼 因为威海市妇幼有些孕妇没有就诊卡直接用身份证,lis把身份证号码存在就诊卡号字段的 + else if ("22".equals(HIS_VERSION)) + { + model.setVcCardNo(cardNo); + } else { model.setVcCardNo(vcCardNo);