Commit b7a7e9631f62a107d9da6d98a9158e7e79df1e76
1 parent
b1462350a1
Exists in
master
and in
6 other branches
公共卫生统计
Showing 5 changed files with 217 additions and 2 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java
- platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java
platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java
View file @
b7a7e96
... | ... | @@ -753,6 +753,17 @@ |
753 | 753 | //本人电话 |
754 | 754 | private String selfPhone; |
755 | 755 | |
756 | + //是否完成相应月龄检查套餐 1 未完成 2 完成 | |
757 | + private Integer completeCheck; | |
758 | + | |
759 | + public Integer getCompleteCheck() { | |
760 | + return completeCheck; | |
761 | + } | |
762 | + | |
763 | + public void setCompleteCheck(Integer completeCheck) { | |
764 | + this.completeCheck = completeCheck; | |
765 | + } | |
766 | + | |
756 | 767 | public String getBabyLevelId() { |
757 | 768 | return babyLevelId; |
758 | 769 | } |
platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java
View file @
b7a7e96
... | ... | @@ -370,6 +370,8 @@ |
370 | 370 | |
371 | 371 | //分娩孕周 |
372 | 372 | private Integer dueWeekStart; |
373 | + //是否完成相应月龄检查套餐 1 未完成 2 完成 | |
374 | + private Integer completeCheck; | |
373 | 375 | //分娩孕周 |
374 | 376 | private Integer dueWeekEnd; |
375 | 377 | private Boolean existSource; |
... | ... | @@ -413,6 +415,14 @@ |
413 | 415 | // 1 本县 2 外县 |
414 | 416 | private Integer areaType; |
415 | 417 | |
418 | + public Integer getCompleteCheck() { | |
419 | + return completeCheck; | |
420 | + } | |
421 | + | |
422 | + public void setCompleteCheck(Integer completeCheck) { | |
423 | + this.completeCheck = completeCheck; | |
424 | + } | |
425 | + | |
416 | 426 | public List<String> getBabyStreetIds() { |
417 | 427 | return babyStreetIds; |
418 | 428 | } |
... | ... | @@ -1863,6 +1873,9 @@ |
1863 | 1873 | } |
1864 | 1874 | if (null != sINCard) { |
1865 | 1875 | condition = condition.and("sINCard", sINCard, MongoOper.IS); |
1876 | + } | |
1877 | + if (null != completeCheck) { | |
1878 | + condition = condition.and("completeCheck", completeCheck, MongoOper.IS); | |
1866 | 1879 | } |
1867 | 1880 | if (encodedNe) { |
1868 | 1881 | condition = condition.and("encoded", null, MongoOper.NE); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java
View file @
b7a7e96
... | ... | @@ -601,6 +601,31 @@ |
601 | 601 | |
602 | 602 | |
603 | 603 | /** |
604 | + * 0-3岁 0-6岁 儿童系统管理人数 | |
605 | + * @param request | |
606 | + * @param page | |
607 | + * @param limit | |
608 | + * @param areaId | |
609 | + * @param streetId | |
610 | + * @param type | |
611 | + * @param dateTime | |
612 | + * @return | |
613 | + */ | |
614 | + @RequestMapping(method = RequestMethod.GET, value = "/getBabySystemCountList") | |
615 | + @ResponseBody | |
616 | + @TokenRequired | |
617 | + public BaseResponse getBabySystemCountList(HttpServletRequest request, | |
618 | + Integer page, Integer limit, | |
619 | + @RequestParam String areaId, | |
620 | + @RequestParam( required = false) String streetId, | |
621 | + @RequestParam Integer type, // 1 0-3岁儿童系统管理人数 2 0-6岁儿童系统管理人数 | |
622 | + @RequestParam Date dateTime) { | |
623 | + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); | |
624 | + return patientSyncMysqlFacade.getBabySystemCountList(page,limit,areaId,streetId,dateTime,type); | |
625 | + } | |
626 | + | |
627 | + | |
628 | + /** | |
604 | 629 | * 0-6岁健康管理人数 |
605 | 630 | * @param request |
606 | 631 | * @param page |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
View file @
b7a7e96
... | ... | @@ -5355,5 +5355,103 @@ |
5355 | 5355 | } |
5356 | 5356 | } |
5357 | 5357 | |
5358 | + | |
5359 | + @RequestMapping(value = "/updateBabyCompleteCheck", method = RequestMethod.GET) | |
5360 | + @ResponseBody | |
5361 | + public String updateBabyCompleteCheck(@RequestParam(required = true) String hid) { | |
5362 | + | |
5363 | + | |
5364 | + BabyModelQuery babyModelQuery = new BabyModelQuery(); | |
5365 | + babyModelQuery.setYn(YnEnums.YES.getId()); | |
5366 | + babyModelQuery.setId(hid); | |
5367 | + babyModelQuery.setLastCheckDoctor2(true); | |
5368 | + | |
5369 | + final List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); | |
5370 | + if (CollectionUtils.isNotEmpty(models)) { | |
5371 | + int batchSize = 200; | |
5372 | + int end = 0; | |
5373 | + for (int i = 0; i < models.size(); i += batchSize) { | |
5374 | + end = (end + batchSize); | |
5375 | + if (end > models.size()) { | |
5376 | + end = models.size(); | |
5377 | + } | |
5378 | + System.out.println("start:" + i + ",end:" + end); | |
5379 | + final List<BabyModel> tempList = models.subList(i, end); | |
5380 | + new Thread(new Runnable() { | |
5381 | + @Override | |
5382 | + public void run() { | |
5383 | + if (CollectionUtils.isNotEmpty(tempList)) { | |
5384 | + for (BabyModel babyModel : tempList) { | |
5385 | + if (babyModel != null) { | |
5386 | + BabyCheckModelQuery query = new BabyCheckModelQuery(); | |
5387 | + query.setYn(YnEnums.YES.getId()); | |
5388 | + query.setBuildId(babyModel.getId()); | |
5389 | + List<Integer> allMonths = new LinkedList(); | |
5390 | + allMonths.add(1); | |
5391 | + allMonths.add(3); | |
5392 | + allMonths.add(6); | |
5393 | + allMonths.add(8); | |
5394 | + allMonths.add(12); | |
5395 | + allMonths.add(18); | |
5396 | + allMonths.add(24); | |
5397 | + allMonths.add(30); | |
5398 | + allMonths.add(36); | |
5399 | + allMonths.add(48); | |
5400 | + allMonths.add(60); | |
5401 | + allMonths.add(72); | |
5402 | + | |
5403 | + List<Integer> checkMonths = new LinkedList(); | |
5404 | + | |
5405 | + int checkMonth = DateUtil.getBabyAgeMonth(babyModel.getBirth(),new Date()); | |
5406 | + | |
5407 | + for (Integer month : allMonths) | |
5408 | + { | |
5409 | + if (month <= checkMonth) | |
5410 | + { | |
5411 | + checkMonths.add(month); | |
5412 | + } | |
5413 | + } | |
5414 | + List<Integer> completeCheckMonths = new LinkedList(); | |
5415 | + List<BabyCheckModel> checkModels = babyCheckService.queryBabyCheckListRecord(query); | |
5416 | + if (CollectionUtils.isNotEmpty(checkModels)) { | |
5417 | + for (BabyCheckModel checkModel : checkModels) { | |
5418 | + if (checkModel.getTcType() != null) | |
5419 | + { | |
5420 | + completeCheckMonths.add(checkModel.getTcType()); | |
5421 | + } | |
5422 | + } | |
5423 | + } | |
5424 | + if (completeCheckMonths.size() == checkMonths.size()) | |
5425 | + { | |
5426 | + int complete = 2; | |
5427 | + for (int i = 0;i<completeCheckMonths.size();i++) | |
5428 | + { | |
5429 | + if (completeCheckMonths.get(i) != checkMonths.get(i)) | |
5430 | + { | |
5431 | + complete = 1; | |
5432 | + break; | |
5433 | + } | |
5434 | + } | |
5435 | + if (complete == 2) | |
5436 | + { | |
5437 | + babyModel.setCompleteCheck(complete); | |
5438 | + System.out.println("complete"+babyModel.getId()); | |
5439 | + babyBookbuildingService.updateBabyBuild(babyModel,babyModel.getId()); | |
5440 | + } | |
5441 | + } | |
5442 | + } | |
5443 | + } | |
5444 | + } | |
5445 | + } | |
5446 | + }).start(); | |
5447 | + } | |
5448 | + | |
5449 | + } | |
5450 | + | |
5451 | + | |
5452 | + return "updateBabyGrowth finish"; | |
5453 | + } | |
5454 | + | |
5455 | + | |
5358 | 5456 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java
View file @
b7a7e96
... | ... | @@ -3343,7 +3343,7 @@ |
3343 | 3343 | |
3344 | 3344 | //0-3岁儿童系统管理人数 |
3345 | 3345 | int data6=0; |
3346 | - babyQuery.setLastCheckDoctor2(true); | |
3346 | + babyQuery.setCompleteCheck(2); | |
3347 | 3347 | data6 = babyBookbuildingService.queryBabyCount(babyQuery); |
3348 | 3348 | int lastDate6= null==hospitalDate.get("data6")?0:Integer.parseInt(hospitalDate.get("data6").toString()); |
3349 | 3349 | hospitalDate.put("data6",data6+lastDate6); |
... | ... | @@ -3359,6 +3359,7 @@ |
3359 | 3359 | } |
3360 | 3360 | hospitalDate.put("data7",data6_data5+"%"); |
3361 | 3361 | //0-6岁儿童总数 |
3362 | + babyQuery.setCompleteCheck(null); | |
3362 | 3363 | end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); |
3363 | 3364 | babyQuery.setBirthStart(end1); |
3364 | 3365 | int data8 = babyBookbuildingService.queryBabyCount(babyQuery); |
... | ... | @@ -3366,7 +3367,7 @@ |
3366 | 3367 | hospitalDate.put("data8",data8+lastDate8); |
3367 | 3368 | |
3368 | 3369 | //0-6岁儿童系统管理人数 |
3369 | - babyQuery.setLastCheckDoctor2(true); | |
3370 | + babyQuery.setCompleteCheck(2); | |
3370 | 3371 | int data9 = babyBookbuildingService.queryBabyCount(babyQuery); |
3371 | 3372 | int lastDate9= null==hospitalDate.get("data9")?0:Integer.parseInt(hospitalDate.get("data9").toString()); |
3372 | 3373 | hospitalDate.put("data9",data9+lastDate9); |
... | ... | @@ -4099,6 +4100,73 @@ |
4099 | 4100 | Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); |
4100 | 4101 | babyQuery.setBirthStart(end1); |
4101 | 4102 | babyQuery.setLastCheckDoctor2(true); |
4103 | + List<BabyModel> datas = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
4104 | + if (CollectionUtils.isNotEmpty(datas)) | |
4105 | + { | |
4106 | + for (BabyModel model : datas) | |
4107 | + { | |
4108 | + Map result = new HashMap(); | |
4109 | + result.put("babyName",model.getName()); | |
4110 | + result.put("babySex",SexEnum.getTextById(model.getSex())); | |
4111 | + result.put("babyWeight",model.getBabyWeight()); | |
4112 | + result.put("babyHeight",model.getBabyHeight()); | |
4113 | + result.put("buildDate",DateUtil.getyyyy_MM_dd(model.getBuildDate())); | |
4114 | + result.put("mommyName",model.getMname()); | |
4115 | + result.put("mommyPhone",model.getMphone()); | |
4116 | + result.put("mommyCertNo",model.getMcertNo()); | |
4117 | + String buildHospital = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())).getName(); | |
4118 | + result.put("buildHospital",buildHospital); | |
4119 | + result.put("babyId",model.getId()); | |
4120 | + results.add(result); | |
4121 | + } | |
4122 | + } | |
4123 | + } | |
4124 | + return new BaseListResponse().setErrorcode(0).setErrormsg("成功") | |
4125 | + .setData(results).setPageInfo(babyQuery.getPageInfo()); | |
4126 | + } | |
4127 | + | |
4128 | + public BaseResponse getBabySystemCountList(Integer page, Integer limit, String areaId, String streetId, Date dateTime, Integer type) { | |
4129 | + | |
4130 | + List<Map> results = new ArrayList<>(); | |
4131 | + //获得区县下的街道 | |
4132 | + List<BasicConfig> regions = getRegions(areaId,streetId); | |
4133 | + List<String> hospitalIds = new ArrayList<>(); | |
4134 | + for (BasicConfig region : regions) { | |
4135 | + //获得街道下的医院 | |
4136 | + List<Organization> organizations = getOrganization(region.getId()); | |
4137 | + for (Organization organization : organizations) { | |
4138 | + String hospitalId= StringUtils.getIntToVal(organization.getId()); | |
4139 | + hospitalIds.add(hospitalId); | |
4140 | + } | |
4141 | + } | |
4142 | + | |
4143 | + Date endDate=DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); | |
4144 | + BabyModelQuery babyQuery = new BabyModelQuery(); | |
4145 | + if (CollectionUtils.isNotEmpty(hospitalIds)) | |
4146 | + { | |
4147 | + | |
4148 | + babyQuery.setDataStatus(true);//排除自动建档数据 | |
4149 | + babyQuery.setYn(YnEnums.YES.getId()); | |
4150 | + babyQuery.setHospitalIdList(hospitalIds); | |
4151 | + Date currentDate1 = DateUtil.formatDate(new Date()); | |
4152 | + Date start1 = DateUtil.addMonth(currentDate1, 0); | |
4153 | + babyQuery.setBirthEnd(start1); | |
4154 | + babyQuery.setBuildDateEnd(endDate); | |
4155 | + babyQuery.setCompleteCheck(2); | |
4156 | + babyQuery.setPage(page); | |
4157 | + babyQuery.setLimit(limit); | |
4158 | + babyQuery.setNeed("Need"); | |
4159 | + babyQuery.setOrder("birth"); | |
4160 | + if (type == 1) | |
4161 | + { //0-3岁儿童系统管理人数 | |
4162 | + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); | |
4163 | + babyQuery.setBirthStart(end1); | |
4164 | + } | |
4165 | + else | |
4166 | + { //0-6岁儿童系统管理人数 | |
4167 | + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); | |
4168 | + babyQuery.setBirthStart(end1); | |
4169 | + } | |
4102 | 4170 | List<BabyModel> datas = babyBookbuildingService.queryBabyBuildByCond(babyQuery); |
4103 | 4171 | if (CollectionUtils.isNotEmpty(datas)) |
4104 | 4172 | { |