mj-li 2 months ago
commit
2250d3cf2e
100 changed files with 4106 additions and 0 deletions
  1. 84 0
      .gitignore
  2. 48 0
      pom.xml
  3. 46 0
      xxh-data-statistics-framework/pom.xml
  4. 86 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/ConsultationDayInfo.java
  5. 140 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/ConsultationDetailInfo.java
  6. 70 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/DiagnosisPatientDayInfo.java
  7. 58 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FirstDiseaseDayInfo.java
  8. 58 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FirstDiseasePatientInfo.java
  9. 74 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FollowUpDayInfo.java
  10. 110 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FollowUpDetailInfo.java
  11. 58 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/InDayInfo.java
  12. 64 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientFollowupDayInfo.java
  13. 97 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientFollowupDetailInfo.java
  14. 64 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientInpatientLossDayInfo.java
  15. 76 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientInpatientLossDetailInfo.java
  16. 66 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PotentialPatientNotDiagnosisDayInfo.java
  17. 75 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PotentialPatientNotDiagnosisDetailInfo.java
  18. 118 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PushDayInfo.java
  19. 118 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PushDetailInfo.java
  20. 58 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/VisitDayInfo.java
  21. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/ConsultationDayInfoMapper.java
  22. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/ConsultationDetailInfoMapper.java
  23. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/DiagnosisPatientDayInfoMapper.java
  24. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FirstDiseaseDayInfoMapper.java
  25. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FirstDiseasePatientInfoMapper.java
  26. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FollowUpDayInfoMapper.java
  27. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FollowUpDetailInfoMapper.java
  28. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/InDayInfoMapper.java
  29. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientFollowupDayInfoMapper.java
  30. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientFollowupDetailInfoMapper.java
  31. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientInpatientLossDayInfoMapper.java
  32. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientInpatientLossDetailInfoMapper.java
  33. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PotentialPatientNotDiagnosisDayInfoMapper.java
  34. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PotentialPatientNotDiagnosisDetailInfoMapper.java
  35. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PushDayInfoMapper.java
  36. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PushDetailInfoMapper.java
  37. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/VisitDayInfoMapper.java
  38. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/ConsultationDayInfoService.java
  39. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/ConsultationDetailInfoService.java
  40. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/DiagnosisPatientDayInfoService.java
  41. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FirstDiseaseDayInfoService.java
  42. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FirstDiseasePatientInfoService.java
  43. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FollowUpDayInfoService.java
  44. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FollowUpDetailInfoService.java
  45. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/InDayInfoService.java
  46. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientFollowupDayInfoService.java
  47. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientFollowupDetailInfoService.java
  48. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientInpatientLossDayInfoService.java
  49. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientInpatientLossDetailInfoService.java
  50. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PotentialPatientNotDiagnosisDayInfoService.java
  51. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PotentialPatientNotDiagnosisDetailInfoService.java
  52. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PushDayInfoService.java
  53. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PushDetailInfoService.java
  54. 16 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/VisitDayInfoService.java
  55. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/ConsultationDayInfoServiceImpl.java
  56. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/ConsultationDetailInfoServiceImpl.java
  57. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/DiagnosisPatientDayInfoServiceImpl.java
  58. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FirstDiseaseDayInfoServiceImpl.java
  59. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FirstDiseasePatientInfoServiceImpl.java
  60. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FollowUpDayInfoServiceImpl.java
  61. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FollowUpDetailInfoServiceImpl.java
  62. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/InDayInfoServiceImpl.java
  63. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientFollowupDayInfoServiceImpl.java
  64. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientFollowupDetailInfoServiceImpl.java
  65. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientInpatientLossDayInfoServiceImpl.java
  66. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientInpatientLossDetailInfoServiceImpl.java
  67. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PotentialPatientNotDiagnosisDayInfoServiceImpl.java
  68. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PotentialPatientNotDiagnosisDetailInfoServiceImpl.java
  69. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PushDayInfoServiceImpl.java
  70. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PushDetailInfoServiceImpl.java
  71. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/VisitDayInfoServiceImpl.java
  72. 40 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/constant/PushConstant.java
  73. 70 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/helper/DataStatisticHelper.java
  74. 44 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/DataQueryService.java
  75. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/ConsultationDayItemStatBO.java
  76. 37 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/ConsultationDayStatBO.java
  77. 13 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/DeptStatBO.java
  78. 14 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/DiseaseInfoStatBO.java
  79. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/FollowUpDayItemStatBO.java
  80. 37 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/FollowUpDayStatBO.java
  81. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/InDayItemStatBO.java
  82. 21 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/InDayStatBO.java
  83. 26 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/MergeDayStatBO.java
  84. 20 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/PatientInfoStatBO.java
  85. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/PushDayItemStatBO.java
  86. 44 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/PushDayStatBO.java
  87. 17 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/VisitDayItemStatBO.java
  88. 21 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/VisitDayStatBO.java
  89. 43 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/dto/StatisticsQueryDTO.java
  90. 38 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/DiagnosisPatientDayBO.java
  91. 30 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/FirstDiseaseDayBO.java
  92. 29 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/PatientFollowupDayBO.java
  93. 29 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/PatientInpatientLossDayBO.java
  94. 33 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/PotentialPatientNotDiagnosisDayBO.java
  95. 854 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/impl/DataQueryServiceImpl.java
  96. 32 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/ConsultationDayQueryBO.java
  97. 64 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/ConsultationDetailQueryBO.java
  98. 18 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/DiseaseIcdRelBO.java
  99. 14 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/FirstDiseaseDayInfoQueryBO.java
  100. 34 0
      xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/FirstDiseaseDiagnosisQueryBO.java

+ 84 - 0
.gitignore

@@ -0,0 +1,84 @@
+# maven output files
+/target/
+*/target/
+**/target/
+
+# virtual machine crash logs
+hs_err_pid*
+/bin/
+/build/
+*/bin/
+*/gen/
+*/out/
+
+# Java class files
+*.class
+
+# Files for the Dalvik VM
+*.dex
+
+#Built application files
+*.apk
+*.ap_
+proguard/
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+# *.jar
+*.war
+*.ear
+
+# Eclipse Project files
+.classpath
+*/.classpath
+**/.classpath
+.project
+*/.project
+**/.project
+.factorypath
+*/.factorypath
+**/.factorypath
+.settings/
+/.settings/
+*/.settings/
+**/.settings/
+*/.apt_generated/
+**/.apt_generated/
+*/.apt_generated_tests/
+**/.apt_generated_tests/
+
+# IntelliJ IDEA Project files
+.idea
+*.iml
+*/*.iml
+**/*.iml
+*.ipr
+*.iws
+out
+*/.DS_Store
+**/.DS_Store
+.DS_Store
+Thumbs.db
+/.idea/
+*/.idea/
+**/.idea/
+.idea/
+
+#gradle wrapper
+gradle/
+/.gradle/
+# Gradle files
+.gradle/
+build/
+*/build/
+**/build/
+gradlew
+gradlew.bat
+
+# Log Files
+*.log
+
+# VSCode
+.vscode

+ 48 - 0
pom.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>com.xxh.cloud.data.statistics</groupId>
+	<artifactId>xxh-data-statistics-java</artifactId>
+	<version>1.0.0</version>
+	<packaging>pom</packaging>
+
+
+	<properties>
+		<maven.compiler.source>8</maven.compiler.source>
+		<maven.compiler.target>8</maven.compiler.target>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<xx.framework.version>1.0.0</xx.framework.version>
+	</properties>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>com.xxh.cloud</groupId>
+				<artifactId>xx-framework-dependencies</artifactId>
+				<version>${xx.framework.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+		</dependencies>
+
+
+	</dependencyManagement>
+
+
+
+	<modules>
+		<module>xxh-data-statistics-framework</module>
+		<module>xxh-data-statistics-task</module>
+		<module>xxh-data-statistics-mgr-web</module>
+		<module>xxh-data-statistics-run</module>
+	</modules>
+
+
+
+
+
+
+
+</project>

+ 46 - 0
xxh-data-statistics-framework/pom.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.xxh.cloud.data.statistics</groupId>
+        <artifactId>xxh-data-statistics-java</artifactId>
+        <version>1.0.0</version>
+    </parent>
+    <artifactId>xxh-data-statistics-framework</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+
+
+    <dependencies>
+        <dependency>
+            <groupId>com.xxh.cloud</groupId>
+            <artifactId>xx-config-framework</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.xxh.cloud</groupId>
+            <artifactId>xx-config-mybatisplus</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.xxh.cloud</groupId>
+            <artifactId>xx-config-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>3.5.1</version>
+        </dependency>
+    </dependencies>
+
+
+
+</project>

+ 86 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/ConsultationDayInfo.java

@@ -0,0 +1,86 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 会诊信息日统计表
+ * </p>
+ *
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_consultation_day_info")
+public class ConsultationDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 日期
+     */
+     @ApiModelProperty(value = "日期")
+      private String dataTime;
+
+    /**
+     * 发现人数
+     */
+     @ApiModelProperty(value = "发现人数")
+      private Integer discoverNum;
+
+    /**
+     * 申请人数
+     */
+     @ApiModelProperty(value = "申请人数")
+      private Integer applyNum;
+
+    /**
+     * 发起人数
+     */
+     @ApiModelProperty(value = "发起人数")
+      private Integer openNum;
+
+    /**
+     * 转科人数
+     */
+     @ApiModelProperty(value = "转科人数")
+      private Integer changeNum;
+
+    /**
+     * 随访人数
+     */
+     @ApiModelProperty(value = "随访人数")
+      private Integer followUpNum;
+
+    /**
+     * 放弃人数
+     */
+     @ApiModelProperty(value = "放弃人数")
+      private Integer abandonNum;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 140 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/ConsultationDetailInfo.java

@@ -0,0 +1,140 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 会诊信息明细表
+ * </p>
+ *
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_consultation_detail_info")
+public class ConsultationDetailInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 患者ID
+     */
+     @ApiModelProperty(value = "患者ID")
+      private String patientId;
+
+    /**
+     * 来源类型
+     */
+     @ApiModelProperty(value = "来源类型")
+      private String sourceType;
+
+    /**
+     * 会诊标签ID
+     */
+     @ApiModelProperty(value = "会诊标签ID")
+      private String lableId;
+
+    /**
+     * 会诊发现时间
+     */
+     @ApiModelProperty(value = "会诊发现时间")
+      private Date discoverTime;
+
+    /**
+     * 会诊申请提醒状态
+     */
+     @ApiModelProperty(value = "会诊申请提醒状态")
+      private String applyStatus;
+
+    /**
+     * 会诊申请提醒ID
+     */
+     @ApiModelProperty(value = "会诊申请提醒ID")
+      private String applyId;
+
+    /**
+     * 会诊申请提醒时间
+     */
+     @ApiModelProperty(value = "会诊申请提醒时间")
+      private Date applyTime;
+
+    /**
+     * 会诊发起状态
+     */
+     @ApiModelProperty(value = "会诊发起状态")
+      private String openStatus;
+
+    /**
+     * 会诊发起ID
+     */
+     @ApiModelProperty(value = "会诊发起ID")
+      private String openId;
+
+    /**
+     * 会诊发起时间
+     */
+     @ApiModelProperty(value = "会诊发起时间")
+      private Date openTime;
+
+    /**
+     * 会诊结论状态
+     */
+     @ApiModelProperty(value = "会诊结论状态")
+      private String resultStatus;
+
+    /**
+     * 会诊结论时间
+     */
+     @ApiModelProperty(value = "会诊结论时间")
+      private Date resultTime;
+
+    /**
+     * 会诊结论目标分类
+     */
+     @ApiModelProperty(value = "会诊结论目标分类")
+      private String resultTargetType;
+
+    /**
+     * 会诊结论目标执行状态
+     */
+     @ApiModelProperty(value = "会诊结论目标执行状态")
+      private String resultTargetExeStatus;
+
+    /**
+     * 会诊结论目标执行时间
+     */
+     @ApiModelProperty(value = "会诊结论目标执行时间")
+      private Date resultTargetExeTime;
+
+    /**
+     * 统计状态,标记数据是否需要更新
+     */
+     @ApiModelProperty(value = "统计状态,标记数据是否需要更新")
+      private String status;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 70 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/DiagnosisPatientDayInfo.java

@@ -0,0 +1,70 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 确诊人数日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_diagnosis_patient_day_info")
+public class DiagnosisPatientDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 日期
+     */
+     @ApiModelProperty(value = "日期")
+      private String dataTime;
+
+    /**
+     * 病种
+     */
+     @ApiModelProperty(value = "病种")
+      private String diseaseId;
+
+    /**
+     * 科室
+     */
+     @ApiModelProperty(value = "科室")
+      private String deptCode;
+
+    /**
+     * 场景
+     */
+     @ApiModelProperty(value = "场景")
+      private String scene;
+
+    /**
+     * 人数
+     */
+     @ApiModelProperty(value = "人数")
+      private Integer num;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 58 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FirstDiseaseDayInfo.java

@@ -0,0 +1,58 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 首发病患者日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_first_disease_day_info")
+public class FirstDiseaseDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 时间
+     */
+     @ApiModelProperty(value = "时间")
+      private String dataTime;
+
+    /**
+     * 病种
+     */
+     @ApiModelProperty(value = "病种")
+      private String diseaseId;
+
+    /**
+     * 患者人数
+     */
+     @ApiModelProperty(value = "患者人数")
+      private Integer num;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 58 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FirstDiseasePatientInfo.java

@@ -0,0 +1,58 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 首发患者明细表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_first_disease_patient_info")
+public class FirstDiseasePatientInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 患者
+     */
+     @ApiModelProperty(value = "患者")
+      private String patientId;
+
+    /**
+     * 病种
+     */
+     @ApiModelProperty(value = "病种")
+      private String diseaseId;
+
+    /**
+     * 发现时间
+     */
+     @ApiModelProperty(value = "发现时间")
+      private Date discoveryTime;
+
+
+    /**
+     * 最新更新时间
+     */
+    @ApiModelProperty(value = "最新更新时间")
+    private Date latestTime;
+
+}

