Commit 346e6f714698619e58a6f2d6ade687c914ae78eb

Authored by liquanyu
1 parent f8a7b236a4

update code

Showing 1 changed file with 199 additions and 194 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ 346e6f7
... ... @@ -297,233 +297,238 @@
297 297 * @return
298 298 */
299 299 public BaseObjectResponse addBabyBookbuilding(BabyBookbuildingAddRequest request,Integer userId) {
  300 +
300 301 BaseObjectResponse br = new BaseObjectResponse();
  302 + try {
  303 + //判断儿童是否建档在该医院
  304 + if (StringUtils.isNotEmpty(request.getMommyPhone()) || StringUtils.isNotEmpty(request.getMommyCertificateNum())) {
  305 + BabyModelQuery babyQuery = new BabyModelQuery();
  306 + babyQuery.setYn(YnEnums.YES.getId());
  307 + String phoneId = request.getMommyPhone() +
  308 + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())) + request.getBabyName();
301 309  
302   - //判断儿童是否建档在该医院
303   - if (StringUtils.isNotEmpty(request.getMommyPhone()) || StringUtils.isNotEmpty(request.getMommyCertificateNum())) {
304   - BabyModelQuery babyQuery = new BabyModelQuery();
305   - babyQuery.setYn(YnEnums.YES.getId());
306   - String phoneId = request.getMommyPhone() +
307   - DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())) + request.getBabyName();
308   -
309   - String cardId = request.getMommyCertificateNum() +
310   - DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())) + request.getBabyName();
311   - babyQuery.setPhoneId(phoneId);
312   - babyQuery.setCardId(cardId);
313   - babyQuery.setHospitalId(request.getHospitalId());
314   - List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
315   - if (CollectionUtils.isNotEmpty(models)) {
316   - br.setErrorcode(ErrorCodeConstants.DATA_EXIST);
317   - br.setErrormsg("儿童在医院已经建档");
318   - return br;
  310 + String cardId = request.getMommyCertificateNum() +
  311 + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday())) + request.getBabyName();
  312 + babyQuery.setPhoneId(phoneId);
  313 + babyQuery.setCardId(cardId);
  314 + babyQuery.setHospitalId(request.getHospitalId());
  315 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  316 + if (CollectionUtils.isNotEmpty(models)) {
  317 + br.setErrorcode(ErrorCodeConstants.DATA_EXIST);
  318 + br.setErrormsg("儿童在医院已经建档");
  319 + return br;
  320 + }
