From 2944ea778f0fc87c8e09ae47200d9de8069049e3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 26 十二月 2025 10:46:37 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationorganServiceImpl.java   |   88 +
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReportFile.java                  |   72 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java       |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateannex.java                               |    4 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportMapper.java                           |   26 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTravelexpensestandardController.java     |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowruleController.java              |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BasePrcaddressDictController.java               |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/BaseAnnextypeServiceImpl.java                   |   30 
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewinitiateService.java            |   24 
 ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportMapper.xml                      |  210 ++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java               |    4 
 ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml                            |    8 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java                                |  147 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java        |    6 
 ruoyi-generator/src/main/resources/vm/java/controller.java.vm                                              |   12 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewopinions.java                     |   84 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java                  |    2 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java                                |   10 
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportFileService.java                    |   29 
 ruoyi-project/src/main/resources/mapper/project/BaseAnnextypeMapper.xml                                    |    8 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java                       |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessorganController.java      |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexrequirementController.java    |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportFileMapper.java                       |   26 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateflowchartController.java           |    2 
 ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml                     |   35 
 ruoyi-admin/src/main/resources/application.yml                                                             |   12 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java                         |    2 
 ruoyi-project/src/main/resources/mapper/project/ServiceTransportMapper.xml                                 |  104 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VDonationworkflowController.java                |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatefollowupController.java            |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportFileService.java         |   29 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseFinancesubjectController.java               |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java                |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewinitiateServiceImpl.java    |   57 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseAnnextypeController.java                    |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java                      |  118 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java                 |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java                               |   15 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java                            |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportFileController.java             |  107 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeController.java        |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewinitiateMapper.java               |   25 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java     |  100 +
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluation.java                         |  111 +
 ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportFileMapper.xml                  |   55 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseExpertfeetypeController.java                |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatExpenseController.java                    |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportService.java             |   33 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java           |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationorganController.java    |  109 +
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java              |    3 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java            |  116 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailSharedController.java |    2 
 ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationorganMapper.xml                    |   90 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java                      |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowController.java                  |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeController.java               |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDocumentfilesController.java             |    2 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                                               |    4 
 ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java                            |  112 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseTravelcityController.java                   |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexController.java               |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportFileMapper.java            |   26 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundtaxController.java                   |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java             |    4 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java                                    |   22 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeExpertController.java                 |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java               |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java                          |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceOrganallocationController.java           |    2 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java                                |    6 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeTotalController.java                  |    2 
 ruoyi-project/src/main/resources/mapper/project/ServiceDonateannexMapper.xml                               |   93 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeSharedController.java  |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java     |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java            |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganchargeController.java                  |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java           |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailSharedController.java          |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/BaseAnnextype.java                                    |    8 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VServiceDonateorganRegisterController.java      |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseItemexpenseController.java                  |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOnlyValController.java                      |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportService.java                        |   33 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java       |    2 
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java                               |   30 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java               |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributesummaryController.java         |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java                                 |   42 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceMedicalevaluationorganMapper.java              |   26 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java     |  255 +++
 ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml                           |    8 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportMapper.java                |   26 
 ruoyi-project/src/main/resources/mapper/project/ServiceTransportFileMapper.xml                             |   51 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportFileServiceImpl.java |  112 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java      |    2 
 ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml                         |  141 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateconsolationfundController.java     |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java           |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonGroupController.java       |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganstaticsController.java        |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java                           |    9 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewinitiate.java                     |   70 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportServiceImpl.java                |  156 +
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluationorgan.java                    |  154 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatCaseController.java                       |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java                                        |    1 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportController.java                 |  125 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java              |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportController.java      |  144 +
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java                     |    8 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java    |   18 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/TestExcelVo.java                                      |    6 
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceMedicalevaluationorganService.java           |   24 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java                |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonorchargeorgan.java                          |   12 
 ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml                                                  |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java                                |    2 
 ruoyi-admin/pom.xml                                                                                        |    4 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransport.java                                 |  195 ++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecomporganServiceImpl.java          |  122 
 ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewinitiateMapper.xml                     |   57 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExpertexpenseController.java             |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java                            |   14 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransportFile.java                             |   60 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java          |    6 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReport.java                      |  393 ++++
 /dev/null                                                                                                  |  146 -
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportFileController.java  |  102 +
 ruoyi-admin/src/main/resources/application-druid.yml                                                       |    5 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java            |    5 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java         |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributedetailController.java          |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceSystemmessageController.java             |    2 
 136 files changed, 4,162 insertions(+), 711 deletions(-)

diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 4ac2af2..402ce1e 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -8,8 +8,8 @@
         <version>3.7.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <packaging>war</packaging>
-    <!--    <packaging>jar</packaging>-->
+    <!--    <packaging>war</packaging>-->
+        <packaging>jar</packaging>
     <artifactId>smartor-opo</artifactId>
 
     <description>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index d361a51..6884476 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -72,7 +72,7 @@
      * 閫氱敤涓婁紶璇锋眰,type 涓�0 浠h〃鏄樊鏃呮姤閿�锛屼负1浠h〃璐圭敤鐢宠,鍏跺畠鍊间笉鍙�
      */
     @PostMapping("/common/upload")
-    public AjaxResult uploadFile(MultipartFile file) throws Exception {
+    public AjaxResult uploadFile(MultipartFile file) {
 
         try {
             // 涓婁紶鏂囦欢璺緞
@@ -177,4 +177,4 @@
         }
         return 0;
     }
-}
\ No newline at end of file
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseAnnextypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseAnnextypeController.java
index 47390ca..9a33c37 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseAnnextypeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseAnnextypeController.java
@@ -30,7 +30,7 @@
  * @date 2023-11-10
  */
 @Slf4j
-@Api("鎹愮尞闄勪欢")
+@Api(description = "鎹愮尞闄勪欢")
 @RestController
 @RequestMapping("/project/annextype")
 public class BaseAnnextypeController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseExpertfeetypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseExpertfeetypeController.java
index 90f3cd5..fb38872 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseExpertfeetypeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseExpertfeetypeController.java
@@ -33,7 +33,7 @@
  * @date 2022-04-19
  */
 @Slf4j
-@Api("涓撳璐圭敤")
+@Api(description = "涓撳璐圭敤")
 @RestController
 @RequestMapping("/project/expertfeetype")
 public class BaseExpertfeetypeController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseFinancesubjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseFinancesubjectController.java
index 0b6591a..39448af 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseFinancesubjectController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseFinancesubjectController.java
@@ -25,7 +25,7 @@
  * @date 2022-01-11
  */
 @Slf4j
-@Api("鏀跺叆璐圭敤绉戠洰")
+@Api(description = "鏀跺叆璐圭敤绉戠洰")
 @RestController
 @RequestMapping("/project/financesubject")
 public class BaseFinancesubjectController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseItemexpenseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseItemexpenseController.java
index e9a6220..45b687a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseItemexpenseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseItemexpenseController.java
@@ -33,7 +33,7 @@
  * @date 2022-05-11
  */
 @Slf4j
-@Api("鏀跺叆璐圭敤绉戠洰")
+@Api(description = "鏀跺叆璐圭敤绉戠洰")
 @RestController
 @RequestMapping("/project/itemexpense")
 public class BaseItemexpenseController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOnlyValController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOnlyValController.java
index e058111..19cf338 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOnlyValController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOnlyValController.java
@@ -27,7 +27,7 @@
  * @date 2022-05-11
  */
 @Slf4j
-@Api("鏀跺叆璐圭敤绉戠洰")
+@Api(description = "鏀跺叆璐圭敤绉戠洰")
 @RestController
 @RequestMapping("/project/baseonlyvalue")
 public class BaseOnlyValController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganchargeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganchargeController.java
index f0c6fc4..d78f55d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganchargeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganchargeController.java
@@ -26,7 +26,7 @@
  * @date 2023-10-08
  */
 @Slf4j
-@Api("浜轰綋鍣ㄥ畼鑾峰彇璐圭敤")
+@Api(description = "浜轰綋鍣ㄥ畼鑾峰彇璐圭敤")
 @RestController
 @RequestMapping("/project/organcharge")
 public class BaseOrganchargeController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java
index 56aeceb..e82a571 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java
@@ -28,7 +28,7 @@
  * @date 2021-11-05
  */
 @Slf4j
-@Api("鏈烘瀯淇℃伅绠$悊")
+@Api(description = "鏈烘瀯淇℃伅绠$悊")
 @RestController
 @RequestMapping("/project/organization")
 public class BaseOrganizationController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BasePrcaddressDictController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BasePrcaddressDictController.java
index 087ab61..bb5bfc9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BasePrcaddressDictController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BasePrcaddressDictController.java
@@ -33,7 +33,7 @@
  * @date 2021-11-15
  */
 @Slf4j
-@Api("鐪佸競鍖虹鐞�")
+@Api(description = "鐪佸競鍖虹鐞�")
 @RestController
 @RequestMapping("/project/dict")
 public class BasePrcaddressDictController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseTravelcityController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseTravelcityController.java
index 6fd9937..692ec1b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseTravelcityController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseTravelcityController.java
@@ -27,7 +27,7 @@
  * @date 2023-04-23
  */
 @Slf4j
-@Api("宸梾鍩庡競鍜岃ˉ璐存爣鍑�")
+@Api(description = "宸梾鍩庡競鍜岃ˉ璐存爣鍑�")
 @RestController
 @RequestMapping("/project/travelcity")
 public class BaseTravelcityController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java
index 9f98860..6cccc5f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java
@@ -35,7 +35,7 @@
  * @date 2022-01-24
  */
 @Slf4j
-@Api("PDF鍚堝苟")
+@Api(description = "PDF鍚堝苟")
 @RestController
 @RequestMapping("/project/pdfmerge")
 public class PdfMergeController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributedetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributedetailController.java
index bbaf6fb..b958f5a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributedetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributedetailController.java
@@ -33,7 +33,7 @@
  * @date 2022-03-01
  */
 @Slf4j
-@Api("涓撳璐圭敤鍒嗗彂姹囨�绘槑缁�")
+@Api(description = "涓撳璐圭敤鍒嗗彂姹囨�绘槑缁�")
 @RestController
 @RequestMapping("/project/distributedetail")
 public class ServiceDistributedetailController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributesummaryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributesummaryController.java
index fe1abca..755e22e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributesummaryController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDistributesummaryController.java
@@ -33,7 +33,7 @@
  * @date 2022-03-01
  */
 @Slf4j
-@Api("涓撳璐圭敤鍒嗗彂姹囨�讳富")
+@Api(description = "涓撳璐圭敤鍒嗗彂姹囨�讳富")
 @RestController
 @RequestMapping("/project/distributesummary")
 public class ServiceDistributesummaryController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDocumentfilesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDocumentfilesController.java
index 349b078..8b01636 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDocumentfilesController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDocumentfilesController.java
@@ -33,7 +33,7 @@
  * @date 2022-04-08
  */
 @Slf4j
-@Api("鎹愮尞闄勪欢")
+@Api(description = "鎹愮尞闄勪欢")
 @RestController
 @RequestMapping("/project/documentfiles")
 public class ServiceDocumentfilesController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexController.java
index b8e9724..654f532 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexController.java
@@ -36,7 +36,7 @@
  * @date 2021-11-11
  */
 @Slf4j
-@Api("闄勪欢绠$悊")
+@Api(description = "闄勪欢绠$悊")
 @RestController
 @RequestMapping("/project/donateannex")
 public class ServiceDonateannexController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexrequirementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexrequirementController.java
index fec4b17..efb40c2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexrequirementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateannexrequirementController.java
@@ -33,7 +33,7 @@
  * @date 2021-11-10
  */
 @Slf4j
-@Api("鎹愮尞瑕佹眰闄勪欢绠$悊")
+@Api(description = "鎹愮尞瑕佹眰闄勪欢绠$悊")
 @RestController
 @RequestMapping("/project/donateannexrequirement")
 public class ServiceDonateannexrequirementController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
index 67a9217..64bbab9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
@@ -46,7 +46,7 @@
  * @date 2021-11-10
  */
 @Slf4j
