Commit 2355af9cd8116904be23afe5f6cefa4c943c9a12

Authored by shiyang
1 parent bb4c1cc474

美生县医院系统数据分析报告-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 }