Commit 965edb702ed0f308596e64e51b9b74c5e934b72c

Authored by liquanyu
1 parent b0c4c38807

公共卫生统计

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