From d3dfc07c93ae97cc6a301d9ccf2f8513a6a8ad85 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 10 五月 2023 21:08:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java       |   34 +++--
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java                    |    5 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java |   41 ++----
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java                       |    8 +
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java               |  214 ++++++++++++++++++++---------------
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java           |    5 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java                |    5 
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java            |    5 
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java      |   19 +++
 9 files changed, 202 insertions(+), 134 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index df35e04..56aae00 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -156,6 +156,11 @@
         return AjaxResult.success(serviceFundService.getFundId(infoid));
     }
 
+    @GetMapping("/addFundSharedInfo/{id}")
+    public AjaxResult addFundSharedInfo(@PathVariable("id") Long id){
+        return AjaxResult.success(serviceFundService.addFundSharedInfo(id));
+    }
+
     @GetMapping("/getFundDetail/{id}")
     public AjaxResult getFundDetail(@PathVariable("id") Long id){
         return AjaxResult.success(serviceFundService.getFundDetail(id));
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 0d00995..8cf63f9 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
@@ -189,6 +189,7 @@
 
     /**
      * 寰�service_reimbursement_share,寰�service_reimbursementdetail_share,寰�service_reimbursementpyee_share鏂板澶囦唤鏁版嵁
+     *
      * @param id
      * @return
      */
@@ -210,9 +211,9 @@
     public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
 
         boolean b = serviceReimbursementService.save(serviceReimbursement);
-        if (b) {
-            addReiSharedDatd(serviceReimbursement, 1);
-        }
+//        if (b) {
+//            addReiSharedDatd(serviceReimbursement, 1);
+//        }
         Long id = serviceReimbursement.getId();
         return AjaxResult.success(id);
     }
@@ -226,8 +227,7 @@
         } else //modify
         {
             List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
-            if (remlist != null)
-                remShare = remlist.get(0);
+            if (remlist != null) remShare = remlist.get(0);
         }
 
         remShare.setUserno(serviceReimbursement.getUserno());
@@ -629,9 +629,9 @@
     @PostMapping("/editMoney")
     public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) {
         boolean b = serviceReimbursementService.updateById(null);
-        if (b) {
-            addReiSharedDatd(null, 2);
-        }
+//        if (b) {
+//            addReiSharedDatd(null, 2);
+//        }
         return toAjax(b);
     }
 
@@ -713,8 +713,7 @@
         //鑾峰彇鎶ラ攢鏀粯淇℃伅
         List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo);
 
-        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream()
-                .collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
+        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
         List<Map<String, BigDecimal>> list = new ArrayList<>();
         StringBuffer FYXM1 = new StringBuffer();
         StringBuffer FYXM2 = new StringBuffer();
@@ -802,17 +801,20 @@
         } else {
             dataMap.put("FYXM3", "");
         }
-        //   dataMap.put("JEXS", rdInfoByItem.get(0).getAmountrequested());
         dataMap.put("JEXS", allMoney);
-        //double temp = 0;
-        //temp = Math.round(serviceReimbursement.getAmountrequested() * 100) * 0.01d;
-        // dataMap.put("JEDS", convert(rdInfoByItem.get(0).getAmountrequested().doubleValue()) + "鏁�");
         dataMap.put("JEDS", convert(allMoney.doubleValue()) + "鏁�");
 
         String remark = "";
         for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) {
-            remark += "<w:br/> "+PersonType.getInfoByCode(serviceReimbursementpayee.getPersontype())+ "(" + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
-            remark += " 鍏�; " + serviceReimbursementpayee.getBankname() + ": " + serviceReimbursementpayee.getBankcardno() + ") 澶囨敞: " + serviceReimbursementpayee.getRemark();
+            remark += "<w:br/> " + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
+            remark += " 鍏�; ";
+            if (!StringUtils.isEmpty(serviceReimbursementpayee.getBankname())) {
+                remark += serviceReimbursementpayee.getBankname() + " ( " + serviceReimbursementpayee.getBankcardno() + ")";
+            }
+            remark += " 澶囨敞: " + serviceReimbursementpayee.getPersontype();
+            if (!StringUtils.isEmpty(serviceReimbursementpayee.getRemark())) {
+                remark += serviceReimbursementpayee.getRemark();
+            }
         }
         dataMap.put("BXBZ", remark);
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
index 703deed..ac0ea3e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -4,8 +4,6 @@
 import java.util.Arrays;
 import java.util.List;
 
