Commit 2355af9cd8116904be23afe5f6cefa4c943c9a12
1 parent
bb4c1cc474
Exists in
master
and in
6 other branches
美生县医院系统数据分析报告-2.2.1.本月高危孕妇分布情况-统计
Showing 3 changed files with 88 additions and 4 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
View file @
2355af9
| ... | ... | @@ -529,6 +529,22 @@ |
| 529 | 529 | @RequestParam(required = true)Date endDate) { |
| 530 | 530 | return reportService.getMaternityDueWeek(hospitalId, startDate, endDate); |
| 531 | 531 | } |
| 532 | + /** | |
| 533 | + * 统计管理-孕产妇数据统计-初诊详情 | |
| 534 | + * | |
| 535 | + * @param hospitalId | |
| 536 | + * @param startDate | |
| 537 | + * @param endDate | |
| 538 | + * @return | |
| 539 | + */ | |
| 540 | + @RequestMapping(value = "/getAntExChuDetail", method = RequestMethod.GET) | |
| 541 | + @ResponseBody | |
| 542 | + @TokenRequired | |
| 543 | + public BaseResponse getAntExChuDetail(@RequestParam(required = true)String hospitalId, | |
| 544 | + @RequestParam(required = true)Date startDate, | |
| 545 | + @RequestParam(required = true)Date endDate) { | |
| 546 | + return reportService.getAntExChuDetail(hospitalId, startDate, endDate); | |
| 547 | + } | |
| 532 | 548 | |
| 533 | 549 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
View file @
2355af9
| ... | ... | @@ -111,5 +111,7 @@ |
| 111 | 111 | BaseResponse getMaternityStatis(String hospitalId,Date startDate,Date endDate); |
| 112 | 112 | |
| 113 | 113 | BaseResponse getMaternityDueWeek(String hospitalId, Date startDate, Date endDate); |
| 114 | + | |
| 115 | + BaseResponse getAntExChuDetail(String hospitalId, Date startDate, Date endDate); | |
| 114 | 116 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
2355af9
| ... | ... | @@ -5,18 +5,17 @@ |
| 5 | 5 | import com.lyms.hospitalapi.pojo.ReportModel; |
| 6 | 6 | import com.lyms.platform.biz.AntExChuModelTemp; |
| 7 | 7 | import com.lyms.platform.biz.service.ApplyOrderService; |
| 8 | +import com.lyms.platform.biz.service.BasicConfigService; | |
| 8 | 9 | import com.lyms.platform.biz.service.CommonService; |
| 9 | 10 | import com.lyms.platform.biz.service.PatientWeightService2; |
| 10 | 11 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 11 | 12 | import com.lyms.platform.common.enums.*; |
| 12 | 13 | import com.lyms.platform.common.result.*; |
| 13 | -import com.lyms.platform.common.utils.DateUtil; | |
| 14 | -import com.lyms.platform.common.utils.EnumUtil; | |
| 15 | -import com.lyms.platform.common.utils.ExceptionUtils; | |
| 16 | -import com.lyms.platform.common.utils.PingYinUtil; | |
| 14 | +import com.lyms.platform.common.utils.*; | |
| 17 | 15 | import com.lyms.platform.operate.web.dao.IReportDao; |
| 18 | 16 | import com.lyms.platform.operate.web.facade.AccessPermissionFacade; |
| 19 | 17 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 18 | +import com.lyms.platform.operate.web.result.HighScoreResult; | |
| 20 | 19 | import com.lyms.platform.operate.web.service.IReportService; |
| 21 | 20 | import com.lyms.platform.operate.web.service.PatientWeightService; |
| 22 | 21 | import com.lyms.platform.operate.web.utils.*; |
| ... | ... | @@ -31,6 +30,7 @@ |
| 31 | 30 | import com.lyms.platform.query.SieveApplyOrderQuery; |
| 32 | 31 | import com.lymsh.platform.reportdata.model.echarts.Series; |
| 33 | 32 | import org.apache.commons.collections.*; |
| 33 | +import org.apache.commons.collections.map.HashedMap; | |
| 34 | 34 | import org.apache.commons.lang.StringUtils; |
| 35 | 35 | import org.springframework.beans.factory.annotation.Autowired; |
| 36 | 36 | import org.springframework.beans.factory.annotation.Qualifier; |
| ... | ... | @@ -98,6 +98,8 @@ |
| 98 | 98 | @Autowired |
| 99 | 99 | @Qualifier("commonThreadPool") |
| 100 | 100 | private ThreadPoolTaskExecutor commonThreadPool; |
| 101 | + @Autowired | |
| 102 | + private BasicConfigService basicConfigService; | |
| 101 | 103 | |
| 102 | 104 | private static final Map<String, String> colorMap = new HashMap<>(); |
| 103 | 105 | |
| 104 | 106 | |
| 105 | 107 | |
| ... | ... | @@ -4578,15 +4580,79 @@ |
| 4578 | 4580 | map.put("dueWeek20",dueWeek20); |
| 4579 | 4581 | map.put("dueWeek25",dueWeek25); |
| 4580 | 4582 | map.put("dueWeek29",dueWeek29); |
| 4583 | + map.put("dueWeekTotal",dueWeek12+dueWeek13+dueWeek20+dueWeek25+dueWeek29); | |
| 4581 | 4584 | //孕早期,孕中期,孕晚期 |
| 4582 | 4585 | map.put("early",dueWeek12); |
| 4583 | 4586 | map.put("interim",dueWeek13+dueWeek20+dueWeek25); |
| 4584 | 4587 | map.put("Late",dueWeek29); |
| 4588 | + map.put("zzwTotal",dueWeek12+dueWeek13+dueWeek20+dueWeek25+dueWeek29); | |
| 4585 | 4589 | |
| 4586 | 4590 | br.setErrorcode(ErrorCodeConstants.SUCCESS); |
| 4587 | 4591 | br.setErrormsg("成功"); |
| 4588 | 4592 | br.setObject(map); |
| 4589 | 4593 | return br; |
| 4594 | + } | |
| 4595 | + | |
| 4596 | + @Override | |
| 4597 | + public BaseResponse getAntExChuDetail(String hospitalId, Date startDate, Date endDate) { | |
| 4598 | + BaseResponse br = new BaseResponse(); | |
| 4599 | + Map<String,Object>map =new HashMap<>(); | |
| 4600 | + //绿,黄,橙,红,紫 | |
| 4601 | + int risk_green=0,risk_yellow=0,risk_orange=0,risk_red=0,risk_purple=0; | |
| 4602 | + //初诊 | |
| 4603 | + Criteria criteria = Criteria.where("checkTime").gte(startDate).lte(endDate) | |
| 4604 | + .and("hospitalId").is(hospitalId) | |
| 4605 | + .and("yn").is(YnEnums.YES.getId()); | |
| 4606 | + List<AntExChuModel> antExChuModels = mongoTemplate.find(Query.query(criteria), AntExChuModel.class); | |
| 4607 | + for (AntExChuModel antExChuModel : antExChuModels) { | |
| 4608 | + //解析高危 | |
| 4609 | + List <Map <String, Object>> mapList=getRisk(antExChuModel.getHighrisk()); | |
| 4610 | + //获取高危人数 | |
| 4611 | + for (Map<String, Object> stringObjectMap : mapList) { | |
| 4612 | + switch (stringObjectMap.get("color").toString()){ | |
| 4613 | + case "risk_green": | |
| 4614 | + risk_green++; | |
| 4615 | + break; | |
| 4616 | + case "risk_yellow": | |
| 4617 | + risk_yellow++; | |
| 4618 | + break; | |
| 4619 | + case "risk_orange": | |
| 4620 | + risk_orange++; | |
| 4621 | + break; | |
| 4622 | + case "risk_red": | |
| 4623 | + risk_red++; | |
| 4624 | + break; | |
| 4625 | + case "risk_purple": | |
| 4626 | + risk_purple++; | |
| 4627 | + break; | |
| 4628 | + } | |
| 4629 | + } | |
| 4630 | + } | |
| 4631 | + map.put("risk_green",risk_green); | |
| 4632 | + map.put("risk_yellow",risk_yellow); | |
| 4633 | + map.put("risk_orange",risk_orange); | |
| 4634 | + map.put("risk_red",risk_red); | |
| 4635 | + map.put("risk_purple",risk_purple); | |
| 4636 | + br.setErrorcode(ErrorCodeConstants.SUCCESS); | |
| 4637 | + br.setErrormsg("成功"); | |
| 4638 | + br.setObject(map); | |
| 4639 | + return br; | |
| 4640 | + } | |
| 4641 | + | |
| 4642 | + /** | |
| 4643 | + * 解析高危,返回名字和颜色 | |
| 4644 | + * @param highRisk | |
| 4645 | + * @return | |
| 4646 | + */ | |
| 4647 | + public List <Map <String, Object>> getRisk(String highRisk){ | |
| 4648 | + HighScoreResult highScoreResult = null; | |
| 4649 | + if (StringUtils.isNotEmpty(highRisk)) { | |
| 4650 | + List <String> ids = JsonUtil.toList(highRisk, String.class); | |
| 4651 | + if (CollectionUtils.isNotEmpty(ids)) { | |
| 4652 | + highScoreResult = ResolveUtils.queryRisk(ids, true, basicConfigService); | |
| 4653 | + } | |
| 4654 | + } | |
| 4655 | + return ResolveUtils.queryHighRisk(highScoreResult); | |
| 4590 | 4656 | } |
| 4591 | 4657 | } |