Kaynağa Gözat

业务运营系统

ldl 2 gün önce
ebeveyn
işleme
b044de6023
17 değiştirilmiş dosya ile 766 ekleme ve 0 silme
  1. 67 0
      ruoyi-modules/ruoyi-health-record/src/main/java/org/dromara/health/domain/HealthEmergencyEquipment.java
  2. 85 0
      ruoyi-modules/ruoyi-service-operation/pom.xml
  3. 21 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/RuoYiIntelligentAnalysisApplication.java
  4. 42 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/ExaminationLabStatsVo.java
  5. 53 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/HealthRecordStatsVo.java
  6. 62 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/HospitalizationStatsVo.java
  7. 62 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/InsuranceStatsVo.java
  8. 57 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/MedicationStatsVo.java
  9. 62 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/OutpatientStatsVo.java
  10. 42 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/PharmacyStatsVo.java
  11. 38 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/PrenatalVisitStatsVo.java
  12. 42 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/QualityStatsVo.java
  13. 42 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/SurgeryStatsVo.java
  14. 14 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/service/IHealthBirthCertificateService.java
  15. 15 0
      ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/service/impl/HealthBirthCertificateServiceImpl.java
  16. 34 0
      ruoyi-modules/ruoyi-service-operation/src/main/resources/application.yml
  17. 28 0
      ruoyi-modules/ruoyi-service-operation/src/main/resources/logback-plus.xml

+ 67 - 0
ruoyi-modules/ruoyi-health-record/src/main/java/org/dromara/health/domain/HealthEmergencyEquipment.java

@@ -0,0 +1,67 @@
+package org.dromara.health.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.io.Serial;
+import java.math.BigDecimal;
+
+/**
+ * 车载医疗设备配备表 health_emergency_equipment
+ *
+ * @author ldl
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("health_emergency_equipment")
+public class HealthEmergencyEquipment extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 设备标识(monitor/defibrillator/ventilator/resuscitator)
+     */
+    private String equipmentKey;
+
+    /**
+     * 设备名称
+     */
+    private String name;
+
+    /**
+     * 已配备数量
+     */
+    private Integer equipped;
+
+    /**
+     * 应配备数量
+     */
+    private Integer expected;
+
+    /**
+     * 配备率(%)
+     */
+    private BigDecimal rate;
+
+    /**
+     * 备注说明
+     */
+    private String note;
+
+    /**
+     * 状态色调(good/warn/danger)
+     */
+    private String tone;
+
+    @TableField(exist = false)
+    private Long createDept;
+}

+ 85 - 0
ruoyi-modules/ruoyi-service-operation/pom.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.dromara</groupId>
+        <artifactId>ruoyi-modules</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>ruoyi-service-operation</artifactId>
+    <description>
+        全民服务运营系统
+    </description>
+    <dependencies>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-nacos</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Log -->
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-log</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-service-impl</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-doc</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-mybatis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-sensitive</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-dubbo</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-tenant</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-redis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-ratelimiter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-excel</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 21 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/RuoYiIntelligentAnalysisApplication.java

@@ -0,0 +1,21 @@
+package org.dromara.health;
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
+
+/**
+ * *
+ * 智能分析模块
+ */
+@EnableDubbo
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+public class RuoYiIntelligentAnalysisApplication {
+    public static void main(String[] args) {
+        SpringApplication application = new SpringApplication(RuoYiIntelligentAnalysisApplication.class);
+        application.setApplicationStartup(new BufferingApplicationStartup(2048));
+        application.run(args);
+        System.out.println("(♥◠‿◠)ノ゙  健康档案服务模块启动成功   ლ(´ڡ`ლ)゙  ");
+    }
+}

+ 42 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/ExaminationLabStatsVo.java

@@ -0,0 +1,42 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 检查检验分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class ExaminationLabStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** 检查检验总项次 */
+    private Long totalCount;
+
+    /** 检查检验总费用(万元) */
+    private BigDecimal totalCost;
+
+    /** 阳性检出率(%) */
+    private BigDecimal positiveRate;
+
+    /** 均次费用(元) */
+    private BigDecimal avgCost;
+
+    /** 检查检验项次月度趋势 */
+    private List<Map<String, Object>> trendList;
+
+    /** 项目类型占比 */
+    private List<Map<String, Object>> typeList;
+
+    /** 检查检验项目TOP10 */
+    private List<Map<String, Object>> itemRankList;
+}

+ 53 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/HealthRecordStatsVo.java