-import com.ruoyi.common.utils.bean.DtoConversionUtils;
-import com.ruoyi.project.domain.ServiceReimbursementdetailShared;
 import com.ruoyi.project.service.IServiceReimbursementdetailSharedService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -31,15 +29,14 @@
 
 /**
  * 鎶ラ攢鐢宠鏄庣粏Controller
- * 
+ *
  * @author ruoyi
  * @date 2022-01-24
  */
 @Api("鎶ラ攢鐢宠鏄庣粏")
 @RestController
 @RequestMapping("/project/reimbursementdetail")
-public class ServiceReimbursementdetailController extends BaseController
-{
+public class ServiceReimbursementdetailController extends BaseController {
     @Autowired
     private IServiceReimbursementdetailService serviceReimbursementdetailService;
     @Autowired
@@ -51,8 +48,7 @@
     @ApiOperation("鏌ヨ鎶ラ攢鐢宠鏄庣粏鍒楄〃")
     //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:list')")
     @GetMapping("/list")
-    public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail)
-    {
+    public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail) {
         startPage();
         //List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail);
         List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.selectServiceReimbursementdetailList(serviceReimbursementdetail);
@@ -66,8 +62,7 @@
     //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:export')")
     @Log(title = "鎶ラ攢鐢宠鏄庣粏", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail)
-    {
+    public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail) {
         List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail);
         ExcelUtil<ServiceReimbursementdetail> util = new ExcelUtil<ServiceReimbursementdetail>(ServiceReimbursementdetail.class);
         return util.exportExcel(list, "鎶ラ攢鐢宠鏄庣粏鏁版嵁");
@@ -75,9 +70,9 @@
 
 
     @DeleteMapping("/deleteByRBId/{rbid}")
-    public AjaxResult removeAllDetail(@PathVariable("rbid") Long rbid){
+    public AjaxResult removeAllDetail(@PathVariable("rbid") Long rbid) {
         List<Long> ids = serviceReimbursementdetailService.getAllIds(rbid);
-        Long[] arr = (Long[])ids.toArray(new Long[ids.size()]);
+        Long[] arr = (Long[]) ids.toArray(new Long[ids.size()]);
         return remove(arr);
     }
 
@@ -88,8 +83,7 @@
     @ApiOperation("鑾峰彇鎶ラ攢鐢宠鏄庣粏璇︾粏淇℃伅")
     //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:query')")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return AjaxResult.success(serviceReimbursementdetailService.getById(id));
     }
 
@@ -101,8 +95,7 @@
     @Log(title = "鎶ラ攢鐢宠鏄庣粏", businessType = BusinessType.INSERT)
     @PostMapping
     @RepeatSubmit
-    public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail)
-    {
+    public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) {
         return toAjax(serviceReimbursementdetailService.save(serviceReimbursementdetail));
     }
 
@@ -113,13 +106,10 @@
     //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')")
     @Log(title = "淇敼鐢宠鏄庣粏", businessType = BusinessType.UPDATE)
     @PostMapping("/updateRDlList")
-    public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails)
-    {
-        for (ServiceReimbursementdetail serviceReimbursementdetail:serviceReimbursementdetails) {
+    public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails) {
+        for (ServiceReimbursementdetail serviceReimbursementdetail : serviceReimbursementdetails) {
             serviceReimbursementdetailService.saveOrUpdate(serviceReimbursementdetail);
-            //鏂板鎴栦慨鏀规姤閿�鐢宠鏄庣粏鍒嗕韩琛�
-            ServiceReimbursementdetailShared serviceReimbursementdetailShared = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailShared.class);
-            detailSharedService.saveOrUpdate(serviceReimbursementdetailShared);
+
         }
         return null;
     }
@@ -132,8 +122,7 @@
     @Log(title = "鎶ラ攢鐢宠鏄庣粏", businessType = BusinessType.UPDATE)
     @PutMapping
     //@RepeatSubmit
-    public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail)
-    {
+    public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) {
         return toAjax(serviceReimbursementdetailService.updateById(serviceReimbursementdetail));
     }
 
