Commit 31dcb1b61c71924a4327def6e0079b3bb5b283ad
1 parent
1f4b488e26
Exists in
master
and in
6 other branches
新生儿实验室
Showing 3 changed files with 279 additions and 22 deletions
platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java
View file @
31dcb1b
... | ... | @@ -25,7 +25,25 @@ |
25 | 25 | private Date applyDateEnd;//申请结束时间 |
26 | 26 | private String testNumber;//血样码 |
27 | 27 | private String collectHospitalId;//申请医院(采血单位) |
28 | + private String sendCheckHospitalId;//送检医院 | |
29 | + private String order; | |
28 | 30 | |
31 | + public String getOrder() { | |
32 | + return order; | |
33 | + } | |
34 | + | |
35 | + public void setOrder(String order) { | |
36 | + this.order = order; | |
37 | + } | |
38 | + | |
39 | + public String getSendCheckHospitalId() { | |
40 | + return sendCheckHospitalId; | |
41 | + } | |
42 | + | |
43 | + public void setSendCheckHospitalId(String sendCheckHospitalId) { | |
44 | + this.sendCheckHospitalId = sendCheckHospitalId; | |
45 | + } | |
46 | + | |
29 | 47 | public Date getApplyDateStrat() { |
30 | 48 | return applyDateStrat; |
31 | 49 | } |
... | ... | @@ -121,6 +139,9 @@ |
121 | 139 | } |
122 | 140 | if(collectHospitalId != null){ |
123 | 141 | condition = condition.and("collectHospitalId", collectHospitalId, MongoOper.IS); |
142 | + } | |
143 | + if(sendCheckHospitalId != null){ | |
144 | + condition = condition.and("sendCheckHospitalId", sendCheckHospitalId, MongoOper.IS); | |
124 | 145 | } |
125 | 146 | Criteria c = null; |
126 | 147 | if(null != applyDateStrat){ |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java
View file @
31dcb1b
... | ... | @@ -27,6 +27,7 @@ |
27 | 27 | import com.lyms.platform.query.BabySieveQuery; |
28 | 28 | import com.lyms.platform.query.MatDeliverQuery; |
29 | 29 | import com.lyms.platform.query.PatientsQuery; |
30 | +import com.mchange.v1.util.ListUtils; | |
30 | 31 | import org.apache.commons.collections.CollectionUtils; |
31 | 32 | import org.apache.commons.lang.StringUtils; |
32 | 33 | import org.springframework.beans.factory.annotation.Autowired; |
33 | 34 | |
34 | 35 | |
35 | 36 | |
36 | 37 | |
37 | 38 | |
38 | 39 | |
39 | 40 | |
40 | 41 | |
41 | 42 | |
... | ... | @@ -442,38 +443,262 @@ |
442 | 443 | * @return |
443 | 444 | */ |
444 | 445 | public BabySieveManagerResult getBabySieveLab(BabySieveAddRequest babySieveAddRequest){ |
446 | + int status = 0; | |
445 | 447 | BabySieveManagerResult babySieveManagerResult = new BabySieveManagerResult(); |
446 | 448 | BabySieveQuery babySieveQuery = new BabySieveQuery(); |
447 | - if(StringUtils.isNotEmpty(babySieveAddRequest.getCollectHospitalId())){ | |
448 | - babySieveQuery.setCollectHospitalId(babySieveAddRequest.getCollectHospitalId()); | |
449 | - } | |
450 | - if(StringUtils.isNotEmpty(babySieveAddRequest.getApplyDate())){ | |
451 | - try { | |
452 | - babySieveQuery.setApplyDateStrat(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[0]); | |
453 | - babySieveQuery.setApplyDateEnd(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[1]); | |
454 | - } catch (Exception e) { | |
455 | - e.printStackTrace(); | |
449 | + //只能查询出送检医院为本机构的筛查信息 | |
450 | + //babySieveQuery.setSendCheckHospitalId(autoMatchFacade.getHospitalId(babySieveAddRequest.getOperatorId())); | |
451 | + babySieveQuery.setSendCheckHospitalId("216"); | |
452 | + babySieveQuery.setPage(babySieveAddRequest.getPage()); | |
453 | + babySieveQuery.setLimit(babySieveAddRequest.getLimit()); | |
454 | + babySieveQuery.setNeed("Need"); | |
455 | + babySieveQuery.setOrder("created"); | |
456 | + List<BabySieveModel> babySieveList = babySieveService.getBabySieveQuery(babySieveQuery); | |
457 | + List<BabySieveManager> babySieveManagerLiat = new ArrayList<BabySieveManager>(); | |
458 | + //判断是否有筛查申请及结果数据 | |
459 | + if(babySieveList != null && babySieveList.size() > 0){ | |
460 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getCollectHospitalId())){ | |
461 | + babySieveQuery.setCollectHospitalId(babySieveAddRequest.getCollectHospitalId()); | |
462 | + status = 1; | |
456 | 463 | } |
457 | - } | |
458 | - if(StringUtils.isNotEmpty(babySieveAddRequest.getTestNumber())){ | |
459 | - babySieveQuery.setTestNumber(babySieveAddRequest.getTestNumber()); | |
460 | - } | |
461 | - List<BabySieveModel> list = babySieveService.getBabySieveQuery(babySieveQuery); | |
462 | - //明天继续 | |
464 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getApplyDate())){ | |
465 | + try { | |
466 | + babySieveQuery.setApplyDateStrat(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[0]); | |
467 | + babySieveQuery.setApplyDateEnd(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[1]); | |
468 | + status = 1; | |
469 | + } catch (Exception e) { | |
470 | + e.printStackTrace(); | |
471 | + } | |
472 | + } | |
473 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getTestNumber())){ | |
474 | + babySieveQuery.setTestNumber(babySieveAddRequest.getTestNumber()); | |
475 | + status = 1; | |
476 | + } | |
477 | + if(status == 1){ | |
478 | + List<BabySieveModel> list = babySieveService.getBabySieveQuery(babySieveQuery); | |
479 | + if(list != null && list.size() > 0){ | |
480 | + for(BabySieveModel babySieveModel : list){ | |
481 | + BabyModelQuery babyModelQuery = new BabyModelQuery(); | |
482 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getQueryNo())){ | |
483 | + babyModelQuery.setQueryNo(babySieveAddRequest.getQueryNo()); | |
484 | + } | |
485 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getSieveStatus())){ | |
486 | + babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); | |
487 | + } | |
488 | + babyModelQuery.setDataStatus(false); | |
489 | + babyModelQuery.setId(babySieveModel.getBabyId()); | |
490 | + List<BabyModel> babyModelList = babyService.queryBabyWithQuery(babyModelQuery); | |
491 | + BabyModel model = null; | |
492 | + if (babyModelList != null && babyModelList.size() > 0) { | |
493 | + model = babyModelList.get(0); | |
494 | + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); | |
495 | + matDeliverQuery.setYn(YnEnums.YES.getId()); | |
496 | + matDeliverQuery.setParentId(model.getParentId()); | |
497 | + List<MaternalDeliverModel> maternalDeliverModelList = matDeliverService.query(matDeliverQuery); | |
498 | + if(maternalDeliverModelList != null && maternalDeliverModelList.size() > 0){ | |
499 | + BabySieveManager babySieveManager = new BabySieveManager(); | |
500 | + babySieveManager.setId(babySieveModel.getId()); | |
501 | + babySieveManager.setTestNumber(babySieveModel.getTestNumber()); | |
502 | + //获取母亲基本信息 | |
503 | + Patients patients = patientsService.findOnePatientById(model.getParentId()); | |
504 | + //获取高危因素,高危评分 | |
505 | + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), false); | |
506 | + babySieveManager.setRiskFactor(highScoreResult.getHighRisk()); | |
507 | + babySieveManager.setRiskScore(highScoreResult.getScoreStr()); | |
508 | + if(null != patients.getDueDate()){ | |
509 | + babySieveManager.setyChanQi(DateUtil.getyyyy_MM_dd(patients.getDueDate())); | |
510 | + } | |
511 | + babySieveManager.setPatientId(patients.getId()); | |
512 | + babySieveManager.setCardNo(patients.getCardNo()); | |
513 | + babySieveManager.setPhone(patients.getPhone()); | |
514 | + babySieveManager.setBabyId(model.getId()); | |
515 | + if(patients.getBirth() != null){ | |
516 | + babySieveManager.setAge(DateUtil.getAge(patients.getBirth())); | |
517 | + } | |
518 | + List<MaternalDeliverModel.Baby> babies = maternalDeliverModelList.get(0).getBaby(); | |
519 | + if(babies != null && babies.size() > 0){ | |
520 | + for(MaternalDeliverModel.Baby baby : babies){ | |
521 | + if(StringUtils.isNotEmpty(baby.getId()) && model.getId().equals(baby.getId())){ | |
522 | + if(maternalDeliverModelList.get(0).getDueWeek() != null){ | |
523 | + babySieveManager.setDueWeek(maternalDeliverModelList.get(0).getDueWeek()); | |
524 | + } | |
525 | + String time = baby.getDueTime(); | |
526 | + if(StringUtils.isNotEmpty(time)){ | |
527 | + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
528 | + try { | |
529 | + Date date = format.parse(time); | |
530 | + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(date)); | |
531 | + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(date)); | |
532 | + } catch (ParseException e) { | |
533 | + ExceptionUtils.catchException(e, "新生儿管理娩出时间格式异常" + time); | |
534 | + } | |
535 | + }else{ | |
536 | + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); | |
537 | + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); | |
538 | + } | |
539 | + break; | |
540 | + } | |
541 | + } | |
542 | + }else{ | |
543 | + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); | |
544 | + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); | |
545 | + } | |
463 | 546 | |
547 | + babySieveManager.setBabyName(model.getName()); | |
548 | + for (SexEnum sexEnum : SexEnum.values()) { | |
549 | + if (sexEnum.getId().equals(model.getSex())) { | |
550 | + babySieveManager.setSex(sexEnum.getText()); | |
551 | + break; | |
552 | + } | |
553 | + } | |
554 | + babySieveManager.setBirthDays(DateUtil.getDays(model.getBirth(), new Date())); | |
555 | + Integer highRisk = model.getHighRisk(); | |
556 | + if (new Integer(0).equals(highRisk)) { | |
557 | + babySieveManager.setHighRisk("健康"); | |
558 | + } | |
559 | + if (new Integer(1).equals(highRisk)) { | |
560 | + babySieveManager.setHighRisk("高危"); | |
561 | + } | |
562 | + String dueType = babySieveManager.getDueType(); | |
563 | + if ("1".equals(dueType)) { | |
564 | + babySieveManager.setDueType("顺产"); | |
565 | + } | |
566 | + if ("2".equals(dueType)) { | |
567 | + babySieveManager.setDueType("剖宫产"); | |
568 | + } | |
569 | + babySieveManager.setSieveStatus(StringUtils.isEmpty(model.getSieveStatus()) ? "0" : model.getSieveStatus()); | |
570 | + babySieveManager.setmName(model.getMname()); | |
464 | 571 | |
572 | + babySieveManagerLiat.add(babySieveManager); | |
573 | + } | |
574 | + } | |
465 | 575 | |
466 | - BabyModelQuery babyModelQuery = new BabyModelQuery(); | |
467 | - if(StringUtils.isNotEmpty(babySieveAddRequest.getSieveStatus())){ | |
468 | - babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); | |
469 | - } | |
576 | + babySieveManagerResult.setData(babySieveManagerLiat); | |
577 | + babySieveManagerResult.setPageInfo(babyModelQuery.getPageInfo()); | |
578 | + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); | |
579 | + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); | |
580 | + return babySieveManagerResult; | |
470 | 581 | |
582 | + } | |
583 | + }else{ | |
584 | + babySieveManagerResult.setData(babySieveManagerLiat); | |
585 | + babySieveManagerResult.setPageInfo(babySieveQuery.getPageInfo()); | |
586 | + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); | |
587 | + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); | |
588 | + return babySieveManagerResult; | |
589 | + } | |
471 | 590 | |
472 | - //查询号 | |
473 | - babyModelQuery.setQueryNo(StringUtils.isEmpty(babySieveAddRequest.getQueryNo()) ? null : babySieveAddRequest.getQueryNo()); | |
474 | - babyModelQuery.setDataStatus(false); | |
591 | + }else{ | |
592 | + BabyModelQuery babyModelQuery = new BabyModelQuery(); | |
593 | + for(BabySieveModel babySieveModel : babySieveList){ | |
594 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getQueryNo())){ | |
595 | + babyModelQuery.setQueryNo(babySieveAddRequest.getQueryNo()); | |
596 | + } | |
597 | + if(StringUtils.isNotEmpty(babySieveAddRequest.getSieveStatus())){ | |
598 | + babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); | |
599 | + } | |
600 | + babyModelQuery.setDataStatus(false); | |
601 | + babyModelQuery.setId(babySieveModel.getBabyId()); | |
602 | + List<BabyModel> babyModelList = babyService.queryBabyWithQuery(babyModelQuery); | |
603 | + BabyModel model = null; | |
604 | + if (babyModelList != null && babyModelList.size() > 0) { | |
605 | + model = babyModelList.get(0); | |
606 | + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); | |
607 | + matDeliverQuery.setYn(YnEnums.YES.getId()); | |
608 | + matDeliverQuery.setParentId(model.getParentId()); | |
609 | + List<MaternalDeliverModel> maternalDeliverModelList = matDeliverService.query(matDeliverQuery); | |
610 | + if(maternalDeliverModelList != null && maternalDeliverModelList.size() > 0){ | |
611 | + BabySieveManager babySieveManager = new BabySieveManager(); | |
612 | + babySieveManager.setId(babySieveModel.getId()); | |
613 | + babySieveManager.setTestNumber(babySieveModel.getTestNumber()); | |
614 | + //获取母亲基本信息 | |
615 | + Patients patients = patientsService.findOnePatientById(model.getParentId()); | |
616 | + //获取高危因素,高危评分 | |
617 | + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), false); | |
618 | + babySieveManager.setRiskFactor(highScoreResult.getHighRisk()); | |
619 | + babySieveManager.setRiskScore(highScoreResult.getScoreStr()); | |
620 | + if(null != patients.getDueDate()){ | |
621 | + babySieveManager.setyChanQi(DateUtil.getyyyy_MM_dd(patients.getDueDate())); | |
622 | + } | |
623 | + babySieveManager.setPatientId(patients.getId()); | |
624 | + babySieveManager.setCardNo(patients.getCardNo()); | |
625 | + babySieveManager.setPhone(patients.getPhone()); | |
626 | + babySieveManager.setBabyId(model.getId()); | |
627 | + if(patients.getBirth() != null){ | |
628 | + babySieveManager.setAge(DateUtil.getAge(patients.getBirth())); | |
629 | + } | |
630 | + List<MaternalDeliverModel.Baby> babies = maternalDeliverModelList.get(0).getBaby(); | |
631 | + if(babies != null && babies.size() > 0){ | |
632 | + for(MaternalDeliverModel.Baby baby : babies){ | |
633 | + if(StringUtils.isNotEmpty(baby.getId()) && model.getId().equals(baby.getId())){ | |
634 | + if(maternalDeliverModelList.get(0).getDueWeek() != null){ | |
635 | + babySieveManager.setDueWeek(maternalDeliverModelList.get(0).getDueWeek()); | |
636 | + } | |
637 | + String time = baby.getDueTime(); | |
638 | + if(StringUtils.isNotEmpty(time)){ | |
639 | + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
640 | + try { | |
641 | + Date date = format.parse(time); | |
642 | + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(date)); | |
643 | + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(date)); | |
644 | + } catch (ParseException e) { | |
645 | + ExceptionUtils.catchException(e, "新生儿管理娩出时间格式异常" + time); | |
646 | + } | |
647 | + }else{ | |
648 | + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); | |
649 | + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); | |
650 | + } | |
651 | + break; | |
652 | + } | |
653 | + } | |
654 | + }else{ | |
655 | + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); | |
656 | + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); | |
657 | + } | |
475 | 658 | |
659 | + babySieveManager.setBabyName(model.getName()); | |
660 | + for (SexEnum sexEnum : SexEnum.values()) { | |
661 | + if (sexEnum.getId().equals(model.getSex())) { | |
662 | + babySieveManager.setSex(sexEnum.getText()); | |
663 | + break; | |
664 | + } | |
665 | + } | |
666 | + babySieveManager.setBirthDays(DateUtil.getDays(model.getBirth(), new Date())); | |
667 | + Integer highRisk = model.getHighRisk(); | |
668 | + if (new Integer(0).equals(highRisk)) { | |
669 | + babySieveManager.setHighRisk("健康"); | |
670 | + } | |
671 | + if (new Integer(1).equals(highRisk)) { | |
672 | + babySieveManager.setHighRisk("高危"); | |
673 | + } | |
674 | + String dueType = babySieveManager.getDueType(); | |
675 | + if ("1".equals(dueType)) { | |
676 | + babySieveManager.setDueType("顺产"); | |
677 | + } | |
678 | + if ("2".equals(dueType)) { | |
679 | + babySieveManager.setDueType("剖宫产"); | |
680 | + } | |
681 | + babySieveManager.setSieveStatus(StringUtils.isEmpty(model.getSieveStatus()) ? "0" : model.getSieveStatus()); | |
682 | + babySieveManager.setmName(model.getMname()); | |
476 | 683 | |
684 | + babySieveManagerLiat.add(babySieveManager); | |
685 | + } | |
686 | + } | |
687 | + } | |
688 | + | |
689 | + babySieveManagerResult.setData(babySieveManagerLiat); | |
690 | + babySieveManagerResult.setPageInfo(babyModelQuery.getPageInfo()); | |
691 | + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); | |
692 | + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); | |
693 | + return babySieveManagerResult; | |
694 | + } | |
695 | + }else{//lyms_baby_sieve表中无数据 | |
696 | + babySieveManagerResult.setData(babySieveManagerLiat); | |
697 | + babySieveManagerResult.setPageInfo(babySieveQuery.getPageInfo()); | |
698 | + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); | |
699 | + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); | |
700 | + return babySieveManagerResult; | |
701 | + } | |
477 | 702 | return babySieveManagerResult; |
478 | 703 | } |
479 | 704 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java
View file @
31dcb1b
... | ... | @@ -70,6 +70,17 @@ |
70 | 70 | //母亲姓名 |
71 | 71 | private String mName; |
72 | 72 | |
73 | + //试验号 | |
74 | + private String testNumber; | |
75 | + | |
76 | + public String getTestNumber() { | |
77 | + return testNumber; | |
78 | + } | |
79 | + | |
80 | + public void setTestNumber(String testNumber) { | |
81 | + this.testNumber = testNumber; | |
82 | + } | |
83 | + | |
73 | 84 | public Integer getAge() { |
74 | 85 | return age; |
75 | 86 | } |