-@Api("娼滃湪鎹愮尞淇℃伅绠$悊")
+@Api(description = "娼滃湪鎹愮尞淇℃伅绠$悊")
 @RestController
 @RequestMapping("/project/donatebaseinfo")
 public class ServiceDonatebaseinfoController extends BaseController {
@@ -58,9 +58,6 @@
 
     @Autowired
     private IServiceExternalpersonService serviceExternalpersonService;
-
-    @Autowired
-    private ServerConfig serverConfig;
 
     @Autowired
     private SysDeptMapper sysDeptMapper;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportController.java
new file mode 100644
index 0000000..6589c33
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportController.java
@@ -0,0 +1,144 @@
+package com.ruoyi.web.controller.project;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.common.IdGeneratorUtils;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReport;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import com.ruoyi.project.service.IServiceDonatebaseinfoReportFileService;
+import com.ruoyi.project.service.IServiceDonatebaseinfoReportService;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.service.ISysConfigService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鎹愮尞涓婃姤鍩虹Controller
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Api(description = "鎹愮尞涓婃姤鍩虹")
+@RestController
+@RequestMapping("/system/donatebaseinforeport")
+public class ServiceDonatebaseinfoReportController extends BaseController {
+    @Autowired
+    private IServiceDonatebaseinfoReportService serviceDonatebaseinfoReportService;
+    @Autowired
+    private IServiceDonatebaseinfoReportFileService serviceDonatebaseinfoReportFileService;
+    @Autowired
+    private ISysConfigService sysConfigService;
+
+    /**
+     * 鏌ヨ鎹愮尞涓婃姤鍩虹鍒楄〃
+     */
+    @ApiOperation("鏌ヨ鎹愮尞涓婃姤鍩虹鍒楄〃")
+    @PostMapping("/list")
+    public Map<String, Object> list(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        Page<ServiceDonatebaseinfoReport> serviceDonatebaseinfoReportPage = serviceDonatebaseinfoReportService.queryList(serviceDonatebaseinfoReport);
+        return getDataTable(serviceDonatebaseinfoReportPage.getRecords(), (int) serviceDonatebaseinfoReportPage.getTotal());
+    }
+
+    /**
+     * 鑾峰彇鎬绘暟
+     */
+    @ApiOperation("鑾峰彇鍚勭被鍨嬬殑鎬绘暟")
+    @PostMapping("/getTotal")
+    public Map<String, Object> getTotal(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        //鍘婚厤缃枃浠朵腑锛岃幏鍙栦笂鎶ョ被鍨�
+        SysConfig config = new SysConfig();
+        config.setConfigKey("sys.report.type");
+        List<SysConfig> sysConfigs = sysConfigService.selectConfigList(config);
+        String type = "";
+        if (sysConfigs != null) {
+            type = sysConfigs.get(0).getConfigValue();
+        }
+        Map<String, Object> map = serviceDonatebaseinfoReportService.getTotal(serviceDonatebaseinfoReport, type);
+        return getDataTable(map, null);
+    }
+
+
+    /**
+     * 瀵煎嚭鎹愮尞涓婃姤鍩虹鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭鎹愮尞涓婃姤鍩虹鍒楄〃")
+    @Log(title = "鎹愮尞涓婃姤鍩虹", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        List<ServiceDonatebaseinfoReport> list = serviceDonatebaseinfoReportService.queryList(serviceDonatebaseinfoReport).getRecords();
+        ExcelUtil<ServiceDonatebaseinfoReport> util = new ExcelUtil<ServiceDonatebaseinfoReport>(ServiceDonatebaseinfoReport.class);
+        return util.exportExcel(list, "鎹愮尞涓婃姤鍩虹鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鎹愮尞涓婃姤鍩虹璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇鎹愮尞涓婃姤鍩虹璇︾粏淇℃伅")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        ServiceDonatebaseinfoReport serviceDonatebaseinfoReport = serviceDonatebaseinfoReportService.getById(id);
+        //琛ュ厖闄勪欢
+        ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile = new ServiceDonatebaseinfoReportFile();
+        serviceDonatebaseinfoReportFile.setDonatebaseinfoReportId(serviceDonatebaseinfoReport.getId());
+        serviceDonatebaseinfoReportFile.setCaseNo(serviceDonatebaseinfoReport.getCaseNo());
+        serviceDonatebaseinfoReportFile.setDelFlag(0);
+        List<ServiceDonatebaseinfoReportFile> serviceDonatebaseinfoReportFiles = serviceDonatebaseinfoReportFileService.queryList(serviceDonatebaseinfoReportFile);
+        serviceDonatebaseinfoReport.setAnnexfilesList(serviceDonatebaseinfoReportFiles);
+        return AjaxResult.success(serviceDonatebaseinfoReport);
+    }
+
+    /**
+     * 鏂板鎹愮尞涓婃姤鍩虹
+     */
+    @ApiOperation("鏂板鎹愮尞涓婃姤鍩虹")
+    @Log(title = "鎹愮尞涓婃姤鍩虹", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        //鐢熸垚妗堜緥涓婃姤ID
+        String caseNo = String.valueOf(IdGeneratorUtils.nextId());
+        serviceDonatebaseinfoReport.setCaseNo(caseNo);
+        boolean save = serviceDonatebaseinfoReportService.save(serviceDonatebaseinfoReport);
+        //灏嗙敓鎴愮殑鏂囦欢鍦板潃瀛樺偍鍒版暟鎹簱涓�
+        if (save)
+            serviceDonatebaseinfoReportFileService.addList(serviceDonatebaseinfoReport.getAnnexfilesList(), serviceDonatebaseinfoReport.getCaseNo(), getNickName());
+        return toAjax(save);
+    }
+
+    /**
+     * 淇敼鎹愮尞涓婃姤鍩虹
+     */
+    @ApiOperation("淇敼鎹愮尞涓婃姤鍩虹")
+    @Log(title = "鎹愮尞涓婃姤鍩虹", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @RepeatSubmit
+    public AjaxResult edit(@RequestBody ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        boolean b = serviceDonatebaseinfoReportService.updateById(serviceDonatebaseinfoReport);
+        if (b) {
+            serviceDonatebaseinfoReportFileService.updateList(serviceDonatebaseinfoReport.getAnnexfilesList(), serviceDonatebaseinfoReport.getId(), serviceDonatebaseinfoReport.getCaseNo(), getNickName());
+        }
+        return toAjax(b);
+    }
+
+    /**
+     * 鍒犻櫎鎹愮尞涓婃姤鍩虹
+     */
+    @ApiOperation("鍒犻櫎鎹愮尞涓婃姤鍩虹")
+    @GetMapping("/remove/{id}")
+    public AjaxResult remove(@PathVariable Long id) {
+        ServiceDonatebaseinfoReport serviceDonatebaseinfoReport = new ServiceDonatebaseinfoReport();
+        serviceDonatebaseinfoReport.setId(id);
+        serviceDonatebaseinfoReport.setDelFlag(1);
+        return toAjax(serviceDonatebaseinfoReportService.updateById(serviceDonatebaseinfoReport));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportFileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportFileController.java
new file mode 100644
index 0000000..f34a4e4
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoReportFileController.java
@@ -0,0 +1,102 @@
+package com.ruoyi.web.controller.project;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import com.ruoyi.project.service.IServiceDonatebaseinfoReportFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 妗堜緥涓婃姤闄勪欢Controller
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Api(description = "妗堜緥涓婃姤闄勪欢")
+@RestController
+@RequestMapping("/system/Donatebaseinfofile")
+public class ServiceDonatebaseinfoReportFileController extends BaseController {
+    @Autowired
+    private IServiceDonatebaseinfoReportFileService serviceDonatebaseinfoReportFileService;
+
+    /**
+     * 鏌ヨ妗堜緥涓婃姤闄勪欢鍒楄〃
+     */
+    @ApiOperation("鏌ヨ妗堜緥涓婃姤闄勪欢鍒楄〃")
+    // @PreAuthorize("@ss.hasPermi('system:file:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile) {
+        startPage();
+        List<ServiceDonatebaseinfoReportFile> list = serviceDonatebaseinfoReportFileService.queryList(serviceDonatebaseinfoReportFile);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭妗堜緥涓婃姤闄勪欢鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭妗堜緥涓婃姤闄勪欢鍒楄〃")
+    // @PreAuthorize("@ss.hasPermi('system:file:export')")
+    @Log(title = "妗堜緥涓婃姤闄勪欢", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile) {
+        List<ServiceDonatebaseinfoReportFile> list = serviceDonatebaseinfoReportFileService.queryList(serviceDonatebaseinfoReportFile);
+        ExcelUtil<ServiceDonatebaseinfoReportFile> util = new ExcelUtil<ServiceDonatebaseinfoReportFile>(ServiceDonatebaseinfoReportFile.class);
+        return util.exportExcel(list, "妗堜緥涓婃姤闄勪欢鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇妗堜緥涓婃姤闄勪欢璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇妗堜緥涓婃姤闄勪欢璇︾粏淇℃伅")
+    // @PreAuthorize("@ss.hasPermi('system:file:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(serviceDonatebaseinfoReportFileService.getById(id));
+    }
+
+    /**
+     * 鏂板妗堜緥涓婃姤闄勪欢
+     */
+    @ApiOperation("鏂板妗堜緥涓婃姤闄勪欢")
+    // @PreAuthorize("@ss.hasPermi('system:file:add')")
+    @Log(title = "妗堜緥涓婃姤闄勪欢", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile) {
+        return toAjax(serviceDonatebaseinfoReportFileService.save(serviceDonatebaseinfoReportFile));
+    }
+
+    /**
+     * 淇敼妗堜緥涓婃姤闄勪欢
+     */
+    @ApiOperation("淇敼妗堜緥涓婃姤闄勪欢")
+    // @PreAuthorize("@ss.hasPermi('system:file:edit')")
+    @Log(title = "妗堜緥涓婃姤闄勪欢", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @RepeatSubmit
+    public AjaxResult edit(@RequestBody ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile) {
+        return toAjax(serviceDonatebaseinfoReportFileService.updateById(serviceDonatebaseinfoReportFile));
+    }
+
+    /**
+     * 鍒犻櫎妗堜緥涓婃姤闄勪欢
+     */
+    @ApiOperation("鍒犻櫎妗堜緥涓婃姤闄勪欢")
+    // @PreAuthorize("@ss.hasPermi('system:file:remove')")
+    @Log(title = "妗堜緥涓婃姤闄勪欢", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(serviceDonatebaseinfoReportFileService.removeByIds(Arrays.asList(ids)));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
index 0c05ca2..130e095 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
@@ -39,7 +39,7 @@
  * @date 2021-11-19
  */
 @Slf4j
-@Api("鎹愮尞瀹屾垚鐧昏绠$悊")
+@Api( description = "鎹愮尞瀹屾垚鐧昏绠$悊")
 @RestController
 @RequestMapping("/project/donatecompletioninfo")
 public class ServiceDonatecompletioninfoController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
index 9d4e17c..5225d1e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
@@ -27,7 +27,7 @@
  * @date 2023-12-25
  */
 @Slf4j
-@Api("鎹愮尞鍣ㄥ畼绉绘")
+@Api(description = "鎹愮尞鍣ㄥ畼绉绘")
 @RestController
 @RequestMapping("/project/donatecomporgan")
 public class ServiceDonatecomporganController extends BaseController {
@@ -117,7 +117,7 @@
             ServiceDonatecomporgan sd = new ServiceDonatecomporgan();
             sd.setInfoid(serviceDonatecompletion.getInfoid());
             sd.setOrganno(serviceDonatecompletion.getOrganno());
-            sd.setDel_flag(0);
+            sd.setDelFlag(0);
             List<ServiceDonatecomporgan> serviceDonatecomporgans = serviceDonatecomporganService.queryList(sd);
             if (serviceDonatecompletion.getId() == null && CollectionUtils.isEmpty(serviceDonatecomporgans)) {
                 i = serviceDonatecomporganService.save(serviceDonatecompletion);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateconsolationfundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateconsolationfundController.java
index 651625e..609d9f4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateconsolationfundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateconsolationfundController.java
@@ -31,7 +31,7 @@
  * @author ruoyi
  * @date 2022-01-18
  */
-@Api("璧勯噾鐢宠涓昏〃")
+@Api(description = "璧勯噾鐢宠涓昏〃")
 @RestController
 @RequestMapping("/project/donateconsolationfund")
 public class ServiceDonateconsolationfundController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateflowchartController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateflowchartController.java
index 4307ae6..d05d4ab 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateflowchartController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateflowchartController.java
@@ -32,7 +32,7 @@
  * @author ruoyi
  * @date 2021-11-15
  */
-@Api("鎹愮尞娴佺▼绠$悊")
+@Api(description = "鎹愮尞娴佺▼绠$悊")
 @RestController
 @RequestMapping("/project/donateflowchart")
 public class ServiceDonateflowchartController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatefollowupController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatefollowupController.java
index 965eb52..ec0ba95 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatefollowupController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatefollowupController.java
@@ -32,7 +32,7 @@
  * @author ruoyi
  * @date 2021-12-10
  */
-@Api("鎹愮尞闅忚")
+@Api(description = "鎹愮尞闅忚")
 @RestController
 @RequestMapping("/project/donatefollowup")
 public class ServiceDonatefollowupController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
index ef5f73b..5599866 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
@@ -35,7 +35,7 @@
  * @date 2021-11-10
  */
 @Slf4j
-@Api("鎹愮尞鍣ㄥ畼绠$悊")
+@Api(description = "鎹愮尞鍣ㄥ畼绠$悊")
 @RestController
 @RequestMapping("/project/donateorgan")
 public class ServiceDonateorganController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganstaticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganstaticsController.java
index 34d89d3..d1ce024 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganstaticsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganstaticsController.java
@@ -24,7 +24,7 @@
  * @author ruoyi
  * @date 2023-12-27
  */
-@Api("鎹愮尞妗堜緥鍣ㄥ畼鍒�")
+@Api(description = "鎹愮尞妗堜緥鍣ㄥ畼鍒�")
 @RestController
 @RequestMapping("/project/donateorganstatics")
 public class ServiceDonateorganstaticsController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
index 526a61d..e862b61 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
@@ -50,7 +50,7 @@
  * @date 2021-11-17
  */
 @Slf4j
-@Api("鎹愮尞瑙佽瘉绠$悊")
+@Api(description = "鎹愮尞瑙佽瘉绠$悊")
 @RestController
 @RequestMapping("/project/donationwitness")
 public class ServiceDonationwitnessController extends BaseController {
@@ -551,7 +551,7 @@
             log.info("鎹愮尞瑙佽瘉绠$悊id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
             ServiceDonationwitness sd2 = new ServiceDonationwitness();
             sd2.setInfoid(serviceDonationwitness.getInfoid());
-            sd2.setDel_flag(0);
+            sd2.setDelFlag(0);
             List<ServiceDonationwitness> serviceDonationwitnesses = serviceDonationwitnessService.queryList(sd2);
             if (!CollectionUtils.isEmpty(serviceDonationwitnesses)) {
                 serviceDonationwitness.setId(serviceDonationwitnesses.get(0).getId());
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessorganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessorganController.java
index b2e5e4a..e79fe46 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessorganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessorganController.java
@@ -29,7 +29,7 @@
  * @date 2023-12-25
  */
 @Slf4j
-@Api("鎹愮尞鍣ㄥ畼鑾峰彇")
+@Api(description = "鎹愮尞鍣ㄥ畼鑾峰彇")
 @RestController
 @RequestMapping("/project/donationwitnessorgan")
 public class ServiceDonationwitnessorganController extends BaseController {
@@ -122,7 +122,7 @@
             ServiceDonationwitnessorgan serviceDonationwitnessorgan2 = new ServiceDonationwitnessorgan();
             serviceDonationwitnessorgan2.setInfoid(serviceDonationwitnessorgan.getInfoid());
             serviceDonationwitnessorgan2.setOrganno(serviceDonationwitnessorgan.getOrganno());
-            serviceDonationwitnessorgan2.setDel_flag(0);
+            serviceDonationwitnessorgan2.setDelFlag(0);
             List<ServiceDonationwitnessorgan> serviceDonationwitnessorgans = serviceDonationwitnessorganService.queryList(serviceDonationwitnessorgan2);
             log.info("serviceDonationwitnessorgans鐨勬暟閲忎负 : {},infoid涓猴細{}锛孫rganno涓猴細{}", serviceDonationwitnessorgans.size(), serviceDonationwitnessorgan.getInfoid(), serviceDonationwitnessorgan.getOrganno());
             if (!CollectionUtils.isEmpty(serviceDonationwitnessorgans)) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeController.java
index 0d0c74c..4611c50 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeController.java
@@ -27,7 +27,7 @@
  * @author ruoyi
  * @date 2023-12-27
  */
-@Api("鎹愮尞妗堜緥鍣ㄥ畼鍒�")
+@Api(description = "鎹愮尞妗堜緥鍣ㄥ畼鍒�")
 @RestController
 @RequestMapping("/project/donorcharge")
 public class ServiceDonorchargeController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
index b7655b0..177ebf6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
@@ -36,7 +36,7 @@
  * @date 2023-12-25
  */
 @Slf4j
-@Api("鎹愮尞鍣ㄥ畼")
+@Api(description = "鎹愮尞鍣ㄥ畼")
 @RestController
 @RequestMapping("/project/donorchargeorgan")
 public class ServiceDonorchargeorganController extends BaseController {
@@ -149,8 +149,8 @@
             log.info("鎹愮尞鍣ㄥ畼id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonorchargeorganVO.getId(), serviceDonorchargeorganVO.getInfoid());
             ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonorchargeorganVO, ServiceDonorchargeorgan.class);
             serviceDonorchargeorgan.setAnnexFiles(JSON.toJSONString(serviceDonorchargeorganVO.getAnnexFilesList()));
-            if (serviceDonorchargeorgan.getDel_flag() == null) {
-                serviceDonorchargeorgan.setDel_flag(0);
+            if (serviceDonorchargeorgan.getDelFlag() == null) {
+                serviceDonorchargeorgan.setDelFlag(0);
             }
             if (serviceDonorchargeorgan.getId() == null) {
                 i = serviceDonorchargeorganService.save(serviceDonorchargeorgan);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
index 16e01e9..afbe3ef 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
@@ -28,7 +28,7 @@
  * @author ruoyi
  * @date 2024-02-27
  */
-@Api("璐圭敤鏀舵鍗�")
+@Api(description = "璐圭敤鏀舵鍗�")
 @RestController
 @RequestMapping("/project/donorpayment")
 public class ServiceDonorpaymentController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
new file mode 100644
index 0000000..aa54460
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
@@ -0,0 +1,100 @@
+package com.ruoyi.web.controller.project;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
+import com.ruoyi.project.service.IServiceEthicalreviewinitiateService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 浼︾悊瀹℃煡鍙戣捣Controller
+ *
+ * @author ls
+ * @date 2025-12-20
+ */
+@Api(description = "浼︾悊瀹℃煡鍙戣捣")
+@RestController
+@RequestMapping("/system/ethicalreviewinitiate")
+public class ServiceEthicalreviewinitiateController extends BaseController {
+    @Autowired
+    private IServiceEthicalreviewinitiateService serviceEthicalreviewinitiateService;
+
+    /**
+     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
+     */
+    @ApiOperation("鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃")
+    // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
+        startPage();
+        List<ServiceEthicalreviewinitiate> list = serviceEthicalreviewinitiateService.queryList(serviceEthicalreviewinitiate);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭浼︾悊瀹℃煡鍙戣捣鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭浼︾悊瀹℃煡鍙戣捣鍒楄〃")
+    @Log(title = "浼︾悊瀹℃煡鍙戣捣", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
+        List<ServiceEthicalreviewinitiate> list = serviceEthicalreviewinitiateService.queryList(serviceEthicalreviewinitiate);
+        ExcelUtil<ServiceEthicalreviewinitiate> util = new ExcelUtil<ServiceEthicalreviewinitiate>(ServiceEthicalreviewinitiate.class);
+        return util.exportExcel(list, "浼︾悊瀹℃煡鍙戣捣鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇浼︾悊瀹℃煡鍙戣捣璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇浼︾悊瀹℃煡鍙戣捣璇︾粏淇℃伅")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(serviceEthicalreviewinitiateService.getById(id));
+    }
+
+    /**
+     * 鏂板浼︾悊瀹℃煡鍙戣捣
+     */
+    @ApiOperation("鏂板浼︾悊瀹℃煡鍙戣捣")
+    // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:add')")
+    @Log(title = "浼︾悊瀹℃煡鍙戣捣", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
+        return toAjax(serviceEthicalreviewinitiateService.save(serviceEthicalreviewinitiate));
+    }
+
+    /**
+     * 淇敼浼︾悊瀹℃煡鍙戣捣
+     */
+    @ApiOperation("淇敼浼︾悊瀹℃煡鍙戣捣")
+    // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:edit')")
+    @Log(title = "浼︾悊瀹℃煡鍙戣捣", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @RepeatSubmit
+    public AjaxResult edit(@RequestBody ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
+        return toAjax(serviceEthicalreviewinitiateService.updateById(serviceEthicalreviewinitiate));
+    }
+
+    /**
+     * 鍒犻櫎浼︾悊瀹℃煡鍙戣捣
+     */
+    @ApiOperation("鍒犻櫎浼︾悊瀹℃煡鍙戣捣")
+    // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:remove')")
+    @Log(title = "浼︾悊瀹℃煡鍙戣捣", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(serviceEthicalreviewinitiateService.removeByIds(Arrays.asList(ids)));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExpertexpenseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExpertexpenseController.java
index 6eb6b14..05d1764 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExpertexpenseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExpertexpenseController.java
@@ -32,7 +32,7 @@
  * @author ruoyi
  * @date 2022-03-01
  */
-@Api("璐圭敤鐢宠涓�")
+@Api(description = "璐圭敤鐢宠涓�")
 @RestController
 @RequestMapping("/system/expertexpense")
 public class ServiceExpertexpenseController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonGroupController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonGroupController.java
index 88a114f..2b76103 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonGroupController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonGroupController.java
@@ -24,7 +24,7 @@
  * @author ruoyi
  * @date 2023-09-26
  */
-@Api("浜哄憳鍜屽垎缁勭粍鍒叧鑱�")
+@Api(description = "浜哄憳鍜屽垎缁勭粍鍒叧鑱�")
 @RestController
 @RequestMapping("/externalperson/group")
 public class ServiceExternalpersonGroupController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index 2c26721..7fe89e5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -51,7 +51,7 @@
  * @date 2022-01-24
  */
 @Slf4j
-@Api("璐圭敤鐢宠涓�")
+@Api(description = "璐圭敤鐢宠涓�")
 @RestController
 @RequestMapping("/project/fund")
 public class ServiceFundController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java
index 359fa25..e9ba5a7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java
@@ -24,7 +24,7 @@
  * @author ruoyi
  * @date 2023-03-27
  */
-@Api("璐圭敤鐢宠涓�")
+@Api(description = "璐圭敤鐢宠涓�")
 @RestController
 @RequestMapping("/system/shared")
 public class ServiceFundSharedController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
index 4dc7e41..adbfbca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
@@ -34,7 +34,7 @@
  * @date 2022-01-25
  */
 @Slf4j
-@Api("璐圭敤鐢宠鏄庣粏")
+@Api(description = "璐圭敤鐢宠鏄庣粏")
 @RestController
 @RequestMapping("/project/funddetail")
 public class ServiceFunddetailController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailSharedController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailSharedController.java
index 85c8792..2996b86 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailSharedController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailSharedController.java
@@ -30,7 +30,7 @@
  * @author ruoyi
  * @date 2023-04-20
  */
-@Api("璐圭敤鐢宠鏄庣粏")
+@Api(description = "璐圭敤鐢宠鏄庣粏")
 @RestController
 @RequestMapping("/project/funddetailshared")
 public class ServiceFunddetailSharedController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowController.java
index 8e266b5..78ad96a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowController.java
@@ -32,7 +32,7 @@
  * @author ruoyi
  * @date 2022-04-27
  */
-@Api("璧勯噾瀹℃壒娴佺▼")
+@Api(description = "璧勯噾瀹℃壒娴佺▼")
 @RestController
 @RequestMapping("/project/fundflow")
 public class ServiceFundflowController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowruleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowruleController.java
index 2b72e93..4409cc9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowruleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundflowruleController.java
@@ -31,7 +31,7 @@
  * @author ruoyi
  * @date 2022-04-27
  */
-@Api("璧勯噾瀹℃壒瑙勫垯")
+@Api(description = "璧勯噾瀹℃壒瑙勫垯")
 @RestController
 @RequestMapping("/project/fundflowrule")
 public class ServiceFundflowruleController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundtaxController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundtaxController.java
index 057affa..4e126ea 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundtaxController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundtaxController.java
@@ -27,7 +27,7 @@
  * @author ruoyi
  * @date 2024-03-13
  */
-@Api("涓撳璐圭敤绠楃◣鐢宠涓�")
+@Api(description = "涓撳璐圭敤绠楃◣鐢宠涓�")
 @RestController
 @RequestMapping("/project/fundtax")
 public class ServiceFundtaxController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java
index d80dd34..0abcfe1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java
@@ -44,7 +44,7 @@
  * @date 2021-11-19
  */
 @Slf4j
-@Api("鍖荤枟璇勪及绠$悊")
+@Api(description = "鍖荤枟璇勪及绠$悊")
 @RestController
 @RequestMapping("/project/medicalevaluation")
 public class ServiceMedicalevaluationController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationorganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationorganController.java
new file mode 100644
index 0000000..33feb3d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationorganController.java
@@ -0,0 +1,109 @@
+package com.ruoyi.web.controller.project;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
+import com.ruoyi.project.service.IServiceMedicalevaluationorganService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 鎹愮尞鍣ㄥ畼璇勪及Controller
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Api(description = "鎹愮尞鍣ㄥ畼璇勪及")
+@RestController
+@RequestMapping("/system/medicalevaluationorgan")
+public class ServiceMedicalevaluationorganController extends BaseController
+{
+    @Autowired
+    private IServiceMedicalevaluationorganService serviceMedicalevaluationorganService;
+
+    /**
+     * 鏌ヨ鎹愮尞鍣ㄥ畼璇勪及鍒楄〃
+     */
+    @ApiOperation("鏌ヨ鎹愮尞鍣ㄥ畼璇勪及鍒楄〃")
+    // @PreAuthorize("@ss.hasPermi('system:medicalevaluationorgan:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(ServiceMedicalevaluationorgan serviceMedicalevaluationorgan)
+    {
+        startPage();
+        List<ServiceMedicalevaluationorgan> list = serviceMedicalevaluationorganService.queryList(serviceMedicalevaluationorgan);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鎹愮尞鍣ㄥ畼璇勪及鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭鎹愮尞鍣ㄥ畼璇勪及鍒楄〃")
+    // @PreAuthorize("@ss.hasPermi('system:medicalevaluationorgan:export')")
+    @Log(title = "鎹愮尞鍣ㄥ畼璇勪及", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceMedicalevaluationorgan serviceMedicalevaluationorgan)
+    {
+        List<ServiceMedicalevaluationorgan> list = serviceMedicalevaluationorganService.queryList(serviceMedicalevaluationorgan);
+        ExcelUtil<ServiceMedicalevaluationorgan> util = new ExcelUtil<ServiceMedicalevaluationorgan>(ServiceMedicalevaluationorgan.class);
+        return util.exportExcel(list, "鎹愮尞鍣ㄥ畼璇勪及鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鎹愮尞鍣ㄥ畼璇勪及璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇鎹愮尞鍣ㄥ畼璇勪及璇︾粏淇℃伅")
+    // @PreAuthorize("@ss.hasPermi('system:medicalevaluationorgan:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(serviceMedicalevaluationorganService.getById(id));
+    }
+
+    /**
+     * 鏂板鎹愮尞鍣ㄥ畼璇勪及
+     */
+    @ApiOperation("鏂板鎹愮尞鍣ㄥ畼璇勪及")
+    // @PreAuthorize("@ss.hasPermi('system:medicalevaluationorgan:add')")
+    @Log(title = "鎹愮尞鍣ㄥ畼璇勪及", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceMedicalevaluationorgan serviceMedicalevaluationorgan)
+    {
+        return toAjax(serviceMedicalevaluationorganService.save(serviceMedicalevaluationorgan));
+    }
+
+    /**
+     * 淇敼鎹愮尞鍣ㄥ畼璇勪及
+     */
+    @ApiOperation("淇敼鎹愮尞鍣ㄥ畼璇勪及")
+    // @PreAuthorize("@ss.hasPermi('system:medicalevaluationorgan:edit')")
+    @Log(title = "鎹愮尞鍣ㄥ畼璇勪及", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @RepeatSubmit
+    public AjaxResult edit(@RequestBody ServiceMedicalevaluationorgan serviceMedicalevaluationorgan)
+    {
+        return toAjax(serviceMedicalevaluationorganService.updateById(serviceMedicalevaluationorgan));
+    }
+
+    /**
+     * 鍒犻櫎鎹愮尞鍣ㄥ畼璇勪及
+     */
+    @ApiOperation("鍒犻櫎鎹愮尞鍣ㄥ畼璇勪及")
+    // @PreAuthorize("@ss.hasPermi('system:medicalevaluationorgan:remove')")
+    @Log(title = "鎹愮尞鍣ㄥ畼璇勪及", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(serviceMedicalevaluationorganService.removeByIds(Arrays.asList(ids)));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceOrganallocationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceOrganallocationController.java
index 2cf1e31..fe1c92a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceOrganallocationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceOrganallocationController.java
@@ -26,7 +26,7 @@
  * @author ruoyi
  * @date 2021-11-10
  */
-@Api("鍣ㄥ畼鍒嗛厤绠$悊")
+@Api(description = "鍣ㄥ畼鍒嗛厤绠$悊")
 @RestController
 @RequestMapping("/project/organallocation")
 public class ServiceOrganallocationController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
index 10fe981..fc85385 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -51,7 +51,7 @@
  * @date 2022-01-24
  */
 @Slf4j
-@Api("鎶ラ攢鐢宠")
+@Api(description = "鎶ラ攢鐢宠")
 @RestController
 @RequestMapping("/project/reimbursement")
 public class ServiceReimbursementController extends BaseController {
@@ -271,7 +271,7 @@
         ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
         serviceFundflowrule.setApplytype("0");
         serviceFundflowrule.setMustAudite(1);
-        serviceFundflowrule.setDel_flag(0);
+        serviceFundflowrule.setDelFlag(0);
         List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
         log.info("reimbursement蹇呭浜虹殑绛夌骇涓猴細{}", serviceFundflowrules.get(0).getFlowlevel());
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java
index bb21024..0ac5466 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java
@@ -24,7 +24,7 @@
  * @author ruoyi
  * @date 2023-01-10
  */
-@Api("鎶ラ攢鐢宠")
+@Api(description = "鎶ラ攢鐢宠")
 @RestController
 @RequestMapping("/project/reimshared")
 public class ServiceReimbursementSharedController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
index ca09670..015cd74 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -39,7 +39,7 @@
  * @author ruoyi
  * @date 2022-01-24
  */
-@Api("鎶ラ攢鐢宠鏄庣粏")
+@Api(description = "鎶ラ攢鐢宠鏄庣粏")
 @RestController
 @RequestMapping("/project/reimbursementdetail")
 public class ServiceReimbursementdetailController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailSharedController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailSharedController.java
index 6947aad..a99c08a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailSharedController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailSharedController.java
@@ -30,7 +30,7 @@
  * @author ruoyi
  * @date 2023-04-20
  */
-@Api("鎶ラ攢鐢宠鏄庣粏")
+@Api(description = "鎶ラ攢鐢宠鏄庣粏")
 @RestController
 @RequestMapping("/project/reimbursementdetailshared")
 public class ServiceReimbursementdetailSharedController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeController.java
index 8b71d1f..8b2b903 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeController.java
@@ -23,7 +23,7 @@
  * @author ruoyi
  * @date 2023-05-10
  */
-@Api("宸梾鎶ラ攢浠樻淇℃伅")
+@Api(description = "宸梾鎶ラ攢浠樻淇℃伅")
 @RestController
 @RequestMapping("/project/reimbursementpayee")
 public class ServiceReimbursementpayeeController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeSharedController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeSharedController.java
index b9e03e6..84d0a93 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeSharedController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeSharedController.java
@@ -30,7 +30,7 @@
  * @author ruoyi
  * @date 2023-04-20
  */
-@Api("宸梾鎶ラ攢浠樻淇℃伅")
+@Api(description = "宸梾鎶ラ攢浠樻淇℃伅")
 @RestController
 @RequestMapping("/project/reimbursementpayeeshared")
 public class ServiceReimbursementpayeeSharedController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java
index 72938a7..548a7d6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java
@@ -48,7 +48,7 @@
  * @date 2021-11-15
  */
 @Slf4j
-@Api("浜插睘纭绠$悊")
+@Api(description = "浜插睘纭绠$悊")
 @RestController
 @RequestMapping("/project/relativesconfirmation")
 public class ServiceRelativesconfirmationController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceSystemmessageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceSystemmessageController.java
index 8677146..0df18f8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceSystemmessageController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceSystemmessageController.java
@@ -36,7 +36,7 @@
  * @date 2022-06-02
  */
 @Slf4j
-@Api("绯荤粺娑堟伅")
+@Api(description = "绯荤粺娑堟伅")
 @RestController
 @RequestMapping("/project/systemmessage")
 public class ServiceSystemmessageController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportController.java
new file mode 100644
index 0000000..1a9e3ed
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportController.java
@@ -0,0 +1,125 @@
+package com.ruoyi.web.controller.project;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceTransport;
+import com.ruoyi.project.domain.ServiceTransportFile;
+import com.ruoyi.project.service.IServiceTransportService;
+import com.ruoyi.project.service.impl.ServiceTransportFileServiceImpl;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁癈ontroller
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Api(description = "渚涜�呰浆杩愮櫥璁�")
+@RestController
+@RequestMapping("/system/transport")
+public class ServiceTransportController extends BaseController {
+    @Autowired
+    private IServiceTransportService serviceTransportService;
+
+    @Autowired
+    private ServiceTransportFileServiceImpl serviceTransportFileService;
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁板垪琛�
+     */
+    @ApiOperation("鏌ヨ渚涜�呰浆杩愮櫥璁板垪琛�")
+    // @PreAuthorize("@ss.hasPermi('system:transport:list')")
+    @PostMapping("/list")
+    public Map<String, Object> list(ServiceTransport serviceTransport) {
+        Page<ServiceTransport> serviceTransportPage = serviceTransportService.queryList(serviceTransport);
+        return getDataTable(serviceTransportPage.getRecords(), (int) serviceTransportPage.getTotal());
+    }
+
+    /**
+     * 瀵煎嚭渚涜�呰浆杩愮櫥璁板垪琛�
+     */
+    @ApiOperation("瀵煎嚭渚涜�呰浆杩愮櫥璁板垪琛�")
+    // @PreAuthorize("@ss.hasPermi('system:transport:export')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁�", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceTransport serviceTransport) {
+        List<ServiceTransport> list = serviceTransportService.queryList(serviceTransport).getRecords();
+        ExcelUtil<ServiceTransport> util = new ExcelUtil<ServiceTransport>(ServiceTransport.class);
+        return util.exportExcel(list, "渚涜�呰浆杩愮櫥璁版暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇渚涜�呰浆杩愮櫥璁拌缁嗕俊鎭�
+     */
+    @ApiOperation("鑾峰彇渚涜�呰浆杩愮櫥璁拌缁嗕俊鎭�")
+    // @PreAuthorize("@ss.hasPermi('system:transport:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        ServiceTransport transport = serviceTransportService.getById(id);
+        if (ObjectUtils.isNotEmpty(transport)) {
+            //琛ュ厖 闄勪欢
+            ServiceTransportFile serviceTransportFile = new ServiceTransportFile();
+            serviceTransportFile.setDelFlag(0);
+            serviceTransportFile.setTransportId(transport.getId());
+            serviceTransportFile.setCaseNo(transport.getCaseNo());
+            List<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
+            transport.setAnnexfilesList(serviceTransportFiles);
+        }
+        return AjaxResult.success(transport);
+    }
+
+    /**
+     * 鏂板渚涜�呰浆杩愮櫥璁�
+     */
+    @ApiOperation("鏂板渚涜�呰浆杩愮櫥璁�")
+    // @PreAuthorize("@ss.hasPermi('system:transport:add')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁�", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+//    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceTransport serviceTransport) {
+        boolean save = serviceTransportService.save(serviceTransport);
+        if (save) {
+            serviceTransportFileService.addList(serviceTransport.getAnnexfilesList(), serviceTransport.getId(), serviceTransport.getCaseNo(), getNickName());
+        }
+        return toAjax(save);
+    }
+
+    /**
+     * 淇敼渚涜�呰浆杩愮櫥璁�
+     */
+    @ApiOperation("淇敼渚涜�呰浆杩愮櫥璁�")
+    // @PreAuthorize("@ss.hasPermi('system:transport:edit')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁�", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+//    @RepeatSubmit
+    public AjaxResult edit(@RequestBody ServiceTransport serviceTransport) {
+        boolean b = serviceTransportService.updateById(serviceTransport);
+        if (b) {
+            serviceTransportFileService.updateList(serviceTransport.getAnnexfilesList(), serviceTransport.getReportId(), serviceTransport.getCaseNo(), getNickName());
+        }
+        return toAjax(b);
+    }
+
+    /**
+     * 鍒犻櫎渚涜�呰浆杩愮櫥璁�
+     */
+    @ApiOperation("鍒犻櫎渚涜�呰浆杩愮櫥璁�")
+    // @PreAuthorize("@ss.hasPermi('system:transport:remove')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁�", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(serviceTransportService.removeByIds(Arrays.asList(ids)));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportFileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportFileController.java
new file mode 100644
index 0000000..4d1d369
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportFileController.java
@@ -0,0 +1,107 @@
+package com.ruoyi.web.controller.project;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceTransportFile;
+import com.ruoyi.project.service.IServiceTransportFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁伴檮浠禖ontroller
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Api(description = "渚涜�呰浆杩愮櫥璁伴檮浠�")
+@RestController
+@RequestMapping("/system/transportfile")
+public class ServiceTransportFileController extends BaseController {
+    @Autowired
+    private IServiceTransportFileService serviceTransportFileService;
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�
+     */
+    @ApiOperation("鏌ヨ渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�")
+    // @PreAuthorize("@ss.hasPermi('system:file:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(ServiceTransportFile serviceTransportFile) {
+        startPage();
+        List<ServiceTransportFile> list = serviceTransportFileService.queryList(serviceTransportFile);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�
+     */
+    @ApiOperation("瀵煎嚭渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�")
+    // @PreAuthorize("@ss.hasPermi('system:file:export')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁伴檮浠�", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceTransportFile serviceTransportFile) {
+        List<ServiceTransportFile> list = serviceTransportFileService.queryList(serviceTransportFile);
+        ExcelUtil<ServiceTransportFile> util = new ExcelUtil<ServiceTransportFile>(ServiceTransportFile.class);
+        return util.exportExcel(list, "渚涜�呰浆杩愮櫥璁伴檮浠舵暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇渚涜�呰浆杩愮櫥璁伴檮浠惰缁嗕俊鎭�
+     */
+    @ApiOperation("鑾峰彇渚涜�呰浆杩愮櫥璁伴檮浠惰缁嗕俊鎭�")
+    // @PreAuthorize("@ss.hasPermi('system:file:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(serviceTransportFileService.getById(id));
+    }
+
+    /**
+     * 鏂板渚涜�呰浆杩愮櫥璁伴檮浠�
+     */
+    @ApiOperation("鏂板渚涜�呰浆杩愮櫥璁伴檮浠�")
+    // @PreAuthorize("@ss.hasPermi('system:file:add')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁伴檮浠�", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+//    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceTransportFile serviceTransportFile) {
+        serviceTransportFile.setCreateBy(getNickName());
+        serviceTransportFile.setCreateTime(new Date());
+        return toAjax(serviceTransportFileService.save(serviceTransportFile));
+    }
+
+    /**
+     * 淇敼渚涜�呰浆杩愮櫥璁伴檮浠�
+     */
+    @ApiOperation("淇敼渚涜�呰浆杩愮櫥璁伴檮浠�")
+    // @PreAuthorize("@ss.hasPermi('system:file:edit')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁伴檮浠�", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+//    @RepeatSubmit
+    public AjaxResult edit(@RequestBody ServiceTransportFile serviceTransportFile) {
+        serviceTransportFile.setUpdateBy(getNickName());
+        serviceTransportFile.setUpdateTime(new Date());
+        return toAjax(serviceTransportFileService.updateById(serviceTransportFile));
+    }
+
+    /**
+     * 鍒犻櫎渚涜�呰浆杩愮櫥璁伴檮浠�
+     */
+    @ApiOperation("鍒犻櫎渚涜�呰浆杩愮櫥璁伴檮浠�")
+    // @PreAuthorize("@ss.hasPermi('system:file:remove')")
+    @Log(title = "渚涜�呰浆杩愮櫥璁伴檮浠�", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(serviceTransportFileService.removeByIds(Arrays.asList(ids)));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTravelexpensestandardController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTravelexpensestandardController.java
index ce015a2..fa2024e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTravelexpensestandardController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTravelexpensestandardController.java
@@ -33,7 +33,7 @@
  * @author ruoyi
  * @date 2022-04-26
  */
-@Api("浣忓璐归檺棰濇爣鍑�")
+@Api(description = "浣忓璐归檺棰濇爣鍑�")
 @RestController
 @RequestMapping("/system/travelexpensestandard")
 public class ServiceTravelexpensestandardController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatCaseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatCaseController.java
index 713cfb3..3605e0c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatCaseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatCaseController.java
@@ -54,7 +54,7 @@
  * @date 2022-01-24
  */
 @Slf4j
-@Api("妗堜緥缁熻")
+@Api(description = "妗堜緥缁熻")
 @RestController
 @RequestMapping("/project/spstatcase")
 public class SpStatCaseController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatExpenseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatExpenseController.java
index 2098f7c..a7a1a98 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatExpenseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/SpStatExpenseController.java
@@ -22,7 +22,7 @@
  * @date 2022-01-24
  */
 @Slf4j
-@Api("鎶ラ攢缁熻")
+@Api(description = "鎶ラ攢缁熻")
 @RestController
 @RequestMapping("/project/spstatexpense")
 public class SpStatExpenseController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VDonationworkflowController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VDonationworkflowController.java
index c1e88c2..6b6a173 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VDonationworkflowController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VDonationworkflowController.java
@@ -23,7 +23,7 @@
  * @author ruoyi
  * @date 2024-07-26
  */
-@Api("VIEW")
+@Api(description = "VIEW")
 @RestController
 @RequestMapping("/VDonationworkflow/donationworkflow")
 public class VDonationworkflowController extends BaseController {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeExpertController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeExpertController.java
index 29e533a..dee8e9f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeExpertController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeExpertController.java
@@ -24,7 +24,7 @@
  * @author ruoyi
  * @date 2024-03-18
  */
-@Api("VIEW")
+@Api(description = "VIEW")
 @RestController
 @RequestMapping("/project/feeexpert")
 public class VExpertfeeExpertController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeTotalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeTotalController.java
index cabdfe4..cba1ccd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeTotalController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VExpertfeeTotalController.java
@@ -24,7 +24,7 @@
  * @author ruoyi
  * @date 2024-03-18
  */
-@Api("VIEW")
+@Api(description = "VIEW")
 @RestController
 @RequestMapping("/project/feetotal")
 public class VExpertfeeTotalController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VServiceDonateorganRegisterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VServiceDonateorganRegisterController.java
index d1c91fc..bc89bd3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VServiceDonateorganRegisterController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/VServiceDonateorganRegisterController.java
@@ -31,7 +31,7 @@
  * @author shenjie
  * @date 2021-11-11
  */
-@Api("鍣ㄥ畼鐧昏绠$悊")
+@Api(description = "鍣ㄥ畼鐧昏绠$悊")
 @RestController
 @RequestMapping("/project/register")
 public class VServiceDonateorganRegisterController extends BaseController
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/batchFundTax.puml b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/batchFundTax.puml
deleted file mode 100644
index 4cb92c8..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/batchFundTax.puml
+++ /dev/null
@@ -1,146 +0,0 @@
-@startuml
-!theme plain
-skinparam backgroundColor white
-skinparam defaultFontName Microsoft YaHei
-
-title /batchFundTax 涓氬姟閫昏緫娴佺▼鍥�
-
-start
-
-:鐢ㄦ埛璋冪敤 /batchFundTax 鎺ュ彛;
-:浼犲叆 FundTaxVO 鍙傛暟;
-
-if (fundTaxId 鏄惁涓虹┖?) then (鏄�)
-  :鎶涘嚭寮傚父: "鍒嗘壒绠楃◣鍑洪棶棰樹簡,璇锋鏌ュ悗鍐嶈繘琛岃绠�";
-  stop
-else (鍚�)
-  if (addOrupdate == 1?) then (鏄�)
-    :鑾峰彇鏈�澶� fundTaxId;
-    note right: SQL: SELECT MAX(id) FROM service_fundtax;
-    if (褰撳墠 fundTaxId != 鏈�澶� fundTaxId?) then (鏄�)
-      :鎶涘嚭寮傚父: "璇ユ壒鏁版嵁涓嶈兘绠楃◣";
-      stop
-    else (鍚�)
-      :缁х画鎵ц;
-    endif
-  else (鍚�)
-    :缁х画鎵ц;
-  endif
-endif
-
-:鏍规嵁 fundTaxId 鏌ヨ鎵�鏈� ServiceFund 璁板綍;
-note right: SQL: SELECT * FROM service_fund WHERE fund_tax_id = #{fundTaxId} AND del_flag = 0;
-:閬嶅巻姣忎釜 ServiceFund;
-
-while (杩樻湁 ServiceFund 鏈鐞�?) is (鏄�)
-  :鑾峰彇褰撳墠 ServiceFund 鐨� fundid;
-  :鏍规嵁 fundid 鏌ヨ鎵�鏈� ServiceFunddetail;
-  note right: SQL: SELECT * FROM service_funddetail WHERE fundid = #{fundid};
-  
-  while (杩樻湁 ServiceFunddetail 鏈鐞�?) is (鏄�)
-    :鑾峰彇褰撳墠 ServiceFunddetail;
-    
-    if (韬唤璇佸彿鏄惁涓虹┖?) then (鏄�)
-      if (servicesscopename 鍖呭惈"绋庡悗"?) then (鏄�)
-        :璁剧疆 amount = taxedamount;
-      else (鍚�)
-        :璁剧疆 taxedamount = amount;
-      endif
-      :璁剧疆 taxamount = 0;
-      :鏇存柊鏁版嵁搴�;
-      note right: SQL: UPDATE service_funddetail SET amount=#{amount}, taxedamount=#{taxedamount}, taxamount=0 WHERE id=#{id};
-      :绱姞 pretaxcost 鍜� taxedcost;
-    else (鍚�)
-      :鑾峰彇褰撴湀绗竴澶�;
-      :鏌ヨ璇ヨ韩浠借瘉鍙锋湰鏈堟渶澶у簭鍙�;
-      note right: SQL: SELECT MAX(xh) FROM service_funddetail WHERE idcardno = #{idcardno} AND tax_time >= #{firstDay} AND tax_time <= #{taxTime};
-      :璁剧疆搴忓彿;
-      
-      :鏌ヨ璇ヨ韩浠借瘉鍙锋湰鏈堢疮璁$◣鍓嶃�佺◣閲戙�佺◣鍚�;
-      note right: SQL: SELECT SUM(amount) as amounts, SUM(taxamount) as taxAmounts, SUM(taxedamount) as taxedAmounts FROM service_funddetail a LEFT JOIN service_fund b ON a.fundid = b.id WHERE a.idcardno = #{idcardno} AND a.tax_time >= #{firstDay} AND a.tax_time <= #{taxTime} AND a.xh < #{xh} AND b.fundtaxtime <= #{fundtaxtime};
-      
-      if (temporarySave 涓湁鐩稿悓韬唤璇佸彿?) then (鏄�)
-        :绱姞涓存椂淇濆瓨鐨勬暟鎹埌 taxSum;
-      endif
-      
-      if (servicesscopename 鍖呭惈"绋庡悗"?) then (鏄�)
-        :绋庡悗绠楃◣閫昏緫;
-        :璁$畻鏈绋庡墠閲戦;
-        :璁$畻鏈绋庨噾;
-      else (鍚�)
-        :绋庡墠绠楃◣閫昏緫;
-        :璁$畻鏈绋庨噾;
-        :璁$畻鏈绋庡悗閲戦;
-      endif
-      
-      :璁剧疆绠楃◣鏃堕棿;
-      :鏇存柊鏁版嵁搴�;
-      note right: SQL: UPDATE service_funddetail SET amount=#{amount}, taxamount=#{taxamount}, taxedamount=#{taxedamount}, tax_time=#{taxTime}, xh=#{xh} WHERE id=#{id};
-      :绱姞 pretaxcost 鍜� taxedcost;
-      :娣诲姞鍒� temporarySave;
-    endif
-  endwhile (鍚�)
-endwhile (鍚�)
-
-:鏇存柊 ServiceFund 琛�;
-note right: SQL: UPDATE service_fund SET pretaxcost=#{pretaxcost}, taxedcost=#{taxedcost}, fundtaxtime=#{fundtaxtime}, istax=1 WHERE id=#{id};
-:璁剧疆 pretaxcost 鍜� taxedcost;
-:璁剧疆 fundtaxtime;
-:璁剧疆 istax = 1;
-
-:杩斿洖鎴愬姛;
-
-stop
-
-@enduml
-
-'涓昏SQL璇彞璇存槑锛�
-
--- 1. 鑾峰彇鏈�澶undTaxId
-SELECT MAX(id) FROM service_fundtax;
-
--- 2. 鏍规嵁fundTaxId鏌ヨServiceFund璁板綍
-SELECT * FROM service_fund 
-WHERE fund_tax_id = #{fundTaxId} AND del_flag = 0;
-
--- 3. 鏍规嵁fundid鏌ヨServiceFunddetail璁板綍
-SELECT * FROM service_funddetail 
-WHERE fundid = #{fundid};
-
--- 4. 鏌ヨ璇ヨ韩浠借瘉鍙锋湰鏈堟渶澶у簭鍙�
-SELECT MAX(xh) FROM service_funddetail 
-WHERE idcardno = #{idcardno} 
-  AND tax_time >= #{firstDay} 
-  AND tax_time <= #{taxTime};
-
--- 5. 鏌ヨ璇ヨ韩浠借瘉鍙锋湰鏈堢疮璁$◣鍓嶃�佺◣閲戙�佺◣鍚庯紙涓嶅寘鍚湰娆★級
-SELECT 
-    SUM(amount) as amounts, 
-    SUM(taxamount) as taxAmounts, 
-    SUM(taxedamount) as taxedAmounts
-FROM service_funddetail a
-LEFT JOIN service_fund b ON a.fundid = b.id
-WHERE a.idcardno = #{idcardno}
-  AND a.tax_time >= #{firstDay}
-  AND a.tax_time <= #{taxTime}
-  AND a.xh < #{xh}
-  AND b.fundtaxtime <= #{fundtaxtime};
-
--- 6. 鏇存柊ServiceFunddetail璁板綍
-UPDATE service_funddetail 
-SET 
-    amount = #{amount},
-    taxamount = #{taxamount},
-    taxedamount = #{taxedamount},
-    tax_time = #{taxTime},
-    xh = #{xh}
-WHERE id = #{id};
-
--- 7. 鏇存柊ServiceFund璁板綍
-UPDATE service_fund 
-SET 
-    pretaxcost = #{pretaxcost},
-    taxedcost = #{taxedcost},
-    fundtaxtime = #{fundtaxtime},
-    istax = 1
-WHERE id = #{id}; 
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index ec1e049..38cc839 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -36,7 +36,7 @@
  * @author ruoyi
  */
 @Slf4j
-@Api("鐢ㄦ埛鐧诲綍")
+@Api(description = "鐢ㄦ埛鐧诲綍")
 @RestController
 public class SysLoginController {
     @Autowired
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
index 3361ef9..d6fcb53 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
@@ -27,7 +27,7 @@
  * 
  * @author ruoyi
  */
-@Api("鐢ㄦ埛淇℃伅绠$悊")
+@Api(description = "鐢ㄦ埛淇℃伅绠$悊")
 @RestController
 @RequestMapping("/test/user")
 public class TestController extends BaseController
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index be357fe..3aeb86a 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -7,10 +7,7 @@
       # 涓诲簱鏁版嵁婧�
       master:
         # 寮�鍙戠幆澧�
-        #        url: jdbc:mysql://116.62.18.175:6002/opo?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
-        #        username: opo
-        #        password: Smartor.2023
-        url: jdbc:mysql://haiershi.a1.luyouxia.net:23844/opo?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
+        url: jdbc:mysql://haiershi.a1.luyouxia.net:23844/opo-qd?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
         username: smartor
         password: Smartor.2023
 
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 6d46c20..67df68c 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -53,7 +53,7 @@
     # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
     basename: i18n/messages
   profiles:
-    active: srm
+    active: druid
   # 鏂囦欢涓婁紶
   servlet:
     multipart:
@@ -102,15 +102,15 @@
 
 
 # PageHelper鍒嗛〉鎻掍欢
-pagehelper:
-  helperDialect: mysql
-  supportMethodsArguments: true
-  params: count=countSql
+#pagehelper:
+#  helperDialect: mysql
+#  supportMethodsArguments: true
+#  params: count=countSql
 
 # Swagger閰嶇疆
 swagger:
   # 鏄惁寮�鍚痵wagger
-  enabled: false
+  enabled: true
   # 璇锋眰鍓嶇紑
   pathMapping: /
 
diff --git a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml b/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
index ac47c03..26f535f 100644
--- a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
+++ b/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
@@ -12,9 +12,9 @@
         <!-- 閰嶇疆榛樿鐨勬墽琛屽櫒.SIMPLE灏辨槸鏅�氭墽琛屽櫒;REUSE鎵ц鍣ㄤ細閲嶇敤棰勫鐞嗚鍙�(prepared statements);BATCH鎵ц鍣ㄥ皢閲嶇敤璇彞骞舵墽琛屾壒閲忔洿鏂� -->
         <setting name="defaultExecutorType"      value="SIMPLE" />
 		<!-- 鎸囧畾 MyBatis 鎵�鐢ㄦ棩蹇楃殑鍏蜂綋瀹炵幇 -->
-        <setting name="logImpl"                  value="SLF4J"  />
+<!--        <setting name="logImpl"                  value="SLF4J"  />-->
         <!-- 浣跨敤椹煎嘲鍛藉悕娉曡浆鎹㈠瓧娈� -->
 		<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
 	</settings>
-	
+
 </configuration>
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
index fdc90ae..3187b92 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
@@ -2,7 +2,10 @@
 
 import java.beans.PropertyEditorSupport;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.WebDataBinder;
@@ -22,25 +25,21 @@
 
 /**
  * web灞傞�氱敤鏁版嵁澶勭悊
- * 
+ *
  * @author ruoyi
  */
-public class BaseController
-{
+public class BaseController {
     protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     /**
      * 灏嗗墠鍙颁紶閫掕繃鏉ョ殑鏃ユ湡鏍煎紡鐨勫瓧绗︿覆锛岃嚜鍔ㄨ浆鍖栦负Date绫诲瀷
      */
     @InitBinder
-    public void initBinder(WebDataBinder binder)
-    {
+    public void initBinder(WebDataBinder binder) {
         // Date 绫诲瀷杞崲
-        binder.registerCustomEditor(Date.class, new PropertyEditorSupport()
-        {
+        binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
             @Override
-            public void setAsText(String text)
-            {
+            public void setAsText(String text) {
                 setValue(DateUtils.parseDate(text));
             }
         });
@@ -49,13 +48,11 @@
     /**
      * 璁剧疆璇锋眰鍒嗛〉鏁版嵁
      */
-    protected void startPage()
-    {
+    protected void startPage() {
         PageDomain pageDomain = TableSupport.buildPageRequest();
         Integer pageNum = pageDomain.getPageNum();
         Integer pageSize = pageDomain.getPageSize();
-        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
-        {
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
             String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
             Boolean reasonable = pageDomain.getReasonable();
             PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
@@ -66,11 +63,9 @@
     /**
      * 璁剧疆璇锋眰鎺掑簭鏁版嵁
      */
-    protected void startOrderBy()
-    {
+    protected void startOrderBy() {
         PageDomain pageDomain = TableSupport.buildPageRequest();
-        if (StringUtils.isNotEmpty(pageDomain.getOrderBy()))
-        {
+        if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) {
             String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
             PageHelper.orderBy(orderBy);
         }
@@ -79,9 +74,8 @@
     /**
      * 鍝嶅簲璇锋眰鍒嗛〉鏁版嵁
      */
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    protected TableDataInfo getDataTable(List<?> list)
-    {
+    @SuppressWarnings({"rawtypes", "unchecked"})
+    protected TableDataInfo getDataTable(List<?> list) {
         TableDataInfo rspData = new TableDataInfo();
         rspData.setCode(HttpStatus.SUCCESS);
         rspData.setMsg("鏌ヨ鎴愬姛");
@@ -90,12 +84,20 @@
         return rspData;
     }
 
+    protected Map<String, Object> getDataTable(Object object,Integer total) {
+        Map<String, Object> rspData = new HashMap<>();
+        rspData.put("code", HttpStatus.SUCCESS);
+        rspData.put("msg", "鏌ヨ鎴愬姛");
+        rspData.put("data", object);
+        rspData.put("total", total);
+        return rspData;
+    }
+
     /**
      * 鍝嶅簲璇锋眰鍒嗛〉鏁版嵁
      */
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    protected TableDataInfo getDataTable2(List<?> list,List<?> list2)
-    {
+    @SuppressWarnings({"rawtypes", "unchecked"})
+    protected TableDataInfo getDataTable2(List<?> list, List<?> list2) {
         TableDataInfo rspData = new TableDataInfo();
         rspData.setCode(HttpStatus.SUCCESS);
         rspData.setMsg("鏌ヨ鎴愬姛");
@@ -107,9 +109,8 @@
     /**
      * 鍝嶅簲鎵归噺淇濆瓨鏁版嵁
      */
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    protected TableDataInfo saveDataTable(List<?> list)
-    {
+    @SuppressWarnings({"rawtypes", "unchecked"})
+    protected TableDataInfo saveDataTable(List<?> list) {
         TableDataInfo rspData = new TableDataInfo();
         rspData.setCode(HttpStatus.SUCCESS);
         rspData.setMsg("淇濆瓨鎴愬姛");
@@ -122,14 +123,13 @@
     /**
      * 鍝嶅簲璇锋眰鍒嗛〉鏁版嵁
      */
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    protected TableDataInfo getCustomDataTable(List<?> list,Integer pageNum,Integer pageSize)
-    {
-        int size=list.size();
-        int pageStart=pageNum==1?0:(pageNum-1)*pageSize;//鎴彇鐨勫紑濮嬩綅缃�
-        int pageEnd=size<pageNum*pageSize?size:pageNum*pageSize;//鎴彇鐨勭粨鏉熶綅缃�
-        if(size>pageStart){
-            list =list.subList(pageStart, pageEnd);
+    @SuppressWarnings({"rawtypes", "unchecked"})
+    protected TableDataInfo getCustomDataTable(List<?> list, Integer pageNum, Integer pageSize) {
+        int size = list.size();
+        int pageStart = pageNum == 1 ? 0 : (pageNum - 1) * pageSize;//鎴彇鐨勫紑濮嬩綅缃�
+        int pageEnd = size < pageNum * pageSize ? size : pageNum * pageSize;//鎴彇鐨勭粨鏉熶綅缃�
+        if (size > pageStart) {
+            list = list.subList(pageStart, pageEnd);
         }
 
         TableDataInfo rspData = new TableDataInfo();
@@ -143,94 +143,90 @@
     /**
      * 杩斿洖鎴愬姛
      */
-    public AjaxResult success()
-    {
+    public AjaxResult success() {
         return AjaxResult.success();
     }
 
     /**
      * 杩斿洖澶辫触娑堟伅
      */
-    public AjaxResult error()
-    {
+    public AjaxResult error() {
         return AjaxResult.error();
     }
 
     /**
      * 杩斿洖鎴愬姛娑堟伅
      */
-    public AjaxResult success(String message)
-    {
+    public AjaxResult success(String message) {
         return AjaxResult.success(message);
     }
 
     /**
      * 杩斿洖澶辫触娑堟伅
      */
-    public AjaxResult error(String message)
-    {
+    public AjaxResult error(String message) {
         return AjaxResult.error(message);
     }
 
     /**
      * 鍝嶅簲杩斿洖缁撴灉
-     * 
+     *
      * @param rows 褰卞搷琛屾暟
      * @return 鎿嶄綔缁撴灉
      */
-    protected AjaxResult toAjax(int rows)
-    {
+    protected AjaxResult toAjax(int rows) {
         return rows > 0 ? AjaxResult.success() : AjaxResult.error();
     }
 
     /**
      * 鍝嶅簲杩斿洖缁撴灉
-     * 
+     *
      * @param result 缁撴灉
      * @return 鎿嶄綔缁撴灉
      */
-    protected AjaxResult toAjax(boolean result)
-    {
+    protected AjaxResult toAjax(boolean result) {
         return result ? success() : error();
     }
 
     /**
      * 椤甸潰璺宠浆
      */
-    public String redirect(String url)
-    {
+    public String redirect(String url) {
         return StringUtils.format("redirect:{}", url);
     }
 
     /**
      * 鑾峰彇鐢ㄦ埛缂撳瓨淇℃伅
      */
-    public LoginUser getLoginUser()
-    {
+    public LoginUser getLoginUser() {
         return SecurityUtils.getLoginUser();
     }
 
     /**
      * 鑾峰彇鐧诲綍鐢ㄦ埛id
      */
-    public Long getUserId()
-    {
+    public Long getUserId() {
         return getLoginUser().getUserId();
     }
 
     /**
      * 鑾峰彇鐧诲綍閮ㄩ棬id
      */
-    public Long getDeptId()
-    {
+    public Long getDeptId() {
         return getLoginUser().getDeptId();
     }
 
     /**
      * 鑾峰彇鐧诲綍鐢ㄦ埛鍚�
      */
-    public String getUsername()
-    {
+    public String getUsername() {
         return getLoginUser().getUsername();
     }
+
+    /**
+     * 鑾峰彇褰撳墠鐧婚檰鐢ㄦ埛
+     */
+    public String getNickName() {
+        return getLoginUser().getUser().getNickName();
+    }
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
index 7e90cea..207882e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
@@ -9,12 +9,13 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
  * Entity鍩虹被
- * 
+ *
  * @author ruoyi
  */
 @Data
@@ -57,7 +58,24 @@
     /** 鐘舵�侊紙0姝e父 1鍒犻櫎锛� */
     @ApiModelProperty("鐘舵�侊紙0姝e父 1鍒犻櫎锛�")
     @TableLogic
-    private Integer del_flag;
+    private Integer delFlag;
+
+    /**
+     * pageNum
+     */
+    @Excel(name = "pageNum")
+    @ApiModelProperty(value = "pageNum")
+    @TableField(exist = false)
+    private Integer pageNum;
+
+    /**
+     * pageSize
+     */
+    @Excel(name = "pageSize")
+    @ApiModelProperty(value = "pageSize")
+    @TableField(exist = false)
+    private Integer pageSize;
+
 
     /** 璇锋眰鍙傛暟 */
     @ApiModelProperty("璇锋眰鍙傛暟")
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
index c9238e2..b32a524 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -5,198 +5,183 @@
 import javax.validation.constraints.Email;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
  * 閮ㄩ棬琛� sys_dept
- * 
+ *
  * @author ruoyi
  */
-public class SysDept extends BaseEntity
-{
+public class SysDept extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 閮ㄩ棬ID */
+    /**
+     * 閮ㄩ棬ID
+     */
     private Long deptId;
 
-    /** 鐖堕儴闂↖D */
+    /**
+     * 鐖堕儴闂↖D
+     */
     private Long parentId;
 
-    /** 绁栫骇鍒楄〃 */
+    /**
+     * 绁栫骇鍒楄〃
+     */
     private String ancestors;
 
-    /** 閮ㄩ棬鍚嶇О */
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
     private String deptName;
 
-    /** 鏄剧ず椤哄簭 */
+    /**
+     * 鏄剧ず椤哄簭
+     */
     private String orderNum;
 
-    /** 璐熻矗浜� */
+    /**
+     * 璐熻矗浜�
+     */
     private String leader;
 
-    /** 鑱旂郴鐢佃瘽 */
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
     private String phone;
 
-    /** 閭 */
+    /**
+     * 閭
+     */
     private String email;
 
-    /** 閮ㄩ棬鐘舵��:0姝e父,1鍋滅敤 */
+    /**
+     * 閮ㄩ棬鐘舵��:0姝e父,1鍋滅敤
+     */
     private String status;
 
-    /** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
-    private String delFlag;
+    /**
+     * 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�
+     */
+    private Integer delFlag;
 
-    /** 鐖堕儴闂ㄥ悕绉� */
+    /**
+     * 鐖堕儴闂ㄥ悕绉�
+     */
     private String parentName;
-    
-    /** 瀛愰儴闂� */
+
+    /**
+     * 瀛愰儴闂�
+     */
     private List<SysDept> children = new ArrayList<SysDept>();
 
-    public Long getDeptId()
-    {
+    public Long getDeptId() {
         return deptId;
     }
 
-    public void setDeptId(Long deptId)
-    {
+    public void setDeptId(Long deptId) {
         this.deptId = deptId;
     }
 
-    public Long getParentId()
-    {
+    public Long getParentId() {
         return parentId;
     }
 
-    public void setParentId(Long parentId)
-    {
+    public void setParentId(Long parentId) {
         this.parentId = parentId;
     }
 
-    public String getAncestors()
-    {
+    public String getAncestors() {
         return ancestors;
     }
 
-    public void setAncestors(String ancestors)
-    {
+    public void setAncestors(String ancestors) {
         this.ancestors = ancestors;
     }
 
     @NotBlank(message = "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖")
     @Size(min = 0, max = 30, message = "閮ㄩ棬鍚嶇О闀垮害涓嶈兘瓒呰繃30涓瓧绗�")
-    public String getDeptName()
-    {
+    public String getDeptName() {
         return deptName;
     }
 
-    public void setDeptName(String deptName)
-    {
+    public void setDeptName(String deptName) {
         this.deptName = deptName;
     }
 
     @NotBlank(message = "鏄剧ず椤哄簭涓嶈兘涓虹┖")
-    public String getOrderNum()
-    {
+    public String getOrderNum() {
         return orderNum;
     }
 
-    public void setOrderNum(String orderNum)
-    {
+    public void setOrderNum(String orderNum) {
         this.orderNum = orderNum;
     }
 
-    public String getLeader()
-    {
+    public String getLeader() {
         return leader;
     }
 
-    public void setLeader(String leader)
-    {
+    public void setLeader(String leader) {
         this.leader = leader;
     }
 
     @Size(min = 0, max = 11, message = "鑱旂郴鐢佃瘽闀垮害涓嶈兘瓒呰繃11涓瓧绗�")
-    public String getPhone()
-    {
+    public String getPhone() {
         return phone;
     }
 
-    public void setPhone(String phone)
-    {
+    public void setPhone(String phone) {
         this.phone = phone;
     }
 
     @Email(message = "閭鏍煎紡涓嶆纭�")
     @Size(min = 0, max = 50, message = "閭闀垮害涓嶈兘瓒呰繃50涓瓧绗�")
-    public String getEmail()
-    {
+    public String getEmail() {
         return email;
     }
 
-    public void setEmail(String email)
-    {
+    public void setEmail(String email) {
         this.email = email;
     }
 
-    public String getStatus()
-    {
+    public String getStatus() {
         return status;
     }
 
-    public void setStatus(String status)
-    {
+    public void setStatus(String status) {
         this.status = status;
     }
 
-    public String getDelFlag()
-    {
+    public Integer getDelFlag() {
         return delFlag;
     }
 
-    public void setDelFlag(String delFlag)
-    {
+    public void setDelFlag(Integer delFlag) {
         this.delFlag = delFlag;
     }
 
-    public String getParentName()
-    {
+    public String getParentName() {
         return parentName;
     }
 
-    public void setParentName(String parentName)
-    {
+    public void setParentName(String parentName) {
         this.parentName = parentName;
     }
 
-    public List<SysDept> getChildren()
-    {
+    public List<SysDept> getChildren() {
         return children;
     }
 
-    public void setChildren(List<SysDept> children)
-    {
+    public void setChildren(List<SysDept> children) {
         this.children = children;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("deptId", getDeptId())
-            .append("parentId", getParentId())
-            .append("ancestors", getAncestors())
-            .append("deptName", getDeptName())
-            .append("orderNum", getOrderNum())
-            .append("leader", getLeader())
-            .append("phone", getPhone())
-            .append("email", getEmail())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("deptId", getDeptId()).append("parentId", getParentId()).append("ancestors", getAncestors()).append("deptName", getDeptName()).append("orderNum", getOrderNum()).append("leader", getLeader()).append("phone", getPhone()).append("email", getEmail()).append("status", getStatus()).append("delFlag", getDelFlag()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).toString();
     }
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
index 36629eb..deb94b8 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
@@ -10,7 +10,7 @@
 
 /**
  * 瑙掕壊琛� sys_role
- * 
+ *
  * @author ruoyi
  */
 public class SysRole extends BaseEntity
@@ -48,7 +48,7 @@
     private String status;
 
     /** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
-    private String delFlag;
+    private Integer delFlag;
 
     /** 鐢ㄦ埛鏄惁瀛樺湪姝よ鑹叉爣璇� 榛樿涓嶅瓨鍦� */
     private boolean flag = false;
@@ -164,12 +164,12 @@
         this.status = status;
     }
 
-    public String getDelFlag()
+    public Integer getDelFlag()
     {
         return delFlag;
     }
 
-    public void setDelFlag(String delFlag)
+    public void setDelFlag(Integer delFlag)
     {
         this.delFlag = delFlag;
     }
@@ -203,7 +203,7 @@
     {
         this.deptIds = deptIds;
     }
-    
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index 8984cc4..017b8ba 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -98,7 +98,7 @@
     /**
      * 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�
      */
-    private String delFlag;
+    private Integer delFlag;
 
     /**
      * 鏈�鍚庣櫥褰旾P
@@ -312,11 +312,11 @@
         this.status = status;
     }
 
-    public String getDelFlag() {
+    public Integer getDelFlag() {
         return delFlag;
     }
 
-    public void setDelFlag(String delFlag) {
+    public void setDelFlag(Integer delFlag) {
         this.delFlag = delFlag;
     }
 
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
index 523258e..b8b1fda 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -25,8 +25,7 @@
  * @author ruoyi
  */
 @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
-public class SecurityConfig extends WebSecurityConfigurerAdapter
-{
+public class SecurityConfig extends WebSecurityConfigurerAdapter {
     /**
      * 鑷畾涔夌敤鎴疯璇侀�昏緫
      */
@@ -60,6 +59,7 @@
 
     @Autowired
     private WxOpenIDAuthenticationSecurityConfig wxOpenIDAuthenticationSecurityConfig;
+
     /**
      * 瑙e喅 鏃犳硶鐩存帴娉ㄥ叆 AuthenticationManager
      *
@@ -68,8 +68,7 @@
      */
     @Bean
     @Override
-    public AuthenticationManager authenticationManagerBean() throws Exception
-    {
+    public AuthenticationManager authenticationManagerBean() throws Exception {
         return super.authenticationManagerBean();
     }
 
@@ -89,8 +88,7 @@
      * authenticated       |   鐢ㄦ埛鐧诲綍鍚庡彲璁块棶
      */
     @Override
-    protected void configure(HttpSecurity httpSecurity) throws Exception
-    {
+    protected void configure(HttpSecurity httpSecurity) throws Exception {
         httpSecurity
                 //寰俊openid娉ㄥ叆
                 .apply(wxOpenIDAuthenticationSecurityConfig).and()
@@ -103,20 +101,20 @@
                 // 杩囨护璇锋眰
                 .authorizeRequests()
                 // 瀵逛簬鐧诲綍login 娉ㄥ唽register 楠岃瘉鐮乧aptchaImage 鍏佽鍖垮悕璁块棶
-                .antMatchers("/login","/openidlogin", "/register", "/captchaImage", "/getToken").anonymous()
+                .antMatchers("/login", "/openidlogin", "/register", "/captchaImage", "/getToken").anonymous()
                 .antMatchers(
                         HttpMethod.GET,
                         "/",
                         "/*.html",
                         "/**/*.html",
                         "/**/*.css",
-                        "/**/*.js"
-//                        "/profile/**"
+                        "/**/*.js",
+                        "/profile/**"
                 ).permitAll()
-//                .antMatchers("/swagger-ui.html").anonymous()
-//                .antMatchers("/swagger-resources/**").anonymous()
-//                .antMatchers("/webjars/**").anonymous()
-//                .antMatchers("/*/api-docs").anonymous()
+                .antMatchers("/swagger-ui.html").permitAll()
+                .antMatchers("/swagger-resources/**").permitAll()
+                .antMatchers("/webjars/**").permitAll()
+                .antMatchers("/*/api-docs").permitAll()
 //                .antMatchers("/druid/**").anonymous()
                 // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇�
                 .anyRequest().authenticated()
@@ -134,8 +132,7 @@
      * 寮烘暎鍒楀搱甯屽姞瀵嗗疄鐜�
      */
     @Bean
-    public BCryptPasswordEncoder bCryptPasswordEncoder()
-    {
+    public BCryptPasswordEncoder bCryptPasswordEncoder() {
         return new BCryptPasswordEncoder();
     }
 
@@ -143,8 +140,7 @@
      * 韬唤璁よ瘉鎺ュ彛
      */
     @Override
-    protected void configure(AuthenticationManagerBuilder auth) throws Exception
-    {
+    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
         auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
     }
 }
diff --git a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
index 7381569..65f948c 100644
--- a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
@@ -33,7 +33,7 @@
  * @author ${author}
  * @date ${datetime}
  */
-@Api("${functionName}")
+@Api(description = "${functionName}")
 @RestController
 @RequestMapping("/${moduleName}/${businessName}")
 public class ${ClassName}Controller extends BaseController
@@ -46,7 +46,7 @@
      */
     @ApiOperation("鏌ヨ${functionName}鍒楄〃")
     // @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
-    @GetMapping("/list")
+    @PostMapping("/list")
 #if($table.crud || $table.sub)
     public TableDataInfo list(${ClassName} ${className})
     {
@@ -81,7 +81,7 @@
      */
     @ApiOperation("鑾峰彇${functionName}璇︾粏淇℃伅")
     // @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
-    @GetMapping(value = "/{${pkColumn.javaField}}")
+    @GetMapping(value = "/getInfo/{${pkColumn.javaField}}")
     public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
     {
         return AjaxResult.success(${className}Service.getById(${pkColumn.javaField}));
@@ -93,7 +93,7 @@
     @ApiOperation("鏂板${functionName}")
     // @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
     @Log(title = "${functionName}", businessType = BusinessType.INSERT)
-    @PostMapping
+    @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ${ClassName} ${className})
     {
@@ -106,7 +106,7 @@
     @ApiOperation("淇敼${functionName}")
     // @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
     @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
-    @PutMapping
+    @PostMapping("/edit")
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ${ClassName} ${className})
     {
@@ -119,7 +119,7 @@
     @ApiOperation("鍒犻櫎${functionName}")
     // @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
     @Log(title = "${functionName}", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{${pkColumn.javaField}s}")
+    @GetMapping("/remove/{${pkColumn.javaField}s}")
     public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s)
     {
         return toAjax(${className}Service.removeByIds(Arrays.asList(${pkColumn.javaField}s)));
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java b/ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java
new file mode 100644
index 0000000..9fbd0b0
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/common/IdGeneratorUtils.java
@@ -0,0 +1,42 @@
+package com.ruoyi.project.common;
+
+public class IdGeneratorUtils {
+    // 鏃堕棿鎴冲乏绉荤殑浣嶆暟锛�22浣嶇粰璁℃暟鍣級
+    private static final long TIMESTAMP_SHIFT = 22;
+    private static final long COUNTER_BITS = 22L;
+    private static final long MAX_COUNTER = (1L << COUNTER_BITS) - 1;
+
+    private static long lastTimestamp = -1L;
+    private static long counter = 0L;
+
+    public synchronized static long nextId() {
+        long timestamp = System.currentTimeMillis();
+
+        if (timestamp < lastTimestamp) {
+            throw new RuntimeException("Clock moved backwards");
+        }
+
+        if (timestamp == lastTimestamp) {
+            counter = (counter + 1) & MAX_COUNTER;
+            if (counter == 0) {
+                // 鍚屼竴姣鍐呰鏁板櫒鐢ㄥ畬锛岀瓑寰呬笅涓�姣
+                timestamp = waitNextMillis(lastTimestamp);
+            }
+        } else {
+            counter = 0L;
+        }
+
+        lastTimestamp = timestamp;
+
+        return ((timestamp) << TIMESTAMP_SHIFT) | counter;
+    }
+
+    private static long waitNextMillis(long lastTimestamp) {
+        long timestamp = System.currentTimeMillis();
+        while (timestamp <= lastTimestamp) {
+            timestamp = System.currentTimeMillis();
+        }
+        return timestamp;
+    }
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/BaseAnnextype.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/BaseAnnextype.java
index b30a970..550aec7 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/BaseAnnextype.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/BaseAnnextype.java
@@ -10,7 +10,7 @@
 
 /**
  * 鎹愮尞闄勪欢瀵硅薄 base_annextype
- * 
+ *
  * @author ruoyi
  * @date 2023-11-10
  */
@@ -51,5 +51,11 @@
     @Excel(name = "搴忓彿")
     private Long seqno;
 
+    /** 妗堜緥缂栧彿 */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateannex.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateannex.java
index 896d92b..a4c7ee4 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateannex.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateannex.java
@@ -76,5 +76,9 @@
     @ApiModelProperty("闄勪欢绫诲瀷")
     private Integer delFlag;
 
+    /** 妗堜緥缂栧彿 */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java
index 15e5803..38bb14c 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java
@@ -33,6 +33,14 @@
     private Long id;
 
     /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+
+    /**
      * 濮撳悕
      */
     @ApiModelProperty("濮撳悕")
@@ -52,6 +60,12 @@
     private Long idcardtype;
 
     /**
+     * 妗堜緥涓婃姤ID
+     */
+    @ApiModelProperty("妗堜緥涓婃姤ID")
+    private Long reportId;
+
+    /**
      * 璇佷欢鍙风爜
      */
     @ApiModelProperty("璇佷欢鍙风爜")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReport.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReport.java
new file mode 100644
index 0000000..3224b47
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReport.java
@@ -0,0 +1,393 @@
+package com.ruoyi.project.domain;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 鎹愮尞涓婃姤鍩虹瀵硅薄 service_donatebaseinfo_report
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Data
+@ApiModel("鎹愮尞涓婃姤鍩虹")
+public class ServiceDonatebaseinfoReport extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+    /**
+     * 濮撳悕
+     */
+    @ApiModelProperty("濮撳悕")
+    @Excel(name = "濮撳悕")
+    private String name;
+
+    /**
+     * 鎬у埆 鏍规嵁瀛楀吀sys_user_sex
+     */
+    @ApiModelProperty("鎬у埆 鏍规嵁瀛楀吀sys_user_sex")
+    @Excel(name = "鎬у埆 鏍规嵁瀛楀吀sys_user_sex")
+    private String sex;
+
+    /**
+     * 璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType
+     */
+    @ApiModelProperty("璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType")
+    @Excel(name = "璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType")
+    private Long idcardtype;
+
+    /**
+     * 璇佷欢鍙风爜
+     */
+    @ApiModelProperty("璇佷欢鍙风爜")
+    @Excel(name = "璇佷欢鍙风爜")
+    private String idcardno;
+
+    /**
+     * 骞撮緞
+     */
+    @ApiModelProperty("骞撮緞")
+    @Excel(name = "骞撮緞")
+    private Long age;
+
+    /**
+     * 骞撮緞鍗曚綅 鏍规嵁瀛楀吀sys_AgeUnit
+     */
+    @ApiModelProperty("骞撮緞鍗曚綅 鏍规嵁瀛楀吀sys_AgeUnit")
+    @Excel(name = "骞撮緞鍗曚綅 鏍规嵁瀛楀吀sys_AgeUnit")
+    private String ageunit;
+
+    /**
+     * 鍑虹敓鏃ユ湡
+     */
+    @ApiModelProperty("鍑虹敓鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍑虹敓鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date birthday;
+
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
+    @ApiModelProperty("鑱旂郴鐢佃瘽")
+    @Excel(name = "鑱旂郴鐢佃瘽")
+    private String phone;
+
+    /**
+     * 鍥界睄
+     */
+    @ApiModelProperty("鍥界睄")
+    @Excel(name = "鍥界睄")
+    private String nationality;
+
+    /**
+     * 绫嶈疮
+     */
+    @ApiModelProperty("绫嶈疮")
+    @Excel(name = "绫嶈疮")
+    private String nativeplace;
+
+    /**
+     * 姘戞棌 鏍规嵁瀛楀吀sys_nation
+     */
+    @ApiModelProperty("姘戞棌 鏍规嵁瀛楀吀sys_nation")
+    @Excel(name = "姘戞棌 鏍规嵁瀛楀吀sys_nation")
+    private String nation;
+
+    /**
+     * 鑱屼笟 鏍规嵁瀛楀吀sys_occupation
+     */
+    @ApiModelProperty("鑱屼笟 鏍规嵁瀛楀吀sys_occupation")
+    @Excel(name = "鑱屼笟 鏍规嵁瀛楀吀sys_occupation")
+    private String occupation;
+
+    /**
+     * 瀛﹀巻 鏍规嵁瀛楀吀sys_education
+     */
+    @ApiModelProperty("瀛﹀巻 鏍规嵁瀛楀吀sys_education")
+    @Excel(name = "瀛﹀巻 鏍规嵁瀛楀吀sys_education")
+    private String education;
+
+    /**
+     * 鐜颁綇鍦板潃
+     */
+    @ApiModelProperty("鐜颁綇鍦板潃")
+    @Excel(name = "鐜颁綇鍦板潃")
+    private String residenceaddress;
+
+    /**
+     * 鐜颁綇鍦板潃鐪佷唬鐮�
+     */
+    @ApiModelProperty("鐜颁綇鍦板潃鐪佷唬鐮�")
+    @Excel(name = "鐜颁綇鍦板潃鐪佷唬鐮�")
+    private String residenceprovince;
+
+    /**
+     * 鐜颁綇鍦板潃鐪佸悕绉�
+     */
+    @ApiModelProperty("鐜颁綇鍦板潃鐪佸悕绉�")
+    @Excel(name = "鐜颁綇鍦板潃鐪佸悕绉�")
+    private String residenceprovincename;
+
+    /**
+     * 鎵�灞炶閬擄紙闀囷級鍚嶇О
+     */
+    @ApiModelProperty("鎵�灞炶閬擄紙闀囷級鍚嶇О")
+    @Excel(name = "鎵�灞炶閬�", readConverterExp = "闀�=")
+    private String residencetownname;
+
+    /**
+     * 绀惧尯锛堟潙锛夌紪鍙� 鏍规嵁琛屾斂鍖哄垝琛�
+     */
+    @ApiModelProperty("绀惧尯锛堟潙锛夌紪鍙� 鏍规嵁琛屾斂鍖哄垝琛�")
+    @Excel(name = "绀惧尯", readConverterExp = "鏉�=")
+    private String residencecommunity;
+
+    /**
+     * 绀惧尯锛堟潙锛夊悕绉�
+     */
+    @ApiModelProperty("绀惧尯锛堟潙锛夊悕绉�")
+    @Excel(name = "绀惧尯", readConverterExp = "鏉�=")
+    private String residencecommunityname;
+
+    /**
+     * 鎵�灞炲尯鍩熺紪鍙�  鏍规嵁琛屾斂鍖哄垝琛�
+     */
+    @ApiModelProperty("鎵�灞炲尯鍩熺紪鍙�  鏍规嵁琛屾斂鍖哄垝琛�")
+    @Excel(name = "鎵�灞炲尯鍩熺紪鍙�  鏍规嵁琛屾斂鍖哄垝琛�")
+    private String residencecountycode;
+
+    /**
+     * 鎵�灞炲尯鍩熷悕绉�
+     */
+    @ApiModelProperty("鎵�灞炲尯鍩熷悕绉�")
+    @Excel(name = "鎵�灞炲尯鍩熷悕绉�")
+    private String residencecountyname;
+
+    /**
+     * 鎴风睄鍦板潃
+     */
+    @ApiModelProperty("鎴风睄鍦板潃")
+    @Excel(name = "鎴风睄鍦板潃")
+    private String registeraddress;
+
+    /**
+     * 鎴风睄鍦板潃鐪佺紪鍙�
+     */
+    @ApiModelProperty("鎴风睄鍦板潃鐪佺紪鍙�")
+    @Excel(name = "鎴风睄鍦板潃鐪佺紪鍙�")
+    private String registerprovince;
+
+    /**
+     * 鎴风睄鍦板潃鐪佸悕绉�
+     */
+    @ApiModelProperty("鎴风睄鍦板潃鐪佸悕绉�")
+    @Excel(name = "鎴风睄鍦板潃鐪佸悕绉�")
+    private String registerprovincename;
+
+    /**
+     * 甯傚悕绉�
+     */
+    @ApiModelProperty("甯傚悕绉�")
+    @Excel(name = "甯傚悕绉�")
+    private String registercityname;
+
+    /**
+     * 鎵�灞炶閬擄紙闀囷級鍚嶇О
+     */
+    @ApiModelProperty("鎵�灞炶閬擄紙闀囷級鍚嶇О")
+    @Excel(name = "鎵�灞炶閬�", readConverterExp = "闀�=")
+    private String registertownname;
+
+    /**
+     * 绀惧尯锛堟潙锛夊悕绉�
+     */
+    @ApiModelProperty("绀惧尯锛堟潙锛夊悕绉�")
+    @Excel(name = "绀惧尯", readConverterExp = "鏉�=")
+    private String registercommunityname;
+
+    /**
+     * 娌荤枟鍖婚櫌鍚嶇О
+     */
+    @ApiModelProperty("娌荤枟鍖婚櫌鍚嶇О")
+    @Excel(name = "娌荤枟鍖婚櫌鍚嶇О")
+    private String treatmenthospitalname;
+
+    /**
+     * 娌荤枟绉戝鍚嶇О
+     */
+    @ApiModelProperty("娌荤枟绉戝鍚嶇О")
+    @Excel(name = "娌荤枟绉戝鍚嶇О")
+    private String treatmentdeptname;
+
+    /**
+     * 鐤剧梾璇婃柇鍚嶇О
+     */
+    @ApiModelProperty("鐤剧梾璇婃柇鍚嶇О")
+    @Excel(name = "鐤剧梾璇婃柇鍚嶇О")
+    private String diagnosisname;
+
+    /**
+     * 浣忛櫌鍙�
+     */
+    @ApiModelProperty("浣忛櫌鍙�")
+    @Excel(name = "浣忛櫌鍙�")
+    private String inpatientno;
+
+    /**
+     * 鐥呮儏姒傚喌
+     */
+    @ApiModelProperty("鐥呮儏姒傚喌")
+    @Excel(name = "鐥呮儏姒傚喌")
+    private String illnessoverview;
+
+    /**
+     * 浼犳煋鐥呮儏鍐�
+     */
+    @ApiModelProperty("浼犳煋鐥呮儏鍐�")
+    @Excel(name = "浼犳煋鐥呮儏鍐�")
+    private String infectious;
+
+    /**
+     * 浼犳煋鐥� 鍏朵粬
+     */
+    @ApiModelProperty("浼犳煋鐥� 鍏朵粬")
+    @Excel(name = "浼犳煋鐥� 鍏朵粬")
+    private String infectiousOther;
+
+    /**
+     * 鐥呬汉鐘跺喌
+     */
+    @ApiModelProperty("鐥呬汉鐘跺喌")
+    @Excel(name = "鐥呬汉鐘跺喌")
+    private String patientstate;
+
+    /**
+     * 鎶ュ憡鑰呯紪鍙�
+     */
+    @ApiModelProperty("鎶ュ憡鑰呯紪鍙�")
+    @Excel(name = "鎶ュ憡鑰呯紪鍙�")
+    private String reporterno;
+
+    /**
+     * 鎶ュ憡鑰呭鍚�
+     */
+    @ApiModelProperty("鎶ュ憡鑰呭鍚�")
+    @Excel(name = "鎶ュ憡鑰呭鍚�")
+    private String reportername;
+
+    /**
+     * 鎶ュ憡鑰呰仈绯荤數璇�
+     */
+    @ApiModelProperty("鎶ュ憡鑰呰仈绯荤數璇�")
+    @Excel(name = "鎶ュ憡鑰呰仈绯荤數璇�")
+    private String reporterphone;
+
+    /**
+     * 鎶ュ憡鏃堕棿
+     */
+    @ApiModelProperty("鎶ュ憡鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鎶ュ憡鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date reporttime;
+
+    /**
+     * 鏄惁 缁堟妗堜緥锛�0寮�鍚�   1缁堟   榛樿 0
+     */
+    @ApiModelProperty("鏄惁 缁堟妗堜緥锛�0寮�鍚�   1缁堟   榛樿 0")
+    @Excel(name = "鏄惁 缁堟妗堜緥锛�0寮�鍚�   1缁堟   榛樿 0")
+    private Integer terminationCase;
+
+    /**
+     * 鑱旂郴浜猴紙鍗忚皟鍛樼紪鍙凤級
+     */
+    @ApiModelProperty("鑱旂郴浜猴紙鍗忚皟鍛橈級")
+    @Excel(name = "鑱旂郴浜猴紙鍗忚皟鍛樼紪鍙凤級", readConverterExp = "鍗�=璋冨憳")
+    private String userNo;
+
+    /**
+     * 鑱旂郴浜猴紙鍗忚皟鍛樺鍚嶏級
+     */
+    @ApiModelProperty("鑱旂郴浜猴紙鍗忚皟鍛橈級")
+    @Excel(name = "鑱旂郴浜猴紙鍗忚皟鍛樺鍚嶏級", readConverterExp = "鍗�=璋冨憳")
+    private String userName;
+
+    /**
+     * 鑱旂郴浜猴紙鍗忚皟鍛樺鍚嶏級
+     */
+    @ApiModelProperty("閮ㄩ棬缂栧彿")
+    @Excel(name = "閮ㄩ棬缂栧彿", readConverterExp = "閮ㄩ棬缂栧彿")
+    private String deptNo;
+
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+    @Excel(name = "閮ㄩ棬鍚嶇О", readConverterExp = "閮ㄩ棬鍚嶇О")
+    private String deptName;
+
+    /**
+     * GSC璇勫垎
+     */
+    @ApiModelProperty("GSC璇勫垎")
+    @Excel(name = "GSC璇勫垎", readConverterExp = "GSC璇勫垎")
+    private String gscScore;
+
+    /**
+     * 鏄惁闇�瑕佽浆杩� 1锛氫笉闇�瑕�   2闇�瑕�     榛樿1
+     */
+    @ApiModelProperty("鏄惁闇�瑕佽浆杩� 1锛氫笉闇�瑕�   2闇�瑕�     榛樿1")
+    @Excel(name = "鏄惁闇�瑕佽浆杩� 1锛氫笉闇�瑕�   2闇�瑕�     榛樿1")
+    private String isTransport;
+
+    /**
+     * 涓婃姤鐘舵�侊細1宸蹭笂鎶�   2宸查槄璇�  3宸插悓鎰�   4  宸查┏鍥�
+     */
+    @ApiModelProperty("涓婃姤鐘舵�侊細1宸蹭笂鎶�   2宸查槄璇�  3宸插悓鎰�   4  宸查┏鍥�")
+    @Excel(name = "涓婃姤鐘舵�侊細1宸蹭笂鎶�   2宸查槄璇�  3宸插悓鎰�   4  宸查┏鍥�")
+    private String reportStatus;
+
+    /**
+     * 闄勪欢鏂囦欢鍦板潃闆嗗悎锛堢敤浜庢帴鏀跺墠绔紶鏉ョ殑鍦板潃锛�
+     * * [
+     * * { name: "111", url: "http://localhost:8093/111/222" },
+     * * { name: "222", url: "http://localhost:8093/111/222" },
+     * * ];
+     */
+    @TableField(exist = false)
+    @ApiModelProperty("闄勪欢鏂囦欢鍦板潃闆嗗悎")
+    private List<ServiceDonatebaseinfoReportFile> annexfilesList;
+
+    /**
+     * 杞繍淇℃伅
+     */
+    @TableField(exist = false)
+    @ApiModelProperty("杞繍淇℃伅")
+    private List<ServiceTransport> serviceTransport;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReportFile.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReportFile.java
new file mode 100644
index 0000000..6a4fdd7
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfoReportFile.java
@@ -0,0 +1,72 @@
+package com.ruoyi.project.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 妗堜緥涓婃姤闄勪欢瀵硅薄 service_donatebaseinfo_report_file
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Data
+@ApiModel("妗堜緥涓婃姤闄勪欢")
+public class ServiceDonatebaseinfoReportFile extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 妗堜緥涓婃姤id
+     */
+    @ApiModelProperty("妗堜緥涓婃姤id")
+    @Excel(name = "妗堜緥涓婃姤id")
+    private Long donatebaseinfoReportId;
+
+    /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+
+    /** 鏂囦欢鍚� */
+    @ApiModelProperty("鏂囦欢鍚�")
+    @Excel(name = "鏂囦欢鍚�")
+    private String fileName;
+
+    /**
+     * 绫诲埆
+     */
+    @ApiModelProperty("绫诲埆")
+    @Excel(name = "绫诲埆")
+    private String type;
+
+    /**
+     * 闄勪欢璺緞
+     */
+    @ApiModelProperty("闄勪欢璺緞")
+    @Excel(name = "闄勪欢璺緞")
+    private String path;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty("澶囨敞")
+    @Excel(name = "澶囨敞")
+    private String remart;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java
index 2ef1529..fb4b8e9 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java
@@ -229,11 +229,12 @@
 
 
     /**
-     * 绉绘浜烘墍灞炲尯鍩熷悕绉�
+     * 妗堜緥缂栧彿
      */
-    @ApiModelProperty("绉绘浜烘墍灞炲尯鍩熷悕绉�")
-    @Excel(name = "绉绘浜烘墍灞炲尯鍩熷悕绉�")
-    private String caseno;
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
 
     /**
      * 绉绘浜烘墍灞炲尯鍩熷悕绉�
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java
index 0b24198..07a6f8d 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java
@@ -1,7 +1,6 @@
 package com.ruoyi.project.domain;
 
 import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -12,165 +11,124 @@
 import lombok.Data;
 
 /**
- * 鎹愮尞鍣ㄥ畼鑾峰彇瀵硅薄 service_donationwitnessorgan
+ * 妗堜緥璇勪及鍣ㄥ畼瀵硅薄 service_donationwitnessorgan
  *
  * @author ruoyi
- * @date 2023-12-25
+ * @date 2025-12-15
  */
 @Data
-@ApiModel("鎹愮尞鍣ㄥ畼鑾峰彇")
-public class ServiceDonationwitnessorgan extends BaseEntity {
+@ApiModel("妗堜緥璇勪及鍣ㄥ畼")
+public class ServiceDonationwitnessorgan extends BaseEntity
+{
     private static final long serialVersionUID = 1L;
 
-    /**
-     * $column.columnComment
-     */
+    /** $column.columnComment */
     @ApiModelProperty("$column.columnComment")
     //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
     @TableId(type = IdType.AUTO)
     private Long id;
 
-    /**
-     * 鍏宠仈service_donatebaseinfo琛ㄧ殑ID
-     */
+    /** 鍏宠仈service_donatebaseinfo琛ㄧ殑ID */
     @ApiModelProperty("鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
     @Excel(name = "鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
     private Long infoid;
 
-    /**
-     * 鎹愮尞鑰呯紪鍙�
-     */
+    /** 鎹愮尞鑰呯紪鍙� */
     @ApiModelProperty("鎹愮尞鑰呯紪鍙�")
     @Excel(name = "鎹愮尞鑰呯紪鍙�")
     private String donorno;
 
-    /**
-     * 鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ
-     */
+    /** 鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ */
     @ApiModelProperty("鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ")
     @Excel(name = "鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ")
     private String organno;
 
-    /**
-     * 鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ
-     */
+    /** 鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ */
     @ApiModelProperty("鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ")
     @Excel(name = "鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ")
     private String organname;
 
-    /**
-     * 鍣ㄥ畼缂栧彿
-     */
+    /** 鍣ㄥ畼缂栧彿  */
     @ApiModelProperty("鍣ㄥ畼缂栧彿 ")
     @Excel(name = "鍣ㄥ畼缂栧彿 ")
     private String organnumber;
 
-    /**
-     * 鍣ㄥ畼鑾峰彇鐘舵�� 锛�0锛氭湭鑾峰彇锛�1锛氬凡鑾峰彇锛�2锛氬純鐢�
-     */
+    /** 鍣ㄥ畼鑾峰彇鐘舵�� 锛�0锛氭湭鑾峰彇锛�1锛氬凡鑾峰彇锛�2锛氬純鐢� */
     @ApiModelProperty("鍣ㄥ畼鑾峰彇鐘舵�� 锛�0锛氭湭鑾峰彇锛�1锛氬凡鑾峰彇锛�2锛氬純鐢�")
     @Excel(name = "鍣ㄥ畼鑾峰彇鐘舵�� 锛�0锛氭湭鑾峰彇锛�1锛氬凡鑾峰彇锛�2锛氬純鐢�")
     private String organstate;
 
-    /**
-     * 鏈幏鍙栧師鍥�
-     */
+    /** 鏈幏鍙栧師鍥� */
     @ApiModelProperty("鏈幏鍙栧師鍥�")
     @Excel(name = "鏈幏鍙栧師鍥�")
     private String notgetreason;
 
-    /**
-     * 绂讳綋鏃堕棿
-     */
-    @ApiModelProperty("绂讳綋鏃堕棿")
+    /** 鍣ㄥ畼鑾峰彇鏃堕棿 */
+    @ApiModelProperty("鍣ㄥ畼鑾峰彇鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "绂讳綋鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍣ㄥ畼鑾峰彇鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date organgettime;
 
-    /**
-     * 鎵嬫湳寮�濮嬫椂闂�
-     */
-    @ApiModelProperty("鍣ㄥ畼鑾峰彇寮�濮嬫椂闂�")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "鍣ㄥ畼鑾峰彇寮�濮嬫椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date organStartTime;
-
-    /**
-     * 鍖荤敓濮撳悕
-     */
+    /** 鍖荤敓濮撳悕 */
     @ApiModelProperty("鍖荤敓濮撳悕")
     @Excel(name = "鍖荤敓濮撳悕")
     private String organgetdoct;
 
-    /**
-     * 鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�
-     */
+    /** 鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛� */
     @ApiModelProperty("鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�")
     @Excel(name = "鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�")
     private String gainhospitalno;
 
-    /**
-     * 鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�
-     */
+    /** 鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛� */
     @ApiModelProperty("鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�")
     @Excel(name = "鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�")
     private String gainhospitalname;
 
-    /**
-     * 鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1
-     */
+    /** 鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1 */
     @ApiModelProperty("鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1")
     @Excel(name = "鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1")
     private String isbiopsybefore;
 
-    /**
-     * 鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1
-     */
+    /** 鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1 */
     @ApiModelProperty("鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1")
     @Excel(name = "鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1")
     private String isbiopsyafter;
 
-    /**
-     * 灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1
-     */
+    /** 灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1 */
     @ApiModelProperty("灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1")
     @Excel(name = "灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1")
     private String ismarginalorgan;
 
-    /**
-     * 鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1
-     */
+    /** 鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1 */
     @ApiModelProperty("鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1")
     @Excel(name = "鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1")
     private String ispathogenpositive;
 
-    /**
-     * 鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1
-     */
+    /** 鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1 */
     @ApiModelProperty("鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1")
     @Excel(name = "鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1")
     private String ispnf;
 
-    /**
-     * 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1
-     */
+    /** 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1 */
     @ApiModelProperty("鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
     @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
     private String isdgf;
 
-    /**
-     * 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1
-     */
-    @ApiModelProperty("鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
-    @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
+    /** 浜嬩欢缂栧彿 */
+    @ApiModelProperty("浜嬩欢缂栧彿")
+    @Excel(name = "浜嬩欢缂栧彿")
+    private String caseno;
+
+    /** 鍙椾綋濮撳悕 */
+    @ApiModelProperty("鍙椾綋濮撳悕")
+    @Excel(name = "鍙椾綋濮撳悕")
     private String name;
 
-    /**
-     * 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1
-     */
-    @ApiModelProperty("鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
-    @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
-    private String caseno;
+    /** 鍣ㄥ畼鑾峰彇寮�濮嬫椂闂� */
+    @ApiModelProperty("鍣ㄥ畼鑾峰彇寮�濮嬫椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍣ㄥ畼鑾峰彇寮�濮嬫椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date organStartTime;
 
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonorchargeorgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonorchargeorgan.java
index db78a53..0ada900 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonorchargeorgan.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonorchargeorgan.java
@@ -180,12 +180,12 @@
     @ApiModelProperty("澶囨敞")
     @TableField(exist = false)
     private Boolean paymentidIsNotNull = true;
-
-    /**
-     * 鐘舵�侊紙0姝e父 1鍒犻櫎锛�
-     */
-    @ApiModelProperty("鐘舵�侊紙0姝e父 1鍒犻櫎锛�")
-    private Integer delFlag;
+//
+//    /**
+//     * 鐘舵�侊紙0姝e父 1鍒犻櫎锛�
+//     */
+//    @ApiModelProperty("鐘舵�侊紙0姝e父 1鍒犻櫎锛�")
+//    private Integer delFlag;
 
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewinitiate.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewinitiate.java
new file mode 100644
index 0000000..8fe3c7f
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewinitiate.java
@@ -0,0 +1,70 @@
+package com.ruoyi.project.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 浼︾悊瀹℃煡鍙戣捣瀵硅薄 service_ethicalreviewinitiate
+ *
+ * @author ruoyi
+ * @date 2025-12-20
+ */
+@Data
+@ApiModel("浼︾悊瀹℃煡鍙戣捣")
+public class ServiceEthicalreviewinitiate extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 鍏宠仈service_donatebaseinfo琛ㄧ殑ID */
+    @ApiModelProperty("鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
+    @Excel(name = "鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
+    private Long infoid;
+
+    /** 妗堜緥缂栧彿 */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+    /** 鍙戣捣浜� */
+    @ApiModelProperty("鍙戣捣浜�")
+    @Excel(name = "鍙戣捣浜�")
+    private String initiatePerson;
+
+    /** 鍙戣捣鏃堕棿 */
+    @ApiModelProperty("鍙戣捣鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍙戣捣鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /** 缁撴潫鏃堕棿 */
+    @ApiModelProperty("缁撴潫鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "缁撴潫鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date endTime;
+
+    /** 鍙戣捣涓婚 */
+    @ApiModelProperty("鍙戣捣涓婚")
+    @Excel(name = "鍙戣捣涓婚")
+    private String initiateTheme;
+
+    /** 鏈夋晥鎴嚦鏃堕棿 */
+    @ApiModelProperty("鏈夋晥鎴嚦鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鏈夋晥鎴嚦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cutOffTime;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewopinions.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewopinions.java
index 88373e8..79e9e1f 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewopinions.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewopinions.java
@@ -1,6 +1,7 @@
 package com.ruoyi.project.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -12,62 +13,121 @@
 
 /**
  * 浼︾悊瀹℃煡涓撳鎰忚瀵硅薄 service_ethicalreviewopinions
- * 
+ *
  * @author ruoyi
  * @date 2021-11-23
  */
 @Data
 @ApiModel("浼︾悊瀹℃煡涓撳鎰忚")
-public class ServiceEthicalreviewopinions extends BaseEntity
-{
+public class ServiceEthicalreviewopinions extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** $column.columnComment */
+    /**
+     * $column.columnComment
+     */
     @ApiModelProperty("$column.columnComment")
     //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
     @TableId(type = IdType.AUTO)
     private Long id;
 
-    /** 鍏宠仈service_donatebaseinfo琛ㄧ殑ID */
+    /**
+     * 鍏宠仈service_donatebaseinfo琛ㄧ殑ID
+     */
     @ApiModelProperty("鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
     @Excel(name = "鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
     private Long infoid;
 
-    /** 鎹愮尞鑰呯紪鍙� */
+    /**
+     * 鎹愮尞鑰呯紪鍙�
+     */
     @ApiModelProperty("鎹愮尞鑰呯紪鍙�")
     @Excel(name = "鎹愮尞鑰呯紪鍙�")
     private String donorno;
 
-    /** 涓撳鎰忚 */
+    /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+    /**
+     * 涓撳鎰忚
+     */
     @ApiModelProperty("涓撳鎰忚")
     @Excel(name = "涓撳鎰忚")
     private String expertopinion;
 
-    /** 涓撳缁撹  瑙佸瓧鍏� sys_0_1  */
+    /**
+     * 绉戝缂栫爜
+     */
+    @ApiModelProperty("绉戝缂栫爜")
+    @Excel(name = "绉戝缂栫爜")
+    private String deptCode;
+
+    /**
+     * 绉戝鍚嶇О
+     */
+    @ApiModelProperty("绉戝鍚嶇О")
+    @Excel(name = "绉戝鍚嶇О")
+    private String deptName;
+
+    /**
+     * 鍣ㄥ畼绫诲瀷
+     */
+    @ApiModelProperty("鍣ㄥ畼绫诲瀷")
+    @Excel(name = "鍣ㄥ畼绫诲瀷")
+    private String organType;
+
+    /**
+     * 涓撳缁撹  瑙佸瓧鍏� sys_0_1
+     */
     @ApiModelProperty("涓撳缁撹  瑙佸瓧鍏� sys_0_1 ")
     @Excel(name = "涓撳缁撹  瑙佸瓧鍏� sys_0_1 ")
     private Long expertconclusion;
 
-    /** 涓撳鍚嶅瓧 */
+    /**
+     * 涓撳鍚嶅瓧
+     */
     @ApiModelProperty("涓撳鍚嶅瓧")
     @Excel(name = "涓撳鍚嶅瓧")
     private String expertname;
 
-    /** 缁撹鏃堕棿 */
+    /**
+     * 缁撹鏃堕棿
+     */
     @ApiModelProperty("缁撹鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "缁撹鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date conclusiontime;
 
-    /** 缁撹闄勪欢 鍙┖ 澶氫釜鐢�;鍙烽殧寮� */
+    /**
+     * 缁撹闄勪欢 鍙┖ 澶氫釜鐢�;鍙烽殧寮�
+     */
     @ApiModelProperty("缁撹闄勪欢 鍙┖ 澶氫釜鐢�;鍙烽殧寮�")
     @Excel(name = "缁撹闄勪欢 鍙┖ 澶氫釜鐢�;鍙烽殧寮�")
     private String conclusionannex;
 
-    /** 缁撹椤哄簭 */
+    /**
+     * 缁撹椤哄簭
+     */
     @ApiModelProperty("缁撹椤哄簭")
     @Excel(name = "缁撹椤哄簭")
     private Long conclusionorder;
 
+    /**
+     * 鍙戦�佹柟寮�
+     */
+    @ApiModelProperty("鍙戦�佹柟寮�")
+    @Excel(name = "鍙戦�佹柟寮�")
+    private String sendType;
+
+    /**
+     * 鎺ユ敹鐘舵��
+     */
+    @ApiModelProperty("鎺ユ敹鐘舵��")
+    @Excel(name = "鎺ユ敹鐘舵��")
+    private String receiveStatus;
+
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluation.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluation.java
index 56a0fe5..39097f6 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluation.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluation.java
@@ -1,6 +1,7 @@
 package com.ruoyi.project.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -12,107 +13,173 @@
 
 /**
  * 鍖诲璇勪及瀵硅薄 service_medicalevaluation
- * 
+ *
  * @author ruoyi
  * @date 2021-11-19
  */
 @Data
 @ApiModel("鍖诲璇勪及")
-public class ServiceMedicalevaluation extends BaseEntity
-{
+public class ServiceMedicalevaluation extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** $column.columnComment */
+    /**
+     * $column.columnComment
+     */
     @ApiModelProperty("$column.columnComment")
     //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
     @TableId(type = IdType.AUTO)
     private Long id;
 
-    /**  */
+    /**
+     *
+     */
     @ApiModelProperty("")
     private Long infoid;
 
-    /** 鎹愮尞鑰呯紪鍙� */
+    /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+    /**
+     * 鎹愮尞鑰呯紪鍙�
+     */
     @ApiModelProperty("鎹愮尞鑰呯紪鍙�")
     @Excel(name = "鎹愮尞鑰呯紪鍙�")
     private String donorno;
 
-    /** 鐥呮儏姒傚喌 */
+    /**
+     * 鐥呮儏姒傚喌
+     */
     @ApiModelProperty("鐥呮儏姒傚喌")
     @Excel(name = "鐥呮儏姒傚喌")
     private String illnessoverview;
 
-    /** 鐤剧梾璇婃柇鍚嶇О */
+    /**
+     * 鐤剧梾璇婃柇鍚嶇О
+     */
     @ApiModelProperty("鐤剧梾璇婃柇鍚嶇О")
     @Excel(name = "鐤剧梾璇婃柇鍚嶇О")
     private String diagnosisname;
 
-    /** 闄㈢骇璇勪及鍐呭 */
+    /**
+     * 闄㈢骇璇勪及鍐呭
+     */
     @ApiModelProperty("闄㈢骇璇勪及鍐呭")
     @Excel(name = "闄㈢骇璇勪及鍐呭")
     private String hospitalassesscontent;
 
-    /** 闄㈢骇璇勪及鍖荤敓 */
+    /**
+     * 闄㈢骇璇勪及鍖荤敓
+     */
     @ApiModelProperty("闄㈢骇璇勪及鍖荤敓")
     @Excel(name = "闄㈢骇璇勪及鍖荤敓")
     private String hospitalassessdoctor;
 
-    /** 闄㈢骇璇勪及鏃堕棿 */
-    @ApiModelProperty("闄㈢骇璇勪及鏃堕棿")
+    /**
+     * 闄㈢骇璇勪及鏃堕棿
+     */
+    @ApiModelProperty("闄㈢骇璇勪及鏃堕棿(涓嶇敤浜�)")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "闄㈢骇璇勪及鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date hospitalassesstime;
 
-    /** 闄㈢骇璇勪及缁撹 */
+    /**
+     * 闄㈢骇璇勪及缁撹
+     */
     @ApiModelProperty("闄㈢骇璇勪及缁撹")
     @Excel(name = "闄㈢骇璇勪及缁撹")
     private String hospitalassessconclusion;
 
-    /** 鐪佺骇璇勪及鍐呭 */
+    /**
+     * 鐪佺骇璇勪及鍐呭
+     */
     @ApiModelProperty("鐪佺骇璇勪及鍐呭")
     @Excel(name = "鐪佺骇璇勪及鍐呭")
     private String provincialassesscontent;
 
-    /** 鐪佺骇璇勪及鍖荤敓 */
+    /**
+     * 鐪佺骇璇勪及鍖荤敓
+     */
     @ApiModelProperty("鐪佺骇璇勪及鍖荤敓")
     @Excel(name = "鐪佺骇璇勪及鍖荤敓")
     private String provincialassessdoctor;
 
-    /** 鐪佺骇璇勪及鏃堕棿 */
+    /**
+     * 鐪佺骇璇勪及鏃堕棿
+     */
     @ApiModelProperty("鐪佺骇璇勪及鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "鐪佺骇璇勪及鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date provincialassesstime;
 
-    /** 鐪佺骇璇勪及缁撹 */
+    /**
+     * 鐪佺骇璇勪及缁撹
+     */
     @ApiModelProperty("鐪佺骇璇勪及缁撹")
     @Excel(name = "鐪佺骇璇勪及缁撹")
     private String provincialassessconclusion;
 
-    /** 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板唴瀹� */
+    /**
+     * 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板唴瀹�
+     */
     @ApiModelProperty("鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板唴瀹�")
     @Excel(name = "鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板唴瀹�")
     private String coreteamassesscontent;
 
-    /** 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板尰鐢� */
+    /**
+     * 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板尰鐢�
+     */
     @ApiModelProperty("鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板尰鐢�")
     @Excel(name = "鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼板尰鐢�")
     private String coreteamassessdoctor;
 
-    /** 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼版椂闂� */
+    /**
+     * 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼版椂闂�
+     */
     @ApiModelProperty("鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼版椂闂�")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "鐪佺骇璇勪及缁勬牳蹇冩垚鍛樿瘎浼版椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date coreteamassesstime;
 
-    /** 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樼粨璁� */
+    /**
+     * 鐪佺骇璇勪及缁勬牳蹇冩垚鍛樼粨璁�
+     */
     @ApiModelProperty("鐪佺骇璇勪及缁勬牳蹇冩垚鍛樼粨璁�")
     @Excel(name = "鐪佺骇璇勪及缁勬牳蹇冩垚鍛樼粨璁�")
     private String coreteamassessconclusion;
 
-    /** 璇勪及闄勪欢 */
+    /**
+     * 璇勪及闄勪欢
+     */
     @ApiModelProperty("璇勪及闄勪欢")
     private String assessannex;
 
+    /**
+     * 璇勪及鐘舵�侊細   棣栨锛�1.璇勪及閫氳繃  2璇勪及涓嶉�氳繃         鏈�缁堬細3.璇勪及閫氳繃  4璇勪及涓嶉�氳繃
+     */
+    @ApiModelProperty("璇勪及鐘舵�侊細   棣栨锛�1.璇勪及閫氳繃  2璇勪及涓嶉�氳繃         鏈�缁堬細3.璇勪及閫氳繃  4璇勪及涓嶉�氳繃")
+    private String assessState;
+
+
+    /**
+     * 棣栨璇勪及鏃堕棿
+     */
+    @ApiModelProperty("棣栨璇勪及鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "棣栨璇勪及鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date assessFirstTime;
+
+    /**
+     * 浜屾璇勪及鏃堕棿
+     */
+    @ApiModelProperty("浜屾璇勪及鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "浜屾璇勪及鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date assessSecondTime;
+
+
 }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluationorgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluationorgan.java
new file mode 100644
index 0000000..ba8b8a9
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceMedicalevaluationorgan.java
@@ -0,0 +1,154 @@
+package com.ruoyi.project.domain;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 鎹愮尞鍣ㄥ畼璇勪及瀵硅薄 service_medicalevaluationorgan
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Data
+@ApiModel("鎹愮尞鍣ㄥ畼璇勪及")
+public class ServiceMedicalevaluationorgan extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鍏宠仈service_donatebaseinfo琛ㄧ殑ID
+     */
+    @ApiModelProperty("鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
+    @Excel(name = "鍏宠仈service_donatebaseinfo琛ㄧ殑ID")
+    private Long infoid;
+
+    /**
+     * 鎹愮尞鑰呯紪鍙�
+     */
+    @ApiModelProperty("鎹愮尞鑰呯紪鍙�")
+    @Excel(name = "鎹愮尞鑰呯紪鍙�")
+    private String donorno;
+
+    /**
+     * 鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ
+     */
+    @ApiModelProperty("鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ")
+    @Excel(name = "鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ")
+    private String organno;
+
+    /**
+     * 鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ
+     */
+    @ApiModelProperty("鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ")
+    @Excel(name = "鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ")
+    private String organname;
+
+    /**
+     * 鍣ㄥ畼缂栧彿
+     */
+    @ApiModelProperty("鍣ㄥ畼缂栧彿 ")
+    @Excel(name = "鍣ㄥ畼缂栧彿 ")
+    private String organnumber;
+
+    /**
+     * 鍣ㄥ畼璇勪及鐘舵�� 锛�1锛氬彲鐢紝2锛氫笉鍙敤
+     */
+    @ApiModelProperty("鍣ㄥ畼璇勪及鐘舵�� 锛�1锛氬彲鐢紝2锛氫笉鍙敤")
+    @Excel(name = "鍣ㄥ畼璇勪及鐘舵�� 锛�1锛氬彲鐢紝2锛氫笉鍙敤")
+    private String organState;
+
+    /**
+     * 涓嶅彲鐢ㄥ師鍥�
+     */
+    @ApiModelProperty("涓嶅彲鐢ㄥ師鍥�")
+    @Excel(name = "涓嶅彲鐢ㄥ師鍥�")
+    private String notgetreason;
+
+    /**
+     * 鍣ㄥ畼璇勪及鏃堕棿
+     */
+    @ApiModelProperty("鍣ㄥ畼璇勪及鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍣ㄥ畼璇勪及鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date organAssessTime;
+
+    /**
+     * 璇勪及鍖荤敓濮撳悕
+     */
+    @ApiModelProperty("璇勪及鍖荤敓濮撳悕")
+    @Excel(name = "璇勪及鍖荤敓濮撳悕")
+    private String organAssessDoct;
+
+    /**
+     * 鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�
+     */
+    @ApiModelProperty("鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�")
+    @Excel(name = "鍣ㄥ畼鑾峰彇鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�")
+    private String gainhospitalno;
+
+    /**
+     * 鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�
+     */
+    @ApiModelProperty("鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�")
+    @Excel(name = "鍣ㄥ畼鑾峰彇鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�")
+    private String gainhospitalname;
+
+    /**
+     * 鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1
+     */
+    @ApiModelProperty("鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1")
+    @Excel(name = "鑾峰彇鍓嶆椿妫�锛屽弬瑙乻ys_0_1")
+    private String isbiopsybefore;
+
+    /**
+     * 鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1
+     */
+    @ApiModelProperty("鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1")
+    @Excel(name = "鑾峰彇鍚庢椿妫�锛屽弬瑙乻ys_0_1")
+    private String isbiopsyafter;
+
+    /**
+     * 灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1
+     */
+    @ApiModelProperty("灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1")
+    @Excel(name = "灞炰簬杈圭紭鍣ㄥ畼锛屽弬瑙乻ys_0_1")
+    private String ismarginalorgan;
+
+    /**
+     * 鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1
+     */
+    @ApiModelProperty("鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1")
+    @Excel(name = "鐥呭師鑿岄槼鎬э紝鍙傝sys_0_1")
+    private String ispathogenpositive;
+
+    /**
+     * 鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1
+     */
+    @ApiModelProperty("鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1")
+    @Excel(name = "鍘熷彂鎬ф棤鍔熻兘锛屽弬瑙乻ys_0_1")
+    private String ispnf;
+
+    /**
+     * 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1
+     */
+    @ApiModelProperty("鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
+    @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1")
+    private String isdgf;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java
index d7c1dcc..e8c60d5 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java
@@ -339,7 +339,7 @@
     private Long reimid;
 
     @ApiModelProperty("鍒犻櫎鏍囪瘑")
-    private Long delFlag;
+    private Integer delFlag;
 
     @ApiModelProperty("鎹愮尞瀹跺睘閾惰")
     private String donorbank;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransport.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransport.java
new file mode 100644
index 0000000..2595994
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransport.java
@@ -0,0 +1,195 @@
+package com.ruoyi.project.domain;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁板璞� service_transport
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Data
+@ApiModel("渚涜�呰浆杩愮櫥璁�")
+public class ServiceTransport extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private Long reportId;
+
+    /**
+     * 妗堜緥缂栧彿
+     */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+    /**
+     * 鎮h�呭鍚�
+     */
+    @ApiModelProperty("鎮h�呭鍚�")
+    @Excel(name = "鎮h�呭鍚�")
+    private String patName;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    @Excel(name = "鎮h�呭鍚�")
+    private String sex;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    @Excel(name = "鎮h�呭鍚�")
+    private Long age;
+
+    /**
+     * 鐤剧梾璇婃柇鍚嶇О
+     */
+    @ApiModelProperty("鐤剧梾璇婃柇鍚嶇О")
+    @Excel(name = "鐤剧梾璇婃柇鍚嶇О")
+    private String diagnosisname;
+
+    /**
+     * 娌荤枟鍖婚櫌鍚嶇О
+     */
+    @ApiModelProperty("娌荤枟鍖婚櫌鍚嶇О")
+    @Excel(name = "娌荤枟鍖婚櫌鍚嶇О")
+    private String treatmentHospitalName;
+
+    /**
+     * 娌荤枟绉戝鍚嶇О
+     */
+    @ApiModelProperty("娌荤枟绉戝鍚嶇О")
+    @Excel(name = "娌荤枟绉戝鍚嶇О")
+    private String treatmentDeptName;
+
+    /**
+     * 鍑哄彂鏃堕棿
+     */
+    @ApiModelProperty("鍑哄彂鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍑哄彂鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date transportStartTime;
+
+    /**
+     * 鍑哄彂鍦扮偣
+     */
+    @ApiModelProperty("鍑哄彂鍦扮偣")
+    @Excel(name = "鍑哄彂鍦扮偣")
+    private String transportStartPlace;
+
+    /**
+     * 鑱旂郴浜猴紙鍗忚皟鍛橈級
+     */
+    @ApiModelProperty("鑱旂郴浜猴紙鍗忚皟鍛橈級")
+    @Excel(name = "鑱旂郴浜�", readConverterExp = "鍗忚皟鍛�")
+    private String contactPerson;
+
+    /**
+     * 鎬ヨ瘖绉戝尰鐢�
+     */
+    @ApiModelProperty("鎬ヨ瘖绉戝尰鐢�")
+    @Excel(name = "鎬ヨ瘖绉戝尰鐢�")
+    private String doctor;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("鎬ヨ瘖绉戝尰鐢熸墜鏈哄彿")
+    @Excel(name = "鎬ヨ瘖绉戝尰鐢熸墜鏈哄彿")
+    private String doctorPhone;
+
+    /**
+     * 鎶ゅ+
+     */
+    @ApiModelProperty("鎶ゅ+")
+    @Excel(name = "鎶ゅ+")
+    private String nurse;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("鎶ゅ+鎵嬫満鍙�")
+    @Excel(name = "鎶ゅ+鎵嬫満鍙�")
+    private String nursePhone;
+
+    /**
+     * 椹鹃┒鍛�
+     */
+    @ApiModelProperty("椹鹃┒鍛�")
+    @Excel(name = "椹鹃┒鍛�")
+    private String driver;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("椹鹃┒鍛樻墜鏈哄彿")
+    @Excel(name = "椹鹃┒鍛樻墜鏈哄彿")
+    private String driverPhone;
+
+    /**
+     * ICU璇勪及鍖荤敓
+     */
+    @ApiModelProperty("ICU璇勪及鍖荤敓")
+    @Excel(name = "ICU璇勪及鍖荤敓")
+    private String icuDoctor;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("ICU璇勪及鍖荤敓鎵嬫満鍙�")
+    @Excel(name = "ICU璇勪及鍖荤敓鎵嬫満鍙�")
+    private String icuDoctorPhone;
+
+    /**
+     * 杞繍鐘舵�侊細1寰呰浆杩�   2杞繍涓�   3杞繍瀹屾垚  4杞繍鍙栨秷  5鏆傚瓨
+     */
+    @ApiModelProperty("杞繍鐘舵�侊細1寰呰浆杩�   2杞繍涓�   3杞繍瀹屾垚  4杞繍鍙栨秷  5鏆傚瓨 ")
+    @Excel(name = "杞繍鐘舵��")
+    private Long transitStatus;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty("澶囨敞")
+    @Excel(name = "澶囨敞")
+    private String remark;
+
+    /**
+     * 闄勪欢鏂囦欢鍦板潃闆嗗悎锛堢敤浜庢帴鏀跺墠绔紶鏉ョ殑鍦板潃锛�
+     * [
+     * { name: "111", url: "http://localhost:8093/111/222" },
+     * { name: "222", url: "http://localhost:8093/111/222" },
+     * ];
+     */
+    @TableField(exist = false)
+    @ApiModelProperty("闄勪欢鏂囦欢鍦板潃闆嗗悎")
+    private List<ServiceTransportFile> annexfilesList;
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransportFile.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransportFile.java
new file mode 100644
index 0000000..8c3cd33
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTransportFile.java
@@ -0,0 +1,60 @@
+package com.ruoyi.project.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁伴檮浠跺璞� service_transport_file
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Data
+@ApiModel("渚涜�呰浆杩愮櫥璁伴檮浠�")
+public class ServiceTransportFile extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 杞繍ID */
+    @ApiModelProperty("杞繍ID")
+    @Excel(name = "杞繍ID")
+    private Long transportId;
+
+    /** 绫诲埆 */
+    @ApiModelProperty("绫诲埆")
+    @Excel(name = "绫诲埆")
+    private String type;
+
+    /** 鏂囦欢鍚� */
+    @ApiModelProperty("鏂囦欢鍚�")
+    @Excel(name = "鏂囦欢鍚�")
+    private String fileName;
+
+    /** 闄勪欢璺緞 */
+    @ApiModelProperty("闄勪欢璺緞")
+    @Excel(name = "闄勪欢璺緞")
+    private String path;
+
+    /** 澶囨敞 */
+    @ApiModelProperty("澶囨敞")
+    @Excel(name = "澶囨敞")
+    private String remart;
+
+    /** 妗堜緥缂栧彿 */
+    @ApiModelProperty("妗堜緥缂栧彿")
+    @Excel(name = "妗堜緥缂栧彿")
+    private String caseNo;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/TestExcelVo.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/TestExcelVo.java
index 6ce9152..fc707d2 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/TestExcelVo.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/TestExcelVo.java
@@ -57,12 +57,6 @@
     /**
      * 闄勪欢绫诲瀷
      */
-    @ApiModelProperty("鍣ㄥ畼鍖诲鏀寔鎴愭湰")
-    @Excel(name = "鍣ㄥ畼鍖诲鏀寔鎴愭湰")
-    private String delFlag;
-    /**
-     * 闄勪欢绫诲瀷
-     */
     @ApiModelProperty("妗堜緥涓撳璐归噾棰濓紙鍏冿級")
     @Excel(name = "妗堜緥涓撳璐归噾棰濓紙鍏冿級")
     private String delFlag2;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java
index 9042b18..9347022 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java
@@ -549,7 +549,7 @@
     private Long fcid;
 
     @ApiModelProperty("delFlag")
-    private Long delFlag;
+    private Integer delFlag;
 
     /**
      * 涓撳鎰忚
@@ -603,4 +603,17 @@
     @TableField(exist = false)
     private String basecreateby;
 
+    /**
+     * 鍙戦�佹柟寮�
+     */
+    @ApiModelProperty("鍙戦�佹柟寮�")
+    @Excel(name = "鍙戦�佹柟寮�")
+    private String sendType;
+
+    /**
+     * 鎺ユ敹鐘舵��
+     */
+    @ApiModelProperty("鎺ユ敹鐘舵��")
+    @Excel(name = "鎺ユ敹鐘舵��")
+    private String receiveStatus;
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java
index 4eb5c19..6713358 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java
@@ -19,6 +19,7 @@
     private String city;
 
     private String reporterno;
+    private String caseNo;
     //鍣ㄥ畼绉绘鐘舵�� 锛�0锛氭湭绉绘锛�1锛氬凡绉绘锛�2锛氬純鐢�
     private Integer transplantstate = null;
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportFileMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportFileMapper.java
new file mode 100644
index 0000000..e3b626c
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportFileMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.project.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 妗堜緥涓婃姤闄勪欢Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Mapper
+public interface ServiceDonatebaseinfoReportFileMapper extends BaseMapper<ServiceDonatebaseinfoReportFile>
+{
+    /**
+     * 鏌ヨ妗堜緥涓婃姤闄勪欢鍒楄〃
+     *
+     * @param serviceDonatebaseinfoReportFile 妗堜緥涓婃姤闄勪欢
+     * @return 妗堜緥涓婃姤闄勪欢闆嗗悎
+     */
+    public List<ServiceDonatebaseinfoReportFile> selectServiceDonatebaseinfoReportFileList(ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportMapper.java
new file mode 100644
index 0000000..fb81b4b
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonatebaseinfoReportMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.project.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReport;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 鎹愮尞涓婃姤鍩虹Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Mapper
+public interface ServiceDonatebaseinfoReportMapper extends BaseMapper<ServiceDonatebaseinfoReport>
+{
+    /**
+     * 鏌ヨ鎹愮尞涓婃姤鍩虹鍒楄〃
+     *
+     * @param serviceDonatebaseinfoReport 鎹愮尞涓婃姤鍩虹
+     * @return 鎹愮尞涓婃姤鍩虹闆嗗悎
+     */
+    public List<ServiceDonatebaseinfoReport> selectServiceDonatebaseinfoReportList(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewinitiateMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewinitiateMapper.java
new file mode 100644
index 0000000..9b49345
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewinitiateMapper.java
@@ -0,0 +1,25 @@
+package com.ruoyi.project.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 浼︾悊瀹℃煡鍙戣捣Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-20
+ */
+@Mapper
+public interface ServiceEthicalreviewinitiateMapper extends BaseMapper<ServiceEthicalreviewinitiate> {
+    /**
+     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
+     *
+     * @param serviceEthicalreviewinitiate 浼︾悊瀹℃煡鍙戣捣
+     * @return 浼︾悊瀹℃煡鍙戣捣闆嗗悎
+     */
+    public List<ServiceEthicalreviewinitiate> selectServiceEthicalreviewinitiateList(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceMedicalevaluationorganMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceMedicalevaluationorganMapper.java
new file mode 100644
index 0000000..d69ce3d
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceMedicalevaluationorganMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.project.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 鎹愮尞鍣ㄥ畼璇勪及Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Mapper
+public interface ServiceMedicalevaluationorganMapper extends BaseMapper<ServiceMedicalevaluationorgan>
+{
+    /**
+     * 鏌ヨ鎹愮尞鍣ㄥ畼璇勪及鍒楄〃
+     *
+     * @param serviceMedicalevaluationorgan 鎹愮尞鍣ㄥ畼璇勪及
+     * @return 鎹愮尞鍣ㄥ畼璇勪及闆嗗悎
+     */
+    public List<ServiceMedicalevaluationorgan> selectServiceMedicalevaluationorganList(ServiceMedicalevaluationorgan serviceMedicalevaluationorgan);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportFileMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportFileMapper.java
new file mode 100644
index 0000000..5e6fe25
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportFileMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.project.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceTransportFile;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁伴檮浠禡apper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Mapper
+public interface ServiceTransportFileMapper extends BaseMapper<ServiceTransportFile>
+{
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�
+     *
+     * @param serviceTransportFile 渚涜�呰浆杩愮櫥璁伴檮浠�
+     * @return 渚涜�呰浆杩愮櫥璁伴檮浠堕泦鍚�
+     */
+    public List<ServiceTransportFile> selectServiceTransportFileList(ServiceTransportFile serviceTransportFile);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportMapper.java
new file mode 100644
index 0000000..227036a
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTransportMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.project.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceTransport;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁癕apper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Mapper
+public interface ServiceTransportMapper extends BaseMapper<ServiceTransport>
+{
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁板垪琛�
+     *
+     * @param serviceTransport 渚涜�呰浆杩愮櫥璁�
+     * @return 渚涜�呰浆杩愮櫥璁伴泦鍚�
+     */
+    public List<ServiceTransport> selectServiceTransportList(ServiceTransport serviceTransport);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportFileService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportFileService.java
new file mode 100644
index 0000000..2f2e38d
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportFileService.java
@@ -0,0 +1,29 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 妗堜緥涓婃姤闄勪欢Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+public interface IServiceDonatebaseinfoReportFileService extends IService<ServiceDonatebaseinfoReportFile> {
+
+    /**
+     * 鏌ヨ妗堜緥涓婃姤闄勪欢鍒楄〃
+     *
+     * @param serviceDonatebaseinfoReportFile 妗堜緥涓婃姤闄勪欢
+     * @return 妗堜緥涓婃姤闄勪欢闆嗗悎
+     */
+    public List<ServiceDonatebaseinfoReportFile> queryList(ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile);
+
+    //鎵归噺涓婁紶
+    public Boolean addList(List<ServiceDonatebaseinfoReportFile> serviceDonatebaseinfoReportFiles,String caseNo,String updateName);
+
+    public Boolean updateList(List<ServiceDonatebaseinfoReportFile> serviceDonatebaseinfoReportFiles, Long reportId,String caseNo,String updateName);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportService.java
new file mode 100644
index 0000000..b1d23d1
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonatebaseinfoReportService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReport;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鎹愮尞涓婃姤鍩虹Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+public interface IServiceDonatebaseinfoReportService extends IService<ServiceDonatebaseinfoReport> {
+
+    /**
+     * 鏌ヨ鎹愮尞涓婃姤鍩虹鍒楄〃
+     *
+     * @param serviceDonatebaseinfoReport 鎹愮尞涓婃姤鍩虹
+     * @return 鎹愮尞涓婃姤鍩虹闆嗗悎
+     */
+    public Page<ServiceDonatebaseinfoReport> queryList(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport);
+
+    /**
+     * 鑾峰彇鎬绘暟
+     *
+     * @param serviceDonatebaseinfoReport 鎹愮尞涓婃姤鍩虹
+     * @return 鎹愮尞涓婃姤鍩虹闆嗗悎
+     */
+    public Map<String,Object> getTotal(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport, String type);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewinitiateService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewinitiateService.java
new file mode 100644
index 0000000..ea8234a
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewinitiateService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
+
+import java.util.List;
+
+/**
+ * 浼︾悊瀹℃煡鍙戣捣Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-20
+ */
+public interface IServiceEthicalreviewinitiateService extends IService<ServiceEthicalreviewinitiate>
+{
+
+    /**
+     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
+     *
+     * @param serviceEthicalreviewinitiate 浼︾悊瀹℃煡鍙戣捣
+     * @return 浼︾悊瀹℃煡鍙戣捣闆嗗悎
+     */
+    public List<ServiceEthicalreviewinitiate> queryList(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceMedicalevaluationorganService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceMedicalevaluationorganService.java
new file mode 100644
index 0000000..3106b13
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceMedicalevaluationorganService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
+
+import java.util.List;
+
+/**
+ * 鎹愮尞鍣ㄥ畼璇勪及Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+public interface IServiceMedicalevaluationorganService extends IService<ServiceMedicalevaluationorgan>
+{
+
+    /**
+     * 鏌ヨ鎹愮尞鍣ㄥ畼璇勪及鍒楄〃
+     *
+     * @param serviceMedicalevaluationorgan 鎹愮尞鍣ㄥ畼璇勪及
+     * @return 鎹愮尞鍣ㄥ畼璇勪及闆嗗悎
+     */
+    public List<ServiceMedicalevaluationorgan> queryList(ServiceMedicalevaluationorgan serviceMedicalevaluationorgan);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportFileService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportFileService.java
new file mode 100644
index 0000000..6dd680a
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportFileService.java
@@ -0,0 +1,29 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceTransportFile;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁伴檮浠禨ervice鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+public interface IServiceTransportFileService extends IService<ServiceTransportFile>
+{
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�
+     *
+     * @param serviceTransportFile 渚涜�呰浆杩愮櫥璁伴檮浠�
+     * @return 渚涜�呰浆杩愮櫥璁伴檮浠堕泦鍚�
+     */
+    public List<ServiceTransportFile> queryList(ServiceTransportFile serviceTransportFile);
+
+    public Boolean addList(List<ServiceTransportFile> annexfilesList, Long transportId,String caseNo,String updateName);
+
+    public Boolean updateList(List<ServiceTransportFile> annexfilesList,Long reportId,String caseNo,String updateName);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportService.java
new file mode 100644
index 0000000..45022c2
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTransportService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceTransport;
+
+import java.util.List;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁癝ervice鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+public interface IServiceTransportService extends IService<ServiceTransport>
+{
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁板垪琛�
+     *
+     * @param serviceTransport 渚涜�呰浆杩愮櫥璁�
+     * @return 渚涜�呰浆杩愮櫥璁伴泦鍚�
+     */
+    public Page<ServiceTransport> queryList(ServiceTransport serviceTransport);
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁板垪琛�
+     *
+     * @param serviceTransport 渚涜�呰浆杩愮櫥璁�
+     * @return 渚涜�呰浆杩愮櫥璁伴泦鍚�
+     */
+    public List<ServiceTransport> queryListData(ServiceTransport serviceTransport);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/BaseAnnextypeServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/BaseAnnextypeServiceImpl.java
index d3eb0ec..859a558 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/BaseAnnextypeServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/BaseAnnextypeServiceImpl.java
@@ -13,38 +13,40 @@
 
 /**
  * 鎹愮尞闄勪欢Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2023-11-10
  */
 @Service
-public class BaseAnnextypeServiceImpl extends ServiceImpl<BaseAnnextypeMapper, BaseAnnextype> implements IBaseAnnextypeService
-{
+public class BaseAnnextypeServiceImpl extends ServiceImpl<BaseAnnextypeMapper, BaseAnnextype> implements IBaseAnnextypeService {
 
 
     /**
      * 鏌ヨ鎹愮尞闄勪欢鍒楄〃
-     * 
+     *
      * @param baseAnnextype 鎹愮尞闄勪欢
      * @return 鎹愮尞闄勪欢
      */
     @Override
     public List<BaseAnnextype> queryList(BaseAnnextype baseAnnextype) {
         LambdaQueryWrapper<BaseAnnextype> wrappers = Wrappers.lambdaQuery();
-        if (StringUtils.isNotBlank(baseAnnextype.getDonationcategory())){
-            wrappers.eq(BaseAnnextype::getDonationcategory ,baseAnnextype.getDonationcategory());
+        if (StringUtils.isNotBlank(baseAnnextype.getDonationcategory())) {
+            wrappers.eq(BaseAnnextype::getDonationcategory, baseAnnextype.getDonationcategory());
         }
-        if (StringUtils.isNotBlank(baseAnnextype.getAnnextype())){
-            wrappers.eq(BaseAnnextype::getAnnextype ,baseAnnextype.getAnnextype());
+        if (StringUtils.isNotBlank(baseAnnextype.getAnnextype())) {
+            wrappers.eq(BaseAnnextype::getAnnextype, baseAnnextype.getAnnextype());
         }
-        if (StringUtils.isNotBlank(baseAnnextype.getAnnexname())){
-            wrappers.like(BaseAnnextype::getAnnexname ,baseAnnextype.getAnnexname());
+        if (StringUtils.isNotBlank(baseAnnextype.getAnnexname())) {
+            wrappers.like(BaseAnnextype::getAnnexname, baseAnnextype.getAnnexname());
         }
-        if (baseAnnextype.getNeed() != null){
-            wrappers.eq(BaseAnnextype::getNeed ,baseAnnextype.getNeed());
+        if (baseAnnextype.getNeed() != null) {
+            wrappers.eq(BaseAnnextype::getNeed, baseAnnextype.getNeed());
         }
-        if (baseAnnextype.getSeqno() != null){
-            wrappers.eq(BaseAnnextype::getSeqno ,baseAnnextype.getSeqno());
+        if (baseAnnextype.getSeqno() != null) {
+            wrappers.eq(BaseAnnextype::getSeqno, baseAnnextype.getSeqno());
+        }
+        if (StringUtils.isNotBlank(baseAnnextype.getCaseNo())) {
+            wrappers.eq(BaseAnnextype::getCaseNo, baseAnnextype.getCaseNo());
         }
         return this.list(wrappers);
     }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java
index a2e6438..9220dee 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java
@@ -53,6 +53,9 @@
         if (serviceDonateannex.getInfoid() != null) {
             wrappers.eq(ServiceDonateannex::getInfoid, serviceDonateannex.getInfoid());
         }
+        if (serviceDonateannex.getCaseNo() != null) {
+            wrappers.eq(ServiceDonateannex::getCaseNo, serviceDonateannex.getCaseNo());
+        }
         if (StringUtils.isNotBlank(serviceDonateannex.getDonorno())) {
             wrappers.eq(ServiceDonateannex::getDonorno, serviceDonateannex.getDonorno());
         }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportFileServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportFileServiceImpl.java
new file mode 100644
index 0000000..16d8ac0
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportFileServiceImpl.java
@@ -0,0 +1,112 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import com.ruoyi.project.mapper.ServiceDonatebaseinfoReportFileMapper;
+import com.ruoyi.project.service.IServiceDonatebaseinfoReportFileService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * 妗堜緥涓婃姤闄勪欢Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Service
+public class ServiceDonatebaseinfoReportFileServiceImpl extends ServiceImpl<ServiceDonatebaseinfoReportFileMapper, ServiceDonatebaseinfoReportFile> implements IServiceDonatebaseinfoReportFileService {
+
+
+    /**
+     * 鏌ヨ妗堜緥涓婃姤闄勪欢鍒楄〃
+     *
+     * @param serviceDonatebaseinfoReportFile 妗堜緥涓婃姤闄勪欢
+     * @return 妗堜緥涓婃姤闄勪欢
+     */
+    @Override
+    public List<ServiceDonatebaseinfoReportFile> queryList(ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile) {
+        LambdaQueryWrapper<ServiceDonatebaseinfoReportFile> wrappers = Wrappers.lambdaQuery();
+        if (serviceDonatebaseinfoReportFile.getDonatebaseinfoReportId() != null) {
+            wrappers.eq(ServiceDonatebaseinfoReportFile::getDonatebaseinfoReportId, serviceDonatebaseinfoReportFile.getDonatebaseinfoReportId());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReportFile.getFileName())) {
+            wrappers.eq(ServiceDonatebaseinfoReportFile::getFileName, serviceDonatebaseinfoReportFile.getFileName());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReportFile.getType())) {
+            wrappers.eq(ServiceDonatebaseinfoReportFile::getType, serviceDonatebaseinfoReportFile.getType());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReportFile.getPath())) {
+            wrappers.eq(ServiceDonatebaseinfoReportFile::getPath, serviceDonatebaseinfoReportFile.getPath());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReportFile.getRemart())) {
+            wrappers.eq(ServiceDonatebaseinfoReportFile::getRemart, serviceDonatebaseinfoReportFile.getRemart());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReportFile.getCaseNo())) {
+            wrappers.eq(ServiceDonatebaseinfoReportFile::getCaseNo, serviceDonatebaseinfoReportFile.getCaseNo());
+        }
+        return this.list(wrappers);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean addList(List<ServiceDonatebaseinfoReportFile> serviceDonatebaseinfoReportFiles,String caseNo,String createName) {
+        boolean save = false;
+        if (CollectionUtils.isNotEmpty(serviceDonatebaseinfoReportFiles)) {
+            for (ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile : serviceDonatebaseinfoReportFiles) {
+                serviceDonatebaseinfoReportFile.setCreateTime(new Date());
+                serviceDonatebaseinfoReportFile.setCreateBy(createName);
+                serviceDonatebaseinfoReportFile.setCaseNo(caseNo);
+                serviceDonatebaseinfoReportFile.setCreateTime(new Date());
+                save = save(serviceDonatebaseinfoReportFile);
+            }
+        }
+        return save;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean updateList(List<ServiceDonatebaseinfoReportFile> serviceDonatebaseinfoReportFiles, Long reportId,String caseNo,String updateName) {
+        // 鍏堝皢鏁版嵁鏌ュ嚭鏉�
+        List<ServiceDonatebaseinfoReportFile> list = list(new LambdaQueryWrapper<ServiceDonatebaseinfoReportFile>().eq(ServiceDonatebaseinfoReportFile::getDonatebaseinfoReportId, reportId));
+
+        // 鎻愬彇鐜版湁璁板綍鐨勮矾寰勯泦鍚堬紝鐢ㄤ簬楂樻晥姣旇緝
+        Set<String> existingPaths = list.stream().map(file -> StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName().trim() : "").filter(StringUtils::isNotEmpty).collect(Collectors.toSet());
+
+        // 鎻愬彇寰呭鐞嗚矾寰勯泦鍚�
+        Set<String> newPathSet = serviceDonatebaseinfoReportFiles.stream().map(serviceDonatebaseinfoReportFile -> StringUtils.isNotEmpty(serviceDonatebaseinfoReportFile.getFileName()) ? serviceDonatebaseinfoReportFile.getFileName().trim() : "").filter(StringUtils::isNotEmpty).collect(Collectors.toSet());
+
+        boolean result = true;
+
+        // 鏍囪闇�瑕佸垹闄ょ殑璁板綍锛堝瓨鍦ㄤ簬鏁版嵁搴撲絾涓嶅湪鏂板垪琛ㄤ腑锛�
+        for (ServiceDonatebaseinfoReportFile file : list) {
+            if (StringUtils.isNotEmpty(file.getPath()) && !newPathSet.contains(file.getPath().trim())) {
+                file.setDelFlag(1);
+                file.setUpdateTime(new Date());
+                file.setUpdateBy(updateName);
+                result &= updateById(file);
+            }
+        }
+
+        // 娣诲姞鏂扮殑璁板綍
+        for (ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile : serviceDonatebaseinfoReportFiles) {
+            if (StringUtils.isNotEmpty(serviceDonatebaseinfoReportFile.getFileName()) && !existingPaths.contains(serviceDonatebaseinfoReportFile.getFileName().trim())) {
+                serviceDonatebaseinfoReportFile.setUpdateBy(updateName);
+                serviceDonatebaseinfoReportFile.setUpdateTime(new Date());
+                serviceDonatebaseinfoReportFile.setCaseNo(caseNo);
+                result &= save(serviceDonatebaseinfoReportFile);
+            }
+        }
+
+        return result;
+    }
+}
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
new file mode 100644
index 0000000..60f40e7
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
@@ -0,0 +1,255 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.common.CalculateDateUtils;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReport;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import com.ruoyi.project.domain.ServiceTransport;
+import com.ruoyi.project.mapper.ServiceDonatebaseinfoReportMapper;
+import com.ruoyi.project.service.IServiceDonatebaseinfoReportFileService;
+import com.ruoyi.project.service.IServiceDonatebaseinfoReportService;
+import com.ruoyi.project.service.IServiceTransportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鎹愮尞涓婃姤鍩虹Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Service
+public class ServiceDonatebaseinfoReportServiceImpl extends ServiceImpl<ServiceDonatebaseinfoReportMapper, ServiceDonatebaseinfoReport> implements IServiceDonatebaseinfoReportService {
+    @Autowired
+    private IServiceDonatebaseinfoReportFileService serviceDonatebaseinfoReportFileService;
+    @Autowired
+    private IServiceTransportService serviceTransportService;
+
+    @Autowired
+    private ServiceDonatebaseinfoReportMapper serviceDonatebaseinfoReportMapper;
+
+    /**
+     * 鏌ヨ鎹愮尞涓婃姤鍩虹鍒楄〃
+     *
+     * @param serviceDonatebaseinfoReport 鎹愮尞涓婃姤鍩虹
+     * @return 鎹愮尞涓婃姤鍩虹
+     */
+    @Override
+    public Page<ServiceDonatebaseinfoReport> queryList(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        LambdaQueryWrapper<ServiceDonatebaseinfoReport> wrappers = getWrapper(serviceDonatebaseinfoReport);
+        // 鍒涘缓鍒嗛〉瀵硅薄锛岃缃〉鐮佸拰姣忛〉澶у皬
+        int currentPage = (serviceDonatebaseinfoReport.getPageNum() == null || serviceDonatebaseinfoReport.getPageNum() < 1) ? 1 : serviceDonatebaseinfoReport.getPageNum();
+        int size = (serviceDonatebaseinfoReport.getPageSize() == null || serviceDonatebaseinfoReport.getPageSize() < 1) ? 10 : serviceDonatebaseinfoReport.getPageSize();
+        Page<ServiceDonatebaseinfoReport> page = new Page<>(currentPage, size);
+
+        List<ServiceDonatebaseinfoReport> serviceDonatebaseinfoReportPage = serviceDonatebaseinfoReportMapper.selectPage(page, wrappers).getRecords();
+        for (ServiceDonatebaseinfoReport serviceDonatebaseinfoReport1 : serviceDonatebaseinfoReportPage) {
+            ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile = new ServiceDonatebaseinfoReportFile();
+            serviceDonatebaseinfoReportFile.setDonatebaseinfoReportId(serviceDonatebaseinfoReport1.getId());
+            serviceDonatebaseinfoReportFile.setCaseNo(serviceDonatebaseinfoReport1.getCaseNo());
+            serviceDonatebaseinfoReportFile.setDelFlag(0);
+            List<ServiceDonatebaseinfoReportFile> serviceDonatebaseinfoReportFiles = serviceDonatebaseinfoReportFileService.queryList(serviceDonatebaseinfoReportFile);
+            serviceDonatebaseinfoReport1.setAnnexfilesList(serviceDonatebaseinfoReportFiles);
+
+            //鏌ヨ杞繍淇℃伅
+            ServiceTransport serviceTransport = new ServiceTransport();
+            serviceTransport.setCaseNo(serviceDonatebaseinfoReport1.getCaseNo());
+            serviceTransport.setReportId(serviceDonatebaseinfoReport1.getId());
+            serviceTransport.setDelFlag(0);
+            List<ServiceTransport> serviceTransports = serviceTransportService.queryListData(serviceTransport);
+            serviceDonatebaseinfoReport1.setServiceTransport(serviceTransports);
+
+//            //璁$畻骞撮緞
+//            if (serviceDonatebaseinfoReport1.getBirthday() != null) {
+//                Map<String, String> map = CalculateDateUtils.calculateAge(serviceDonatebaseinfoReport1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+//                serviceDonatebaseinfoReport1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+//                serviceDonatebaseinfoReport1.setAgeunit(map.get("ageUnit"));
+//                // serviceDonatebaseinfoReport1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+//                // serviceDonatebaseinfoReport1.setAgeunit2(map.get("ageUnit2"));
+//            }
+        }
+        page.setRecords(serviceDonatebaseinfoReportPage);
+        return page;
+    }
+
+    @Override
+    public Map<String, Object> getTotal(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport, String type) {
+        Map<String, Object> map = new HashMap<>();
+        Integer all = 0;
+        if (StringUtils.isNotEmpty(type)) {
+            List<String> list = Arrays.asList(type.split(","));
+            for (String status : list) {
+                serviceDonatebaseinfoReport.setReportStatus(status);
+                serviceDonatebaseinfoReport.setDelFlag(0);
+                List<ServiceDonatebaseinfoReport> list1 = this.list(getWrapper(serviceDonatebaseinfoReport));
+                //鍗曚釜鐘舵�佺殑鎬绘暟
+                map.put(status, list1.size());
+                all += list1.size();
+            }
+        }
+        //鎵�鏈夌姸鎬佺殑鎬绘暟
+        map.put("all", all);
+        return map;
+    }
+
+    private LambdaQueryWrapper<ServiceDonatebaseinfoReport> getWrapper(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
+        LambdaQueryWrapper<ServiceDonatebaseinfoReport> wrappers = Wrappers.lambdaQuery();
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getCaseNo())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getCaseNo, serviceDonatebaseinfoReport.getCaseNo());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getName())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getName, serviceDonatebaseinfoReport.getName());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getSex())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getSex, serviceDonatebaseinfoReport.getSex());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReportStatus())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getReportStatus, serviceDonatebaseinfoReport.getReportStatus());
+        }
+        if (serviceDonatebaseinfoReport.getIdcardtype() != null) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getIdcardtype, serviceDonatebaseinfoReport.getIdcardtype());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getIdcardno())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getIdcardno, serviceDonatebaseinfoReport.getIdcardno());
+        }
+        if (serviceDonatebaseinfoReport.getAge() != null) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getAge, serviceDonatebaseinfoReport.getAge());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getAgeunit())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getAgeunit, serviceDonatebaseinfoReport.getAgeunit());
+        }
+        if (serviceDonatebaseinfoReport.getBirthday() != null) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getBirthday, serviceDonatebaseinfoReport.getBirthday());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getPhone())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getPhone, serviceDonatebaseinfoReport.getPhone());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getNationality())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getNationality, serviceDonatebaseinfoReport.getNationality());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getNativeplace())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getNativeplace, serviceDonatebaseinfoReport.getNativeplace());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getNation())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getNation, serviceDonatebaseinfoReport.getNation());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getOccupation())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getOccupation, serviceDonatebaseinfoReport.getOccupation());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getEducation())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getEducation, serviceDonatebaseinfoReport.getEducation());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidenceaddress())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getResidenceaddress, serviceDonatebaseinfoReport.getResidenceaddress());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidenceprovince())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getResidenceprovince, serviceDonatebaseinfoReport.getResidenceprovince());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidenceprovincename())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getResidenceprovincename, serviceDonatebaseinfoReport.getResidenceprovincename());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidencetownname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getResidencetownname, serviceDonatebaseinfoReport.getResidencetownname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidencecommunity())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getResidencecommunity, serviceDonatebaseinfoReport.getResidencecommunity());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidencecommunityname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getResidencecommunityname, serviceDonatebaseinfoReport.getResidencecommunityname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidencecountycode())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getResidencecountycode, serviceDonatebaseinfoReport.getResidencecountycode());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getResidencecountyname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getResidencecountyname, serviceDonatebaseinfoReport.getResidencecountyname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRegisteraddress())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getRegisteraddress, serviceDonatebaseinfoReport.getRegisteraddress());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRegisterprovince())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getRegisterprovince, serviceDonatebaseinfoReport.getRegisterprovince());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRegisterprovincename())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getRegisterprovincename, serviceDonatebaseinfoReport.getRegisterprovincename());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRegistercityname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getRegistercityname, serviceDonatebaseinfoReport.getRegistercityname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRegistertownname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getRegistertownname, serviceDonatebaseinfoReport.getRegistertownname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRegistercommunityname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getRegistercommunityname, serviceDonatebaseinfoReport.getRegistercommunityname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getTreatmenthospitalname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getTreatmenthospitalname, serviceDonatebaseinfoReport.getTreatmenthospitalname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getTreatmentdeptname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getTreatmentdeptname, serviceDonatebaseinfoReport.getTreatmentdeptname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getDiagnosisname())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getDiagnosisname, serviceDonatebaseinfoReport.getDiagnosisname());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getInpatientno())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getInpatientno, serviceDonatebaseinfoReport.getInpatientno());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getIllnessoverview())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getIllnessoverview, serviceDonatebaseinfoReport.getIllnessoverview());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getInfectious())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getInfectious, serviceDonatebaseinfoReport.getInfectious());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getInfectiousOther())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getInfectiousOther, serviceDonatebaseinfoReport.getInfectiousOther());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getPatientstate())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getPatientstate, serviceDonatebaseinfoReport.getPatientstate());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReporterno())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getReporterno, serviceDonatebaseinfoReport.getReporterno());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReportername())) {
+            wrappers.like(ServiceDonatebaseinfoReport::getReportername, serviceDonatebaseinfoReport.getReportername());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReporterphone())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getReporterphone, serviceDonatebaseinfoReport.getReporterphone());
+        }
+        if (serviceDonatebaseinfoReport.getReporttime() != null) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getReporttime, serviceDonatebaseinfoReport.getReporttime());
+        }
+        if (serviceDonatebaseinfoReport.getTerminationCase() != null) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getTerminationCase, serviceDonatebaseinfoReport.getTerminationCase());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getUserNo())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getUserNo, serviceDonatebaseinfoReport.getUserNo());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getUserName())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getUserName, serviceDonatebaseinfoReport.getUserName());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getDeptNo())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getDeptNo, serviceDonatebaseinfoReport.getDeptNo());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getDeptName())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getDeptName, serviceDonatebaseinfoReport.getDeptName());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getIsTransport())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getIsTransport, serviceDonatebaseinfoReport.getIsTransport());
+        }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getGscScore())) {
+            wrappers.eq(ServiceDonatebaseinfoReport::getGscScore, serviceDonatebaseinfoReport.getGscScore());
+        }
+        return wrappers;
+    }
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
index 43237dd..c1b89d7 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
@@ -113,6 +113,9 @@
         if (StringUtils.isNotBlank(serviceDonatebaseinfo.getReportername())) {
             wrappers.like(ServiceDonatebaseinfo::getReportername, serviceDonatebaseinfo.getReportername());
         }
+        if (StringUtils.isNotBlank(serviceDonatebaseinfo.getCaseNo())) {
+            wrappers.like(ServiceDonatebaseinfo::getCaseNo, serviceDonatebaseinfo.getCaseNo());
+        }
         Map<String, Object> params = serviceDonatebaseinfo.getParams();
         if (params.get("beginReporttime") != null && params.get("endReporttime") != null) {
             wrappers.between(ServiceDonatebaseinfo::getReporttime, params.get("beginReporttime"), params.get("endReporttime"));
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecomporganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecomporganServiceImpl.java
index 1be4b6c..ed07471 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecomporganServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecomporganServiceImpl.java
@@ -13,107 +13,109 @@
 
 /**
  * 鎹愮尞鍣ㄥ畼绉绘Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2023-12-25
  */
 @Service
-public class ServiceDonatecomporganServiceImpl extends ServiceImpl<ServiceDonatecomporganMapper, ServiceDonatecomporgan> implements IServiceDonatecomporganService
-{
+public class ServiceDonatecomporganServiceImpl extends ServiceImpl<ServiceDonatecomporganMapper, ServiceDonatecomporgan> implements IServiceDonatecomporganService {
 
 
     /**
      * 鏌ヨ鎹愮尞鍣ㄥ畼绉绘鍒楄〃
-     * 
+     *
      * @param serviceDonatecomporgan 鎹愮尞鍣ㄥ畼绉绘
      * @return 鎹愮尞鍣ㄥ畼绉绘
      */
     @Override
     public List<ServiceDonatecomporgan> queryList(ServiceDonatecomporgan serviceDonatecomporgan) {
         LambdaQueryWrapper<ServiceDonatecomporgan> wrappers = Wrappers.lambdaQuery();
-        if (serviceDonatecomporgan.getInfoid() != null){
-            wrappers.eq(ServiceDonatecomporgan::getInfoid ,serviceDonatecomporgan.getInfoid());
+        if (serviceDonatecomporgan.getInfoid() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getInfoid, serviceDonatecomporgan.getInfoid());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getOrganno())){
-            wrappers.eq(ServiceDonatecomporgan::getOrganno ,serviceDonatecomporgan.getOrganno());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getOrganno())) {
+            wrappers.eq(ServiceDonatecomporgan::getOrganno, serviceDonatecomporgan.getOrganno());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getOrganname())){
-            wrappers.like(ServiceDonatecomporgan::getOrganname ,serviceDonatecomporgan.getOrganname());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getOrganname())) {
+            wrappers.like(ServiceDonatecomporgan::getOrganname, serviceDonatecomporgan.getOrganname());
         }
-        if (serviceDonatecomporgan.getTransplantstate() != null){
-            wrappers.eq(ServiceDonatecomporgan::getTransplantstate ,serviceDonatecomporgan.getTransplantstate());
+        if (serviceDonatecomporgan.getTransplantstate() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getTransplantstate, serviceDonatecomporgan.getTransplantstate());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getAbandonreason())){
-            wrappers.eq(ServiceDonatecomporgan::getAbandonreason ,serviceDonatecomporgan.getAbandonreason());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getAbandonreason())) {
+            wrappers.eq(ServiceDonatecomporgan::getAbandonreason, serviceDonatecomporgan.getAbandonreason());
         }
-        if (serviceDonatecomporgan.getTransplanttime() != null){
-            wrappers.eq(ServiceDonatecomporgan::getTransplanttime ,serviceDonatecomporgan.getTransplanttime());
+        if (serviceDonatecomporgan.getTransplanttime() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getTransplanttime, serviceDonatecomporgan.getTransplanttime());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getTransplantdoct())){
-            wrappers.eq(ServiceDonatecomporgan::getTransplantdoct ,serviceDonatecomporgan.getTransplantdoct());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getTransplantdoct())) {
+            wrappers.eq(ServiceDonatecomporgan::getTransplantdoct, serviceDonatecomporgan.getTransplantdoct());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getHospitalno())){
-            wrappers.eq(ServiceDonatecomporgan::getHospitalno ,serviceDonatecomporgan.getHospitalno());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getHospitalno())) {
+            wrappers.eq(ServiceDonatecomporgan::getHospitalno, serviceDonatecomporgan.getHospitalno());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getHospitalname())){
-            wrappers.like(ServiceDonatecomporgan::getHospitalname ,serviceDonatecomporgan.getHospitalname());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getHospitalname())) {
+            wrappers.like(ServiceDonatecomporgan::getHospitalname, serviceDonatecomporgan.getHospitalname());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getName())){
-            wrappers.like(ServiceDonatecomporgan::getName ,serviceDonatecomporgan.getName());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getName())) {
+            wrappers.like(ServiceDonatecomporgan::getName, serviceDonatecomporgan.getName());
         }
-        if (serviceDonatecomporgan.getSex() != null){
-            wrappers.eq(ServiceDonatecomporgan::getSex ,serviceDonatecomporgan.getSex());
+        if (serviceDonatecomporgan.getSex() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getSex, serviceDonatecomporgan.getSex());
         }
-        if (serviceDonatecomporgan.getIdcardtype() != null){
-            wrappers.eq(ServiceDonatecomporgan::getIdcardtype ,serviceDonatecomporgan.getIdcardtype());
+        if (serviceDonatecomporgan.getIdcardtype() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getIdcardtype, serviceDonatecomporgan.getIdcardtype());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getIdcardno())){
-            wrappers.eq(ServiceDonatecomporgan::getIdcardno ,serviceDonatecomporgan.getIdcardno());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getIdcardno())) {
+            wrappers.eq(ServiceDonatecomporgan::getIdcardno, serviceDonatecomporgan.getIdcardno());
         }
-        if (serviceDonatecomporgan.getAge() != null){
-            wrappers.eq(ServiceDonatecomporgan::getAge ,serviceDonatecomporgan.getAge());
+        if (serviceDonatecomporgan.getAge() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getAge, serviceDonatecomporgan.getAge());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getAgeunit())){
-            wrappers.eq(ServiceDonatecomporgan::getAgeunit ,serviceDonatecomporgan.getAgeunit());
+        if (serviceDonatecomporgan.getCaseNo() != null) {
+            wrappers.eq(ServiceDonatecomporgan::getCaseNo, serviceDonatecomporgan.getCaseNo());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getBirthday())){
-            wrappers.eq(ServiceDonatecomporgan::getBirthday ,serviceDonatecomporgan.getBirthday());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getAgeunit())) {
+            wrappers.eq(ServiceDonatecomporgan::getAgeunit, serviceDonatecomporgan.getAgeunit());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getPhone())){
-            wrappers.eq(ServiceDonatecomporgan::getPhone ,serviceDonatecomporgan.getPhone());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getBirthday())) {
+            wrappers.eq(ServiceDonatecomporgan::getBirthday, serviceDonatecomporgan.getBirthday());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidenceaddress())){
-            wrappers.eq(ServiceDonatecomporgan::getResidenceaddress ,serviceDonatecomporgan.getResidenceaddress());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getPhone())) {
+            wrappers.eq(ServiceDonatecomporgan::getPhone, serviceDonatecomporgan.getPhone());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidenceprovince())){
-            wrappers.eq(ServiceDonatecomporgan::getResidenceprovince ,serviceDonatecomporgan.getResidenceprovince());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidenceaddress())) {
+            wrappers.eq(ServiceDonatecomporgan::getResidenceaddress, serviceDonatecomporgan.getResidenceaddress());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidenceprovincename())){
-            wrappers.like(ServiceDonatecomporgan::getResidenceprovincename ,serviceDonatecomporgan.getResidenceprovincename());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidenceprovince())) {
+            wrappers.eq(ServiceDonatecomporgan::getResidenceprovince, serviceDonatecomporgan.getResidenceprovince());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecity())){
-            wrappers.eq(ServiceDonatecomporgan::getResidencecity ,serviceDonatecomporgan.getResidencecity());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidenceprovincename())) {
+            wrappers.like(ServiceDonatecomporgan::getResidenceprovincename, serviceDonatecomporgan.getResidenceprovincename());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecityname())){
-            wrappers.like(ServiceDonatecomporgan::getResidencecityname ,serviceDonatecomporgan.getResidencecityname());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecity())) {
+            wrappers.eq(ServiceDonatecomporgan::getResidencecity, serviceDonatecomporgan.getResidencecity());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencetown())){
-            wrappers.eq(ServiceDonatecomporgan::getResidencetown ,serviceDonatecomporgan.getResidencetown());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecityname())) {
+            wrappers.like(ServiceDonatecomporgan::getResidencecityname, serviceDonatecomporgan.getResidencecityname());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencetownname())){
-            wrappers.like(ServiceDonatecomporgan::getResidencetownname ,serviceDonatecomporgan.getResidencetownname());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencetown())) {
+            wrappers.eq(ServiceDonatecomporgan::getResidencetown, serviceDonatecomporgan.getResidencetown());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecommunity())){
-            wrappers.eq(ServiceDonatecomporgan::getResidencecommunity ,serviceDonatecomporgan.getResidencecommunity());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencetownname())) {
+            wrappers.like(ServiceDonatecomporgan::getResidencetownname, serviceDonatecomporgan.getResidencetownname());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecommunityname())){
-            wrappers.like(ServiceDonatecomporgan::getResidencecommunityname ,serviceDonatecomporgan.getResidencecommunityname());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecommunity())) {
+            wrappers.eq(ServiceDonatecomporgan::getResidencecommunity, serviceDonatecomporgan.getResidencecommunity());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecountycode())){
-            wrappers.eq(ServiceDonatecomporgan::getResidencecountycode ,serviceDonatecomporgan.getResidencecountycode());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecommunityname())) {
+            wrappers.like(ServiceDonatecomporgan::getResidencecommunityname, serviceDonatecomporgan.getResidencecommunityname());
         }
-        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecountyname())){
-            wrappers.like(ServiceDonatecomporgan::getResidencecountyname ,serviceDonatecomporgan.getResidencecountyname());
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecountycode())) {
+            wrappers.eq(ServiceDonatecomporgan::getResidencecountycode, serviceDonatecomporgan.getResidencecountycode());
+        }
+        if (StringUtils.isNotBlank(serviceDonatecomporgan.getResidencecountyname())) {
+            wrappers.like(ServiceDonatecomporgan::getResidencecountyname, serviceDonatecomporgan.getResidencecountyname());
         }
         return this.list(wrappers);
     }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewinitiateServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewinitiateServiceImpl.java
new file mode 100644
index 0000000..52543f2
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewinitiateServiceImpl.java
@@ -0,0 +1,57 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
+import com.ruoyi.project.mapper.ServiceEthicalreviewinitiateMapper;
+import com.ruoyi.project.service.IServiceEthicalreviewinitiateService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 浼︾悊瀹℃煡鍙戣捣Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-12-20
+ */
+@Service
+public class ServiceEthicalreviewinitiateServiceImpl extends ServiceImpl<ServiceEthicalreviewinitiateMapper, ServiceEthicalreviewinitiate> implements IServiceEthicalreviewinitiateService {
+
+
+    /**
+     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
+     *
+     * @param serviceEthicalreviewinitiate 浼︾悊瀹℃煡鍙戣捣
+     * @return 浼︾悊瀹℃煡鍙戣捣
+     */
+    @Override
+    public List<ServiceEthicalreviewinitiate> queryList(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
+        LambdaQueryWrapper<ServiceEthicalreviewinitiate> wrappers = Wrappers.lambdaQuery();
+        if (serviceEthicalreviewinitiate.getInfoid() != null) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getInfoid, serviceEthicalreviewinitiate.getInfoid());
+        }
+        if (StringUtils.isNotBlank(serviceEthicalreviewinitiate.getCaseNo())) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getCaseNo, serviceEthicalreviewinitiate.getCaseNo());
+        }
+        if (StringUtils.isNotBlank(serviceEthicalreviewinitiate.getInitiatePerson())) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getInitiatePerson, serviceEthicalreviewinitiate.getInitiatePerson());
+        }
+        if (serviceEthicalreviewinitiate.getStartTime() != null) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getStartTime, serviceEthicalreviewinitiate.getStartTime());
+        }
+        if (serviceEthicalreviewinitiate.getEndTime() != null) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getEndTime, serviceEthicalreviewinitiate.getEndTime());
+        }
+        if (StringUtils.isNotBlank(serviceEthicalreviewinitiate.getInitiateTheme())) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getInitiateTheme, serviceEthicalreviewinitiate.getInitiateTheme());
+        }
+        if (serviceEthicalreviewinitiate.getCutOffTime() != null) {
+            wrappers.eq(ServiceEthicalreviewinitiate::getCutOffTime, serviceEthicalreviewinitiate.getCutOffTime());
+        }
+        return this.list(wrappers);
+    }
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
index 1d5aaab..7b54bc9 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
@@ -65,6 +65,9 @@
         if (StringUtils.isNotBlank(serviceEthicalreviewopinions.getExpertopinion())) {
             wrappers.eq(ServiceEthicalreviewopinions::getExpertopinion, serviceEthicalreviewopinions.getExpertopinion());
         }
+        if (StringUtils.isNotBlank(serviceEthicalreviewopinions.getCaseNo())) {
+            wrappers.eq(ServiceEthicalreviewopinions::getCaseNo, serviceEthicalreviewopinions.getCaseNo());
+        }
         if (serviceEthicalreviewopinions.getExpertconclusion() != null) {
             wrappers.eq(ServiceEthicalreviewopinions::getExpertconclusion, serviceEthicalreviewopinions.getExpertconclusion());
         }
@@ -80,6 +83,21 @@
         if (serviceEthicalreviewopinions.getConclusionorder() != null) {
             wrappers.eq(ServiceEthicalreviewopinions::getConclusionorder, serviceEthicalreviewopinions.getConclusionorder());
         }
+        if (serviceEthicalreviewopinions.getSendType() != null) {
+            wrappers.eq(ServiceEthicalreviewopinions::getSendType, serviceEthicalreviewopinions.getSendType());
+        }
+        if (serviceEthicalreviewopinions.getReceiveStatus() != null) {
+            wrappers.eq(ServiceEthicalreviewopinions::getReceiveStatus, serviceEthicalreviewopinions.getReceiveStatus());
+        }
+        if (StringUtils.isNotEmpty(serviceEthicalreviewopinions.getDeptCode())) {
+            wrappers.eq(ServiceEthicalreviewopinions::getDeptCode, serviceEthicalreviewopinions.getDeptCode());
+        }
+        if (StringUtils.isNotEmpty(serviceEthicalreviewopinions.getDeptName())) {
+            wrappers.eq(ServiceEthicalreviewopinions::getDeptName, serviceEthicalreviewopinions.getDeptName());
+        }
+        if (StringUtils.isNotEmpty(serviceEthicalreviewopinions.getOrganType())) {
+            wrappers.eq(ServiceEthicalreviewopinions::getOrganType, serviceEthicalreviewopinions.getOrganType());
+        }
         return this.list(wrappers);
     }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
index 0434b71..e83fc0f 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -169,7 +169,7 @@
             List<ServiceFund> serviceFunds = queryInfoById(serviceFund);
             ServiceFund serviceFund1 = serviceFunds.get(0);
             serviceFund1.setFlowlevel(100L);
-            serviceFund1.setDel_flag(0);
+            serviceFund1.setDelFlag(0);
             serviceFund1.setRecordstatus(-1);
             serviceFund1.setBackflowlevel(199);
             updateById(serviceFund1);
@@ -363,7 +363,7 @@
             wrappers.eq(ServiceFund::getId, serviceFund.getId());
         }
 
-        wrappers.eq(ServiceFund::getDel_flag, "0");
+        wrappers.eq(ServiceFund::getDelFlag, "0");
         return this.list(wrappers);
     }
 
@@ -622,10 +622,6 @@
         data.put("templateCode", "fybxd_rzhc_ceshi");
         //鏄惁涓哄緟鍙戯細0:鏂板缓-鍙戦�侊紱1:鏂板缓-淇濆瓨寰呭彂
         data.put("draft", "0");
-        //鍗忓悓鏍囬鍖洪檮浠讹紝Long鍨婰ist锛屽�间负闄勪欢鐨処d銆侷d鏄檮浠舵帴鍙e搷搴旂粨鏋滀腑fileUrl瀛楁鐨勫��
-//        data.put("attachments", null);
-        //鍗忓悓鍏枃鐨刬d
-//        data.put("relateDoc", "col|123,456;doc|321,654");
         //鏈缃彇妯℃澘璁剧疆鐨勬爣棰�
         data.put("subject", "null");
         ServiceFund serviceFund1 = serviceFundMapper.selectById(serviceFund.getId());
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java
index fc34d78..67acaa6 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java
@@ -177,7 +177,7 @@
     @Override
     public List<ServiceFundShared> queryFundShareList() {
         LambdaQueryWrapper<ServiceFundShared> wrappers = Wrappers.lambdaQuery();
-        wrappers.eq(ServiceFundShared::getDel_flag, 0);
+        wrappers.eq(ServiceFundShared::getDelFlag, 0);
       //  wrappers.isNotNull(ServiceFundShared::getCxrjyj);
 
         return this.list(wrappers);
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
index 251704e..2d185cb 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -101,8 +101,8 @@
         if (StringUtils.isNotBlank(serviceFunddetail.getApplytype())) {
             wrappers.eq(ServiceFunddetail::getApplytype, serviceFunddetail.getApplytype());
         }
-        if (serviceFunddetail.getDel_flag() != null) {
-            wrappers.eq(ServiceFunddetail::getDel_flag, serviceFunddetail.getDel_flag());
+        if (serviceFunddetail.getDelFlag() != null) {
+            wrappers.eq(ServiceFunddetail::getDelFlag, serviceFunddetail.getDelFlag());
         }
         if (serviceFunddetail.getDeptId() != null) {
             wrappers.eq(ServiceFunddetail::getDeptId, serviceFunddetail.getDeptId());
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java
index 04b4c89..9271733 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java
@@ -197,7 +197,7 @@
         // 3. 鏌ヨ鏈壒娆℃墍鏈塖erviceFund锛堟寜id鍗囧簭锛�
         ServiceFund serviceFund = new ServiceFund();
         serviceFund.setFundTaxId(fundTaxVO.getFundTaxId());
-        serviceFund.setDel_flag(0);
+        serviceFund.setDelFlag(0);
         List<ServiceFund> serviceFunds = serviceFundService.selectServiceFundList(serviceFund);
         for (ServiceFund serviceFund1 : serviceFunds) {
             serviceFundMapper.updateFundIsTexById(serviceFund1.getId(), 0L);
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
index f80b863..03ea8a4 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
@@ -51,9 +51,15 @@
         if (StringUtils.isNotNull(serviceMedicalevaluation.getInfoid())) {
             wrappers.eq(ServiceMedicalevaluation::getInfoid, serviceMedicalevaluation.getInfoid());
         }
+        if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessState())) {
+            wrappers.eq(ServiceMedicalevaluation::getAssessState, serviceMedicalevaluation.getAssessState());
+        }
         if (StringUtils.isNotBlank(serviceMedicalevaluation.getDonorno())) {
             wrappers.eq(ServiceMedicalevaluation::getDonorno, serviceMedicalevaluation.getDonorno());
         }
+        if (StringUtils.isNotBlank(serviceMedicalevaluation.getCaseNo())) {
+            wrappers.eq(ServiceMedicalevaluation::getCaseNo, serviceMedicalevaluation.getCaseNo());
+        }
         return this.list(wrappers);
     }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationorganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationorganServiceImpl.java
new file mode 100644
index 0000000..49ca424
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationorganServiceImpl.java
@@ -0,0 +1,88 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
+import com.ruoyi.project.mapper.ServiceMedicalevaluationorganMapper;
+import com.ruoyi.project.service.IServiceMedicalevaluationorganService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鎹愮尞鍣ㄥ畼璇勪及Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Service
+public class ServiceMedicalevaluationorganServiceImpl extends ServiceImpl<ServiceMedicalevaluationorganMapper, ServiceMedicalevaluationorgan> implements IServiceMedicalevaluationorganService
+{
+
+
+    /**
+     * 鏌ヨ鎹愮尞鍣ㄥ畼璇勪及鍒楄〃
+     *
+     * @param serviceMedicalevaluationorgan 鎹愮尞鍣ㄥ畼璇勪及
+     * @return 鎹愮尞鍣ㄥ畼璇勪及
+     */
+    @Override
+    public List<ServiceMedicalevaluationorgan> queryList(ServiceMedicalevaluationorgan serviceMedicalevaluationorgan) {
+        LambdaQueryWrapper<ServiceMedicalevaluationorgan> wrappers = Wrappers.lambdaQuery();
+        if (serviceMedicalevaluationorgan.getInfoid() != null){
+            wrappers.eq(ServiceMedicalevaluationorgan::getInfoid ,serviceMedicalevaluationorgan.getInfoid());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getDonorno())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getDonorno ,serviceMedicalevaluationorgan.getDonorno());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getOrganno())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getOrganno ,serviceMedicalevaluationorgan.getOrganno());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getOrganname())){
+            wrappers.like(ServiceMedicalevaluationorgan::getOrganname ,serviceMedicalevaluationorgan.getOrganname());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getOrgannumber())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getOrgannumber ,serviceMedicalevaluationorgan.getOrgannumber());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getOrganState())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getOrganState ,serviceMedicalevaluationorgan.getOrganState());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getNotgetreason())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getNotgetreason ,serviceMedicalevaluationorgan.getNotgetreason());
+        }
+        if (serviceMedicalevaluationorgan.getOrganAssessTime() != null){
+            wrappers.eq(ServiceMedicalevaluationorgan::getOrganAssessTime ,serviceMedicalevaluationorgan.getOrganAssessTime());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getOrganAssessDoct())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getOrganAssessDoct ,serviceMedicalevaluationorgan.getOrganAssessDoct());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getGainhospitalno())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getGainhospitalno ,serviceMedicalevaluationorgan.getGainhospitalno());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getGainhospitalname())){
+            wrappers.like(ServiceMedicalevaluationorgan::getGainhospitalname ,serviceMedicalevaluationorgan.getGainhospitalname());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getIsbiopsybefore())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getIsbiopsybefore ,serviceMedicalevaluationorgan.getIsbiopsybefore());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getIsbiopsyafter())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getIsbiopsyafter ,serviceMedicalevaluationorgan.getIsbiopsyafter());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getIsmarginalorgan())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getIsmarginalorgan ,serviceMedicalevaluationorgan.getIsmarginalorgan());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getIspathogenpositive())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getIspathogenpositive ,serviceMedicalevaluationorgan.getIspathogenpositive());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getIspnf())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getIspnf ,serviceMedicalevaluationorgan.getIspnf());
+        }
+        if (StringUtils.isNotBlank(serviceMedicalevaluationorgan.getIsdgf())){
+            wrappers.eq(ServiceMedicalevaluationorgan::getIsdgf ,serviceMedicalevaluationorgan.getIsdgf());
+        }
+        return this.list(wrappers);
+    }
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
index 1cc2a8b..0cb1940 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -206,7 +206,7 @@
         //鍏堝垽鏂竴涓媠hare琛ㄦ槸鍚﹀凡缁忔彃鍏�
         ServiceReimbursementShared reimbursementShared1 = new ServiceReimbursementShared();
         reimbursementShared1.setReimid(id);
