From b382634173db36f8a710cd28ac8599d21048f24f Mon Sep 17 00:00:00 2001 From: Euni4U <958079825@qq.com> Date: Tue, 17 Dec 2024 13:31:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BF=83=E7=94=B5=E5=9B=BE?= =?UTF-8?q?=E5=90=84=E9=A1=B9=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PatientexamlistController.java | 43 +++++++++++++++++++ .../vo/ECGStatisticsRespVO.java | 26 +++++++++++ 2 files changed, 69 insertions(+) create mode 100644 yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/ECGStatisticsRespVO.java diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java index 4a32fd057..afb53a20a 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java @@ -61,6 +61,8 @@ import javax.annotation.security.PermitAll; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + @Tag(name = "管理后台 - PACS检查列表") @RestController @RequestMapping("/tblist/patientexamlist") @@ -525,4 +527,45 @@ public class PatientexamlistController { } + @GetMapping("/getECGStatistics") + @Operation(summary = "获取心电图统计数据") + @PreAuthorize("@ss.hasPermission('tblist:patientexamlist:query')") + public CommonResult getECGStatistics() { + ECGStatisticsRespVO statistics = new ECGStatisticsRespVO(); + + // 构建基础查询条件 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("deviceType", "ECG"); + + // 获取总数 + int totalCount = patientexamlistMapper.selectCount(queryWrapper).intValue(); + statistics.setTotalCount(totalCount); + + // 获取已分析数量(reviewDate不为空) + QueryWrapper analyzedWrapper = new QueryWrapper<>(); + analyzedWrapper.eq("deviceType", "ECG") + .isNotNull("reviewDate"); + int analyzedCount = patientexamlistMapper.selectCount(analyzedWrapper).intValue(); + statistics.setAnalyzedCount(analyzedCount); + + // 获取未分析数量 + statistics.setUnanalyzedCount(totalCount - analyzedCount); + + // 获取阳性数量 + QueryWrapper positiveWrapper = new QueryWrapper<>(); + positiveWrapper.eq("deviceType", "ECG") + .eq("wholeDiagFlag", "1"); // 假设 wholeDiagFlag=1 表示阳性 + int positiveCount = patientexamlistMapper.selectCount(positiveWrapper).intValue(); + statistics.setPositiveCount(positiveCount); + + // 获取上级申请数量(applicationDate不为空) + QueryWrapper appliedWrapper = new QueryWrapper<>(); + appliedWrapper.eq("deviceType", "ECG") + .isNotNull("applicationDate"); + int appliedCount = patientexamlistMapper.selectCount(appliedWrapper).intValue(); + statistics.setAppliedCount(appliedCount); + + return success(statistics); + } + } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/ECGStatisticsRespVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/ECGStatisticsRespVO.java new file mode 100644 index 000000000..8359bfadd --- /dev/null +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/ECGStatisticsRespVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "心电图统计数据 Response VO") +@Data +@ToString(callSuper = true) +public class ECGStatisticsRespVO { + + @Schema(description = "心电图数据总数") + private Integer totalCount; + + @Schema(description = "已分析数量") + private Integer analyzedCount; + + @Schema(description = "未分析数量") + private Integer unanalyzedCount; + + @Schema(description = "阳性数量") + private Integer positiveCount; + + @Schema(description = "上级申请数量") + private Integer appliedCount; +} \ No newline at end of file