From c427395d096da3df775a2fac9987bbcbd1f654fd Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 15 九月 2026 17:40:00 +0800
Subject: [PATCH] 案例趋势相关统计

---
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTotals.java                                |   25 ---
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsBood.java                         |   16 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java                |   49 ++++--
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java                          |   29 +++-
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTrend.java                        |   21 +++
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java                        |   22 +++
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/trendList.java                                 |   37 +++++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java                |   47 ++++--
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsSex.java                          |   18 ++
 ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java                       |   29 +++-
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTotal.java                        |   16 ++
 ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml                                |   97 ++++++++-----
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java |    1 
 13 files changed, 298 insertions(+), 109 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java
index 23a998e..9cb71ac 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java
@@ -4,6 +4,7 @@
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.project.domain.ServiceTotals;
+import com.ruoyi.project.domain.vo.*;
 import com.ruoyi.project.service.iServiceTotalsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -25,57 +26,57 @@
 
         @ApiOperation("妗堜緥瓒嬪娍")
         @PostMapping("/caseTrend")
-        public Result caseTrend(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsTrend>> caseTrend(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.caseTrend(totals);
+            List<ServiceTotalsTrend> list = service.caseTrend(totals);
             return Result.success(list);
         }
 
         @ApiOperation("妗堜緥瓒嬪娍鏈堜唤")
         @PostMapping("/caseTrendMoon")
-        public Result caseTrendMoon(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsTrend>> caseTrendMoon(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.caseTrendMoon(totals);
+            List<ServiceTotalsTrend> list = service.caseTrendMoon(totals);
             return Result.success(list);
         }
 
         @ApiOperation("妗堜緥瓒嬪娍鍖哄煙")
         @PostMapping("/caseTrendArea")
-        public Result caseTrendArea(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsTrend>> caseTrendArea(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.caseTrendArea(totals);
+            List<ServiceTotalsTrend> list = service.caseTrendArea(totals);
             return Result.success(list);
         }
 
         @ApiOperation("鎹愮尞鍣ㄥ畼缁熻鏄庣粏")
         @PostMapping("/organ")
-        public Result organ(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsOrgan>> organ(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.organ(totals);
+            List<ServiceTotalsOrgan> list = service.organ(totals);
             return Result.success(list);
         }
 
         @ApiOperation("鍣ㄥ畼鑾峰彇/绉绘瓒嬪娍")
         @PostMapping("/organMoon")
-        public Result organMoon(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsOrgan>> organMoon(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.organMoon(totals);
+            List<ServiceTotalsOrgan> list = service.organMoon(totals);
             return Result.success(list);
         }
 
         @ApiOperation("鍣ㄥ畼绫诲瀷鍒嗗竷")
         @PostMapping("/organType")
-        public Result organType(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsOrgan>> organType(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.organType(totals);
+            List<ServiceTotalsOrgan> list = service.organType(totals);
             return Result.success(list);
         }
 
         @ApiOperation("鎹愮尞鑰呭勾榫勬�у埆鍒嗗竷")
         @PostMapping("/caseSex")
-        public Result caseSex(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsSex>> caseSex(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.caseSex(totals);
+            List<ServiceTotalsSex> list = service.caseSex(totals);
             return Result.success(list);
         }
 
@@ -89,9 +90,25 @@
 
         @ApiOperation("鎬у埆涓庤鍨嬪垎甯�")
         @PostMapping("/caseBloodType")
-        public Result caseBloodType(@RequestBody ServiceTotals totals)
+        public Result<List<ServiceTotalsBood>> caseBloodType(@RequestBody ServiceTotals totals)
         {
-            List<ServiceTotals> list = service.caseBloodType(totals);
+            List<ServiceTotalsBood> list = service.caseBloodType(totals);
+            return Result.success(list);
+        }
+
+        @ApiOperation("鎬绘綔鍦ㄦ�诲畬鎴愭暟缁熻")
+        @PostMapping("/totals")
+        public Result<List<ServiceTotalsTotal>> totals(@RequestBody ServiceTotals totals)
+        {
+            List<ServiceTotalsTotal> list = service.totals(totals);
+            return Result.success(list);
+        }
+
+        @ApiOperation("妗堜緥鏄庣粏鍒楄〃")
+        @PostMapping("/trendList")
+        public Result<List<trendList>> trendList(@RequestBody ServiceTotals totals)
+        {
+            List<trendList> list = service.trendList(totals);
             return Result.success(list);
         }
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTotals.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTotals.java
index 6b06f41..9a1282a 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTotals.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTotals.java
@@ -30,38 +30,13 @@
     @ApiModelProperty("骞撮緞娈�1:<17;2:18-49;3:50-69;4:>69")
     private String ageGroup;
 
-    @ApiModelProperty("妗堜緥鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date donateTime;
-
-    @ApiModelProperty("娼滃湪鎹愮尞鏁�")
-    private Integer potentialCount;
-
-    @ApiModelProperty("瀹屾垚鎹愮尞鏁�")
-    private Integer completeCount;
-
     @ApiModelProperty("鍣ㄧ鍚嶇О")
     private String organName;
-
-    @ApiModelProperty("鑾峰彇鏁�")
-    private Integer getCount;
-
-    @ApiModelProperty("绉绘鏁�")
-    private Integer useCount;
 
     @ApiModelProperty("骞冲潎骞撮緞")
     private Integer avgAge;
 
-    @ApiModelProperty("鎬绘暟")
-    private Integer totalCount;
 
-    @ApiModelProperty("鐢锋�ф暟")
-    private Integer manCount;
 
-    @ApiModelProperty("濂虫�ф暟")
-    private Integer womanCount;
-
-    @ApiModelProperty("琛�鍨嬫暟")
-    private Integer boodTypeCount;
 
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsBood.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsBood.java
new file mode 100644
index 0000000..6f4b00b
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsBood.java
@@ -0,0 +1,16 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("opo琛�鍨嬬粺璁�")
+public class ServiceTotalsBood {
+
+    @ApiModelProperty("琛�鍨嬫暟")
+    private Integer boodTypeCount;
+
+    @ApiModelProperty("琛�鍨�")
+    private String boodType;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java
new file mode 100644
index 0000000..75a79bb
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java
@@ -0,0 +1,22 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("opo鍣ㄥ畼缁熻")
+public class ServiceTotalsOrgan {
+
+    @ApiModelProperty("妗堜緥鏃堕棿")
+    private String donateTime;
+
+    @ApiModelProperty("鍣ㄧ鍚嶇О")
+    private String organName;
+
+    @ApiModelProperty("鑾峰彇鏁�")
+    private Integer getCount;
+
+    @ApiModelProperty("绉绘鏁�")
+    private Integer useCount;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsSex.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsSex.java
new file mode 100644
index 0000000..f84ca2e
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsSex.java
@@ -0,0 +1,18 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("opo鎬у埆缁熻")
+public class ServiceTotalsSex {
+    @ApiModelProperty("鎬绘暟")
+    private Integer totalCount;
+
+    @ApiModelProperty("鐢锋�ф暟")
+    private Integer manCount;
+
+    @ApiModelProperty("濂虫�ф暟")
+    private Integer womanCount;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTotal.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTotal.java
new file mode 100644
index 0000000..a1ef4b8
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTotal.java
@@ -0,0 +1,16 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("opo鎬荤粺璁�")
+public class ServiceTotalsTotal {
+    @ApiModelProperty("鎬绘綔鍦ㄦ崘鐚渚�")
+    private Integer totalPotential;
+
+    @ApiModelProperty("鎬诲畬鎴愭崘鐚暟")
+    private Integer totalCompletion;
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTrend.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTrend.java
new file mode 100644
index 0000000..a636060
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTrend.java
@@ -0,0 +1,21 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("opo缁熻")
+public class ServiceTotalsTrend {
+    @ApiModelProperty("鍖哄煙")
+    private String area;
+
+    @ApiModelProperty("妗堜緥鏃堕棿")
+    private String donateTime;
+
+    @ApiModelProperty("娼滃湪鎹愮尞鏁�")
+    private Integer potentialCount;
+
+    @ApiModelProperty("瀹屾垚鎹愮尞鏁�")
+    private Integer completeCount;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/trendList.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/trendList.java
new file mode 100644
index 0000000..781efc5
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/trendList.java
@@ -0,0 +1,37 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("妗堜緥鏄庣粏")
+public class trendList {
+
+    @ApiModelProperty("id")
+    private Integer id;
+
+    @ApiModelProperty("妗堜緥缂栧彿")
+    private String caseNo;
+
+    @ApiModelProperty("濮撳悕")
+    private String name;
+
+    @ApiModelProperty("浣忛櫌鍙�")
+    private String  InpatientNo;
+
+    @ApiModelProperty("鍖婚櫌")
+    private String  TreatmentHospitalName;
+
+    @ApiModelProperty("宸ヤ綔娴�:1.渚涜�呯淮鎶�   2 鎹愮尞鎰忔効  3 鍖诲璇勪及  4 姝讳骸鍒ゅ畾 5 浼︾悊瀹℃煡  6 鍣ㄥ畼鍒嗛厤  7 鍣ㄥ畼鍒╃敤   99 鎹愮尞瀹屾垚")
+    private Integer  workflow;
+
+    @ApiModelProperty("妗堜緥鏃堕棿")
+    private String donatetime;
+
+    @ApiModelProperty("姝讳骸鍘熷洜")
+    private String DeathReason;
+
+    @ApiModelProperty("鍣ㄥ畼")
+    private String OrganName;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java
index 329ae28..dc1df0a 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java
@@ -4,6 +4,7 @@
 import com.ruoyi.project.domain.GiApi;
 import com.ruoyi.project.domain.ServiceTasknum;
 import com.ruoyi.project.domain.ServiceTotals;
+import com.ruoyi.project.domain.vo.*;
 import io.jsonwebtoken.impl.crypto.MacProvider;
 
 import java.util.List;
@@ -15,43 +16,43 @@
      * 妗堜緥瓒嬪娍
      *
      */
-    public List<ServiceTotals> caseTrend(ServiceTotals totals);
+    public List<ServiceTotalsTrend> caseTrend(ServiceTotals totals);
 
     /**
      * 妗堜緥瓒嬪娍鏈堜唤
      *
      */
-    public List<ServiceTotals> caseTrendMoon(ServiceTotals totals);
+    public List<ServiceTotalsTrend> caseTrendMoon(ServiceTotals totals);
 
     /**
      * 妗堜緥瓒嬪娍鍖哄煙
      *
      */
-    public List<ServiceTotals> caseTrendArea(ServiceTotals totals);
+    public List<ServiceTotalsTrend> caseTrendArea(ServiceTotals totals);
 
     /**
      * 鎹愮尞鍣ㄥ畼缁熻鏄庣粏
      *
      */
-    public List<ServiceTotals> organ(ServiceTotals totals);
+    public List<ServiceTotalsOrgan> organ(ServiceTotals totals);
 
     /**
      * 鍣ㄥ畼鑾峰彇/绉绘瓒嬪娍
      *
      */
-    public List<ServiceTotals> organMoon(ServiceTotals totals);
+    public List<ServiceTotalsOrgan> organMoon(ServiceTotals totals);
 
     /**
      * 鍣ㄥ畼绫诲瀷鍒嗗竷
      *
      */
-    public List<ServiceTotals> organType(ServiceTotals totals);
+    public List<ServiceTotalsOrgan> organType(ServiceTotals totals);
 
     /**
      * 鎹愮尞鑰呭勾榫勬�у埆鍒嗗竷
      *
      */
-    public List<ServiceTotals> caseSex(ServiceTotals totals);
+    public List<ServiceTotalsSex> caseSex(ServiceTotals totals);
 
     /**
      * 骞冲潎骞撮緞
@@ -63,8 +64,20 @@
      * 鎬у埆涓庤鍨嬪垎甯�
      *
      */
-    public List<ServiceTotals> caseBloodType(ServiceTotals totals);
+    public List<ServiceTotalsBood> caseBloodType(ServiceTotals totals);
 
 
+    /**
+     * 鎬绘綔鍦ㄦ�诲畬鎴愭暟缁熻
+     *
+     */
+    public List<ServiceTotalsTotal> totals(ServiceTotals totals);
+
+    /**
+     * 妗堜緥鏄庣粏鍒楄〃
+     *
+     */
+    public List<trendList> trendList(ServiceTotals totals);
+
 
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java
index c76a242..24c54f0 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.project.domain.ServiceTotals;
+import com.ruoyi.project.domain.vo.*;
 
 import java.util.List;
 
@@ -12,40 +13,40 @@
      * 妗堜緥瓒嬪娍
      *
      */
-    public List<ServiceTotals> caseTrend(ServiceTotals totals);
+    public List<ServiceTotalsTrend> caseTrend(ServiceTotals totals);
 
     /**
      * 妗堜緥瓒嬪娍鏈堜唤
      *
      */
-    public List<ServiceTotals> caseTrendMoon(ServiceTotals totals);
+    public List<ServiceTotalsTrend> caseTrendMoon(ServiceTotals totals);
 
     /**
      * 妗堜緥瓒嬪娍鍖哄煙
      *
      */
-    public List<ServiceTotals> caseTrendArea(ServiceTotals totals);
+    public List<ServiceTotalsTrend> caseTrendArea(ServiceTotals totals);
 
     /**
      * 鎹愮尞鍣ㄥ畼缁熻鏄庣粏
      *
      */
-    public List<ServiceTotals> organ(ServiceTotals totals);
+    public List<ServiceTotalsOrgan> organ(ServiceTotals totals);
     /**
      * 鍣ㄥ畼鑾峰彇/绉绘瓒嬪娍
      *
      */
-    public List<ServiceTotals> organMoon(ServiceTotals totals);
+    public List<ServiceTotalsOrgan> organMoon(ServiceTotals totals);
     /**
      * 鍣ㄥ畼绫诲瀷鍒嗗竷
      *
      */
-    public List<ServiceTotals> organType(ServiceTotals totals);
+    public List<ServiceTotalsOrgan> organType(ServiceTotals totals);
     /**
      * 鎹愮尞鑰呭勾榫勬�у埆鍒嗗竷
      *
      */
-    public List<ServiceTotals> caseSex(ServiceTotals totals);
+    public List<ServiceTotalsSex> caseSex(ServiceTotals totals);
     /**
      * 骞冲潎骞撮緞
      *
@@ -55,6 +56,18 @@
      * 鎬у埆涓庤鍨嬪垎甯�
      *
      */
-    public List<ServiceTotals> caseBloodType(ServiceTotals totals);
+    public List<ServiceTotalsBood> caseBloodType(ServiceTotals totals);
+
+    /**
+     * 鎬绘綔鍦ㄦ�诲畬鎴愭暟缁熻
+     *
+     */
+    List<ServiceTotalsTotal> totals(ServiceTotals totals);
+
+    /**
+     * 妗堜緥鏄庣粏鍒楄〃
+     *
+     */
+    List<trendList> trendList(ServiceTotals totals);
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
index 1c3045a..e08b3de 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
@@ -143,6 +143,7 @@
         serviceDonatebaseinfo1.setRegistertown(serviceDonatebaseinfoReport.getRegistertownname());
         serviceDonatebaseinfo1.setReportHospital(serviceDonatebaseinfoReport.getToHospital());
         serviceDonatebaseinfo1.setFirstDept(serviceDonatebaseinfoReport.getDeptName());
+        serviceDonatebaseinfo1.setRegistercountyname(serviceDonatebaseinfoReport.getRegisterCountyName());
         serviceDonatebaseinfo1.setCaseNo(null);
         //鍏堥�氳繃caseNo鏌ヨ鏄惁瀛樺湪
         ServiceDonatebaseinfo serviceDonatebaseinfo = new ServiceDonatebaseinfo();
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java
index 9771445..e792726 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.project.domain.ServiceTotals;
+import com.ruoyi.project.domain.vo.*;
 import com.ruoyi.project.mapper.ServiceTotalsMapper;
 import com.ruoyi.project.service.iServiceTotalsService;
 import org.apache.commons.lang3.ObjectUtils;
@@ -21,7 +22,7 @@
      *
      */
     @Override
-    public List<ServiceTotals> caseTrend(ServiceTotals totals) {
+    public List<ServiceTotalsTrend> caseTrend(ServiceTotals totals) {
         if(ObjectUtils.isNotEmpty(totals.getAgeGroup())){
             switch (totals.getAgeGroup()) {
                 case "1": totals.setAgeGroup(" and age<=17 "); break;
@@ -38,7 +39,7 @@
      *
      */
     @Override
-    public List<ServiceTotals> caseTrendMoon(ServiceTotals totals) {
+    public List<ServiceTotalsTrend> caseTrendMoon(ServiceTotals totals) {
         return mapper.caseTrendMoon(totals);
     }
 
@@ -47,7 +48,7 @@
      *
      */
     @Override
-    public List<ServiceTotals> caseTrendArea(ServiceTotals totals) {
+    public List<ServiceTotalsTrend> caseTrendArea(ServiceTotals totals) {
         return mapper.caseTrendArea(totals);
     }
 
@@ -56,8 +57,8 @@
      *
      */
     @Override
-    public List<ServiceTotals> organ(ServiceTotals totals) {
-        return mapper.caseTrendArea(totals);
+    public List<ServiceTotalsOrgan> organ(ServiceTotals totals) {
+        return mapper.organ(totals);
     }
 
     /**
@@ -65,8 +66,8 @@
      *
      */
     @Override
-    public List<ServiceTotals> organMoon(ServiceTotals totals) {
-        return mapper.caseTrendArea(totals);
+    public List<ServiceTotalsOrgan> organMoon(ServiceTotals totals) {
+        return mapper.organMoon(totals);
     }
 
     /**
@@ -74,8 +75,8 @@
      *
      */
     @Override
-    public List<ServiceTotals> organType(ServiceTotals totals) {
-        return mapper.caseTrendArea(totals);
+    public List<ServiceTotalsOrgan> organType(ServiceTotals totals) {
+        return mapper.organType(totals);
     }
 
     /**
@@ -83,8 +84,8 @@
      *
      */
     @Override
-    public List<ServiceTotals> caseSex(ServiceTotals totals) {
-        return mapper.caseTrendArea(totals);
+    public List<ServiceTotalsSex> caseSex(ServiceTotals totals) {
+        return mapper.caseSex(totals);
     }
 
     /**
@@ -93,15 +94,33 @@
      */
     @Override
     public List<ServiceTotals> caseAvgAge(ServiceTotals totals) {
-        return mapper.caseTrendArea(totals);
+        return mapper.caseAvgAge(totals);
     }
     /**
      * 鎬у埆涓庤鍨嬪垎甯�
      *
      */
     @Override
-    public List<ServiceTotals> caseBloodType(ServiceTotals totals) {
-        return mapper.caseTrendArea(totals);
+    public List<ServiceTotalsBood> caseBloodType(ServiceTotals totals) {
+        return mapper.caseBloodType(totals);
+    }
+
+    /**
+     * 鎬у埆涓庤鍨嬪垎甯�
+     *
+     */
+    @Override
+    public List<ServiceTotalsTotal> totals(ServiceTotals totals) {
+        return mapper.totals(totals);
+    }
+
+    /**
+     * 鎬у埆涓庤鍨嬪垎甯�
+     *
+     */
+    @Override
+    public List<trendList> trendList(ServiceTotals totals) {
+        return mapper.trendList(totals);
     }
 
 }
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
index 935f400..68d91bf 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
@@ -5,46 +5,46 @@
 <mapper namespace="com.ruoyi.project.mapper.ServiceTotalsMapper">
 
     <select id="caseTrend" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
-        SELECT DATE_FORMAT(a.ReportTime, '%Y-%m') donateTime, register_county_name area,  COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount  FROM service_donatebaseinfo_report a
-        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id and a.del_flag=0 and b.del_flag=0
+            resultType="ServiceTotalsTrend">
+        SELECT DATE_FORMAT(a.donatetime, '%Y-%m') donateTime, RegisterCountyName area,  COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount  FROM service_donatebaseinfo a
+        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id where a.del_flag=0
         <where>
-            <if test="area != null  and area != ''">and register_county_name>=#{area}</if>
-            <if test="startTime != null  and startTime != ''">and a.ReportTime>=#{startTime}</if>
-            <if test="endTime != null  and endTime != ''">and a.ReportTime &lt;= #{endTime}</if>
+            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
+            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
         </where>
-        GROUP BY register_county_name, DATE_FORMAT(a.ReportTime, '%Y-%m')
+        GROUP BY RegisterCountyName, DATE_FORMAT(a.donatetime, '%Y-%m')
     </select>
 
     <select id="caseTrendMoon" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
-        SELECT DATE_FORMAT(a.ReportTime, '%Y-%m') donateTime, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount  FROM service_donatebaseinfo a
-        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id and a.del_flag=0 and b.del_flag=0
+            resultType="ServiceTotalsTrend">
+        SELECT DATE_FORMAT(a.donatetime, '%Y-%m') donateTime, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount  FROM service_donatebaseinfo a
+        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id where a.del_flag=0
         <where>
-            <if test="area != null  and area != ''">and register_county_name>=#{area}</if>
-            <if test="startTime != null  and startTime != ''">and a.ReportTime>=#{startTime}</if>
-            <if test="endTime != null  and endTime != ''">and a.ReportTime &lt;= #{endTime}</if>
+            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
+            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
         </where>
-        GROUP BY DATE_FORMAT(a.ReportTime, '%Y-%m')
+        GROUP BY DATE_FORMAT(a.donatetime, '%Y-%m')
     </select>
 
     <select id="caseTrendArea" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
-        SELECT register_county_name area, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount  FROM service_donatebaseinfo a
-        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id and a.del_flag=0 and b.del_flag=0
+            resultType="ServiceTotalsTrend">
+        SELECT RegisterCountyName area, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount  FROM service_donatebaseinfo a
+        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id where a.del_flag=0
         <where>
-            <if test="area != null  and area != ''">and register_county_name>=#{area}</if>
-            <if test="startTime != null  and startTime != ''">and a.ReportTime>=#{startTime}</if>
-            <if test="endTime != null  and endTime != ''">and a.ReportTime &lt;= #{endTime}</if>
+            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
+            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
         </where>
-        GROUP BY register_county_name
+        GROUP BY RegisterCountyName
     </select>
 
     <select id="organ" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
+            resultType="ServiceTotalsOrgan">
         SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime,a.OrganName organName, COUNT(*) getCount,
         COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
-        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName  and a.del_flag=0  and b.del_flag=0
+        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName  where a.del_flag=0
         <where>
             <if test="area != null  and area != ''">
                 and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
@@ -57,10 +57,10 @@
     </select>
 
     <select id="organMoon" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
+            resultType="ServiceTotalsOrgan">
         SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime, COUNT(*) getCount,
         COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
-        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName  and a.del_flag=0  and b.del_flag=0
+        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName  where a.del_flag=0
         <where>
             <if test="area != null  and area != ''">
                 and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
@@ -73,10 +73,10 @@
     </select>
 
     <select id="organType" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
+            resultType="ServiceTotalsOrgan">
         SELECT a.OrganName organName, COUNT(*) getCount,
         COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
-        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName  and a.del_flag=0  and b.del_flag=0
+        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName  where a.del_flag=0
         <where>
             <if test="area != null  and area != ''">
                 and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
@@ -89,15 +89,15 @@
     </select>
 
     <select id="caseSex" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
+            resultType="ServiceTotalsSex">
         SELECT COUNT(sex) totalCount, COUNT(IF(sex=1, true, NULL)) manCount ,COUNT(IF(sex=2, true, NULL)) womanCount
-        FROM service_donatebaseinfo
+        FROM service_donatebaseinfo where del_flag=0
         <where>
             <if test="area != null  and area != ''">
                 and  RegisterCountyName>=#{area}
             </if>
-            <if test="bloodType != null  and bloodType != ''">
-                and  BloodType>=#{bloodType}
+            <if test="boodType != null  and boodType != ''">
+                and  BloodType>=#{boodType}
             </if>
             <if test="sex != null  and sex != ''">
                 and  sex>=#{sex}
@@ -113,13 +113,13 @@
 
     <select id="caseAvgAge" parameterType="com.ruoyi.project.domain.ServiceTotals"
             resultType="ServiceTotals">
-        SELECT AVG(age) avgAge FROM  service_donatebaseinfo
+        SELECT AVG(age) avgAge FROM  service_donatebaseinfo where del_flag=0
         <where>
             <if test="area != null  and area != ''">
                 and  RegisterCountyName>=#{area}
             </if>
-            <if test="bloodType != null  and bloodType != ''">
-                and  BloodType>=#{bloodType}
+            <if test="boodType != null  and boodType != ''">
+                and  BloodType>=#{boodType}
             </if>
             <if test="sex != null  and sex != ''">
                 and  sex>=#{sex}
@@ -133,15 +133,15 @@
     </select>
 
     <select id="caseBloodType" parameterType="com.ruoyi.project.domain.ServiceTotals"
-            resultType="ServiceTotals">
+            resultType="ServiceTotalsBood">
         SELECT COUNT(BloodType) boodTypeCount,BloodType bloodType
-        FROM service_donatebaseinfo
+        FROM service_donatebaseinfo where del_flag=0
         <where>
             <if test="area != null  and area != ''">
                 and  RegisterCountyName>=#{area}
             </if>
-            <if test="bloodType != null  and bloodType != ''">
-                and  BloodType>=#{bloodType}
+            <if test="boodType != null  and boodType != ''">
+                and  BloodType>=#{boodType}
             </if>
             <if test="sex != null  and sex != ''">
                 and  sex>=#{sex}
@@ -155,4 +155,25 @@
         GROUP BY  BloodType
     </select>
 
+    <select id="totals" parameterType="com.ruoyi.project.domain.ServiceTotals"
+            resultType="ServiceTotalsTotal">
+        SELECT ( SELECT COUNT(*) FROM service_donatebaseinfo_report WHERE del_flag=0) totalPotential,
+        (SELECT COUNT(*) FROM service_donatecompletioninfo WHERE del_flag=0) totalCompletion
+    </select>
+
+    <select id="trendList" parameterType="com.ruoyi.project.domain.ServiceTotals"
+            resultType="trendList">
+        SELECT a.id,a.case_no,a.NAME ,a.InpatientNo,a.TreatmentHospitalName,a.workflow,a.donatetime,d.DeathReason,
+        (SELECT  GROUP_CONCAT(c.OrganName) FROM service_donateorgan c WHERE c.InfoId=a.id AND c.del_flag=0) OrganName
+        FROM service_donatebaseinfo a
+        LEFT JOIN service_deathinfo d ON d.InfoID=a.id
+        where a.del_flag=0
+        <where>
+            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
+            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
+        </where>
+
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3