-        reimbursementShared1.setDelFlag(0L);
+        reimbursementShared1.setDelFlag(0);
         List<ServiceReimbursementShared> serviceReimbursementShareds = sharedService.queryList(reimbursementShared1);
         log.info("serviceReimbursementShareds鐨勬煡璇㈢粨鏋� :{}", serviceReimbursementShareds.size());
         if (!CollectionUtils.isEmpty(serviceReimbursementShareds)) {
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java
new file mode 100644
index 0000000..3507562
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java
@@ -0,0 +1,116 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import com.ruoyi.project.domain.ServiceTransportFile;
+import com.ruoyi.project.mapper.ServiceTransportFileMapper;
+import com.ruoyi.project.service.IServiceTransportFileService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁伴檮浠禨ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Service
+public class ServiceTransportFileServiceImpl extends ServiceImpl<ServiceTransportFileMapper, ServiceTransportFile> implements IServiceTransportFileService {
+
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁伴檮浠跺垪琛�
+     *
+     * @param serviceTransportFile 渚涜�呰浆杩愮櫥璁伴檮浠�
+     * @return 渚涜�呰浆杩愮櫥璁伴檮浠�
+     */
+    @Override
+    public List<ServiceTransportFile> queryList(ServiceTransportFile serviceTransportFile) {
+        LambdaQueryWrapper<ServiceTransportFile> wrappers = Wrappers.lambdaQuery();
+        if (serviceTransportFile.getTransportId() != null) {
+            wrappers.eq(ServiceTransportFile::getTransportId, serviceTransportFile.getTransportId());
+        }
+        if (StringUtils.isNotBlank(serviceTransportFile.getFileName())) {
+            wrappers.eq(ServiceTransportFile::getFileName, serviceTransportFile.getFileName());
+        }
+        if (StringUtils.isNotBlank(serviceTransportFile.getType())) {
+            wrappers.eq(ServiceTransportFile::getType, serviceTransportFile.getType());
+        }
+        if (StringUtils.isNotBlank(serviceTransportFile.getPath())) {
+            wrappers.eq(ServiceTransportFile::getPath, serviceTransportFile.getPath());
+        }
+        if (StringUtils.isNotBlank(serviceTransportFile.getRemart())) {
+            wrappers.eq(ServiceTransportFile::getRemart, serviceTransportFile.getRemart());
+        }
+        if (StringUtils.isNotBlank(serviceTransportFile.getCaseNo())) {
+            wrappers.eq(ServiceTransportFile::getCaseNo, serviceTransportFile.getCaseNo());
+        }
+        return this.list(wrappers);
+    }
+
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean addList(List<ServiceTransportFile> annexfilesList, Long transportId,String caseNo,String createName) {
+        boolean save = false;
+        if (CollectionUtils.isNotEmpty(annexfilesList)) {
+            for (ServiceTransportFile serviceTransportFile : annexfilesList) {
+                serviceTransportFile.setTransportId(transportId);
+                serviceTransportFile.setCreateTime(new Date());
+                serviceTransportFile.setCreateBy(createName);
+                serviceTransportFile.setCaseNo(caseNo);
+                save = save(serviceTransportFile);
+            }
+        }
+        return save;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean updateList(List<ServiceTransportFile> annexfilesList, Long reportId,String caseNo,String updateName) {
+        // 鍏堝皢鏁版嵁鏌ュ嚭鏉�
+        List<ServiceTransportFile> list = list(new LambdaQueryWrapper<ServiceTransportFile>().eq(ServiceTransportFile::getTransportId, reportId));
+
+        // 鎻愬彇鐜版湁璁板綍鐨勮矾寰勯泦鍚堬紝鐢ㄤ簬楂樻晥姣旇緝
+        Set<String> existingPaths = list.stream().map(file -> file.getFileName() != null ? file.getPath().trim() : "").filter(StringUtils::isNotEmpty).collect(Collectors.toSet());
+
+        // 鎻愬彇寰呭鐞嗚矾寰勯泦鍚�
+        Set<String> newPathSet = annexfilesList.stream().map(serviceTransportFile -> serviceTransportFile.getFileName() != null ? serviceTransportFile.getFileName().trim() : "").filter(StringUtils::isNotEmpty).collect(Collectors.toSet());
+
+        boolean result = true;
+
+        // 鏍囪闇�瑕佸垹闄ょ殑璁板綍锛堝瓨鍦ㄤ簬鏁版嵁搴撲絾涓嶅湪鏂板垪琛ㄤ腑锛�
+        for (ServiceTransportFile file : list) {
+            if (StringUtils.isNotEmpty(file.getFileName()) && !newPathSet.contains(file.getFileName().trim())) {
+                file.setDelFlag(1);
+                file.setUpdateTime(new Date());
+                file.setUpdateBy(updateName);
+                result &= updateById(file);
+            }
+        }
+
+        // 娣诲姞鏂扮殑璁板綍锛堝瓨鍦ㄤ簬鏂板垪琛ㄤ絾涓嶅湪鏁版嵁搴撲腑锛�
+        for (ServiceTransportFile serviceTransportFile : annexfilesList) {
+            if (StringUtils.isNotEmpty(serviceTransportFile.getFileName()) && !existingPaths.contains(serviceTransportFile.getFileName().trim())) {
+                serviceTransportFile.setTransportId(reportId);
+                serviceTransportFile.setCreateBy(updateName);
+                serviceTransportFile.setUpdateTime(new Date());
+                result &= save(serviceTransportFile);
+            }
+        }
+
+        return result;
+    }
+
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportServiceImpl.java
new file mode 100644
index 0000000..e6268d1
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportServiceImpl.java
@@ -0,0 +1,156 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReport;
+import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
+import com.ruoyi.project.domain.ServiceTransport;
+import com.ruoyi.project.domain.ServiceTransportFile;
+import com.ruoyi.project.mapper.ServiceTransportMapper;
+import com.ruoyi.project.service.IServiceTransportFileService;
+import com.ruoyi.project.service.IServiceTransportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 渚涜�呰浆杩愮櫥璁癝ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-12-15
+ */
+@Service
+public class ServiceTransportServiceImpl extends ServiceImpl<ServiceTransportMapper, ServiceTransport> implements IServiceTransportService {
+
+    @Autowired
+    private IServiceTransportFileService serviceTransportFileService;
+    @Autowired
+    private ServiceTransportMapper ServiceTransportMapper;
+
+    /**
+     * 鏌ヨ渚涜�呰浆杩愮櫥璁板垪琛�
+     *
+     * @param serviceTransport 渚涜�呰浆杩愮櫥璁�
+     * @return 渚涜�呰浆杩愮櫥璁�
+     */
+    @Override
+    public Page<ServiceTransport> queryList(ServiceTransport serviceTransport) {
+        LambdaQueryWrapper<ServiceTransport> wrappers = getWrappers(serviceTransport);
+        // 鍒涘缓鍒嗛〉瀵硅薄锛岃缃〉鐮佸拰姣忛〉澶у皬
+        int currentPage = (serviceTransport.getPageNum() == null || serviceTransport.getPageNum() < 1) ? 1 : serviceTransport.getPageNum();
+        int size = (serviceTransport.getPageSize() == null || serviceTransport.getPageSize() < 1) ? 10 : serviceTransport.getPageSize();
+        Page<ServiceTransport> page = new Page<>(currentPage, size);
+
+        //琛ュ厖 闄勪欢
+        List<ServiceTransport> list = ServiceTransportMapper.selectPage(page, wrappers).getRecords();
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (ServiceTransport serviceTransport1 : list) {
+                ServiceTransportFile serviceTransportFile = new ServiceTransportFile();
+                serviceTransportFile.setDelFlag(0);
+                serviceTransportFile.setTransportId(serviceTransport1.getId());
+                serviceTransportFile.setCaseNo(serviceTransport1.getCaseNo());
+                List<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
+
+                serviceTransport1.setAnnexfilesList(serviceTransportFiles);
+            }
+        }
+        page.setRecords(list);
+        return page;
+    }
+
+    @Override
+    public List<ServiceTransport> queryListData(ServiceTransport serviceTransport) {
+        LambdaQueryWrapper<ServiceTransport> wrappers = getWrappers(serviceTransport);
+        // 鍒涘缓鍒嗛〉瀵硅薄锛岃缃〉鐮佸拰姣忛〉澶у皬
+        List<ServiceTransport> list = list(wrappers);
+
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (ServiceTransport serviceTransport1 : list) {
+                ServiceTransportFile serviceTransportFile = new ServiceTransportFile();
+                serviceTransportFile.setDelFlag(0);
+                serviceTransportFile.setTransportId(serviceTransport1.getId());
+                serviceTransportFile.setCaseNo(serviceTransport1.getCaseNo());
+                List<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
+
+                serviceTransport1.setAnnexfilesList(serviceTransportFiles);
+            }
+        }
+        return list;
+    }
+
+    private LambdaQueryWrapper<ServiceTransport> getWrappers(ServiceTransport serviceTransport) {
+        LambdaQueryWrapper<ServiceTransport> wrappers = Wrappers.lambdaQuery();
+        if (serviceTransport.getReportId() != null) {
+            wrappers.eq(ServiceTransport::getReportId, serviceTransport.getReportId());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getCaseNo())) {
+            wrappers.eq(ServiceTransport::getCaseNo, serviceTransport.getCaseNo());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getPatName())) {
+            wrappers.like(ServiceTransport::getPatName, serviceTransport.getPatName());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getSex())) {
+            wrappers.eq(ServiceTransport::getSex, serviceTransport.getSex());
+        }
+        if (serviceTransport.getAge() != null) {
+            wrappers.eq(ServiceTransport::getAge, serviceTransport.getAge());
+        }
+        if (serviceTransport.getTransitStatus() != null) {
+            wrappers.eq(ServiceTransport::getTransitStatus, serviceTransport.getTransitStatus());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getRemark())) {
+            wrappers.like(ServiceTransport::getRemark, serviceTransport.getRemark());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getDiagnosisname())) {
+            wrappers.like(ServiceTransport::getDiagnosisname, serviceTransport.getDiagnosisname());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getTreatmentHospitalName())) {
+            wrappers.like(ServiceTransport::getTreatmentHospitalName, serviceTransport.getTreatmentHospitalName());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getTreatmentDeptName())) {
+            wrappers.like(ServiceTransport::getTreatmentDeptName, serviceTransport.getTreatmentDeptName());
+        }
+        if (serviceTransport.getTransportStartTime() != null) {
+            wrappers.eq(ServiceTransport::getTransportStartTime, serviceTransport.getTransportStartTime());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getTransportStartPlace())) {
+            wrappers.eq(ServiceTransport::getTransportStartPlace, serviceTransport.getTransportStartPlace());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getContactPerson())) {
+            wrappers.eq(ServiceTransport::getContactPerson, serviceTransport.getContactPerson());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getDoctor())) {
+            wrappers.eq(ServiceTransport::getDoctor, serviceTransport.getDoctor());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getDoctorPhone())) {
+            wrappers.eq(ServiceTransport::getDoctorPhone, serviceTransport.getDoctorPhone());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getNurse())) {
+            wrappers.eq(ServiceTransport::getNurse, serviceTransport.getNurse());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getNursePhone())) {
+            wrappers.eq(ServiceTransport::getNursePhone, serviceTransport.getNursePhone());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getDriver())) {
+            wrappers.eq(ServiceTransport::getDriver, serviceTransport.getDriver());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getDriverPhone())) {
+            wrappers.eq(ServiceTransport::getDriverPhone, serviceTransport.getDriverPhone());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getIcuDoctor())) {
+            wrappers.eq(ServiceTransport::getIcuDoctor, serviceTransport.getIcuDoctor());
+        }
+        if (StringUtils.isNotBlank(serviceTransport.getIcuDoctorPhone())) {
+            wrappers.eq(ServiceTransport::getIcuDoctorPhone, serviceTransport.getIcuDoctorPhone());
+        }
+        return wrappers;
+    }
+
+}
diff --git a/ruoyi-project/src/main/resources/mapper/project/BaseAnnextypeMapper.xml b/ruoyi-project/src/main/resources/mapper/project/BaseAnnextypeMapper.xml
index 12c63d1..6177c84 100644
--- a/ruoyi-project/src/main/resources/mapper/project/BaseAnnextypeMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/BaseAnnextypeMapper.xml
@@ -3,12 +3,13 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.project.mapper.BaseAnnextypeMapper">
-    
+
     <resultMap type="com.ruoyi.project.domain.BaseAnnextype" id="BaseAnnextypeResult">
         <result property="id"    column="ID"    />
         <result property="donationcategory"    column="donationcategory"    />
         <result property="annextype"    column="annextype"    />
         <result property="annexname"    column="annexname"    />
