Commit 965edb702ed0f308596e64e51b9b74c5e934b72c
1 parent
b0c4c38807
Exists in
master
and in
6 other branches
公共卫生统计
Showing 2 changed files with 107 additions and 58 deletions
platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java
View file @
965edb7
| ... | ... | @@ -10,6 +10,7 @@ | 
| 10 | 10 | |
| 11 | 11 | import java.util.Arrays; | 
| 12 | 12 | import java.util.Date; | 
| 13 | +import java.util.List; | |
| 13 | 14 | |
| 14 | 15 | /** | 
| 15 | 16 | * 儿保检查查询模型 | 
| ... | ... | @@ -29,6 +30,7 @@ | 
| 29 | 30 | private String[] buildIds; | 
| 30 | 31 | |
| 31 | 32 | private String hospitalId; | 
| 33 | + private List<String> hospitalIds; | |
| 32 | 34 | |
| 33 | 35 | //体重评价 | 
| 34 | 36 | private String weightEvaluate; | 
| 35 | 37 | |
| ... | ... | @@ -60,22 +62,7 @@ | 
| 60 | 62 | //大于创建时间 | 
| 61 | 63 | private Date gteCreated; | 
| 62 | 64 | |
| 63 | - public Date getGteModified() { | |
| 64 | - return gteModified; | |
| 65 | - } | |
| 66 | 65 | |
| 67 | - public void setGteModified(Date gteModified) { | |
| 68 | - this.gteModified = gteModified; | |
| 69 | - } | |
| 70 | - | |
| 71 | - public Date getGteCreated() { | |
| 72 | - return gteCreated; | |
| 73 | - } | |
| 74 | - | |
| 75 | - public void setGteCreated(Date gteCreated) { | |
| 76 | - this.gteCreated = gteCreated; | |
| 77 | - } | |
| 78 | - | |
| 79 | 66 | private Integer checkMonthStart; | 
| 80 | 67 | private Integer checkMonthEnd; | 
| 81 | 68 | |
| 82 | 69 | |
| ... | ... | @@ -95,7 +82,41 @@ | 
| 95 | 82 | private String hemoglobinEnd; | 
| 96 | 83 | // 检查套餐<JCTCEnums> | 
| 97 | 84 | private Integer tcType; | 
| 85 | + private Boolean lhdsl; | |
| 86 | + private List<Integer> articleTypes; | |
| 98 | 87 | |
| 88 | + public Date getGteModified() { | |
| 89 | + return gteModified; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setGteModified(Date gteModified) { | |
| 93 | + this.gteModified = gteModified; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public Date getGteCreated() { | |
| 97 | + return gteCreated; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setGteCreated(Date gteCreated) { | |
| 101 | + this.gteCreated = gteCreated; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public List<String> getHospitalIds() { | |
| 105 | + return hospitalIds; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setHospitalIds(List<String> hospitalIds) { | |
| 109 | + this.hospitalIds = hospitalIds; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public Boolean getLhdsl() { | |
| 113 | + return lhdsl; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setLhdsl(Boolean lhdsl) { | |
| 117 | + this.lhdsl = lhdsl; | |
| 118 | + } | |
| 119 | + | |
| 99 | 120 | public String getHemoglobinStart() { | 
| 100 | 121 | return hemoglobinStart; | 
| 101 | 122 | } | 
| ... | ... | @@ -191,6 +212,15 @@ | 
| 191 | 212 | if(null!=hospitalId){ | 
| 192 | 213 | condition=condition.and("hospitalId", hospitalId, MongoOper.IS); | 
| 193 | 214 | } | 
| 215 | + if(null!=articleTypes){ | |
| 216 | + condition=condition.and("articleTypes", articleTypes, MongoOper.IN); | |
| 217 | + } | |
| 218 | + if(lhdsl != null){ | |
| 219 | + condition=condition.and("lhdsl", lhdsl, MongoOper.EXISTS); | |
| 220 | + } | |
| 221 | + if(null!=hospitalIds){ | |
| 222 | + condition=condition.and("hospitalId", hospitalIds, MongoOper.IS); | |
| 223 | + } | |
| 194 | 224 | if(null!=tcType){ | 
| 195 | 225 | condition=condition.and("tcType", tcType, MongoOper.IS); | 
| 196 | 226 | } | 
| ... | ... | @@ -294,6 +324,14 @@ | 
| 294 | 324 | return new MongoCondition(c.andOperator(condition.getCriteria(),c2,c3)).toMongoQuery(); | 
| 295 | 325 | } | 
| 296 | 326 | return new MongoCondition(c2.andOperator(condition.getCriteria(),c3)).toMongoQuery(); | 
| 327 | + } | |
| 328 | + | |
| 329 | + public List<Integer> getArticleTypes() { | |
| 330 | + return articleTypes; | |
| 331 | + } | |
| 332 | + | |
| 333 | + public void setArticleTypes(List<Integer> articleTypes) { | |
| 334 | + this.articleTypes = articleTypes; | |
| 297 | 335 | } | 
| 298 | 336 | |
| 299 | 337 | public Integer getCheckMonthStart() { | 
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java
View file @
965edb7
| ... | ... | @@ -3339,19 +3339,15 @@ | 
| 3339 | 3339 | } | 
| 3340 | 3340 | hospitalDate.put("data7",data6_data5+"%"); | 
| 3341 | 3341 | //0-6岁儿童总数 | 
| 3342 | - int data8=0; | |
| 3343 | - BabyModelQuery babyQuery2=new BabyModelQuery(); | |
| 3344 | - babyQuery2.setYn(YnEnums.YES.getId()); | |
| 3345 | - babyQuery2.setHospitalId(hospitalId); | |
| 3346 | - babyQuery2.setBirthStart(DateUtil.addYear(startDateFirst,-6)); | |
| 3347 | - babyQuery2.setBirthEnd(endDate); | |
| 3348 | - data8 = babyBookbuildingService.queryBabyCount(babyQuery2); | |
| 3342 | + end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); | |
| 3343 | + babyQuery.setBirthStart(end1); | |
| 3344 | + int data8 = babyBookbuildingService.queryBabyCount(babyQuery); | |
| 3349 | 3345 | int lastDate8= null==hospitalDate.get("data8")?0:Integer.parseInt(hospitalDate.get("data8").toString()); | 
| 3350 | 3346 | hospitalDate.put("data8",data8+lastDate8); | 
| 3347 | + | |
| 3351 | 3348 | //0-6岁儿童系统管理人数 | 
| 3352 | - int data9=0; | |
| 3353 | - babyQuery2.setLastCheckDoctor2(true); | |
| 3354 | - data9 = babyBookbuildingService.queryBabyCount(babyQuery2); | |
| 3349 | + babyQuery.setLastCheckDoctor2(true); | |
| 3350 | + int data9 = babyBookbuildingService.queryBabyCount(babyQuery); | |
| 3355 | 3351 | int lastDate9= null==hospitalDate.get("data9")?0:Integer.parseInt(hospitalDate.get("data9").toString()); | 
| 3356 | 3352 | hospitalDate.put("data9",data9+lastDate9); | 
| 3357 | 3353 | //0-6岁儿童系统管理率% | 
| 3358 | 3354 | |
| ... | ... | @@ -3369,15 +3365,18 @@ | 
| 3369 | 3365 | hospitalDate.put("data11",data9+lastDate9); | 
| 3370 | 3366 | //0-6岁儿童健康管理率% | 
| 3371 | 3367 | hospitalDate.put("data12",data9_data8+"%"); | 
| 3368 | + | |
| 3369 | + | |
| 3372 | 3370 | //0-6岁儿童眼保健及视力检查人数 | 
| 3373 | - int data13=0; | |
| 3374 | - BabyModelQuery babyQuery3=new BabyModelQuery(); | |
| 3375 | - babyQuery3.setYn(YnEnums.YES.getId()); | |
| 3376 | - babyQuery3.setHospitalId(hospitalId); | |
| 3377 | - babyQuery3.setBirthStart(DateUtil.addYear(startDateFirst,-6)); | |
| 3378 | - babyQuery3.setBirthEnd(endDate); | |
| 3379 | - babyQuery3.setCheckId(true); | |
| 3380 | - data13 = babyBookbuildingService.queryBabyCount(babyQuery3); | |
| 3371 | + BabyCheckModelQuery checkModelQuery = new BabyCheckModelQuery(); | |
| 3372 | + checkModelQuery.setHospitalId(hospitalId); | |
| 3373 | + checkModelQuery.setYn(YnEnums.YES.getId()); | |
| 3374 | + checkModelQuery.setBirthStart(start1); | |
| 3375 | + checkModelQuery.setBirthEnd(end1); | |
| 3376 | + checkModelQuery.setLhdsl(true); | |
| 3377 | + checkModelQuery.setCheckDateStart(DateUtil.addYear(new Date(),-20)); | |
| 3378 | + checkModelQuery.setCheckDateEnd(endDate); | |
| 3379 | + int data13 =babyCheckService.queryBabyCheckCount(checkModelQuery); | |
| 3381 | 3380 | int lastDate13= null==hospitalDate.get("data13")?0:Integer.parseInt(hospitalDate.get("data13").toString()); | 
| 3382 | 3381 | hospitalDate.put("data13",data13+lastDate13); | 
| 3383 | 3382 | //0-6岁儿童眼保健及视力检查覆盖率% | 
| ... | ... | @@ -3469,18 +3468,16 @@ | 
| 3469 | 3468 | //孕产妇系统管理率% | 
| 3470 | 3469 | hospitalDate.put("data22",data19_data2+"%"); | 
| 3471 | 3470 | |
| 3472 | - Date currentDate = new Date(); | |
| 3473 | - Date start = DateUtil.addMonth(currentDate, 0); | |
| 3474 | - Date end = DateUtil.addDay(DateUtil.addMonth(currentDate, -37), 1); | |
| 3475 | - //年度内儿童接收儿童中医指导的人数 | |
| 3476 | - int data23=0; | |
| 3477 | - AggregationOperation match23 = Aggregation.match(Criteria.where("hospitalId").is(hospitalId) | |
| 3478 | - .and("articleTypes").in(Arrays.asList(1,2,3,4,5)).and("yn") | |
| 3479 | - .is(YnEnums.YES.getId()).and("birth").gte(end).lte(start)); | |
| 3480 | - AggregationOperation group23 = Aggregation.group("buildId"); | |
| 3481 | - Aggregation aggregation23= Aggregation.newAggregation(match23, group23); | |
| 3482 | - AggregationResults<HashMap> result23 = mongoTemplate.aggregate(aggregation23,"lyms_babycheck", HashMap.class); | |
| 3483 | - data23=result23.getMappedResults().size(); | |
| 3471 | + //中医指导的人次 | |
| 3472 | + BabyCheckModelQuery checkModelQuery1 = new BabyCheckModelQuery(); | |
| 3473 | + checkModelQuery1.setHospitalId(hospitalId); | |
| 3474 | + checkModelQuery1.setYn(YnEnums.YES.getId()); | |
| 3475 | + checkModelQuery1.setBirthStart(start1); | |
| 3476 | + checkModelQuery1.setBirthEnd(end1); | |
| 3477 | + checkModelQuery1.setArticleTypes(Arrays.asList(1,2,3,4,5)); | |
| 3478 | + checkModelQuery1.setCheckDateStart(DateUtil.addYear(new Date(),-20)); | |
| 3479 | + checkModelQuery1.setCheckDateEnd(endDate); | |
| 3480 | + int data23 =babyCheckService.queryBabyCheckCount(checkModelQuery1); | |
| 3484 | 3481 | int lastDate23= null==hospitalDate.get("data23")?0:Integer.parseInt(hospitalDate.get("data23").toString()); | 
| 3485 | 3482 | hospitalDate.put("data23",data23+lastDate23); | 
| 3486 | 3483 | |
| 3487 | 3484 | |
| ... | ... | @@ -3557,14 +3554,28 @@ | 
| 3557 | 3554 | hospitalIds.add(hospitalId); | 
| 3558 | 3555 | } | 
| 3559 | 3556 | } | 
| 3560 | - | |
| 3557 | + BabyCheckModelQuery checkModelQuery1 = new BabyCheckModelQuery(); | |
| 3561 | 3558 | if (CollectionUtils.isNotEmpty(hospitalIds)) | 
| 3562 | 3559 | { | 
| 3563 | - Criteria criteria = Criteria.where("yn").ne(0).and("hospitalId").in(hospitalIds); | |
| 3564 | - criteria.and("articleTypes").in(Arrays.asList(1,2,3,4,5)); | |
| 3565 | - Query query = new Query(criteria); | |
| 3566 | - PageResult pageResult = findMongoPage(BabyCheckModel.class, query.with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
| 3567 | - List <BabyCheckModel> babyCheckModelList = (List <BabyCheckModel>) pageResult.getGrid(); | |
| 3560 | + Date endDate = DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); | |
| 3561 | + | |
| 3562 | + Date currentDate1 = DateUtil.formatDate(new Date()); | |
| 3563 | + Date start1 = DateUtil.addMonth(currentDate1, 0); | |
| 3564 | + checkModelQuery1.setBirthEnd(start1); | |
| 3565 | + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); | |
| 3566 | + | |
| 3567 | + checkModelQuery1.setHospitalIds(hospitalIds); | |
| 3568 | + checkModelQuery1.setYn(YnEnums.YES.getId()); | |
| 3569 | + checkModelQuery1.setBirthStart(start1); | |
| 3570 | + checkModelQuery1.setBirthEnd(end1); | |
| 3571 | + checkModelQuery1.setArticleTypes(Arrays.asList(1,2,3,4,5)); | |
| 3572 | + checkModelQuery1.setCheckDateStart(DateUtil.addYear(new Date(),-20)); | |
| 3573 | + checkModelQuery1.setCheckDateEnd(endDate); | |
| 3574 | + checkModelQuery1.setPage(page); | |
| 3575 | + checkModelQuery1.setLimit(limit); | |
| 3576 | + checkModelQuery1.setNeed("true"); | |
| 3577 | + | |
| 3578 | + List <BabyCheckModel> babyCheckModelList = babyCheckService.queryBabyCheckRecord(checkModelQuery1); | |
| 3568 | 3579 | List <Map <String, Object>> list = new ArrayList(); | 
| 3569 | 3580 | for (BabyCheckModel babyCheckModel : babyCheckModelList) { | 
| 3570 | 3581 | Map <String, Object> map = new HashMap <>(); | 
| 3571 | 3582 | |
| ... | ... | @@ -3577,12 +3588,12 @@ | 
| 3577 | 3588 | } | 
| 3578 | 3589 | map.put("id", babyModel.getId()); | 
| 3579 | 3590 | map.put("babyName", babyModel.getName()); | 
| 3580 | - map.put("sex", babyModel.getSex() != 0 ? "男" : "女"); | |
| 3581 | - map.put("mName", babyModel.getMname()); | |
| 3582 | - map.put("mCardNo", babyModel.getMcertNo()); | |
| 3583 | - map.put("monthAge", DateUtil.getMonth(babyModel.getBirth(), babyCheckModel.getCheckDate())); | |
| 3591 | + map.put("babySex", babyModel.getSex() != 0 ? "男" : "女"); | |
| 3592 | + map.put("mommyName", babyModel.getMname()); | |
| 3593 | + map.put("mommyCardNo", babyModel.getMcertNo()); | |
| 3594 | + map.put("checkAge", DateUtil.getMonth(babyModel.getBirth(), babyCheckModel.getCheckDate())); | |
| 3584 | 3595 | map.put("birth",DateUtil.getyyyy_MM_dd(babyModel.getBirth())); | 
| 3585 | - map.put("mphone",babyModel.getMphone()); | |
| 3596 | + map.put("mommyPhone",babyModel.getMphone()); | |
| 3586 | 3597 | } | 
| 3587 | 3598 | map.put("checkTime", DateUtil.getyyyy_MM_dd(babyCheckModel.getCheckDate())); | 
| 3588 | 3599 | map.put("nextCheckTime", DateUtil.getyyyy_MM_dd(babyCheckModel.getNextDate())); | 
| ... | ... | @@ -3592,8 +3603,8 @@ | 
| 3592 | 3603 | |
| 3593 | 3604 | list.add(map); | 
| 3594 | 3605 | } | 
| 3595 | - pageResult.setGrid(list); | |
| 3596 | - return RespBuilder.buildSuccess(pageResult); | |
| 3606 | + return new BaseListResponse().setErrorcode(0).setErrormsg("成功") | |
| 3607 | + .setData(list).setPageInfo(checkModelQuery1.getPageInfo()); | |
| 3597 | 3608 | } | 
| 3598 | 3609 | return RespBuilder.buildSuccess(null); | 
| 3599 | 3610 |