+ 74 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FollowUpDayInfo.java

@@ -0,0 +1,74 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 随访信息日统计表
+ * </p>
+ *
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_follow_up_day_info")
+public class FollowUpDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 日期
+     */
+     @ApiModelProperty(value = "日期")
+      private String dataTime;
+
+    /**
+     * 随访总人数
+     */
+     @ApiModelProperty(value = "随访总人数")
+      private Integer totalNum;
+
+    /**
+     * 随访已执行人数
+     */
+     @ApiModelProperty(value = "随访已执行人数")
+      private Integer exeYesNum;
+
+    /**
+     * 随访未执行人数
+     */
+     @ApiModelProperty(value = "随访未执行人数")
+      private Integer exeNoNum;
+
+    /**
+     * 随访已复诊人数
+     */
+     @ApiModelProperty(value = "随访已复诊人数")
+      private Integer visitNum;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 110 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/FollowUpDetailInfo.java

@@ -0,0 +1,110 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 随访信息明细表
+ * </p>
+ *
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_follow_up_detail_info")
+public class FollowUpDetailInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 患者ID
+     */
+     @ApiModelProperty(value = "患者ID")
+      private String patientId;
+
+    /**
+     * 来源类型
+     */
+     @ApiModelProperty(value = "来源类型")
+      private String sourceType;
+
+    /**
+     * 来源数据ID
+     */
+     @ApiModelProperty(value = "来源数据ID")
+      private String sourceDataId;
+
+    /**
+     * 来源数据时间
+     */
+     @ApiModelProperty(value = "来源数据时间")
+      private Date sourceDataTime;
+
+    /**
+     * 计划随访时间
+     */
+     @ApiModelProperty(value = "计划随访时间")
+      private Date planFollowTime;
+
+    /**
+     * 随访执行状态
+     */
+     @ApiModelProperty(value = "随访执行状态")
+      private String followExeStatus;
+
+    /**
+     * 随访执行时间
+     */
+     @ApiModelProperty(value = "随访执行时间")
+      private Date followExeTime;
+
+    /**
+     * 随访复诊状态
+     */
+     @ApiModelProperty(value = "随访复诊状态")
+      private String followVisitStatus;
+
+    /**
+     * 随访复诊目标科室
+     */
+     @ApiModelProperty(value = "随访复诊目标科室")
+      private String followVisitDeptCode;
+
+    /**
+     * 随访复诊时间
+     */
+     @ApiModelProperty(value = "随访复诊时间")
+      private Date followVisitTime;
+
+    /**
+     * 统计状态,标记数据是否需要更新
+     */
+     @ApiModelProperty(value = "统计状态,标记数据是否需要更新")
+      private String status;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 58 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/InDayInfo.java

@@ -0,0 +1,58 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 住院患者日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_in_day_info")
+public class InDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 时间
+     */
+     @ApiModelProperty(value = "时间")
+      private String dataTime;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 患者人数
+     */
+     @ApiModelProperty(value = "患者人数")
+      private Integer num;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 64 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientFollowupDayInfo.java

@@ -0,0 +1,64 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 复诊患者日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_patient_followup_day_info")
+public class PatientFollowupDayInfo {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 时间
+     */
+     @ApiModelProperty(value = "时间")
+      private String dataTime;
+
+    /**
+     * 应复诊人数
+     */
+     @ApiModelProperty(value = "应复诊人数")
+      private Integer followupNum;
+
+    /**
+     * 应复诊人数更新时间
+     */
+     @ApiModelProperty(value = "应复诊人数更新时间")
+      private Date followupLatestTime;
+
+    /**
+     * 已复诊人数
+     */
+     @ApiModelProperty(value = "已复诊人数")
+      private Integer followupYesNum;
+
+    /**
+     * 已复诊人数更新时间
+     */
+     @ApiModelProperty(value = "已复诊人数更新时间")
+      private Date followupYesLatestTime;
+
+
+}

+ 97 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientFollowupDetailInfo.java

@@ -0,0 +1,97 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 复诊患者明细表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_patient_followup_detail_info")
+public class PatientFollowupDetailInfo {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+
+    /**
+     * 日期
+     */
+    @ApiModelProperty(value = "日期")
+    private String dataTime;
+
+    /**
+     * 发现患者
+     */
+     @ApiModelProperty(value = "发现患者")
+      private String patientId;
+
+
+    @ApiModelProperty(value = "主患者")
+    private String mainPatientId;
+
+    @ApiModelProperty(value = "设定复诊时间start")
+    private Date visitStartTime;
+
+    @ApiModelProperty(value = "设定复诊时间end")
+    private Date visitEndTime;
+
+    /**
+     * 发现时间
+     */
+     @ApiModelProperty(value = "发现时间")
+      private Date discoveryTime;
+
+    /**
+     * 指定复诊科室
+     */
+     @ApiModelProperty(value = "指定复诊科室")
+      private String appointDeptCode;
+
+    /**
+     * 是否复诊
+     */
+     @ApiModelProperty(value = "是否复诊")
+      private String isFollowup;
+
+    /**
+     * 实际复诊科室
+     */
+     @ApiModelProperty(value = "实际复诊科室")
+      private String followupDeptCode;
+
+    /**
+     * 复诊时间
+     */
+     @ApiModelProperty(value = "复诊时间")
+      private Date followupTime;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+    @ApiModelProperty(value = "关联来源分类")
+    private String relSourceType;
+
+    @ApiModelProperty(value = "关联来源id")
+    private String relSourceId;
+}

+ 64 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientInpatientLossDayInfo.java

@@ -0,0 +1,64 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 住院流失日统计
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_patient_inpatient_loss_day_info")
+public class PatientInpatientLossDayInfo{
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 日期
+     */
+     @ApiModelProperty(value = "日期")
+      private String dataTime;
+
+    /**
+     * 开住院单人数
+     */
+     @ApiModelProperty(value = "开住院单人数")
+      private Integer num;
+
+    /**
+     * 开住院单最新更新时间
+     */
+     @ApiModelProperty(value = "开住院单最新更新时间")
+      private Date latestTime;
+
+    /**
+     * 已住院人数
+     */
+     @ApiModelProperty(value = "已住院人数")
+      private Integer inpatientNum;
+
+    /**
+     * 已住院最新更新时间
+     */
+     @ApiModelProperty(value = "已住院最新更新时间")
+      private Date latestInpatientTime;
+
+
+}

+ 76 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PatientInpatientLossDetailInfo.java

