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