@@ -0,0 +1,53 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 健康档案统计视图对象
+ *
+ * @author ldl
+ */
+@Data
+public class HealthRecordStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 建档总数
+     */
+    private Long totalRecords;
+
+    /**
+     * 有效档案数
+     */
+    private Long activeRecords;
+
+    /**
+     * 已归档档案数
+     */
+    private Long archivedRecords;
+
+    /**
+     * 门诊档案数
+     */
+    private Long outpatientRecords;
+
+    /**
+     * 急诊档案数
+     */
+    private Long emergencyRecords;
+
+    /**
+     * 住院档案数
+     */
+    private Long inpatientRecords;
+
+    /**
+     * 体检档案数
+     */
+    private Long physicalRecords;
+}

+ 62 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/HospitalizationStatsVo.java

@@ -0,0 +1,62 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 住院分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class HospitalizationStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 住院人次(总记录数)
+     */
+    private Long totalCount;
+
+    /**
+     * 在院人数
+     */
+    private Long inHospitalCount;
+
+    /**
+     * 总费用(万元)
+     */
+    private BigDecimal totalCost;
+
+    /**
+     * 平均住院日
+     */
+    private BigDecimal avgDays;
+
+    /**
+     * 住院趋势(按月):key-月份 value-人次
+     */
+    private List<Map<String, Object>> trendList;
+
+    /**
+     * 科室住院占比
+     */
+    private List<Map<String, Object>> deptList;
+
+    /**
+     * 疾病类型分布 TOP10
+     */
+    private List<Map<String, Object>> diseaseList;
+
+    /**
+     * 年龄段分布
+     */
+    private List<Map<String, Object>> ageList;
+
+}

+ 62 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/InsuranceStatsVo.java

@@ -0,0 +1,62 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 医保分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class InsuranceStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 结算总笔数
+     */
+    private Long totalCount;
+
+    /**
+     * 参保人数(不同residentId数量)
+     */
+    private Long insuredCount;
+
+    /**
+     * 基金总支出(万元)- 统筹+个人账户
+     */
+    private BigDecimal totalPoolPay;
+
+    /**
+     * 平均报销比例(%)
+     */
+    private BigDecimal avgReimburseRate;
+
+    /**
+     * 人均报销金额(元)
+     */
+    private BigDecimal avgReimburseAmount;
+
+    /**
+     * 医保基金支出月度趋势
+     */
+    private List<Map<String, Object>> trendList;
+
+    /**
+     * 医保类型支出占比
+     */
+    private List<Map<String, Object>> typeList;
+
+    /**
+     * 结算类型分布
+     */
+    private List<Map<String, Object>> settleTypeList;
+
+}

+ 57 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/MedicationStatsVo.java

@@ -0,0 +1,57 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 患者用药分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class MedicationStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 处方总数
+     */
+    private Long totalCount;
+
+    /**
+     * 用药患者数(不同residentId数量)
+     */
+    private Long patientCount;
+
+    /**
+     * 药品总费用(万元)
+     */
+    private BigDecimal totalDrugFee;
+
+    /**
+     * 均次药费(元)
+     */
+    private BigDecimal avgDrugFee;
+
+    /**
+     * 药品使用量月度趋势
+     */
+    private List<Map<String, Object>> trendList;
+
+    /**
+     * 药品类别使用占比
+     */
+    private List<Map<String, Object>> categoryList;
+
+    /**
+     * 药品使用排行 TOP10
+     */
+    private List<Map<String, Object>> drugRankList;
+
+}

+ 62 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/OutpatientStatsVo.java

@@ -0,0 +1,62 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 门诊分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class OutpatientStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 门诊人次(总记录数)
+     */
+    private Long totalCount;
+
+    /**
+     * 初诊人次
+     */
+    private Long firstVisitCount;
+
+    /**
+     * 门诊总费用(万元)
+     */
+    private BigDecimal totalCost;
+
+    /**
+     * 次均费用(元)
+     */
+    private BigDecimal avgCost;
+
+    /**
+     * 门诊趋势(按月):key-月份 value-人次
+     */
+    private List<Map<String, Object>> trendList;
+
+    /**
+     * 科室门诊占比
+     */
+    private List<Map<String, Object>> deptList;
+
+    /**
+     * 疾病类型分布 TOP10
+     */
+    private List<Map<String, Object>> diseaseList;
+
+    /**
+     * 年龄段分布
+     */
+    private List<Map<String, Object>> ageList;
+
+}

+ 42 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/PharmacyStatsVo.java

@@ -0,0 +1,42 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 药房药物分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class PharmacyStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** 药品品规数 */
+    private Long drugCount;
+
+    /** 月总销售额(万元) */
+    private BigDecimal totalMonthAmount;
+
+    /** 库存总金额(万元) */
+    private BigDecimal totalStockAmount;
+
+    /** 平均库存周转天数 */
+    private BigDecimal avgStockDays;
+
+    /** 药品销售额月度趋势 */
+    private List<Map<String, Object>> trendList;
+
+    /** 药品分类销售占比 */
+    private List<Map<String, Object>> typeList;
+
+    /** 药品销售排行TOP10 */
+    private List<Map<String, Object>> salesRankList;
+}

