From 8c215c8be0f5076e8c95daf1b2203440ca7dfcad Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 23 十月 2026 13:42:50 +0800
Subject: [PATCH] 修改了报销校验
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java | 57 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 43 insertions(+), 14 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
index 9d600a5..167f43d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
@@ -7,10 +7,13 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.FunddetailReqVo;
import com.ruoyi.project.domain.ServiceFunddetail;
import com.ruoyi.project.domain.SpStatBonusReq;
+import com.ruoyi.project.domain.vo.TaxMoneyByItemEO;
+import com.ruoyi.project.domain.vo.TaxMoneySumEO;
import com.ruoyi.project.domain.vo.TaxMoneyVO;
import com.ruoyi.project.service.IServiceFunddetailService;
import io.swagger.annotations.Api;
@@ -19,8 +22,10 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import java.util.Arrays;
-import java.util.List;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.TemporalAdjusters;
+import java.util.*;
/**
* 璐圭敤鐢宠鏄庣粏Controller
@@ -41,7 +46,7 @@
* 鏌ヨ璐圭敤鐢宠鏄庣粏鍒楄〃
*/
@ApiOperation("鏌ヨ璐圭敤鐢宠鏄庣粏鍒楄〃")
- //@PreAuthorize("@ss.hasPermi('project:funddetail:list')")
+ //// @PreAuthorize("@ss.hasPermi('project:funddetail:list')")
@GetMapping("/list")
public TableDataInfo list(ServiceFunddetail serviceFunddetail) {
startPage();
@@ -54,7 +59,7 @@
* 瀵煎嚭璐圭敤鐢宠鏄庣粏鍒楄〃
*/
@ApiOperation("瀵煎嚭璐圭敤鐢宠鏄庣粏鍒楄〃")
- //@PreAuthorize("@ss.hasPermi('project:funddetail:export')")
+ //// @PreAuthorize("@ss.hasPermi('project:funddetail:export')")
@Log(title = "璐圭敤鐢宠鏄庣粏", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(ServiceFunddetail serviceFunddetail) {
@@ -67,7 +72,7 @@
* 鑾峰彇璐圭敤鐢宠鏄庣粏璇︾粏淇℃伅
*/
@ApiOperation("鑾峰彇璐圭敤鐢宠鏄庣粏璇︾粏淇℃伅")
- //@PreAuthorize("@ss.hasPermi('project:funddetail:query')")
+ //// @PreAuthorize("@ss.hasPermi('project:funddetail:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return AjaxResult.success(serviceFunddetailService.getById(id));
@@ -77,11 +82,18 @@
* 鏂板璐圭敤鐢宠鏄庣粏
*/
@ApiOperation("鏂板璐圭敤鐢宠鏄庣粏")
- //@PreAuthorize("@ss.hasPermi('project:funddetail:add')")
+ //// @PreAuthorize("@ss.hasPermi('project:funddetail:add')")
@Log(title = "璐圭敤鐢宠鏄庣粏", businessType = BusinessType.INSERT)
@PostMapping("/add")
@NotRepeatCommit(key = "param:arg[1]", value = 30000)
public AjaxResult add(@RequestBody ServiceFunddetail serviceFunddetail) {
+ // 2026-10-15锛氶檮浠舵枃浠跺悕瑙勮寖浜屾鏍¢獙锛堜笌鍓嶇 opo-web/src/utils/fileNameCheck.js 鍚屽彛寰勶紝
+ // 鐩殑鏄槻姝㈢粫杩囧墠绔洿鎺ヨ皟鎺ュ彛淇濆瓨涓嶅悎瑙勯檮浠跺悕锛夈�傛柊澧炲満鏅病鏈夊巻鍙查檮浠讹紝鐢ㄤ弗鏍兼ā寮忋��
+ String nameError = com.ruoyi.project.common.AttachmentNameValidator
+ .checkJsonList(serviceFunddetail.getInvoicefiles(), serviceFunddetail.getAnnexfiles());
+ if (nameError != null) {
+ return AjaxResult.error("闄勪欢鏂囦欢鍚嶄笉绗﹀悎瑕佹眰锛屾棤娉曚繚瀛橈細" + nameError);
+ }
boolean save = serviceFunddetailService.save(serviceFunddetail);
return AjaxResult.success(serviceFunddetail);
}
@@ -90,12 +102,30 @@
* 淇敼璐圭敤鐢宠鏄庣粏
*/
@ApiOperation("淇敼璐圭敤鐢宠鏄庣粏")
- //@PreAuthorize("@ss.hasPermi('project:funddetail:edit')")
+ //// @PreAuthorize("@ss.hasPermi('project:funddetail:edit')")
@Log(title = "璐圭敤鐢宠鏄庣粏", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@NotRepeatCommit(key = "param:arg[1]", value = 30000)
public AjaxResult edit(@RequestBody ServiceFunddetail serviceFunddetail) {
log.info("淇敼鐨勬暟鎹俊鎭細{}", serviceFunddetail);
+ // 2026-10-15锛氶檮浠舵枃浠跺悕瑙勮寖浜屾鏍¢獙銆備慨鏀瑰満鏅寜涓氬姟鍙e緞"鍙牎楠屾湰娆″彉鏇寸殑闄勪欢"锛�
+ // 淇濆瓨鍓嶈鏄庣粏宸插瓨鍦ㄧ殑鍘嗗彶闄勪欢鍚嶄笉鍙備笌鏍¢獙锛屽惁鍒欒�佸崟鎹紙鍘嗗彶涓嶅悎瑙勫悕鍗犳瘮寰堥珮锛夋敼涓噾棰濋兘瀛樹笉杩涘幓銆�
+ java.util.Set<String> existingNames = new java.util.HashSet<>();
+ if (serviceFunddetail.getId() != null) {
+ ServiceFunddetail oldDetail = serviceFunddetailService.getById(serviceFunddetail.getId());
+ if (oldDetail != null) {
+ existingNames.addAll(com.ruoyi.project.common.AttachmentNameValidator
+ .collectNames(oldDetail.getInvoicefiles()));
+ existingNames.addAll(com.ruoyi.project.common.AttachmentNameValidator
+ .collectNames(oldDetail.getAnnexfiles()));
+ }
+ }
+ String nameError = com.ruoyi.project.common.AttachmentNameValidator
+ .checkJsonListForUpdate(existingNames, serviceFunddetail.getInvoicefiles(),
+ serviceFunddetail.getAnnexfiles());
+ if (nameError != null) {
+ return AjaxResult.error("闄勪欢鏂囦欢鍚嶄笉绗﹀悎瑕佹眰锛屾棤娉曚繚瀛橈細" + nameError);
+ }
return toAjax(serviceFunddetailService.updateById(serviceFunddetail));
}
@@ -103,7 +133,7 @@
* 鍒犻櫎璐圭敤鐢宠鏄庣粏
*/
@ApiOperation("鍒犻櫎璐圭敤鐢宠鏄庣粏")
- //@PreAuthorize("@ss.hasPermi('project:funddetail:remove')")
+ //// @PreAuthorize("@ss.hasPermi('project:funddetail:remove')")
@Log(title = "璐圭敤鐢宠鏄庣粏", businessType = BusinessType.DELETE)
@GetMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
@@ -160,11 +190,11 @@
return AjaxResult.success(serviceFunddetailService.getFundDetail(id));
}
- @ApiOperation("鏍规嵁鏉′欢绠楃◣")
- @PostMapping("/calculateTax")
- public AjaxResult calculateTax(@RequestBody List<ServiceFunddetail> serviceFunddetails) {
- return AjaxResult.success(serviceFunddetailService.calculateTax(serviceFunddetails));
- }
+// @ApiOperation("鏍规嵁鏉′欢绠楃◣")
+// @PostMapping("/calculateTax")
+// public AjaxResult calculateTax(@RequestBody List<ServiceFunddetail> serviceFunddetails) {
+// return AjaxResult.success(serviceFunddetailService.calculateTax2(serviceFunddetails));
+// }
// /**
// * 缁╂晥璁$畻
@@ -185,7 +215,6 @@
* 鏌ヨ缁╂晥濂栭噾缁熻
*/
@ApiOperation("鏌ヨ缁╂晥濂栭噾缁熻")
- //@PreAuthorize("@ss.hasPermi('project:fund:list')")
@PostMapping("/getListBySpStatBonus")
public TableDataInfo getListBySpStatBonus(@RequestBody SpStatBonusReq spStatBonusReq) {
startPage();
--
Gitblit v1.9.3