Commit 025991f8692b9dd8dc1aaaf32a5a88a58cfd1408
1 parent
c76ddf5dfe
Exists in
master
and in
6 other branches
公共卫生统计
Showing 2 changed files with 187 additions and 6 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java
View file @
025991f
... | ... | @@ -552,6 +552,54 @@ |
552 | 552 | } |
553 | 553 | |
554 | 554 | /** |
555 | + * 新生儿访视 | |
556 | + * @param request | |
557 | + * @param page | |
558 | + * @param limit | |
559 | + * @param areaId | |
560 | + * @param streetId | |
561 | + * @param type | |
562 | + * @param dateTime | |
563 | + * @return | |
564 | + */ | |
565 | + @RequestMapping(method = RequestMethod.GET, value = "/getBabyFsList") | |
566 | + @ResponseBody | |
567 | + @TokenRequired | |
568 | + public BaseResponse getBabyFsList(HttpServletRequest request, | |
569 | + Integer page, Integer limit, | |
570 | + @RequestParam String areaId, | |
571 | + @RequestParam( required = false) String streetId, | |
572 | + @RequestParam Integer type, // 1本月访视 2累计访视 | |
573 | + @RequestParam Date dateTime) { | |
574 | + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); | |
575 | + return patientSyncMysqlFacade.getBabyFsList(page,limit,areaId,streetId,dateTime,type); | |
576 | + } | |
577 | + | |
578 | + /** | |
579 | + * 儿童建档总数 0-3岁 0-6岁 | |
580 | + * @param request | |
581 | + * @param page | |
582 | + * @param limit | |
583 | + * @param areaId | |
584 | + * @param streetId | |
585 | + * @param type | |
586 | + * @param dateTime | |
587 | + * @return | |
588 | + */ | |
589 | + @RequestMapping(method = RequestMethod.GET, value = "/getBabyBuildCountList") | |
590 | + @ResponseBody | |
591 | + @TokenRequired | |
592 | + public BaseResponse getBabyBuildCountList(HttpServletRequest request, | |
593 | + Integer page, Integer limit, | |
594 | + @RequestParam String areaId, | |
595 | + @RequestParam( required = false) String streetId, | |
596 | + @RequestParam Integer type, // 1 0-3岁总数 2 0-6岁总数 | |
597 | + @RequestParam Date dateTime) { | |
598 | + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); | |
599 | + return patientSyncMysqlFacade.getBabyBuildCountList(page,limit,areaId,streetId,dateTime,type); | |
600 | + } | |
601 | + | |
602 | + /** | |
555 | 603 | * 公共卫生项目统计 中医指导明细 |
556 | 604 | * @param request |
557 | 605 | * @param provinceId |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java
View file @
025991f
... | ... | @@ -3250,7 +3250,7 @@ |
3250 | 3250 | */ |
3251 | 3251 | private void getDateCount(String hospitalId,Date startDate, Date endDate,Map hospitalDate){ |
3252 | 3252 | //传入的时间获取年的第一天 |
3253 | - Date startDateFirst=DateUtil.getYearFirst(DateUtil.getYear(startDate)); | |
3253 | + Date startDateFirst = DateUtil.getYearFirst(DateUtil.getYear(startDate)); | |
3254 | 3254 | DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0 |
3255 | 3255 | |
3256 | 3256 | |
3257 | 3257 | |
3258 | 3258 | |
... | ... | @@ -3305,15 +3305,20 @@ |
3305 | 3305 | hospitalDate.put("data4",data3_data2+"%"); |
3306 | 3306 | |
3307 | 3307 | //0-3岁儿童总数 |
3308 | - int data5=0; | |
3309 | - BabyModelQuery babyQuery=new BabyModelQuery(); | |
3308 | + BabyModelQuery babyQuery = new BabyModelQuery(); | |
3309 | + babyQuery.setDataStatus(true);//排除自动建档数据 | |
3310 | 3310 | babyQuery.setYn(YnEnums.YES.getId()); |
3311 | 3311 | babyQuery.setHospitalId(hospitalId); |
3312 | - babyQuery.setBirthStart(DateUtil.addYear(startDateFirst,-3)); | |
3313 | - babyQuery.setBirthEnd(endDate); | |
3314 | - data5 = babyBookbuildingService.queryBabyCount(babyQuery); | |
3312 | + Date currentDate1 = DateUtil.formatDate(new Date()); | |
3313 | + Date start1 = DateUtil.addMonth(currentDate1, 0); | |
3314 | + babyQuery.setBirthEnd(start1); | |
3315 | + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); | |
3316 | + babyQuery.setBirthStart(end1); | |
3317 | + babyQuery.setBuildDateEnd(endDate); | |
3318 | + int data5 = babyBookbuildingService.queryBabyCount(babyQuery); | |
3315 | 3319 | int lastDate5= null==hospitalDate.get("data5")?0:Integer.parseInt(hospitalDate.get("data5").toString()); |
3316 | 3320 | hospitalDate.put("data5",data5+lastDate5); |
3321 | + | |
3317 | 3322 | //0-3岁儿童系统管理人数 |
3318 | 3323 | int data6=0; |
3319 | 3324 | babyQuery.setLastCheckDoctor2(true); |
... | ... | @@ -3678,6 +3683,134 @@ |
3678 | 3683 | } |
3679 | 3684 | return new BaseListResponse().setErrorcode(0).setErrormsg("成功") |
3680 | 3685 | .setData(results).setPageInfo(babyModelQuery.getPageInfo()); |
3686 | + } | |
3687 | + | |
3688 | + public BaseResponse getBabyFsList(Integer page, Integer limit, String areaId, String streetId, Date dateTime, Integer type) { | |
3689 | + | |
3690 | + | |
3691 | + List<Map> results = new ArrayList<>(); | |
3692 | + //获得区县下的街道 | |
3693 | + List<BasicConfig> regions = getRegions(areaId,streetId); | |
3694 | + List<String> hospitalIds = new ArrayList<>(); | |
3695 | + for (BasicConfig region : regions) { | |
3696 | + //获得街道下的医院 | |
3697 | + List<Organization> organizations = getOrganization(region.getId()); | |
3698 | + for (Organization organization : organizations) { | |
3699 | + String hospitalId= StringUtils.getIntToVal(organization.getId()); | |
3700 | + hospitalIds.add(hospitalId); | |
3701 | + } | |
3702 | + } | |
3703 | + Date startDate=DateUtil.getDateMonthFirst(dateTime); | |
3704 | + Date endDate=DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); | |
3705 | + | |
3706 | + if (CollectionUtils.isNotEmpty(hospitalIds)) | |
3707 | + { | |
3708 | + Criteria criteria = Criteria. | |
3709 | + where("yn").is("1") | |
3710 | + .and("hospitalId").in(hospitalIds); | |
3711 | + | |
3712 | + if (type == 1) | |
3713 | + { //本月访视人数 | |
3714 | + criteria.and("checkTime").gte(startDate).lte(endDate); | |
3715 | + } | |
3716 | + else | |
3717 | + { //累计访视人数 | |
3718 | + criteria.and("checkTime").lte(endDate); | |
3719 | + } | |
3720 | + PageResult pageResult = findMongoPage(NewbornVisit.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
3721 | + List <NewbornVisit> visits = (List <NewbornVisit>) pageResult.getGrid(); | |
3722 | + if (CollectionUtils.isNotEmpty(visits)) | |
3723 | + { | |
3724 | + for (NewbornVisit visit : visits) | |
3725 | + { | |
3726 | + Map result = new HashMap(); | |
3727 | + BabyModel model = babyBookbuildingService.queryBabyById(visit.getBabyId()); | |
3728 | + result.put("babyName",model.getName()); | |
3729 | + result.put("babySex",SexEnum.getTextById(model.getSex())); | |
3730 | + result.put("babyWeight",visit.getWeightNow()); | |
3731 | + result.put("babyHeight",visit.getHeight()); | |
3732 | + result.put("fsDate",DateUtil.getyyyy_MM_dd(visit.getCheckTime())); | |
3733 | + result.put("mommyName",model.getMname()); | |
3734 | + result.put("mommyPhone",model.getMphone()); | |
3735 | + result.put("mommyCertNo",model.getMcertNo()); | |
3736 | + String fsHospital = organizationService.getOrganization(Integer.parseInt(visit.getHospitalId())).getName(); | |
3737 | + result.put("fsHospital",fsHospital); | |
3738 | + result.put("fsId",visit.getId()); | |
3739 | + results.add(result); | |
3740 | + } | |
3741 | + } | |
3742 | + return RespBuilder.buildSuccess(pageResult); | |
3743 | + } | |
3744 | + return new BaseListResponse(); | |
3745 | + } | |
3746 | + | |
3747 | + public BaseResponse getBabyBuildCountList(Integer page, Integer limit, String areaId, String streetId, Date dateTime, Integer type) { | |
3748 | + | |
3749 | + List<Map> results = new ArrayList<>(); | |
3750 | + //获得区县下的街道 | |
3751 | + List<BasicConfig> regions = getRegions(areaId,streetId); | |
3752 | + List<String> hospitalIds = new ArrayList<>(); | |
3753 | + for (BasicConfig region : regions) { | |
3754 | + //获得街道下的医院 | |
3755 | + List<Organization> organizations = getOrganization(region.getId()); | |
3756 | + for (Organization organization : organizations) { | |
3757 | + String hospitalId= StringUtils.getIntToVal(organization.getId()); | |
3758 | + hospitalIds.add(hospitalId); | |
3759 | + } | |
3760 | + } | |
3761 | + | |
3762 | + Date endDate=DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); | |
3763 | + BabyModelQuery babyQuery = new BabyModelQuery(); | |
3764 | + if (CollectionUtils.isNotEmpty(hospitalIds)) | |
3765 | + { | |
3766 | + | |
3767 | + babyQuery.setDataStatus(true);//排除自动建档数据 | |
3768 | + babyQuery.setYn(YnEnums.YES.getId()); | |
3769 | + babyQuery.setHospitalIdList(hospitalIds); | |
3770 | + Date currentDate1 = DateUtil.formatDate(new Date()); | |
3771 | + Date start1 = DateUtil.addMonth(currentDate1, 0); | |
3772 | + babyQuery.setBirthEnd(start1); | |
3773 | + | |
3774 | + babyQuery.setBuildDateEnd(endDate); | |
3775 | + | |
3776 | + babyQuery.setPage(page); | |
3777 | + babyQuery.setLimit(limit); | |
3778 | + babyQuery.setNeed("Need"); | |
3779 | + babyQuery.setOrder("birth"); | |
3780 | + if (type == 1) | |
3781 | + { //0-3岁儿童总数 | |
3782 | + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); | |
3783 | + babyQuery.setBirthStart(end1); | |
3784 | + } | |
3785 | + else | |
3786 | + { //0-6岁儿童总数 | |
3787 | + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); | |
3788 | + babyQuery.setBirthStart(end1); | |
3789 | + } | |
3790 | + List<BabyModel> datas = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
3791 | + if (CollectionUtils.isNotEmpty(datas)) | |
3792 | + { | |
3793 | + for (BabyModel model : datas) | |
3794 | + { | |
3795 | + Map result = new HashMap(); | |
3796 | + result.put("babyName",model.getName()); | |
3797 | + result.put("babySex",SexEnum.getTextById(model.getSex())); | |
3798 | + result.put("babyWeight",model.getBabyWeight()); | |
3799 | + result.put("babyHeight",model.getBabyHeight()); | |
3800 | + result.put("buildDate",DateUtil.getyyyy_MM_dd(model.getBuildDate())); | |
3801 | + result.put("mommyName",model.getMname()); | |
3802 | + result.put("mommyPhone",model.getMphone()); | |
3803 | + result.put("mommyCertNo",model.getMcertNo()); | |
3804 | + String buildHospital = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())).getName(); | |
3805 | + result.put("buildHospital",buildHospital); | |
3806 | + result.put("babyId",model.getId()); | |
3807 | + results.add(result); | |
3808 | + } | |
3809 | + } | |
3810 | + } | |
3811 | + return new BaseListResponse().setErrorcode(0).setErrormsg("成功") | |
3812 | + .setData(results).setPageInfo(babyQuery.getPageInfo()); | |
3813 | + | |
3681 | 3814 | } |
3682 | 3815 | } |