Commit bc9ca2eb3bf07901c81629ebd5e2e1336ba5d995

Authored by shiyang
1 parent e1650e6916

美生县医院系统数据分析报告-3.1产后评估

Showing 3 changed files with 81 additions and 3 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java View file @ bc9ca2e
... ... @@ -581,5 +581,20 @@
581 581 return reportService.getFmDetail(hospitalId, startDate, endDate);
582 582 }
583 583  
  584 + /**
  585 + * 统计管理-孕产妇数据统计-3.产后评估
  586 + *
  587 + * @param startDate
  588 + * @param endDate
  589 + * @return
  590 + */
  591 + @RequestMapping(value = "/getFmAfterEvaluate", method = RequestMethod.GET)
  592 + @ResponseBody
  593 + @TokenRequired
  594 + public BaseResponse getFmAfterEvaluate(@RequestParam(required = true)String hospitalId,
  595 + @RequestParam(required = true)String startDate,
  596 + @RequestParam(required = true)String endDate) {
  597 + return reportService.getFmAfterEvaluate(hospitalId,startDate,endDate);
  598 + }
584 599 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java View file @ bc9ca2e
... ... @@ -117,5 +117,7 @@
117 117 BaseResponse getHighRiskDetail(String hospitalId,String riskType, Date startDate, Date endDate,Integer page,Integer limit);
118 118  
119 119 BaseResponse getFmDetail(String hospitalId, Date startDate, Date endDate);
  120 +
  121 + BaseResponse getFmAfterEvaluate(String hospitalId,String startDate,String endDate);
120 122 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java View file @ bc9ca2e
... ... @@ -4510,7 +4510,7 @@
4510 4510 Criteria criteria11 = Criteria.where("dueDate")
4511 4511 .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate))
4512 4512 .andOperator(c)
4513   - .and("hospitalId").is("216")
  4513 + .and("hospitalId").is(hospitalId)
4514 4514 .and("yn").is(1);
4515 4515 List<MaternalDeliverModel> mDlList = mongoTemplate.find(Query.query(criteria11), MaternalDeliverModel.class);
4516 4516 for (MaternalDeliverModel deliverModel : mDlList) {
... ... @@ -4729,7 +4729,7 @@
4729 4729 Criteria criteria = Criteria.where("dueDate")
4730 4730 .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate))
4731 4731 .andOperator(c)
4732   - .and("hospitalId").is("216")
  4732 + .and("hospitalId").is(hospitalId)
4733 4733 .and("yn").is(1);
4734 4734 //分组查询
4735 4735 AggregationOperation match = Aggregation.match(criteria);
... ... @@ -4752,7 +4752,7 @@
4752 4752 Criteria criteria2 = Criteria.where("dueDate")
4753 4753 .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate))
4754 4754 .andOperator(c)
4755   - .and("hospitalId").is("216")
  4755 + .and("hospitalId").is(hospitalId)
4756 4756 .and("yn").is(1)
4757 4757 .and("deliverDoctor").is(mappedResult.get("_id"));
4758 4758 List<MaternalDeliverModel> list = mongoTemplate.find(Query.query(criteria2), MaternalDeliverModel.class);
... ... @@ -4774,6 +4774,67 @@
4774 4774 br.setErrorcode(ErrorCodeConstants.SUCCESS);
4775 4775 br.setErrormsg("成功");
4776 4776 br.setObject(doctorFm);
  4777 + return br;
  4778 + }
  4779 +
  4780 + @Override
  4781 + public BaseResponse getFmAfterEvaluate(String hospitalId,String startDate,String endDate) {
  4782 + BaseResponse br = new BaseResponse();
  4783 + List <Map <String, Integer>> listMap=new ArrayList<>();
  4784 + Criteria criteria11 = Criteria.where("dueDate")
  4785 + .gte(startDate).lte(endDate)
  4786 + .and("hospitalId").is(hospitalId)
  4787 + .and("yn").is(1);
  4788 + List<MaternalDeliverModel> mDlList = mongoTemplate.find(Query.query(criteria11), MaternalDeliverModel.class);
  4789 + int alreadyTotal=0,shouldTotal=0;
  4790 + for(int i=1;i<=5;i++){
  4791 + Map <String, Integer>map=new HashedMap();
  4792 + map.put("already"+i,0);
  4793 + map.put("should"+i,0);
  4794 + for (MaternalDeliverModel deliverModel : mDlList) {
  4795 + //已评估
  4796 + if(CollectionUtils.isNotEmpty(deliverModel.getStatus())) {
  4797 + if (deliverModel.getStatus().contains(i)) {
  4798 + map.put("already" + i, map.get("already"+i)+1);
  4799 + }
  4800 + }
  4801 + //应评估
  4802 + int days = 0;
  4803 + switch (i) {
  4804 + case 1:
  4805 + days = 5;
  4806 + break;
  4807 + case 2:
  4808 + days = 7;
  4809 + break;
  4810 + case 3:
  4811 + days = 14;
  4812 + break;
  4813 + case 4:
  4814 + days = 3;
  4815 + break;
  4816 + case 5:
  4817 + days = 42;
  4818 + break;
  4819 + }
  4820 + Date date = DateUtil.addDay(new Date(),-days);
  4821 + if(CollectionUtils.isEmpty(deliverModel.getStatus())||(!deliverModel.getStatus().contains(i)&&deliverModel.getDueDate1().before(date))){
  4822 + map.put("should"+i,map.get("should"+i)+1);
  4823 + }
  4824 + }
  4825 + alreadyTotal+=map.get("already"+i);
  4826 + shouldTotal+=map.get("should"+i);
  4827 + listMap.add(map);
  4828 + if(i==5){
  4829 + Map <String, Integer>map2=new HashedMap();
  4830 + map2.put("alreadyTotal",alreadyTotal);
  4831 + map2.put("shouldTotal",shouldTotal);
  4832 + listMap.add(map2);
  4833 + }
  4834 + }
  4835 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  4836 + br.setErrormsg("成功");
  4837 + br.setObject(listMap);
4777 4838 return br;
4778 4839 }
4779 4840