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 | } |