From 28c168589258f36b31fdb39add938e564804b3b1 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期一, 13 三月 2023 20:01:39 +0800
Subject: [PATCH] Default Changelist

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpClientKit.java                                  |  166 ++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java        |  300 +++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java  |  110 +++
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceReimbursementSharedMapper.java            |   26 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java                       |   22 
 ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml                      |    2 
 pom.xml                                                                                               |   25 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java |   40 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java                            |   20 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java         |   26 
 ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml                       |    6 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFundShared.java                           |  257 +++++++
 ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml                        |    3 
 ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementSharedMapper.xml                  |  115 +++
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceReimbursementSharedService.java         |   25 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java                  |  251 ++++++
 ruoyi-admin/pom.xml                                                                                   |    7 
 ruoyi-admin/src/main/resources/application.yml                                                        |    5 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java                       |   23 
 ruoyi-common/pom.xml                                                                                  |    4 
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFundSharedMapper.java                     |   27 
 ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml                          |   13 
 ruoyi-project/src/main/resources/mapper/project/ServiceFundSharedMapper.xml                           |  115 +++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementSharedServiceImpl.java |  171 ++++
 ruoyi-admin/src/main/resources/application-druid.yml                                                  |   11 
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java                         |    2 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java                        |   11 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java       |   47 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java          |  169 ++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java           |  113 +++
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundSharedService.java                  |   24 
 31 files changed, 2,005 insertions(+), 131 deletions(-)

diff --git a/pom.xml b/pom.xml
index 8c79aa4..18a7da9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -219,6 +219,12 @@
                 <version>${ruoyi.version}</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpcore</artifactId>
+                <version>4.4.10</version>
+            </dependency>
+
 
         </dependencies>
     </dependencyManagement>
@@ -237,6 +243,25 @@
 
     <dependencies>
 
+        <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.5</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpmime</artifactId>
+            <version>4.5</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.1</version>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 34e9525..8aa6e33 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -24,6 +24,7 @@
             <optional>true</optional> <!-- 琛ㄧず渚濊禆涓嶄細浼犻�� -->
         </dependency>
 
+
         <!-- swagger3-->
         <dependency>
             <groupId>io.springfox</groupId>
@@ -78,6 +79,12 @@
             <version>2.3.30</version>
         </dependency>
 
+        <dependency>
+        <groupId>org.apache.httpcomponents</groupId>
+        <artifactId>httpclient</artifactId>
+        <version>4.5.12</version>
+        </dependency>
+
     </dependencies>
 
     <build>
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 e0c728f..26873ed 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
@@ -1,7 +1,12 @@
 package com.ruoyi.web.controller.common;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.framework.config.ServerConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,13 +15,9 @@
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
-import com.ruoyi.common.config.RuoYiConfig;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.file.FileUploadUtils;
-import com.ruoyi.common.utils.file.FileUtils;
-import com.ruoyi.framework.config.ServerConfig;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * 閫氱敤璇锋眰澶勭悊
@@ -64,7 +65,7 @@
     }
 
     /**
-     * 閫氱敤涓婁紶璇锋眰
+     * 閫氱敤涓婁紶璇锋眰,type 涓�0 浠h〃鏄樊鏃呮姤閿�锛屼负1浠h〃璐圭敤鐢宠,鍏跺畠鍊间笉鍙�
      */
     @PostMapping("/common/upload")
     public AjaxResult uploadFile(MultipartFile file) throws Exception
@@ -87,6 +88,7 @@
         }
     }
 
+
     /**
      * 鏈湴璧勬簮閫氱敤涓嬭浇
      */
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 7053711..6091070 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
@@ -1,49 +1,36 @@
 package com.ruoyi.web.controller.project;
 
-import java.io.*;
-import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.constant.HttpStatus;
-import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.config.ServerConfig;
-import com.ruoyi.project.domain.ServiceDonateannex;
+import com.ruoyi.project.domain.ServiceDonatebaseinfo;
 import com.ruoyi.project.domain.vo.TimeVO;
+import com.ruoyi.project.service.IServiceDonatebaseinfoService;
 import com.ruoyi.project.service.IServiceExternalpersonService;
 import com.ruoyi.system.mapper.SysDeptMapper;
-import freemarker.core.XMLOutputFormat;
+import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-//import javafx.scene.input.DataFormat;
-import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.parameters.P;
 import org.springframework.web.bind.annotation.*;
-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.project.domain.ServiceDonatebaseinfo;
-import com.ruoyi.project.service.IServiceDonatebaseinfoService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
-import freemarker.template.Configuration;
 
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.crypto.Data;
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+//import javafx.scene.input.DataFormat;
 
 
 /**
@@ -166,8 +153,8 @@
 
 
         serviceDonatebaseinfo.setDonorno(bh);
-        serviceDonatebaseinfo.setDeptid(user.getDeptId());
-        serviceDonatebaseinfo.setDeptname(sysDeptMapper.getDeptNameByDeptId(user.getDeptId()));
+        //serviceDonatebaseinfo.setDeptid(user.getDeptId());
+        //serviceDonatebaseinfo.setDeptname(sysDeptMapper.getDeptNameByDeptId(user.getDeptId()));
 
         return toAjax(serviceDonatebaseinfoService.save(serviceDonatebaseinfo));
     }
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 49aa696..c20602a 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
@@ -1,40 +1,30 @@
 package com.ruoyi.web.controller.project;
 
-import java.io.*;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
+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.enums.OrganEnum;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
 import com.ruoyi.project.domain.ServiceDonateorgan;
 import com.ruoyi.project.domain.vo.DonationCompletionVO;
-import com.ruoyi.project.domain.vo.DonationWitnessVO;
+import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
 import com.ruoyi.project.service.IServiceDonateorganService;
+import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.omg.CORBA.INTERNAL;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-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.project.domain.ServiceDonatecompletioninfo;
-import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
-import freemarker.template.Configuration;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 
 /**
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
new file mode 100644
index 0000000..a057f07
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundSharedController.java
@@ -0,0 +1,113 @@
+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.ServiceFundShared;
+import com.ruoyi.project.service.IServiceFundSharedService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+//import com.ruoyi.project.domain.ServiceFundShared;
+//import com.ruoyi.project.service.IServiceFundSharedService;
+
+/**
+ * 璐圭敤鐢宠涓籆ontroller
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+@Api("璐圭敤鐢宠涓�")
+@RestController
+@RequestMapping("/project/shared")
+public class ServiceFundSharedController extends BaseController
+{
+    @Autowired
+    private IServiceFundSharedService serviceFundSharedService;
+
+    /**
+     * 鏌ヨ璐圭敤鐢宠涓诲垪琛�
+     */
+    @ApiOperation("鏌ヨ璐圭敤鐢宠涓诲垪琛�")
+    @PreAuthorize("@ss.hasPermi('system:shared:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ServiceFundShared serviceFundShared)
+    {
+        startPage();
+        List<ServiceFundShared> list = serviceFundSharedService.queryList(serviceFundShared);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭璐圭敤鐢宠涓诲垪琛�
+     */
+    @ApiOperation("瀵煎嚭璐圭敤鐢宠涓诲垪琛�")
+    @PreAuthorize("@ss.hasPermi('system:shared:export')")
+    @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceFundShared serviceFundShared)
+    {
+        List<ServiceFundShared> list = serviceFundSharedService.queryList(serviceFundShared);
+        ExcelUtil<ServiceFundShared> util = new ExcelUtil<ServiceFundShared>(ServiceFundShared.class);
+        return util.exportExcel(list, "璐圭敤鐢宠涓绘暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇璐圭敤鐢宠涓昏缁嗕俊鎭�
+     */
+    @ApiOperation("鑾峰彇璐圭敤鐢宠涓昏缁嗕俊鎭�")
+    @PreAuthorize("@ss.hasPermi('system:shared:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(serviceFundSharedService.getById(id));
+    }
+
+    /**
+     * 鏂板璐圭敤鐢宠涓�
+     */
+    @ApiOperation("鏂板璐圭敤鐢宠涓�")
+    @PreAuthorize("@ss.hasPermi('system:shared:add')")
+    @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.INSERT)
+    @PostMapping
+    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceFundShared serviceFundShared)
+    {
+        return toAjax(serviceFundSharedService.save(serviceFundShared));
+    }
+
+    /**
+     * 淇敼璐圭敤鐢宠涓�
+     */
+    @ApiOperation("淇敼璐圭敤鐢宠涓�")
+    @PreAuthorize("@ss.hasPermi('system:shared:edit')")
+    @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    @RepeatSubmit    
+    public AjaxResult edit(@RequestBody ServiceFundShared serviceFundShared)
+    {
+        return toAjax(serviceFundSharedService.updateById(serviceFundShared));
+    }
+
+    /**
+     * 鍒犻櫎璐圭敤鐢宠涓�
+     */
+    @ApiOperation("鍒犻櫎璐圭敤鐢宠涓�")
+    @PreAuthorize("@ss.hasPermi('system:shared:remove')")
+    @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(serviceFundSharedService.removeByIds(Arrays.asList(ids)));
+    }
+}
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 b7da5fd..5f4147b 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
@@ -1,49 +1,44 @@
 package com.ruoyi.web.controller.project;
 
-import java.io.*;
-import java.text.DecimalFormat;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.constant.HttpStatus;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.HttpClientKit;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
 import com.ruoyi.project.domain.vo.CheckFundVO;
 import com.ruoyi.project.domain.vo.SpFinancialExpensesIn;
 import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut;
 import com.ruoyi.project.service.*;
-import com.ruoyi.system.domain.SysPost;
 import com.ruoyi.system.service.ISysPostService;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang.ArrayUtils;
 import org.apache.ibatis.annotations.Options;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-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.common.core.page.TableDataInfo;
