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