From e376946a110815d42d09f555300e7521eae66cb1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 27 七月 2023 17:56:49 +0800
Subject: [PATCH] 放开deptid
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 101 insertions(+), 7 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 4ff99cf..9c08f28 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
@@ -1,7 +1,5 @@
package com.ruoyi.web.controller.project;
-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;
@@ -13,7 +11,7 @@
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.tax.TaxtUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.*;
@@ -33,6 +31,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
import static com.ruoyi.web.controller.project.ServiceReimbursementController.convert;
@@ -438,7 +437,38 @@
// addReiSharedDatd(serviceFundVO, 1);
// }
List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
- serviceFunddetails.forEach(item -> item.setFundid(id));
+// serviceFunddetails.forEach(item -> item.setFundid(id));
+
+ //taxBefore銆乼axAfter鐢ㄦ潵璁板綍绋庡墠绋庡悗鐨勬�婚噾棰濓紝涓嶇敤绠$◣鐜�
+ double taxBefore = 0.0;
+ double taxAfter = 0.0;
+ for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
+ serviceFunddetail.setFundid(id);
+ if (serviceFunddetail.getTaxedamount() != 0.0 && serviceFunddetail.getAmount() != 0.0 && serviceFunddetail.getTaxedamount() != null && serviceFunddetail.getTaxedamount() != null) {
+ // 绋庡墠绋庡悗閮戒笉涓虹┖
+ continue;
+ } else if (serviceFunddetail.getTaxedamount() != 0.0 && serviceFunddetail.getTaxedamount() != null) {
+ // 绋庡悗姹傜◣鍓�
+ Double taxationBefore = Double.valueOf(TaxtUtils.getTaxationBefore(BigDecimal.valueOf(serviceFunddetail.getTaxedamount())));
+ // 绋庨噾
+ String taxation = TaxtUtils.getTaxation(BigDecimal.valueOf(taxationBefore));
+ serviceFunddetail.setAmount(Double.valueOf(taxationBefore));
+ serviceFunddetail.setTaxamount(Double.parseDouble(taxation));
+ } else if (serviceFunddetail.getAmount() != 0.0 && serviceFunddetail.getAmount() != null) {
+ // 绋庡墠姹傜◣鍚�
+ 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());
+ }
+ taxBefore = taxBefore + serviceFunddetail.getAmount();
+ taxAfter = taxAfter + serviceFunddetail.getTaxedamount();
+ }
+ //灏嗙◣鍓嶃�佺◣鍚庨噾棰濇洿鏂板埌fund琛ㄤ腑
+ serviceFundVO.setPretaxcost(taxBefore);
+ serviceFundVO.setTaxedcost(taxAfter);
+ serviceFundService.updateById(serviceFundVO);
+ //灏嗚绠楀ソ鐨勬暟鎹紝淇濆瓨鍒癲etail琛ㄤ腑
serviceFunddetailService.saveBatch(serviceFunddetails);
return AjaxResult.success(id);
}
@@ -594,7 +624,7 @@
@PutMapping
@RepeatSubmit
public AjaxResult edit(@RequestBody ServiceFund serviceFund) {
- List<ServiceFund> infoByInfoIdList = serviceFundService.getInfoByInfoId(serviceFund.getId());
+ List<ServiceFund> infoByInfoIdList = serviceFundService.getInfoByInfoId(serviceFund.getInfoid());
for (ServiceFund sf : infoByInfoIdList) {
//濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�
if (sf.getBackflowlevel() == 100 || sf.getBackflowlevel() == 199) {
@@ -608,6 +638,7 @@
serviceFundService.updateById(sf);
return success();
} else {
+ serviceFund.setFlowlevel(sf.getBackflowlevel());
boolean bret = serviceFundService.updateById(serviceFund);
// if (bret) {
// addReiSharedDatd(serviceFund, 2);
@@ -646,7 +677,7 @@
Template t = null;
try {
//鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉�
- t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl");
+ t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl");
} catch (IOException e) {
e.printStackTrace();
}
@@ -687,7 +718,8 @@
dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? " " : serviceFund.getAttachcount());
dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
dataMap.put("JSR", serviceFund.getUsername() == null ? "" : serviceFund.getUsername());
- dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��");
+// dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��");
+ dataMap.put("FYXM1", "浜轰綋鍣ㄥ畼鎹愮尞涓撳鍔冲姟璐�:" + serviceFund.getTaxedcost() + "鍏� (鍏朵腑绋庡悗璐圭敤鐢变腑蹇冩壙鎷呯◣璐�)銆�");
dataMap.put("FYXM2", "");
dataMap.put("FYXM3", "");
dataMap.put("JEXS", serviceFund.getAmountrequested());
@@ -713,6 +745,7 @@
for (ServiceFunddetail f : fd) {
Map<String, Object> map = new HashMap<String, Object>();
+
map.put("XH", f.getItemcode() == null ? "" : f.getItemcode());
String itemName = f.getItemname() == null ? "" : f.getItemname();
String servicesscopename = f.getServicesscopename() == null ? "" : "(" + f.getServicesscopename() + ")";
@@ -734,12 +767,73 @@
newsList.add(map);
}
+ // 涓撳鍔冲姟璐圭粺璁¤〃
+ List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>();
+
+ List<Double> sqljList = new ArrayList<>();
+ List<Double> ksljList = new ArrayList<>();
+ List<Double> shljList = new ArrayList<>();
+
+ //鏍规嵁鈥濈鐩被鍨嬪悕绉扳�滐紝鏉ヨ绠楃◣鍓嶆�诲拰锛岀◣閲戞�诲拰,绋庡悗鎬诲拰
+ Map<String, ServiceFunddetailAssort> funddetailMap = new HashMap<>();
+ for (ServiceFunddetail serviceFunddetail : fd) {
+ boolean b = funddetailMap.containsKey(serviceFunddetail.getSubjecttypename());
+ if (b == true) {
+ ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename());
+ serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount());
+ serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount());
+ serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount());
+ } else {
+ funddetailMap.put(serviceFunddetail.getSubjecttypename(), new ServiceFunddetailAssort());
+ ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename());
+ serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount());
+ serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount());
+ serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount());
+ }
+ }
+
+ funddetailMap.forEach((FWFL, serviceFunddetailAssort) -> {
+ Map<String, Object> map1 = new HashMap<String, Object>();
+ map1.put("FWFL", FWFL);
+ map1.put("SQXJ", serviceFunddetailAssort.getSQXJ());
+ map1.put("KSXJ", serviceFunddetailAssort.getKSXJ());
+ map1.put("SHXJ", serviceFunddetailAssort.getSHXJ());
+ sqljList.add(serviceFunddetailAssort.getSQXJ());
+ ksljList.add(serviceFunddetailAssort.getKSXJ());
+ shljList.add(serviceFunddetailAssort.getSHXJ());
+ lists.add(map1);
+ });
+
+ double sqxj = 0;
+ double kslj = 0;
+ double shlj = 0;
+ for (Double sqx : sqljList) {
+ sqxj += sqx;
+ }
+ for (Double ksl : ksljList) {
+ kslj += ksl;
+ }
+ for (Double shl : shljList) {
+ shlj += shl;
+ }
+
+ //鏁版嵁灏佽
dataMap.put("list", newsList);
+ for (int i = 0; i < lists.size(); i++) {
+ Map<String, Object> map = lists.get(i);
+ map.put("XH", i + 1);
+ }
+
+ dataMap.put("item", lists);
dataMap.put("SQHJ", sq);
dataMap.put("KSHJ", ks);
dataMap.put("SHHJ", sh);
+ dataMap.put("SQLJ", sqxj);
+ dataMap.put("KSLJ", kslj);
+ dataMap.put("SHLJ", shlj);
+
}
--
Gitblit v1.9.3