From 734d20e43e27451a650e4eca7538dc5d5174b957 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 01 八月 2023 10:52:17 +0800
Subject: [PATCH] addnew方法变成addOrUpdateNew,并对逻辑进行修改
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | 75 ++++++++++++++-----------
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 63 +++++++++++++-------
2 files changed, 83 insertions(+), 55 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index 26873ed..5894b48 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -1,5 +1,6 @@
package com.ruoyi.web.controller.common;
+import org.apache.coyote.AbstractProtocol;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -7,44 +8,53 @@
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.framework.config.ServerConfig;
+import org.apache.catalina.connector.Connector;
+import org.apache.catalina.startup.Tomcat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+import javax.management.Query;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.lang.management.ManagementFactory;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.util.Set;
/**
* 閫氱敤璇锋眰澶勭悊
- *
+ *
* @author ruoyi
*/
@RestController
-public class CommonController
-{
+public class CommonController {
private static final Logger log = LoggerFactory.getLogger(CommonController.class);
@Autowired
private ServerConfig serverConfig;
+
/**
* 閫氱敤涓嬭浇璇锋眰
- *
+ *
* @param fileName 鏂囦欢鍚嶇О
- * @param delete 鏄惁鍒犻櫎
+ * @param delete 鏄惁鍒犻櫎
*/
@GetMapping("common/download")
- public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
- {
- try
- {
- if (!FileUtils.checkAllowDownload(fileName))
- {
+ public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) {
+ try {
+ if (!FileUtils.checkAllowDownload(fileName)) {
throw new Exception(StringUtils.format("鏂囦欢鍚嶇О({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
@@ -53,25 +63,22 @@
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
FileUtils.writeBytes(filePath, response.getOutputStream());
- if (delete)
- {
+ if (delete) {
FileUtils.deleteFile(filePath);
}
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
log.error("涓嬭浇鏂囦欢澶辫触", e);
}
}
+
/**
* 閫氱敤涓婁紶璇锋眰,type 涓�0 浠h〃鏄樊鏃呮姤閿�锛屼负1浠h〃璐圭敤鐢宠,鍏跺畠鍊间笉鍙�
*/
@PostMapping("/common/upload")
- public AjaxResult uploadFile(MultipartFile file) throws Exception
- {
- try
- {
+ public AjaxResult uploadFile(MultipartFile file) throws Exception {
+ int tomcatPort = getTomcatPort();
+ try {
// 涓婁紶鏂囦欢璺緞
String filePath = RuoYiConfig.getUploadPath();
// 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
@@ -81,25 +88,29 @@
ajax.put("fileName", fileName);
ajax.put("url", url);
return ajax;
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
+ private static int getTomcatPort() {
+ int port = 0;
+ Tomcat tomcat = new Tomcat();
+ Connector connector = tomcat.getConnector();
+ if (connector != null) {
+ AbstractProtocol protocol = (AbstractProtocol) connector.getProtocolHandler();
+ port = protocol.getPort();
+ }
+ return port;
+ }
/**
* 鏈湴璧勬簮閫氱敤涓嬭浇
*/
@GetMapping("/common/download/resource")
- public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
- throws Exception
- {
- try
- {
- if (!FileUtils.checkAllowDownload(resource))
- {
+ public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ try {
+ if (!FileUtils.checkAllowDownload(resource)) {
throw new Exception(StringUtils.format("璧勬簮鏂囦欢({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", resource));
}
// 鏈湴璧勬簮璺緞
@@ -111,9 +122,7 @@
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, downloadName);
FileUtils.writeBytes(downloadPath, response.getOutputStream());
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
log.error("涓嬭浇鏂囦欢澶辫触", e);
}
}
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 9c08f28..75d99f4 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
@@ -12,6 +12,7 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.tax.TaxtUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.*;
@@ -427,39 +428,57 @@
*/
@ApiOperation("鏂板璐圭敤姹囨��")
@Log(title = "鏂板璐圭敤姹囨��", businessType = BusinessType.INSERT)
- @PostMapping("/addnew")
+ @PostMapping("/addOrUpdateNew")
@RepeatSubmit
@Options(useGeneratedKeys = true, keyProperty = "id")
- public AjaxResult addnew(@RequestBody ServiceFundVO serviceFundVO) {
- boolean b = serviceFundService.save(serviceFundVO);
- Long id = serviceFundVO.getId();
-// if (b) {
-// addReiSharedDatd(serviceFundVO, 1);
-// }
+ public AjaxResult addOrUpdateNew(@RequestBody ServiceFundVO serviceFundVO) {
+ Long id = null;
+ if (serviceFundVO.getId() == null) {
+ boolean b = serviceFundService.save(serviceFundVO);
+ id = serviceFundVO.getId();
+ } else {
+ serviceFundService.updateById(serviceFundVO);
+ id = serviceFundVO.getId();
+ }
List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
-// 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) {
// 绋庡墠绋庡悗閮戒笉涓虹┖
+ if (serviceFunddetail.getId() == null) {
+ serviceFunddetailService.save(serviceFunddetail);
+ } else {
+ serviceFunddetailService.updateById(serviceFunddetail);
+ }
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));
+ // 绋庡悗姹傜◣鍓�,濡傛灉鏄笓瀹惰垂鐢宠 鎴� 鍋蜂笓瀹惰垂鐢宠 鎵嶄細璁$畻绋庡墠绋庡悗
+ if (StringUtils.isNotEmpty(serviceFunddetail.getApplytype()) && serviceFunddetail.getApplytype().equals("1") || serviceFunddetail.getApplytype().equals("2")) {
+ 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());
+ // 绋庡墠姹傜◣鍚�,濡傛灉鏄笓瀹惰垂鐢宠 鎴� 鍋蜂笓瀹惰垂鐢宠 鎵嶄細璁$畻绋庡墠绋庡悗
+ if (StringUtils.isNotEmpty(serviceFunddetail.getApplytype()) && serviceFunddetail.getApplytype().equals("1") || serviceFunddetail.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());
+ }
+ }
+
+ //鏍规嵁id鍒ゆ柇鏄柊澧炶繕鏄慨鏀�
+ if (serviceFunddetail.getId() == null) {
+ serviceFunddetailService.save(serviceFunddetail);
+ } else {
+ serviceFunddetailService.updateById(serviceFunddetail);
}
taxBefore = taxBefore + serviceFunddetail.getAmount();
taxAfter = taxAfter + serviceFunddetail.getTaxedamount();
@@ -468,8 +487,8 @@
serviceFundVO.setPretaxcost(taxBefore);
serviceFundVO.setTaxedcost(taxAfter);
serviceFundService.updateById(serviceFundVO);
- //灏嗚绠楀ソ鐨勬暟鎹紝淇濆瓨鍒癲etail琛ㄤ腑
- serviceFunddetailService.saveBatch(serviceFunddetails);
+// //灏嗚绠楀ソ鐨勬暟鎹紝淇濆瓨鍒癲etail琛ㄤ腑
+// serviceFunddetailService.saveBatch(serviceFunddetails);
return AjaxResult.success(id);
}
--
Gitblit v1.9.3