@@ -0,0 +1,76 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 住院流失患者明细表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_patient_inpatient_loss_detail_info")
+public class PatientInpatientLossDetailInfo {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 患者
+     */
+     @ApiModelProperty(value = "患者")
+      private String patientId;
+
+    /**
+     * 开住院单时间
+     */
+     @ApiModelProperty(value = "开住院单时间")
+      private Date openInpatientTime;
+
+    /**
+     * 开住院单科室
+     */
+     @ApiModelProperty(value = "开住院单科室")
+      private String openInpatientDeptCode;
+
+    /**
+     * 是否住院
+     */
+     @ApiModelProperty(value = "是否住院")
+      private String isInpatient;
+
+    /**
+     * 住院科室
+     */
+     @ApiModelProperty(value = "住院科室")
+      private String inpatientDeptCode;
+
+    /**
+     * 住院时间
+     */
+     @ApiModelProperty(value = "住院时间")
+      private Date inpatientTime;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 66 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PotentialPatientNotDiagnosisDayInfo.java

@@ -0,0 +1,66 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 潜在患者未就诊日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_potential_patient_not_diagnosis_day_info")
+public class PotentialPatientNotDiagnosisDayInfo{
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+     @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 日期
+     */
+     @ApiModelProperty(value = "日期")
+      private String dataTime;
+
+    /**
+     * 病种
+     */
+     @ApiModelProperty(value = "病种")
+      private String diseaseId;
+
+    /**
+     * 数量
+     */
+     @ApiModelProperty(value = "数量")
+      private Integer num;
+
+
+    /**
+     * 确诊数量
+     */
+     @ApiModelProperty(value = "确诊数量")
+      private Integer diagnosisNum;
+
+
+    /**
+     * 最新更新时间
+     */
+    @ApiModelProperty(value = "最新更新时间")
+    private Date latestTime;
+
+
+}

+ 75 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PotentialPatientNotDiagnosisDetailInfo.java

@@ -0,0 +1,75 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 潜在患者未就诊明细表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_potential_patient_not_diagnosis_detail_info")
+public class PotentialPatientNotDiagnosisDetailInfo{
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 日期
+     */
+    @ApiModelProperty(value = "日期")
+    private String dataTime;
+
+    /**
+     * 患者
+     */
+     @ApiModelProperty(value = "患者")
+      private String patientId;
+
+
+    @ApiModelProperty(value = "主患者")
+    private String mainPatientId;
+
+    /**
+     * 潜在疾病
+     */
+     @ApiModelProperty(value = "潜在疾病")
+      private String diseaseId;
+
+    /**
+     * 发现时间
+     */
+     @ApiModelProperty(value = "发现时间")
+      private Date discoveryTime;
+
+    /**
+     * 是否有诊断
+     */
+     @ApiModelProperty(value = "是否有诊断")
+      private String isDiagnosis;
+
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 118 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PushDayInfo.java

@@ -0,0 +1,118 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 服务推送日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_push_day_info")
+public class PushDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 时间
+     */
+     @ApiModelProperty(value = "时间")
+      private String dataTime;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 触发量
+     */
+     @ApiModelProperty(value = "触发量")
+      private Integer num;
+
+    /**
+     * 推送成功数量
+     */
+     @ApiModelProperty(value = "推送成功数量")
+      private Integer pushSuccessNum;
+
+    /**
+     * 推送失败-未关注
+     */
+     @ApiModelProperty(value = "推送失败-未关注")
+      private Integer pushFailFollowNum;
+
+    /**
+     * 推送失败-无家属
+     */
+     @ApiModelProperty(value = "推送失败-无家属")
+      private Integer pushFailUserNum;
+
+    /**
+     * 推送失败
+     */
+     @ApiModelProperty(value = "推送失败")
+      private Integer pushFailNum;
+
+    /**
+     * 推送失败-无效
+     */
+     @ApiModelProperty(value = "推送失败-无效")
+      private Integer pushInvalidNum;
+
+    /**
+     * 推送失败-超时
+     */
+     @ApiModelProperty(value = "推送失败-超时")
+      private Integer pushTimeoutNum;
+
+    /**
+     * 推送失败-拉黑
+     */
+     @ApiModelProperty(value = "推送失败-拉黑")
+      private Integer pushBlackListNum;
+
+    /**
+     * 推送失败-异常
+     */
+     @ApiModelProperty(value = "推送失败-异常")
+      private Integer pushAbnormalNum;
+
+    /**
+     * 阅读次数
+     */
+     @ApiModelProperty(value = "阅读次数")
+      private Integer readNum;
+
+    /**
+     * 行动数量
+     */
+     @ApiModelProperty(value = "行动数量")
+      private Integer actionNum;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 118 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/PushDetailInfo.java

@@ -0,0 +1,118 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 服务推送明细表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_push_detail_info")
+public class PushDetailInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 患者ID
+     */
+     @ApiModelProperty(value = "患者ID")
+      private String patientId;
+
+    /**
+     * 服务配置ID
+     */
+     @ApiModelProperty(value = "服务配置ID")
+      private String servConfigId;
+
+    /**
+     * 服务ID
+     */
+     @ApiModelProperty(value = "服务ID")
+      private String servId;
+
+    /**
+     * 家属ID
+     */
+     @ApiModelProperty(value = "家属ID")
+      private String userId;
+
+    /**
+     * 提醒ID
+     */
+     @ApiModelProperty(value = "提醒ID")
+      private String remindId;
+
+    /**
+     * 推送时间
+     */
+     @ApiModelProperty(value = "推送时间")
+      private String pushTime;
+
+    /**
+     * 推送状态
+     */
+     @ApiModelProperty(value = "推送状态")
+      private String pushStatus;
+
+    /**
+     * 阅读状态
+     */
+     @ApiModelProperty(value = "阅读状态")
+      private String readStatus;
+
+    /**
+     * 阅读时间
+     */
+     @ApiModelProperty(value = "阅读时间")
+      private String readTime;
+
+    /**
+     * 行为触发状态
+     */
+     @ApiModelProperty(value = "行为触发状态")
+      private String actionStatus;
+
+    /**
+     * 行为触发时间
+     */
+     @ApiModelProperty(value = "行为触发时间")
+      private String actionTime;
+
+    /**
+     * 统计状态,标记数据是否需要更新
+     */
+     @ApiModelProperty(value = "统计状态,标记数据是否需要更新")
+      private String status;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 58 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/entity/VisitDayInfo.java

@@ -0,0 +1,58 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 就诊患者日统计表
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("sd_visit_day_info")
+public class VisitDayInfo  {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+     @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+      private String id;
+
+    /**
+     * 时间
+     */
+     @ApiModelProperty(value = "时间")
+      private String dataTime;
+
+    /**
+     * 科室编号
+     */
+     @ApiModelProperty(value = "科室编号")
+      private String deptCode;
+
+    /**
+     * 患者人数
+     */
+     @ApiModelProperty(value = "患者人数")
+      private Integer num;
+
+    /**
+     * 最新更新时间
+     */
+     @ApiModelProperty(value = "最新更新时间")
+      private Date latestTime;
+
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/ConsultationDayInfoMapper.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.ConsultationDayInfo;
+
+/**
+ * <p>
+ * 会诊信息日统计表 Mapper 接口
+ * </p>
+ */
+public interface ConsultationDayInfoMapper extends BaseMapper<ConsultationDayInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/ConsultationDetailInfoMapper.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.ConsultationDetailInfo;
+
+/**
+ * <p>
+ * 会诊信息明细表 Mapper 接口
+ * </p>
+ */
+public interface ConsultationDetailInfoMapper extends BaseMapper<ConsultationDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/DiagnosisPatientDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.DiagnosisPatientDayInfo;
+
+/**
+ * <p>
+ * 确诊人数日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface DiagnosisPatientDayInfoMapper extends BaseMapper<DiagnosisPatientDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FirstDiseaseDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FirstDiseaseDayInfo;
+
+/**
+ * <p>
+ * 首发病患者日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface FirstDiseaseDayInfoMapper extends BaseMapper<FirstDiseaseDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FirstDiseasePatientInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FirstDiseasePatientInfo;
+
+/**
+ * <p>
+ * 首发患者明细表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface FirstDiseasePatientInfoMapper extends BaseMapper<FirstDiseasePatientInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FollowUpDayInfoMapper.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FollowUpDayInfo;
+
+/**
+ * <p>
+ * 随访信息日统计表 Mapper 接口
+ * </p>
+ */
+public interface FollowUpDayInfoMapper extends BaseMapper<FollowUpDayInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/FollowUpDetailInfoMapper.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FollowUpDetailInfo;
+
+/**
+ * <p>
+ * 随访信息明细表 Mapper 接口
+ * </p>
+ */
+public interface FollowUpDetailInfoMapper extends BaseMapper<FollowUpDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/InDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.InDayInfo;
+
+/**
+ * <p>
+ * 住院患者日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface InDayInfoMapper extends BaseMapper<InDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientFollowupDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientFollowupDayInfo;
+
+/**
+ * <p>
+ * 复诊患者日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientFollowupDayInfoMapper extends BaseMapper<PatientFollowupDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientFollowupDetailInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientFollowupDetailInfo;
+
+/**
+ * <p>
+ * 复诊患者明细表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientFollowupDetailInfoMapper extends BaseMapper<PatientFollowupDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientInpatientLossDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientInpatientLossDayInfo;
+
+/**
+ * <p>
+ * 住院流失日统计 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientInpatientLossDayInfoMapper extends BaseMapper<PatientInpatientLossDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PatientInpatientLossDetailInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientInpatientLossDetailInfo;
+
+/**
+ * <p>
+ * 住院流失患者明细表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientInpatientLossDetailInfoMapper extends BaseMapper<PatientInpatientLossDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PotentialPatientNotDiagnosisDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PotentialPatientNotDiagnosisDayInfo;
+
+/**
+ * <p>
+ * 潜在患者未就诊日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PotentialPatientNotDiagnosisDayInfoMapper extends BaseMapper<PotentialPatientNotDiagnosisDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PotentialPatientNotDiagnosisDetailInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PotentialPatientNotDiagnosisDetailInfo;
+
+/**
+ * <p>
+ * 潜在患者未就诊明细表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PotentialPatientNotDiagnosisDetailInfoMapper extends BaseMapper<PotentialPatientNotDiagnosisDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PushDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PushDayInfo;
+
+/**
+ * <p>
+ * 服务推送日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PushDayInfoMapper extends BaseMapper<PushDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/PushDetailInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PushDetailInfo;
+
+/**
+ * <p>
+ * 服务推送明细表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PushDetailInfoMapper extends BaseMapper<PushDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/mapper/VisitDayInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.VisitDayInfo;
+
+/**
+ * <p>
+ * 就诊患者日统计表 Mapper 接口
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface VisitDayInfoMapper extends BaseMapper<VisitDayInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/ConsultationDayInfoService.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.ConsultationDayInfo;
+
+/**
+ * <p>
+ * 会诊信息日统计表 服务类
+ * </p>
+ */
+public interface ConsultationDayInfoService extends IService<ConsultationDayInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/ConsultationDetailInfoService.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.ConsultationDetailInfo;
+
+/**
+ * <p>
+ * 会诊信息明细表 服务类
+ * </p>
+ */
+public interface ConsultationDetailInfoService extends IService<ConsultationDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/DiagnosisPatientDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.DiagnosisPatientDayInfo;
+
+/**
+ * <p>
+ * 确诊人数日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface DiagnosisPatientDayInfoService extends IService<DiagnosisPatientDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FirstDiseaseDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FirstDiseaseDayInfo;
+
+/**
+ * <p>
+ * 首发病患者日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface FirstDiseaseDayInfoService extends IService<FirstDiseaseDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FirstDiseasePatientInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FirstDiseasePatientInfo;
+
+/**
+ * <p>
+ * 首发患者明细表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface FirstDiseasePatientInfoService extends IService<FirstDiseasePatientInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FollowUpDayInfoService.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FollowUpDayInfo;
+
+/**
+ * <p>
+ * 随访信息日统计表 服务类
+ * </p>
+ */
+public interface FollowUpDayInfoService extends IService<FollowUpDayInfo> {
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/FollowUpDetailInfoService.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FollowUpDetailInfo;
+
+/**
+ * <p>
+ * 随访信息明细表 服务类
+ * </p>
+ */
+public interface FollowUpDetailInfoService extends IService<FollowUpDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/InDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.InDayInfo;
+
+/**
+ * <p>
+ * 住院患者日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface InDayInfoService extends IService<InDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientFollowupDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientFollowupDayInfo;
+
+/**
+ * <p>
+ * 复诊患者日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientFollowupDayInfoService extends IService<PatientFollowupDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientFollowupDetailInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientFollowupDetailInfo;
+
+/**
+ * <p>
+ * 复诊患者明细表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientFollowupDetailInfoService extends IService<PatientFollowupDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientInpatientLossDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientInpatientLossDayInfo;
+
+/**
+ * <p>
+ * 住院流失日统计 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientInpatientLossDayInfoService extends IService<PatientInpatientLossDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PatientInpatientLossDetailInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientInpatientLossDetailInfo;
+
+/**
+ * <p>
+ * 住院流失患者明细表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PatientInpatientLossDetailInfoService extends IService<PatientInpatientLossDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PotentialPatientNotDiagnosisDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PotentialPatientNotDiagnosisDayInfo;
+
+/**
+ * <p>
+ * 潜在患者未就诊日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PotentialPatientNotDiagnosisDayInfoService extends IService<PotentialPatientNotDiagnosisDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PotentialPatientNotDiagnosisDetailInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PotentialPatientNotDiagnosisDetailInfo;
+
+/**
+ * <p>
+ * 潜在患者未就诊明细表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PotentialPatientNotDiagnosisDetailInfoService extends IService<PotentialPatientNotDiagnosisDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PushDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PushDayInfo;
+
+/**
+ * <p>
+ * 服务推送日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PushDayInfoService extends IService<PushDayInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/PushDetailInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PushDetailInfo;
+
+/**
+ * <p>
+ * 服务推送明细表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface PushDetailInfoService extends IService<PushDetailInfo> {
+
+}

+ 16 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/VisitDayInfoService.java

@@ -0,0 +1,16 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.VisitDayInfo;
+
+/**
+ * <p>
+ * 就诊患者日统计表 服务类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+public interface VisitDayInfoService extends IService<VisitDayInfo> {
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/ConsultationDayInfoServiceImpl.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.ConsultationDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.ConsultationDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.ConsultationDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 会诊信息日统计表 服务实现类
+ * </p>
+ */
+@Service
+public class ConsultationDayInfoServiceImpl extends ServiceImpl<ConsultationDayInfoMapper, ConsultationDayInfo> implements ConsultationDayInfoService {
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/ConsultationDetailInfoServiceImpl.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.ConsultationDetailInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.ConsultationDetailInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.ConsultationDetailInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 会诊信息明细表 服务实现类
+ * </p>
+ */
+@Service
+public class ConsultationDetailInfoServiceImpl extends ServiceImpl<ConsultationDetailInfoMapper, ConsultationDetailInfo> implements ConsultationDetailInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/DiagnosisPatientDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.DiagnosisPatientDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.DiagnosisPatientDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.DiagnosisPatientDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 确诊人数日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class DiagnosisPatientDayInfoServiceImpl extends ServiceImpl<DiagnosisPatientDayInfoMapper, DiagnosisPatientDayInfo> implements DiagnosisPatientDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FirstDiseaseDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FirstDiseaseDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.FirstDiseaseDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.FirstDiseaseDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 首发病患者日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class FirstDiseaseDayInfoServiceImpl extends ServiceImpl<FirstDiseaseDayInfoMapper, FirstDiseaseDayInfo> implements FirstDiseaseDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FirstDiseasePatientInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FirstDiseasePatientInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.FirstDiseasePatientInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.FirstDiseasePatientInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 首发患者明细表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class FirstDiseasePatientInfoServiceImpl extends ServiceImpl<FirstDiseasePatientInfoMapper, FirstDiseasePatientInfo> implements FirstDiseasePatientInfoService {
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FollowUpDayInfoServiceImpl.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FollowUpDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.FollowUpDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.FollowUpDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 随访信息日统计表 服务实现类
+ * </p>
+ */
+@Service
+public class FollowUpDayInfoServiceImpl extends ServiceImpl<FollowUpDayInfoMapper, FollowUpDayInfo> implements FollowUpDayInfoService {
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/FollowUpDetailInfoServiceImpl.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.FollowUpDetailInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.FollowUpDetailInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.FollowUpDetailInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 随访信息明细表 服务实现类
+ * </p>
+ */
+@Service
+public class FollowUpDetailInfoServiceImpl extends ServiceImpl<FollowUpDetailInfoMapper, FollowUpDetailInfo> implements FollowUpDetailInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/InDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.InDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.InDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.InDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 住院患者日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class InDayInfoServiceImpl extends ServiceImpl<InDayInfoMapper, InDayInfo> implements InDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientFollowupDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientFollowupDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PatientFollowupDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PatientFollowupDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 复诊患者日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PatientFollowupDayInfoServiceImpl extends ServiceImpl<PatientFollowupDayInfoMapper, PatientFollowupDayInfo> implements PatientFollowupDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientFollowupDetailInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientFollowupDetailInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PatientFollowupDetailInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PatientFollowupDetailInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 复诊患者明细表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PatientFollowupDetailInfoServiceImpl extends ServiceImpl<PatientFollowupDetailInfoMapper, PatientFollowupDetailInfo> implements PatientFollowupDetailInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientInpatientLossDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientInpatientLossDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PatientInpatientLossDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PatientInpatientLossDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 住院流失日统计 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PatientInpatientLossDayInfoServiceImpl extends ServiceImpl<PatientInpatientLossDayInfoMapper, PatientInpatientLossDayInfo> implements PatientInpatientLossDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PatientInpatientLossDetailInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PatientInpatientLossDetailInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PatientInpatientLossDetailInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PatientInpatientLossDetailInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 住院流失患者明细表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PatientInpatientLossDetailInfoServiceImpl extends ServiceImpl<PatientInpatientLossDetailInfoMapper, PatientInpatientLossDetailInfo> implements PatientInpatientLossDetailInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PotentialPatientNotDiagnosisDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PotentialPatientNotDiagnosisDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PotentialPatientNotDiagnosisDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PotentialPatientNotDiagnosisDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 潜在患者未就诊日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PotentialPatientNotDiagnosisDayInfoServiceImpl extends ServiceImpl<PotentialPatientNotDiagnosisDayInfoMapper, PotentialPatientNotDiagnosisDayInfo> implements PotentialPatientNotDiagnosisDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PotentialPatientNotDiagnosisDetailInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PotentialPatientNotDiagnosisDetailInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PotentialPatientNotDiagnosisDetailInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PotentialPatientNotDiagnosisDetailInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 潜在患者未就诊明细表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PotentialPatientNotDiagnosisDetailInfoServiceImpl extends ServiceImpl<PotentialPatientNotDiagnosisDetailInfoMapper, PotentialPatientNotDiagnosisDetailInfo> implements PotentialPatientNotDiagnosisDetailInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PushDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PushDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PushDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PushDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务推送日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PushDayInfoServiceImpl extends ServiceImpl<PushDayInfoMapper, PushDayInfo> implements PushDayInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/PushDetailInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.PushDetailInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.PushDetailInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.PushDetailInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务推送明细表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class PushDetailInfoServiceImpl extends ServiceImpl<PushDetailInfoMapper, PushDetailInfo> implements PushDetailInfoService {
+
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/base/service/impl/VisitDayInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.VisitDayInfo;
+import com.xxh.cloud.data.statistics.framework.modules.base.mapper.VisitDayInfoMapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.VisitDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 就诊患者日统计表 服务实现类
+ * </p>
+ *
+ * @author anros
+ * @since 2024-08-27
+ */
+@Service
+public class VisitDayInfoServiceImpl extends ServiceImpl<VisitDayInfoMapper, VisitDayInfo> implements VisitDayInfoService {
+
+}

+ 40 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/constant/PushConstant.java

@@ -0,0 +1,40 @@
+package com.xxh.cloud.data.statistics.framework.modules.constant;
+
+public class PushConstant {
+    
+    // 服务推送状态
+    public enum PushStatus {
+        NO_FAMILY("0", "无家属"),
+        Todo("1","待发送"),
+        Success("2", "成功"),
+        Fail("3","失败"),
+        Invalid("4","无效"), // 由于参数问题永远无法发送
+        NotFollow("5", "未关注"),
+        Doing("6", "发送中"),
+        Expire("7", "过期未发送"),
+        BlackList("8", "被拉黑"), // 在黑名单中无法发送
+        Abnormal("9", "异常"), // 异常推送的提醒
+        ;
+
+        private String code;
+        private String msg;
+        private PushStatus(String code, String msg) {
+            this.code = code;
+            this.msg = msg;
+        }
+
+        public String getCode() {
+            return code;
+        }
+        public void setCode(String code) {
+            this.code = code;
+        }
+        public String getMsg() {
+            return msg;
+        }
+        public void setMsg(String msg) {
+            this.msg = msg;
+        }
+    }
+
+}

+ 70 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/helper/DataStatisticHelper.java

@@ -0,0 +1,70 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.helper;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.*;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.DeptStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.DiseaseInfoStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo.*;
+import com.xxh.cloud.data.statistics.framework.modules.task.bean.bos.VisitDayQueryBO;
+
+import java.util.Map;
+
+public class DataStatisticHelper {
+
+    public static DiagnosisPatientDayBO getDiagnosisPatientDay(DiagnosisPatientDayInfo entity,
+                                                               Map<String, DiseaseInfoStatBO> diseaseMap,
+                                                               Map<String, DeptStatBO> deptMap){
+        DiagnosisPatientDayBO bo = new DiagnosisPatientDayBO();
+        BeanUtil.copyProperties(entity, bo);
+        if (diseaseMap.containsKey(bo.getDiseaseId())) {
+            DiseaseInfoStatBO disease = diseaseMap.get(bo.getDiseaseId());
+            bo.setDiseaseName(disease.getName());
+        }
+        if (deptMap.containsKey(bo.getDeptCode())) {
+            DeptStatBO dept = deptMap.get(bo.getDeptCode());
+            bo.setDeptName(dept.getName());
+        }
+        return bo;
+    }
+
+    public static PotentialPatientNotDiagnosisDayBO getPotentialPatientNotDiagnosisDay(PotentialPatientNotDiagnosisDayInfo entity,
+                                                                                       Map<String, DiseaseInfoStatBO> diseaseMap){
+        PotentialPatientNotDiagnosisDayBO bo = new PotentialPatientNotDiagnosisDayBO();
+        BeanUtil.copyProperties(entity, bo);
+        if (diseaseMap.containsKey(bo.getDiseaseId())) {
+            DiseaseInfoStatBO disease = diseaseMap.get(bo.getDiseaseId());
+            bo.setDiseaseName(disease.getName());
+        }
+        return bo;
+    }
+
+    public static PatientFollowupDayBO getPatientFollowupDay(PatientFollowupDayInfo entity){
+        PatientFollowupDayBO bo = new PatientFollowupDayBO();
+        BeanUtil.copyProperties(entity, bo);
+        return bo;
+    }
+
+    public static PatientInpatientLossDayBO getPatientInpatientLossDay(PatientInpatientLossDayInfo entity){
+        PatientInpatientLossDayBO bo = new PatientInpatientLossDayBO();
+        BeanUtil.copyProperties(entity, bo);
+        return bo;
+    }
+
+    public static FirstDiseaseDayBO getFirstDiseaseDayBO(FirstDiseaseDayInfo entity,
+                                                         Map<String, DiseaseInfoStatBO> diseaseMap){
+        FirstDiseaseDayBO bo = new FirstDiseaseDayBO();
+        BeanUtil.copyProperties(entity, bo);
+        if (diseaseMap.containsKey(bo.getDiseaseId())) {
+            DiseaseInfoStatBO disease = diseaseMap.get(bo.getDiseaseId());
+            bo.setDiseaseName(disease.getName());
+        }
+        return bo;
+    }
+
+    public static VisitDayQueryBO getVisitDayQueryBO(VisitDayInfo entity){
+        VisitDayQueryBO bo = new VisitDayQueryBO();
+        BeanUtil.copyProperties(entity, bo);
+        return bo;
+    }
+
+}

+ 44 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/DataQueryService.java

@@ -0,0 +1,44 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service;
+
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.ConsultationDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.FollowUpDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.InDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.MergeDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.PushDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.VisitDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.dto.StatisticsQueryDTO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo.*;
+
+import java.util.List;
+
+public interface DataQueryService {
+
+    // 确诊人数日统计
+    List<DiagnosisPatientDayBO> listDiagnosisPatientDay(StatisticsQueryDTO params);
+
+    // 潜在患者未就诊日统计
+    List<PotentialPatientNotDiagnosisDayBO> listPotentialPatientNotDiagnosisDay(StatisticsQueryDTO params);
+
+    // 复诊患者日统计
+    List<PatientFollowupDayBO> listPatientFollowupDay(StatisticsQueryDTO params);
+
+    // 住院流失日统计
+    List<PatientInpatientLossDayBO> listPatientInpatientLossDay(StatisticsQueryDTO params);
+
+    // 首发病患者日统计表
+    List<FirstDiseaseDayBO> listFirstDiseaseDay(StatisticsQueryDTO params);
+
+
+    // 统计合并
+    MergeDayStatBO mergeStatData(StatisticsQueryDTO params);
+    // 患者就诊日统计表
+    VisitDayStatBO listVisitDay(StatisticsQueryDTO params);
+    // 患者住院日统计表
+    InDayStatBO listInDay(StatisticsQueryDTO params);
+    // 患者服务日统计表
+    PushDayStatBO listPushServeDay(StatisticsQueryDTO params);
+    // 会诊统计表
+    ConsultationDayStatBO listConsultationDay(StatisticsQueryDTO params);
+    // 随访统计表
+    FollowUpDayStatBO listFollowUpDay(StatisticsQueryDTO params);
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/ConsultationDayItemStatBO.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ConsultationDayItemStatBO {
+
+    @ApiModelProperty(value = "日期")
+    private String date;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+}

+ 37 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/ConsultationDayStatBO.java

@@ -0,0 +1,37 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ConsultationDayStatBO {
+
+    @ApiModelProperty(value = "会诊发起数量")
+    private Integer consultationTotalNum;
+
+    @ApiModelProperty(value = "会诊发起明细")
+    private List<ConsultationDayItemStatBO> consultationItemNum;
+
+    @ApiModelProperty(value = "转科数量")
+    private Integer changeTotalNum;
+
+    @ApiModelProperty(value = "转科明细")
+    private List<ConsultationDayItemStatBO> changeItemNum;
+    
+    @ApiModelProperty(value = "随访数量")
+    private Integer followTotalNum;
+
+    @ApiModelProperty(value = "随访明细")
+    private List<ConsultationDayItemStatBO> followItemNum;
+
+    @ApiModelProperty(value = "放弃数量")
+    private Integer abandonTotalNum;
+
+    @ApiModelProperty(value = "放弃明细")
+    private List<ConsultationDayItemStatBO> abandonItemNum;
+
+}

+ 13 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/DeptStatBO.java

@@ -0,0 +1,13 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class DeptStatBO {
+
+    private String id;
+
+    private String name;
+}

+ 14 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/DiseaseInfoStatBO.java

@@ -0,0 +1,14 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class DiseaseInfoStatBO {
+
+    private String id;
+
+    private String name;
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/FollowUpDayItemStatBO.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class FollowUpDayItemStatBO {
+
+    @ApiModelProperty(value = "日期")
+    private String date;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+}

+ 37 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/FollowUpDayStatBO.java

@@ -0,0 +1,37 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class FollowUpDayStatBO {
+
+    @ApiModelProperty(value = "随访数量")
+    private Integer followTotalNum;
+
+    @ApiModelProperty(value = "随访明细")
+    private List<FollowUpDayItemStatBO> followItemNum;
+
+    @ApiModelProperty(value = "已执行数量")
+    private Integer exeYesNum;
+
+    @ApiModelProperty(value = "已执行明细")
+    private List<FollowUpDayItemStatBO> exeYesItemNum;
+    
+    @ApiModelProperty(value = "未执行数量")
+    private Integer exeNoNum;
+
+    @ApiModelProperty(value = "未执行明细")
+    private List<FollowUpDayItemStatBO> exeNoItemNum;
+
+    @ApiModelProperty(value = "复诊数量")
+    private Integer visitNum;
+
+    @ApiModelProperty(value = "复诊明细")
+    private List<FollowUpDayItemStatBO> visitItemNum;
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/InDayItemStatBO.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class InDayItemStatBO {
+
+    @ApiModelProperty(value = "日期")
+    private String date;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+}

+ 21 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/InDayStatBO.java

@@ -0,0 +1,21 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class InDayStatBO {
+
+    @ApiModelProperty(value = "总量")
+    private Integer totalNum;
+
+    @ApiModelProperty(value = "明细")
+    private List<InDayItemStatBO> itemNum;
+
+    @ApiModelProperty(value = "同比明细")
+    private List<InDayItemStatBO> onYearItemNum;
+}

+ 26 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/MergeDayStatBO.java

@@ -0,0 +1,26 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class MergeDayStatBO {
+
+    @ApiModelProperty(value = "就诊")
+    private VisitDayStatBO visitInfo;
+    
+    @ApiModelProperty(value = "住院")
+    private InDayStatBO inInfo;
+    
+    @ApiModelProperty(value = "服务")
+    private PushDayStatBO pushInfo;
+    
+    @ApiModelProperty(value = "会诊")
+    private ConsultationDayStatBO consultationInfo;
+    
+    @ApiModelProperty(value = "随访")
+    private FollowUpDayStatBO followUpInfo;
+    
+}

+ 20 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/PatientInfoStatBO.java

@@ -0,0 +1,20 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PatientInfoStatBO {
+
+    private String patientId;
+
+    private String patientName;
+
+    private String idCardNo;
+
+    private String patientGender;
+
+    private String patientGenderStandard;
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/PushDayItemStatBO.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PushDayItemStatBO {
+
+    @ApiModelProperty(value = "日期")
+    private String date;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+}

+ 44 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/PushDayStatBO.java

@@ -0,0 +1,44 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import java.util.List;
+import java.util.Map;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PushDayStatBO {
+
+    @ApiModelProperty(value = "服务触发数量")
+    private Integer pushTotalNum;
+
+    @ApiModelProperty(value = "服务触发明细")
+    private List<PushDayItemStatBO> pushItemNum;
+
+    @ApiModelProperty(value = "成功推送数量")
+    private Integer successTotalNum;
+
+    @ApiModelProperty(value = "成功推送明细")
+    private List<PushDayItemStatBO> successItemNum;
+    
+    @ApiModelProperty(value = "失败数量")
+    private Integer failTotalNum;
+
+    @ApiModelProperty(value = "失败数量明细")
+    private List<PushDayItemStatBO> failItemNum;
+
+    @ApiModelProperty(value = "失败明细")
+    private Map<String, Integer> failItem;
+
+    @ApiModelProperty(value = "阅读数量")
+    private Integer readNum;
+
+    @ApiModelProperty(value = "阅读数量明细")
+    private List<PushDayItemStatBO> readItemNum;
+
+    // @ApiModelProperty(value = "阅读率")
+    // private String readRadio;
+
+}

+ 17 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/VisitDayItemStatBO.java

@@ -0,0 +1,17 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class VisitDayItemStatBO {
+
+    @ApiModelProperty(value = "日期")
+    private String date;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+}

+ 21 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/bos/VisitDayStatBO.java

@@ -0,0 +1,21 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class VisitDayStatBO {
+
+    @ApiModelProperty(value = "总量")
+    private Integer totalNum;
+
+    @ApiModelProperty(value = "明细")
+    private List<VisitDayItemStatBO> itemNum;
+    
+    @ApiModelProperty(value = "同比明细")
+    private List<VisitDayItemStatBO> onYearItemNum;
+}

+ 43 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/dto/StatisticsQueryDTO.java

@@ -0,0 +1,43 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.dto;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 统计查询条件 优先级 日期->天数->开始结束日期
+ */
+@Getter
+@Setter
+public class StatisticsQueryDTO {
+
+    @ApiModelProperty(value = "日期")
+    private String dataTime;
+
+    //---------------------------------------------------
+    @ApiModelProperty(value = "天数(最近几天)")
+    private int days;
+
+    //--------------------------------------------------
+    @ApiModelProperty(value = "开始日期")
+    private String startDay;
+
+    @ApiModelProperty(value = "结束日期")
+    private String endDay;
+
+    //-------------------
+    @ApiModelProperty(value = "日期类型(y.年、m.月、w.周)")
+    private String dateType;
+
+    @ApiModelProperty(value = "年")
+    private String year;
+
+    @ApiModelProperty(value = "部门列表")
+    private List<String> deptCodes;
+
+    @ApiModelProperty(value = "标准部门列表")
+    private List<String> standardDeptCodes;
+
+}

+ 38 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/DiagnosisPatientDayBO.java

@@ -0,0 +1,38 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/** 确诊人数日统计VO */
+@Getter
+@Setter
+public class DiagnosisPatientDayBO {
+
+    @ApiModelProperty(value = "统计日期")
+    private String dataTime;
+
+    @ApiModelProperty(value = "病种ID")
+    private String diseaseId;
+
+    @ApiModelProperty(value = "科室")
+    private String deptCode;
+
+    @ApiModelProperty(value = "场景")
+    private String scene;
+
+    @ApiModelProperty(value = "人数")
+    private Integer num;
+
+    @ApiModelProperty(value = "最新更新时间")
+    private Date latestTime;
+
+    // -------------------------------------------------
+    @ApiModelProperty(value = "病种名称")
+    private String diseaseName;
+
+    @ApiModelProperty(value = "科室名称")
+    private String deptName;
+}

+ 30 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/FirstDiseaseDayBO.java

@@ -0,0 +1,30 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/** 潜在患者未就诊日统计VO */
+@Getter
+@Setter
+public class FirstDiseaseDayBO {
+
+    @ApiModelProperty(value = "统计日期")
+    private String dataTime;
+
+    @ApiModelProperty(value = "病种ID")
+    private String diseaseId;
+
+    @ApiModelProperty(value = "人数")
+    private Integer num;
+
+    @ApiModelProperty(value = "最新更新时间")
+    private Date latestTime;
+
+    // -------------------------------------------------
+    @ApiModelProperty(value = "病种名称")
+    private String diseaseName;
+
+}

+ 29 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/PatientFollowupDayBO.java

@@ -0,0 +1,29 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/** 复诊患者日统计VO */
+@Getter
+@Setter
+public class PatientFollowupDayBO {
+
+    @ApiModelProperty(value = "统计日期")
+    private String dataTime;
+
+    @ApiModelProperty(value = "应复诊人数")
+    private Integer followupNum;
+
+    @ApiModelProperty(value = "应复诊人数更新时间")
+    private Date followupLatestTime;
+
+    @ApiModelProperty(value = "数量")
+    private Integer followupYesNum;
+
+    @ApiModelProperty(value = "最新更新时间")
+    private Date followupYesLatestTime;
+
+}

+ 29 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/PatientInpatientLossDayBO.java

@@ -0,0 +1,29 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/** 潜在患者未就诊日统计VO */
+@Getter
+@Setter
+public class PatientInpatientLossDayBO {
+
+    @ApiModelProperty(value = "统计日期")
+    private String dataTime;
+
+    @ApiModelProperty(value = "应复诊人数")
+    private Integer num;
+
+    @ApiModelProperty(value = "应复诊人数更新时间")
+    private Date latestTime;
+
+    @ApiModelProperty(value = "数量")
+    private Integer inpatientNum;
+
+    @ApiModelProperty(value = "最新更新时间")
+    private Date latestInpatientTime;
+
+}

+ 33 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/bean/vo/PotentialPatientNotDiagnosisDayBO.java

@@ -0,0 +1,33 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/** 潜在患者未就诊日统计VO */
+@Getter
+@Setter
+public class PotentialPatientNotDiagnosisDayBO {
+
+    @ApiModelProperty(value = "统计日期")
+    private String dataTime;
+
+    @ApiModelProperty(value = "病种ID")
+    private String diseaseId;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+    @ApiModelProperty(value = "数量")
+    private Integer diagnosisNum;
+
+    @ApiModelProperty(value = "最新更新时间")
+    private Date latestTime;
+
+    // -------------------------------------------------
+    @ApiModelProperty(value = "病种名称")
+    private String diseaseName;
+
+}

+ 854 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/query/service/impl/DataQueryServiceImpl.java

@@ -0,0 +1,854 @@
+package com.xxh.cloud.data.statistics.framework.modules.query.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.xxh.cloud.data.statistics.framework.modules.base.entity.*;
+import com.xxh.cloud.data.statistics.framework.modules.base.service.*;
+import com.xxh.cloud.data.statistics.framework.modules.query.helper.DataStatisticHelper;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.DataQueryService;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.ConsultationDayItemStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.ConsultationDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.DeptStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.DiseaseInfoStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.FollowUpDayItemStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.FollowUpDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.InDayItemStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.InDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.MergeDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.PatientInfoStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.PushDayItemStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.PushDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.VisitDayItemStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.bos.VisitDayStatBO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.dto.StatisticsQueryDTO;
+import com.xxh.cloud.data.statistics.framework.modules.query.service.bean.vo.*;
+import com.xxh.cloud.data.statistics.framework.modules.task.mapper.StatisticsDataQueryByBizMapper;
+import com.xxh.cloud.framework.common.constant.YN;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class DataQueryServiceImpl implements DataQueryService {
+    @Autowired
+    private DiagnosisPatientDayInfoService diagnosisPatientDayInfoService;
+    @Autowired
+    private PotentialPatientNotDiagnosisDayInfoService potentialPatientNotDiagnosisDayInfoService;
+    @Autowired
+    private PatientInpatientLossDayInfoService patientInpatientLossDayInfoService;
+    @Autowired
+    private PatientFollowupDayInfoService patientFollowupDayInfoService;
+    @Autowired
+    private FirstDiseaseDayInfoService firstDiseaseDayInfoService;
+    @Resource
+    private StatisticsDataQueryByBizMapper statisticsDataQueryByBizMapper;
+
+    @Autowired
+    private VisitDayInfoService visitDayInfoService;
+    @Autowired
+    private InDayInfoService inDayInfoService;
+    @Autowired
+    private PushDayInfoService pushDayInfoService;
+    @Autowired
+    private ConsultationDayInfoService consultationDayInfoService;
+    @Autowired
+    private FollowUpDayInfoService followUpDayInfoService;
+
+    @Override
+    public List<DiagnosisPatientDayBO> listDiagnosisPatientDay(StatisticsQueryDTO params) {
+        QueryWrapper<DiagnosisPatientDayInfo> qw = this.getQueryWrapper(params);
+        List<DiagnosisPatientDayInfo> list = diagnosisPatientDayInfoService.list(qw);
+        if (CollUtil.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        Set<String> diseaseIds = new HashSet<>();
+        Set<String> deptCodes = new HashSet<>();
+        list.forEach(item->{
+            diseaseIds.add(item.getDiseaseId());
+            deptCodes.add(item.getDeptCode());
+        });
+        Map<String, DiseaseInfoStatBO> diseaseMap = this.queryDiseaseInfo(diseaseIds);
+        Map<String, DeptStatBO> deptMap = this.queryDeptInfo(deptCodes);
+
+        return list.stream().map(item-> DataStatisticHelper.getDiagnosisPatientDay(item, diseaseMap, deptMap)).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<PotentialPatientNotDiagnosisDayBO> listPotentialPatientNotDiagnosisDay(StatisticsQueryDTO params) {
+        QueryWrapper<PotentialPatientNotDiagnosisDayInfo> qw = this.getQueryWrapper(params);
+        List<PotentialPatientNotDiagnosisDayInfo> list = potentialPatientNotDiagnosisDayInfoService.list(qw);
+        Set<String> diseaseIds = new HashSet<>();
+        list.forEach(item->{
+            diseaseIds.add(item.getDiseaseId());
+        });
+        Map<String, DiseaseInfoStatBO> diseaseMap = this.queryDiseaseInfo(diseaseIds);
+
+        return list.stream().map(item-> DataStatisticHelper.getPotentialPatientNotDiagnosisDay(item, diseaseMap)).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<PatientFollowupDayBO> listPatientFollowupDay(StatisticsQueryDTO params) {
+        QueryWrapper<PatientFollowupDayInfo> qw = this.getQueryWrapper(params);
+        List<PatientFollowupDayInfo> list = patientFollowupDayInfoService.list(qw);
+        return list.stream().map(DataStatisticHelper::getPatientFollowupDay).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<PatientInpatientLossDayBO> listPatientInpatientLossDay(StatisticsQueryDTO params) {
+        QueryWrapper<PatientInpatientLossDayInfo> qw = this.getQueryWrapper(params);
+        List<PatientInpatientLossDayInfo> list = patientInpatientLossDayInfoService.list(qw);
+        return list.stream().map(DataStatisticHelper::getPatientInpatientLossDay).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<FirstDiseaseDayBO> listFirstDiseaseDay(StatisticsQueryDTO params) {
+        QueryWrapper<FirstDiseaseDayInfo> qw = this.getQueryWrapper(params);
+        List<FirstDiseaseDayInfo> list = firstDiseaseDayInfoService.list(qw);
+        Set<String> diseaseIds = new HashSet<>();
+        list.forEach(item->{
+            diseaseIds.add(item.getDiseaseId());
+        });
+        Map<String, DiseaseInfoStatBO> diseaseMap = this.queryDiseaseInfo(diseaseIds);
+        return list.stream().map(item-> DataStatisticHelper.getFirstDiseaseDayBO(item, diseaseMap)).collect(Collectors.toList());
+    }
+
+    private <T> QueryWrapper<T> getQueryWrapper(StatisticsQueryDTO params){
+        QueryWrapper<T> qw = new QueryWrapper<T>();
+        if (StrUtil.isNotEmpty(params.getDataTime())) {
+            qw.eq("data_time", params.getDataTime());
+        } else if (params.getDays() > 0) {
+            qw.orderByDesc("data_time").last(" limit " + params.getDays());
+        } else {
+            qw.ge(StrUtil.isNotEmpty(params.getStartDay()), "data_time", params.getStartDay())
+                    .le(StrUtil.isNotEmpty(params.getEndDay()), "data_time", params.getEndDay())
+                    .orderByDesc("data_time");
+        }
+        return qw;
+    }
+
+
+
+    private Map<String, DiseaseInfoStatBO> queryDiseaseInfo(Set<String> diseaseIds){
+        List<DiseaseInfoStatBO> diseaseList = statisticsDataQueryByBizMapper.queryDiseaseInfo(new QueryWrapper<DiseaseInfoStatBO>()
+                .eq("rows_status", YN.YES.getCode())
+                .in("id", diseaseIds));
+        if (CollUtil.isEmpty(diseaseList)) {
+            return new HashMap<>();
+        }
+        Map<String, DiseaseInfoStatBO> map = new HashMap<>();
+        map.putAll(diseaseList.stream().collect(Collectors.toMap(DiseaseInfoStatBO::getId, item -> item)));
+        return map;
+    }
+
+    private Map<String, DeptStatBO> queryDeptInfo(Set<String> codes){
+        List<DeptStatBO> deptList = statisticsDataQueryByBizMapper.queryDeptInfo(new QueryWrapper<DeptStatBO>()
+                .in("id", codes));
+        if (CollUtil.isEmpty(deptList)) {
+            return new HashMap<>();
+        }
+        Map<String, DeptStatBO> map = new HashMap<>();
+        map.putAll(deptList.stream().collect(Collectors.toMap(DeptStatBO::getId, item -> item)));
+        return map;
+    }
+
+    private Map<String, PatientInfoStatBO> queryPatientInfo(Set<String> patientIds){
+        List<PatientInfoStatBO> patientList = statisticsDataQueryByBizMapper.queryPatientInfo(new QueryWrapper<PatientInfoStatBO>()
+                .in("id", patientIds));
+        if (CollUtil.isEmpty(patientIds)) {
+            return new HashMap<>();
+        }
+        Map<String, PatientInfoStatBO> map = new HashMap<>();
+        map.putAll(patientList.stream().collect(Collectors.toMap(PatientInfoStatBO::getPatientId, item -> item)));
+        return map;
+    }
+
+    @Override
+    public MergeDayStatBO mergeStatData(StatisticsQueryDTO params) {
+        MergeDayStatBO data = new MergeDayStatBO();
+
+        // 根据标准科室查询业务科室
+        if (CollUtil.isNotEmpty(params.getStandardDeptCodes())) {
+            List<String> deptIds = statisticsDataQueryByBizMapper.queryDeptInfoByStandard(new QueryWrapper<Void>()
+                .eq("rows_status", YN.YES.getCode())
+                .in("dept_id", params.getStandardDeptCodes())
+            );
+
+            if (CollUtil.isNotEmpty(deptIds)) {
+                if (null == params.getDeptCodes()) {
+                    params.setDeptCodes(new ArrayList<>());
+                }
+                params.getDeptCodes().addAll(deptIds);
+            }
+        }
+
+        // 就诊
+        StatisticsQueryDTO visitParams = new StatisticsQueryDTO();
+        BeanUtil.copyProperties(params, visitParams);
+        VisitDayStatBO visitData = this.listVisitDay(visitParams);
+        // 就诊同比
+        visitParams.setStartDay(DateUtil.offsetMonth(DateUtil.parseDate(visitParams.getStartDay()), -12).toDateStr());
+        visitParams.setEndDay(DateUtil.offsetMonth(DateUtil.parseDate(visitParams.getEndDay()), -12).toDateStr());
+        if (StrUtil.isNotBlank(visitParams.getYear())) {
+            visitParams.setYear(String.valueOf(Integer.valueOf(visitParams.getYear()) - 1));
+        }
+        VisitDayStatBO onYearVisitData = this.listVisitDay(visitParams);
+        if (null != onYearVisitData) {
+            visitData.setOnYearItemNum(onYearVisitData.getItemNum());
+        }
+        data.setVisitInfo(visitData);
+
+        // 住院
+        StatisticsQueryDTO inParams = new StatisticsQueryDTO();
+        BeanUtil.copyProperties(params, inParams);
+        InDayStatBO inData = this.listInDay(inParams);
+        // 住院同比
+        inParams.setStartDay(DateUtil.offsetMonth(DateUtil.parseDate(inParams.getStartDay()), -12).toDateStr());
+        inParams.setEndDay(DateUtil.offsetMonth(DateUtil.parseDate(inParams.getEndDay()), -12).toDateStr());
+        if (StrUtil.isNotBlank(inParams.getYear())) {
+            inParams.setYear(String.valueOf(Integer.valueOf(inParams.getYear()) - 1));
+        }
+        InDayStatBO onYearInData = this.listInDay(inParams);
+        if (null != onYearInData) {
+            inData.setOnYearItemNum(onYearInData.getItemNum());
+        }
+        data.setInInfo(inData);
+
+        // 服务
+        StatisticsQueryDTO pushParams = new StatisticsQueryDTO();
+        BeanUtil.copyProperties(params, pushParams);
+        PushDayStatBO pushData = this.listPushServeDay(pushParams);
+        data.setPushInfo(pushData);
+
+        // 会诊
+        StatisticsQueryDTO consultationParams = new StatisticsQueryDTO();
+        BeanUtil.copyProperties(params, consultationParams);
+        ConsultationDayStatBO consultationData = this.listConsultationDay(consultationParams);
+        data.setConsultationInfo(consultationData);
+
+        // 随访
+        StatisticsQueryDTO followUpParams = new StatisticsQueryDTO();
+        BeanUtil.copyProperties(params, followUpParams);
+        FollowUpDayStatBO followUpData = this.listFollowUpDay(followUpParams);
+        data.setFollowUpInfo(followUpData);
+
+        return data;
+    }
+
+    @Override
+    public VisitDayStatBO listVisitDay(StatisticsQueryDTO params) {
+        if (StrUtil.isNotBlank(params.getYear())) {
+            params.setDateType("y");
+            params.setStartDay(params.getYear() + "-01-01");
+            params.setEndDay(params.getYear() + "-12-31");
+        }
+        if (StrUtil.isBlank(params.getStartDay())) {
+            params.setDateType("y");
+            params.setYear(String.valueOf(DateUtil.date().year()));
+            params.setStartDay(DateUtil.beginOfYear(DateUtil.date()).toDateStr());
+            params.setEndDay(DateUtil.endOfYear(DateUtil.date()).toDateStr());
+        }
+        if (StrUtil.isBlank(params.getEndDay())) {
+            params.setEndDay(DateUtil.offsetDay(DateUtil.date(), 1).toDateStr());
+        }
+        QueryWrapper<VisitDayInfo> qw = new QueryWrapper<VisitDayInfo>()
+            .eq(StrUtil.isNotBlank(params.getDataTime()), "data_time", params.getDataTime())
+            .ge(StrUtil.isNotEmpty(params.getStartDay()), "data_time", params.getStartDay())
+            .le(StrUtil.isNotEmpty(params.getEndDay()), "data_time", params.getEndDay());
+
+        Map<String, Integer> itemMap = new HashMap<>();
+        if ("y".equals(params.getDateType()) && StrUtil.isNotBlank(params.getYear())) { // 年,按当月统计
+            for (int i = 1; i <= 12; i++) {
+                String m = i < 10 ? "-0" + i : "-" + i;
+                itemMap.put(params.getYear() + m, 0);
+            }
+
+            List<Map<String, Object>> dataList = visitDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m') `date`", "SUM(num) num")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    itemMap.put(i.get("date").toString(), Integer.valueOf(i.get("num").toString()));
+                });
+            }
+        } else if (StrUtil.isNotBlank(params.getStartDay()) && StrUtil.isNotBlank(params.getEndDay())) { // 月、周,按天统计
+            DateTime d = DateUtil.parseDate(params.getStartDay());
+            long days = DateUtil.betweenDay(DateUtil.parseDate(params.getStartDay()), DateUtil.parseDate(params.getEndDay()), true);
+            for (int i = 0; i <= days; i++) {
+                itemMap.put(DateUtil.offsetDay(d, i).toDateStr(), 0);
+            }
+
+            List<Map<String, Object>> dataList = visitDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m-%d') `date`", "SUM(num) num")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    itemMap.put(i.get("date").toString(), Integer.valueOf(i.get("num").toString()));
+                });
+            }
+        }
+
+        VisitDayStatBO data = new VisitDayStatBO();
+        data.setTotalNum(0);
+
+        List<VisitDayItemStatBO> itemList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(itemMap)) {
+            itemMap.forEach((k, v) -> {
+                VisitDayItemStatBO b = new VisitDayItemStatBO();
+                b.setDate(k);
+                b.setNum(v);
+                itemList.add(b);
+
+                data.setTotalNum(data.getTotalNum() + v);
+            });
+        }
+
+        Comparator<VisitDayItemStatBO> dateComparator = Comparator.comparing(VisitDayItemStatBO::getDate);
+        itemList.sort(dateComparator);
+
+        data.setItemNum(itemList);
+        return data;
+    }
+
+    @Override
+    public InDayStatBO listInDay(StatisticsQueryDTO params) {
+        if (StrUtil.isNotBlank(params.getYear())) {
+            params.setDateType("y");
+            params.setStartDay(params.getYear() + "-01-01");
+            params.setEndDay(params.getYear() + "-12-31");
+        }
+        if (StrUtil.isBlank(params.getStartDay())) {
+            params.setDateType("y");
+            params.setYear(String.valueOf(DateUtil.date().year()));
+            params.setStartDay(DateUtil.beginOfYear(DateUtil.date()).toDateStr());
+            params.setEndDay(DateUtil.endOfYear(DateUtil.date()).toDateStr());
+        }
+        if (StrUtil.isBlank(params.getEndDay())) {
+            params.setEndDay(DateUtil.offsetDay(DateUtil.date(), 1).toDateStr());
+        }
+        QueryWrapper<InDayInfo> qw = new QueryWrapper<InDayInfo>()
+            .eq(StrUtil.isNotBlank(params.getDataTime()), "data_time", params.getDataTime())
+            .ge(StrUtil.isNotEmpty(params.getStartDay()), "data_time", params.getStartDay())
+            .le(StrUtil.isNotEmpty(params.getEndDay()), "data_time", params.getEndDay());
+
+        Map<String, Integer> itemMap = new HashMap<>();
+        if ("y".equals(params.getDateType()) && StrUtil.isNotBlank(params.getYear())) { // 年,按当月统计
+            for (int i = 1; i <= 12; i++) {
+                String m = i < 10 ? "-0" + i : "-" + i;
+                itemMap.put(params.getYear() + m, 0);
+            }
+
+            List<Map<String, Object>> dataList = inDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m') `date`", "SUM(num) num")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    itemMap.put(i.get("date").toString(), Integer.valueOf(i.get("num").toString()));
+                });
+            }
+        } else if (StrUtil.isNotBlank(params.getStartDay()) && StrUtil.isNotBlank(params.getEndDay())) { // 月、周,按天统计
+            DateTime d = DateUtil.parseDate(params.getStartDay());
+            long days = DateUtil.betweenDay(DateUtil.parseDate(params.getStartDay()), DateUtil.parseDate(params.getEndDay()), true);
+            for (int i = 0; i <= days; i++) {
+                itemMap.put(DateUtil.offsetDay(d, i).toDateStr(), 0);
+            }
+
+            List<Map<String, Object>> dataList = inDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m-%d') `date`", "SUM(num) num")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    itemMap.put(i.get("date").toString(), Integer.valueOf(i.get("num").toString()));
+                });
+            }
+        }
+
+        InDayStatBO data = new InDayStatBO();
+        data.setTotalNum(0);
+
+        List<InDayItemStatBO> itemList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(itemMap)) {
+            itemMap.forEach((k, v) -> {
+                InDayItemStatBO b = new InDayItemStatBO();
+                b.setDate(k);
+                b.setNum(v);
+                itemList.add(b);
+
+                data.setTotalNum(data.getTotalNum() + v);
+            });
+        }
+
+        Comparator<InDayItemStatBO> dateComparator = Comparator.comparing(InDayItemStatBO::getDate);
+        itemList.sort(dateComparator);
+
+        data.setItemNum(itemList);
+        return data;
+    }
+
+    @Override
+    public PushDayStatBO listPushServeDay(StatisticsQueryDTO params) {
+        if (StrUtil.isNotBlank(params.getYear())) {
+            params.setDateType("y");
+            params.setStartDay(params.getYear() + "-01-01");
+            params.setEndDay(params.getYear() + "-12-31");
+        }
+        if (StrUtil.isBlank(params.getStartDay())) {
+            params.setDateType("y");
+            params.setYear(String.valueOf(DateUtil.date().year()));
+            params.setStartDay(DateUtil.beginOfYear(DateUtil.date()).toDateStr());
+            params.setEndDay(DateUtil.endOfYear(DateUtil.date()).toDateStr());
+        }
+        if (StrUtil.isBlank(params.getEndDay())) {
+            params.setEndDay(DateUtil.offsetDay(DateUtil.date(), 1).toDateStr());
+        }
+        QueryWrapper<PushDayInfo> qw = new QueryWrapper<PushDayInfo>()
+            .eq(StrUtil.isNotBlank(params.getDataTime()), "data_time", params.getDataTime())
+            .ge(StrUtil.isNotEmpty(params.getStartDay()), "data_time", params.getStartDay())
+            .le(StrUtil.isNotEmpty(params.getEndDay()), "data_time", params.getEndDay());
+
+        Map<String, Map<String, Integer>> itemMap = new HashMap<>();
+        if ("y".equals(params.getDateType()) && StrUtil.isNotBlank(params.getYear())) { // 年,按当月统计
+            for (int i = 1; i <= 12; i++) {
+                String m = i < 10 ? "-0" + i : "-" + i;
+                Map<String, Integer> map = new HashMap<>();
+                map.put("pushNum", 0);
+                map.put("pushSuccessNum", 0);
+                map.put("pushFailFollowNum", 0);
+                map.put("pushFailUserNum", 0);
+                map.put("pushFailNum", 0);
+                map.put("pushInvalidNum", 0);
+                map.put("pushTimeoutNum", 0);
+                map.put("pushBlackListNum", 0);
+                map.put("pushAbnormalNum", 0);
+                map.put("readNum", 0);
+                itemMap.put(params.getYear() + m, map);
+            }
+
+            List<Map<String, Object>> dataList = pushDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m') `date`", 
+                                    "SUM(num) pushNum", "SUM(push_success_num) pushSuccessNum", 
+                                    "SUM(push_fail_follow_num) pushFailFollowNum", 
+                                    "SUM(push_fail_user_num) pushFailUserNum", 
+                                    "SUM(push_fail_num) pushFailNum", 
+                                    "SUM(push_invalid_num) pushInvalidNum", 
+                                    "SUM(push_timeout_num) pushTimeoutNum", 
+                                    "SUM(push_black_list_num) pushBlackListNum", 
+                                    "SUM(push_abnormal_num) pushAbnormalNum", 
+                                    "SUM(read_num) readNum")
+                // .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("pushNum", Integer.valueOf(i.get("pushNum").toString()));
+                    map.put("pushSuccessNum", Integer.valueOf(i.get("pushSuccessNum").toString()));
+                    map.put("pushFailFollowNum", Integer.valueOf(i.get("pushFailFollowNum").toString()));
+                    map.put("pushFailUserNum", Integer.valueOf(i.get("pushFailUserNum").toString()));
+                    map.put("pushFailNum", Integer.valueOf(i.get("pushFailNum").toString()));
+                    map.put("pushInvalidNum", Integer.valueOf(i.get("pushInvalidNum").toString()));
+                    map.put("pushTimeoutNum", Integer.valueOf(i.get("pushTimeoutNum").toString()));
+                    map.put("pushBlackListNum", Integer.valueOf(i.get("pushBlackListNum").toString()));
+                    map.put("pushAbnormalNum", Integer.valueOf(i.get("pushAbnormalNum").toString()));
+                    map.put("readNum", Integer.valueOf(i.get("readNum").toString()));
+                    itemMap.put(i.get("date").toString(), map);
+                });
+            }
+        } else if (StrUtil.isNotBlank(params.getStartDay()) && StrUtil.isNotBlank(params.getEndDay())) { // 月、周,按天统计
+            DateTime d = DateUtil.parseDate(params.getStartDay());
+            long days = DateUtil.betweenDay(DateUtil.parseDate(params.getStartDay()), DateUtil.parseDate(params.getEndDay()), true);
+            for (int i = 0; i <= days; i++) {
+                Map<String, Integer> map = new HashMap<>();
+                map.put("pushNum", 0);
+                map.put("pushSuccessNum", 0);
+                map.put("pushFailFollowNum", 0);
+                map.put("pushFailUserNum", 0);
+                map.put("pushFailNum", 0);
+                map.put("pushInvalidNum", 0);
+                map.put("pushTimeoutNum", 0);
+                map.put("pushBlackListNum", 0);
+                map.put("pushAbnormalNum", 0);
+                map.put("readNum", 0);
+                itemMap.put(DateUtil.offsetDay(d, i).toDateStr(), map);
+            }
+
+            List<Map<String, Object>> dataList = pushDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m-%d') `date`", 
+                                    "SUM(num) pushNum", "SUM(push_success_num) pushSuccessNum", 
+                                    "SUM(push_fail_follow_num) pushFailFollowNum", 
+                                    "SUM(push_fail_user_num) pushFailUserNum", 
+                                    "SUM(push_fail_num) pushFailNum", 
+                                    "SUM(push_invalid_num) pushInvalidNum", 
+                                    "SUM(push_timeout_num) pushTimeoutNum", 
+                                    "SUM(push_black_list_num) pushBlackListNum", 
+                                    "SUM(push_abnormal_num) pushAbnormalNum", 
+                                    "SUM(read_num) readNum")
+                // .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("pushNum", Integer.valueOf(i.get("pushNum").toString()));
+                    map.put("pushSuccessNum", Integer.valueOf(i.get("pushSuccessNum").toString()));
+                    map.put("pushFailFollowNum", Integer.valueOf(i.get("pushFailFollowNum").toString()));
+                    map.put("pushFailUserNum", Integer.valueOf(i.get("pushFailUserNum").toString()));
+                    map.put("pushFailNum", Integer.valueOf(i.get("pushFailNum").toString()));
+                    map.put("pushInvalidNum", Integer.valueOf(i.get("pushInvalidNum").toString()));
+                    map.put("pushTimeoutNum", Integer.valueOf(i.get("pushTimeoutNum").toString()));
+                    map.put("pushBlackListNum", Integer.valueOf(i.get("pushBlackListNum").toString()));
+                    map.put("pushAbnormalNum", Integer.valueOf(i.get("pushAbnormalNum").toString()));
+                    map.put("readNum", Integer.valueOf(i.get("readNum").toString()));
+                    itemMap.put(i.get("date").toString(), map);
+                });
+            }
+        }
+
+        Map<String, Integer> pushFailItem = new HashMap<>();
+        pushFailItem.put("pushFailFollowNum", 0);
+        pushFailItem.put("pushFailUserNum", 0);
+        pushFailItem.put("pushFailNum", 0);
+        pushFailItem.put("pushInvalidNum", 0);
+        pushFailItem.put("pushTimeoutNum", 0);
+        pushFailItem.put("pushBlackListNum", 0);
+        pushFailItem.put("pushAbnormalNum", 0);
+
+        PushDayStatBO data = new PushDayStatBO();
+        data.setPushTotalNum(0);
+        data.setSuccessTotalNum(0);
+        data.setFailTotalNum(0);
+        data.setReadNum(0);
+        data.setFailItem(pushFailItem);
+
+        List<PushDayItemStatBO> pushNumItemList = new ArrayList<>();
+        List<PushDayItemStatBO> pushSuccessNumItemList = new ArrayList<>();
+        List<PushDayItemStatBO> pushFailNumItemList = new ArrayList<>();
+        List<PushDayItemStatBO> readNumItemList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(itemMap)) {
+            itemMap.forEach((k, v) -> {
+                PushDayItemStatBO pushNumItem = new PushDayItemStatBO();
+                pushNumItem.setDate(k);
+                pushNumItem.setNum(v.get("pushNum"));
+                pushNumItemList.add(pushNumItem);
+                data.setPushTotalNum(data.getPushTotalNum() + pushNumItem.getNum());
+
+                PushDayItemStatBO pushSuccessNumItem = new PushDayItemStatBO();
+                pushSuccessNumItem.setDate(k);
+                pushSuccessNumItem.setNum(v.get("pushSuccessNum"));
+                pushSuccessNumItemList.add(pushSuccessNumItem);
+                data.setSuccessTotalNum(data.getSuccessTotalNum() + pushSuccessNumItem.getNum());
+
+                pushFailItem.put("pushFailFollowNum", pushFailItem.get("pushFailFollowNum") + v.get("pushFailFollowNum"));
+                pushFailItem.put("pushFailUserNum", pushFailItem.get("pushFailUserNum") + v.get("pushFailUserNum"));
+                pushFailItem.put("pushFailNum", pushFailItem.get("pushFailNum") + v.get("pushFailNum"));
+                pushFailItem.put("pushInvalidNum", pushFailItem.get("pushInvalidNum") + v.get("pushInvalidNum"));
+                pushFailItem.put("pushTimeoutNum", pushFailItem.get("pushTimeoutNum") + v.get("pushTimeoutNum"));
+                pushFailItem.put("pushBlackListNum", pushFailItem.get("pushBlackListNum") + v.get("pushBlackListNum"));
+                pushFailItem.put("pushAbnormalNum", pushFailItem.get("pushAbnormalNum") + v.get("pushAbnormalNum"));
+                
+                PushDayItemStatBO pushFailNumItem = new PushDayItemStatBO();
+                pushFailNumItem.setDate(k);
+                pushFailNumItem.setNum(v.get("pushFailFollowNum") + v.get("pushFailUserNum") + v.get("pushFailNum") + v.get("pushInvalidNum") + v.get("pushTimeoutNum") + v.get("pushBlackListNum") + v.get("pushAbnormalNum"));
+                pushFailNumItemList.add(pushFailNumItem);
+                data.setFailTotalNum(data.getFailTotalNum() + pushFailNumItem.getNum());
+                
+                PushDayItemStatBO readNumItem = new PushDayItemStatBO();
+                readNumItem.setDate(k);
+                readNumItem.setNum(v.get("readNum"));
+                readNumItemList.add(readNumItem);
+                data.setReadNum(data.getReadNum() + readNumItem.getNum());
+            });
+        }
+
+        Comparator<PushDayItemStatBO> dateComparator = Comparator.comparing(PushDayItemStatBO::getDate);
+        pushNumItemList.sort(dateComparator);
+        pushSuccessNumItemList.sort(dateComparator);
+        pushFailNumItemList.sort(dateComparator);
+        readNumItemList.sort(dateComparator);
+
+        data.setPushItemNum(pushNumItemList);
+        data.setSuccessItemNum(pushSuccessNumItemList);
+        data.setFailItemNum(pushFailNumItemList);
+        data.setReadItemNum(readNumItemList);
+
+        // if (null != data.getPushTotalNum() && data.getPushTotalNum() > 0) {
+        //     data.setReadRadio(new BigDecimal(data.getReadNum()).divide(new BigDecimal(data.getPushTotalNum()), 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal("100")) + "%");
+        // }
+        return data;
+    }
+
+    @Override
+    public ConsultationDayStatBO listConsultationDay(StatisticsQueryDTO params) {
+        if (StrUtil.isNotBlank(params.getYear())) {
+            params.setDateType("y");
+            params.setStartDay(params.getYear() + "-01-01");
+            params.setEndDay(params.getYear() + "-12-31");
+        }
+        if (StrUtil.isBlank(params.getStartDay())) {
+            params.setDateType("y");
+            params.setYear(String.valueOf(DateUtil.date().year()));
+            params.setStartDay(DateUtil.beginOfYear(DateUtil.date()).toDateStr());
+            params.setEndDay(DateUtil.endOfYear(DateUtil.date()).toDateStr());
+        }
+        if (StrUtil.isBlank(params.getEndDay())) {
+            params.setEndDay(DateUtil.offsetDay(DateUtil.date(), 1).toDateStr());
+        }
+        QueryWrapper<ConsultationDayInfo> qw = new QueryWrapper<ConsultationDayInfo>()
+            .eq(StrUtil.isNotBlank(params.getDataTime()), "data_time", params.getDataTime())
+            .ge(StrUtil.isNotEmpty(params.getStartDay()), "data_time", params.getStartDay())
+            .le(StrUtil.isNotEmpty(params.getEndDay()), "data_time", params.getEndDay());
+
+        Map<String, Map<String, Integer>> itemMap = new HashMap<>();
+        if ("y".equals(params.getDateType()) && StrUtil.isNotBlank(params.getYear())) { // 年,按当月统计
+            for (int i = 1; i <= 12; i++) {
+                String m = i < 10 ? "-0" + i : "-" + i;
+                Map<String, Integer> map = new HashMap<>();
+                map.put("consultationTotalNum", 0);
+                map.put("changeTotalNum", 0);
+                map.put("followTotalNum", 0);
+                map.put("abandonTotalNum", 0);
+                itemMap.put(params.getYear() + m, map);
+            }
+
+            List<Map<String, Object>> dataList = consultationDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m') `date`", "SUM(open_num) consultationTotalNum", "SUM(change_num) changeTotalNum", "SUM(follow_up_num) followTotalNum", "SUM(abandon_num) abandonTotalNum")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("consultationTotalNum", Integer.valueOf(i.get("consultationTotalNum").toString()));
+                    map.put("changeTotalNum", Integer.valueOf(i.get("changeTotalNum").toString()));
+                    map.put("followTotalNum", Integer.valueOf(i.get("followTotalNum").toString()));
+                    map.put("abandonTotalNum", Integer.valueOf(i.get("abandonTotalNum").toString()));
+                    itemMap.put(i.get("date").toString(), map);
+                });
+            }
+        } else if (StrUtil.isNotBlank(params.getStartDay()) && StrUtil.isNotBlank(params.getEndDay())) { // 月、周,按天统计
+            DateTime d = DateUtil.parseDate(params.getStartDay());
+            long days = DateUtil.betweenDay(DateUtil.parseDate(params.getStartDay()), DateUtil.parseDate(params.getEndDay()), true);
+            for (int i = 0; i <= days; i++) {
+                Map<String, Integer> map = new HashMap<>();
+                map.put("consultationTotalNum", 0);
+                map.put("changeTotalNum", 0);
+                map.put("followTotalNum", 0);
+                map.put("abandonTotalNum", 0);
+                itemMap.put(DateUtil.offsetDay(d, i).toDateStr(), map);
+            }
+
+            List<Map<String, Object>> dataList = consultationDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m-%d') `date`", "SUM(open_num) consultationTotalNum", "SUM(change_num) changeTotalNum", "SUM(follow_up_num) followTotalNum", "SUM(abandon_num) abandonTotalNum")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("consultationTotalNum", Integer.valueOf(i.get("consultationTotalNum").toString()));
+                    map.put("changeTotalNum", Integer.valueOf(i.get("changeTotalNum").toString()));
+                    map.put("followTotalNum", Integer.valueOf(i.get("followTotalNum").toString()));
+                    map.put("abandonTotalNum", Integer.valueOf(i.get("abandonTotalNum").toString()));
+                    itemMap.put(i.get("date").toString(), map);
+                });
+            }
+        }
+
+        ConsultationDayStatBO data = new ConsultationDayStatBO();
+        data.setConsultationTotalNum(0);
+        data.setChangeTotalNum(0);
+        data.setFollowTotalNum(0);
+        data.setAbandonTotalNum(0);
+
+        List<ConsultationDayItemStatBO> consultationItemList = new ArrayList<>();
+        List<ConsultationDayItemStatBO> changeItemList = new ArrayList<>();
+        List<ConsultationDayItemStatBO> followItemList = new ArrayList<>();
+        List<ConsultationDayItemStatBO> abandonItemList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(itemMap)) {
+            itemMap.forEach((k, v) -> {
+                ConsultationDayItemStatBO consultationNumItem = new ConsultationDayItemStatBO();
+                consultationNumItem.setDate(k);
+                consultationNumItem.setNum(v.get("consultationTotalNum"));
+                consultationItemList.add(consultationNumItem);
+                data.setConsultationTotalNum(data.getConsultationTotalNum() + consultationNumItem.getNum());
+
+                ConsultationDayItemStatBO changeNumItem = new ConsultationDayItemStatBO();
+                changeNumItem.setDate(k);
+                changeNumItem.setNum(v.get("changeTotalNum"));
+                changeItemList.add(changeNumItem);
+                data.setChangeTotalNum(data.getChangeTotalNum() + changeNumItem.getNum());
+                
+                ConsultationDayItemStatBO followNumItem = new ConsultationDayItemStatBO();
+                followNumItem.setDate(k);
+                followNumItem.setNum(v.get("followTotalNum"));
+                followItemList.add(followNumItem);
+                data.setFollowTotalNum(data.getFollowTotalNum() + followNumItem.getNum());
+                
+                ConsultationDayItemStatBO abandonNumItem = new ConsultationDayItemStatBO();
+                abandonNumItem.setDate(k);
+                abandonNumItem.setNum(v.get("abandonTotalNum"));
+                abandonItemList.add(abandonNumItem);
+                data.setAbandonTotalNum(data.getAbandonTotalNum() + abandonNumItem.getNum());
+            });
+        }
+
+        Comparator<ConsultationDayItemStatBO> dateComparator = Comparator.comparing(ConsultationDayItemStatBO::getDate);
+        consultationItemList.sort(dateComparator);
+        changeItemList.sort(dateComparator);
+        followItemList.sort(dateComparator);
+        abandonItemList.sort(dateComparator);
+
+        data.setConsultationItemNum(consultationItemList);
+        data.setChangeItemNum(changeItemList);
+        data.setFollowItemNum(followItemList);
+        data.setAbandonItemNum(abandonItemList);
+
+        return data;
+    }
+
+    @Override
+    public FollowUpDayStatBO listFollowUpDay(StatisticsQueryDTO params) {
+        if (StrUtil.isNotBlank(params.getYear())) {
+            params.setDateType("y");
+            params.setStartDay(params.getYear() + "-01-01");
+            params.setEndDay(params.getYear() + "-12-31");
+        }
+        if (StrUtil.isBlank(params.getStartDay())) {
+            params.setDateType("y");
+            params.setYear(String.valueOf(DateUtil.date().year()));
+            params.setStartDay(DateUtil.beginOfYear(DateUtil.date()).toDateStr());
+            params.setEndDay(DateUtil.endOfYear(DateUtil.date()).toDateStr());
+        }
+        if (StrUtil.isBlank(params.getEndDay())) {
+            params.setEndDay(DateUtil.offsetDay(DateUtil.date(), 1).toDateStr());
+        }
+        QueryWrapper<FollowUpDayInfo> qw = new QueryWrapper<FollowUpDayInfo>()
+            .eq(StrUtil.isNotBlank(params.getDataTime()), "data_time", params.getDataTime())
+            .ge(StrUtil.isNotEmpty(params.getStartDay()), "data_time", params.getStartDay())
+            .le(StrUtil.isNotEmpty(params.getEndDay()), "data_time", params.getEndDay());
+
+        Map<String, Map<String, Integer>> itemMap = new HashMap<>();
+        if ("y".equals(params.getDateType()) && StrUtil.isNotBlank(params.getYear())) { // 年,按当月统计
+            for (int i = 1; i <= 12; i++) {
+                String m = i < 10 ? "-0" + i : "-" + i;
+                Map<String, Integer> map = new HashMap<>();
+                map.put("followTotalNum", 0);
+                map.put("exeYesNum", 0);
+                map.put("exeNoNum", 0);
+                map.put("visitNum", 0);
+                itemMap.put(params.getYear() + m, map);
+            }
+
+            List<Map<String, Object>> dataList = followUpDayInfoService.listMaps(qw
+                .select("DATE_FORMAT(data_time, '%Y-%m') `date`", "SUM(total_num) followTotalNum", "SUM(exe_yes_num) exeYesNum", "SUM(exe_no_num) exeNoNum", "SUM(visit_num) visitNum")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("followTotalNum", Integer.valueOf(i.get("followTotalNum").toString()));
+                    map.put("exeYesNum", Integer.valueOf(i.get("exeYesNum").toString()));
+                    map.put("exeNoNum", Integer.valueOf(i.get("exeNoNum").toString()));
+                    map.put("visitNum", Integer.valueOf(i.get("visitNum").toString()));
+                    itemMap.put(i.get("date").toString(), map);
+                });
+            }
+        } else if (StrUtil.isNotBlank(params.getStartDay()) && StrUtil.isNotBlank(params.getEndDay())) { // 月、周,按天统计
+            DateTime d = DateUtil.parseDate(params.getStartDay());
+            long days = DateUtil.betweenDay(DateUtil.parseDate(params.getStartDay()), DateUtil.parseDate(params.getEndDay()), true);
+            for (int i = 0; i <= days; i++) {
+                Map<String, Integer> map = new HashMap<>();
+                map.put("followTotalNum", 0);
+                map.put("exeYesNum", 0);
+                map.put("exeNoNum", 0);
+                map.put("visitNum", 0);
+                itemMap.put(DateUtil.offsetDay(d, i).toDateStr(), map);
+            }
+
+            List<Map<String, Object>> dataList = followUpDayInfoService.listMaps(qw
+            .select("DATE_FORMAT(data_time, '%Y-%m-%d') `date`", "SUM(total_num) followTotalNum", "SUM(exe_yes_num) exeYesNum", "SUM(exe_no_num) exeNoNum", "SUM(visit_num) visitNum")
+                .in(CollUtil.isNotEmpty(params.getDeptCodes()), "dept_code", params.getDeptCodes())
+                .groupBy("`date`")
+            );
+            if (CollUtil.isNotEmpty(dataList)) {
+                dataList.forEach(i -> {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("followTotalNum", Integer.valueOf(i.get("followTotalNum").toString()));
+                    map.put("exeYesNum", Integer.valueOf(i.get("exeYesNum").toString()));
+                    map.put("exeNoNum", Integer.valueOf(i.get("exeNoNum").toString()));
+                    map.put("visitNum", Integer.valueOf(i.get("visitNum").toString()));
+                    itemMap.put(i.get("date").toString(), map);
+                });
+            }
+        }
+
+        FollowUpDayStatBO data = new FollowUpDayStatBO();
+        data.setFollowTotalNum(0);
+        data.setExeYesNum(0);
+        data.setExeNoNum(0);
+        data.setVisitNum(0);
+
+        List<FollowUpDayItemStatBO> followItemList = new ArrayList<>();
+        List<FollowUpDayItemStatBO> exeYesItemList = new ArrayList<>();
+        List<FollowUpDayItemStatBO> exeNoItemList = new ArrayList<>();
+        List<FollowUpDayItemStatBO> visitItemList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(itemMap)) {
+            itemMap.forEach((k, v) -> {
+                FollowUpDayItemStatBO followNumItem = new FollowUpDayItemStatBO();
+                followNumItem.setDate(k);
+                followNumItem.setNum(v.get("followTotalNum"));
+                followItemList.add(followNumItem);
+                data.setFollowTotalNum(data.getFollowTotalNum() + followNumItem.getNum());
+
+                FollowUpDayItemStatBO exeYesNumItem = new FollowUpDayItemStatBO();
+                exeYesNumItem.setDate(k);
+                exeYesNumItem.setNum(v.get("exeYesNum"));
+                exeYesItemList.add(exeYesNumItem);
+                data.setExeYesNum(data.getExeYesNum() + exeYesNumItem.getNum());
+                
+                FollowUpDayItemStatBO exeNoNumItem = new FollowUpDayItemStatBO();
+                exeNoNumItem.setDate(k);
+                exeNoNumItem.setNum(v.get("exeNoNum"));
+                exeNoItemList.add(exeNoNumItem);
+                data.setExeNoNum(data.getExeNoNum() + exeNoNumItem.getNum());
+                
+                FollowUpDayItemStatBO visitNumItem = new FollowUpDayItemStatBO();
+                visitNumItem.setDate(k);
+                visitNumItem.setNum(v.get("visitNum"));
+                visitItemList.add(visitNumItem);
+                data.setVisitNum(data.getVisitNum() + visitNumItem.getNum());
+            });
+        }
+
+        Comparator<FollowUpDayItemStatBO> dateComparator = Comparator.comparing(FollowUpDayItemStatBO::getDate);
+        followItemList.sort(dateComparator);
+        exeYesItemList.sort(dateComparator);
+        exeNoItemList.sort(dateComparator);
+        visitItemList.sort(dateComparator);
+
+        data.setFollowItemNum(followItemList);
+        data.setExeYesItemNum(exeYesItemList);
+        data.setExeNoItemNum(exeNoItemList);
+        data.setVisitItemNum(visitItemList);
+
+        return data;
+    }
+
+}