+ 38 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/PrenatalVisitStatsVo.java

@@ -0,0 +1,38 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 产前随访统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class PrenatalVisitStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 在管孕妇总数
+     */
+    private Long totalCount;
+
+    /**
+     * 首次随访数
+     */
+    private Long firstVisitCount;
+
+    /**
+     * 高危孕妇数
+     */
+    private Long highRiskCount;
+
+    /**
+     * 逾期未访数
+     */
+    private Long overdueCount;
+}

+ 42 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/QualityStatsVo.java

@@ -0,0 +1,42 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 治疗质量分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class QualityStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** 分析样本总数 */
+    private Long totalSampleCount;
+
+    /** 平均合规率(%) */
+    private BigDecimal avgComplianceRate;
+
+    /** 异常病例总数 */
+    private Long totalAbnormalCount;
+
+    /** 平均质量评分 */
+    private BigDecimal avgQualityScore;
+
+    /** 质量评分月度趋势 */
+    private List<Map<String, Object>> trendList;
+
+    /** 机构评价等级占比 */
+    private List<Map<String, Object>> evaluationList;
+
+    /** 质量指标分布 */
+    private List<Map<String, Object>> indicatorList;
+}

+ 42 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/domain/vo/SurgeryStatsVo.java

@@ -0,0 +1,42 @@
+package org.dromara.health.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 手术分析统计 VO
+ *
+ * @author ldl
+ */
+@Data
+public class SurgeryStatsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** 手术总例数 */
+    private Long totalCount;
+
+    /** 四级手术例数 */
+    private Long level4Count;
+
+    /** 手术总费用(万元) */
+    private BigDecimal totalCost;
+
+    /** 均次手术费用(元) */
+    private BigDecimal avgCost;
+
+    /** 手术例数月度趋势 */
+    private List<Map<String, Object>> trendList;
+
+    /** 手术等级占比 */
+    private List<Map<String, Object>> levelList;
+
+    /** 手术类型TOP10 */
+    private List<Map<String, Object>> surgeryRankList;
+}

+ 14 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/service/IHealthBirthCertificateService.java

@@ -0,0 +1,14 @@
+package org.dromara.health.service;
+
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import java.util.List;
+
+/**
+ * 出生医学证明 服务层
+ *
+ * @author ldl
+ */
+public interface IHealthBirthCertificateService {
+
+}

+ 15 - 0
ruoyi-modules/ruoyi-service-operation/src/main/java/org/dromara/health/service/impl/HealthBirthCertificateServiceImpl.java

@@ -0,0 +1,15 @@
+package org.dromara.health.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.health.service.IHealthBirthCertificateService;
+import org.springframework.stereotype.Service;
+/**
+ * 出生医学证明 服务层实现
+ *
+ * @author ldl
+ */
+@RequiredArgsConstructor
+@Service
+public class HealthBirthCertificateServiceImpl implements IHealthBirthCertificateService {
+
+}

+ 34 - 0
ruoyi-modules/ruoyi-service-operation/src/main/resources/application.yml

@@ -0,0 +1,34 @@
+# Tomcat
+server:
+  port: 9301
+
+# Spring
+spring:
+  application:
+    # 应用名称
+    name: ruoyi-intelligent-analysis
+  profiles:
+    # 环境配置
+    active: @profiles.active@
+
+--- # nacos 配置
+spring:
+  cloud:
+    nacos:
+      # nacos 服务地址
+      server-addr: @nacos.server@
+      username: @nacos.username@
+      password: @nacos.password@
+      discovery:
+        # 注册组
+        group: @nacos.discovery.group@
+        namespace: ${spring.profiles.active}
+      config:
+        # 配置组
+        group: @nacos.config.group@
+        namespace: ${spring.profiles.active}
+  config:
+    import:
+      - optional:nacos:application-common.yml
+      - optional:nacos:datasource.yml
+      - optional:nacos:${spring.application.name}.yml

+ 28 - 0
ruoyi-modules/ruoyi-service-operation/src/main/resources/logback-plus.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <!-- 日志存放路径 -->
+	<property name="log.path" value="logs/${project.artifactId}" />
+   <!-- 日志输出格式 -->
+    <property name="console.log.pattern"
+              value="%cyan(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
+
+    <!-- 控制台输出 -->
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${console.log.pattern}</pattern>
+            <charset>utf-8</charset>
+        </encoder>
+    </appender>
+
+    <include resource="logback-common.xml" />
+
+    <include resource="logback-logstash.xml" />
+
+    <!-- 开启 skywalking 日志收集 -->
+    <include resource="logback-skylog.xml" />
+
+	<!--系统操作日志-->
+    <root level="info">
+        <appender-ref ref="console" />
+    </root>
+</configuration>