24282 8 months ago
parent
commit
ba2618d6c4

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

@@ -1,9 +1,11 @@
 package com.jy.business.payment.controller;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jy.business.payment.model.dto.PaymentRequestsDto;
 import com.jy.business.payment.model.dto.PaymentRequestsSelectDto;
 import com.jy.business.payment.model.entity.PaymentRemit;
+import com.jy.business.payment.model.vo.PaymentRequestsExportVo;
 import com.jy.business.payment.model.vo.PaymentRequestsVo;
 import com.jy.business.payment.service.PaymentRequestsService;
 import com.jy.flow.model.dto.RetrieveDto;
@@ -53,7 +55,8 @@ public class PaymentRequestsController {
         dto.setSearchAll(true);
         Page<PaymentRequestsVo> page = getPage(dto);
         List<PaymentRequestsVo> records = page.getRecords();
-        ExcelUtil.exportExcel(records, "请款信息", PaymentRequestsVo.class, response);
+        List<PaymentRequestsExportVo> list = BeanUtil.copyToList(records, PaymentRequestsExportVo.class);
+        ExcelUtil.exportExcel(list, "请款信息", PaymentRequestsExportVo.class, response);
     }
 
     /**

+ 130 - 0
jy-business/src/main/java/com/jy/business/payment/model/vo/PaymentRequestsExportVo.java

@@ -0,0 +1,130 @@
+package com.jy.business.payment.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.util.Date;
+import java.util.Map;
+
+/**
+ * 请款列表查询返回值实体
+ *
+ * @author
+ * @since 2024-10-18
+ */
+@Getter
+@Setter
+@ExcelIgnoreUnannotated
+public class PaymentRequestsExportVo {
+
+    private static final SysDictDataService sysDictDataService = SpringUtil.getBean(SysDictDataService.class);
+    private static final Map<Integer, String> paymentRequestsTypeMap = sysDictDataService.getMapByCode("payment_requests_type");
+    private static final Map<Integer, String> payTypeMap = sysDictDataService.getMapByCode("pay_type");
+
+    /**
+     * 归属公司
+     */
+    @ExcelProperty("归属公司")
+    private String corporationName;
+
+    /**
+     * 归属部门
+     */
+    @ExcelProperty("归属部门")
+    private String deptName;
+
+    /**
+     * 请款类型
+     */
+    private Integer type;
+
+    /**
+     * 请款类型
+     */
+    @ExcelProperty("请款类型")
+    private String typeStr;
+
+    /**
+     * 请款人
+     */
+    @ExcelProperty("请款人")
+    private String userName;
+
+    /**
+     * 创建时间
+     */
+    @ExcelProperty("请款时间")
+    private Date createTime;
+
+    /**
+     * 用款时间
+     */
+    @ExcelProperty("用款时间")
+    private Date useTime;
+
+    /**
+     * 用款说明
+     */
+    @ExcelProperty("用款说明")
+    private String useRemark;
+
+    /**
+     * 请款金额
+     */
+    @ExcelProperty("请款金额")
+    private String totalAmount;
+
+    /**
+     * 付款方式
+     */
+    private Integer payType;
+
+    /**
+     * 付款方式
+     */
+    @ExcelProperty("付款方式")
+    private String payTypeStr;
+
+    /**
+     * 付款账户
+     */
+    @ExcelProperty("付款账户")
+    private String capitalAccountName;
+
+    /**
+     * 放款状态
+     */
+    private Integer paymentStatus;
+
+    /**
+     * 放款状态
+     */
+    @ExcelProperty("放款状态")
+    private String paymentStatusStr;
+
+    public String getTypeStr() {
+        return paymentRequestsTypeMap.get(this.type);
+    }
+
+    public String getPayTypeStr() {
+        return payTypeMap.get(this.payType);
+    }
+
+    public String getPaymentStatusStr() {
+        return switch (this.paymentStatus) {
+            case 0:
+                yield "未打款";
+            case 1:
+                yield "部分打款";
+            case 2:
+                yield "已打款";
+            default:
+                yield "";
+        };
+    }
+
+}

+ 3 - 0
jy-system/src/main/java/com/jy/system/service/SysDictDataService.java

@@ -7,6 +7,7 @@ import com.jy.system.model.vo.SysDictDataCacheVo;
 import com.jy.system.model.vo.SysDictDataVo;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -48,4 +49,6 @@ public interface SysDictDataService {
      */
     List<SysDictDataCacheVo> getListByCode(String code);
 
+    Map<Integer,String> getMapByCode(String code);
+
 }

+ 7 - 0
jy-system/src/main/java/com/jy/system/service/impl/SysDictDataServiceImpl.java

@@ -18,7 +18,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -110,4 +112,9 @@ public class SysDictDataServiceImpl implements SysDictDataService {
         return LockUtil.cacheLock(RedisKey.getDict(code), () -> sysDictDataDao.getDictDataCacheVoListByCode(code));
     }
 
+    @Override
+    public Map<Integer, String> getMapByCode(String code) {
+        return getListByCode(code).stream().collect(Collectors.toMap(SysDictDataCacheVo::getValue, SysDictDataCacheVo::getLabel));
+    }
+
 }