-import freemarker.template.Configuration;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.*;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+
 
 /**
  * 鎶ラ攢鐢宠Controller
@@ -58,6 +53,9 @@
 {
     @Autowired
     private IServiceReimbursementService serviceReimbursementService;
+
+    @Autowired
+    private IServiceReimbursementSharedService serviceReimbursementServiceShare;
 
     @Autowired
     private IServiceReimbursementdetailService serviceReimbursementdetailService;
@@ -204,9 +202,246 @@
     @Options(useGeneratedKeys = true, keyProperty = "id")
     public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement)
     {
+
         boolean b = serviceReimbursementService.save(serviceReimbursement);
+        if(b)
+        {
+            addReiSharedDatd(serviceReimbursement,1);
+        }
         Long id = serviceReimbursement.getId();
         return AjaxResult.success(id);
+    }
+
+    public  int addReiSharedDatd(ServiceReimbursement serviceReimbursement,int nType)
+    {
+        //remShare = ;
+        ServiceReimbursementShared remShare = null;
+        if(nType == 1)
+       {
+            remShare = new ServiceReimbursementShared();
+            remShare.setReimid(serviceReimbursement.getId());
+        }
+        else //modify
+        {
+            List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
+            if(remlist!=null)
+                remShare =remlist.get(0);
+        }
+
+        remShare.setUserno(serviceReimbursement.getUserno());
+        remShare.setUsername(serviceReimbursement.getUsername());
+        remShare.setTravelers(serviceReimbursement.getTravelers());
+        remShare.setIdcardtype(serviceReimbursement.getIdcardtype());
+        remShare.setIdcardno(serviceReimbursement.getIdcardno());
+        remShare.setPhone(serviceReimbursement.getPhone());
+        remShare.setDepositbank(serviceReimbursement.getDepositbank());
+        remShare.setBankcardno(serviceReimbursement.getBankcardno());
+        remShare.setBranchbankname(serviceReimbursement.getBranchbankname());
+        remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard());
+        remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
+       // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
+
+        Double nTemp = serviceReimbursement.getAmountrequested();
+        if( nTemp == null) nTemp = 0d;
+        remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceReimbursement.getPrepaidamount();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
+
+        remShare.setInvoicecount(serviceReimbursement.getInvoicecount());
+        remShare.setAttachcount(serviceReimbursement.getAttachcount());
+        remShare.setManagerno(serviceReimbursement.getManagerno());
+        remShare.setManagername(serviceReimbursement.getManagername());
+        remShare.setDeptmentno(serviceReimbursement.getDeptmentno());
+        remShare.setDeptmentname(serviceReimbursement.getDeptmentname());
+        remShare.setOpochecker(serviceReimbursement.getOpochecker());
+        remShare.setFinvicepresident(serviceReimbursement.getFinvicepresident());
+        remShare.setBusvicepresident(serviceReimbursement.getBusvicepresident());
+        remShare.setOfficedirector(serviceReimbursement.getOfficedirector());
+        remShare.setFinancedirector(serviceReimbursement.getFinancedirector());
+        remShare.setFinancechecher(serviceReimbursement.getFinancechecher());
+        remShare.setInfoid(serviceReimbursement.getInfoid());
+        remShare.setDonorno(serviceReimbursement.getDonorno());
+
+        remShare.setDonorname(serviceReimbursement.getDonorname());
+        remShare.setReason(serviceReimbursement.getReason());
+        remShare.setRecordstatus(serviceReimbursement.getRecordstatus());
+        remShare.setUploadflag(serviceReimbursement.getUploadflag());
+        remShare.setUploadtime(serviceReimbursement.getUploadtime());
+
+        nTemp = serviceReimbursement.getTotalamount();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setTotalamount(BigDecimal.valueOf(nTemp));
+
+        remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney());
+        remShare.setFlowlevel(serviceReimbursement.getFlowlevel());
+        remShare.setCosttype(serviceReimbursement.getCosttype());
+        remShare.setCosttypename(serviceReimbursement.getCosttypename());
+        remShare.setFileurl(serviceReimbursement.getFileurl());
+        //remShare.setOaid(serviceReimbursement.getOaid());
+        //remShare.setDonorno(serviceReimbursement.getDonorno());
+
+        boolean bRet = false;
+        if(nType==1)
+        {
+            bRet = serviceReimbursementServiceShare.save(remShare);
+        }
+        else
+        {
+            //remShare.setId(serviceReimbursement.);
+            bRet = serviceReimbursementServiceShare.updateById(remShare);
+        }
+
+        //if(!bRet) return -1;
+        String strMutfileUrl = remShare.getFileurl();
+        //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶
+        if(strMutfileUrl == null) return 0;
+        if(strMutfileUrl.isEmpty()) return 0;
+
+        try
+        {
+            uploadOAFileAndUpdateDb(remShare);
+        }
+        catch (Exception e)
+        {
+            logger.error("璋冪敤绗笁鏂规帴鍙e嚭閿�!");
+            e.printStackTrace();
+        }
+
+        //姝ゅ淇濆瓨鎴愬姛鍚庤涓婁紶OA锛屼繚瀛樿繑鍥炲��
+
+        return  0;
+    }
+
+
+    int uploadOAFileAndUpdateDb(ServiceReimbursementShared remShare)
+    {
+            //涓婁紶OA鏂囦欢
+        //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3";
+        String strUrl = "http://129.88.242.39:8899/seeyon/rest/token";
+        //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token";
+            //涓婁紶鏂囦欢鎴愬姛鍚庯紝鍘绘洿鏂扮浉鍏崇殑鏁版嵁搴�
+
+
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("userName","opo");
+        map.put("password","4126407a-9821-4874-be41-6568abd6dbe5");
+        map.put("loginName","demo3");
+
+        JSONObject jsonObj =  new JSONObject(map);
+
+        System.out.println("uploadOAFileAndUpdateDb + jsonObject"+jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
+        String strRes = HttpClientKit.postOpr(strUrl,jsonObj.toString());//
+        //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//寰楀埌杩斿洖鐨則oken?
+
+        JSONObject json1 = JSONObject.parseObject(strRes);
+        strRes = json1.get("id").toString();
+
+        ///if(strRes.isEmpty() || "" == strRes) return -1;// 涓虹┖浠h〃澶辫触
+
+        //涓嬮潰闇�姹傝皟鐢ㄦ枃浠剁殑鎺ュ彛锛岃皟鐢ㄦ垚鍔熻繑鍥炲悗锛屽緱鍒癴ilename鍜宖ileid 鐢ㄨ繖浜屼釜鍊煎幓鏇存柊鏁版嵁
+
+         String filePath = RuoYiConfig.getUploadPath();
+         String strMutfileUrl = remShare.getFileurl();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑
+
+        String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=%s"+strRes;
+        //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes;
+        //strFUrl = String.format(strFUrl, strRes);
+
+        /*File test = null;
+        File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17");
+        if (file.exists() && file.isDirectory()) {
+            // 鑾峰彇鎵�鏈夌洸鐩掓枃浠跺す
+            File[] ones = file.listFiles();
+            for (File one : ones) {
+                test = one;
+            }
+        }*/
+
+        String filename = "";
+        String fileid = "";
+
+        String[] urlArray = strMutfileUrl.split(",");
+        for (int i = 0; i < urlArray.length; i++)
+        {
+            String strOneFileName = urlArray[i];
+            String strTemp = strOneFileName.substring(15);
+            String strFile = filePath  + strTemp ;
+            //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName);
+            String struploadResult = "";
+            File filetest = new File(strFile);
+            try
+            {
+                struploadResult = HttpClientKit.sendPostWithFile(filetest,strFUrl);
+            }
+            catch (Exception e)
+            {
+                e.printStackTrace();
+            }
+
+
+            /*CloseableHttpClient httpClient = HttpClients.createDefault();
+            //鍒涘缓post鏂规硶杩炴帴瀹炰緥锛屽湪post鏂规硶涓紶鍏ュ緟杩炴帴鍦板潃
+            HttpPost httpPost = new HttpPost(strFUrl);
+            CloseableHttpResponse response = null;
+
+            String struploadResult = "";
+            try {
+                //璁剧疆璇锋眰鍙傛暟锛堢被浼糷tml椤甸潰涓璶ame灞炴�э級
+                MultipartEntityBuilder entity = MultipartEntityBuilder.create();
+                //entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
+                entity.setCharset(Charset.forName("UTF-8"));
+
+                byte[] fileBytes = Files.readAllBytes(Paths.get(strFile));
+                if (fileBytes != null) {
+                    //鍐呭绫诲瀷锛岀敤浜庡畾涔夌綉缁滄枃浠剁殑绫诲瀷鍜岀綉椤电殑缂栫爜锛屽喅瀹氭枃浠舵帴鏀舵柟灏嗕互浠�涔堝舰寮忋�佷粈涔堢紪鐮佽鍙栬繖涓枃浠�
+                    ContentType OCTEC_STREAM = ContentType.create("application/octet-stream", Charset.forName("UTF-8"));
+                    //娣诲姞鏂囦欢
+                    entity.addBinaryBody("file", fileBytes, OCTEC_STREAM, strTemp);
+                }
+
+                httpPost.setEntity(entity.build());
+                //鍙戣捣璇锋眰锛屽苟杩斿洖璇锋眰鍝嶅簲
+                response = httpClient.execute(httpPost);
+                struploadResult = EntityUtils.toString(response.getEntity(), "utf-8");
+            }
+            catch (Exception e)
+            {
+                e.printStackTrace();
+            }*/
+
+            //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj);
+            if(struploadResult == null) return 0;
+            if(struploadResult.isEmpty()) return 0;
+
+            JSONObject jsonR = JSONObject.parseObject(struploadResult);
+
+            JSONArray jsonArr = jsonR.getJSONArray("atts");
+            for(int j=0;j<jsonArr.size();j++)
+            {
+                JSONObject jsonRet = jsonArr.getJSONObject(j);
+                String name1= jsonRet.get("filename").toString();
+                String id1 = jsonRet.get("fileUrl").toString();
+                filename+=name1;
+                fileid+=id1;
+                if(i!=urlArray.length-1)
+                {
+                    filename+=",";
+                    fileid+=",";
+                }
+            }
+
+        }
+
+       long nId = remShare.getId();
+       remShare.setId(nId);
+       remShare.setFilename(filename);
+       remShare.setFileid(fileid);
+       boolean bRet = serviceReimbursementServiceShare.updateById(remShare);
+       if(!bRet) return -1;
+
+        return 0;
     }
 
     /**
@@ -227,12 +462,12 @@
 
             if(!postids.contains(2))
             {
-                serviceReimbursement.setFlowlevel(1);
+                serviceReimbursement.setFlowlevel(1L);
                 serviceReimbursement.setRecordstatus(2);
             }
             else
             {
-                serviceReimbursement.setFlowlevel(0);
+                serviceReimbursement.setFlowlevel(0L);
                 serviceReimbursement.setRecordstatus(0);
             }
 
@@ -294,8 +529,8 @@
                 TotalLevel=serviceFundflowrules.get(0).getTotallevel();
             }
             Integer CheckFlag=0;
-            Integer RecordStatus=serviceReimbursement.getRecordstatus();
-            Integer FlowLevel=serviceReimbursement.getFlowlevel();
+            Integer RecordStatus = serviceReimbursement.getRecordstatus();
+            Integer FlowLevel = Integer.valueOf(serviceReimbursement.getFlowlevel().toString());
             Integer OriginalFlowLevel=FlowLevel;
             if(checkFundVO.getFlowconclusion()==1)
             {
@@ -329,7 +564,7 @@
             }
 
             serviceReimbursement.setRecordstatus(RecordStatus);
-            serviceReimbursement.setFlowlevel(FlowLevel);
+            serviceReimbursement.setFlowlevel(Long.valueOf(FlowLevel.toString()));
 
             ServiceFundflow serviceFundflow=new ServiceFundflow();
             SysUser user = loginUser.getUser();
@@ -410,7 +645,12 @@
     @RepeatSubmit    
     public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement)
     {
-        return toAjax(serviceReimbursementService.updateById(serviceReimbursement));
+        boolean b= serviceReimbursementService.updateById(serviceReimbursement);
+        if(b)
+        {
+            addReiSharedDatd(serviceReimbursement,2);
+        }
+        return toAjax(b);
     }
 
     /**
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
new file mode 100644
index 0000000..9a629fc
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementSharedController.java
@@ -0,0 +1,110 @@
+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.ServiceReimbursementShared;
+import com.ruoyi.project.service.IServiceReimbursementSharedService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 鎶ラ攢鐢宠Controller
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+@Api("鎶ラ攢鐢宠")
+@RestController
+@RequestMapping("/project/reimshared")
+public class ServiceReimbursementSharedController extends BaseController
+{
+    @Autowired
+    private IServiceReimbursementSharedService serviceReimbursementSharedService;
+
+    /**
+     * 鏌ヨ鎶ラ攢鐢宠鍒楄〃
+     */
+    @ApiOperation("鏌ヨ鎶ラ攢鐢宠鍒楄〃")
+    //@PreAuthorize("@ss.hasPermi('system:shared:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ServiceReimbursementShared serviceReimbursementShared)
+    {
+        startPage();
+        List<ServiceReimbursementShared> list = serviceReimbursementSharedService.queryList(serviceReimbursementShared);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鎶ラ攢鐢宠鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭鎶ラ攢鐢宠鍒楄〃")
+    //@PreAuthorize("@ss.hasPermi('system:shared:export')")
+    @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(ServiceReimbursementShared serviceReimbursementShared)
+    {
+        List<ServiceReimbursementShared> list = serviceReimbursementSharedService.queryList(serviceReimbursementShared);
+        ExcelUtil<ServiceReimbursementShared> util = new ExcelUtil<ServiceReimbursementShared>(ServiceReimbursementShared.class);
+        return util.exportExcel(list, "鎶ラ攢鐢宠鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅")
+    //@PreAuthorize("@ss.hasPermi('system:shared:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(serviceReimbursementSharedService.getById(id));
+    }
+
+    /**
+     * 鏂板鎶ラ攢鐢宠
+     */
+    @ApiOperation("鏂板鎶ラ攢鐢宠")
+    //@PreAuthorize("@ss.hasPermi('system:shared:add')")
+    @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.INSERT)
+    @PostMapping
+    @RepeatSubmit
+    public AjaxResult add(@RequestBody ServiceReimbursementShared serviceReimbursementShared)
+    {
+        return toAjax(serviceReimbursementSharedService.save(serviceReimbursementShared));
+    }
+
+    /**
+     * 淇敼鎶ラ攢鐢宠
+     */
+    @ApiOperation("淇敼鎶ラ攢鐢宠")
+    //@PreAuthorize("@ss.hasPermi('system:shared:edit')")
+    @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.UPDATE)
+    @PutMapping
+    @RepeatSubmit    
+    public AjaxResult edit(@RequestBody ServiceReimbursementShared serviceReimbursementShared)
+    {
+        return toAjax(serviceReimbursementSharedService.updateById(serviceReimbursementShared));
+    }
+
+    /**
+     * 鍒犻櫎鎶ラ攢鐢宠
+     */
+    @ApiOperation("鍒犻櫎鎶ラ攢鐢宠")
+    @PreAuthorize("@ss.hasPermi('system:shared:remove')")
+    @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(serviceReimbursementSharedService.removeByIds(Arrays.asList(ids)));
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 5430d73..f191214 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,15 +6,18 @@
         druid:
             # 涓诲簱鏁版嵁婧�
             master:
