From 733c7a575f17f29dfefe52e2651a1e2a1888cc95 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sat, 25 Jun 2016 11:23:25 +0800 Subject: [PATCH] add code --- .../common/constants/ErrorCodeConstants.java | 3 ++ .../com/lyms/platform/query/BabyModelQuery.java | 16 +++++++ .../com/lyms/platform/query/PatientsQuery.java | 11 +++++ .../web/controller/BabyBookbuildingController.java | 4 +- .../web/controller/BookbuildingController.java | 4 +- .../operate/web/facade/BabyBookbuildingFacade.java | 25 +++++++---- .../operate/web/facade/BookbuildingFacade.java | 52 ++++++++++++++++++---- .../web/request/BookbuildingQueryRequest.java | 21 ++++++--- 8 files changed, 110 insertions(+), 26 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/constants/ErrorCodeConstants.java b/platform-common/src/main/java/com/lyms/platform/common/constants/ErrorCodeConstants.java index 25501eb..cdf8124 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/constants/ErrorCodeConstants.java +++ b/platform-common/src/main/java/com/lyms/platform/common/constants/ErrorCodeConstants.java @@ -43,6 +43,9 @@ public class ErrorCodeConstants { public static final int NAME_EXIST=4100; + //数据已存在 + public static final int DATA_EXIST=4200; + //没有数据 public static final int NO_DATA=4200; //不能删除 diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 92e10a4..f20531d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -129,6 +129,16 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { //是否高危 0非高危 1高危 private Integer highRisk; + private Integer hospitalId; + + public Integer getHospitalId() { + return hospitalId; + } + + public void setHospitalId(Integer hospitalId) { + this.hospitalId = hospitalId; + } + public String getName() { return name; } @@ -244,6 +254,12 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { condition=condition.and("vcCardNo", mcertNo, MongoOper.IS); } + if(null!=hospitalId){ + condition=condition.and("hospitalId", hospitalId, MongoOper.IS); + } + + + if(null!=sex){ condition=condition.and("sex", sex, MongoOper.IS); } 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 a31f8ae..1f32b8a 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 @@ -117,6 +117,17 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { * 1:孕妇,2:儿童 */ private int type = -1; + + private Integer hospitalId; + + public Integer getHospitalId() { + return hospitalId; + } + + public void setHospitalId(Integer hospitalId) { + this.hospitalId = hospitalId; + } + public Boolean getIsHighRisk() { return isHighRisk; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java index 89a6539..a410c10 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java @@ -91,7 +91,7 @@ public class BabyBookbuildingController extends BaseController{ @ResponseBody public BaseObjectResponse queryBabyBuild(@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo){ BookbuildingQueryRequest param = new BookbuildingQueryRequest(); - param.setIdCard(cardNo); + param.setCardNo(cardNo); param.setVcCardNo(vcCardNo); return babyBookbuildingFacade.queryBabyBuild(param); } @@ -108,7 +108,7 @@ public class BabyBookbuildingController extends BaseController{ @ResponseBody public BaseObjectResponse queryBabyBuildRecord(@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo){ BookbuildingQueryRequest param = new BookbuildingQueryRequest(); - param.setIdCard(cardNo); + param.setCardNo(cardNo); param.setVcCardNo(vcCardNo); return babyBookbuildingFacade.queryBabyBuildRecord(param); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java index 32020a3..34a1e9f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java @@ -95,10 +95,10 @@ public class BookbuildingController extends BaseController{ */ @RequestMapping(value = "/queryPregnantBuildRecord", method = RequestMethod.GET) @ResponseBody - public BaseListResponse queryPregnantBuildRecord(@RequestParam(required = false) String vcCardNo,@RequestParam(required = false) String idCard){ + public BaseListResponse queryPregnantBuildRecord(@RequestParam(required = false) String vcCardNo,@RequestParam(required = false) String cardNo){ BookbuildingQueryRequest bookbuildingQueryRequest = new BookbuildingQueryRequest(); bookbuildingQueryRequest.setVcCardNo(vcCardNo); - bookbuildingQueryRequest.setIdCard(idCard); + bookbuildingQueryRequest.setCardNo(cardNo); BaseListResponse listResponse = bookbuildingFacade.queryPregnantBuildRecord(bookbuildingQueryRequest); return listResponse; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 55ec12b..0041f5f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -359,10 +359,10 @@ public class BabyBookbuildingFacade { public BaseObjectResponse queryBabyBuild(BookbuildingQueryRequest param) { BabyBuildResult result = new BabyBuildResult(); - if (!StringUtils.isEmpty(param.getVcCardNo()) || !StringUtils.isEmpty(param.getIdCard())) + if (!StringUtils.isEmpty(param.getVcCardNo()) || !StringUtils.isEmpty(param.getCardNo())) { BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setMcertNo(param.getIdCard()); + babyQuery.setMcertNo(param.getCardNo()); babyQuery.setVcCardNo(param.getVcCardNo()); babyQuery.setYn(YnEnums.YES.getId()); @@ -407,7 +407,7 @@ public class BabyBookbuildingFacade { //服务状态 List serviceStatus = ServiceStatusEnums.getServiceStatusList(); - map.put("serviceStatus",serviceStatus); + map.put("serviceStatus", serviceStatus); BaseObjectResponse objectResponse = new BaseObjectResponse(); objectResponse.setData(map); @@ -425,14 +425,21 @@ public class BabyBookbuildingFacade { public BaseObjectResponse queryBabyBuildRecord(BookbuildingQueryRequest param) { List results = new ArrayList<>(); - if (!StringUtils.isEmpty(param.getVcCardNo()) || !StringUtils.isEmpty(param.getIdCard())) + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + List models = null; + if (!StringUtils.isEmpty(param.getVcCardNo())) { - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setMcertNo(param.getIdCard()); + babyQuery.setMcertNo(param.getCardNo()); + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + } + else if (!StringUtils.isEmpty(param.getCardNo()) && !StringUtils.isEmpty(String.valueOf(param.getHospitalId()))) + { + babyQuery.setHospitalId(param.getHospitalId()); babyQuery.setVcCardNo(param.getVcCardNo()); - babyQuery.setYn(YnEnums.YES.getId()); + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + } - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (models != null && models.size() > 0) { Set cardNos = new HashSet<>(); @@ -482,7 +489,7 @@ public class BabyBookbuildingFacade { results.add(result); } } - } + BaseObjectResponse objectResponse = new BaseObjectResponse(); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 4dda3eb..962b7a9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -16,6 +16,7 @@ import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.query.BasicConfigQuery; import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -50,10 +51,26 @@ public class BookbuildingFacade { */ public BaseObjectResponse addPregnantBookbuilding( YunBookbuildingAddRequest yunRequest) { + + BaseObjectResponse br = new BaseObjectResponse(); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(1); + patientsQuery.setHospitalId(yunRequest.getHospitalId()); + + //判断该身份证号码是否有孕妇建档 在该医院 + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patients)) + { + br.setErrorcode(ErrorCodeConstants.DATA_EXIST); + br.setErrormsg("孕妇在该医院已建档"); + return br; + } + Patients patient = getPatientsData(yunRequest); patient.setCreated(new Date()); Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); - BaseObjectResponse br = new BaseObjectResponse(); + if (p == null || p.getId() == null) { br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); @@ -87,18 +104,36 @@ public class BookbuildingFacade { public BaseListResponse queryPregnantBuildRecord(BookbuildingQueryRequest bookbuildingQueryRequest) { + List patients = new ArrayList<>(); - List> list = new ArrayList<>(); - List results = new ArrayList<>(); - if (!StringUtils.isEmpty(bookbuildingQueryRequest.getIdCard()) || !StringUtils.isEmpty(bookbuildingQueryRequest.getVcCardNo())) + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + //如果身份证号码不为空就以身份证号码查询 + if (!StringUtils.isEmpty(bookbuildingQueryRequest.getIdCard())) { - - PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setCardNo(bookbuildingQueryRequest.getIdCard()); - patientsQuery.setYn(YnEnums.YES.getId()); + patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + } + //否则用就诊卡号 查询到这个孕妇的身份证号码 再用身份证号码查询该孕妇的所有建档 包括产妇记录 + else if (!StringUtils.isEmpty(bookbuildingQueryRequest.getVcCardNo()) && !StringUtils.isEmpty(String.valueOf(bookbuildingQueryRequest.getHospitalId()))) + { patientsQuery.setVcCardNo(bookbuildingQueryRequest.getVcCardNo()); + patientsQuery.setHospitalId(bookbuildingQueryRequest.getHospitalId()); + List patientsVc = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patientsVc)) + { + patientsQuery.setHospitalId(null); + patientsQuery.setVcCardNo(null); + patientsQuery.setCardNo(patients.get(0).getCardNo()); + patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + } + } - List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + //历史建档记录 + List> list = new ArrayList<>(); + List results = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(patients)) + { for(Patients pat : patients) { if (pat != null) @@ -117,6 +152,7 @@ public class BookbuildingFacade { } + Map typeMap = new HashMap<>(); //证件类型 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BookbuildingQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BookbuildingQueryRequest.java index 2103f9d..271384e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BookbuildingQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BookbuildingQueryRequest.java @@ -8,18 +8,21 @@ import com.lyms.platform.common.core.annotation.form.Form; @Form public class BookbuildingQueryRequest { //身份号 - private String idCard; + private String cardNo; //就诊卡号 private String vcCardNo; //建档类型 private String bookbuildingType; - public String getIdCard() { - return idCard; + //医院ID + private Integer hospitalId; + + public String getCardNo() { + return cardNo; } - public void setIdCard(String idCard) { - this.idCard = idCard; + public void setCardNo(String cardNo) { + this.cardNo = cardNo; } public String getVcCardNo() { @@ -37,4 +40,12 @@ public class BookbuildingQueryRequest { public void setBookbuildingType(String bookbuildingType) { this.bookbuildingType = bookbuildingType; } + + public Integer getHospitalId() { + return hospitalId; + } + + public void setHospitalId(Integer hospitalId) { + this.hospitalId = hospitalId; + } } -- 1.8.3.1