From d14859fc72679328ef0e37a4a44461f08dd539b9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 17 五月 2023 16:52:08 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |  107 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 63 insertions(+), 44 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 7de9e32..f486e1c 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.*;
@@ -54,6 +55,9 @@
 public class ServiceReimbursementController extends BaseController {
     @Autowired
     private IServiceReimbursementService serviceReimbursementService;
+
+    @Autowired
+    private IServiceReimbursementpayeeService reimbursementpayeeService;
 
     @Autowired
     private IServiceReimbursementSharedService serviceReimbursementServiceShare;
@@ -185,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("鏂板鎶ラ攢鐢宠")
@@ -196,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());
@@ -481,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);
@@ -498,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();
@@ -506,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;
@@ -575,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) {
+                    //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
+                    serviceReimbursementService.addSharedData(checkFundVO.getFundid());
+                }
             } else {
                 //椹冲洖
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�");
@@ -615,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);
     }
 
@@ -696,9 +717,10 @@
         ServiceReimbursementEo serviceReimbursementEo = new ServiceReimbursementEo();
         serviceReimbursementEo.setId(id);
         List<ServiceReimbursementEo> rdInfoByItem = serviceReimbursementService.getRDInfoByItem(serviceReimbursementEo);
+        //鑾峰彇鎶ラ攢鏀粯淇℃伅
+        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();
@@ -714,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);
@@ -786,25 +806,21 @@
         } 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 = "";
-        remark += rdInfoByItem.get(0).getCosttypename() == null ? "" : rdInfoByItem.get(0).getCosttypename() + "(";
-
-        remark += rdInfoByItem.get(0).getTravelers() == null ? "" : rdInfoByItem.get(0).getTravelers() + ": ";
-
-        remark += rdInfoByItem.get(0).getIdcardno() == null ? "" : rdInfoByItem.get(0).getIdcardno() + "; ";
-
-        remark += rdInfoByItem.get(0).getDepositbank() == null ? "" : rdInfoByItem.get(0).getDepositbank() + ": ";
-
-        remark += rdInfoByItem.get(0).getBankcardno() == null ? "" : rdInfoByItem.get(0).getBankcardno() + ")";
-        remark += "\n";
-        remark += rdInfoByItem.get(0).getRemark() == null ? "" : rdInfoByItem.get(0).getRemark();
+        for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) {
+            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);
 
 
@@ -848,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);
@@ -882,7 +903,7 @@
             //hj = Math.round(hj * 100) * 0.01d;
 //            DecimalFormat df = new DecimalFormat("0.00");
 
-          //  hj = new Double(df.format(hj).toString());
+            //  hj = new Double(df.format(hj).toString());
             newsList.add(map);
         }
 
@@ -997,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