-                #url: jdbc:mysql://47.118.79.3:3308/opozj?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-                #username: JQ
-                #password: DQt1solAOB&=
                 #url: jdbc:mysql://129.88.242.37:3308/opo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 #username: JQ
                 #password: Jqserver88
-                url: jdbc:mysql://172.29.9.23:3306/oposvr?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                #url: jdbc:mysql://47.118.79.3:3308/opozj?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                #username: JQ
+                #password: DQt1solAOB&=
+                url: jdbc:mysql://172.29.74.70:3306/opo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
                 username: sendo
                 password: sendohill
+                #url: jdbc:mysql://192.168.2.98:3306/opo-v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
+                #username: root
+                #password: 1
             # 浠庡簱鏁版嵁婧�
             slave:
                 # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index b25c61c..0954220 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -11,8 +11,8 @@
   # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ruoyi/uploadPath锛孡inux閰嶇疆 /home/ruoyi/uploadPath锛�
   #profile: /Users/dongshicun/IdeaProjects/JQ.OPO/testDoc/ruoyi/uploadPath
   #profile: C:/YYJQ/OPO/WEB/Upload
-  profile: D:/YYJQ/OPO/WEB/Upload
-  #profile: E:/YYJQ/OPO/WEB/Upload
+  #profile: D:/YYJQ/OPO/WEB/Upload
+  profile: E:/YYJQ/OPO/WEB/Upload
   # 鑾峰彇ip鍦板潃寮�鍏�
   addressEnabled: false
   # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
@@ -71,7 +71,6 @@
     # 鍦板潃
     host: 47.118.79.3
     #host: 129.88.242.37
-    #host: 127.0.0.1
 
     # 绔彛锛岄粯璁や负6379
     port: 6379
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 8e5dca5..0f14f49 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -135,6 +135,10 @@
             <version>1.6.2</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpClientKit.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpClientKit.java
new file mode 100644
index 0000000..c7ffa9f
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpClientKit.java
@@ -0,0 +1,166 @@
+package com.ruoyi.common.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.constant.HttpStatus;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.RequestEntity;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.entity.mime.HttpMultipartMode;
+import org.apache.http.entity.mime.MultipartEntity;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.protocol.HTTP;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+
+public class HttpClientKit {
+
+    public static String post(String url, JSONObject json) {
+
+        CloseableHttpClient client = HttpClients.createDefault();
+        HttpPost post = new HttpPost(url);
+
+        post.setHeader("Content-Type", "application/json");
+        post.addHeader("Authorization", "Basic YWRtaW46");
+        String result = "";
+
+        try {
+
+            StringEntity s = new StringEntity(json.toString(), "utf-8");
+            s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
+                    "application/json"));
+            post.setEntity(s);
+
+            // 鍙戦�佽姹�
+            HttpResponse httpResponse = client.execute(post);
+
+            // 鑾峰彇鍝嶅簲杈撳叆娴�
+            InputStream inStream = httpResponse.getEntity().getContent();
+            BufferedReader reader = new BufferedReader(new InputStreamReader(
+                    inStream, "utf-8"));
+            StringBuilder strber = new StringBuilder();
+            String line = null;
+            while ((line = reader.readLine()) != null)
+                strber.append(line + "\n");
+            inStream.close();
+
+            result = strber.toString();
+            System.out.println(result);
+
+            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SUCCESS) {
+                // System.out.println("璇锋眰鏈嶅姟鍣ㄦ垚鍔燂紝鍋氱浉搴斿鐞�");
+            } else {
+                System.out.println("璇锋眰鏈嶅姟绔け璐�");
+            }
+        } catch (Exception e) {
+            System.out.println("璇锋眰寮傚父");
+            throw new RuntimeException(e);
+        }
+        finally {
+            //client.
+        }
+        return result;
+    }
+
+    public static String sendPostWithFile(File lrcFile, String urlStr) throws Exception {
+        String BOUNDARY = java.util.UUID.randomUUID().toString();
+        MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, "--------------------" + BOUNDARY, Charset.defaultCharset());
+        multipartEntity.addPart("lyricsUpload", new FileBody(lrcFile));    //lyricsUpload鏂囦欢鍚�
+        HttpPost request = new HttpPost(urlStr);    //杩滅▼鎺ュ彛
+        request.setEntity(multipartEntity);
+        request.addHeader("Content-Type", "multipart/form-data; boundary=--------------------" + BOUNDARY);
+
+        DefaultHttpClient httpClient = new DefaultHttpClient();
+        HttpResponse response = httpClient.execute(request);
+        InputStream is = response.getEntity().getContent();
+        BufferedReader in = new BufferedReader(new InputStreamReader(is));
+        StringBuffer buffer = new StringBuffer();
+        String line = "";
+        while ((line = in.readLine()) != null) {
+            buffer.append(line);
+        }
+        //Flogger.info("鍙戦�佹秷鎭敹鍒扮殑杩斿洖锛�" + buffer.toString());
+        String remark = "";
+        return  buffer.toString();
+       // org.json.JSONObject JSONObject = new org.json.JSONObject(buffer.toString());
+    }
+    public  static  String postOpr(String url,String json)
+    {
+        //HttpClient httpClient = new HttpClient();
+        org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
+        PostMethod httpPost = new PostMethod(url);
+        httpPost.setRequestHeader("Content-Type","application/json;charset=utf-8");
+
+        try
+        {
+            RequestEntity entity = new StringRequestEntity(json,"Content-Type","UTF-8");
+            httpPost.setRequestEntity(entity);
+            httpClient.executeMethod(httpPost);
+
+            return  httpPost.getResponseBodyAsString();
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+        return  "";
+    }
+    public static String postMsg(String url, JSONObject json) {
+
+        CloseableHttpClient client = HttpClients.createDefault();
+        HttpPost post = new HttpPost(url);
+
+        post.setHeader("Content-Type", "application/json");
+        //post.addHeader("Authorization", "Basic YWRtaW46");
+        //post.addHeader("ApiKey", "hswl");
+        post.addHeader("PostMethod", "POST");
+        String result = "";
+
+        try {
+
+            StringEntity s = new StringEntity(json.toJSONString(), "utf-8");
+            s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
+                    "application/json"));
+            post.setEntity(s);
+
+            // 鍙戦�佽姹�
+            HttpResponse httpResponse = client.execute(post);
+
+            // 鑾峰彇鍝嶅簲杈撳叆娴�
+            InputStream inStream = httpResponse.getEntity().getContent();
+            BufferedReader reader = new BufferedReader(new InputStreamReader(
+                    inStream, "utf-8"));
+            StringBuilder strber = new StringBuilder();
+            String line = null;
+            while ((line = reader.readLine()) != null)
+                strber.append(line + "\n");
+            inStream.close();
+
+            result = strber.toString();
+            System.out.println(result);
+
+            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SUCCESS) {
+                //System.out.println("璇锋眰鏈嶅姟鍣ㄦ垚鍔燂紝鍋氱浉搴斿鐞�");
+            } else {
+                System.out.println("璇锋眰鏈嶅姟绔け璐�");
+            }
+        } catch (Exception e) {
+            System.out.println("璇锋眰寮傚父");
+            throw new RuntimeException(e);
+        }
+        finally {
+            //client.
+        }
+        return result;
+    }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
index 51b3190..50ad496 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
@@ -52,7 +52,7 @@
     public CorsFilter corsFilter()
     {
         CorsConfiguration config = new CorsConfiguration();
-        // config.setAllowCredentials(true);20230302
+        config.setAllowCredentials(true);
         // 璁剧疆璁块棶婧愬湴鍧�
         config.addAllowedOriginPattern("*");
         // 璁剧疆璁块棶婧愯姹傚ご
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 a5ef229..6984a8d 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
@@ -1,17 +1,17 @@
 package com.ruoyi.project.domain;
 
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 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;
 import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * 鎹愮尞鍩虹瀵硅薄 service_donatebaseinfo
@@ -355,8 +355,21 @@
 
     private Long deptid;
 
-
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+    @Excel(name = "閮ㄩ棬鍚嶇О")
     private String deptname;
 
+    @ApiModelProperty("缁勯暱缂栫爜")
+    @Excel(name = "缁勯暱缂栫爜")
+    private String leaderno;
+    
+    @ApiModelProperty("缁勯暱鍚嶇О")
+    @Excel(name = "缁勯暱鍚嶇О")
+    private String leadername;
+
+    @ApiModelProperty("涓氬姟鍦板尯")
+    @Excel(name = "涓氬姟鍦板尯")
+    private String businessarea;
+
 
 }