+ 32 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/ConsultationDayQueryBO.java

@@ -0,0 +1,32 @@
+package com.xxh.cloud.data.statistics.framework.modules.task.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class ConsultationDayQueryBO {
+
+    private String id;
+
+    private String deptCode;
+
+    private String dataTime;
+
+    private Integer discoverNum;
+
+    private Integer applyNum;
+
+    private Integer openNum;
+
+    private Integer changeNum;
+
+    private Integer followUpNum;
+
+    private Integer abandonNum;
+
+    private Date latestTime;
+
+}

+ 64 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/ConsultationDetailQueryBO.java

@@ -0,0 +1,64 @@
+package com.xxh.cloud.data.statistics.framework.modules.task.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class ConsultationDetailQueryBO {
+
+    private String id;
+
+    private String deptCode;
+
+    // 患者ID
+    private String patientId;
+
+    // 来源类型
+    private String sourceType;
+
+    // 会诊标签ID
+    private String lableId;
+
+    // 会诊发现时间
+    private Date discoverTime;
+
+    // 会诊申请提醒状态
+    private String applyStatus;
+
+    // 会诊申请提醒ID
+    private String applyId;
+
+    // 会诊申请提醒时间
+    private Date applyTime;
+
+    // 会诊发起状态
+    private String openStatus;
+
+    // 会诊发起ID
+    private String openId;
+
+    // 会诊发起时间
+    private Date openTime;
+
+    // 会诊结论状态
+    private String resultStatus;
+
+    // 会诊结论时间
+    private Date resultTime;
+
+    // 会诊结论目标分类
+    private String resultTargetType;
+
+    // 会诊结论目标执行状态
+    private String resultTargetExeStatus;
+
+    // 会诊结论目标执行时间
+    private Date resultTargetExeTime;
+
+    // 统计状态,标记数据是否需要更新
+    private String status;
+
+}

