diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java index ac8b8c0..bcc4474 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java @@ -581,4 +581,19 @@ public class ReportController extends BaseController { return reportService.getFmDetail(hospitalId, startDate, endDate); } + /** + * 统计管理-孕产妇数据统计-3.产后评估 + * + * @param startDate + * @param endDate + * @return + */ + @RequestMapping(value = "/getFmAfterEvaluate", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse getFmAfterEvaluate(@RequestParam(required = true)String hospitalId, + @RequestParam(required = true)String startDate, + @RequestParam(required = true)String endDate) { + return reportService.getFmAfterEvaluate(hospitalId,startDate,endDate); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java index 0aa6fe8..70880ca 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java @@ -117,4 +117,6 @@ public interface IReportService extends IBaseService { BaseResponse getHighRiskDetail(String hospitalId,String riskType, Date startDate, Date endDate,Integer page,Integer limit); BaseResponse getFmDetail(String hospitalId, Date startDate, Date endDate); + + BaseResponse getFmAfterEvaluate(String hospitalId,String startDate,String endDate); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 2ebe558..3296a50 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -4510,7 +4510,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Criteria criteria11 = Criteria.where("dueDate") .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate)) .andOperator(c) - .and("hospitalId").is("216") + .and("hospitalId").is(hospitalId) .and("yn").is(1); List mDlList = mongoTemplate.find(Query.query(criteria11), MaternalDeliverModel.class); for (MaternalDeliverModel deliverModel : mDlList) { @@ -4729,7 +4729,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Criteria criteria = Criteria.where("dueDate") .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate)) .andOperator(c) - .and("hospitalId").is("216") + .and("hospitalId").is(hospitalId) .and("yn").is(1); //分组查询 AggregationOperation match = Aggregation.match(criteria); @@ -4752,7 +4752,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Criteria criteria2 = Criteria.where("dueDate") .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate)) .andOperator(c) - .and("hospitalId").is("216") + .and("hospitalId").is(hospitalId) .and("yn").is(1) .and("deliverDoctor").is(mappedResult.get("_id")); List list = mongoTemplate.find(Query.query(criteria2), MaternalDeliverModel.class); @@ -4777,6 +4777,67 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService return br; } + @Override + public BaseResponse getFmAfterEvaluate(String hospitalId,String startDate,String endDate) { + BaseResponse br = new BaseResponse(); + List > listMap=new ArrayList<>(); + Criteria criteria11 = Criteria.where("dueDate") + .gte(startDate).lte(endDate) + .and("hospitalId").is(hospitalId) + .and("yn").is(1); + List mDlList = mongoTemplate.find(Query.query(criteria11), MaternalDeliverModel.class); + int alreadyTotal=0,shouldTotal=0; + for(int i=1;i<=5;i++){ + Map map=new HashedMap(); + map.put("already"+i,0); + map.put("should"+i,0); + for (MaternalDeliverModel deliverModel : mDlList) { + //已评估 + if(CollectionUtils.isNotEmpty(deliverModel.getStatus())) { + if (deliverModel.getStatus().contains(i)) { + map.put("already" + i, map.get("already"+i)+1); + } + } + //应评估 + int days = 0; + switch (i) { + case 1: + days = 5; + break; + case 2: + days = 7; + break; + case 3: + days = 14; + break; + case 4: + days = 3; + break; + case 5: + days = 42; + break; + } + Date date = DateUtil.addDay(new Date(),-days); + if(CollectionUtils.isEmpty(deliverModel.getStatus())||(!deliverModel.getStatus().contains(i)&&deliverModel.getDueDate1().before(date))){ + map.put("should"+i,map.get("should"+i)+1); + } + } + alreadyTotal+=map.get("already"+i); + shouldTotal+=map.get("should"+i); + listMap.add(map); + if(i==5){ + Map map2=new HashedMap(); + map2.put("alreadyTotal",alreadyTotal); + map2.put("shouldTotal",shouldTotal); + listMap.add(map2); + } + } + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setObject(listMap); + return br; + } + /** * 解析高危,返回名字和颜色 * @param highRisk