319 321 }
320   - }
321 322  
322   - //判断就诊卡号是否已经建档
323   - if (StringUtils.isNotEmpty(request.getVcCardNo())) {
324   - BabyModelQuery babyQuery = new BabyModelQuery();
325   - babyQuery.setYn(YnEnums.YES.getId());
326   - babyQuery.setVcCardNo(request.getVcCardNo());
327   - babyQuery.setHospitalId(request.getHospitalId());
328   - List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
329   - if (CollectionUtils.isNotEmpty(models)) {
330   - br.setErrorcode(ErrorCodeConstants.DATA_EXIST);
331   - br.setErrormsg("儿童就诊卡号在该医院已经建档");
332   - return br;
333   - }
  323 + //判断就诊卡号是否已经建档
  324 + if (StringUtils.isNotEmpty(request.getVcCardNo())) {
  325 + BabyModelQuery babyQuery = new BabyModelQuery();
  326 + babyQuery.setYn(YnEnums.YES.getId());
  327 + babyQuery.setVcCardNo(request.getVcCardNo());
  328 + babyQuery.setHospitalId(request.getHospitalId());
  329 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  330 + if (CollectionUtils.isNotEmpty(models)) {
  331 + br.setErrorcode(ErrorCodeConstants.DATA_EXIST);
  332 + br.setErrormsg("儿童就诊卡号在该医院已经建档");
  333 + return br;
  334 + }
334 335  
335   - PatientsQuery patientsQuery = new PatientsQuery();
336   - patientsQuery.setVcCardNo(request.getVcCardNo());
337   - patientsQuery.setHospitalId(request.getHospitalId());
338   - List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
339   - if (CollectionUtils.isNotEmpty(patients)) {
340   - br.setErrorcode(ErrorCodeConstants.DATA_EXIST);
341   - br.setErrormsg("该就诊卡号在该医院已经建档");
342   - return br;
  336 + PatientsQuery patientsQuery = new PatientsQuery();
  337 + patientsQuery.setVcCardNo(request.getVcCardNo());
  338 + patientsQuery.setHospitalId(request.getHospitalId());
  339 + List<Patients> patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  340 + if (CollectionUtils.isNotEmpty(patients)) {
  341 + br.setErrorcode(ErrorCodeConstants.DATA_EXIST);
  342 + br.setErrormsg("该就诊卡号在该医院已经建档");
  343 + return br;
  344 + }
343 345 }
344   - }
345 346  
346   - Patients patients = null;
347   - PersonModel resperson = null;
348   - String babyPersonId = "";
349   - //更新儿童基本信息的内容
350   - PersonModel babyPerson = new PersonModel();
351   - babyPerson.setName(request.getBabyName());
352   - babyPerson.setBirth(DateUtil.parseYMD(request.getBabyBirthday()));
353   - babyPerson.setPhone(request.getMommyPhone());
354   - babyPerson.setCardNo(request.getMommyCertificateNum());
355   - babyPerson.setType(2);
356   - babyPerson.setYn(YnEnums.YES.getId());
357   - babyPerson.setModified(new Date());
358   - if (StringUtils.isNotEmpty(request.getPid())) {
359   - babyPersonId = request.getPid();
360   - personService.updatePerson(babyPerson, request.getPid());
361   - } else {
  347 + Patients patients = null;
  348 + PersonModel resperson = null;
  349 + String babyPersonId = "";
  350 + //更新儿童基本信息的内容
  351 + PersonModel babyPerson = new PersonModel();
  352 + babyPerson.setName(request.getBabyName());
  353 + babyPerson.setBirth(DateUtil.parseYMD(request.getBabyBirthday()));
  354 + babyPerson.setPhone(request.getMommyPhone());
  355 + babyPerson.setCardNo(request.getMommyCertificateNum());
  356 + babyPerson.setType(2);
362 357 babyPerson.setYn(YnEnums.YES.getId());
363   - babyPerson.setCreated(new Date());
364   - resperson = personService.addPerson(babyPerson);
365   - babyPersonId = resperson.getId();
366   - }
  358 + babyPerson.setModified(new Date());
  359 + if (StringUtils.isNotEmpty(request.getPid())) {
  360 + babyPersonId = request.getPid();
  361 + personService.updatePerson(babyPerson, request.getPid());
  362 + } else {
  363 + babyPerson.setYn(YnEnums.YES.getId());
  364 + babyPerson.setCreated(new Date());
  365 + resperson = personService.addPerson(babyPerson);
  366 + babyPersonId = resperson.getId();
  367 + }
367 368  
368 369  
369   - //查询孕妇或者产妇建档的基本信息
370   - PersonModelQuery personYunModelQuery = new PersonModelQuery();
371   -// personYunModelQuery.setPhone(request.getMommyPhone());
372   - personYunModelQuery.setYn(YnEnums.YES.getId());
373   - personYunModelQuery.setTypes(new Integer[]{1, 3});
374   - personYunModelQuery.setCardNo(request.getMommyCertificateNum());
375   - List<PersonModel> personYunModels = personService.queryPersons(personYunModelQuery);
376   - if (CollectionUtils.isNotEmpty(personYunModels)) {
377   - PersonModel pm = personYunModels.get(0);
378   - if (pm != null) {
379   - //查询最后一次建档记录
380   - PatientsQuery patientsQuery = new PatientsQuery();
381   - patientsQuery.setYn(YnEnums.YES.getId());
382   - patientsQuery.setPid(pm.getId());
383   - List<Patients> pats = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
384   - if (CollectionUtils.isNotEmpty(pats)) {
  370 + //查询孕妇或者产妇建档的基本信息
  371 + PersonModelQuery personYunModelQuery = new PersonModelQuery();
  372 + // personYunModelQuery.setPhone(request.getMommyPhone());
  373 + personYunModelQuery.setYn(YnEnums.YES.getId());
  374 + personYunModelQuery.setTypes(new Integer[]{1, 3});
  375 + personYunModelQuery.setCardNo(request.getMommyCertificateNum());
  376 + List<PersonModel> personYunModels = personService.queryPersons(personYunModelQuery);
  377 + if (CollectionUtils.isNotEmpty(personYunModels)) {
  378 + PersonModel pm = personYunModels.get(0);
  379 + if (pm != null) {
  380 + //查询最后一次建档记录
  381 + PatientsQuery patientsQuery = new PatientsQuery();
  382 + patientsQuery.setYn(YnEnums.YES.getId());
  383 + patientsQuery.setPid(pm.getId());
  384 + List<Patients> pats = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  385 + if (CollectionUtils.isNotEmpty(pats)) {
385 386  
386   - //当前状态为 孕妇状态
387   - if (pm.getType() != null && pm.getType() == 1) {
388   - boolean isUpdatePatStatus = false;
389   - for (Patients pat : pats) {
390   - if (pat == null) {
391   - continue;
392   - }
  387 + //当前状态为 孕妇状态
  388 + if (pm.getType() != null && pm.getType() == 1) {
  389 + boolean isUpdatePatStatus = false;
  390 + for (Patients pat : pats) {
  391 + if (pat == null) {
  392 + continue;
  393 + }
393 394  
394   - //找到当前医院的孕妇建档
395   - if (pat.getHospitalId() != null && pat.getHospitalId().equals(request.getHospitalId())) {
396   - patients = pat;
397   - }
  395 + //找到当前医院的孕妇建档
  396 + if (pat.getHospitalId() != null && pat.getHospitalId().equals(request.getHospitalId())) {
  397 + patients = pat;
  398 + }
398 399  
399   - if (pat.getType() != null && pat.getType() == 1) {
  400 + if (pat.getType() != null && pat.getType() == 1) {
400 401  
401   - //判断在儿童建档的时候,是否设置到这个儿童对应的孕妇 设置成产妇
402   - //计算规则 儿童生日 >= 孕妇末次月经 + 24周 设置成分娩 (高帆 2016-08-09 16:47定 )
403   - Date lastMenses = pat.getLastMenses();
404   - if (lastMenses != null && request.getBabyBirthday() != null) {
405   - Date brith = DateUtil.parseYMD(request.getBabyBirthday());
406   - Date tempDate = DateUtil.addWeek(lastMenses, 24);
407   - if (brith.getTime() >= tempDate.getTime()) {
408   - //设置孕妇已分娩
409   - Patients patientUpdate = new Patients();
410   - patientUpdate.setYn(YnEnums.YES.getId());
411   - patientUpdate.setType(3);
412   - patientUpdate.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate()));
413   - patientsService.updatePatientByPid(patientUpdate, pm.getId());
414   - if (!isUpdatePatStatus) {
415   - isUpdatePatStatus = true;
416   - }
  402 + //判断在儿童建档的时候,是否设置到这个儿童对应的孕妇 设置成产妇
  403 + //计算规则 儿童生日 >= 孕妇末次月经 + 24周 设置成分娩 (高帆 2016-08-09 16:47定 )
  404 + Date lastMenses = pat.getLastMenses();
  405 + if (lastMenses != null && request.getBabyBirthday() != null) {
  406 + Date brith = DateUtil.parseYMD(request.getBabyBirthday());
  407 + Date tempDate = DateUtil.addWeek(lastMenses, 24);
  408 + if (brith.getTime() >= tempDate.getTime()) {
  409 + //设置孕妇已分娩
  410 + Patients patientUpdate = new Patients();
  411 + patientUpdate.setYn(YnEnums.YES.getId());
  412 + patientUpdate.setType(3);
  413 + patientUpdate.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate()));
  414 + patientsService.updatePatientByPid(patientUpdate, pm.getId());
  415 + if (!isUpdatePatStatus) {
  416 + isUpdatePatStatus = true;
  417 + }
417 418  
  419 + }
418 420 }
419 421 }
420 422 }
421   - }
422 423  
423   - if (isUpdatePatStatus) {
424   - pm.setType(3);//基本信息更新成产妇
425   - personService.updatePerson(pm, pm.getId());
426   - }
427   - } else if (pm.getType() != null && pm.getType() == 3) {
428   - //儿童建档时 需要修改自动分娩的产妇
429   - for (Patients patients1 : pats) {
430   - //自动分娩类型
431   - if (null != patients1.getBuildType() && 2 == patients1.getBuildType()) {
432   - Date lastMenses = patients1.getLastMenses();
433   - if (lastMenses != null && request.getBabyBirthday() != null) {
434   - Date brith = DateUtil.parseYMD(request.getBabyBirthday());
435   - Date tempDate = DateUtil.addWeek(lastMenses, 24);
436   - if (brith.getTime() >= tempDate.getTime()) {
437   - Patients patients2 = new Patients();
438   - patients2.setId(patients1.getId());
439   - patients2.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate()));
440   - patients2.setBuildType(0);
441   - patientsService.updatePatient(patients2);
  424 + if (isUpdatePatStatus) {
  425 + pm.setType(3);//基本信息更新成产妇
  426 + personService.updatePerson(pm, pm.getId());
  427 + }
  428 + } else if (pm.getType() != null && pm.getType() == 3) {
  429 + //儿童建档时 需要修改自动分娩的产妇
  430 + for (Patients patients1 : pats) {
  431 + //自动分娩类型
  432 + if (null != patients1.getBuildType() && 2 == patients1.getBuildType()) {
  433 + Date lastMenses = patients1.getLastMenses();
  434 + if (lastMenses != null && request.getBabyBirthday() != null) {
  435 + Date brith = DateUtil.parseYMD(request.getBabyBirthday());
  436 + Date tempDate = DateUtil.addWeek(lastMenses, 24);
  437 + if (brith.getTime() >= tempDate.getTime()) {
  438 + Patients patients2 = new Patients();
  439 + patients2.setId(patients1.getId());
  440 + patients2.setFmDate(StringUtils.isEmpty(request.getDueDate()) ? DateUtil.parseYMD(request.getBabyBirthday()) : DateUtil.parseYMD(request.getDueDate()));
  441 + patients2.setBuildType(0);
  442 + patientsService.updatePatient(patients2);
  443 + }
442 444 }
443 445 }
444 446 }
445 447 }
446   - }
447 448  
448   - if (patients == null) {
449   - //添加产妇建档
450   - Patients patient = getPatientsData(request);
451   - patient.setPid(pm.getId());
452   - patient.setCreated(new Date());
453   - patients = yunBookbuildingService.addPregnantBookbuilding(patient);
  449 + if (patients == null) {
  450 + //添加产妇建档
  451 + Patients patient = getPatientsData(request);
  452 + patient.setPid(pm.getId());
  453 + patient.setCreated(new Date());
  454 + patients = yunBookbuildingService.addPregnantBookbuilding(patient);
  455 + }
454 456 }
  457 +
455 458 }
  459 + }
  460 + //没有孕妇基本信息就新建产妇建档 和基本信息
  461 + else {
  462 + //添加产妇基本信息
  463 + PersonModel pmodel = new PersonModel();
  464 + pmodel.setName(request.getMommyName());
  465 + pmodel.setBirth(DateUtil.parseYMD(request.getMommyBirthday()));
  466 + pmodel.setPhone(request.getMommyPhone());
  467 + pmodel.setCardNo(request.getMommyCertificateNum());
  468 + pmodel.setType(3);
  469 + pmodel.setYn(YnEnums.YES.getId());
  470 + pmodel.setModified(new Date());
  471 + pmodel.setCreated(new Date());
456 472  
  473 + PersonModel yunModel = personService.addPerson(pmodel);
  474 +
  475 + //添加产妇建档
  476 + Patients patient = getPatientsData(request);
  477 + patient.setPid(yunModel.getId());
  478 + patient.setCreated(new Date());
  479 + patients = yunBookbuildingService.addPregnantBookbuilding(patient);
457 480 }
458   - }
459   - //没有孕妇基本信息就新建产妇建档 和基本信息
460   - else {
461   - //添加产妇基本信息
462   - PersonModel pmodel = new PersonModel();
463   - pmodel.setName(request.getMommyName());
464   - pmodel.setBirth(DateUtil.parseYMD(request.getMommyBirthday()));
465   - pmodel.setPhone(request.getMommyPhone());
466   - pmodel.setCardNo(request.getMommyCertificateNum());
467   - pmodel.setType(3);
468   - pmodel.setYn(YnEnums.YES.getId());
469   - pmodel.setModified(new Date());
470   - pmodel.setCreated(new Date());
471 481  
472   - PersonModel yunModel = personService.addPerson(pmodel);
473 482  
474   - //添加产妇建档
475   - Patients patient = getPatientsData(request);
476   - patient.setPid(yunModel.getId());
477   - patient.setCreated(new Date());
478   - patients = yunBookbuildingService.addPregnantBookbuilding(patient);
479   - }
  483 + if (patients == null) {
  484 + br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
  485 + br.setErrormsg("失败");
  486 + return br;
  487 + }
480 488  
  489 + BabyModel model = getBabyModel(request);
  490 + model.setPid(babyPersonId);
  491 + model.setOperator(userId);
  492 + if (StringUtils.isNotEmpty(request.getMommyCertificateNum())) {
481 493  
482   - if (patients == null) {
483   - br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
484   - br.setErrormsg("失败");
485   - return br;
486   - }
  494 + String cardId = request.getMommyCertificateNum() +
  495 + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday()));
  496 + model.setCardId(cardId + request.getBabyName());
  497 + }
  498 + if (StringUtils.isNotEmpty(request.getMommyPhone())) {
  499 + String phoneId = request.getMommyPhone() +
  500 + DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday()));
  501 + model.setPhoneId(phoneId + request.getBabyName());
  502 + }
487 503  
488   - BabyModel model = getBabyModel(request);
489   - model.setPid(babyPersonId);
490   - model.setOperator(userId);
491   - if (StringUtils.isNotEmpty(request.getMommyCertificateNum())) {
  504 + if (patients.getId() != null) {
  505 + model.setParentId(patients.getId());
  506 + }
  507 + model.setCreated(new Date());
  508 + model.setModified(new Date());
  509 + model.setBuildType(1);
  510 + model.setHospitalId(request.getHospitalId());
  511 + // String hospitalName = organizationService.getOrganization(Integer.valueOf(request.getHospitalId())).getName();
  512 + model = babyBookbuildingService.addBabyBookbuilding(model);
492 513  
493   - String cardId = request.getMommyCertificateNum() +
494   - DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday()));
495   - model.setCardId(cardId + request.getBabyName());
496   - }
497   - if (StringUtils.isNotEmpty(request.getMommyPhone())) {
498   - String phoneId = request.getMommyPhone() +
499   - DateUtil.getYmd(DateUtil.parseYMD(request.getBabyBirthday()));
500   - model.setPhoneId(phoneId + request.getBabyName());
501   - }
  514 + if (model == null || model.getId() == null) {
  515 + br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
  516 + br.setErrormsg("保存失败");
  517 + return br;
  518 + }
  519 + //创建建档短信
  520 + createBuildSms(model);
502 521  
503   - if (patients.getId() != null) {
504   - model.setParentId(patients.getId());
  522 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  523 + br.setErrormsg("成功");
  524 + br.setData(model.getId());
505 525 }
506   - model.setCreated(new Date());
507   - model.setModified(new Date());
508   - model.setBuildType(1);
509   - model.setHospitalId(request.getHospitalId());
510   - // String hospitalName = organizationService.getOrganization(Integer.valueOf(request.getHospitalId())).getName();
511   - model = babyBookbuildingService.addBabyBookbuilding(model);
512   -
513   - if (model == null || model.getId() == null) {
514   - br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
515   - br.setErrormsg("保存失败");
516   - return br;
  526 + catch (Exception e)
  527 + {
  528 + br = new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION);
  529 + ExceptionUtils.catchException(e, "add baby building 异常");
517 530 }
518   - //创建建档短信
519   - createBuildSms(model);
520   -
521   - br.setErrorcode(ErrorCodeConstants.SUCCESS);
522   - br.setErrormsg("成功");
523   - br.setData(model.getId());
524   -
525 531 return br;
526   -
527 532 }
528 533  
529 534