+        <result property="caseNo"    column="case_no"    />
         <result property="need"    column="need"    />
         <result property="seqno"    column="seqno"    />
         <result property="remark"    column="remark"    />
@@ -20,7 +21,7 @@
     </resultMap>
 
     <sql id="selectBaseAnnextypeVo">
-        select ID, donationcategory, annextype, annexname, need, seqno, remark, del_flag, create_by, create_time, update_by, update_time from base_annextype
+        select ID, case_no,donationcategory, annextype, annexname, need, seqno, remark, del_flag, create_by, create_time, update_by, update_time from base_annextype
     </sql>
 
     <select id="selectBaseAnnextypeList" parameterType="com.ruoyi.project.domain.BaseAnnextype" resultMap="BaseAnnextypeResult">
@@ -31,7 +32,8 @@
             <if test="annexname != null  and annexname != ''"> and annexname like concat('%', #{annexname}, '%')</if>
             <if test="need != null "> and need = #{need}</if>
             <if test="seqno != null "> and seqno = #{seqno}</if>
+            <if test="caseNo != null "> and case_no = #{caseNo}</if>
         </where>
     </select>
 
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonateannexMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonateannexMapper.xml
index 698674e..b98d228 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonateannexMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonateannexMapper.xml
@@ -1,41 +1,58 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.project.mapper.ServiceDonateannexMapper">
 
     <resultMap type="com.ruoyi.project.domain.ServiceDonateannex" id="ServiceDonateannexResult">
-        <result property="id"    column="ID"    />
-        <result property="infoid"    column="InfoID"    />
-        <result property="donorno"    column="DonorNo"    />
-        <result property="delFlag"    column="del_flag"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateTime"    column="update_time"    />
-        <result property="annexname"    column="AnnexName"    />
-        <result property="annexno"    column="AnnexNo"    />
-        <result property="annexurl"    column="AnnexUrl"    />
-        <result property="annexfilestype"    column="AnnexfilesType"    />
-        <result property="annextypeid"    column="annextypeid"    />
+        <result property="id" column="ID"/>
+        <result property="infoid" column="InfoID"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="donorno" column="DonorNo"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="annexname" column="AnnexName"/>
+        <result property="annexno" column="AnnexNo"/>
+        <result property="annexurl" column="AnnexUrl"/>
+        <result property="annexfilestype" column="AnnexfilesType"/>
+        <result property="annextypeid" column="annextypeid"/>
     </resultMap>
 
     <sql id="selectServiceDonateannexVo">
-        select ID, InfoID, DonorNo, del_flag, create_by, create_time, update_by, update_time, AnnexName, AnnexNo, AnnexUrl,AnnexfilesType,annextypeid from service_donateannex
+        select ID,
+               case_no,
+               InfoID,
+               DonorNo,
+               del_flag,
+               create_by,
+               create_time,
+               update_by,
+               update_time,
+               AnnexName,
+               AnnexNo,
+               AnnexUrl,
+               AnnexfilesType,
+               annextypeid
+        from service_donateannex
     </sql>
 
-    <select id="selectServiceDonateannexList" parameterType="com.ruoyi.project.domain.ServiceDonateannex" resultMap="ServiceDonateannexResult">
+    <select id="selectServiceDonateannexList" parameterType="com.ruoyi.project.domain.ServiceDonateannex"
+            resultMap="ServiceDonateannexResult">
         <include refid="selectServiceDonateannexVo"/>
         <where>
-            <if test="infoid != null "> and InfoID = #{infoid}</if>
-            <if test="donorno != null  and donorno != ''"> and DonorNo = #{donorno}</if>
-            <if test="annexname != null  and annexname != ''"> and AnnexName like concat('%', #{annexname}, '%')</if>
-            <if test="annexno != null  and annexno != ''"> and AnnexNo = #{annexno}</if>
-            <if test="annexurl != null  and annexurl != ''"> and AnnexUrl = #{annexurl}</if>
+            <if test="infoid != null ">and InfoID = #{infoid}</if>
+            <if test="caseNo != null ">and case_no = #{caseNo}</if>
+            <if test="donorno != null  and donorno != ''">and DonorNo = #{donorno}</if>
+            <if test="annexname != null  and annexname != ''">and AnnexName like concat('%', #{annexname}, '%')</if>
+            <if test="annexno != null  and annexno != ''">and AnnexNo = #{annexno}</if>
+            <if test="annexurl != null  and annexurl != ''">and AnnexUrl = #{annexurl}</if>
         </where>
     </select>
     <select id="selectVOList" resultType="com.ruoyi.project.domain.vo.DonateAnnexVO">
-    SELECT
+        SELECT
         `service_donatebaseinfo`.`ID` AS `ID`,
         `service_donatebaseinfo`.`DonorNo` AS `DonorNo`,
         `service_donatebaseinfo`.`RecordState` AS `RecordState`,
@@ -64,25 +81,29 @@
         `service_donateannex`.`create_by` AS `create_by`,
         `service_donateannex`.`create_time` AS `create_time`,
         `service_donateannex`.`update_by` AS `update_by`,
+        `service_donateannex`.`case_no` AS `case_no`,
         `service_donateannex`.`update_time` AS `update_time`
-    FROM
+        FROM
         (
-            `service_donatebaseinfo`
-            JOIN `service_donateannex` ON ((
-                `service_donatebaseinfo`.`ID` = `service_donateannex`.`InfoID`
+        `service_donatebaseinfo`
+        JOIN `service_donateannex` ON ((
+        `service_donatebaseinfo`.`ID` = `service_donateannex`.`InfoID`
         )))
-
-
         <where>
-            <if test="donorno != null  and donorno != ''"> and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if>
-            <if test="name != null  and name != ''"> and `service_donatebaseinfo`.`Name` = #{name}</if>
-            <if test="idcardno != null  and idcardno != ''"> and `service_donatebaseinfo`.`IDCardNo` = #{idcardno}</if>
-            <if test="treatmenthospitalno != null  and treatmenthospitalno != ''"> and `service_donatebaseinfo`.`TreatmentHospitalNo` = #{treatmenthospitalno}</if>
-            <if test="recordstate != null  and recordstate != ''"> and `service_donatebaseinfo`.`RecordState` = #{recordstate}</if>
-            <if test="create_by != null  and create_by != ''"> and `service_donateannex`.`create_by` = #{create_by}</if>
+            <if test="donorno != null  and donorno != ''">and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if>
+            <if test="name != null  and name != ''">and `service_donatebaseinfo`.`Name` = #{name}</if>
+            <if test="idcardno != null  and idcardno != ''">and `service_donatebaseinfo`.`IDCardNo` = #{idcardno}</if>
+            <if test="treatmenthospitalno != null  and treatmenthospitalno != ''">and
+                `service_donatebaseinfo`.`TreatmentHospitalNo` = #{treatmenthospitalno}
+            </if>
+            <if test="recordstate != null  and recordstate != ''">and `service_donatebaseinfo`.`RecordState` =
+                #{recordstate}
+            </if>
+            <if test="create_by != null  and create_by != ''">and `service_donateannex`.`create_by` = #{create_by}</if>
+            <if test="caseNo != null  and caseNo != ''">and `service_donateannex`.`case_no` = #{caseNo}</if>
         </where>
 
         order by `service_donateannex`.`create_time` desc
     </select>
 
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
index c0d8a35..aee2e13 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
@@ -6,6 +6,7 @@
 
     <resultMap type="com.ruoyi.project.domain.ServiceDonatebaseinfo" id="ServiceDonatebaseinfoResult">
         <result property="id" column="ID"/>
+        <result property="caseNo" column="case_no"/>
         <result property="name" column="Name"/>
         <result property="sex" column="Sex"/>
         <result property="idcardtype" column="IDCardType"/>
@@ -85,6 +86,7 @@
         <result property="firstMedicalInstitution" column="first_medical_institution"/>
         <result property="currentDept" column="current_dept"/>
         <result property="firstDept" column="first_dept"/>
+        <result property="reportId" column="report_id"/>
     </resultMap>
 
     <sql id="selectServiceDonatebaseinfoVo">
@@ -106,6 +108,7 @@
             service_donatebaseinfo.del_flag = 0
             <if test="name != null  and name != ''">and Name like concat('%', #{name}, '%')</if>
             <if test="sex != null ">and Sex = #{sex}</if>
+            <if test="caseNo != null ">and service_donatebaseinfo.case_no = #{caseNo}</if>
             <if test="idcardtype != null ">and IDCardType = #{idcardtype}</if>
             <if test="idcardno != null  and idcardno != ''">and IDCardNo = #{idcardno}</if>
             <if test="age != null ">and Age = #{age}</if>
@@ -222,6 +225,7 @@
             <if test="donatetime != null ">and donatetime = #{donatetime}</if>
             <if test="donateno != null ">and donateno = #{donateno}</if>
             <if test="workflow != null ">and workflow = #{workflow}</if>
+            <if test="reportId != null ">and report_id = #{reportId}</if>
         </where>
 
         order by ReportTime desc
@@ -246,6 +250,8 @@
         <where>
             AND b.del_flag=0
             <if test="starttime != null ">and b.donatetime >= #{starttime}</if>
+            <if test="caseNo != null ">and b.case_no >= #{caseNo}</if>
+            <if test="reportId != null ">and b.report_id = #{reportId}</if>
             <if test="endtime != null ">and b.donatetime &lt;= #{endtime}</if>
             <if test="city != null and city != ''">and o.City = #{city}</if>
             <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
@@ -282,6 +288,7 @@
         inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
         <where>
             <if test="starttime != null ">and b.ReportTime >= #{starttime}</if>
+            <if test="caseNo != null ">and b.case_no >= #{caseNo}</if>
             <if test="endtime != null ">and b.ReportTime &lt;= #{endtime}</if>
             <if test="city != null and city != ''">and o.City = #{city}</if>
             <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
@@ -379,6 +386,7 @@
             <if test="endtime != null ">and d.CompleteTime &lt;= #{endtime}</if>
             <if test="city != null and city != ''">and o.City = #{city}</if>
             <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
+            <if test="caseNo != null ">and b.case_no >= #{caseNo}</if>
         </where>
     </select>
 
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportFileMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportFileMapper.xml
new file mode 100644
index 0000000..75d7226
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportFileMapper.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.mapper.ServiceDonatebaseinfoReportFileMapper">
+
+    <resultMap type="com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile"
+               id="ServiceDonatebaseinfoReportFileResult">
+        <result property="id" column="id"/>
+        <result property="donatebaseinfoReportId" column="donatebaseinfo_report_id"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="fileName" column="file_name"/>
+        <result property="type" column="type"/>
+        <result property="path" column="path"/>
+        <result property="remart" column="remart"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateBy" column="update_by"/>
+    </resultMap>
+
+    <sql id="selectServiceDonatebaseinfoReportFileVo">
+        select id,
+               donatebaseinfo_report_id,
+               case_no,
+               file_name,
+               type,
+               path,
+               remart,
+               del_flag,
+               create_time,
+               create_by,
+               update_time,
+               update_by
+        from service_donatebaseinfo_report_file
+    </sql>
+
+    <select id="selectServiceDonatebaseinfoReportFileList"
+            parameterType="com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile"
+            resultMap="ServiceDonatebaseinfoReportFileResult">
+        <include refid="selectServiceDonatebaseinfoReportFileVo"/>
+        <where>
+            <if test="donatebaseinfoReportId != null  and donatebaseinfoReportId != ''">and donatebaseinfo_report_id =
+                #{donatebaseinfoReportId}
+            </if>
+            <if test="type != null  and type != ''">and type = #{type}</if>
+            <if test="fileName != null  and fileName != ''">and file_name = #{fileName}</if>
+            <if test="caseNo != null  and caseNo != ''">and case_no = #{caseNo}</if>
+            <if test="path != null  and path != ''">and path = #{path}</if>
+            <if test="remart != null  and remart != ''">and remart = #{remart}</if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportMapper.xml
new file mode 100644
index 0000000..6c29c1e
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoReportMapper.xml
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.mapper.ServiceDonatebaseinfoReportMapper">
+
+    <resultMap type="com.ruoyi.project.domain.ServiceDonatebaseinfoReport" id="ServiceDonatebaseinfoReportResult">
+        <result property="id" column="ID"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="reportStatus" column="report_status"/>
+        <result property="name" column="Name"/>
+        <result property="sex" column="Sex"/>
+        <result property="idcardtype" column="IDCardType"/>
+        <result property="idcardno" column="IDCardNo"/>
+        <result property="age" column="Age"/>
+        <result property="ageunit" column="AgeUnit"/>
+        <result property="birthday" column="Birthday"/>
+        <result property="phone" column="Phone"/>
+        <result property="nationality" column="Nationality"/>
+        <result property="nativeplace" column="NativePlace"/>
+        <result property="nation" column="Nation"/>
+        <result property="occupation" column="Occupation"/>
+        <result property="education" column="Education"/>
+        <result property="residenceaddress" column="ResidenceAddress"/>
+        <result property="residenceprovince" column="ResidenceProvince"/>
+        <result property="residenceprovincename" column="ResidenceProvinceName"/>
+        <result property="residencetownname" column="ResidenceTownName"/>
+        <result property="residencecommunity" column="ResidenceCommunity"/>
+        <result property="residencecommunityname" column="ResidenceCommunityName"/>
+        <result property="residencecountycode" column="ResidenceCountyCode"/>
+        <result property="residencecountyname" column="ResidenceCountyName"/>
+        <result property="registeraddress" column="RegisterAddress"/>
+        <result property="registerprovince" column="RegisterProvince"/>
+        <result property="registerprovincename" column="RegisterProvinceName"/>
+        <result property="registercityname" column="RegisterCityName"/>
+        <result property="registertownname" column="RegisterTownName"/>
+        <result property="registercommunityname" column="RegisterCommunityName"/>
+        <result property="treatmenthospitalname" column="TreatmentHospitalName"/>
+        <result property="treatmentdeptname" column="TreatmentDeptName"/>
+        <result property="diagnosisname" column="DiagnosisName"/>
+        <result property="inpatientno" column="InpatientNo"/>
+        <result property="illnessoverview" column="IllnessOverview"/>
+        <result property="infectious" column="Infectious"/>
+        <result property="infectiousOther" column="Infectious_Other"/>
+        <result property="patientstate" column="PatientState"/>
+        <result property="reporterno" column="ReporterNo"/>
+        <result property="reportername" column="ReporterName"/>
+        <result property="reporterphone" column="ReporterPhone"/>
+        <result property="reporttime" column="ReportTime"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="terminationCase" column="termination_case"/>
+        <result property="userNo" column="user_no"/>
+        <result property="userName" column="user_name"/>
+        <result property="deptName" column="dept_name"/>
+        <result property="deptNo" column="dept_no"/>
+        <result property="isTransport" column="is_transport"/>
+        <result property="gscScore" column="gsc_score"/>
+    </resultMap>
+
+    <sql id="selectServiceDonatebaseinfoReportVo">
+        select ID,
+               case_no,
+               report_status,
+               gsc_score,
+               Name,
+               Sex,
+               IDCardType,
+               IDCardNo,
+               Age,
+               AgeUnit,
+               Birthday,
+               Phone,
+               Nationality,
+               NativePlace,
+               Nation,
+               Occupation,
+               Education,
+               ResidenceAddress,
+               ResidenceProvince,
+               ResidenceProvinceName,
+               ResidenceTownName,
+               ResidenceCommunity,
+               ResidenceCommunityName,
+               ResidenceCountyCode,
+               ResidenceCountyName,
+               RegisterAddress,
+               RegisterProvince,
+               RegisterProvinceName,
+               RegisterCityName,
+               RegisterTownName,
+               RegisterCommunityName,
+               TreatmentHospitalName,
+               TreatmentDeptName,
+               DiagnosisName,
+               InpatientNo,
+               IllnessOverview,
+               Infectious,
+               Infectious_Other,
+               PatientState,
+               ReporterNo,
+               ReporterName,
+               ReporterPhone,
+               ReportTime,
+               del_flag,
+               create_by,
+               create_time,
+               update_by,
+               update_time,
+               termination_case,
+               user_no,
+               user_name,
+               dept_no,
+               dept_name,
+               is_transport
+        from service_donatebaseinfo_report
+    </sql>
+
+    <select id="selectServiceDonatebaseinfoReportList"
+            parameterType="com.ruoyi.project.domain.ServiceDonatebaseinfoReport"
+            resultMap="ServiceDonatebaseinfoReportResult">
+        <include refid="selectServiceDonatebaseinfoReportVo"/>
+        <where>
+            <if test="caseNo != null  and caseNo != ''">and case_no = #{caseNo}</if>
+            <if test="gscScore != null  and gscScore != ''">and gsc_score = #{gscScore}</if>
+            <if test="reportStatus != null  and reportStatus != ''">and report_status = #{reportStatus}</if>
+            <if test="name != null  and name != ''">and Name like concat('%', #{name}, '%')</if>
+            <if test="sex != null  and sex != ''">and Sex = #{sex}</if>
+            <if test="idcardtype != null ">and IDCardType = #{idcardtype}</if>
+            <if test="idcardno != null  and idcardno != ''">and IDCardNo = #{idcardno}</if>
+            <if test="age != null ">and Age = #{age}</if>
+            <if test="ageunit != null  and ageunit != ''">and AgeUnit = #{ageunit}</if>
+            <if test="birthday != null ">and Birthday = #{birthday}</if>
+            <if test="phone != null  and phone != ''">and Phone = #{phone}</if>
+            <if test="nationality != null  and nationality != ''">and Nationality = #{nationality}</if>
+            <if test="nativeplace != null  and nativeplace != ''">and NativePlace = #{nativeplace}</if>
+            <if test="nation != null  and nation != ''">and Nation = #{nation}</if>
+            <if test="occupation != null  and occupation != ''">and Occupation = #{occupation}</if>
+            <if test="education != null  and education != ''">and Education = #{education}</if>
+            <if test="residenceaddress != null  and residenceaddress != ''">and ResidenceAddress = #{residenceaddress}
+            </if>
+            <if test="residenceprovince != null  and residenceprovince != ''">and ResidenceProvince =
+                #{residenceprovince}
+            </if>
+            <if test="residenceprovincename != null  and residenceprovincename != ''">and ResidenceProvinceName like
+                concat('%', #{residenceprovincename}, '%')
+            </if>
+            <if test="residencetownname != null  and residencetownname != ''">and ResidenceTownName like concat('%',
+                #{residencetownname}, '%')
+            </if>
+            <if test="residencecommunity != null  and residencecommunity != ''">and ResidenceCommunity =
+                #{residencecommunity}
+            </if>
+            <if test="residencecommunityname != null  and residencecommunityname != ''">and ResidenceCommunityName like
+                concat('%', #{residencecommunityname}, '%')
+            </if>
+            <if test="residencecountycode != null  and residencecountycode != ''">and ResidenceCountyCode =
+                #{residencecountycode}
+            </if>
+            <if test="residencecountyname != null  and residencecountyname != ''">and ResidenceCountyName like
+                concat('%', #{residencecountyname}, '%')
+            </if>
+            <if test="registeraddress != null  and registeraddress != ''">and RegisterAddress = #{registeraddress}</if>
+            <if test="registerprovince != null  and registerprovince != ''">and RegisterProvince = #{registerprovince}
+            </if>
+            <if test="registerprovincename != null  and registerprovincename != ''">and RegisterProvinceName like
+                concat('%', #{registerprovincename}, '%')
+            </if>
+            <if test="registercityname != null  and registercityname != ''">and RegisterCityName like concat('%',
+                #{registercityname}, '%')
+            </if>
+            <if test="registertownname != null  and registertownname != ''">and RegisterTownName like concat('%',
+                #{registertownname}, '%')
+            </if>
+            <if test="registercommunityname != null  and registercommunityname != ''">and RegisterCommunityName like
+                concat('%', #{registercommunityname}, '%')
+            </if>
+            <if test="treatmenthospitalname != null  and treatmenthospitalname != ''">and TreatmentHospitalName like
+                concat('%', #{treatmenthospitalname}, '%')
+            </if>
+            <if test="treatmentdeptname != null  and treatmentdeptname != ''">and TreatmentDeptName like concat('%',
+                #{treatmentdeptname}, '%')
+            </if>
+            <if test="diagnosisname != null  and diagnosisname != ''">and DiagnosisName like concat('%',
+                #{diagnosisname}, '%')
+            </if>
+            <if test="inpatientno != null  and inpatientno != ''">and InpatientNo = #{inpatientno}</if>
+            <if test="illnessoverview != null  and illnessoverview != ''">and IllnessOverview = #{illnessoverview}</if>
+            <if test="infectious != null  and infectious != ''">and Infectious = #{infectious}</if>
+            <if test="infectiousOther != null  and infectiousOther != ''">and Infectious_Other = #{infectiousOther}</if>
+            <if test="patientstate != null  and patientstate != ''">and PatientState = #{patientstate}</if>
+            <if test="reporterno != null  and reporterno != ''">and ReporterNo = #{reporterno}</if>
+            <if test="reportername != null  and reportername != ''">and ReporterName like concat('%', #{reportername},
+                '%')
+            </if>
+            <if test="reporterphone != null  and reporterphone != ''">and ReporterPhone = #{reporterphone}</if>
+            <if test="reporttime != null ">and ReportTime = #{reporttime}</if>
+            <if test="terminationCase != null ">and termination_case = #{terminationCase}</if>
+            <if test="userNo != null  and userNo != ''">and userNo = #{userNo}</if>
+            <if test="userName != null  and userName != ''">and user_name = #{userName}</if>
+            <if test="deptNo != null  and deptNo != ''">and dept_no = #{deptNo}</if>
+            <if test="deptName != null  and deptName != ''">and dept_name = #{deptName}</if>
+            <if test="isTransport != null  and isTransport != ''">and is_transport = #{isTransport}</if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml
index a140cc0..d5d3297 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml
@@ -39,7 +39,7 @@
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
-        <result property="caseno" column="caseno"/>
+        <result property="caseNo" column="case_no"/>
         <result property="donorname" column="donorname"/>
     </resultMap>
 
@@ -55,7 +55,7 @@
                HospitalNo,
                HospitalName,
                Name,
-               caseno,
+               case_no,
                Sex,
                IDCardType,
                IDCardNo,
@@ -102,7 +102,7 @@
             </if>
             <if test="name != null  and name != ''">and Name like concat('%', #{name}, '%')</if>
             <if test="sex != null ">and Sex = #{sex}</if>
-            <if test="caseno != null ">and caseno = #{caseno}</if>
+            <if test="caseNo != null ">and case_no = #{caseNo}</if>
             <if test="idcardtype != null ">and IDCardType = #{idcardtype}</if>
             <if test="idcardno != null  and idcardno != ''">and IDCardNo = #{idcardno}</if>
             <if test="age != null ">and Age = #{age}</if>
@@ -142,4 +142,4 @@
         </where>
     </select>
 
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewinitiateMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewinitiateMapper.xml
new file mode 100644
index 0000000..3d94602
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewinitiateMapper.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.mapper.ServiceEthicalreviewinitiateMapper">
+
+    <resultMap type="com.ruoyi.project.domain.ServiceEthicalreviewinitiate" id="ServiceEthicalreviewinitiateResult">
+        <result property="id" column="ID"/>
+        <result property="infoid" column="InfoID"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="initiatePerson" column="initiate_person"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+        <result property="initiateTheme" column="initiate_theme"/>
+        <result property="cutOffTime" column="cut_off_time"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+
+    <sql id="selectServiceEthicalreviewinitiateVo">
+        select ID,
+               InfoID,
+               case_no,
+               initiate_person,
+               start_time,
+               end_time,
+               initiate_theme,
+               cut_off_time,
+               del_flag,
+               create_by,
+               create_time,
+               update_by,
+               update_time,
+               remark
+        from service_ethicalreviewinitiate
+    </sql>
+
+    <select id="selectServiceEthicalreviewinitiateList"
+            parameterType="com.ruoyi.project.domain.ServiceEthicalreviewinitiate"
+            resultMap="ServiceEthicalreviewinitiateResult">
+        <include refid="selectServiceEthicalreviewinitiateVo"/>
+        <where>
+            <if test="infoid != null ">and InfoID = #{infoid}</if>
+            <if test="caseNo != null  and caseNo != ''">and case_no = #{caseNo}</if>
+            <if test="initiatePerson != null  and initiatePerson != ''">and initiate_person = #{initiatePerson}</if>
+            <if test="startTime != null ">and start_time = #{startTime}</if>
+            <if test="endTime != null ">and end_time = #{endTime}</if>
+            <if test="initiateTheme != null  and initiateTheme != ''">and initiate_theme = #{initiateTheme}</if>
+            <if test="cutOffTime != null ">and cut_off_time = #{cutOffTime}</if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
index 5e4eb10..e021b56 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
@@ -6,7 +6,8 @@
 
     <resultMap type="com.ruoyi.project.domain.ServiceEthicalreviewopinions" id="ServiceEthicalreviewopinionsResult">
         <result property="id" column="ID"/>
-        <result property="del_flag" column="del_flag"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="caseNo" column="case_no"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
@@ -19,10 +20,21 @@
         <result property="conclusiontime" column="ConclusionTime"/>
         <result property="conclusionannex" column="ConclusionAnnex"/>
         <result property="conclusionorder" column="ConclusionOrder"/>
+        <result property="sendType" column="send_type"/>
+        <result property="receiveStatus" column="receive_status"/>
+        <result property="deptCode" column="dept_code"/>
+        <result property="deptName" column="dept_name"/>
+        <result property="organType" column="organ_type"/>
     </resultMap>
 
     <sql id="selectServiceEthicalreviewopinionsVo">
         select ID,
+               case_no,
+               dept_code,
+               dept_name,
+               organ_type,
+               send_type,
+               receive_status,
                del_flag,
                create_by,
                create_time,
@@ -45,6 +57,10 @@
         <include refid="selectServiceEthicalreviewopinionsVo"/>
         <where>
             <if test="infoid != null ">and InfoID = #{infoid}</if>
+            <if test="deptCode != null ">and dept_code = #{deptCode}</if>
+            <if test="deptName != null ">and dept_name = #{deptName}</if>
+            <if test="organType != null ">and organ_type = #{organType}</if>
+            <if test="caseNo != null ">and case_no = #{caseNo}</if>
             <if test="donorno != null  and donorno != ''">and DonorNo = #{donorno}</if>
             <if test="expertopinion != null  and expertopinion != ''">and ExpertOpinion = #{expertopinion}</if>
             <if test="expertconclusion != null ">and ExpertConclusion = #{expertconclusion}</if>
@@ -52,8 +68,13 @@
             <if test="conclusiontime != null ">and ConclusionTime = #{conclusiontime}</if>
             <if test="conclusionannex != null  and conclusionannex != ''">and ConclusionAnnex = #{conclusionannex}</if>
             <if test="conclusionorder != null ">and ConclusionOrder = #{conclusionorder}</if>
+            <if test="sendType != null ">and send_type = #{sendType}</if>
+            <if test="receiveStatus != null ">and receive_status = #{receiveStatus}</if>
+            send_type,
+            receive_status,
         </where>
     </select>
+
     <select id="selectVOList" resultType="com.ruoyi.project.domain.vo.EthicalReviewVO">
         SELECT
         service_donatebaseinfo.ID as id,
@@ -104,10 +125,16 @@
         service_donatebaseinfo.deptname,
         service_ethicalreviewopinions.ID as fcid,
         service_ethicalreviewopinions.ExpertOpinion as expertopinion,
+        service_ethicalreviewopinions.send_type as sendType,
+        service_ethicalreviewopinions.receive_status as receiveStatus,
         service_ethicalreviewopinions.ExpertConclusion as expertconclusion,
         service_ethicalreviewopinions.ExpertName as expertname,
         service_ethicalreviewopinions.ConclusionTime as conclusiontime,
         service_ethicalreviewopinions.ConclusionAnnex as conclusionannex,
+        service_ethicalreviewopinions.case_no as case_no,
+        service_ethicalreviewopinions.dept_name as dept_name,
+        service_ethicalreviewopinions.dept_code as dept_code,
+        service_ethicalreviewopinions.organ_type as organ_type,
         service_ethicalreviewopinions.ConclusionOrder as conclusionorder
         FROM
         service_donatebaseinfo
@@ -131,6 +158,9 @@
             <if test="recordstate != null  and recordstate != ''">and `service_donatebaseinfo`.`RecordState` =
                 #{recordstate}
             </if>
+            <if test="caseNo != null  and caseNo != ''">and `service_donatebaseinfo`.`case_no` =
+                #{caseNo}
+            </if>
             <if test="basecreateby != null  and basecreateby != ''">and `service_donatebaseinfo`.`create_by` =
                 #{basecreateby}
             </if>
@@ -141,12 +171,13 @@
             </if>
             <if test="city != null and city != ''">and `base_organization`.`City` = #{city}</if>
             <if test="fcid != null ">and `service_ethicalreviewopinions`.`ID` = #{fcid}</if>
-            <if test="workflow != null "> and `service_donatebaseinfo`.`workflow` = #{workflow}</if>
+            <if test="workflow != null ">and `service_donatebaseinfo`.`workflow` = #{workflow}</if>
         </where>
 
         order by `service_ethicalreviewopinions`.`ConclusionTime` desc
 
     </select>
+
     <select id="countNumber" resultType="java.lang.Integer">
         select count(*)
         from service_donateflowchart
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
index 39f3514..c2f6397 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
@@ -1,50 +1,81 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.project.mapper.ServiceMedicalevaluationMapper">
 
     <resultMap type="com.ruoyi.project.domain.ServiceMedicalevaluation" id="ServiceMedicalevaluationResult">
-        <result property="id"    column="ID"    />
-        <result property="infoid"    column="InfoID"    />
-        <result property="donorno"    column="DonorNo"    />
-        <result property="illnessoverview"    column="IllnessOverview"    />
-        <result property="diagnosisname"    column="DiagnosisName"    />
-        <result property="hospitalassesscontent"    column="HospitalAssessContent"    />
-        <result property="hospitalassessdoctor"    column="HospitalAssessDoctor"    />
-        <result property="hospitalassesstime"    column="HospitalAssessTime"    />
-        <result property="hospitalassessconclusion"    column="HospitalAssessConclusion"    />
-        <result property="provincialassesscontent"    column="ProvincialAssessContent"    />
-        <result property="provincialassessdoctor"    column="ProvincialAssessDoctor"    />
-        <result property="provincialassesstime"    column="ProvincialAssessTime"    />
-        <result property="provincialassessconclusion"    column="ProvincialAssessConclusion"    />
-        <result property="coreteamassesscontent"    column="CoreTeamAssessContent"    />
-        <result property="coreteamassessdoctor"    column="CoreTeamAssessDoctor"    />
-        <result property="coreteamassesstime"    column="CoreTeamAssessTime"    />
-        <result property="coreteamassessconclusion"    column="CoreTeamAssessConclusion"    />
-        <result property="assessannex"    column="AssessAnnex"    />
-        <result property="del_flag"    column="del_flag"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateTime"    column="update_time"    />
+        <result property="id" column="ID"/>
+        <result property="infoid" column="InfoID"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="donorno" column="DonorNo"/>
+        <result property="illnessoverview" column="IllnessOverview"/>
+        <result property="diagnosisname" column="DiagnosisName"/>
+        <result property="hospitalassesscontent" column="HospitalAssessContent"/>
+        <result property="hospitalassessdoctor" column="HospitalAssessDoctor"/>
+        <result property="hospitalassesstime" column="HospitalAssessTime"/>
+        <result property="hospitalassessconclusion" column="HospitalAssessConclusion"/>
+        <result property="provincialassesscontent" column="ProvincialAssessContent"/>
+        <result property="provincialassessdoctor" column="ProvincialAssessDoctor"/>
+        <result property="provincialassesstime" column="ProvincialAssessTime"/>
+        <result property="provincialassessconclusion" column="ProvincialAssessConclusion"/>
+        <result property="coreteamassesscontent" column="CoreTeamAssessContent"/>
+        <result property="coreteamassessdoctor" column="CoreTeamAssessDoctor"/>
+        <result property="coreteamassesstime" column="CoreTeamAssessTime"/>
+        <result property="coreteamassessconclusion" column="CoreTeamAssessConclusion"/>
+        <result property="assessannex" column="AssessAnnex"/>
+        <result property="assessState" column="assess_state"/>
+        <result property="assessFirstTime" column="assess_first_time"/>
+        <result property="assessSecondTime" column="assess_second_time"/>
+        <result property="del_flag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
     </resultMap>
 
     <sql id="selectServiceMedicalevaluationVo">
-        select ID, InfoID, DonorNo, IllnessOverview, DiagnosisName, HospitalAssessContent, HospitalAssessDoctor, HospitalAssessTime, HospitalAssessConclusion, ProvincialAssessContent, ProvincialAssessDoctor, ProvincialAssessTime, ProvincialAssessConclusion, CoreTeamAssessContent, CoreTeamAssessDoctor, CoreTeamAssessTime, CoreTeamAssessConclusion, AssessAnnex, del_flag, create_by, create_time, update_by, update_time from service_medicalevaluation
+        select ID,
+               InfoID,
+               case_no,
+               assess_second_time,
+               assess_first_time,
+               DonorNo,
+               assess_state,
+               IllnessOverview,
+               DiagnosisName,
+               HospitalAssessContent,
+               HospitalAssessDoctor,
+               HospitalAssessTime,
+               HospitalAssessConclusion,
+               ProvincialAssessContent,
+               ProvincialAssessDoctor,
+               ProvincialAssessTime,
+               ProvincialAssessConclusion,
+               CoreTeamAssessContent,
+               CoreTeamAssessDoctor,
+               CoreTeamAssessTime,
+               CoreTeamAssessConclusion,
+               AssessAnnex,
+               del_flag,
+               create_by,
+               create_time,
+               update_by,
+               update_time
+        from service_medicalevaluation
     </sql>
 
-    <select id="selectServiceMedicalevaluationList" parameterType="com.ruoyi.project.domain.ServiceMedicalevaluation" resultMap="ServiceMedicalevaluationResult">
+    <select id="selectServiceMedicalevaluationList" parameterType="com.ruoyi.project.domain.ServiceMedicalevaluation"
+            resultMap="ServiceMedicalevaluationResult">
         <include refid="selectServiceMedicalevaluationVo"/>
         <where>
-            <if test="donorno != null  and donorno != ''"> and DonorNo = #{donorno}</if>
+            <if test="donorno != null  and donorno != ''">and DonorNo = #{donorno}</if>
         </where>
     </select>
 
 
-
     <select id="selectVOList" resultType="com.ruoyi.project.domain.vo.MedicalEvaluationVO">
-    SELECT
+        SELECT
         `service_donatebaseinfo`.`ID` AS `ID`,
         `service_donatebaseinfo`.`Name` AS `Name`,
         `service_donatebaseinfo`.`Sex` AS `Sex`,
@@ -73,6 +104,7 @@
         `service_donatebaseinfo`.`termination_case` AS `terminationCase`,
         `service_donatebaseinfo`.`donatetime` AS `donatetime`,
         `service_medicalevaluation`.`ID` AS `meID`,
+        `service_medicalevaluation`.`case_no` AS `case_no`,
         `service_medicalevaluation`.`HospitalAssessContent` AS `HospitalAssessContent`,
         `service_medicalevaluation`.`HospitalAssessConclusion` AS `HospitalAssessConclusion`,
         `service_medicalevaluation`.`ProvincialAssessContent` AS `ProvincialAssessContent`,
@@ -93,36 +125,51 @@
         `service_medicalevaluation`.`create_time` AS `createtime`,
         `service_medicalevaluation`.`create_by` AS `createby`,
         `service_medicalevaluation`.`update_by` AS `updateby`,
+        `service_medicalevaluation`.`assess_state` AS `assess_state`,
+        `service_medicalevaluation`.`assess_second_time` AS `assess_second_time`,
+        `service_medicalevaluation`.`assess_first_time` AS `assess_first_time`,
         `service_medicalevaluation`.`update_time` AS `updatetime`
         FROM
-            `service_donatebaseinfo`
-            LEFT JOIN `service_medicalevaluation` ON
-            `service_donatebaseinfo`.`ID` = `service_medicalevaluation`.`InfoID`
+        `service_donatebaseinfo`
+        LEFT JOIN `service_medicalevaluation` ON
+        `service_donatebaseinfo`.`ID` = `service_medicalevaluation`.`InfoID`
         LEFT JOIN `base_organization` ON
         `base_organization`.`OrganizationID` = `service_donatebaseinfo`.`TreatmentHospitalNo`
         <where>
             service_medicalevaluation.del_flag = 0
             and service_donatebaseinfo.del_flag = 0
-            <if test="name != null  and name != ''"> and `service_donatebaseinfo`.Name like concat('%', #{name}, '%')</if>
-            <if test="donorno != null  and donorno != ''"> and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if>
-            <if test="idcardno != null  and idcardno != ''"> and `service_donatebaseinfo`.`IDCardNo` = #{idcardno}</if>
-            <if test="treatmenthospitalno != null  and treatmenthospitalno != ''"> and `service_donatebaseinfo`.`TreatmentHospitalNo` = #{treatmenthospitalno}</if>
-            <if test="recordstate != null  and recordstate != ''"> and `service_donatebaseinfo`.`RecordState` = #{recordstate}</if>
-            <if test="basecreateby != null  and basecreateby != ''"> and `service_donatebaseinfo`.`create_by` = #{basecreateby}</if>
-            <if test="starttime != null "> and `service_medicalevaluation`.CoreTeamAssessTime >= #{starttime} </if>
-            <if test="endtime != null ">  and `service_medicalevaluation`.CoreTeamAssessTime &lt;= #{endtime}</if>
-            <if test="reporterno != null  and reporterno != ''"> and `service_donatebaseinfo`.ReporterNo = #{reporterno}</if>
-            <if test="city != null and city != ''"> and `base_organization`.`City` = #{city}</if>
-            <if test="workflow != null "> and `service_donatebaseinfo`.`workflow` = #{workflow}</if>
-    </where>
+            <if test="name != null  and name != ''">and `service_donatebaseinfo`.Name like concat('%', #{name}, '%')
+            </if>
+            <if test="donorno != null  and donorno != ''">and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if>
+            <if test="caseNo != null  and caseNo != ''">and `service_donatebaseinfo`.`case_no` = #{caseNo}</if>
+            <if test="idcardno != null  and idcardno != ''">and `service_donatebaseinfo`.`IDCardNo` = #{idcardno}</if>
+            <if test="treatmenthospitalno != null  and treatmenthospitalno != ''">and
+                `service_donatebaseinfo`.`TreatmentHospitalNo` = #{treatmenthospitalno}
+            </if>
+            <if test="recordstate != null  and recordstate != ''">and `service_donatebaseinfo`.`RecordState` =
+                #{recordstate}
+            </if>
+            <if test="basecreateby != null  and basecreateby != ''">and `service_donatebaseinfo`.`create_by` =
+                #{basecreateby}
+            </if>
+            <if test="starttime != null ">and `service_medicalevaluation`.CoreTeamAssessTime >= #{starttime}</if>
+            <if test="endtime != null ">and `service_medicalevaluation`.CoreTeamAssessTime &lt;= #{endtime}</if>
+            <if test="reporterno != null  and reporterno != ''">and `service_donatebaseinfo`.ReporterNo =
+                #{reporterno}
+            </if>
+            <if test="city != null and city != ''">and `base_organization`.`City` = #{city}</if>
+            <if test="workflow != null ">and `service_donatebaseinfo`.`workflow` = #{workflow}</if>
+        </where>
 
         order by `service_medicalevaluation`.`create_time` desc,
         `service_donatebaseinfo`.`create_time` desc
     </select>
 
     <select id="countNumber" resultType="java.lang.Integer">
-        select count(*) from service_medicalevaluation
-        where CoreTeamAssessTime >= #{starttime} and CoreTeamAssessTime &lt;= #{endtime}
+        select count(*)
+        from service_medicalevaluation
+        where CoreTeamAssessTime >= #{starttime}
+          and CoreTeamAssessTime &lt;= #{endtime}
     </select>
 
 </mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationorganMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationorganMapper.xml
new file mode 100644
index 0000000..abae226
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationorganMapper.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.mapper.ServiceMedicalevaluationorganMapper">
+
+    <resultMap type="com.ruoyi.project.domain.ServiceMedicalevaluationorgan" id="ServiceMedicalevaluationorganResult">
+        <result property="id" column="ID"/>
+        <result property="infoid" column="InfoID"/>
+        <result property="donorno" column="DonorNo"/>
+        <result property="organno" column="OrganNo"/>
+        <result property="organname" column="OrganName"/>
+        <result property="organnumber" column="OrganNumber"/>
+        <result property="organState" column="Organ_state"/>
+        <result property="notgetreason" column="notgetreason"/>
+        <result property="organAssessTime" column="Organ_assess_time"/>
+        <result property="organAssessDoct" column="Organ_assess_doct"/>
+        <result property="gainhospitalno" column="GainHospitalNo"/>
+        <result property="gainhospitalname" column="GainHospitalName"/>
+        <result property="isbiopsybefore" column="IsBiopsyBefore"/>
+        <result property="isbiopsyafter" column="IsBiopsyAfter"/>
+        <result property="ismarginalorgan" column="IsMarginalOrgan"/>
+        <result property="ispathogenpositive" column="IsPathogenPositive"/>
+        <result property="ispnf" column="IsPNF"/>
+        <result property="isdgf" column="IsDGF"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <sql id="selectServiceMedicalevaluationorganVo">
+        select ID,
+               InfoID,
+               DonorNo,
+               OrganNo,
+               OrganName,
+               OrganNumber,
+               Organ_state,
+               notgetreason,
+               Organ_assess_time,
+               Organ_assess_doct,
+               GainHospitalNo,
+               GainHospitalName,
+               IsBiopsyBefore,
+               IsBiopsyAfter,
+               IsMarginalOrgan,
+               IsPathogenPositive,
+               IsPNF,
+               IsDGF,
+               del_flag,
+               create_by,
+               create_time,
+               update_by,
+               update_time
+        from service_medicalevaluationorgan
+    </sql>
+
+    <select id="selectServiceMedicalevaluationorganList"
+            parameterType="com.ruoyi.project.domain.ServiceMedicalevaluationorgan"
+            resultMap="ServiceMedicalevaluationorganResult">
+        <include refid="selectServiceMedicalevaluationorganVo"/>
+        <where>
+            <if test="infoid != null ">and InfoID = #{infoid}</if>
+            <if test="donorno != null  and donorno != ''">and DonorNo = #{donorno}</if>
+            <if test="organno != null  and organno != ''">and OrganNo = #{organno}</if>
+            <if test="organname != null  and organname != ''">and OrganName like concat('%', #{organname}, '%')</if>
+            <if test="organnumber != null  and organnumber != ''">and OrganNumber = #{organnumber}</if>
+            <if test="organState != null  and organState != ''">and Organ_state = #{organState}</if>
+            <if test="notgetreason != null  and notgetreason != ''">and notgetreason = #{notgetreason}</if>
+            <if test="organAssessTime != null ">and Organ_assess_time = #{organAssessTime}</if>
+            <if test="organAssessDoct != null  and organAssessDoct != ''">and Organ_assess_doct = #{organAssessDoct}
+            </if>
+            <if test="gainhospitalno != null  and gainhospitalno != ''">and GainHospitalNo = #{gainhospitalno}</if>
+            <if test="gainhospitalname != null  and gainhospitalname != ''">and GainHospitalName like concat('%',
+                #{gainhospitalname}, '%')
+            </if>
+            <if test="isbiopsybefore != null  and isbiopsybefore != ''">and IsBiopsyBefore = #{isbiopsybefore}</if>
+            <if test="isbiopsyafter != null  and isbiopsyafter != ''">and IsBiopsyAfter = #{isbiopsyafter}</if>
+            <if test="ismarginalorgan != null  and ismarginalorgan != ''">and IsMarginalOrgan = #{ismarginalorgan}</if>
+            <if test="ispathogenpositive != null  and ispathogenpositive != ''">and IsPathogenPositive =
+                #{ispathogenpositive}
+            </if>
+            <if test="ispnf != null  and ispnf != ''">and IsPNF = #{ispnf}</if>
+            <if test="isdgf != null  and isdgf != ''">and IsDGF = #{isdgf}</if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceTransportFileMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceTransportFileMapper.xml
new file mode 100644
index 0000000..8122e61
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceTransportFileMapper.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.mapper.ServiceTransportFileMapper">
+
+    <resultMap type="com.ruoyi.project.domain.ServiceTransportFile" id="ServiceTransportFileResult">
+        <result property="id" column="id"/>
+        <result property="transportId" column="transport_id"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="fileName" column="file_name"/>
+        <result property="type" column="type"/>
+        <result property="path" column="path"/>
+        <result property="remart" column="remart"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateBy" column="update_by"/>
+    </resultMap>
+
+    <sql id="selectServiceTransportFileVo">
+        select id,
+               transport_id,
+               file_name,
+               case_no,
+               type,
+               path,
+               remart,
+               del_flag,
+               create_time,
+               create_by,
+               update_time,
+               update_by
+        from service_transport_file
+    </sql>
+
+    <select id="selectServiceTransportFileList" parameterType="com.ruoyi.project.domain.ServiceTransportFile"
+            resultMap="ServiceTransportFileResult">
+        <include refid="selectServiceTransportFileVo"/>
+        <where>
+            <if test="transportId != null  and transportId != ''">and transport_id = #{transportId}</if>
+            <if test="fileName != null  and fileName != ''">and file_name = #{fileName}</if>
+            <if test="caseNo != null  and caseNo != ''">and case_no = #{caseNo}</if>
+            <if test="type != null  and type != ''">and type = #{type}</if>
+            <if test="path != null  and path != ''">and path = #{path}</if>
+            <if test="remart != null  and remart != ''">and remart = #{remart}</if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceTransportMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceTransportMapper.xml
new file mode 100644
index 0000000..5019b5d
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceTransportMapper.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.mapper.ServiceTransportMapper">
+
+    <resultMap type="com.ruoyi.project.domain.ServiceTransport" id="ServiceTransportResult">
+        <result property="id" column="id"/>
+        <result property="reportId" column="report_id"/>
+        <result property="caseNo" column="case_no"/>
+        <result property="patName" column="pat_name"/>
+        <result property="sex" column="sex"/>
+        <result property="age" column="age"/>
+        <result property="diagnosisname" column="DiagnosisName"/>
+        <result property="treatmentHospitalName" column="Treatment_hospital_name"/>
+        <result property="treatmentDeptName" column="Treatment_dept_name"/>
+        <result property="transportStartTime" column="transport_start_time"/>
+        <result property="transportStartPlace" column="transport_start_place"/>
+        <result property="contactPerson" column="Contact_person"/>
+        <result property="doctor" column="doctor"/>
+        <result property="doctorPhone" column="doctor_phone"/>
+        <result property="nurse" column="nurse"/>
+        <result property="nursePhone" column="nurse_phone"/>
+        <result property="driver" column="driver"/>
+        <result property="driverPhone" column="driver_phone"/>
+        <result property="icuDoctor" column="icu_doctor"/>
+        <result property="icuDoctorPhone" column="icu_doctor_phone"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="remark" column="remark"/>
+        <result property="transitStatus" column="transit_status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateBy" column="update_by"/>
+    </resultMap>
+
+    <sql id="selectServiceTransportVo">
+        select id,
+               report_id,
+               case_no,
+               pat_name,
+               transit_status,
+               remark,
+               sex,
+               age,
+               DiagnosisName,
+               Treatment_hospital_name,
+               Treatment_dept_name,
+               transport_start_time,
+               transport_start_place,
+               Contact_person,
+               doctor,
+               doctor_phone,
+               nurse,
+               nurse_phone,
+               driver,
+               driver_phone,
+               icu_doctor,
+               icu_doctor_phone,
+               del_flag,
+               create_time,
+               create_by,
+               update_time,
+               update_by
+        from service_transport
+    </sql>
+
+    <select id="selectServiceTransportList" parameterType="com.ruoyi.project.domain.ServiceTransport"
+            resultMap="ServiceTransportResult">
+        <include refid="selectServiceTransportVo"/>
+        <where>
+            <if test="caseNo != null  and caseNo != ''">and case_no = #{caseNo}</if>
+            <if test="patName != null  and patName != ''">and pat_name like concat('%', #{patName}, '%')</if>
+            <if test="sex != null  and sex != ''">and sex = #{sex}</if>
+            <if test="reportId != null ">and report_id = #{reportId}</if>
+            <if test="age != null ">and age = #{age}</if>
+            <if test="diagnosisname != null  and diagnosisname != ''">and DiagnosisName like concat('%',
+                #{diagnosisname}, '%')
+            </if>
+            <if test="treatmentHospitalName != null  and treatmentHospitalName != ''">and Treatment_hospital_name like
+                concat('%', #{treatmentHospitalName}, '%')
+            </if>
+            <if test="treatmentDeptName != null  and treatmentDeptName != ''">and Treatment_dept_name like concat('%',
+                #{treatmentDeptName}, '%')
+            </if>
+            <if test="transportStartTime != null ">and transport_start_time = #{transportStartTime}</if>
+            <if test="transportStartPlace != null  and transportStartPlace != ''">and transport_start_place =
+                #{transportStartPlace}
+            </if>
+            <if test="contactPerson != null  and contactPerson != ''">and Contact_person = #{contactPerson}</if>
+            <if test="doctor != null  and doctor != ''">and doctor = #{doctor}</if>
+            <if test="doctorPhone != null  and doctorPhone != ''">and doctor_phone = #{doctorPhone}</if>
+            <if test="nurse != null  and nurse != ''">and nurse = #{nurse}</if>
+            <if test="nursePhone != null  and nursePhone != ''">and nurse_phone = #{nursePhone}</if>
+            <if test="driver != null  and driver != ''">and driver = #{driver}</if>
+            <if test="driverPhone != null  and driverPhone != ''">and driver_phone = #{driverPhone}</if>
+            <if test="icuDoctor != null  and icuDoctor != ''">and icu_doctor = #{icuDoctor}</if>
+            <if test="icuDoctorPhone != null  and icuDoctorPhone != ''">and icu_doctor_phone = #{icuDoctorPhone}</if>
+            <if test="transitStatus != null ">and transit_status = #{transitStatus}</if>
+            <if test="remark != null ">and remark = #{remark}</if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 31ebdfd..bbb4230 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -95,7 +95,7 @@
                 List<ServiceFund> serviceFunds = serviceFundService.queryInfoById(serviceFund);
                 ServiceFund serviceFund1 = serviceFunds.get(0);
                 serviceFund1.setFlowlevel(100L);
-                serviceFund1.setDel_flag(0);
+                serviceFund1.setDelFlag(0);
                 serviceFund1.setRecordstatus(-1);
                 serviceFund1.setBackflowlevel(199);
                 serviceFundService.updateById(serviceFund1);
@@ -737,7 +737,7 @@
         ServiceFund serviceFund = new ServiceFund();
         serviceFund.setFlowlevel(totallevel);
         serviceFund.setUploadStates(1);
-        serviceFund.setDel_flag(0);
+        serviceFund.setDelFlag(0);
         serviceFund.setApplytype(applyType);
         List<ServiceFund> serviceFundList = serviceFundService.queryList(serviceFund);
         for (ServiceFund serviceFund1 : serviceFundList) {

--
Gitblit v1.9.3