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 f378ccc..5ea255f 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 @@ -297,233 +297,238 @@ public class BabyBookbuildingFacade { * @return */ public BaseObjectResponse addBabyBookbuilding(BabyBookbuildingAddRequest request,Integer userId) { - BaseObjectResponse br = new BaseObjectResponse(); - - //判断儿童是否建档在该医院 - if (StringUtils.isNotEmpty(request.getMommyPhone()) || StringUtils.isNotEmpty(request.getMommyCertificateNum())) { - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setYn(YnEnums.YES.getId()); - 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)) { - br.setErrorcode(ErrorCodeConstants.DATA_EXIST); - br.setErrormsg("儿童在医院已经建档"); - return br; + BaseObjectResponse br = new BaseObjectResponse(); + try { + //判断儿童是否建档在该医院 + if (StringUtils.isNotEmpty(request.getMommyPhone()) || StringUtils.isNotEmpty(request.getMommyCertificateNum())) { + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + 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)) { + br.setErrorcode(ErrorCodeConstants.DATA_EXIST); + br.setErrormsg("儿童在医院已经建档"); + return br; + } } - } - //判断就诊卡号是否已经建档 - if (StringUtils.isNotEmpty(request.getVcCardNo())) { - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setYn(YnEnums.YES.getId()); - babyQuery.setVcCardNo(request.getVcCardNo()); - babyQuery.setHospitalId(request.getHospitalId()); - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if (CollectionUtils.isNotEmpty(models)) { - br.setErrorcode(ErrorCodeConstants.DATA_EXIST); - br.setErrormsg("儿童就诊卡号在该医院已经建档"); - return br; - } + //判断就诊卡号是否已经建档 + if (StringUtils.isNotEmpty(request.getVcCardNo())) { + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setVcCardNo(request.getVcCardNo()); + babyQuery.setHospitalId(request.getHospitalId()); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(models)) { + br.setErrorcode(ErrorCodeConstants.DATA_EXIST); + br.setErrormsg("儿童就诊卡号在该医院已经建档"); + return br; + } - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setVcCardNo(request.getVcCardNo()); - patientsQuery.setHospitalId(request.getHospitalId()); - List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) { - br.setErrorcode(ErrorCodeConstants.DATA_EXIST); - br.setErrormsg("该就诊卡号在该医院已经建档"); - return br; + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setVcCardNo(request.getVcCardNo()); + patientsQuery.setHospitalId(request.getHospitalId()); + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patients)) { + br.setErrorcode(ErrorCodeConstants.DATA_EXIST); + br.setErrormsg("该就诊卡号在该医院已经建档"); + return br; + } } - } - Patients patients = null; - PersonModel resperson = null; - String babyPersonId = ""; - //更新儿童基本信息的内容 - PersonModel babyPerson = new PersonModel(); - babyPerson.setName(request.getBabyName()); - babyPerson.setBirth(DateUtil.parseYMD(request.getBabyBirthday())); - babyPerson.setPhone(request.getMommyPhone()); - babyPerson.setCardNo(request.getMommyCertificateNum()); - babyPerson.setType(2); - babyPerson.setYn(YnEnums.YES.getId()); - babyPerson.setModified(new Date()); - if (StringUtils.isNotEmpty(request.getPid())) { - babyPersonId = request.getPid(); - personService.updatePerson(babyPerson, request.getPid()); - } else { + Patients patients = null; + PersonModel resperson = null; + String babyPersonId = ""; + //更新儿童基本信息的内容 + PersonModel babyPerson = new PersonModel(); + babyPerson.setName(request.getBabyName()); + babyPerson.setBirth(DateUtil.parseYMD(request.getBabyBirthday())); + babyPerson.setPhone(request.getMommyPhone()); + babyPerson.setCardNo(request.getMommyCertificateNum()); + babyPerson.setType(2); babyPerson.setYn(YnEnums.YES.getId()); - babyPerson.setCreated(new Date()); - resperson = personService.addPerson(babyPerson); - babyPersonId = resperson.getId(); - } + babyPerson.setModified(new Date()); + if (StringUtils.isNotEmpty(request.getPid())) { + babyPersonId = request.getPid(); + personService.updatePerson(babyPerson, request.getPid()); + } else { + babyPerson.setYn(YnEnums.YES.getId()); + babyPerson.setCreated(new Date()); + resperson = personService.addPerson(babyPerson); + babyPersonId = resperson.getId(); + } - //查询孕妇或者产妇建档的基本信息 - PersonModelQuery personYunModelQuery = new PersonModelQuery(); -// personYunModelQuery.setPhone(request.getMommyPhone()); - personYunModelQuery.setYn(YnEnums.YES.getId()); - personYunModelQuery.setTypes(new Integer[]{1, 3}); - personYunModelQuery.setCardNo(request.getMommyCertificateNum()); - List personYunModels = personService.queryPersons(personYunModelQuery); - if (CollectionUtils.isNotEmpty(personYunModels)) { - PersonModel pm = personYunModels.get(0); - if (pm != null) { - //查询最后一次建档记录 - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - patientsQuery.setPid(pm.getId()); - List pats = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); - if (CollectionUtils.isNotEmpty(pats)) { - - //当前状态为 孕妇状态 - if (pm.getType() != null && pm.getType() == 1) { - boolean isUpdatePatStatus = false; - for (Patients pat : pats) { - if (pat == null) { - continue; - } + //查询孕妇或者产妇建档的基本信息 + PersonModelQuery personYunModelQuery = new PersonModelQuery(); + // personYunModelQuery.setPhone(request.getMommyPhone()); + personYunModelQuery.setYn(YnEnums.YES.getId()); + personYunModelQuery.setTypes(new Integer[]{1, 3}); + personYunModelQuery.setCardNo(request.getMommyCertificateNum()); + List personYunModels = personService.queryPersons(personYunModelQuery); + if (CollectionUtils.isNotEmpty(personYunModels)) { + PersonModel pm = personYunModels.get(0); + if (pm != null) { + //查询最后一次建档记录 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setPid(pm.getId()); + List pats = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(pats)) { + + //当前状态为 孕妇状态 + if (pm.getType() != null && pm.getType() == 1) { + boolean isUpdatePatStatus = false; + for (Patients pat : pats) { + if (pat == null) { + continue; + } - //找到当前医院的孕妇建档 - if (pat.getHospitalId() != null && pat.getHospitalId().equals(request.getHospitalId())) { - patients = pat; - } + //找到当前医院的孕妇建档 + if (pat.getHospitalId() != null && pat.getHospitalId().equals(request.getHospitalId())) { + patients = pat; + } - if (pat.getType() != null && pat.getType() == 1) { - - //判断在儿童建档的时候,是否设置到这个儿童对应的孕妇 设置成产妇 - //计算规则 儿童生日 >= 孕妇末次月经 + 24周 设置成分娩 (高帆 2016-08-09 16:47定 ) - Date lastMenses = pat.getLastMenses(); - if (lastMenses != null && request.getBabyBirthday() != null) { - Date brith = DateUtil.parseYMD(request.getBabyBirthday()); - Date tempDate = DateUtil.addWeek(lastMenses, 24); - if (brith.getTime() >= tempDate.getTime()) { - //设置孕妇已分娩 - Patients patientUpdate = new Patients(); - patientUpdate.setYn(YnEnums.YES.getId()); - patientUpdate.setType(3); - patientUpdate.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate())); - patientsService.updatePatientByPid(patientUpdate, pm.getId()); - if (!isUpdatePatStatus) { - isUpdatePatStatus = true; - } + if (pat.getType() != null && pat.getType() == 1) { + + //判断在儿童建档的时候,是否设置到这个儿童对应的孕妇 设置成产妇 + //计算规则 儿童生日 >= 孕妇末次月经 + 24周 设置成分娩 (高帆 2016-08-09 16:47定 ) + Date lastMenses = pat.getLastMenses(); + if (lastMenses != null && request.getBabyBirthday() != null) { + Date brith = DateUtil.parseYMD(request.getBabyBirthday()); + Date tempDate = DateUtil.addWeek(lastMenses, 24); + if (brith.getTime() >= tempDate.getTime()) { + //设置孕妇已分娩 + Patients patientUpdate = new Patients(); + patientUpdate.setYn(YnEnums.YES.getId()); + patientUpdate.setType(3); + patientUpdate.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate())); + patientsService.updatePatientByPid(patientUpdate, pm.getId()); + if (!isUpdatePatStatus) { + isUpdatePatStatus = true; + } + } } } } - } - if (isUpdatePatStatus) { - pm.setType(3);//基本信息更新成产妇 - personService.updatePerson(pm, pm.getId()); - } - } else if (pm.getType() != null && pm.getType() == 3) { - //儿童建档时 需要修改自动分娩的产妇 - for (Patients patients1 : pats) { - //自动分娩类型 - if (null != patients1.getBuildType() && 2 == patients1.getBuildType()) { - Date lastMenses = patients1.getLastMenses(); - if (lastMenses != null && request.getBabyBirthday() != null) { - Date brith = DateUtil.parseYMD(request.getBabyBirthday()); - Date tempDate = DateUtil.addWeek(lastMenses, 24); - if (brith.getTime() >= tempDate.getTime()) { - Patients patients2 = new Patients(); - patients2.setId(patients1.getId()); - patients2.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate())); - patients2.setBuildType(0); - patientsService.updatePatient(patients2); + if (isUpdatePatStatus) { + pm.setType(3);//基本信息更新成产妇 + personService.updatePerson(pm, pm.getId()); + } + } else if (pm.getType() != null && pm.getType() == 3) { + //儿童建档时 需要修改自动分娩的产妇 + for (Patients patients1 : pats) { + //自动分娩类型 + if (null != patients1.getBuildType() && 2 == patients1.getBuildType()) { + Date lastMenses = patients1.getLastMenses(); + if (lastMenses != null && request.getBabyBirthday() != null) { + Date brith = DateUtil.parseYMD(request.getBabyBirthday()); + Date tempDate = DateUtil.addWeek(lastMenses, 24); + if (brith.getTime() >= tempDate.getTime()) { + Patients patients2 = new Patients(); + patients2.setId(patients1.getId()); + patients2.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate())); + patients2.setBuildType(0); + patientsService.updatePatient(patients2); + } } } } } - } - if (patients == null) { - //添加产妇建档 - Patients patient = getPatientsData(request); - patient.setPid(pm.getId()); - patient.setCreated(new Date()); - patients = yunBookbuildingService.addPregnantBookbuilding(patient); + if (patients == null) { + //添加产妇建档 + Patients patient = getPatientsData(request); + patient.setPid(pm.getId()); + patient.setCreated(new Date()); + patients = yunBookbuildingService.addPregnantBookbuilding(patient); + } } - } + } + } + //没有孕妇基本信息就新建产妇建档 和基本信息 + else { + //添加产妇基本信息 + PersonModel pmodel = new PersonModel(); + pmodel.setName(request.getMommyName()); + pmodel.setBirth(DateUtil.parseYMD(request.getMommyBirthday())); + pmodel.setPhone(request.getMommyPhone()); + pmodel.setCardNo(request.getMommyCertificateNum()); + pmodel.setType(3); + pmodel.setYn(YnEnums.YES.getId()); + pmodel.setModified(new Date()); + pmodel.setCreated(new Date()); + + PersonModel yunModel = personService.addPerson(pmodel); + + //添加产妇建档 + Patients patient = getPatientsData(request); + patient.setPid(yunModel.getId()); + patient.setCreated(new Date()); + patients = yunBookbuildingService.addPregnantBookbuilding(patient); } - } - //没有孕妇基本信息就新建产妇建档 和基本信息 - else { - //添加产妇基本信息 - PersonModel pmodel = new PersonModel(); - pmodel.setName(request.getMommyName()); - pmodel.setBirth(DateUtil.parseYMD(request.getMommyBirthday())); - pmodel.setPhone(request.getMommyPhone()); - pmodel.setCardNo(request.getMommyCertificateNum()); - pmodel.setType(3); - pmodel.setYn(YnEnums.YES.getId()); - pmodel.setModified(new Date()); - pmodel.setCreated(new Date()); - PersonModel yunModel = personService.addPerson(pmodel); - //添加产妇建档 - Patients patient = getPatientsData(request); - patient.setPid(yunModel.getId()); - patient.setCreated(new Date()); - patients = yunBookbuildingService.addPregnantBookbuilding(patient); - } + if (patients == null) { + br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + br.setErrormsg("失败"); + return br; + } + BabyModel model = getBabyModel(request); + model.setPid(babyPersonId); + model.setOperator(userId); + if (StringUtils.isNotEmpty(request.getMommyCertificateNum())) { - if (patients == null) { - br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); - br.setErrormsg("失败"); - return br; - } - - BabyModel model = getBabyModel(request); - model.setPid(babyPersonId); - model.setOperator(userId); - 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()); + } - 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 (patients.getId() != null) { + model.setParentId(patients.getId()); + } + model.setCreated(new Date()); + model.setModified(new Date()); + model.setBuildType(1); + model.setHospitalId(request.getHospitalId()); + // String hospitalName = organizationService.getOrganization(Integer.valueOf(request.getHospitalId())).getName(); + model = babyBookbuildingService.addBabyBookbuilding(model); + + if (model == null || model.getId() == null) { + br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + br.setErrormsg("保存失败"); + return br; + } + //创建建档短信 + createBuildSms(model); - if (patients.getId() != null) { - model.setParentId(patients.getId()); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(model.getId()); } - model.setCreated(new Date()); - model.setModified(new Date()); - model.setBuildType(1); - model.setHospitalId(request.getHospitalId()); - // String hospitalName = organizationService.getOrganization(Integer.valueOf(request.getHospitalId())).getName(); - model = babyBookbuildingService.addBabyBookbuilding(model); - - if (model == null || model.getId() == null) { - br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); - br.setErrormsg("保存失败"); - return br; + catch (Exception e) + { + br = new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + ExceptionUtils.catchException(e, "add baby building 异常"); } - //创建建档短信 - createBuildSms(model); - - br.setErrorcode(ErrorCodeConstants.SUCCESS); - br.setErrormsg("成功"); - br.setData(model.getId()); - return br; - }