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 |