From 7cdc66043ad8c484b8eb4597e281a5d8d33e4794 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 25 八月 2023 16:41:12 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java |  119 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 69 insertions(+), 50 deletions(-)

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 27aaf49..4857017 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
@@ -29,6 +29,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.service.IServiceFundService;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 /**
  * 璐圭敤鐢宠涓籗ervice涓氬姟灞傚鐞�
@@ -136,6 +137,7 @@
         ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class);
         serviceFundShared.setSerfunid(serviceFundShared.getId());
         serviceFundShared.setId(null);
+        log.info("鏁版嵁閮芥彃杩涘幓浜嗗悧锛� {}", serviceFundShared);
         sharedService.save(serviceFundShared);
 
         //fundId涓轰富琛ㄧ殑ID
@@ -159,11 +161,6 @@
     @Override
     public List<ServiceFund> selectServiceFundList(ServiceFund serviceFund) {
         return serviceFundMapper.selectServiceFundList(serviceFund);
-    }
-
-    @Override
-    public List<ServiceFunddetail> getFundDetail(Long id) {
-        return serviceFunddetailMapper.selectFundDetailListById(id);
     }
 
     @Override
@@ -680,50 +677,69 @@
             updateById(serviceFundVO);
             id = serviceFundVO.getId();
         }
-        List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
-
+        List<ServiceFunddetailVO> serviceFunddetails = serviceFundVO.getServiceFunddetails();
+        if (CollectionUtils.isEmpty(serviceFunddetails)) {
+            System.out.println("serviceFunddetails涓虹┖鍠�");
+            return null;
+        }
         // 鐢ㄤ簬璁板綍绋庡墠銆佺◣鍚庣殑鎬诲拰
         double taxBefore = 0.0;
         double taxAfter = 0.0;
 
-        for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
-            serviceFunddetail.setFundid(id);
-            if (serviceFunddetail.getTaxedamount() != null && serviceFunddetail.getAmount() != null && serviceFunddetail.getTaxedamount() != 0.0 && serviceFunddetail.getAmount() != 0.0) {
+        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
+            serviceFunddetailVO.setFundid(id);
+            //灏囬檮浠惰浆鎴恓son
+            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
+                serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
+            }
+            if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getTaxedamount() != 0.0 && serviceFunddetailVO.getAmount() != 0.0) {
                 // 绋庡墠绋庡悗閮戒笉涓虹┖
-                if (serviceFunddetail.getId() == null) {
+                ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
+                if (serviceFunddetailVO.getId() == null) {
                     serviceFunddetailService.save(serviceFunddetail);
                 } else {
                     serviceFunddetailService.updateById(serviceFunddetail);
                 }
+                //璁$畻绋庨噾
+                if (serviceFunddetail.getAmount() != null) {
+                    taxBefore = taxBefore + serviceFunddetail.getAmount();
+                }
+                if (serviceFunddetail.getTaxedamount() != null) {
+                    taxAfter = taxAfter + serviceFunddetail.getTaxedamount();
+                }
                 continue;
-            } else if (serviceFunddetail.getTaxedamount() != null && serviceFunddetail.getTaxedamount() != 0.0) {
+            } else if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getTaxedamount() != 0.0) {
                 // 绋庡悗姹傜◣鍓�,濡傛灉鏄笓瀹惰垂鐢宠  鎴� 浼︾悊涓撳璐圭敵璇�   鎵嶄細璁$畻绋庡墠绋庡悗
                 if (StringUtils.isNotEmpty(serviceFundVO.getApplytype()) && serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
-                    Double taxationBefore = Double.valueOf(TaxtUtils.getTaxationBefore(BigDecimal.valueOf(serviceFunddetail.getTaxedamount())));
+                    Double taxationBefore = Double.valueOf(TaxtUtils.getTaxationBefore(BigDecimal.valueOf(serviceFunddetailVO.getTaxedamount())));
                     // 绋庨噾
                     String taxation = TaxtUtils.getTaxation(BigDecimal.valueOf(taxationBefore));
-                    serviceFunddetail.setAmount(Double.valueOf(taxationBefore));
-                    serviceFunddetail.setTaxamount(Double.parseDouble(taxation));
+                    serviceFunddetailVO.setAmount(Double.valueOf(taxationBefore));
+                    serviceFunddetailVO.setTaxamount(Double.parseDouble(taxation));
                 }
-            } else if (serviceFunddetail.getAmount() != null && serviceFunddetail.getAmount() != 0.0) {
+            } else if (serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getAmount() != 0.0) {
                 // 绋庡墠姹傜◣鍚�,濡傛灉鏄笓瀹惰垂鐢宠  鎴� 浼︾悊涓撳璐圭敵璇�   鎵嶄細璁$畻绋庡墠绋庡悗
                 if (StringUtils.isNotEmpty(serviceFundVO.getApplytype()) && serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
-                    double tax = Double.parseDouble(TaxtUtils.getTaxation(BigDecimal.valueOf(serviceFunddetail.getAmount())));
-                    BigDecimal taxAfterMoney = BigDecimal.valueOf(serviceFunddetail.getAmount()).subtract(BigDecimal.valueOf(tax));
-                    serviceFunddetail.setTaxamount(tax);
-                    serviceFunddetail.setTaxedamount(taxAfterMoney.doubleValue());
+                    double tax = Double.parseDouble(TaxtUtils.getTaxation(BigDecimal.valueOf(serviceFunddetailVO.getAmount())));
+                    BigDecimal taxAfterMoney = BigDecimal.valueOf(serviceFunddetailVO.getAmount()).subtract(BigDecimal.valueOf(tax));
+                    serviceFunddetailVO.setTaxamount(tax);
+                    serviceFunddetailVO.setTaxedamount(taxAfterMoney.doubleValue());
                 }
             }
 
             //鏍规嵁id鍒ゆ柇鏄柊澧炶繕鏄慨鏀�
-            if (serviceFunddetail.getId() == null) {
+            ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
+            if (serviceFunddetailVO.getId() == null) {
                 serviceFunddetailService.save(serviceFunddetail);
             } else {
                 serviceFunddetailService.updateById(serviceFunddetail);
             }
-            if (serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
-                //濡傛灉鏄笓瀹惰垂鐢宠  鎴� 浼︾悊涓撳璐圭敵璇�   鎵嶄細璁$畻绋庡墠绋庡悗
+//            if (serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
+            //濡傛灉鏄笓瀹惰垂鐢宠  鎴� 浼︾悊涓撳璐圭敵璇�   鎵嶄細璁$畻绋庡墠绋庡悗
+            if (serviceFunddetail.getAmount() != null) {
                 taxBefore = taxBefore + serviceFunddetail.getAmount();
+            }
+            if (serviceFunddetail.getTaxedamount() != null) {
                 taxAfter = taxAfter + serviceFunddetail.getTaxedamount();
             }
         }
@@ -759,38 +775,41 @@
         String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes;
         List<RbDetailFile> parseArray2 = new ArrayList<>();
         List<RbDetailFile> parseArray = JSON.parseArray(remShare.getAnnexfiles(), RbDetailFile.class);
-        for (int i = 0; i < parseArray.size(); i++) {
-            RbDetailFile rbDetailFile = parseArray.get(i);
-            log.info("filePath鐨勪慨鏀�:{}", filePath);
-            String url = rbDetailFile.getUrl();
-            //file鐢ㄧ殑鏄粷瀵逛綅缃�
-            String substring = url.substring(url.indexOf("/profile/upload") + "/profile/upload".length());
+        log.info("parseArray鐨勫�� : {}", parseArray);
+        if (!CollectionUtils.isEmpty(parseArray)) {
+            for (int i = 0; i < parseArray.size(); i++) {
+                RbDetailFile rbDetailFile = parseArray.get(i);
+                log.info("filePath鐨勪慨鏀�:{}", filePath);
+                String url = rbDetailFile.getUrl();
+                //file鐢ㄧ殑鏄粷瀵逛綅缃�
+                String substring = url.substring(url.indexOf("/profile/upload") + "/profile/upload".length());
 //            String strFile = rbDetailFile.getUrl().replace(filePath, "/profile/upload");
-            File filetest = new File(filePath + substring);
+                System.out.println("fund鏈嶅姟鐨刦ilePath + substring: " + filePath + substring);
+                File filetest = new File(filePath + substring);
 
-            try {
-                String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
-                log.info("绗笁鏂逛紶鍥炵殑鏁版嵁: {}", struploadResult);
-                if (StringUtils.isEmpty(struploadResult)) {
-                    log.info("HttpClientKit.sendPostWithFile 璇锋眰涓虹┖浜� filetest:{},  strFUrl:{} ", filetest, strFUrl);
-                    return 0;
+                try {
+                    String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
+                    log.info("绗笁鏂逛紶鍥炵殑鏁版嵁: {}", struploadResult);
+                    if (StringUtils.isEmpty(struploadResult)) {
+                        log.info("HttpClientKit.sendPostWithFile 璇锋眰涓虹┖浜� filetest:{},  strFUrl:{} ", filetest, strFUrl);
+                        return 0;
+                    }
+                    //鑾峰彇fileid
+                    JSONObject jsonR = JSONObject.parseObject(struploadResult);
+                    JSONArray jsonArr = jsonR.getJSONArray("atts");
+                    log.info("绗笁鏂逛紶鍥炵殑鏁版嵁鑾峰彇鐨刟tts : {}", jsonArr);
+                    for (int j = 0; j < jsonArr.size(); j++) {
+                        JSONObject jsonRet = jsonArr.getJSONObject(j);
+                        rbDetailFile.setFileid(jsonRet.get("fileUrl").toString());
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-                //鑾峰彇fileid
-                JSONObject jsonR = JSONObject.parseObject(struploadResult);
-                JSONArray jsonArr = jsonR.getJSONArray("atts");
-                log.info("绗笁鏂逛紶鍥炵殑鏁版嵁鑾峰彇鐨刟tts : {}", jsonArr);
-                for (int j = 0; j < jsonArr.size(); j++) {
-                    JSONObject jsonRet = jsonArr.getJSONObject(j);
-                    rbDetailFile.setFileid(jsonRet.get("fileUrl").toString());
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
+                parseArray2.add(rbDetailFile);
             }
-            parseArray2.add(rbDetailFile);
+            remShare.setAnnexfiles(JSON.toJSONString(parseArray2));
+            log.info("ServiceReimbursementdetailShared 鏄惁鍔犱笂浜唂ileid : {}", remShare);
         }
-        remShare.setAnnexfiles(JSON.toJSONString(parseArray2));
-        log.info("ServiceReimbursementdetailShared 鏄惁鍔犱笂浜唂ileid : {}", remShare);
-
         return 0;
     }
 

--
Gitblit v1.9.3