@@ -144,8 +133,7 @@
     //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:remove')")
     @Log(title = "鎶ラ攢鐢宠鏄庣粏", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(serviceReimbursementdetailService.removeByIds(Arrays.asList(ids)));
     }
 
@@ -156,8 +144,7 @@
     @ApiOperation("鍒犻櫎鎶ラ攢鐢宠鏄庣粏骞朵慨鏀归噾棰�")
     @Log(title = "鎶ラ攢鐢宠鏄庣粏", businessType = BusinessType.DELETE)
     @DeleteMapping("/deleteDetail/{id}")
-    public AjaxResult deleteDetail(@PathVariable Long id)
-    {
+    public AjaxResult deleteDetail(@PathVariable Long id) {
         return AjaxResult.success(serviceReimbursementdetailService.deleteDetail(id));
     }
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
index f3475d9..8f9d2eb 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
@@ -34,6 +34,11 @@
     @Excel(name = "璧勯噾鐢宠涓昏〃ID")
     private Long fundid;
 
+    /** 瀵瑰簲鐨剆ervice_funddetail琛ㄧ殑ID */
+    @ApiModelProperty("瀵瑰簲鐨剆ervice_funddetail琛ㄧ殑ID")
+    @Excel(name = "瀵瑰簲鐨剆ervice_funddetail琛ㄧ殑ID")
+    private Long fdid;
+
     /** 椤哄簭鍙� */
     @ApiModelProperty("椤哄簭鍙�")
     @Excel(name = "椤哄簭鍙�")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java
index 5317094..8b62de4 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java
@@ -34,6 +34,11 @@
     @Excel(name = "璧勯噾鐢宠涓昏〃ID")
     private Long rbid;
 
+    /** 宸梾鎶ラ攢鍗曟槑缁咺D */
+    @ApiModelProperty("宸梾鎶ラ攢鍗曟槑缁咺D")
+    @Excel(name = "宸梾鎶ラ攢鍗曟槑缁咺D")
+    private Long rdid;
+
     /** 浜哄憳绫诲埆 */
     @ApiModelProperty("浜哄憳绫诲埆")
     @Excel(name = "浜哄憳绫诲埆")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java
index 471d389..b06dba2 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java
@@ -59,6 +59,11 @@
     @Excel(name = "寮�鎴烽摱琛�")
     private String bankname;
 
+    /** 澶囨敞 */
+    @ApiModelProperty("澶囨敞")
+    @Excel(name = "澶囨敞")
+    private String remark;
+
     /** 鍗″彿 */
     @ApiModelProperty("鍗″彿")
     @Excel(name = "鍗″彿")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
index a31a560..010f321 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
@@ -5,6 +5,7 @@
 import com.ruoyi.project.domain.ServiceFund;
 import com.ruoyi.project.domain.ServiceFunddetail;
 import com.ruoyi.project.domain.vo.*;
+import org.springframework.web.bind.annotation.PathVariable;
 
 /**
  * 璐圭敤鐢宠涓籗ervice鎺ュ彛
@@ -29,6 +30,13 @@
 
     Long getFundId(Long infoid);
 
+    /**
+     * 寰�鍒嗕韩琛ㄤ腑娣诲姞鏁版嵁
+     * @param id
+     * @return
+     */
+    Boolean addFundSharedInfo(Long id);
+
     List<ServiceFund> selectServiceFundList(ServiceFund serviceFund);
 
     List<ServiceFunddetail> getFundDetail(Long id);
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
index d7f68f4..c5e299e 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -1,34 +1,33 @@
 package com.ruoyi.project.service.impl;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
-import com.ruoyi.project.domain.BaseExpertfeetype;
-import com.ruoyi.project.domain.ServiceFunddetail;
-import com.ruoyi.project.domain.ServiceReimbursement;
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
+import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.vo.*;
-import com.ruoyi.project.mapper.BaseExpertfeetypeMapper;
-import com.ruoyi.project.mapper.ServiceFunddetailMapper;
-import com.ruoyi.project.mapper.ServiceReimbursementMapper;
+import com.ruoyi.project.mapper.*;
+import com.ruoyi.project.service.IServiceFundSharedService;
+import com.ruoyi.project.service.IServiceFunddetailSharedService;
 import org.springframework.beans.factory.annotation.Autowired;
 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.utils.StringUtils;
-import com.ruoyi.project.mapper.ServiceFundMapper;
-import com.ruoyi.project.domain.ServiceFund;
 import com.ruoyi.project.service.IServiceFundService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 璐圭敤鐢宠涓籗ervice涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2022-01-24
  */
 @Service
-public class ServiceFundServiceImpl extends ServiceImpl<ServiceFundMapper, ServiceFund> implements IServiceFundService 
-{
+public class ServiceFundServiceImpl extends ServiceImpl<ServiceFundMapper, ServiceFund> implements IServiceFundService {
     @Autowired
     ServiceFundMapper serviceFundMapper;
 
@@ -41,40 +40,51 @@
     @Autowired
     ServiceReimbursementMapper serviceReimbursementMapper;
 
+    @Autowired
+    IServiceFundSharedService sharedService;
+
+    @Autowired
+    ServiceFundSharedMapper serviceFundSharedMapper;
+
+    @Autowired
+    ServiceFunddetailSharedMapper sharedMapper;
+
+    @Autowired
+    IServiceFunddetailSharedService detailSharedService;
 
 
     /**
      * 鏌ヨ璐圭敤鐢宠涓诲垪琛�
-     * 
+     *
      * @param serviceFund 璐圭敤鐢宠涓�
      * @return 璐圭敤鐢宠涓�
      */
     @Override
     public List<ServiceFund> queryList(ServiceFund serviceFund) {
         LambdaQueryWrapper<ServiceFund> wrappers = Wrappers.lambdaQuery();
-        if (StringUtils.isNotBlank(serviceFund.getDonorno())){
-            wrappers.eq(ServiceFund::getDonorno ,serviceFund.getDonorno());
+        if (StringUtils.isNotBlank(serviceFund.getDonorno())) {
+            wrappers.eq(ServiceFund::getDonorno, serviceFund.getDonorno());
         }
-        if (StringUtils.isNotBlank(serviceFund.getUserno())){
-            wrappers.eq(ServiceFund::getUserno ,serviceFund.getUserno());
+        if (StringUtils.isNotBlank(serviceFund.getUserno())) {
+            wrappers.eq(ServiceFund::getUserno, serviceFund.getUserno());
         }
-        if (StringUtils.isNotBlank(serviceFund.getUsername())){
-            wrappers.like(ServiceFund::getUsername ,serviceFund.getUsername());
+        if (StringUtils.isNotBlank(serviceFund.getUsername())) {
+            wrappers.like(ServiceFund::getUsername, serviceFund.getUsername());
         }
-        if (StringUtils.isNotBlank(serviceFund.getApplytype())){
-            wrappers.eq(ServiceFund::getApplytype ,serviceFund.getApplytype());
+        if (StringUtils.isNotBlank(serviceFund.getApplytype())) {
+            wrappers.eq(ServiceFund::getApplytype, serviceFund.getApplytype());
         }
-        if (StringUtils.isNotBlank(serviceFund.getDeptmentname())){
-            wrappers.like(ServiceFund::getDeptmentname ,serviceFund.getDeptmentname());
+        if (StringUtils.isNotBlank(serviceFund.getDeptmentname())) {
+            wrappers.like(ServiceFund::getDeptmentname, serviceFund.getDeptmentname());
         }
-        if (serviceFund.getRecordstatus()!= null){
-            wrappers.eq(ServiceFund::getRecordstatus ,serviceFund.getRecordstatus());
+        if (serviceFund.getRecordstatus() != null) {
+            wrappers.eq(ServiceFund::getRecordstatus, serviceFund.getRecordstatus());
         }
-        if (StringUtils.isNotBlank(serviceFund.getUploadflag())){
-            wrappers.eq(ServiceFund::getUploadflag ,serviceFund.getUploadflag());
+        if (StringUtils.isNotBlank(serviceFund.getUploadflag())) {
+            wrappers.eq(ServiceFund::getUploadflag, serviceFund.getUploadflag());
         }
-        if (serviceFund.getUploadtime() != null){
-            wrappers.eq(ServiceFund::getUploadtime ,serviceFund.getUploadtime());
+        if (serviceFund.getUploadtime() != null) {
+            wrappers.eq(ServiceFund::getUploadtime, serviceFund.getUploadtime());
         }
         return this.list(wrappers);
     }
@@ -85,10 +95,34 @@
     }
 
 
-
     @Override
     public Long getFundId(Long infoid) {
         return serviceFundMapper.getFundId(infoid);
+    }
+
+    @Override
+    @Transactional
+    public Boolean addFundSharedInfo(Long id) {
+        ServiceFund serviceFund = serviceFundMapper.selectById(id);
+        ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class);
+        serviceFundShared.setSerfunid(serviceFundShared.getId());
+        serviceFundShared.setId(null);
+        sharedService.save(serviceFundShared);
+
+        //fundId涓轰富琛ㄧ殑ID
+        Map<String, Object> columnMap = new HashMap<>();
+        columnMap.put("fundid", id);
+        List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap);
+        //灏嗘煡鍑虹殑鏁版嵁鏀惧埌ServiceFunddetailShared涓�
+        List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class);
+        for (int i = 0; i < serviceFunddetails.size(); i++) {
+            serviceFunddetailShareds.get(i).setFdid(serviceFunddetailShareds.get(i).getId());
+            //fundID涓簊ervice_fund_shared琛ㄧ殑涓婚敭ID
+            serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId());
+            serviceFunddetailShareds.get(i).setId(null);
+        }
+        boolean result = detailSharedService.saveBatch(serviceFunddetailShareds);
+        return result;
     }
 
     @Override
@@ -133,9 +167,9 @@
         List<ServiceFund> serviceFunds = serviceFundMapper.getInfoByInfoId(infoid);
 
         List<ServiceFunddetail> fd = new ArrayList<>();
-        for(ServiceFund s : serviceFunds){
+        for (ServiceFund s : serviceFunds) {
             List<ServiceFunddetail> l = serviceFunddetailMapper.getAllDetailsByFDIDHZ(s.getId());
-            for(ServiceFunddetail df : l){
+            for (ServiceFunddetail df : l) {
                 fd.add(df);
             }
         }
@@ -251,225 +285,223 @@
         double sh52 = 0;
         double shhj = 0;
 
-        for(ServiceReimbursement sr : serviceReimbursements1){
+        for (ServiceReimbursement sr : serviceReimbursements1) {
             f28 += sr.getAmountrequested();
             sh28 += sr.getAmountrequested();
         }
-        for(ServiceReimbursement sr : serviceReimbursements2){
+        for (ServiceReimbursement sr : serviceReimbursements2) {
             f51 += sr.getAmountrequested();
             sh51 += sr.getAmountrequested();
         }
 
-        for(ServiceFunddetail s : fd){
-            if(s.getItemid() == 1){
+        for (ServiceFunddetail s : fd) {
+            if (s.getItemid() == 1) {
                 f1 += s.getAmount();
                 sh1 += s.getTaxedamount();
             }
-            if(s.getItemid() == 2){
+            if (s.getItemid() == 2) {
                 f2 += s.getAmount();
                 sh2 += s.getTaxedamount();
             }
-            if(s.getItemid() == 3){
+            if (s.getItemid() == 3) {
                 f3 += s.getAmount();
                 sh3 += s.getTaxedamount();
             }
-            if(s.getItemid() == 4){
+            if (s.getItemid() == 4) {
                 f4 += s.getAmount();
                 sh4 += s.getTaxedamount();
             }
-            if(s.getItemid() == 5){
+            if (s.getItemid() == 5) {
                 f5 += s.getAmount();
                 sh5 += s.getTaxedamount();
             }
-            if(s.getItemid() == 6){
+            if (s.getItemid() == 6) {
                 f6 += s.getAmount();
                 sh6 += s.getTaxedamount();
             }
-            if(s.getItemid() == 7){
+            if (s.getItemid() == 7) {
                 f7 += s.getAmount();
                 sh7 += s.getTaxedamount();
             }
-            if(s.getItemid() == 8){
+            if (s.getItemid() == 8) {
                 f8 += s.getAmount();
                 sh8 += s.getTaxedamount();
             }
-            if(s.getItemid() == 9){
+            if (s.getItemid() == 9) {
                 f9 += s.getAmount();
                 sh9 += s.getTaxedamount();
             }
-            if(s.getItemid() == 10){
+            if (s.getItemid() == 10) {
                 f10 += s.getAmount();
                 sh10 += s.getTaxedamount();
             }
-            if(s.getItemid() == 11){
+            if (s.getItemid() == 11) {
                 f11 += s.getAmount();
                 sh11 += s.getTaxedamount();
             }
-            if(s.getItemid() == 12){
+            if (s.getItemid() == 12) {
                 f12 += s.getAmount();
                 sh12 += s.getTaxedamount();
             }
-            if(s.getItemid() == 13){
+            if (s.getItemid() == 13) {
                 f13 += s.getAmount();
                 sh13 += s.getTaxedamount();
             }
-            if(s.getItemid() == 14){
+            if (s.getItemid() == 14) {
                 f14 += s.getAmount();
                 sh14 += s.getTaxedamount();
             }
-            if(s.getItemid() == 15){
+            if (s.getItemid() == 15) {
                 f15 += s.getAmount();
                 sh15 += s.getTaxedamount();
             }
-            if(s.getItemid() == 16){
+            if (s.getItemid() == 16) {
                 f16 += s.getAmount();
                 sh16 += s.getTaxedamount();
             }
-            if(s.getItemid() == 17){
+            if (s.getItemid() == 17) {
                 f17 += s.getAmount();
                 sh17 += s.getTaxedamount();
             }
-            if(s.getItemid() == 18){
+            if (s.getItemid() == 18) {
                 f18 += s.getAmount();
                 sh18 += s.getTaxedamount();
             }
-            if(s.getItemid() == 19){
+            if (s.getItemid() == 19) {
                 f19 += s.getAmount();
                 sh19 += s.getTaxedamount();
             }
-            if(s.getItemid() == 20){
+            if (s.getItemid() == 20) {
                 f20 += s.getAmount();
                 sh20 += s.getTaxedamount();
             }
-            if(s.getItemid() == 21){
+            if (s.getItemid() == 21) {
                 f21 += s.getAmount();
                 sh21 += s.getTaxedamount();
             }
-            if(s.getItemid() == 22){
+            if (s.getItemid() == 22) {
                 f22 += s.getAmount();
                 sh22 += s.getTaxedamount();
             }
-            if(s.getItemid() == 23){
+            if (s.getItemid() == 23) {
                 f23 += s.getAmount();
                 sh23 += s.getTaxedamount();
             }
-            if(s.getItemid() == 24){
+            if (s.getItemid() == 24) {
                 f24 += s.getAmount();
                 sh24 += s.getTaxedamount();
             }
-            if(s.getItemid() == 25){
+            if (s.getItemid() == 25) {
                 f25 += s.getAmount();
                 sh25 += s.getTaxedamount();
             }
-            if(s.getItemid() == 26){
+            if (s.getItemid() == 26) {
                 f26 += s.getAmount();
                 sh26 += s.getTaxedamount();
             }
-            if(s.getItemid() == 27){
+            if (s.getItemid() == 27) {
                 f27 += s.getAmount();
                 sh27 += s.getTaxedamount();
             }
 
-            if(s.getItemid() == 29){
+            if (s.getItemid() == 29) {
                 f29 += s.getAmount();
                 sh29 += s.getTaxedamount();
             }
-            if(s.getItemid() == 30){
+            if (s.getItemid() == 30) {
                 f30 += s.getAmount();
                 sh30 += s.getTaxedamount();
             }
-            if(s.getItemid() == 31){
+            if (s.getItemid() == 31) {
                 f31 += s.getAmount();
                 sh31 += s.getTaxedamount();
             }
-            if(s.getItemid() == 32){
+            if (s.getItemid() == 32) {
                 f32 += s.getAmount();
                 sh32 += s.getTaxedamount();
             }
-            if(s.getItemid() == 33){
+            if (s.getItemid() == 33) {
                 f33 += s.getAmount();
                 sh33 += s.getTaxedamount();
             }
-            if(s.getItemid() == 34){
+            if (s.getItemid() == 34) {
                 f34 += s.getAmount();
                 sh34 += s.getTaxedamount();
             }
-            if(s.getItemid() == 35){
+            if (s.getItemid() == 35) {
                 f35 += s.getAmount();
                 sh35 += s.getTaxedamount();
             }
-            if(s.getItemid() == 36){
+            if (s.getItemid() == 36) {
                 f36 += s.getAmount();
                 sh36 += s.getTaxedamount();
             }
-            if(s.getItemid() == 37){
+            if (s.getItemid() == 37) {
                 f37 += s.getAmount();
                 sh37 += s.getTaxedamount();
             }
-            if(s.getItemid() == 38){
+            if (s.getItemid() == 38) {
                 f38 += s.getAmount();
                 sh38 += s.getTaxedamount();
             }
-            if(s.getItemid() == 39){
+            if (s.getItemid() == 39) {
                 f39 += s.getAmount();
                 sh39 += s.getTaxedamount();
             }
-            if(s.getItemid() == 40){
+            if (s.getItemid() == 40) {
                 f40 += s.getAmount();
                 sh40 += s.getTaxedamount();
             }
-            if(s.getItemid() == 41){
+            if (s.getItemid() == 41) {
                 f41 += s.getAmount();
                 sh41 += s.getTaxedamount();
             }
-            if(s.getItemid() == 42){
+            if (s.getItemid() == 42) {
                 f42 += s.getAmount();
                 sh42 += s.getTaxedamount();
             }
-            if(s.getItemid() == 43){
+            if (s.getItemid() == 43) {
                 f43 += s.getAmount();
                 sh43 += s.getTaxedamount();
             }
-            if(s.getItemid() == 44){
+            if (s.getItemid() == 44) {
                 f44 += s.getAmount();
                 sh44 += s.getTaxedamount();
             }
-            if(s.getItemid() == 45){
+            if (s.getItemid() == 45) {
                 f45 += s.getAmount();
                 sh45 += s.getTaxedamount();
             }
-            if(s.getItemid() == 46){
+            if (s.getItemid() == 46) {
                 f46 += s.getAmount();
                 sh46 += s.getTaxedamount();
             }
-            if(s.getItemid() == 47){
+            if (s.getItemid() == 47) {
                 f47 += s.getAmount();
                 sh47 += s.getTaxedamount();
             }
-            if(s.getItemid() == 48){
+            if (s.getItemid() == 48) {
                 f48 += s.getAmount();
                 sh48 += s.getTaxedamount();
             }
-            if(s.getItemid() == 49){
+            if (s.getItemid() == 49) {
                 f49 += s.getAmount();
                 sh49 += s.getTaxedamount();
             }
 
-            if(s.getItemid() == 50){
+            if (s.getItemid() == 50) {
                 f50 += s.getAmount();
                 sh50 += s.getTaxedamount();
             }
-            if(s.getItemid() == 52){
+            if (s.getItemid() == 52) {
                 f52 += s.getAmount();
                 sh52 += s.getTaxedamount();
             }
         }
 
-        hj = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10 + f11 + f12 + f13 + f14 + f15 + f16 + f17 + f18 + f19 + f20 + f21 + f22 + f23 + f24 + f25 + f26 + f27 + f28 + f29 + f30 + f31 + f32 + f33 + f34 + f35
-                + f36 + f37 + f38 + f39 + f40 + f41 + f42 + f43 + f44 + f45 + f46 + f47 + f48 + f49 + f50 + f51 + f52;
+        hj = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10 + f11 + f12 + f13 + f14 + f15 + f16 + f17 + f18 + f19 + f20 + f21 + f22 + f23 + f24 + f25 + f26 + f27 + f28 + f29 + f30 + f31 + f32 + f33 + f34 + f35 + f36 + f37 + f38 + f39 + f40 + f41 + f42 + f43 + f44 + f45 + f46 + f47 + f48 + f49 + f50 + f51 + f52;
 
-        shhj = sh1 + sh2 + sh3 + sh4 + sh5 + sh6 + sh7 + sh8 + sh9 + sh10 + sh11 + sh12 + sh13 + sh14 + sh15 + sh16 + sh17 + sh18 + sh19 + sh20 + sh21 + sh22 + sh23 + sh24 + sh25 + sh26 + sh27 + sh28 + sh29 + sh30 + sh31 + sh32 + sh33 + sh34 + sh35
-                + sh36 + sh37 + sh38 + sh39 + sh40 + sh41 + sh42 + sh43 + sh44 + sh45 + sh46 + sh47 + sh48 + sh49 + sh50 + sh51 + sh52;
+        shhj = sh1 + sh2 + sh3 + sh4 + sh5 + sh6 + sh7 + sh8 + sh9 + sh10 + sh11 + sh12 + sh13 + sh14 + sh15 + sh16 + sh17 + sh18 + sh19 + sh20 + sh21 + sh22 + sh23 + sh24 + sh25 + sh26 + sh27 + sh28 + sh29 + sh30 + sh31 + sh32 + sh33 + sh34 + sh35 + sh36 + sh37 + sh38 + sh39 + sh40 + sh41 + sh42 + sh43 + sh44 + sh45 + sh46 + sh47 + sh48 + sh49 + sh50 + sh51 + sh52;
 
         fdvo.setFy1(f1);
         fdvo.setFy2(f2);
@@ -588,8 +620,8 @@
     }
 
     @Override
-    public List<SpFinancialExpensesFundOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT,Integer CHECKFLAG,Integer APPLYTYPE) {
-        return serviceFundMapper.getListBypower(PAUSERNO,  PAFUNDTYPE,  PAAPPLICANT,  PAAPPLICATIONBEGTIME,  PAAPPLICATIONENDTIME,  PADEPARTMENT,CHECKFLAG,APPLYTYPE);
+    public List<SpFinancialExpensesFundOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE) {
+        return serviceFundMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE);
     }
 
     @Override
@@ -597,7 +629,7 @@
         List<ServiceFund> serviceFunds = serviceFundMapper.getInfoByInfoId(infoid);
 
         int count = 0;
-        for(ServiceFund s : serviceFunds){
+        for (ServiceFund s : serviceFunds) {
             long fundid = s.getId();
             int l = serviceFunddetailMapper.countItem(fundid, itemid);
             count += l;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
index 0bff6a2..d0e029a 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -20,9 +20,11 @@
 
 import java.util.ArrayList;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.service.IServiceReimbursementService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 鎶ラ攢鐢宠Service涓氬姟灞傚鐞�
@@ -112,6 +114,7 @@
     }
 
     @Override
+    @Transactional
     public Boolean addSharedData(Long id) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id);
         Map<String, Object> columnMap = new HashMap<>();
@@ -122,11 +125,27 @@
         List<ServiceReimbursementpayee> serviceReimbursementpayees = reimbursementpayeeMapper.selectByMap(columnMap);
         //鏁版嵁缁勮
         ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class);
+        serviceReimbursementShared.setReimid(id);
+        serviceReimbursementShared.setId(null);
         List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = DtoConversionUtils.sourceToTarget(details, ServiceReimbursementdetailShared.class);
         List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = DtoConversionUtils.sourceToTarget(serviceReimbursementpayees, ServiceReimbursementpayeeShared.class);
         //灏嗙粍瑁呭ソ鐨勬暟鎹彃鍏ュ埌鍒嗕韩琛ㄤ腑
         sharedService.save(serviceReimbursementShared);
+
+        //灏唖erviceReimbursementdetail琛ㄩ噷鐨刬d璧嬪�肩粰Rdid; 灏唖erviceReimbursementShared閲岀殑ID璧嬪�肩粰RBID,骞跺皢serviceReimbursementdetailShared琛ㄩ噷鐨刬d缃┖锛岀敱鏁版嵁搴撻噸鏂扮敓鎴�
+        for (int i = 0; i < details.size(); i++) {
+            serviceReimbursementdetailShareds.get(i).setRdid(serviceReimbursementdetailShareds.get(i).getId());
+            serviceReimbursementdetailShareds.get(i).setRbid(serviceReimbursementShared.getId());
+            serviceReimbursementdetailShareds.get(i).setId(null);
+        }
         detailSharedService.saveBatch(serviceReimbursementdetailShareds);
+
+        //灏唖erviceReimbursementdetail琛ㄩ噷鐨刬d璧嬪�肩粰Rpid; 灏唖erviceReimbursementShared閲岀殑ID璧嬪�肩粰RBID,骞跺皢serviceReimbursementpayeeShared琛ㄩ噷鐨刬d缃┖锛岀敱鏁版嵁搴撻噸鏂扮敓鎴�
+        for (int i = 0; i < serviceReimbursementpayees.size(); i++) {
+            serviceReimbursementpayeeShareds.get(i).setRpid(serviceReimbursementpayeeShareds.get(i).getId());
+            serviceReimbursementpayeeShareds.get(i).setRbid(serviceReimbursementShared.getId());
+            serviceReimbursementpayeeShareds.get(i).setId(null);
+        }
         payeeSharedService.saveBatch(serviceReimbursementpayeeShareds);
 
         return true;

--
Gitblit v1.9.3