24282 пре 8 месеци
родитељ
комит
a72a217eb8

+ 22 - 0
jy-business/src/main/java/com/jy/business/capital/controller/CapitalTransactionsController.java

@@ -1,8 +1,10 @@
 package com.jy.business.capital.controller;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jy.business.capital.model.dto.CapitalTransactionsDto;
 import com.jy.business.capital.model.dto.CapitalTransactionsSelectDto;
+import com.jy.business.capital.model.vo.CapitalTransactionsExportVo;
 import com.jy.business.capital.model.vo.CapitalTransactionsVo;
 import com.jy.business.capital.service.CapitalTransactionsService;
 import com.jy.framework.model.base.BaseSelectDto;
@@ -10,7 +12,9 @@ import com.jy.framework.model.validation.AddGroup;
 import com.jy.framework.model.validation.BatchDeleteGroup;
 import com.jy.framework.model.validation.DetailGroup;
 import com.jy.framework.model.validation.EditGroup;
+import com.jy.framework.utils.excel.ExcelUtil;
 import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -18,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 资金流水 前端控制器
@@ -31,6 +37,9 @@ import org.springframework.web.bind.annotation.RestController;
 public class CapitalTransactionsController {
 
     @Resource
+    private HttpServletResponse response;
+
+    @Resource
     private CapitalTransactionsService capitalTransactionsService;
 
     /**
@@ -42,6 +51,19 @@ public class CapitalTransactionsController {
     }
 
     /**
+     * 导出
+     */
+    @GetMapping("/excelExport")
+    public void excelExport(CapitalTransactionsSelectDto dto) {
+        dto.setSearchAll(true);
+        Page<CapitalTransactionsVo> page = getPage(dto);
+        List<CapitalTransactionsVo> records = page.getRecords();
+
+        List<CapitalTransactionsExportVo> list = BeanUtil.copyToList(records, CapitalTransactionsExportVo.class);
+        ExcelUtil.exportExcel(list, "资金流水", CapitalTransactionsExportVo.class, response);
+    }
+
+    /**
      * 资金流水明细
      */
     @GetMapping("/getDetail")

+ 100 - 0
jy-business/src/main/java/com/jy/business/capital/model/vo/CapitalTransactionsExportVo.java

@@ -0,0 +1,100 @@
+package com.jy.business.capital.model.vo;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jy.system.service.SysDictDataService;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.Map;
+
+@Getter
+@Setter
+@ExcelIgnoreUnannotated
+public class CapitalTransactionsExportVo {
+
+    private static final SysDictDataService sysDictDataService = SpringUtil.getBean(SysDictDataService.class);
+    private static final Map<Integer, String> targetTypeMap = sysDictDataService.getMapByCode("target_type");
+
+    /**
+     * 公司名称
+     */
+    @ExcelProperty("归属公司")
+    private String corporationName;
+
+    /**
+     * 账户别名
+     */
+    @ExcelProperty("资金账号")
+    private String accountAlias;
+
+    /**
+     * 交易时间
+     */
+    @ExcelProperty("交易时间")
+    private Date tradingTime;
+
+    /**
+     * 交易类型 1收入 0支出
+     */
+    private Integer type;
+
+    /**
+     * 交易类型 1收入 0支出
+     */
+    @ExcelProperty("交易类型")
+    private String typeStr;
+
+    /**
+     * 交易金额
+     */
+    @ExcelProperty("交易金额")
+    private BigDecimal amount;
+
+    /**
+     * 对方类型
+     */
+    private Integer targetType;
+
+    /**
+     * 对方类型
+     */
+    @ExcelProperty("对方类型")
+    private String targetTypeStr;
+
+    /**
+     * 对方账户名
+     */
+    @ExcelProperty("对方账户名")
+    private String targetAccountName;
+
+    /**
+     * 对方开户银行
+     */
+    @ExcelProperty("对方开户银行")
+    private String targetDepositBank;
+
+    /**
+     * 对方账号
+     */
+    @ExcelProperty("对方账号")
+    private String targetAccount;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty("摘要")
+    private String remark;
+
+    public String getTypeStr() {
+        return type == 1 ? "收入" : "支出";
+    }
+
+    public String getTargetTypeStr() {
+        return targetTypeMap.get(this.targetType);
+    }
+
+}

+ 1 - 1
jy-business/src/main/java/com/jy/business/payment/controller/PaymentRequestsController.java

@@ -56,7 +56,7 @@ public class PaymentRequestsController {
         Page<PaymentRequestsVo> page = getPage(dto);
         List<PaymentRequestsVo> records = page.getRecords();
         List<PaymentRequestsExportVo> list = BeanUtil.copyToList(records, PaymentRequestsExportVo.class);
-        ExcelUtil.exportExcel(list, "请款信息", PaymentRequestsExportVo.class, response);
+        ExcelUtil.exportExcel(list, "请款", PaymentRequestsExportVo.class, response);
     }
 
     /**

+ 6 - 0
jy-ui/src/api/business/capital/transactions.ts

@@ -1,11 +1,17 @@
 import request from '@/utils/request'
 import { PageType, StrAnyObj } from '@/typings'
+import download from "@/utils/download";
 
 // 资金流水分页
 export function getPageApi(params: StrAnyObj): Promise<PageType<StrAnyObj>> {
   return request.get('/capitalTransactions/getPage', params)
 }
 
+// 资金流水分页
+export function excelExportApi(params: StrAnyObj): Promise<void> {
+  return download.get('/capitalTransactions/excelExport', params)
+}
+
 // 资金流水明细
 export function getDetailApi(params: StrAnyObj): Promise<StrAnyObj> {
   return request.get('/capitalTransactions/getDetail', params)

+ 13 - 2
jy-ui/src/views/business/capital/transactions/index.vue

@@ -10,7 +10,8 @@ import {
   getDetailApi,
   addApi,
   editApi,
-  deleteApi
+  deleteApi,
+  excelExportApi
 } from '@/api/business/capital/transactions'
 import { getPageApi as getCapitalAccountPageApi } from '@/api/business/capital/account'
 import { getPageApi as getCorporationPageApi } from '@/api/business/corporation/corporation'
@@ -112,6 +113,16 @@ const toolbarConfig: ToolbarConfigType[] = [
     click() {
       handleRemove(selectKeys.value)
     }
+  },
+  {
+    text: '导出',
+    icon: 'Download',
+    type: 'primary',
+    click() {
+      excelExportApi(queryData.value).then(() => {
+        ElMessage.success('导出成功')
+      })
+    }
   }
 ]
 
@@ -129,7 +140,7 @@ const columnConfig: ColumnConfigType[] = [
     label: '交易时间'
   },
   {
-    prop: 'targetType',
+    prop: 'type',
     label: '交易类型',
     formatter(row) {
       return row.type == 1 ? '收入' : '支出'

+ 3 - 1
jy-ui/src/views/business/payment/requests/index.vue

@@ -153,7 +153,9 @@ const toolbarConfig: ToolbarConfigType[] = [
     icon: 'Download',
     type: 'primary',
     click() {
-      excelExportApi(queryData.value)
+      excelExportApi(queryData.value).then(() => {
+        ElMessage.success('导出成功')
+      })
     }
   }
 ]