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