Commit bb299a8ddae1a01d2518e10406996a737b73f2b2
1 parent
3e56183b64
Exists in
master
and in
6 other branches
产检节点统计
Showing 1 changed file with 115 additions and 79 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java
View file @
bb299a8
... | ... | @@ -33,6 +33,8 @@ |
33 | 33 | |
34 | 34 | import javax.servlet.http.HttpServletResponse; |
35 | 35 | import java.util.*; |
36 | +import java.util.concurrent.Callable; | |
37 | +import java.util.concurrent.ExecutionException; | |
36 | 38 | import java.util.concurrent.Future; |
37 | 39 | |
38 | 40 | |
39 | 41 | |
40 | 42 | |
... | ... | @@ -465,12 +467,14 @@ |
465 | 467 | //居住地 |
466 | 468 | String liveAddress = CommonsHelper.getResidence(pat.getProvinceId(), pat.getCityId(), |
467 | 469 | pat.getAreaId(), pat.getStreetId(), pat.getAddress(), basicConfigService); |
468 | - map.put("HOME_ADDR", liveAddress); | |
470 | + map.put("HJ_ADDR", liveAddress); | |
469 | 471 | |
472 | + | |
470 | 473 | //户籍地址 |
471 | 474 | String addressRegister = CommonsHelper.getResidence(pat.getProvinceRegisterId(), pat.getCityRegisterId(), |
472 | 475 | pat.getAreaRegisterId(), pat.getStreetRegisterId(), pat.getAddressRegister(), basicConfigService); |
473 | - map.put("HJ_ADDR", addressRegister); | |
476 | + map.put("HOME_ADDR", addressRegister); | |
477 | + | |
474 | 478 | map.put("NAME", pat.getUsername()); |
475 | 479 | map.put("TEL_NO", pat.getPhone()); |
476 | 480 | |
477 | 481 | |
478 | 482 | |
479 | 483 | |
480 | 484 | |
481 | 485 | |
482 | 486 | |
483 | 487 | |
484 | 488 | |
485 | 489 | |
486 | 490 | |
487 | 491 | |
488 | 492 | |
489 | 493 | |
490 | 494 | |
491 | 495 | |
492 | 496 | |
493 | 497 | |
494 | 498 | |
495 | 499 | |
496 | 500 | |
497 | 501 | |
498 | 502 | |
... | ... | @@ -609,96 +613,128 @@ |
609 | 613 | antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); |
610 | 614 | } |
611 | 615 | |
612 | - | |
613 | - List<AntExRecordModel> list = recordService.queryAntExRecords(antExRecordQuery); | |
614 | - | |
616 | + final List<AntExRecordModel> list = recordService.queryAntExRecords(antExRecordQuery); | |
617 | + List<Future> futures = new ArrayList<>(); | |
615 | 618 | List<Map> results = new ArrayList<>(); |
616 | 619 | if (CollectionUtils.isNotEmpty(list)) |
617 | 620 | { |
618 | - for(AntExRecordModel model : list) | |
621 | + int batchSize = 2; | |
622 | + for(int i = 0,end = 0 ; i < list.size() ; i+=batchSize) | |
619 | 623 | { |
620 | - Map<String,Object> map = new HashMap<>(); | |
621 | - map.put("EXAMINE_DATE", DateUtil.getyyyy_MM_dd(model.getCheckTime())); //产检日期 | |
622 | - map.put("NAME", model.getName()); //姓名 | |
623 | - map.put("YZ_NAME", StringUtils.dueWeek(model.getcDay())); //产检孕周 | |
624 | + end +=batchSize; | |
625 | + end = end > list.size() ? list.size() : end; | |
624 | 626 | |
625 | - AntExRecordQuery query = new AntExRecordQuery(); | |
626 | - query.setParentId(model.getParentId()); | |
627 | + final List<AntExRecordModel> tempList = list.subList(i,end); | |
628 | + Callable callable = new Callable<List<Map>>() { | |
629 | + @Override | |
630 | + public List<Map> call() throws Exception { | |
631 | + List<Map> results = new ArrayList<>(); | |
632 | + for(AntExRecordModel model : tempList) | |
633 | + { | |
634 | + Map<String,Object> map = new HashMap<>(); | |
635 | + map.put("EXAMINE_DATE", DateUtil.getyyyy_MM_dd(model.getCheckTime())); //产检日期 | |
636 | + map.put("NAME", model.getName()); //姓名 | |
637 | + map.put("YZ_NAME", StringUtils.dueWeek(model.getcDay())); //产检孕周 | |
627 | 638 | |
628 | - String times = ""; | |
629 | - List<AntExRecordModel> antExRecordModels = recordService.queryAntExRecords(antExRecordQuery,Sort.Direction.ASC,"checkTime"); | |
630 | - if (CollectionUtils.isNotEmpty(antExRecordModels)) | |
631 | - { | |
632 | - for (int j = 0 ; j < list.size() ; j++) | |
633 | - { | |
634 | - AntExRecordModel antExRecordModel = list.get(j); | |
639 | + AntExRecordQuery query = new AntExRecordQuery(); | |
640 | + query.setParentId(model.getParentId()); | |
635 | 641 | |
636 | - if (model.getId().equals(antExRecordModel.getId())) | |
637 | - { | |
638 | - times = String.valueOf(j+1); | |
639 | - break; | |
640 | - } | |
641 | - } | |
642 | - } | |
642 | + String times = ""; | |
643 | + List<AntExRecordModel> antExRecordModels = recordService.queryAntExRecords(query,Sort.Direction.ASC,"checkTime"); | |
644 | + if (CollectionUtils.isNotEmpty(antExRecordModels)) | |
645 | + { | |
646 | + for (int j = 0 ; j < list.size() ; j++) | |
647 | + { | |
648 | + AntExRecordModel antExRecordModel = list.get(j); | |
643 | 649 | |
644 | - map.put("EXAMINE_HISTORY_NUM",times); //产检第次 | |
650 | + if (model.getId().equals(antExRecordModel.getId())) | |
651 | + { | |
652 | + times = String.valueOf(j+1); | |
653 | + break; | |
654 | + } | |
655 | + } | |
656 | + } | |
645 | 657 | |
658 | + map.put("EXAMINE_HISTORY_NUM",times); //产检第次 | |
646 | 659 | |
647 | - String chospital = ""; | |
648 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getHospitalId())) { | |
649 | - Organization organization = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())); | |
650 | - if (organization != null && organization.getYn() == YnEnums.YES.getId()) { | |
651 | - chospital = organization.getName(); | |
652 | - } | |
653 | - } | |
654 | 660 | |
655 | - map.put("EXAMINE_HOSPITAL",chospital); //产检机构 | |
661 | + String chospital = ""; | |
662 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getHospitalId())) { | |
663 | + Organization organization = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())); | |
664 | + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { | |
665 | + chospital = organization.getName(); | |
666 | + } | |
667 | + } | |
656 | 668 | |
669 | + map.put("EXAMINE_HOSPITAL",chospital); //产检机构 | |
657 | 670 | |
658 | - //建档医生 | |
659 | - String bookbuildingDoctor = ""; | |
660 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getBuildDoctor()) && FunvCommonUtil.isNumeric(model.getBuildDoctor())) { | |
661 | - Users users = usersService.getUsers(Integer.parseInt(model.getBuildDoctor())); | |
662 | - if (users != null && users.getYn() == YnEnums.YES.getId()) { | |
663 | - bookbuildingDoctor = users.getName(); | |
664 | - } | |
665 | - } | |
666 | 671 | |
667 | - map.put("DOCTOR_NAME",bookbuildingDoctor); //建档医生 | |
672 | + //建档医生 | |
673 | + String bookbuildingDoctor = ""; | |
674 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getBuildDoctor()) && FunvCommonUtil.isNumeric(model.getBuildDoctor())) { | |
675 | + Users users = usersService.getUsers(Integer.parseInt(model.getBuildDoctor())); | |
676 | + if (users != null && users.getYn() == YnEnums.YES.getId()) { | |
677 | + bookbuildingDoctor = users.getName(); | |
678 | + } | |
679 | + } | |
668 | 680 | |
681 | + map.put("DOCTOR_NAME",bookbuildingDoctor); //建档医生 | |
669 | 682 | |
670 | 683 | |
671 | - String checkDoctor = ""; | |
672 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getCheckDoctor()) && FunvCommonUtil.isNumeric(model.getCheckDoctor())) { | |
673 | - Users users = usersService.getUsers(Integer.parseInt(model.getCheckDoctor())); | |
674 | - if (users != null && users.getYn() == YnEnums.YES.getId()) { | |
675 | - checkDoctor = users.getName(); | |
676 | - } | |
677 | - } | |
678 | 684 | |
679 | - map.put("DOCTOR_NAME", checkDoctor); //产检医生 | |
685 | + String checkDoctor = ""; | |
686 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getCheckDoctor()) && FunvCommonUtil.isNumeric(model.getCheckDoctor())) { | |
687 | + Users users = usersService.getUsers(Integer.parseInt(model.getCheckDoctor())); | |
688 | + if (users != null && users.getYn() == YnEnums.YES.getId()) { | |
689 | + checkDoctor = users.getName(); | |
690 | + } | |
691 | + } | |
680 | 692 | |
681 | - PatientsQuery patientsQuery = new PatientsQuery(); | |
682 | - patientsQuery.setYn(YnEnums.YES.getId()); | |
683 | - patientsQuery.setId(model.getParentId()); | |
684 | - List<Patients> patientsList = patientsService.queryPatient(patientsQuery); | |
693 | + map.put("DOCTOR_NAME", checkDoctor); //产检医生 | |
685 | 694 | |
695 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
696 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
697 | + patientsQuery.setId(model.getParentId()); | |
698 | + List<Patients> patientsList = patientsService.queryPatient(patientsQuery); | |
686 | 699 | |
687 | - String buildHosp = ""; | |
688 | - if (CollectionUtils.isNotEmpty(patientsList)) | |
689 | - { | |
690 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(patientsList.get(0).getHospitalId())) { | |
691 | - Organization organization = organizationService.getOrganization(Integer.parseInt(patientsList.get(0).getHospitalId())); | |
692 | - if (organization != null && organization.getYn() == YnEnums.YES.getId()) { | |
693 | - buildHosp = organization.getName(); | |
700 | + | |
701 | + String buildHosp = ""; | |
702 | + if (CollectionUtils.isNotEmpty(patientsList)) | |
703 | + { | |
704 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(patientsList.get(0).getHospitalId())) { | |
705 | + Organization organization = organizationService.getOrganization(Integer.parseInt(patientsList.get(0).getHospitalId())); | |
706 | + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { | |
707 | + buildHosp = organization.getName(); | |
708 | + } | |
709 | + } | |
710 | + } | |
711 | + map.put("JD_HOSPITAL",buildHosp); //建档机构 | |
712 | + map.put("TEL_NO", model.getPhone()); //联系电话 | |
713 | + results.add(map); | |
694 | 714 | } |
715 | + | |
716 | + return results; | |
695 | 717 | } |
718 | + }; | |
719 | + futures.add(commonThreadPool.submit(callable)); | |
720 | + } | |
721 | + } | |
722 | + | |
723 | + | |
724 | + if (CollectionUtils.isNotEmpty(futures)) | |
725 | + { | |
726 | + for (Future f : futures) | |
727 | + { | |
728 | + try { | |
729 | + results.addAll((List) f.get()); | |
730 | + } catch (InterruptedException e) { | |
731 | + e.printStackTrace(); | |
732 | + } catch (ExecutionException e) { | |
733 | + e.printStackTrace(); | |
696 | 734 | } |
697 | - map.put("JD_HOSPITAL",buildHosp); //建档机构 | |
698 | - map.put("TEL_NO", model.getPhone()); //联系电话 | |
699 | - results.add(map); | |
700 | 735 | } |
701 | 736 | } |
737 | + | |
702 | 738 | return new BaseListResponse().setData(results).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setPageInfo(antExRecordQuery.getPageInfo()); |
703 | 739 | } |
704 | 740 | } |