+ 18 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/DiseaseIcdRelBO.java

@@ -0,0 +1,18 @@
+package com.xxh.cloud.data.statistics.framework.modules.task.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class DiseaseIcdRelBO {
+
+    private String icd10Code;
+
+    private String icd10Codes;
+
+    private String diseaseId;
+
+}

+ 14 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/FirstDiseaseDayInfoQueryBO.java

@@ -0,0 +1,14 @@
+package com.xxh.cloud.data.statistics.framework.modules.task.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class FirstDiseaseDayInfoQueryBO {
+
+    private String diseaseId;
+
+    private Integer num;
+
+}

+ 34 - 0
xxh-data-statistics-framework/src/main/java/com/xxh/cloud/data/statistics/framework/modules/task/bean/bos/FirstDiseaseDiagnosisQueryBO.java

@@ -0,0 +1,34 @@
+package com.xxh.cloud.data.statistics.framework.modules.task.bean.bos;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class FirstDiseaseDiagnosisQueryBO {
+
+    /**
+     * 患者编号
+     * */
+    private String patientId;
+
+    /**
+     * 诊断code
+     * */
+    private String diagnosisCode;
+
+    /**
+     * 病种ID
+     * */
+    private String diseaseId;
+
+    /**
+     * 最早发现时间
+     * */
+    private Date discoveryTime;
+
+
+
+}

Some files were not shown because too many files changed in this diff