From d9dd857a70467c00feaeb25101eb5e2996e95d94 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 17 五月 2023 11:04:33 +0800
Subject: [PATCH] 修改插入分享表的时机

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |   89 +++++++++++++++++++++++++++-----------------
 1 files changed, 55 insertions(+), 34 deletions(-)

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 cac7c25..3011ecc 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
@@ -32,6 +32,7 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.ibatis.annotations.Options;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.*;
@@ -188,6 +189,18 @@
     }
 
     /**
+     * 寰�service_reimbursement_share,寰�service_reimbursementdetail_share,寰�service_reimbursementpyee_share鏂板澶囦唤鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/addShareData/{id}")
+    public AjaxResult addSharedData(@PathVariable("id") Long id) {
+
+        return AjaxResult.success(serviceReimbursementService.addSharedData(id));
+    }
+
+    /**
      * 鏂板鎶ラ攢鐢宠
      */
     @ApiOperation("鏂板鎶ラ攢鐢宠")
@@ -199,24 +212,23 @@
     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);
     }
 
     public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) {
         //remShare = ;
-        ServiceReimbursementShared remShare = null;
+        ServiceReimbursementShared remShare = new ServiceReimbursementShared();
         if (nType == 1) {
-            remShare = new ServiceReimbursementShared();
+            // remShare = new ServiceReimbursementShared();
             remShare.setReimid(serviceReimbursement.getId());
         } else //modify
         {
             List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
-            if (remlist != null)
-                remShare = remlist.get(0);
+            if (!CollectionUtils.isEmpty(remlist)) remShare = remlist.get(0);
         }
 
         remShare.setUserno(serviceReimbursement.getUserno());
@@ -484,7 +496,7 @@
     public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
         if (serviceReimbursement != null) {
-            Integer TotalLevel = 0;
+            Integer totalLevel = 0;
             LoginUser loginUser = getLoginUser();
             ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
             serviceFundflowrule.setFundtype(1);
@@ -501,7 +513,9 @@
             }
 
             if (serviceFundflowrules != null && serviceFundflowrules.stream().count() > 0) {
-                TotalLevel = serviceFundflowrules.get(0).getTotallevel();
+                totalLevel = serviceFundflowrules.get(0).getTotallevel();
+
+
             }
             Integer CheckFlag = 0;
             Integer RecordStatus = serviceReimbursement.getRecordstatus();
@@ -509,10 +523,11 @@
             Integer OriginalFlowLevel = FlowLevel;
             if (checkFundVO.getFlowconclusion() == 1) {
                 CheckFlag = 1;
-                if (TotalLevel == 0) {
+                if (totalLevel == 0) {
+                    //99 鍙栨秷
                     RecordStatus = 99;
                 } else {
-                    if (TotalLevel == FlowLevel + 1) {
+                    if (totalLevel == FlowLevel + 1) {
                         RecordStatus = 99;
                     } else {
                         RecordStatus = (FlowLevel + 1) * 2;
@@ -578,7 +593,10 @@
                 //閫氳繃
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃");
                 serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡閫氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�");
-
+                if (totalLevel == OriginalFlowLevel + 1) {
+                    //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
+                    this.addSharedData(checkFundVO.getFundid());
+                }
             } else {
                 //椹冲洖
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�");
@@ -618,9 +636,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);
     }
 
@@ -702,8 +720,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();
@@ -719,9 +736,7 @@
             BigDecimal keyOneMoney = new BigDecimal(0.00);
             BigDecimal keyTwoMoney = new BigDecimal(0.00);
             for (ServiceReimbursementEo serviceReimbursementEo1 : values) {
-                otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense())
-                        .add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance())
-                        .add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount());
+                otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount());
             }
             map.put(key, otherMoney);
             list.add(map);
@@ -791,17 +806,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);
 
@@ -846,11 +864,16 @@
             map.put("DA", s.getDeparture() == null ? "" : s.getDeparture());
 
             Date et = s.getEndtime();
-            SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            String date_et = formatter_et.format(et);
-            String year_et = date_et.substring(0, 4);
-            String month_et = date_et.substring(5, 7);
-            String day_et = date_et.substring(8, 10);
+            String year_et = null;
+            String month_et = null;
+            String day_et = null;
+            if (et != null) {
+                SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String date_et = formatter_et.format(et);
+                year_et = date_et.substring(0, 4);
+                month_et = date_et.substring(5, 7);
+                day_et = date_et.substring(8, 10);
+            }
 
             map.put("AY", year_et == null ? "" : year_et);
             map.put("AM", month_et == null ? "" : month_et);
@@ -995,9 +1018,7 @@
         }
 
         result = result.replaceAll("闆朵粺", "闆�").replaceAll("闆朵桨", "闆�")        //鎶婂崟浣�'浜�','涓�','鍏�'鏀惧埌鏈�鍚庢浛鎹€��
-                .replaceAll("闆舵嬀", "闆�").replaceAll("闆堕浂", "闆�")
-                .replaceAll("闆堕浂", "闆�").replaceAll("闆朵嚎", "浜�")
-                .replaceAll("闆朵竾", "涓�").replaceAll("闆跺厓", "鍏�");
+                .replaceAll("闆舵嬀", "闆�").replaceAll("闆堕浂", "闆�").replaceAll("闆堕浂", "闆�").replaceAll("闆朵嚎", "浜�").replaceAll("闆朵竾", "涓�").replaceAll("闆跺厓", "鍏�");
         //        result = result.replaceAll("闆朵粺", "闆�");
         //        result = result.replaceAll("闆朵桨", "闆�");
         //        result = result.replaceAll("闆舵嬀", "闆�");

--
Gitblit v1.9.3