\ No newline at end of file
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFundShared.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFundShared.java
new file mode 100644
index 0000000..b49c4f8
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFundShared.java
@@ -0,0 +1,257 @@
+//package com.ruoyi.system.domain;
+package com.ruoyi.project.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 璐圭敤鐢宠涓诲璞� service_fund_shared
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+@Data
+@ApiModel("璐圭敤鐢宠涓�")
+public class ServiceFundShared 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;
+
+    /** 鎹愮尞鑰呭鍚� */
+    @ApiModelProperty("鎹愮尞鑰呭鍚�")
+    @Excel(name = "鎹愮尞鑰呭鍚�")
+    private String donorname;
+
+    /** 鐢宠浜虹紪鍙� */
+    @ApiModelProperty("鐢宠浜虹紪鍙�")
+    @Excel(name = "鐢宠浜虹紪鍙�")
+    private String userno;
+
+    /** 鐢宠浜哄鍚� */
+    @ApiModelProperty("鐢宠浜哄鍚�")
+    @Excel(name = "鐢宠浜哄鍚�")
+    private String username;
+
+    /** 宸ヤ綔鍗曚綅 */
+    @ApiModelProperty("宸ヤ綔鍗曚綅")
+    @Excel(name = "宸ヤ綔鍗曚綅")
+    private String unitname;
+
+    /** 宸ヤ綔鍗曚綅缂栧彿 */
+    @ApiModelProperty("宸ヤ綔鍗曚綅缂栧彿")
+    @Excel(name = "宸ヤ綔鍗曚綅缂栧彿")
+    private String unitno;
+
+    /** 宸ヤ綔鍗曚綅鐢ㄦ埛缂栧彿 */
+    @ApiModelProperty("宸ヤ綔鍗曚綅鐢ㄦ埛缂栧彿")
+    @Excel(name = "宸ヤ綔鍗曚綅鐢ㄦ埛缂栧彿")
+    private String unituserno;
+
+    /** 瀹跺睘鑱旂郴鐢佃瘽 */
+    @ApiModelProperty("瀹跺睘鑱旂郴鐢佃瘽")
+    @Excel(name = "瀹跺睘鑱旂郴鐢佃瘽")
+    private String phone;
+
+    /** 閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑 */
+    @ApiModelProperty("閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑")
+    @Excel(name = "閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑")
+    private String annexbankcard;
+
+    /** 鐧昏琛ㄧ収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑 */
+    @ApiModelProperty("鐧昏琛ㄧ収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑")
+    @Excel(name = "鐧昏琛ㄧ収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑")
+    private String annexregistform;
+
+    /** 绋庡墠閲戦鍚堣 */
+    @ApiModelProperty("绋庡墠閲戦鍚堣")
+    @Excel(name = "绋庡墠閲戦鍚堣")
+    private BigDecimal pretaxcost;
+
+    /** 绋庡悗閲戦鍚堣 */
+    @ApiModelProperty("绋庡悗閲戦鍚堣")
+    @Excel(name = "绋庡悗閲戦鍚堣")
+    private BigDecimal taxedcost;
+
+    /** 璐圭敤鎬婚噾棰� */
+    @ApiModelProperty("璐圭敤鎬婚噾棰�")
+    @Excel(name = "璐圭敤鎬婚噾棰�")
+    private BigDecimal totalcost;
+
+    /** 鑾峰彇涓撳鎬昏垂鐢� */
+    @ApiModelProperty("鑾峰彇涓撳鎬昏垂鐢�")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    //@TableId(type = IdType.AUTO)
+    private BigDecimal procurementcost;
+
+    /** 涓撳璐圭敤鎬婚噾棰� */
+    @ApiModelProperty("涓撳璐圭敤鎬婚噾棰�")
+    @Excel(name = "涓撳璐圭敤鎬婚噾棰�")
+    private BigDecimal expertcost;
+
+    /** 浼︾悊瀹℃煡璐圭敤鎬婚噾棰� */
+    @ApiModelProperty("浼︾悊瀹℃煡璐圭敤鎬婚噾棰�")
+    @Excel(name = "浼︾悊瀹℃煡璐圭敤鎬婚噾棰�")
+    private BigDecimal ethicscost;
+
+    /** 鎹愮尞鑰呭尰瀛︽垚鏈�婚噾棰� */
+    @ApiModelProperty("鎹愮尞鑰呭尰瀛︽垚鏈�婚噾棰�")
+    @Excel(name = "鎹愮尞鑰呭尰瀛︽垚鏈�婚噾棰�")
+    private BigDecimal medicalcost;
+
+    /** 鎹愮尞鑰呭灞為瀹胯垂鎬婚噾棰� */
+    @ApiModelProperty("鎹愮尞鑰呭灞為瀹胯垂鎬婚噾棰�")
+    @Excel(name = "鎹愮尞鑰呭灞為瀹胯垂鎬婚噾棰�")
+    private BigDecimal familycost;
+
+    /** 鎹愮尞鑰呭杽鍚庢垚鏈�婚噾棰� */
+    @ApiModelProperty("鎹愮尞鑰呭杽鍚庢垚鏈�婚噾棰�")
+    @Excel(name = "鎹愮尞鑰呭杽鍚庢垚鏈�婚噾棰�")
+    private BigDecimal aftercarecost;
+
+    /** 鐢宠閲戦 */
+    @ApiModelProperty("鐢宠閲戦")
+    @Excel(name = "鐢宠閲戦")
+    private BigDecimal amountrequested;
+
+    /** 璧勯噾绫诲埆 瑙佸瓧鍏竤ys_ConsolationType */
+    @ApiModelProperty("璧勯噾绫诲埆 瑙佸瓧鍏竤ys_ConsolationType")
+    @Excel(name = "璧勯噾绫诲埆 瑙佸瓧鍏竤ys_ConsolationType")
+    private String applytype;
+
+    /** 棰勬敮璐圭敤 */
+    @ApiModelProperty("棰勬敮璐圭敤")
+    @Excel(name = "棰勬敮璐圭敤")
+    private BigDecimal prepaidamount;
+
+    /** 鍙戠エ寮犳暟 */
+    @ApiModelProperty("鍙戠エ寮犳暟")
+    @Excel(name = "鍙戠エ寮犳暟")
+    private Long invoicecount;
+
+    /** 闄勪欢鏁� */
+    @ApiModelProperty("闄勪欢鏁�")
+    @Excel(name = "闄勪欢鏁�")
+    private Long attachcount;
+
+    /** 閮ㄩ棬涓荤宸ュ彿 */
+    @ApiModelProperty("閮ㄩ棬涓荤宸ュ彿")
+    @Excel(name = "閮ㄩ棬涓荤宸ュ彿")
+    private String managerno;
+
+    /** 閮ㄩ棬涓荤鍚嶅瓧 */
+    @ApiModelProperty("閮ㄩ棬涓荤鍚嶅瓧")
+    @Excel(name = "閮ㄩ棬涓荤鍚嶅瓧")
+    private String managername;
+
+    /** 閮ㄩ棬缂栧彿 */
+    @ApiModelProperty("閮ㄩ棬缂栧彿")
+    @Excel(name = "閮ㄩ棬缂栧彿")
+    private String deptmentno;
+
+    /** 閮ㄩ棬鍚嶇О */
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+    @Excel(name = "閮ㄩ棬鍚嶇О")
+    private String deptmentname;
+
+    /** 涓績绛惧瓧 */
+    @ApiModelProperty("涓績绛惧瓧")
+    @Excel(name = "涓績绛惧瓧")
+    private String opochecker;
+
+    /** 璐㈠姟鍓櫌闀跨瀛� */
+    @ApiModelProperty("璐㈠姟鍓櫌闀跨瀛�")
+    @Excel(name = "璐㈠姟鍓櫌闀跨瀛�")
+    private String finvicepresident;
+
+    /** 涓氬姟鍓櫌闀跨瀛� */
+    @ApiModelProperty("涓氬姟鍓櫌闀跨瀛�")
+    @Excel(name = "涓氬姟鍓櫌闀跨瀛�")
+    private String busvicepresident;
+
+    /** 鍔炲叕瀹や富浠荤瀛� */
+    @ApiModelProperty("鍔炲叕瀹や富浠荤瀛�")
+    @Excel(name = "鍔炲叕瀹や富浠荤瀛�")
+    private String officedirector;
+
+    /** 璐㈠姟瀹や富浠荤瀛� */
+    @ApiModelProperty("璐㈠姟瀹や富浠荤瀛�")
+    @Excel(name = "璐㈠姟瀹や富浠荤瀛�")
+    private String financedirector;
+
+    /** 璐㈠姟瀹℃牳 */
+    @ApiModelProperty("璐㈠姟瀹℃牳")
+    @Excel(name = "璐㈠姟瀹℃牳")
+    private String financechecher;
+
+    /** 鍙戞斁鐘舵�� */
+    @ApiModelProperty("鍙戞斁鐘舵��")
+    @Excel(name = "鍙戞斁鐘舵��")
+    private String isdistribute;
+
+    /** 璁板綍鐘舵�� */
+    @ApiModelProperty("璁板綍鐘舵��")
+    @Excel(name = "璁板綍鐘舵��")
+    private Integer recordstatus;
+
+    /** 涓婁紶鏍囧織 */
+    @ApiModelProperty("涓婁紶鏍囧織")
+    @Excel(name = "涓婁紶鏍囧織")
+    private String uploadflag;
+
+    /** 涓婁紶鏃堕棿 */
+    @ApiModelProperty("涓婁紶鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "涓婁紶鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date uploadtime;
+
+    /** 褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑 */
+    @ApiModelProperty("褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑")
+    @Excel(name = "褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑")
+    private Long flowlevel;
+
+    /** 瀵规帴绯荤粺琛ㄥ崟id */
+    @ApiModelProperty("瀵规帴绯荤粺琛ㄥ崟id")
+    @Excel(name = "瀵规帴绯荤粺琛ㄥ崟id")
+    private String oaid;
+
+    /** 瀵规帴绯荤粺琛ㄥ崟鐘舵�� */
+    @ApiModelProperty("瀵规帴绯荤粺琛ㄥ崟鐘舵��")
+    @Excel(name = "瀵规帴绯荤粺琛ㄥ崟鐘舵��")
+    private String oabdzt;
+
+    /** 璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉� */
+    @ApiModelProperty("璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    @Excel(name = "璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    private String filename;
+
+    /** 璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉� */
+    @ApiModelProperty("璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    @Excel(name = "璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    private String fileid;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
index f22a0cb..f807b28 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
@@ -1,15 +1,15 @@
 package com.ruoyi.project.domain;
 
-import java.math.BigDecimal;
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 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;
+
+import java.util.Date;
 
 /**
  * 鎶ラ攢鐢宠瀵硅薄 service_reimbursement
@@ -191,12 +191,15 @@
     @ApiModelProperty("鎬婚噾棰濈殑澶у啓")
     private String bigstrmoney;
 
+    /** 闄勪欢鍦板潃锛宎dd by yangjb 20221124 */
+    @ApiModelProperty("闄勪欢鍦板潃")
+    private String fileurl;
 
     private String remark;
 
     /** 褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑 */
     @ApiModelProperty("褰撳墠瀹℃牳绾у埆")
-    private int flowlevel;
+    private Long flowlevel;
 
 
     /** 璐圭敤褰掑睘锛�0锛氬叾浠栦汉鍛橈紱1锛氫笓鑱屼汉鍛橈紱2锛氬崗璋冨憳锛�3锛氫笓瀹讹紱4锛氭崘鐚�呭灞� */
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
new file mode 100644
index 0000000..5a980a9
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java
@@ -0,0 +1,251 @@
+package com.ruoyi.project.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 鎶ラ攢鐢宠瀵硅薄 service_reimbursement_shared
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+@Data
+@ApiModel("鎶ラ攢鐢宠")
+public class ServiceReimbursementShared 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 userno;
+
+    /** 鎶ラ攢浜哄鍚� */
+    @ApiModelProperty("鎶ラ攢浜哄鍚�")
+    @Excel(name = "鎶ラ攢浜哄鍚�")
+    private String username;
+
+    /** 鍑哄樊浜哄憳 */
+    @ApiModelProperty("鍑哄樊浜哄憳")
+    @Excel(name = "鍑哄樊浜哄憳")
+    private String travelers;
+
+    /** 璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType */
+    @ApiModelProperty("璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType")
+    @Excel(name = "璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType")
+    private String idcardtype;
+
+    /** 璇佷欢鍙风爜 */
+    @ApiModelProperty("璇佷欢鍙风爜")
+    @Excel(name = "璇佷欢鍙风爜")
+    private String idcardno;
+
+    /** 鑱旂郴鐢佃瘽 */
+    @ApiModelProperty("鑱旂郴鐢佃瘽")
+    @Excel(name = "鑱旂郴鐢佃瘽")
+    private String phone;
+
+    /** 寮�鎴烽摱琛� */
+    @ApiModelProperty("寮�鎴烽摱琛�")
+    @Excel(name = "寮�鎴烽摱琛�")
+    private String depositbank;
+
+    /** 鍗″彿 */
+    @ApiModelProperty("鍗″彿")
+    @Excel(name = "鍗″彿")
+    private String bankcardno;
+
+    /** 鍒嗚鍚嶇О */
+    @ApiModelProperty("鍒嗚鍚嶇О")
+    @Excel(name = "鍒嗚鍚嶇О")
+    private String branchbankname;
+
+    /** 閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑 */
+    @ApiModelProperty("閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑")
+    @Excel(name = "閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑")
+    private String annexbankcard;
+
+    /** 闄勪欢璺緞 澶氫釜鐢�;鍒嗗紑 */
+    @ApiModelProperty("闄勪欢璺緞 澶氫釜鐢�;鍒嗗紑")
+    @Excel(name = "闄勪欢璺緞 澶氫釜鐢�;鍒嗗紑")
+    private String annexfiles;
+
+    /** 鐢宠閲戦 */
+    @ApiModelProperty("鐢宠閲戦")
+    @Excel(name = "鐢宠閲戦")
+    private BigDecimal amountrequested;
+
+    /** 棰勬敮璐圭敤 */
+    @ApiModelProperty("棰勬敮璐圭敤")
+    @Excel(name = "棰勬敮璐圭敤")
+    private BigDecimal prepaidamount;
+
+    /** 鍙戠エ寮犳暟 */
+    @ApiModelProperty("鍙戠エ寮犳暟")
+    @Excel(name = "鍙戠エ寮犳暟")
+    private Long invoicecount;
+
+    /** 闄勪欢鏁� */
+    @ApiModelProperty("闄勪欢鏁�")
+    @Excel(name = "闄勪欢鏁�")
+    private Long attachcount;
+
+    /** 閮ㄩ棬涓荤宸ュ彿 */
+    @ApiModelProperty("閮ㄩ棬涓荤宸ュ彿")
+    @Excel(name = "閮ㄩ棬涓荤宸ュ彿")
+    private String managerno;
+
+    /** 閮ㄩ棬涓荤鍚嶅瓧 */
+    @ApiModelProperty("閮ㄩ棬涓荤鍚嶅瓧")
+    @Excel(name = "閮ㄩ棬涓荤鍚嶅瓧")
+    private String managername;
+
+    /** 閮ㄩ棬缂栧彿 */
+    @ApiModelProperty("閮ㄩ棬缂栧彿")
+    @Excel(name = "閮ㄩ棬缂栧彿")
+    private String deptmentno;
+
+    /** 閮ㄩ棬鍚嶇О */
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+    @Excel(name = "閮ㄩ棬鍚嶇О")
+    private String deptmentname;
+
+    /** 涓績绛惧瓧 */
+    @ApiModelProperty("涓績绛惧瓧")
+    @Excel(name = "涓績绛惧瓧")
+    private String opochecker;
+
+    /** 璐㈠姟鍓櫌闀跨瀛� */
+    @ApiModelProperty("璐㈠姟鍓櫌闀跨瀛�")
+    @Excel(name = "璐㈠姟鍓櫌闀跨瀛�")
+    private String finvicepresident;
+
+    /** 涓氬姟鍓櫌闀跨瀛� */
+    @ApiModelProperty("涓氬姟鍓櫌闀跨瀛�")
+    @Excel(name = "涓氬姟鍓櫌闀跨瀛�")
+    private String busvicepresident;
+
+    /** 鍔炲叕瀹や富浠荤瀛� */
+    @ApiModelProperty("鍔炲叕瀹や富浠荤瀛�")
+    @Excel(name = "鍔炲叕瀹や富浠荤瀛�")
+    private String officedirector;
+
+    /** 璐㈠姟瀹や富浠荤瀛� */
+    @ApiModelProperty("璐㈠姟瀹や富浠荤瀛�")
+    @Excel(name = "璐㈠姟瀹や富浠荤瀛�")
+    private String financedirector;
+
+    /** 璐㈠姟瀹℃牳 */
+    @ApiModelProperty("璐㈠姟瀹℃牳")
+    @Excel(name = "璐㈠姟瀹℃牳")
+    private String financechecher;
+
+    /** 鍏宠仈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 donorname;
+
+    /** 浜嬬敱 */
+    @ApiModelProperty("浜嬬敱")
+    @Excel(name = "浜嬬敱")
+    private String reason;
+
+    /** 璁板綍鐘舵�� 璇﹁瀛楀吀sys_travelexpensestatus */
+    @ApiModelProperty("璁板綍鐘舵�� 璇﹁瀛楀吀sys_travelexpensestatus")
+    @Excel(name = "璁板綍鐘舵�� 璇﹁瀛楀吀sys_travelexpensestatus")
+    private Integer recordstatus;
+
+    /** 涓婁紶鏍囧織 */
+    @ApiModelProperty("涓婁紶鏍囧織")
+    @Excel(name = "涓婁紶鏍囧織")
+    private String uploadflag;
+
+    /** 涓婁紶鏃堕棿 */
+    @ApiModelProperty("涓婁紶鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "涓婁紶鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date uploadtime;
+
+    /** 鎬婚噾棰� */
+    @ApiModelProperty("鎬婚噾棰�")
+    @Excel(name = "鎬婚噾棰�")
+    private BigDecimal totalamount;
+
+    /** 鎬婚噾棰濈殑澶у啓 */
+    @ApiModelProperty("鎬婚噾棰濈殑澶у啓")
+    @Excel(name = "鎬婚噾棰濈殑澶у啓")
+    private String bigstrmoney;
+
+    /** 褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑 */
+    @ApiModelProperty("褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑")
+    @Excel(name = "褰撳墠瀹℃牳绾у埆 澶勪簬鍝釜闃舵 0锛氱敵璇凤紱1锛氫竴绾у鏍革紱2锛氫簩绾у鏍革紱3锛氫笁绾у鏍哥瓑")
+    private Long flowlevel;
+
+    /** 璐圭敤褰掑睘锛堝瓧鍏歌〃锛歴ys_travelexpensebelong锛夛細0锛氬叾浠栦汉鍛橈紱1锛氫笓鑱屼汉鍛橈紱2锛氬崗璋冨憳锛�3锛氫笓瀹讹紱4锛氭崘鐚�呭灞� */
+    @ApiModelProperty("璐圭敤褰掑睘锛堝瓧鍏歌〃锛歴ys_travelexpensebelong锛夛細0锛氬叾浠栦汉鍛橈紱1锛氫笓鑱屼汉鍛橈紱2锛氬崗璋冨憳锛�3锛氫笓瀹讹紱4锛氭崘鐚�呭灞�")
+    @Excel(name = "璐圭敤褰掑睘", readConverterExp = "瀛�=鍏歌〃锛歴ys_travelexpensebelong")
+    private String costtype;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    @Excel(name = "璐圭敤褰掑睘", readConverterExp = "$column.readConverterExp()")
+    private String costtypename;
+
+    /** 瀵规帴绯荤粺鐨勮〃鍗昳d */
+    @ApiModelProperty("瀵规帴绯荤粺鐨勮〃鍗昳d")
+    @Excel(name = "瀵规帴绯荤粺鐨勮〃鍗昳d")
+    private String oaid;
+
+    /** 瀵规帴绯荤粺鐨勮〃鍗曠姸鎬� */
+    @ApiModelProperty("瀵规帴绯荤粺鐨勮〃鍗曠姸鎬�")
+    @Excel(name = "瀵规帴绯荤粺鐨勮〃鍗曠姸鎬�")
+    private String oabdzt;
+
+    /** 闄勪欢鍦板潃锛宎dd by yangjb 20230109 */
+    @ApiModelProperty("闄勪欢鍦板潃")
+    private String fileurl;
+
+    /** 璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉� */
+    @ApiModelProperty("璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    @Excel(name = "璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    private String filename;
+
+    /** 璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉� */
+    @ApiModelProperty("璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    @Excel(name = "璐㈠姟鎺ュ彛杩斿洖鐨勬枃浠跺悕绉�")
+    private String fileid;
+
+    /** service reimbursement鐨勪富閿� */
+    @ApiModelProperty("service reimbursement鐨刬d")
+    private Long reimid;
+
+    @ApiModelProperty("鍒犻櫎鏍囪瘑")
+    private Long delFlag;
+
+}
+
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java
index 78498d5..48c6c28 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java
@@ -70,4 +70,24 @@
     private Date update_time;
     private String abandonreason;
     private String reallocationreason;
+    private String leaderno;
+    private String leadername;
+    private String businessarea;
+    private String gainHospitalname;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startorgangettime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endorgangettime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date starttransplanttime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endtransplanttime;
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFundSharedMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFundSharedMapper.java
new file mode 100644
index 0000000..7d8abf7
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFundSharedMapper.java
@@ -0,0 +1,27 @@
+//package com.ruoyi.system.mapper;
+package com.ruoyi.project.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceFundShared;
+
+import java.util.List;
+
+//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+//import com.ruoyi.system.domain.ServiceFundShared;
+
+/**
+ * 璐圭敤鐢宠涓籑apper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+public interface ServiceFundSharedMapper extends BaseMapper<ServiceFundShared>
+{
+    /**
+     * 鏌ヨ璐圭敤鐢宠涓诲垪琛�
+     *
+     * @param serviceFundShared 璐圭敤鐢宠涓�
+     * @return 璐圭敤鐢宠涓婚泦鍚�
+     */
+    public List<ServiceFundShared> selectServiceFundSharedList(ServiceFundShared serviceFundShared);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceReimbursementSharedMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceReimbursementSharedMapper.java
new file mode 100644
index 0000000..50ae48c
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceReimbursementSharedMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.project.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.ServiceReimbursementShared;
+
+import java.util.List;
+
+
+
+/**
+ * 鎶ラ攢鐢宠Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+public interface ServiceReimbursementSharedMapper extends BaseMapper<ServiceReimbursementShared>
+{
+    /**
+     * 鏌ヨ鎶ラ攢鐢宠鍒楄〃
+     *
+     * @param serviceReimbursementShared 鎶ラ攢鐢宠
+     * @return 鎶ラ攢鐢宠闆嗗悎
+     */
+    public List<ServiceReimbursementShared> selectServiceReimbursementSharedList(ServiceReimbursementShared serviceReimbursementShared);
+
+    List<ServiceReimbursementShared> getRemShareInfoByRemId(Long RemId);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundSharedService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundSharedService.java
new file mode 100644
index 0000000..cb2d27c
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundSharedService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceFundShared;
+
+import java.util.List;
+
+/**
+ * 璐圭敤鐢宠涓籗ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+public interface IServiceFundSharedService extends IService<ServiceFundShared>
+{
+
+    /**
+     * 鏌ヨ璐圭敤鐢宠涓诲垪琛�
+     * 
+     * @param serviceFundShared 璐圭敤鐢宠涓�
+     * @return 璐圭敤鐢宠涓婚泦鍚�
+     */
+    public List<ServiceFundShared> queryList(ServiceFundShared serviceFundShared);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceReimbursementSharedService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceReimbursementSharedService.java
new file mode 100644
index 0000000..fed44c8
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceReimbursementSharedService.java
@@ -0,0 +1,25 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.ServiceReimbursementShared;
+
+import java.util.List;
+
+/**
+ * 鎶ラ攢鐢宠Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+public interface IServiceReimbursementSharedService extends IService<ServiceReimbursementShared>
+{
+
+    /**
+     * 鏌ヨ鎶ラ攢鐢宠鍒楄〃
+     * 
+     * @param serviceReimbursementShared 鎶ラ攢鐢宠
+     * @return 鎶ラ攢鐢宠闆嗗悎
+     */
+    public List<ServiceReimbursementShared> queryList(ServiceReimbursementShared serviceReimbursementShared);
+    List<ServiceReimbursementShared> getRemShareInfoByRemId(Long remeid);
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
index b408895..f44c036 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
@@ -1,27 +1,20 @@
 package com.ruoyi.project.service.impl;
 
-import java.sql.Time;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import com.ruoyi.common.core.domain.entity.BasePrcaddressDict;
-import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.project.domain.*;
-import com.ruoyi.project.domain.vo.*;
-import com.ruoyi.project.mapper.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Service;
 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.core.domain.entity.SysDictData;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.*;
+import com.ruoyi.project.domain.vo.*;
+import com.ruoyi.project.mapper.*;
 import com.ruoyi.project.service.IServiceDonateorganService;
 import com.ruoyi.system.mapper.SysDictDataMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * 鎹愮尞鍣ㄥ畼绠$悊Service涓氬姟灞傚鐞�
@@ -338,6 +331,7 @@
         int countDBCD = 0;
         for(ServiceDonateorgan l : list){
             Long InfoId = l.getInfoid();
+
             String category = serviceDonationwitnessMapper.getDonationCategoryByInfoId(InfoId);
             if(category != null && category.equals("DBD")){
                 countDBD += 1;
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
new file mode 100644
index 0000000..96c1d23
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundSharedServiceImpl.java
@@ -0,0 +1,169 @@
+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.ServiceFundShared;
+import com.ruoyi.project.mapper.ServiceFundSharedMapper;
+import com.ruoyi.project.service.IServiceFundSharedService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 璐圭敤鐢宠涓籗ervice涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+@Service
+public class ServiceFundSharedServiceImpl extends ServiceImpl<ServiceFundSharedMapper, ServiceFundShared> implements IServiceFundSharedService 
+{
+
+
+    /**
+     * 鏌ヨ璐圭敤鐢宠涓诲垪琛�
+     * 
+     * @param serviceFundShared 璐圭敤鐢宠涓�
+     * @return 璐圭敤鐢宠涓�
+     */
+    @Override
+    public List<ServiceFundShared> queryList(ServiceFundShared serviceFundShared) {
+        LambdaQueryWrapper<ServiceFundShared> wrappers = Wrappers.lambdaQuery();
+        if (serviceFundShared.getInfoid() != null){
+            wrappers.eq(ServiceFundShared::getInfoid ,serviceFundShared.getInfoid());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getDonorno())){
+            wrappers.eq(ServiceFundShared::getDonorno ,serviceFundShared.getDonorno());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getDonorname())){
+            wrappers.like(ServiceFundShared::getDonorname ,serviceFundShared.getDonorname());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getUserno())){
+            wrappers.eq(ServiceFundShared::getUserno ,serviceFundShared.getUserno());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getUsername())){
+            wrappers.like(ServiceFundShared::getUsername ,serviceFundShared.getUsername());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getUnitname())){
+            wrappers.like(ServiceFundShared::getUnitname ,serviceFundShared.getUnitname());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getUnitno())){
+            wrappers.eq(ServiceFundShared::getUnitno ,serviceFundShared.getUnitno());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getUnituserno())){
+            wrappers.eq(ServiceFundShared::getUnituserno ,serviceFundShared.getUnituserno());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getPhone())){
+            wrappers.eq(ServiceFundShared::getPhone ,serviceFundShared.getPhone());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getAnnexbankcard())){
+            wrappers.eq(ServiceFundShared::getAnnexbankcard ,serviceFundShared.getAnnexbankcard());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getAnnexregistform())){
+            wrappers.eq(ServiceFundShared::getAnnexregistform ,serviceFundShared.getAnnexregistform());
+        }
+        if (serviceFundShared.getPretaxcost() != null){
+            wrappers.eq(ServiceFundShared::getPretaxcost ,serviceFundShared.getPretaxcost());
+        }
+        if (serviceFundShared.getTaxedcost() != null){
+            wrappers.eq(ServiceFundShared::getTaxedcost ,serviceFundShared.getTaxedcost());
+        }
+        if (serviceFundShared.getTotalcost() != null){
+            wrappers.eq(ServiceFundShared::getTotalcost ,serviceFundShared.getTotalcost());
+        }
+        if (serviceFundShared.getExpertcost() != null){
+            wrappers.eq(ServiceFundShared::getExpertcost ,serviceFundShared.getExpertcost());
+        }
+        if (serviceFundShared.getEthicscost() != null){
+            wrappers.eq(ServiceFundShared::getEthicscost ,serviceFundShared.getEthicscost());
+        }
+        if (serviceFundShared.getMedicalcost() != null){
+            wrappers.eq(ServiceFundShared::getMedicalcost ,serviceFundShared.getMedicalcost());
+        }
+        if (serviceFundShared.getFamilycost() != null){
+            wrappers.eq(ServiceFundShared::getFamilycost ,serviceFundShared.getFamilycost());
+        }
+        if (serviceFundShared.getAftercarecost() != null){
+            wrappers.eq(ServiceFundShared::getAftercarecost ,serviceFundShared.getAftercarecost());
+        }
+        if (serviceFundShared.getAmountrequested() != null){
+            wrappers.eq(ServiceFundShared::getAmountrequested ,serviceFundShared.getAmountrequested());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getApplytype())){
+            wrappers.eq(ServiceFundShared::getApplytype ,serviceFundShared.getApplytype());
+        }
+        if (serviceFundShared.getPrepaidamount() != null){
+            wrappers.eq(ServiceFundShared::getPrepaidamount ,serviceFundShared.getPrepaidamount());
+        }
+        if (serviceFundShared.getInvoicecount() != null){
+            wrappers.eq(ServiceFundShared::getInvoicecount ,serviceFundShared.getInvoicecount());
+        }
+        if (serviceFundShared.getAttachcount() != null){
+            wrappers.eq(ServiceFundShared::getAttachcount ,serviceFundShared.getAttachcount());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getManagerno())){
+            wrappers.eq(ServiceFundShared::getManagerno ,serviceFundShared.getManagerno());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getManagername())){
+            wrappers.like(ServiceFundShared::getManagername ,serviceFundShared.getManagername());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getDeptmentno())){
+            wrappers.eq(ServiceFundShared::getDeptmentno ,serviceFundShared.getDeptmentno());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getDeptmentname())){
+            wrappers.like(ServiceFundShared::getDeptmentname ,serviceFundShared.getDeptmentname());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getOpochecker())){
+            wrappers.eq(ServiceFundShared::getOpochecker ,serviceFundShared.getOpochecker());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getFinvicepresident())){
+            wrappers.eq(ServiceFundShared::getFinvicepresident ,serviceFundShared.getFinvicepresident());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getBusvicepresident())){
+            wrappers.eq(ServiceFundShared::getBusvicepresident ,serviceFundShared.getBusvicepresident());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getOfficedirector())){
+            wrappers.eq(ServiceFundShared::getOfficedirector ,serviceFundShared.getOfficedirector());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getFinancedirector())){
+            wrappers.eq(ServiceFundShared::getFinancedirector ,serviceFundShared.getFinancedirector());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getFinancechecher())){
+            wrappers.eq(ServiceFundShared::getFinancechecher ,serviceFundShared.getFinancechecher());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getRemark())){
+            wrappers.eq(ServiceFundShared::getRemark ,serviceFundShared.getRemark());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getIsdistribute())){
+            wrappers.eq(ServiceFundShared::getIsdistribute ,serviceFundShared.getIsdistribute());
+        }
+        if (serviceFundShared.getRecordstatus() != null){
+            wrappers.eq(ServiceFundShared::getRecordstatus ,serviceFundShared.getRecordstatus());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getUploadflag())){
+            wrappers.eq(ServiceFundShared::getUploadflag ,serviceFundShared.getUploadflag());
+        }
+        if (serviceFundShared.getUploadtime() != null){
+            wrappers.eq(ServiceFundShared::getUploadtime ,serviceFundShared.getUploadtime());
+        }
+        if (serviceFundShared.getFlowlevel() != null){
+            wrappers.eq(ServiceFundShared::getFlowlevel ,serviceFundShared.getFlowlevel());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getOaid())){
+            wrappers.eq(ServiceFundShared::getOaid ,serviceFundShared.getOaid());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getOabdzt())){
+            wrappers.eq(ServiceFundShared::getOabdzt ,serviceFundShared.getOabdzt());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getFilename())){
+            wrappers.like(ServiceFundShared::getFilename ,serviceFundShared.getFilename());
+        }
+        if (StringUtils.isNotBlank(serviceFundShared.getFileid())){
+            wrappers.eq(ServiceFundShared::getFileid ,serviceFundShared.getFileid());
+        }
+        return this.list(wrappers);
+    }
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementSharedServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementSharedServiceImpl.java
new file mode 100644
index 0000000..754b633
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementSharedServiceImpl.java
@@ -0,0 +1,171 @@
+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.ServiceReimbursementShared;
+import com.ruoyi.project.mapper.ServiceReimbursementSharedMapper;
+import com.ruoyi.project.service.IServiceReimbursementSharedService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鎶ラ攢鐢宠Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-01-10
+ */
+@Service
+public class ServiceReimbursementSharedServiceImpl extends ServiceImpl<ServiceReimbursementSharedMapper, ServiceReimbursementShared> implements IServiceReimbursementSharedService 
+{
+
+
+    @Autowired
+    ServiceReimbursementSharedMapper serviceReimbursementSharedMapper;
+
+    /**
+     * 鏌ヨ鎶ラ攢鐢宠鍒楄〃
+     * 
+     * @param serviceReimbursementShared 鎶ラ攢鐢宠
+     * @return 鎶ラ攢鐢宠
+     */
+    @Override
+    public List<ServiceReimbursementShared> queryList(ServiceReimbursementShared serviceReimbursementShared) {
+        LambdaQueryWrapper<ServiceReimbursementShared> wrappers = Wrappers.lambdaQuery();
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getUserno())){
+            wrappers.eq(ServiceReimbursementShared::getUserno ,serviceReimbursementShared.getUserno());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getUsername())){
+            wrappers.like(ServiceReimbursementShared::getUsername ,serviceReimbursementShared.getUsername());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getTravelers())){
+            wrappers.eq(ServiceReimbursementShared::getTravelers ,serviceReimbursementShared.getTravelers());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getIdcardtype())){
+            wrappers.eq(ServiceReimbursementShared::getIdcardtype ,serviceReimbursementShared.getIdcardtype());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getIdcardno())){
+            wrappers.eq(ServiceReimbursementShared::getIdcardno ,serviceReimbursementShared.getIdcardno());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getPhone())){
+            wrappers.eq(ServiceReimbursementShared::getPhone ,serviceReimbursementShared.getPhone());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getDepositbank())){
+            wrappers.eq(ServiceReimbursementShared::getDepositbank ,serviceReimbursementShared.getDepositbank());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getBankcardno())){
+            wrappers.eq(ServiceReimbursementShared::getBankcardno ,serviceReimbursementShared.getBankcardno());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getBranchbankname())){
+            wrappers.like(ServiceReimbursementShared::getBranchbankname ,serviceReimbursementShared.getBranchbankname());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getAnnexbankcard())){
+            wrappers.eq(ServiceReimbursementShared::getAnnexbankcard ,serviceReimbursementShared.getAnnexbankcard());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getAnnexfiles())){
+            wrappers.eq(ServiceReimbursementShared::getAnnexfiles ,serviceReimbursementShared.getAnnexfiles());
+        }
+        if (serviceReimbursementShared.getAmountrequested() != null){
+            wrappers.eq(ServiceReimbursementShared::getAmountrequested ,serviceReimbursementShared.getAmountrequested());
+        }
+        if (serviceReimbursementShared.getPrepaidamount() != null){
+            wrappers.eq(ServiceReimbursementShared::getPrepaidamount ,serviceReimbursementShared.getPrepaidamount());
+        }
+        if (serviceReimbursementShared.getInvoicecount() != null){
+            wrappers.eq(ServiceReimbursementShared::getInvoicecount ,serviceReimbursementShared.getInvoicecount());
+        }
+        if (serviceReimbursementShared.getAttachcount() != null){
+            wrappers.eq(ServiceReimbursementShared::getAttachcount ,serviceReimbursementShared.getAttachcount());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getManagerno())){
+            wrappers.eq(ServiceReimbursementShared::getManagerno ,serviceReimbursementShared.getManagerno());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getManagername())){
+            wrappers.like(ServiceReimbursementShared::getManagername ,serviceReimbursementShared.getManagername());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getDeptmentno())){
+            wrappers.eq(ServiceReimbursementShared::getDeptmentno ,serviceReimbursementShared.getDeptmentno());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getDeptmentname())){
+            wrappers.like(ServiceReimbursementShared::getDeptmentname ,serviceReimbursementShared.getDeptmentname());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getOpochecker())){
+            wrappers.eq(ServiceReimbursementShared::getOpochecker ,serviceReimbursementShared.getOpochecker());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getFinvicepresident())){
+            wrappers.eq(ServiceReimbursementShared::getFinvicepresident ,serviceReimbursementShared.getFinvicepresident());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getBusvicepresident())){
+            wrappers.eq(ServiceReimbursementShared::getBusvicepresident ,serviceReimbursementShared.getBusvicepresident());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getOfficedirector())){
+            wrappers.eq(ServiceReimbursementShared::getOfficedirector ,serviceReimbursementShared.getOfficedirector());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getFinancedirector())){
+            wrappers.eq(ServiceReimbursementShared::getFinancedirector ,serviceReimbursementShared.getFinancedirector());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getFinancechecher())){
+            wrappers.eq(ServiceReimbursementShared::getFinancechecher ,serviceReimbursementShared.getFinancechecher());
+        }
+        if (serviceReimbursementShared.getInfoid() != null){
+            wrappers.eq(ServiceReimbursementShared::getInfoid ,serviceReimbursementShared.getInfoid());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getDonorno())){
+            wrappers.eq(ServiceReimbursementShared::getDonorno ,serviceReimbursementShared.getDonorno());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getDonorname())){
+            wrappers.like(ServiceReimbursementShared::getDonorname ,serviceReimbursementShared.getDonorname());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getReason())){
+            wrappers.eq(ServiceReimbursementShared::getReason ,serviceReimbursementShared.getReason());
+        }
+        if (serviceReimbursementShared.getRecordstatus() != null){
+            wrappers.eq(ServiceReimbursementShared::getRecordstatus ,serviceReimbursementShared.getRecordstatus());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getUploadflag())){
+            wrappers.eq(ServiceReimbursementShared::getUploadflag ,serviceReimbursementShared.getUploadflag());
+        }
+        if (serviceReimbursementShared.getUploadtime() != null){
+            wrappers.eq(ServiceReimbursementShared::getUploadtime ,serviceReimbursementShared.getUploadtime());
+        }
+        if (serviceReimbursementShared.getTotalamount() != null){
+            wrappers.eq(ServiceReimbursementShared::getTotalamount ,serviceReimbursementShared.getTotalamount());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getBigstrmoney())){
+            wrappers.eq(ServiceReimbursementShared::getBigstrmoney ,serviceReimbursementShared.getBigstrmoney());
+        }
+        if (serviceReimbursementShared.getFlowlevel() != null){
+            wrappers.eq(ServiceReimbursementShared::getFlowlevel ,serviceReimbursementShared.getFlowlevel());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getCosttype())){
+            wrappers.eq(ServiceReimbursementShared::getCosttype ,serviceReimbursementShared.getCosttype());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getCosttypename())){
+            wrappers.like(ServiceReimbursementShared::getCosttypename ,serviceReimbursementShared.getCosttypename());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getOaid())){
+            wrappers.eq(ServiceReimbursementShared::getOaid ,serviceReimbursementShared.getOaid());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getOabdzt())){
+            wrappers.eq(ServiceReimbursementShared::getOabdzt ,serviceReimbursementShared.getOabdzt());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getFilename())){
+            wrappers.like(ServiceReimbursementShared::getFilename ,serviceReimbursementShared.getFilename());
+        }
+        if (StringUtils.isNotBlank(serviceReimbursementShared.getFileid())){
+            wrappers.eq(ServiceReimbursementShared::getFileid ,serviceReimbursementShared.getFileid());
+        }
+        return this.list(wrappers);
+    }
+
+    @Override
+    public  List<ServiceReimbursementShared> getRemShareInfoByRemId(Long remeid)
+    {
+        return serviceReimbursementSharedMapper.getRemShareInfoByRemId(remeid);
+       // return  null;
+    }
+
+}
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
index c708c95..b5de3ab 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
@@ -87,6 +87,9 @@
         <result property="infophone"    column="infoPhone"    />
         <result property="deptid"    column="deptid"    />
         <result property="deptname"    column="deptname"    />
