From 0b44f292ad20870964bc137e262148aec286f1cb Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Sun, 17 Nov 2024 21:07:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=81=A5=E5=BA=B7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=EF=BC=8C=E9=A6=96=E9=A1=B5=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StatisticAnalysisController.java | 7 ++ .../mapper/StatisticAnalysisMapper.java | 25 ++++++ .../service/IStatisticAnalysisService.java | 2 + .../service/impl/StatisticAnalysisImpl.java | 76 ++++++++++++++++--- .../mapper/health/StatisticAnalysisMapper.xml | 29 +++++++ 5 files changed, 130 insertions(+), 9 deletions(-) diff --git a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/controller/StatisticAnalysisController.java b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/controller/StatisticAnalysisController.java index 0ca052d..f5e1e53 100644 --- a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/controller/StatisticAnalysisController.java +++ b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/controller/StatisticAnalysisController.java @@ -39,5 +39,12 @@ public class StatisticAnalysisController extends BaseController { return AjaxResult.success(resultMap); } + @ApiOperation("健康总览-健康总览信息") + @GetMapping("/healthAnalysis") + public Map getDebitAccountsInfo(){ + Map resultMap = iStatisticAnalysisService.getHealthAnalysisInfo(); + return AjaxResult.success(resultMap); + } + } diff --git a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/mapper/StatisticAnalysisMapper.java b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/mapper/StatisticAnalysisMapper.java index 3223764..3d64159 100644 --- a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/mapper/StatisticAnalysisMapper.java +++ b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/mapper/StatisticAnalysisMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.health.mapper; import com.ruoyi.common.datascope.annotation.DataScope; import com.ruoyi.health.domain.dto.HealthMarRecordDto; +import com.ruoyi.health.domain.dto.HealthRecordDto; import com.ruoyi.health.domain.vo.HealthMarRecordVo; import org.apache.ibatis.annotations.Mapper; @@ -19,4 +20,28 @@ public interface StatisticAnalysisMapper { @DataScope(businessAlias = "hmr") public List selectMarRecordList(HealthMarRecordDto healthMarRecordDto); + /** + * 查询用药记录 + * + * @return 收支集合 + */ + @DataScope(businessAlias = "hmr") + public int selectHospitalCount(HealthRecordDto dto); + + /** + * 查询用药记录 + * + * @return 收支集合 + */ + @DataScope(businessAlias = "hmr") + public int selectDoctorCount(HealthRecordDto dto); + + /** + * 查询用药记录 + * + * @return 收支集合 + */ + @DataScope(businessAlias = "hmr") + public int selectDistinctMedicalCount(HealthRecordDto dto); + } diff --git a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/IStatisticAnalysisService.java b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/IStatisticAnalysisService.java index a714d86..a2ccb15 100644 --- a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/IStatisticAnalysisService.java +++ b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/IStatisticAnalysisService.java @@ -15,4 +15,6 @@ public interface IStatisticAnalysisService { public Map getTemperatureAnalysis(AnalysisDto analysisDto); + public Map getHealthAnalysisInfo(); + } diff --git a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/impl/StatisticAnalysisImpl.java b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/impl/StatisticAnalysisImpl.java index bcc8807..8d2ca82 100644 --- a/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/impl/StatisticAnalysisImpl.java +++ b/ruoyi-modules/intc-health/src/main/java/com/ruoyi/health/service/impl/StatisticAnalysisImpl.java @@ -3,15 +3,9 @@ package com.ruoyi.health.service.impl; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.utils.DictUtils; -import com.ruoyi.health.domain.dto.AnalysisDto; -import com.ruoyi.health.domain.dto.HealthMarRecordDto; -import com.ruoyi.health.domain.dto.HealthTemperatureRecordDto; -import com.ruoyi.health.domain.vo.HealthMarRecordVo; -import com.ruoyi.health.domain.vo.HealthStaticAnalysisVo; -import com.ruoyi.health.domain.vo.HealthTemperatureRecordVo; -import com.ruoyi.health.mapper.HealthMarRecordMapper; -import com.ruoyi.health.mapper.HealthTemperatureRecordMapper; -import com.ruoyi.health.mapper.StatisticAnalysisMapper; +import com.ruoyi.health.domain.dto.*; +import com.ruoyi.health.domain.vo.*; +import com.ruoyi.health.mapper.*; import com.ruoyi.health.service.IStatisticAnalysisService; import org.springframework.stereotype.Service; @@ -32,6 +26,18 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { @Resource private StatisticAnalysisMapper statisticAnalysisMapper; + @Resource + private HealthPersonMapper healthPersonMapper; + + @Resource + private HealthDoctorRecordMapper healthDoctorRecordMapper; + + @Resource + private HealthActivityMapper healthActivityMapper; + + @Resource + private HealthRecordMapper healthRecordMapper; + @Override public Map getMarAnalysis(AnalysisDto analysisDto) { @@ -399,4 +405,56 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { return map; } + + @Override + public Map getHealthAnalysisInfo() { + //返回数据 + HashMap map = new HashMap<>(); + DecimalFormat decimalFormat = new DecimalFormat("#.##"); + + //成员总数 + map.put("personCount",healthPersonMapper.selectHealthPersonList(new HealthPersonDto()).size()); + //健康档案总数 + map.put("healthRecordCount",healthRecordMapper.selectHealthRecordList(new HealthRecordDto()).size()); + //活动总数 + map.put("activityCount",healthActivityMapper.selectHealthActivityList(new HealthActivityDto()).size()); + //就医总数 + map.put("doctorCount",healthDoctorRecordMapper.selectHealthDoctorRecordList(new HealthDoctorRecordDto()).size()); + + //医院总数 + map.put("hospitalCount",statisticAnalysisMapper.selectHospitalCount(new HealthRecordDto())); + + //医生总数 + map.put("doctorTotalCount",statisticAnalysisMapper.selectDoctorCount(new HealthRecordDto())); + //用药次数 + map.put("marCount",marRecordMapper.selectHealthMarRecordList(new HealthMarRecordDto()).size()); + //用药类别 + map.put("medicalTypeCount",statisticAnalysisMapper.selectDistinctMedicalCount(new HealthRecordDto())); + + List temperatureRecordVoList=temperatureRecordMapper.selectHealthTemperatureRecordList(new HealthTemperatureRecordDto()); + //测量体温次数 + map.put("temperatureTotalCount",temperatureRecordVoList.size()); + //低烧次数 + int lowerTempCount=0; + //中烧次数 + int middleTempCount=0; + //超过38.5次数 + int higherTempCount=0; + for (HealthTemperatureRecordVo vo:temperatureRecordVoList + ){ + if (vo.getTemperature()>=36.9&&vo.getTemperature()<=37.5) { + lowerTempCount++; + }else if (vo.getTemperature()>37.5&&vo.getTemperature()<38.5) { + middleTempCount++; + }else if (vo.getTemperature()>=38.5) { + higherTempCount++; + } + } + map.put("lowerTempCount",lowerTempCount); + map.put("middleTempCount",middleTempCount); + map.put("higherTempCount",higherTempCount); + + return map; + } + } diff --git a/ruoyi-modules/intc-health/src/main/resources/mapper/health/StatisticAnalysisMapper.xml b/ruoyi-modules/intc-health/src/main/resources/mapper/health/StatisticAnalysisMapper.xml index cb131ae..7b9f14b 100644 --- a/ruoyi-modules/intc-health/src/main/resources/mapper/health/StatisticAnalysisMapper.xml +++ b/ruoyi-modules/intc-health/src/main/resources/mapper/health/StatisticAnalysisMapper.xml @@ -72,4 +72,33 @@ order by hmb."short_name" desc + + + + + \ No newline at end of file