From 596834ce4e233130d61888128fe66a0c008543dd Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期二, 13 十月 2026 09:15:51 +0800
Subject: [PATCH] 修改了报销校验
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java | 94 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 75 insertions(+), 19 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
index 6c86822..e5f8163 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
@@ -1,19 +1,23 @@
package com.ruoyi.web.controller.project;
import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.annotation.NotRepeatCommit;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.OrganEnum;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
import com.ruoyi.project.domain.ServiceDonateorgan;
import com.ruoyi.project.domain.vo.DonationCompletionVO;
import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
+import com.ruoyi.project.service.IServiceDonatecomporganService;
import com.ruoyi.project.service.IServiceDonateorganService;
import freemarker.template.Configuration;
import freemarker.template.Template;
@@ -21,6 +25,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -46,6 +51,9 @@
@Autowired
private IServiceDonateorganService serviceDonateorganService;
+ @Autowired
+ private IServiceDonatecomporganService serviceDonatecomporganService;
+
private static Configuration configuration = null;
public ServiceDonatecompletioninfoController() {
@@ -57,7 +65,7 @@
* 鏌ヨ鎹愮尞瀹屾垚鍒楄〃
*/
@ApiOperation("鏌ヨ鎹愮尞瀹屾垚鍒楄〃")
- //@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:list')")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:list')")
@GetMapping("/list")
public TableDataInfo list(ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
log.info("鏌ヨ鎹愮尞瀹屾垚鍒楄〃锛歿}", serviceDonatecompletioninfo);
@@ -81,7 +89,7 @@
* 瀵煎嚭鎹愮尞瀹屾垚鍒楄〃
*/
@ApiOperation("瀵煎嚭鎹愮尞瀹屾垚鍒楄〃")
- //@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:export')")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:export')")
@Log(title = "鎹愮尞瀹屾垚", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
@@ -95,7 +103,7 @@
* 鑾峰彇鎹愮尞瀹屾垚璇︾粏淇℃伅
*/
@ApiOperation("閫氳繃id鑾峰彇鏌愪竴鏉℃崘鐚畬鎴愪俊鎭�")
- //@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:query')")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
log.info("閫氳繃id鑾峰彇鏌愪竴鏉℃崘鐚畬鎴愪俊鎭細{}", id);
@@ -106,14 +114,60 @@
* 鏂板鎹愮尞瀹屾垚
*/
@ApiOperation("鏂板鎹愮尞瀹屾垚")
- //@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:add')")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:add')")
@Log(title = "鎹愮尞瀹屾垚", businessType = BusinessType.INSERT)
- @PostMapping
+ @PostMapping("/add")
@RepeatSubmit(interval = 5000)
public AjaxResult add(@RequestBody ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
log.info("鏂板鎹愮尞瀹屾垚锛歿}", serviceDonatecompletioninfo);
serviceDonatecompletioninfoService.delDuplicateDonateCompletioninfo(serviceDonatecompletioninfo.getInfoid(), serviceDonatecompletioninfo.getCreateBy());
- return toAjax(serviceDonatecompletioninfoService.save(serviceDonatecompletioninfo));
+ boolean save = serviceDonatecompletioninfoService.save(serviceDonatecompletioninfo);
+ log.info("鏂板鎹愮尞瀹屾垚serviceDonatecompletioninfo鐨処D锛歿}", serviceDonatecompletioninfo.getId());
+ return AjaxResult.success(serviceDonatecompletioninfo);
+ }
+
+// /**
+// * 鏂板鎹愮尞瀹屾垚璇︽儏
+// */
+// @ApiOperation("鏂板鎹愮尞瀹屾垚璇︽儏")
+// //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:add')")
+// @Log(title = "鏂板鎹愮尞瀹屾垚璇︽儏", businessType = BusinessType.INSERT)
+// @PostMapping
+// @RepeatSubmit(interval = 5000)
+// public AjaxResult addDetail(@RequestBody ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
+// log.info("鏂板鎹愮尞瀹屾垚锛歿}", serviceDonatecompletioninfo);
+// serviceDonatecompletioninfoService.delDuplicateDonateCompletioninfo(serviceDonatecompletioninfo.getInfoid(), serviceDonatecompletioninfo.getCreateBy());
+// //鏂板donatecomporgan鏁版嵁
+// if (CollectionUtils.isNotEmpty(serviceDonatecompletioninfo.getServiceDonatecomporganList())) {
+// for (ServiceDonatecomporgan serviceDonatecomporgan : serviceDonatecompletioninfo.getServiceDonatecomporganList()) {
+// if (serviceDonatecomporgan.getInfoid() == null) {
+// throw new BaseException("璇锋鏌ユ崘鐚櫒瀹樼Щ妞嶄俊鎭紝鏄惁涓庢崘鐚熀纭�琛ㄨ繘琛屽叧鑱�");
+// }
+// serviceDonatecomporganService.save(serviceDonatecomporgan);
+// }
+// }
+// return toAjax(serviceDonatecompletioninfoService.save(serviceDonatecompletioninfo));
+// }
+
+ @RepeatSubmit
+ @ApiOperation("鏂板鎴栦慨鏀规崘鐚畬鎴�")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:edit')")
+ @Log(title = "鎹愮尞瀹屾垚", businessType = BusinessType.UPDATE)
+ @PostMapping("/saveOrUpdateDonatecompletioninfo")
+ public AjaxResult saveOrUpdateDonatecompletioninfo(@RequestBody List<ServiceDonatecompletioninfo> serviceDonatecompletioninfoList) {
+ if (CollectionUtils.isEmpty(serviceDonatecompletioninfoList)) {
+ throw new BaseException("璇锋鏌ラ渶瑕佹柊澧炴垨淇敼鐨勬崘鐚畬鎴愬弬鏁版槸鍚﹀畬鏁�");
+ }
+ Boolean i = null;
+ for (ServiceDonatecompletioninfo serviceDonatecompletioninfo : serviceDonatecompletioninfoList) {
+ log.info("鎹愮尞瀹屾垚id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonatecompletioninfo.getId(), serviceDonatecompletioninfo.getInfoid());
+ if (serviceDonatecompletioninfo.getId() == null) {
+ i = serviceDonatecompletioninfoService.save(serviceDonatecompletioninfo);
+ } else {
+ i = serviceDonatecompletioninfoService.updateById(serviceDonatecompletioninfo);
+ }
+ }
+ return toAjax(i);
}
/**
@@ -121,13 +175,16 @@
*/
@RepeatSubmit
@ApiOperation("淇敼鎹愮尞瀹屾垚")
- //@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:edit')")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:edit')")
@Log(title = "鎹愮尞瀹屾垚", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@RequestBody ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
ServiceDonatecompletioninfo serviceDonatecompletioninfo1 = new ServiceDonatecompletioninfo();
serviceDonatecompletioninfo1.setInfoid(serviceDonatecompletioninfo.getInfoid());
List<ServiceDonatecompletioninfo> list = serviceDonatecompletioninfoService.queryList(serviceDonatecompletioninfo1);
+ if (CollectionUtils.isEmpty(list)) {
+ return error("妗堜緥ID锛屽搴旂殑瀹屾垚鐧昏淇℃伅涓虹┖");
+ }
serviceDonatecompletioninfo.setId(list.get(0).getId());
return toAjax(serviceDonatecompletioninfoService.updateById(serviceDonatecompletioninfo));
}
@@ -136,7 +193,7 @@
* 鍒犻櫎鎹愮尞瀹屾垚
*/
@ApiOperation("鍒犻櫎鎹愮尞瀹屾垚")
- //@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:remove')")
+ //// @PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:remove')")
@Log(title = "鎹愮尞瀹屾垚", businessType = BusinessType.DELETE)
@GetMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
@@ -166,21 +223,20 @@
String name = "浜轰綋鍣ㄥ畼鎹愮尞瀹屾垚缁撴灉鐧昏琛╛" + dataMap.get("XM") + "_" + newTime;
//杈撳嚭鏂囨。璺緞鍙婂悕绉�
File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
- Writer out = null;
-
- try {
- out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"));
-
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
+ if (t == null) {
+ throw new ServiceException("妯℃澘鍔犺浇澶辫触锛岃妫�鏌ユā鏉挎枃浠舵槸鍚﹀瓨鍦�", HttpStatus.NO_CONTENT);
}
- try {
+
+ // Writer 蹇呴』鍏抽棴/鍒锋柊锛欱ufferedWriter 甯︾紦鍐诧紝涓嶅叧闂細閫犳垚鏂囦欢鍙ユ焺娉勬紡涓斿唴瀹瑰彲鑳戒笉瀹屾暣
+ try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) {
t.process(dataMap, out);
- } catch (TemplateException e) {
- e.printStackTrace();
+ } catch (TemplateException | IOException e) {
+ log.error("鐢熸垚妯℃澘鏂囨。澶辫触, name={}", name, e);
+ throw new ServiceException("鐢熸垚鏂囨。澶辫触", HttpStatus.ERROR);
}
Map<String, Object> map = new HashMap<>();
map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");
+ map.put("downloadName", name + ".doc");
return map;
}
--
Gitblit v1.9.3