+        <result property="leaderno"    column="leaderno"    />
+        <result property="leadername"    column="leadername"    />
+        <result property="businessarea"    column="businessarea"    />
 
     </resultMap>
 
@@ -180,6 +183,9 @@
             <if test="city != null and city != ''"> and `base_organization`.`City` = #{city}</if>
             <if test="deptid != null "> and deptid = #{deptid}</if>
             <if test="deptname != null "> and deptname = #{deptname}</if>
+            <if test="leaderno != null "> and leaderno = #{leaderno}</if>
+            <if test="leadername != null "> and leadername = #{leadername}</if>
+            <if test="businessarea != null "> and businessarea = #{businessarea}</if>
         </where>
 
         order by ReportTime desc
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml
index 0c156b4..438243b 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml
@@ -297,7 +297,10 @@
         `service_donateorgan`.`create_by` AS `create_by`,
         `service_donateorgan`.`create_time` AS `create_time`,
         `service_donateorgan`.`update_by` AS `update_by`,
-        `service_donateorgan`.`update_time` AS `update_time`
+        `service_donateorgan`.`update_time` AS `update_time`,
+        `service_donatebaseinfo`.`leadername` AS `leadername`,
+        `service_donatebaseinfo`.`leaderno` AS `leaderno`,
+        `service_donatebaseinfo`.`businessarea` AS `businessarea`
     FROM
         (
             `service_donatebaseinfo`
@@ -317,6 +320,14 @@
             <if test="transplanthospitalno != null  and transplanthospitalno != ''"> and `service_donateorgan`.`TransplantHospitalNo` = #{transplanthospitalno}</if>
             <if test="transplanthospitalname != null  and transplanthospitalname != ''"> and `service_donateorgan`.`TransplantHospitalName` = #{transplanthospitalname}</if>
             <if test="organstate != null  and organstate != ''"> and `service_donateorgan`.`OrganState` = #{organstate}</if>
+            <if test="reportername != null  and reportername != ''"> and `service_donatebaseinfo`.`ReporterName` = #{reportername}</if>
+            <if test="leadername != null  and leadername != ''"> and `service_donatebaseinfo`.`leadername` = #{leadername}</if>
+            <if test="leaderno != null  and leaderno != ''"> and `service_donatebaseinfo`.`leaderno` = #{leaderno}</if>
+            <if test="businessarea != null  and businessarea != ''"> and `service_donatebaseinfo`.`businessarea` = #{businessarea}</if>
+            <if test="gainHospitalname != null  and gainHospitalname != ''"> and `service_donateorgan`.`GainHospitalName` = #{gainHospitalname}</if>
+            <if test="treatmenthospitalname != null  and treatmenthospitalname != ''"> and `service_donatebaseinfo`.`TreatmentHospitalName` = #{treatmenthospitalname}</if>
+            <if test="startorgangettime != null  and endorgangettime != null "> and `service_donateorgan`.`OrganGetTime` >= #{startorgangettime} and `service_donateorgan`.`OrganGetTime`  &lt;=  #{endorgangettime} </if>
+            <if test="starttransplanttime != null  and endtransplanttime != null  ">  and `service_donateorgan`.`TransplantTime` >= #{starttransplanttime} and  `service_donateorgan`.`TransplantTime` &lt;= #{endtransplanttime}</if>
 
         </where>
     </select>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
index 797e993..5324027 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -173,7 +173,7 @@
     </select>
     <select id="getDonationCategoryByInfoId" resultType="java.lang.String">
         select DonationCategory from service_donationwitness
-        where InfoID = #{infoId}
+        where InfoID = #{infoId} and del_flag = 0
     </select>
     <select id="countNumber" resultType="java.lang.Integer">
         select count(*) from service_donationwitness
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceFundSharedMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceFundSharedMapper.xml
new file mode 100644
index 0000000..abc3bf5
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceFundSharedMapper.xml
@@ -0,0 +1,115 @@
+<?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.system.mapper.ServiceFundSharedMapper">
+    
+    <resultMap type="ServiceFundShared" id="ServiceFundSharedResult">
+        <result property="id"    column="ID"    />
+        <result property="infoid"    column="InfoID"    />
+        <result property="donorno"    column="DonorNo"    />
+        <result property="donorname"    column="DonorName"    />
+        <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="userno"    column="UserNo"    />
+        <result property="username"    column="UserName"    />
+        <result property="unitname"    column="UnitName"    />
+        <result property="unitno"    column="UnitNo"    />
+        <result property="unituserno"    column="UnitUserNo"    />
+        <result property="phone"    column="Phone"    />
+        <result property="annexbankcard"    column="AnnexBankCard"    />
+        <result property="annexregistform"    column="AnnexRegistForm"    />
+        <result property="pretaxcost"    column="PretaxCost"    />
+        <result property="taxedcost"    column="TaxedCost"    />
+        <result property="totalcost"    column="TotalCost"    />
+        <result property="procurementcost"    column="ProcurementCost"    />
+        <result property="expertcost"    column="ExpertCost"    />
+        <result property="ethicscost"    column="EthicsCost"    />
+        <result property="medicalcost"    column="MedicalCost"    />
+        <result property="familycost"    column="FamilyCost"    />
+        <result property="aftercarecost"    column="AftercareCost"    />
+        <result property="amountrequested"    column="AmountRequested"    />
+        <result property="applytype"    column="ApplyType"    />
+        <result property="prepaidamount"    column="PrepaidAmount"    />
+        <result property="invoicecount"    column="InvoiceCount"    />
+        <result property="attachcount"    column="AttachCount"    />
+        <result property="managerno"    column="ManagerNo"    />
+        <result property="managername"    column="ManagerName"    />
+        <result property="deptmentno"    column="DeptmentNo"    />
+        <result property="deptmentname"    column="DeptmentName"    />
+        <result property="opochecker"    column="OPOchecker"    />
+        <result property="finvicepresident"    column="FinVicePresident"    />
+        <result property="busvicepresident"    column="BusVicePresident"    />
+        <result property="officedirector"    column="OfficeDirector"    />
+        <result property="financedirector"    column="FinanceDirector"    />
+        <result property="financechecher"    column="FinanceChecher"    />
+        <result property="remark"    column="Remark"    />
+        <result property="isdistribute"    column="Isdistribute"    />
+        <result property="recordstatus"    column="RecordStatus"    />
+        <result property="uploadflag"    column="uploadflag"    />
+        <result property="uploadtime"    column="uploadtime"    />
+        <result property="flowlevel"    column="FlowLevel"    />
+        <result property="oaid"    column="oaid"    />
+        <result property="oabdzt"    column="oabdzt"    />
+        <result property="filename"    column="filename"    />
+        <result property="fileid"    column="fileid"    />
+    </resultMap>
+
+    <sql id="selectServiceFundSharedVo">
+        select ID, InfoID, DonorNo, DonorName, del_flag, create_by, create_time, update_by, update_time, UserNo, UserName, UnitName, UnitNo, UnitUserNo, Phone, AnnexBankCard, AnnexRegistForm, PretaxCost, TaxedCost, TotalCost, ProcurementCost, ExpertCost, EthicsCost, MedicalCost, FamilyCost, AftercareCost, AmountRequested, ApplyType, PrepaidAmount, InvoiceCount, AttachCount, ManagerNo, ManagerName, DeptmentNo, DeptmentName, OPOchecker, FinVicePresident, BusVicePresident, OfficeDirector, FinanceDirector, FinanceChecher, Remark, Isdistribute, RecordStatus, uploadflag, uploadtime, FlowLevel, oaid, oabdzt, filename, fileid from service_fund_shared
+    </sql>
+
+    <select id="selectServiceFundSharedList" parameterType="ServiceFundShared" resultMap="ServiceFundSharedResult">
+        <include refid="selectServiceFundSharedVo"/>
+        <where>
+            <if test="infoid != null "> and InfoID = #{infoid}</if>
+            <if test="donorno != null  and donorno != ''"> and DonorNo = #{donorno}</if>
+            <if test="donorname != null  and donorname != ''"> and DonorName like concat('%', #{donorname}, '%')</if>
+            <if test="userno != null  and userno != ''"> and UserNo = #{userno}</if>
+            <if test="username != null  and username != ''"> and UserName like concat('%', #{username}, '%')</if>
+            <if test="unitname != null  and unitname != ''"> and UnitName like concat('%', #{unitname}, '%')</if>
+            <if test="unitno != null  and unitno != ''"> and UnitNo = #{unitno}</if>
+            <if test="unituserno != null  and unituserno != ''"> and UnitUserNo = #{unituserno}</if>
+            <if test="phone != null  and phone != ''"> and Phone = #{phone}</if>
+            <if test="annexbankcard != null  and annexbankcard != ''"> and AnnexBankCard = #{annexbankcard}</if>
+            <if test="annexregistform != null  and annexregistform != ''"> and AnnexRegistForm = #{annexregistform}</if>
+            <if test="pretaxcost != null "> and PretaxCost = #{pretaxcost}</if>
+            <if test="taxedcost != null "> and TaxedCost = #{taxedcost}</if>
+            <if test="totalcost != null "> and TotalCost = #{totalcost}</if>
+            <if test="expertcost != null "> and ExpertCost = #{expertcost}</if>
+            <if test="ethicscost != null "> and EthicsCost = #{ethicscost}</if>
+            <if test="medicalcost != null "> and MedicalCost = #{medicalcost}</if>
+            <if test="familycost != null "> and FamilyCost = #{familycost}</if>
+            <if test="aftercarecost != null "> and AftercareCost = #{aftercarecost}</if>
+            <if test="amountrequested != null "> and AmountRequested = #{amountrequested}</if>
+            <if test="applytype != null  and applytype != ''"> and ApplyType = #{applytype}</if>
+            <if test="prepaidamount != null "> and PrepaidAmount = #{prepaidamount}</if>
+            <if test="invoicecount != null "> and InvoiceCount = #{invoicecount}</if>
+            <if test="attachcount != null "> and AttachCount = #{attachcount}</if>
+            <if test="managerno != null  and managerno != ''"> and ManagerNo = #{managerno}</if>
+            <if test="managername != null  and managername != ''"> and ManagerName like concat('%', #{managername}, '%')</if>
+            <if test="deptmentno != null  and deptmentno != ''"> and DeptmentNo = #{deptmentno}</if>
+            <if test="deptmentname != null  and deptmentname != ''"> and DeptmentName like concat('%', #{deptmentname}, '%')</if>
+            <if test="opochecker != null  and opochecker != ''"> and OPOchecker = #{opochecker}</if>
+            <if test="finvicepresident != null  and finvicepresident != ''"> and FinVicePresident = #{finvicepresident}</if>
+            <if test="busvicepresident != null  and busvicepresident != ''"> and BusVicePresident = #{busvicepresident}</if>
+            <if test="officedirector != null  and officedirector != ''"> and OfficeDirector = #{officedirector}</if>
+            <if test="financedirector != null  and financedirector != ''"> and FinanceDirector = #{financedirector}</if>
+            <if test="financechecher != null  and financechecher != ''"> and FinanceChecher = #{financechecher}</if>
+            <if test="remark != null  and remark != ''"> and Remark = #{remark}</if>
+            <if test="isdistribute != null  and isdistribute != ''"> and Isdistribute = #{isdistribute}</if>
+            <if test="recordstatus != null "> and RecordStatus = #{recordstatus}</if>
+            <if test="uploadflag != null  and uploadflag != ''"> and uploadflag = #{uploadflag}</if>
+            <if test="uploadtime != null "> and uploadtime = #{uploadtime}</if>
+            <if test="flowlevel != null "> and FlowLevel = #{flowlevel}</if>
+            <if test="oaid != null  and oaid != ''"> and oaid = #{oaid}</if>
+            <if test="oabdzt != null  and oabdzt != ''"> and oabdzt = #{oabdzt}</if>
+            <if test="filename != null  and filename != ''"> and filename like concat('%', #{filename}, '%')</if>
+            <if test="fileid != null  and fileid != ''"> and fileid = #{fileid}</if>
+        </where>
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
index 3d0d9a7..802af57 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
@@ -49,10 +49,11 @@
         <result property="flowlevel"    column="FlowLevel"    />
         <result property="costtype"    column="costtype"    />
         <result property="costtypename"    column="costtypename"    />
+        <result property="fileurl"    column="fileurl"    />
     </resultMap>
 
     <sql id="selectServiceReimbursementVo">
-        select ID, del_flag, create_by, create_time, update_by, update_time, UserNo, UserName, IDCardType, IDCardNo, Phone, DepositBank, BankCardNo, BranchBankName, AnnexBankCard, AnnexFiles, AmountRequested, PrepaidAmount, InvoiceCount, AttachCount, ManagerNo, ManagerName, DeptmentNo, DeptmentName, OPOchecker, FinVicePresident, BusVicePresident, OfficeDirector, FinanceDirector, FinanceChecher, InfoID, DonorNo, remark, RecordStatus, uploadflag, uploadtime, Travelers, DonorName, Reason, FlowLevel, costtype, costtypename from service_reimbursement
+        select ID, del_flag, create_by, create_time, update_by, update_time, UserNo, UserName, IDCardType, IDCardNo, Phone, DepositBank, BankCardNo, BranchBankName, AnnexBankCard, AnnexFiles, AmountRequested, PrepaidAmount, InvoiceCount, AttachCount, ManagerNo, ManagerName, DeptmentNo, DeptmentName, OPOchecker, FinVicePresident, BusVicePresident, OfficeDirector, FinanceDirector, FinanceChecher, InfoID, DonorNo, remark, RecordStatus, uploadflag, uploadtime, Travelers, DonorName, Reason, FlowLevel, costtype, costtypename,fileurl from service_reimbursement
     </sql>
 
     <select id="selectServiceReimbursementList" parameterType="ServiceReimbursement" resultMap="ServiceReimbursementResult">
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementSharedMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementSharedMapper.xml
new file mode 100644
index 0000000..c19ca10
--- /dev/null
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementSharedMapper.xml
@@ -0,0 +1,115 @@
+<?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.ServiceReimbursementSharedMapper">
+    
+    <resultMap type="ServiceReimbursementShared" id="ServiceReimbursementSharedResult">
+        <result property="id"    column="ID"    />
+        <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="userno"    column="UserNo"    />
+        <result property="username"    column="UserName"    />
+        <result property="travelers"    column="Travelers"    />
+        <result property="idcardtype"    column="IDCardType"    />
+        <result property="idcardno"    column="IDCardNo"    />
+        <result property="phone"    column="Phone"    />
+        <result property="depositbank"    column="DepositBank"    />
+        <result property="bankcardno"    column="BankCardNo"    />
+        <result property="branchbankname"    column="BranchBankName"    />
+        <result property="annexbankcard"    column="AnnexBankCard"    />
+        <result property="annexfiles"    column="AnnexFiles"    />
+        <result property="amountrequested"    column="AmountRequested"    />
+        <result property="prepaidamount"    column="PrepaidAmount"    />
+        <result property="invoicecount"    column="InvoiceCount"    />
+        <result property="attachcount"    column="AttachCount"    />
+        <result property="managerno"    column="ManagerNo"    />
+        <result property="managername"    column="ManagerName"    />
+        <result property="deptmentno"    column="DeptmentNo"    />
+        <result property="deptmentname"    column="DeptmentName"    />
+        <result property="opochecker"    column="OPOchecker"    />
+        <result property="finvicepresident"    column="FinVicePresident"    />
+        <result property="busvicepresident"    column="BusVicePresident"    />
+        <result property="officedirector"    column="OfficeDirector"    />
+        <result property="financedirector"    column="FinanceDirector"    />
+        <result property="financechecher"    column="FinanceChecher"    />
+        <result property="infoid"    column="InfoID"    />
+        <result property="donorno"    column="DonorNo"    />
+        <result property="donorname"    column="DonorName"    />
+        <result property="reason"    column="Reason"    />
+        <result property="remark"    column="remark"    />
+        <result property="recordstatus"    column="RecordStatus"    />
+        <result property="uploadflag"    column="uploadflag"    />
+        <result property="uploadtime"    column="uploadtime"    />
+        <result property="totalamount"    column="totalAmount"    />
+        <result property="bigstrmoney"    column="bigStrMoney"    />
+        <result property="flowlevel"    column="FlowLevel"    />
+        <result property="costtype"    column="costtype"    />
+        <result property="costtypename"    column="costtypename"    />
+        <result property="oaid"    column="oaid"    />
+        <result property="oabdzt"    column="oabdzt"    />
+        <result property="filename"    column="filename"    />
+        <result property="fileid"    column="fileid"    />
+        <result property="reimid"    column="reimid"    />
+    </resultMap>
+
+    <sql id="selectServiceReimbursementSharedVo">
+        select ID, del_flag, create_by, create_time, update_by, update_time, UserNo, UserName, Travelers, IDCardType, IDCardNo, Phone, DepositBank, BankCardNo, BranchBankName, AnnexBankCard, AnnexFiles, AmountRequested, PrepaidAmount, InvoiceCount, AttachCount, ManagerNo, ManagerName, DeptmentNo, DeptmentName, OPOchecker, FinVicePresident, BusVicePresident, OfficeDirector, FinanceDirector, FinanceChecher, InfoID, DonorNo, DonorName, Reason, remark, RecordStatus, uploadflag, uploadtime, totalAmount, bigStrMoney, FlowLevel, costtype, costtypename, oaid, oabdzt, filename, fileid,reimid from service_reimbursement_shared
+    </sql>
+
+    <select id="getRemShareInfoByRemId" resultType="com.ruoyi.project.domain.ServiceReimbursementShared" resultMap="ServiceReimbursementSharedResult">
+        <include refid="selectServiceReimbursementSharedVo"/>
+        where reimid = #{RemId}
+    </select>
+
+    <select id="selectServiceReimbursementSharedList" parameterType="ServiceReimbursementShared" resultMap="ServiceReimbursementSharedResult">
+        <include refid="selectServiceReimbursementSharedVo"/>
+        <where>
+            <if test="userno != null  and userno != ''"> and UserNo = #{userno}</if>
+            <if test="username != null  and username != ''"> and UserName like concat('%', #{username}, '%')</if>
+            <if test="travelers != null  and travelers != ''"> and Travelers = #{travelers}</if>
+            <if test="idcardtype != null  and idcardtype != ''"> and IDCardType = #{idcardtype}</if>
+            <if test="idcardno != null  and idcardno != ''"> and IDCardNo = #{idcardno}</if>
+            <if test="phone != null  and phone != ''"> and Phone = #{phone}</if>
+            <if test="depositbank != null  and depositbank != ''"> and DepositBank = #{depositbank}</if>
+            <if test="bankcardno != null  and bankcardno != ''"> and BankCardNo = #{bankcardno}</if>
+            <if test="branchbankname != null  and branchbankname != ''"> and BranchBankName like concat('%', #{branchbankname}, '%')</if>
+            <if test="annexbankcard != null  and annexbankcard != ''"> and AnnexBankCard = #{annexbankcard}</if>
+            <if test="annexfiles != null  and annexfiles != ''"> and AnnexFiles = #{annexfiles}</if>
+            <if test="amountrequested != null "> and AmountRequested = #{amountrequested}</if>
+            <if test="prepaidamount != null "> and PrepaidAmount = #{prepaidamount}</if>
+            <if test="invoicecount != null "> and InvoiceCount = #{invoicecount}</if>
+            <if test="attachcount != null "> and AttachCount = #{attachcount}</if>
+            <if test="managerno != null  and managerno != ''"> and ManagerNo = #{managerno}</if>
+            <if test="managername != null  and managername != ''"> and ManagerName like concat('%', #{managername}, '%')</if>
+            <if test="deptmentno != null  and deptmentno != ''"> and DeptmentNo = #{deptmentno}</if>
+            <if test="deptmentname != null  and deptmentname != ''"> and DeptmentName like concat('%', #{deptmentname}, '%')</if>
+            <if test="opochecker != null  and opochecker != ''"> and OPOchecker = #{opochecker}</if>
+            <if test="finvicepresident != null  and finvicepresident != ''"> and FinVicePresident = #{finvicepresident}</if>
+            <if test="busvicepresident != null  and busvicepresident != ''"> and BusVicePresident = #{busvicepresident}</if>
+            <if test="officedirector != null  and officedirector != ''"> and OfficeDirector = #{officedirector}</if>
+            <if test="financedirector != null  and financedirector != ''"> and FinanceDirector = #{financedirector}</if>
+            <if test="financechecher != null  and financechecher != ''"> and FinanceChecher = #{financechecher}</if>
+            <if test="infoid != null "> and InfoID = #{infoid}</if>
+            <if test="donorno != null  and donorno != ''"> and DonorNo = #{donorno}</if>
+            <if test="donorname != null  and donorname != ''"> and DonorName like concat('%', #{donorname}, '%')</if>
+            <if test="reason != null  and reason != ''"> and Reason = #{reason}</if>
+            <if test="recordstatus != null "> and RecordStatus = #{recordstatus}</if>
+            <if test="uploadflag != null  and uploadflag != ''"> and uploadflag = #{uploadflag}</if>
+            <if test="uploadtime != null "> and uploadtime = #{uploadtime}</if>
+            <if test="totalamount != null "> and totalAmount = #{totalamount}</if>
+            <if test="bigstrmoney != null  and bigstrmoney != ''"> and bigStrMoney = #{bigstrmoney}</if>
+            <if test="flowlevel != null "> and FlowLevel = #{flowlevel}</if>
+            <if test="costtype != null  and costtype != ''"> and costtype = #{costtype}</if>
+            <if test="costtypename != null  and costtypename != ''"> and costtypename like concat('%', #{costtypename}, '%')</if>
+            <if test="oaid != null  and oaid != ''"> and oaid = #{oaid}</if>
+            <if test="oabdzt != null  and oabdzt != ''"> and oabdzt = #{oabdzt}</if>
+            <if test="filename != null  and filename != ''"> and filename like concat('%', #{filename}, '%')</if>
+            <if test="fileid != null  and fileid != ''"> and fileid = #{fileid}</if>
+        </where>
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3