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 bd0e4f8..e150548 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 @@ -316,12 +316,10 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if(!StringUtils.isEmpty(diagnose)){ condition=condition.and("diagnose", diagnose, MongoOper.LIKE); } - if(!StringUtils.isEmpty(phoneId)){ - condition=condition.and("phoneId", phoneId, MongoOper.LIKE); - } - - if(!StringUtils.isEmpty(cardId)){ - condition=condition.and("cardId", cardId, MongoOper.LIKE); + if(!StringUtils.isEmpty(phoneId) || !StringUtils.isEmpty(cardId)){ + MongoCondition con1 = MongoCondition.newInstance("phoneId", phoneId, MongoOper.LIKE); + MongoCondition con = MongoCondition.newInstance("cardId", cardId, MongoOper.LIKE); + condition = condition.orCondition(new MongoCondition[]{con1, con}); } if(null!=sex){ 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 d4fb94b..dd3edc5 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 @@ -125,13 +125,27 @@ public class BabyBookbuildingFacade { public BaseResponse updateBabyBookbuilding(BabyBookbuildingAddRequest request) { BabyModel model = getBabyModel(request); model.setModified(new Date()); + + if (StringUtils.isNotEmpty(request.getMommyCertificateNum())) { + + String cardId = request.getMommyCertificateNum() + + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())); + model.setCardId(cardId + request.getBabyName()); + } + if (StringUtils.isNotEmpty(request.getMommyPhone())) + { + String phoneId = request.getMommyPhone() + + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())); + model.setPhoneId(phoneId + request.getBabyName()); + } + if (!StringUtils.isEmpty(request.getPid())) { PersonModel pmodel = new PersonModel(); pmodel.setName(request.getBabyName()); pmodel.setBirth(DateUtil.parseYMD(request.getBabyBirthday())); pmodel.setPhone(request.getMommyPhone()); pmodel.setCardNo(request.getMommyCertificateNum()); - pmodel.setType(1); + pmodel.setType(2); pmodel.setYn(YnEnums.YES.getId()); pmodel.setModified(new Date()); personService.updatePerson(pmodel, request.getPid()); @@ -150,23 +164,30 @@ public class BabyBookbuildingFacade { */ public BaseObjectResponse addBabyBookbuilding(BabyBookbuildingAddRequest request) { - //判断儿童的就诊卡号是否建档 在该家医院 - if (StringUtils.isNotEmpty(request.getVcCardNo())) + //判断儿童是否建档在该医院 + if (StringUtils.isNotEmpty(request.getMommyPhone()) || StringUtils.isNotEmpty(request.getMommyCertificateNum())) { BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setYn(YnEnums.YES.getId()); - babyQuery.setVcCardNo(request.getVcCardNo()); + String phoneId = request.getMommyPhone() + + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())) +request.getBabyName(); + + String cardId = request.getMommyCertificateNum() + + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())) +request.getBabyName(); + babyQuery.setPhoneId(phoneId); + babyQuery.setCardId(cardId); babyQuery.setHospitalId(request.getHospitalId()); List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (CollectionUtils.isNotEmpty(models)) { BaseObjectResponse br = new BaseObjectResponse(); br.setErrorcode(ErrorCodeConstants.DATA_EXIST); - br.setErrormsg("该就诊卡号儿童已经建档"); + br.setErrormsg("儿童在医院已经建档"); return br; } } + //通过查询是否有该孕妇 PatientsQuery puerperaQuery = new PatientsQuery(); puerperaQuery.setCardNo(request.getMommyCertificateNum()); @@ -236,25 +257,18 @@ public class BabyBookbuildingFacade { BabyModel model = getBabyModel(request); model.setPid(resperson.getId()); - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setYn(YnEnums.YES.getId()); - - int count = 0; if (StringUtils.isNotEmpty(request.getMommyCertificateNum())) { String cardId = request.getMommyCertificateNum() + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())); - babyQuery.setCardId(cardId); - count = babyBookbuildingService.queryBabyCount(babyQuery); - model.setCardId(cardId + request.getSex() + (count + 1)); + //count = babyBookbuildingService.queryBabyCount(babyQuery); + model.setCardId(cardId + request.getBabyName()); } if (StringUtils.isNotEmpty(request.getMommyPhone())) { String phoneId = request.getMommyPhone() + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())); - babyQuery.setPhoneId(phoneId); - count = babyBookbuildingService.queryBabyCount(babyQuery); - model.setPhoneId(phoneId + request.getSex() + (count + 1)); + model.setPhoneId(phoneId + request.getBabyName()); } model.setParentId(patients.getId()); @@ -761,19 +775,18 @@ public class BabyBookbuildingFacade { List models = null; if (!StringUtils.isEmpty(param.getCardNo())) { babyQuery.setCardId(param.getCardNo()); - models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if (!CollectionUtils.isNotEmpty(models)) { - //通过查询孕妇 - PatientsQuery puerperaQuery = new PatientsQuery(); - puerperaQuery.setCardNo(param.getCardNo()); - puerperaQuery.setYn(YnEnums.YES.getId()); - Patients patients = patientsService.findOnePatientByCardNo(puerperaQuery); - if (patients != null && StringUtils.isNotEmpty(patients.getPhone())) { - babyQuery.setPhoneId(patients.getPhone()); - babyQuery.setCardId(null); - models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - } + + //通过查询孕妇 + PatientsQuery puerperaQuery = new PatientsQuery(); + puerperaQuery.setCardNo(param.getCardNo()); + puerperaQuery.setYn(YnEnums.YES.getId()); + Patients patients = patientsService.findOnePatientByCardNo(puerperaQuery); + if (patients != null && StringUtils.isNotEmpty(patients.getPhone())) { + babyQuery.setPhoneId(patients.getPhone()); } + + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + } else if (param.getHospitalId() != null & !StringUtils.isEmpty(param.getVcCardNo())) { babyQuery.setHospitalId(param.getHospitalId()); babyQuery.setVcCardNo(param.getVcCardNo()); @@ -784,15 +797,7 @@ public class BabyBookbuildingFacade { Set uid = new HashSet<>(); for (BabyModel model : models) { if (model != null) { - if (StringUtils.isNotEmpty(model.getCardId())) - { - uid.add(model.getCardId()); - } - else if (StringUtils.isNotEmpty(model.getPhoneId())) - { - uid.add(model.getPhoneId()); - } - + uid.add(model.getId()); } } @@ -803,7 +808,7 @@ public class BabyBookbuildingFacade { List> list = new ArrayList<>(); for (BabyModel model : models) { - if ((id.equals(model.getCardId()) || id.equals(model.getPhoneId())) && isNotExist(list, model.getId())) { + if (id.equals(model.getCardId())) { Map buildRecords = new HashMap<>(); buildRecords.put("id", model.getId()); buildRecords.put("buildDate", DateUtil.getyyyy_MM_dd(model.getBuildDate()));