From d3b5c1badd7f652c4d629a97b0c95b06607bb849 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 30 十月 2026 15:52:57 +0800
Subject: [PATCH] 器管回款显示列表内容调整
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 144 insertions(+), 16 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
index 9b81e3c..e41c09b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
@@ -1,14 +1,22 @@
package com.ruoyi.web.controller.project;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.PageDomain;
import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.page.TableSupport;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.PageUtils;
+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.ServiceDonorchargeorgan;
+import com.ruoyi.project.domain.*;
+import com.ruoyi.project.domain.dto.OrganfeeExportDto;
import com.ruoyi.project.service.IServiceDonorchargeorganService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -18,6 +26,8 @@
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -39,19 +49,33 @@
* 鏌ヨ鎹愮尞鍣ㄥ畼鍒楄〃
*/
@ApiOperation("鏌ヨ鎹愮尞鍣ㄥ畼鍒楄〃")
- @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:list')")
+// // @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:list')")
@GetMapping("/list")
public TableDataInfo list(ServiceDonorchargeorgan serviceDonorchargeorgan) {
+ log.info("鏌ヨ鎹愮尞鍣ㄥ畼鍒楄〃鐨勫叆鍙傦細{}", serviceDonorchargeorgan);
startPage();
- List<ServiceDonorchargeorgan> list = serviceDonorchargeorganService.queryList(serviceDonorchargeorgan);
- return getDataTable(list);
+ List<ServiceDonorchargeorgan> list = null;
+ if (serviceDonorchargeorgan.getPaymentidIsNotNull()) {
+ list = serviceDonorchargeorganService.queryList(serviceDonorchargeorgan);
+ } else {
+ list = serviceDonorchargeorganService.queryListBypaymentidIsNull(serviceDonorchargeorgan);
+ }
+ List<ServiceDonorchargeorganVO> serviceDonorchargeorganVOList = DtoConversionUtils.sourceToTarget(list, ServiceDonorchargeorganVO.class);
+
+ for (ServiceDonorchargeorganVO serviceDonorchargeorganVO : serviceDonorchargeorganVOList) {
+ if (!StringUtils.isEmpty(serviceDonorchargeorganVO.getAnnexFiles())) {
+ List<RbDetailFile> rbDetailFiles = JSONArray.parseArray(serviceDonorchargeorganVO.getAnnexFiles(), RbDetailFile.class);
+ serviceDonorchargeorganVO.setAnnexFilesList(rbDetailFiles);
+ }
+ }
+ return getDataTable2(serviceDonorchargeorganVOList, list);
}
/**
* 瀵煎嚭鎹愮尞鍣ㄥ畼鍒楄〃
*/
@ApiOperation("瀵煎嚭鎹愮尞鍣ㄥ畼鍒楄〃")
- @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:export')")
+// // @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:export')")
@Log(title = "鎹愮尞鍣ㄥ畼", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(ServiceDonorchargeorgan serviceDonorchargeorgan) {
@@ -61,10 +85,82 @@
}
/**
+ * 瀵煎嚭鍣ㄥ畼璐圭敤鍒楄〃锛堟煡璇㈡潯浠朵笌鍒楄〃鎺ュ彛涓�鑷达紝鍚姤鍛婃棩鏈熷尯闂达級
+ */
+ @ApiOperation("瀵煎嚭鍣ㄥ畼璐圭敤鍒楄〃")
+ @Log(title = "鍣ㄥ畼璐圭敤", businessType = BusinessType.EXPORT)
+ @GetMapping("/exportOrganfee")
+ public AjaxResult exportOrganfee(ServiceDonorchargeorgan serviceDonorchargeorgan) {
+ log.info("瀵煎嚭鍣ㄥ畼璐圭敤鍒楄〃鐨勫叆鍙傦細{}", serviceDonorchargeorgan);
+ List<ServiceDonorchargeorgan> list = null;
+ if (Boolean.TRUE.equals(serviceDonorchargeorgan.getPaymentidIsNotNull())) {
+ list = serviceDonorchargeorganService.queryList(serviceDonorchargeorgan);
+ } else {
+ list = serviceDonorchargeorganService.queryListBypaymentidIsNull(serviceDonorchargeorgan);
+ }
+ List<OrganfeeExportDto> exportList = new ArrayList<>(list.size());
+ for (ServiceDonorchargeorgan serviceDonorchargeorganItem : list) {
+ OrganfeeExportDto exportDto = DtoConversionUtils.sourceToTarget(serviceDonorchargeorganItem, OrganfeeExportDto.class);
+ exportDto.setOrganStateName(organStateName(serviceDonorchargeorganItem.getOrganState()));
+ BigDecimal receivableBalance = receivableBalance(serviceDonorchargeorganItem.getOrgancharge(), serviceDonorchargeorganItem.getAmount());
+ exportDto.setReceivableBalance(receivableBalance);
+ exportDto.setPayStatus(payStatus(receivableBalance));
+ exportList.add(exportDto);
+ }
+ ExcelUtil<OrganfeeExportDto> util = new ExcelUtil<OrganfeeExportDto>(OrganfeeExportDto.class);
+ return util.exportExcel(exportList, "鍣ㄥ畼璐圭敤鏁版嵁");
+ }
+
+ /**
+ * 鍣ㄥ畼鐘舵�佸�艰浆鏂囨湰
+ */
+ private String organStateName(String organState) {
+ if (StringUtils.isEmpty(organState)) {
+ return "";
+ }
+ switch (organState) {
+ case "1":
+ return "绉绘";
+ case "2":
+ return "寮冪敤";
+ case "3":
+ return "搴撳瓨";
+ case "4":
+ return "澶卞姛";
+ case "5":
+ return "鐩寸郴鍏嶉櫎";
+ case "6":
+ return "涓嶈壇浜嬩欢";
+ default:
+ return organState;
+ }
+ }
+
+ /**
+ * 搴旀敹閲戦-瀹炴敹閲戦鐨勫樊棰濓紝搴旀敹閲戦涓虹┖鏃惰繑鍥� null
+ */
+ private BigDecimal receivableBalance(BigDecimal organcharge, BigDecimal amount) {
+ if (organcharge == null) {
+ return null;
+ }
+ return organcharge.subtract(amount == null ? BigDecimal.ZERO : amount);
+ }
+
+ /**
+ * 宸涓� 0 宸蹭粯锛屽叾瀹冩湭浠�
+ */
+ private String payStatus(BigDecimal receivableBalance) {
+ if (receivableBalance == null) {
+ return "";
+ }
+ return receivableBalance.compareTo(BigDecimal.ZERO) == 0 ? "宸蹭粯" : "鏈粯";
+ }
+
+ /**
* 鑾峰彇鎹愮尞鍣ㄥ畼璇︾粏淇℃伅
*/
@ApiOperation("鑾峰彇鎹愮尞鍣ㄥ畼璇︾粏淇℃伅")
- @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:query')")
+// // @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:query')")
@GetMapping(value = "/getInfo/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return AjaxResult.success(serviceDonorchargeorganService.getById(id));
@@ -74,23 +170,32 @@
* 鏂板鎹愮尞鍣ㄥ畼
*/
@ApiOperation("鏂板鎹愮尞鍣ㄥ畼")
- @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:add')")
+// // @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:add')")
@Log(title = "鎹愮尞鍣ㄥ畼", businessType = BusinessType.INSERT)
@PostMapping("/add")
@RepeatSubmit
- public AjaxResult add(@RequestBody ServiceDonorchargeorgan serviceDonorchargeorgan) {
- return toAjax(serviceDonorchargeorganService.save(serviceDonorchargeorgan));
+ public AjaxResult add(@RequestBody ServiceDonorchargeorganVO serviceDonorchargeorganvo) {
+ if (!CollectionUtils.isEmpty(serviceDonorchargeorganvo.getAnnexFilesList())) {
+ serviceDonorchargeorganvo.setAnnexFiles(JSON.toJSONString(serviceDonorchargeorganvo.getAnnexFilesList()));
+ }
+ ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonorchargeorganvo, ServiceDonorchargeorgan.class);
+ boolean save = serviceDonorchargeorganService.save(serviceDonorchargeorgan);
+ return AjaxResult.success(serviceDonorchargeorgan);
}
/**
* 淇敼鎹愮尞鍣ㄥ畼
*/
@ApiOperation("淇敼鎹愮尞鍣ㄥ畼")
- @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:edit')")
+// // @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:edit')")
@Log(title = "鎹愮尞鍣ㄥ畼", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@RepeatSubmit
- public AjaxResult edit(@RequestBody ServiceDonorchargeorgan serviceDonorchargeorgan) {
+ public AjaxResult edit(@RequestBody ServiceDonorchargeorganVO serviceDonorchargeorganVO) {
+ if (!CollectionUtils.isEmpty(serviceDonorchargeorganVO.getAnnexFilesList())) {
+ serviceDonorchargeorganVO.setAnnexFiles(JSON.toJSONString(serviceDonorchargeorganVO.getAnnexFilesList()));
+ }
+ ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonorchargeorganVO, ServiceDonorchargeorgan.class);
return toAjax(serviceDonorchargeorganService.updateById(serviceDonorchargeorgan));
}
@@ -98,7 +203,7 @@
* 鍒犻櫎鎹愮尞鍣ㄥ畼
*/
@ApiOperation("鍒犻櫎鎹愮尞鍣ㄥ畼")
- @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:remove')")
+// // @PreAuthorize("@ss.hasPermi('project:donorchargeorgan:remove')")
@Log(title = "鎹愮尞鍣ㄥ畼", businessType = BusinessType.DELETE)
@GetMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
@@ -109,19 +214,42 @@
@ApiOperation("鏂板鎴栦慨鏀规崘鐚櫒瀹�")
@Log(title = "鎹愮尞鍣ㄥ畼", businessType = BusinessType.UPDATE)
@PostMapping("/saveOrUpdateDonorchargeorgan")
- public AjaxResult saveOrUpdateDonorchargeorgan(@RequestBody List<ServiceDonorchargeorgan> serviceDonorchargeorganList) {
+ public AjaxResult saveOrUpdateDonorchargeorgan(@RequestBody List<ServiceDonorchargeorganVO> serviceDonorchargeorganList) {
if (CollectionUtils.isEmpty(serviceDonorchargeorganList)) {
throw new BaseException("璇锋鏌ラ渶瑕佹柊澧炴垨淇敼鐨勬崘鐚櫒瀹樺弬鏁版槸鍚﹀畬鏁�");
}
Boolean i = null;
- for (ServiceDonorchargeorgan serviceDonorchargeorgan : serviceDonorchargeorganList) {
- log.info("鎹愮尞鍣ㄥ畼id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonorchargeorgan.getId(), serviceDonorchargeorgan.getInfoid());
+ for (ServiceDonorchargeorganVO serviceDonorchargeorganVO : serviceDonorchargeorganList) {
+ log.info("鎹愮尞鍣ㄥ畼id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonorchargeorganVO.getId(), serviceDonorchargeorganVO.getInfoid());
+ ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonorchargeorganVO, ServiceDonorchargeorgan.class);
+ serviceDonorchargeorgan.setAnnexFiles(JSON.toJSONString(serviceDonorchargeorganVO.getAnnexFilesList()));
+ if (serviceDonorchargeorgan.getDel_flag() == null) {
+ serviceDonorchargeorgan.setDel_flag(0);
+ }
if (serviceDonorchargeorgan.getId() == null) {
i = serviceDonorchargeorganService.save(serviceDonorchargeorgan);
} else {
- i = serviceDonorchargeorganService.updateById(serviceDonorchargeorgan);
+ i = serviceDonorchargeorganService.updateDonorchargeorgan(serviceDonorchargeorgan);
}
}
return toAjax(i);
}
+
+ @ApiOperation("鏀惰垂缁熻")
+ @PostMapping("/getListBySpStatChange")
+ public TableDataInfo getListBySpStatChange(@RequestBody SpStatChangeReq spStatChangeReq) {
+ return getDataTable(serviceDonorchargeorganService.getListBySpStatChange(spStatChangeReq));
+ }
+
+ /**
+ * 瀵煎嚭鏀舵缁熻
+ */
+ @ApiOperation("瀵煎嚭鏀舵缁熻")
+ @Log(title = "鏀舵缁熻", businessType = BusinessType.EXPORT)
+ @GetMapping("/exportChange")
+ public AjaxResult exportChange(SpStatChangeReq spStatChangeReq) {
+ List<SpStatChange> list = serviceDonorchargeorganService.getListBySpStatChange(spStatChangeReq);
+ ExcelUtil<SpStatChange> util = new ExcelUtil<SpStatChange>(SpStatChange.class);
+ return util.exportExcel(list, "鏀舵缁熻鏁版嵁");
+ }
}
--
Gitblit v1.9.3