浏览代码

Merge remote-tracking branch 'origin/master'

master
chenchaod 2 天前
父节点
当前提交
feea101dd0
共有 19 个文件被更改,包括 464 次插入133 次删除
  1. 39
    11
      gly-base-core/src/main/java/cn/com/taiji/core/entity/settle/mobilepay/MobilePayInpNotice.java
  2. 18
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/settle/mobilepay/MobilePayOutNotice.java
  3. 1
    1
      gly-base-core/src/main/java/cn/com/taiji/core/entity/settle/report/EtcTollConfirmZfb.java
  4. 4
    5
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/settle/mobilepay/MobilePayInpNoticeRepo.java
  5. 7
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/settle/mobilepay/MobilePayOutNoticeRepo.java
  6. 4
    4
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/api/report/EtcTollConfirmAgencyController.java
  7. 4
    3
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/api/report/EtcTollConfirmZfbController.java
  8. 64
    0
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmAgencyDTO.java
  9. 18
    0
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmAgencyEditDTO.java
  10. 94
    0
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmZfbDTO.java
  11. 20
    0
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmZfbEditDTO.java
  12. 1
    11
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/mobliepay/MobilePayInpNoticeManagerImpl.java
  13. 3
    3
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmAgencyManager.java
  14. 51
    35
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmAgencyManagerImpl.java
  15. 3
    3
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmZfbManager.java
  16. 68
    50
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmZfbManagerImpl.java
  17. 6
    1
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/model/report/EtcTollConfirmAgencyPageRequestDTO.java
  18. 54
    0
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/vo/report/EtcTollConfirmAgencyVo.java
  19. 5
    6
      zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/vo/report/EtcTollConfirmZfbVo.java

+ 39
- 11
gly-base-core/src/main/java/cn/com/taiji/core/entity/settle/mobilepay/MobilePayInpNotice.java 查看文件

package cn.com.taiji.core.entity.settle.mobilepay; package cn.com.taiji.core.entity.settle.mobilepay;


import cn.com.taiji.core.entity.settle.AbstractUUIDEntity; import cn.com.taiji.core.entity.settle.AbstractUUIDEntity;
import cn.com.taiji.core.entity.settle.notice.InpTransNotice;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;


@Entity @Entity
@Table(name = "settle_mobile_pay_inp_notice") @Table(name = "settle_mobile_pay_inp_notice")
public class MobilePayInpNotice extends AbstractUUIDEntity { public class MobilePayInpNotice extends AbstractUUIDEntity {
//清分日期
@Column(name = "clear_date")
private String clearDate;

//清分月份
@Column(name = "CLEAR_MONTH")
private String clearMonth;
//UP上半月、DOWN下半月
@Column(name = "clear_type")
private String clearType;

//清分开始日期
@Column(name = "START_CLEAR_DATE")
private String startClearDate;
// 清分截止日期
@Column(name = "END_CLEAR_DATE")
private String endClearDate;


//交易数量 //交易数量
@Column(name = "count")
@Column(name = "COUNT")
private Long count; private Long count;


//交易金额 //交易金额
@Column(name = "amount")
@Column(name = "AMOUNT")
private Long amount; private Long amount;


//银行收款交易数量 //银行收款交易数量
@Column(name = "cash_count")
@Column(name = "CASH_COUNT")
private Long cashCount; private Long cashCount;


//银行收款交易金额 //银行收款交易金额
@Column(name = "cash_amount")
@Column(name = "CASH_AMOUNT")
private Long cashAmount; private Long cashAmount;


//付款单是否生成 //付款单是否生成
@Column(name = "pay_bill")
@Column(name = "PAY_BILL")
private boolean payBill = false; private boolean payBill = false;


//付款单生成时间 //付款单生成时间
@Column(name = "pay_bill_time")
@Column(name = "PAY_BILL_TIME")
private LocalDateTime payBillTime; private LocalDateTime payBillTime;


//付款单文件路径 //付款单文件路径
@Column(name = "pay_bill_url")
@Column(name = "PAY_BILL_URL")
private String payBillUrl; private String payBillUrl;


//是否生成文件
@Column(name = "DATA_FILE")
private boolean dataFile = false;
//文件生成时间
@Column(name = "DATA_FILE_TIME")
private LocalDateTime dataFileTime;
//文件路径
@Column(name = "DATA_FILE_URL")
private String dataFileUrl;



public MobilePayInpNotice savePayBill(String url){ public MobilePayInpNotice savePayBill(String url){
this.setPayBill(true); this.setPayBill(true);
this.setPayBillUrl(url); this.setPayBillUrl(url);
this.setPayBillTime(LocalDateTime.now()); this.setPayBillTime(LocalDateTime.now());
// this.setPayBillId(payBillId);
return this;
}

public MobilePayInpNotice saveDataFile(String url){
this.setDataFile(true);
this.setDataFileUrl(url);
this.setDataFileTime(LocalDateTime.now());
return this; return this;
} }
} }

+ 18
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/settle/mobilepay/MobilePayOutNotice.java 查看文件

@Column(name = "pay_bill_url") @Column(name = "pay_bill_url")
private String payBillUrl; private String payBillUrl;


//是否生成文件
@Column(name = "data_file")
private boolean dataFile = false;
//文件生成时间
@Column(name = "data_file_time")
private LocalDateTime dataFileTime;
//文件路径
@Column(name = "data_file_url")
private String dataFileUrl;

public MobilePayOutNotice saveDataFile(String url){
this.setDataFile(true);
this.setDataFileUrl(url);
this.setDataFileTime(LocalDateTime.now());
return this;
}


public MobilePayOutNotice savePayBill(String url){ public MobilePayOutNotice savePayBill(String url){
this.setPayBill(true); this.setPayBill(true);
this.setPayBillUrl(url); this.setPayBillUrl(url);

+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/settle/report/EtcTollConfirmZfb.java 查看文件

@Column(name = "initial_num") @Column(name = "initial_num")
private Long initialNum;//期初数 private Long initialNum;//期初数
@Column(name = "validate_num") @Column(name = "validate_num")
private Long validateNum;//校验
private String validateNum;//校验
@Column(name = "update_time") @Column(name = "update_time")
private LocalDateTime updateTime;//更新时间 private LocalDateTime updateTime;//更新时间
} }

+ 4
- 5
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/settle/mobilepay/MobilePayInpNoticeRepo.java 查看文件



import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.settle.mobilepay.MobilePayInpNotice; import cn.com.taiji.core.entity.settle.mobilepay.MobilePayInpNotice;
import cn.com.taiji.core.entity.settle.notice.InpTransNotice;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;


import java.util.List; import java.util.List;
*/ */
public interface MobilePayInpNoticeRepo extends AbstractJpaRepo<MobilePayInpNotice, String> { public interface MobilePayInpNoticeRepo extends AbstractJpaRepo<MobilePayInpNotice, String> {


MobilePayInpNotice findByClearDate(String clearDate);
// 省内清分方式 上半月: 1-15 日 下半月: 16-月底
@Query(" from MobilePayInpNotice where clearType = ?1 and clearMonth = ?2")
MobilePayInpNotice findBy(String clearType, String clearMonth);


@Query("from MobilePayInpNotice where clearDate between ?1 and ?2")
List<MobilePayInpNotice> listByBetweenClearDate(String startClearDate, String endClearDate);

// List<MobilePayInpNotice> findByPayBillId(String payBillId);
} }

+ 7
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/settle/mobilepay/MobilePayOutNoticeRepo.java 查看文件



import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.settle.mobilepay.MobilePayOutNotice; import cn.com.taiji.core.entity.settle.mobilepay.MobilePayOutNotice;
import cn.com.taiji.core.entity.settle.notice.OutTransNotice;
import org.springframework.data.jpa.repository.Query;

import java.util.List;


/** /**
* @author nieqiongqiong * @author nieqiongqiong


MobilePayOutNotice findByClearDate(String clearDate); MobilePayOutNotice findByClearDate(String clearDate);


@Query(" from MobilePayOutNotice where clearDate >= ?1 and clearDate <= ?2 order by clearDate asc")
List<MobilePayOutNotice> listBy(String startClearDate, String endClearDate);

} }

+ 4
- 4
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/api/report/EtcTollConfirmAgencyController.java 查看文件

import cn.com.taiji.common.model.dao.Pagination; import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.web.ApiResponse; import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.settlew.api.MyValidController; import cn.com.taiji.settlew.api.MyValidController;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmAgencyEditDTO;
import cn.com.taiji.settlew.manager.report.EtcTollConfirmAgencyManager; import cn.com.taiji.settlew.manager.report.EtcTollConfirmAgencyManager;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyPageRequestDTO; import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyPageRequestDTO;
import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyViewResponse;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;


/** /**
* @description:
* @description: ETC通行费确认单(渠道) 接口
* @author: wangyan * @author: wangyan
* @date Created in 2025/05/07 15:59 * @date Created in 2025/05/07 15:59
*/ */
} }
@ApiOperation("修改") @ApiOperation("修改")
@PostMapping("/edit") @PostMapping("/edit")
public ApiResponse<Void> edit(@Validated @RequestBody EtcTollConfirmAgencyViewResponse req) throws ManagerException {
manager.edit(req);
public ApiResponse<Void> edit(@Validated @RequestBody EtcTollConfirmAgencyEditDTO dto) throws ManagerException {
manager.edit(dto);
return ApiResponse.success(); return ApiResponse.success();
} }



+ 4
- 3
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/api/report/EtcTollConfirmZfbController.java 查看文件

import cn.com.taiji.common.model.dao.Pagination; import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.web.ApiResponse; import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.settlew.api.MyValidController; import cn.com.taiji.settlew.api.MyValidController;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmZfbEditDTO;
import cn.com.taiji.settlew.manager.report.EtcTollConfirmZfbManager; import cn.com.taiji.settlew.manager.report.EtcTollConfirmZfbManager;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbPageRequestDTO; import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbPageRequestDTO;
import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbViewResponse;
import cn.com.taiji.settlew.vo.report.EtcTollConfirmZfbVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
} }
@ApiOperation("修改") @ApiOperation("修改")
@PostMapping("/edit") @PostMapping("/edit")
public ApiResponse<Void> edit(@Validated @RequestBody EtcTollConfirmZfbViewResponse req) throws ManagerException {
manager.edit(req);
public ApiResponse<Void> edit(@Validated @RequestBody EtcTollConfirmZfbEditDTO editDTO) throws ManagerException {
manager.edit(editDTO);
return ApiResponse.success(); return ApiResponse.success();
} }



+ 64
- 0
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmAgencyDTO.java 查看文件

package cn.com.taiji.settlew.dto.report;

import cn.com.taiji.common.model.BaseDTO;
import lombok.Data;

/**
* ETC通行费确认单 - 渠道
* @Author jiangsong
* @create 2025/9/20
*/
@Data
public class EtcTollConfirmAgencyDTO extends BaseDTO {
//交易时间
private String transDate;
//ETC资金渠道名称
private String agencyName;
//卡类型
private String cardType;

//产品名称
private String productName;
//结算组负责人
private String settlementManager;

//截止上月最后一天未支付金额
private Long lastMonthFee;
//其他货币资金商户号未到账余额(上月)
private Long lastMonthOther;
//商务卡未到账余额(上月)
private Long lastMonthSwk;

//当月交易金额
private Long currentMonthFee;

//银行实际收款金额
private Long bankCollection;
//渠道费金额
private Long agencyFee;
//其他货币资金商户号未到账余额
private Long otherWdzFee;
//商务卡未到账余额
private Long swkFee;

//当月收款合计 = 银行实际收款金额 + 渠道费金额 + 其他货币资金商户号未到账余额 + 商务卡未到账余额
private Long currentTollFee;

public Long getCurrentTollFee() {
return (bankCollection == null ? 0L : bankCollection) +
(agencyFee == null ? 0L : agencyFee) +
(otherWdzFee == null ? 0L : otherWdzFee) +
(swkFee == null ? 0L : swkFee);
}

//截止当月最后一天未支付金额 = 截止上月最后一天未支付金额 + 其他货币资金商户号未到账余额(上月) + 商务卡未到账余额(上月)
private Long currentWzfFee;
public Long getCurrentWzfFee() {
return (lastMonthFee == null ? 0L : lastMonthFee) +
(lastMonthOther == null ? 0L : lastMonthOther) +
(lastMonthSwk == null ? 0L : lastMonthSwk);
}
//备注
private String remark;

}

+ 18
- 0
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmAgencyEditDTO.java 查看文件

package cn.com.taiji.settlew.dto.report;

import cn.com.taiji.common.model.BaseDTO;
import lombok.Data;

/**
* ETC通行费确认单 - 编辑 - 渠道
* @Author jiangsong
* @create 2025/9/20
*/
@Data
public class EtcTollConfirmAgencyEditDTO extends BaseDTO {
//商务卡未到账余额
private Long swkFee;
// 备注
private String remark;

}

+ 94
- 0
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmZfbDTO.java 查看文件

package cn.com.taiji.settlew.dto.report;

import cn.com.taiji.common.model.BaseDTO;
import lombok.Data;

import java.time.LocalDateTime;

/**
* ETC通行费确认单 - 支付宝
* @Author jiangsong
* @create 2025/9/20
*/
@Data
public class EtcTollConfirmZfbDTO extends BaseDTO {

//统计日期
private String statisticalDate;

//============= 交易金额 - 开始 ==========
//在线支付
private Long transOnline;
//转账
private Long transZz;
//退款
private Long transRefund;
//退转账
private Long transZzRefund;
//现金退回
private Long transCashRefund;

//公式 - 合计 = 在线支付 + 转账 - 退款 - 退转账 - 现金退回
private Long transToll;

public Long getTransToll() {
return (transOnline == null ? 0L : transOnline) +
(transZz == null ? 0L : transZz) -
(transRefund == null ? 0L : transRefund) -
(transZzRefund == null ? 0L : transZzRefund) -
(transCashRefund == null ? 0L : transCashRefund);
}
//============= 交易金额 - 结束 ==========


//============= 银行收款 - 开始 ===========
//银行收款 - 来源于网银 , 参考银行流水明细 , 根据备注区分
private Long bankCollection;
// 银行合计 = 银行收款
private Long bankToll;

public Long getBankToll() {
return bankCollection;
}
//============= 银行收款 - 结束===========


//============= 手续费 - 开始 ===========
//收费
private Long handlingFee;
//退收费
private Long handlingRefund;
//手续费合计 = 收费 - 退收费
private Long handlingToll;

public Long getHandlingToll() {
return (handlingFee == null ? 0L : handlingFee) -
(handlingRefund == null ? 0L : handlingRefund);
}
//============= 手续费 - 结束===========


//============= 余额 - 开始 ===========

//商户号已提现银行未达收款额 # 一般为 0 ,如果有数据,需要人工填报
private Long balanceWd;
//支付宝余额
private Long balanceZfb;
//未到账合计 = 商户号已提现银行未达收款额 + 支付宝余额
private Long wdzToll;

public Long getWdzToll() {
return (balanceWd == null ? 0L : balanceWd) -
(balanceZfb == null ? 0L : balanceZfb);
}

//============= 余额 - 结束 ===========

//期初数 - 来源于支付宝
private Long initialNum;
//校验
private String validateNum;

private LocalDateTime insertTime;
private LocalDateTime updateTime;
}

+ 20
- 0
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/dto/report/EtcTollConfirmZfbEditDTO.java 查看文件

package cn.com.taiji.settlew.dto.report;

import cn.com.taiji.common.model.BaseDTO;
import lombok.Data;

/**
* ETC通行费确认单 - 支付宝 编辑信息
* @Author jiangsong
* @create 2025/9/20
*/
@Data
public class EtcTollConfirmZfbEditDTO extends BaseDTO {
//银行收款 - 来源于网银 , 参考银行流水明细 , 根据备注区分
private Long bankCollection;
//商户号已提现银行未达收款额 # 一般为 0 ,如果有数据,需要人工填报
private Long balanceWd;
//期初数 - 来源于支付宝
private Long initialNum;

}

zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/mobliepay/MobileInpNoticeManagerImpl.java → zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/mobliepay/MobilePayInpNoticeManagerImpl.java 查看文件

import cn.com.taiji.core.entity.dict.BucketFileBus; import cn.com.taiji.core.entity.dict.BucketFileBus;
import cn.com.taiji.core.entity.settle.mobilepay.MobilePayInpNotice; import cn.com.taiji.core.entity.settle.mobilepay.MobilePayInpNotice;
import cn.com.taiji.core.entity.settle.mobilepay.MobilePayInpNoticeDetail; import cn.com.taiji.core.entity.settle.mobilepay.MobilePayInpNoticeDetail;
import cn.com.taiji.core.entity.settle.notice.InpTransNotice;
import cn.com.taiji.core.entity.settle.notice.InpTransNoticeDetail;
import cn.com.taiji.core.manager.tools.minio.MinioUtil; import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.settle.mobilepay.MobilePayInpNoticeDetailRepo; import cn.com.taiji.core.repo.jpa.settle.mobilepay.MobilePayInpNoticeDetailRepo;
import cn.com.taiji.core.repo.jpa.settle.mobilepay.MobilePayInpNoticeRepo; import cn.com.taiji.core.repo.jpa.settle.mobilepay.MobilePayInpNoticeRepo;
import cn.com.taiji.core.repo.jpa.settle.notice.InpTransNoticeDetailRepo;
import cn.com.taiji.core.repo.jpa.settle.notice.InpTransNoticeRepo;
import cn.com.taiji.settlew.manager.notice.InpTransNoticeManager;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.mobilepay.in.*; import cn.com.taiji.settlew.model.mobilepay.in.*;
import cn.com.taiji.settlew.model.notice.in.*;
import cn.com.taiji.settlew.repo.jpa.request.mobilepay.MobilePayInpNoticeDetailListRequest; import cn.com.taiji.settlew.repo.jpa.request.mobilepay.MobilePayInpNoticeDetailListRequest;
import cn.com.taiji.settlew.repo.jpa.request.mobilepay.MobilePayInpNoticePageRequest; import cn.com.taiji.settlew.repo.jpa.request.mobilepay.MobilePayInpNoticePageRequest;
import cn.com.taiji.settlew.repo.jpa.request.notice.InpTransNoticeDetailListRequest;
import cn.com.taiji.settlew.repo.jpa.request.notice.InpTransNoticePageRequest;
import cn.com.taiji.settlew.util.NumberConvert; import cn.com.taiji.settlew.util.NumberConvert;
import cn.com.taiji.settlew.vo.mobilepay.MobilePayInpNoticeDetailVo; import cn.com.taiji.settlew.vo.mobilepay.MobilePayInpNoticeDetailVo;
import cn.com.taiji.settlew.vo.mobilepay.MobilePayInpNoticeVo; import cn.com.taiji.settlew.vo.mobilepay.MobilePayInpNoticeVo;
import cn.com.taiji.settlew.vo.notice.InpTransNoticeDetailVo;
import cn.com.taiji.settlew.vo.notice.InpTransNoticeVo;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
* @author jiangsong * @author jiangsong
*/ */
@Service @Service
public class MobileInpNoticeManagerImpl extends AbstractManager implements MobilePayInpNoticeManager {
public class MobilePayInpNoticeManagerImpl extends AbstractManager implements MobilePayInpNoticeManager {


@Autowired @Autowired
private MobilePayInpNoticeRepo mobilePayInpNoticeRepo; private MobilePayInpNoticeRepo mobilePayInpNoticeRepo;

+ 3
- 3
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmAgencyManager.java 查看文件



import cn.com.taiji.common.manager.ManagerException; import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination; import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmAgencyEditDTO;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyPageRequestDTO; import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyPageRequestDTO;
import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyViewResponse;


/** /**
* @description:
* @description: ETC通行费确认单(渠道)
* @author: wangyan * @author: wangyan
* @date Created in 2025/05/07 16:00 * @date Created in 2025/05/07 16:00
*/ */
Pagination query(EtcTollConfirmAgencyPageRequestDTO pageRequest); Pagination query(EtcTollConfirmAgencyPageRequestDTO pageRequest);
CommonExportResponse export(EtcTollConfirmAgencyPageRequestDTO req) throws ManagerException; CommonExportResponse export(EtcTollConfirmAgencyPageRequestDTO req) throws ManagerException;


void edit(EtcTollConfirmAgencyViewResponse req) throws ManagerException;
void edit(EtcTollConfirmAgencyEditDTO dto) throws ManagerException;
} }

+ 51
- 35
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmAgencyManagerImpl.java 查看文件

import cn.com.taiji.core.entity.settle.report.EtcTollConfirmAgency; import cn.com.taiji.core.entity.settle.report.EtcTollConfirmAgency;
import cn.com.taiji.core.manager.tools.minio.MinioUtil; import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.settle.report.EtcTollConfirmAgencyRepo; import cn.com.taiji.core.repo.jpa.settle.report.EtcTollConfirmAgencyRepo;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmAgencyDTO;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmAgencyEditDTO;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyPageRequestDTO; import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyPageRequestDTO;
import cn.com.taiji.settlew.model.report.EtcTollConfirmAgencyViewResponse;
import cn.com.taiji.settlew.repo.jpa.request.report.EtcTollConfirmAgencyPageRequest; import cn.com.taiji.settlew.repo.jpa.request.report.EtcTollConfirmAgencyPageRequest;
import cn.com.taiji.settlew.util.NumberConvert; import cn.com.taiji.settlew.util.NumberConvert;
import cn.com.taiji.settlew.vo.report.EtcTollConfirmAgencyVo;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;


import java.io.File; import java.io.File;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;


/** /**
* @description:
* @description: ETC通行费确认单(渠道)
* @author: wangyan * @author: wangyan
* @date Created in 2025/05/07 16:00 * @date Created in 2025/05/07 16:00
*/ */
@Service @Service
public class EtcTollConfirmAgencyManagerImpl extends AbstractManager implements public class EtcTollConfirmAgencyManagerImpl extends AbstractManager implements
EtcTollConfirmAgencyManager, ResultConverter<EtcTollConfirmAgency,EtcTollConfirmAgencyViewResponse> {
EtcTollConfirmAgencyManager, ResultConverter<EtcTollConfirmAgency, EtcTollConfirmAgencyDTO> {


@Autowired @Autowired
private EtcTollConfirmAgencyRepo agencyRepo; private EtcTollConfirmAgencyRepo agencyRepo;
public Pagination query(EtcTollConfirmAgencyPageRequestDTO pageRequest) { public Pagination query(EtcTollConfirmAgencyPageRequestDTO pageRequest) {
EtcTollConfirmAgencyPageRequest request = new EtcTollConfirmAgencyPageRequest(); EtcTollConfirmAgencyPageRequest request = new EtcTollConfirmAgencyPageRequest();
BeanTools.copyProperties(pageRequest, request); BeanTools.copyProperties(pageRequest, request);
return agencyRepo.page(request);
return agencyRepo.page(request).convertResult(this);
} }


@Override @Override
EtcTollConfirmAgencyPageRequest reqList = new EtcTollConfirmAgencyPageRequest(); EtcTollConfirmAgencyPageRequest reqList = new EtcTollConfirmAgencyPageRequest();
BeanTools.copyProperties(req, reqList); BeanTools.copyProperties(req, reqList);
List<EtcTollConfirmAgency> result=agencyRepo.list(reqList); List<EtcTollConfirmAgency> result=agencyRepo.list(reqList);

List<EtcTollConfirmAgencyViewResponse> responseList= LambdaTools.doMap(result,this::convert);
//转DTO 自动 计算合计 相关值
List<EtcTollConfirmAgencyDTO> dtoList= LambdaTools.doMap(result,this::convert);
// 将分转为元,方便输出到excel
List<EtcTollConfirmAgencyVo> voList= LambdaTools.doMap(dtoList,this::fenConvertYuan);
// 获取模板 // 获取模板
File templateFile = new File(AppEnv.getDataPath() + "tollCollectionAgencyExcel.xlsx"); File templateFile = new File(AppEnv.getDataPath() + "tollCollectionAgencyExcel.xlsx");
DateTimeFormatter formatter= DateTimeFormatter.ofPattern("yyyy-MM"); DateTimeFormatter formatter= DateTimeFormatter.ofPattern("yyyy-MM");
File targetFile = new File(AppEnv.getTmpPath() + fileName); File targetFile = new File(AppEnv.getTmpPath() + fileName);
// 填充数据 // 填充数据
try (ExcelWriter excelWriter = EasyExcel.write(targetFile).withTemplate(templateFile).build()) { try (ExcelWriter excelWriter = EasyExcel.write(targetFile).withTemplate(templateFile).build()) {
excelWriter.fill(responseList, EasyExcel.writerSheet("sheet1").build());
excelWriter.fill(voList, EasyExcel.writerSheet("sheet1").build());
} }
// 上传minio // 上传minio
String url = minioUtil.fileUploadHttp(targetFile, BucketFileBus.SETTLEW); String url = minioUtil.fileUploadHttp(targetFile, BucketFileBus.SETTLEW);


@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void edit(EtcTollConfirmAgencyViewResponse req) throws ManagerException {
EtcTollConfirmAgency old=agencyRepo.findById(req.getId()).orElse(null);
public void edit(EtcTollConfirmAgencyEditDTO dto) throws ManagerException {
if(dto.getId() == null){
throw new ManagerException("缺失ID信息,不可进行修改!");
}
EtcTollConfirmAgency old=agencyRepo.findById(dto.getId()).orElse(null);
if(old == null){ if(old == null){
throw new ManagerException("不存在该信息!"); throw new ManagerException("不存在该信息!");
} }
BeanTools.copyProperties(req,old,"id","insertTime");
//元变成分
old.setBankCollection(NumberConvert.yuanToFen(req.getBankCollection()));
old.setAgencyFee(NumberConvert.yuanToFen(req.getAgencyFee()));
old.setCurrentTollFee(NumberConvert.yuanToFen(req.getCurrentTollFee()));
old.setCurrentMonthFee(NumberConvert.yuanToFen(req.getCurrentMonthFee()));
old.setCurrentWzfFee(NumberConvert.yuanToFen(req.getCurrentWzfFee()));
old.setLastMonthFee(NumberConvert.yuanToFen(req.getLastMonthFee()));
old.setLastMonthSwk(NumberConvert.yuanToFen(req.getLastMonthSwk()));
old.setLastMonthOther(NumberConvert.yuanToFen(req.getLastMonthOther()));
old.setOtherWdzFee(NumberConvert.yuanToFen(req.getOtherWdzFee()));
old.setSwkFee(NumberConvert.yuanToFen(req.getSwkFee()));
BeanTools.copyProperties(dto,old,"id","insertTime");
old.setUpdateTime(LocalDateTime.now()); old.setUpdateTime(LocalDateTime.now());
agencyRepo.save(old); agencyRepo.save(old);
} }



@Override @Override
public EtcTollConfirmAgencyViewResponse convert(EtcTollConfirmAgency from) {
EtcTollConfirmAgencyViewResponse response=new EtcTollConfirmAgencyViewResponse();
public EtcTollConfirmAgencyDTO convert(EtcTollConfirmAgency from) {
EtcTollConfirmAgencyDTO response=new EtcTollConfirmAgencyDTO();
BeanTools.copyProperties(from,response); BeanTools.copyProperties(from,response);
response.setBankCollection(NumberConvert.fenToYuan(from.getBankCollection()));
response.setAgencyFee(NumberConvert.fenToYuan(from.getAgencyFee()));
response.setCurrentTollFee(NumberConvert.fenToYuan(from.getCurrentTollFee()));
response.setCurrentMonthFee(NumberConvert.fenToYuan(from.getCurrentMonthFee()));
response.setCurrentWzfFee(NumberConvert.fenToYuan(from.getCurrentWzfFee()));
response.setLastMonthFee(NumberConvert.fenToYuan(from.getLastMonthFee()));
response.setLastMonthSwk(NumberConvert.fenToYuan(from.getLastMonthSwk()));
response.setLastMonthOther(NumberConvert.fenToYuan(from.getLastMonthOther()));
response.setOtherWdzFee(NumberConvert.fenToYuan(from.getOtherWdzFee()));
response.setSwkFee(NumberConvert.fenToYuan(from.getSwkFee()));
return response; return response;
} }




// 将 DTO 中的分 转为 VO 的元
public EtcTollConfirmAgencyVo fenConvertYuan(EtcTollConfirmAgencyDTO from) {
EtcTollConfirmAgencyVo agencyVo =new EtcTollConfirmAgencyVo();
BeanTools.copyProperties(from,agencyVo);

//截止上月最后一天未支付金额
agencyVo.setLastMonthFee(NumberConvert.fenToYuan(from.getLastMonthFee()));
//其他货币资金商户号未到账余额(上月)
agencyVo.setLastMonthOther(NumberConvert.fenToYuan(from.getLastMonthOther()));
//商务卡未到账余额(上月)
agencyVo.setLastMonthSwk(NumberConvert.fenToYuan(from.getLastMonthSwk()));

//当月交易金额
agencyVo.setCurrentMonthFee(NumberConvert.fenToYuan(from.getCurrentMonthFee()));
//银行实际收款金额
agencyVo.setBankCollection(NumberConvert.fenToYuan(from.getBankCollection()));
//渠道费金额
agencyVo.setAgencyFee(NumberConvert.fenToYuan(from.getAgencyFee()));
//其他货币资金商户号未到账余额
agencyVo.setOtherWdzFee(NumberConvert.fenToYuan(from.getOtherWdzFee()));
//商务卡未到账余额
agencyVo.setSwkFee(NumberConvert.fenToYuan(from.getSwkFee()));

//当月收款合计 = 银行实际收款金额 + 渠道费金额 + 其他货币资金商户号未到账余额 + 商务卡未到账余额
agencyVo.setCurrentTollFee(NumberConvert.fenToYuan(from.getCurrentTollFee()));
//截止当月最后一天未支付金额 = 截止上月最后一天未支付金额 + 其他货币资金商户号未到账余额(上月) + 商务卡未到账余额(上月)
agencyVo.setCurrentWzfFee(NumberConvert.fenToYuan(from.getCurrentWzfFee()));
return agencyVo;
}


} }

+ 3
- 3
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmZfbManager.java 查看文件



import cn.com.taiji.common.manager.ManagerException; import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination; import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmZfbEditDTO;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbPageRequestDTO; import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbPageRequestDTO;
import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbViewResponse;


/** /**
* @description:
* @description: ETC通行费确认单(支付宝)
* @author: wangyan * @author: wangyan
* @date Created in 2025/05/07 15:11 * @date Created in 2025/05/07 15:11
*/ */
Pagination query(EtcTollConfirmZfbPageRequestDTO pageRequest); Pagination query(EtcTollConfirmZfbPageRequestDTO pageRequest);
CommonExportResponse export(EtcTollConfirmZfbPageRequestDTO req) throws ManagerException; CommonExportResponse export(EtcTollConfirmZfbPageRequestDTO req) throws ManagerException;


void edit(EtcTollConfirmZfbViewResponse req) throws ManagerException;
void edit(EtcTollConfirmZfbEditDTO dto) throws ManagerException;
} }

+ 68
- 50
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/manager/report/EtcTollConfirmZfbManagerImpl.java 查看文件

import cn.com.taiji.core.entity.settle.report.EtcTollConfirmZfb; import cn.com.taiji.core.entity.settle.report.EtcTollConfirmZfb;
import cn.com.taiji.core.manager.tools.minio.MinioUtil; import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.settle.report.EtcTollConfirmZfbRepo; import cn.com.taiji.core.repo.jpa.settle.report.EtcTollConfirmZfbRepo;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmZfbDTO;
import cn.com.taiji.settlew.dto.report.EtcTollConfirmZfbEditDTO;
import cn.com.taiji.settlew.model.CommonExportResponse; import cn.com.taiji.settlew.model.CommonExportResponse;
import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbPageRequestDTO; import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbPageRequestDTO;
import cn.com.taiji.settlew.model.report.EtcTollConfirmZfbViewResponse;
import cn.com.taiji.settlew.repo.jpa.request.report.EtcTollConfirmZfbPageRequest; import cn.com.taiji.settlew.repo.jpa.request.report.EtcTollConfirmZfbPageRequest;
import cn.com.taiji.settlew.util.NumberConvert; import cn.com.taiji.settlew.util.NumberConvert;
import cn.com.taiji.settlew.vo.report.EtcTollConfirmZfbVo;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;


import java.io.File; import java.io.File;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;


/** /**
* @description:
* @description: ETC通行费确认单(支付宝)
* @author: wangyan * @author: wangyan
* @date Created in 2025/05/07 15:13 * @date Created in 2025/05/07 15:13
*/ */
@Service @Service
public class EtcTollConfirmZfbManagerImpl extends AbstractManager implements public class EtcTollConfirmZfbManagerImpl extends AbstractManager implements
EtcTollConfirmZfbManager, ResultConverter<EtcTollConfirmZfb, EtcTollConfirmZfbViewResponse> {
EtcTollConfirmZfbManager, ResultConverter<EtcTollConfirmZfb, EtcTollConfirmZfbDTO> {


@Autowired @Autowired
private EtcTollConfirmZfbRepo zfbRepo; private EtcTollConfirmZfbRepo zfbRepo;


@Override @Override
public Pagination query(EtcTollConfirmZfbPageRequestDTO pageRequest) { public Pagination query(EtcTollConfirmZfbPageRequestDTO pageRequest) {

EtcTollConfirmZfbPageRequest zfbPageRequest = new EtcTollConfirmZfbPageRequest(); EtcTollConfirmZfbPageRequest zfbPageRequest = new EtcTollConfirmZfbPageRequest();
BeanTools.copyProperties(pageRequest, zfbPageRequest); BeanTools.copyProperties(pageRequest, zfbPageRequest);
return zfbRepo.page(zfbPageRequest);
return zfbRepo.page(zfbPageRequest).convertResult(this);
} }


@Override @Override


EtcTollConfirmZfbPageRequest zfbPageRequest=new EtcTollConfirmZfbPageRequest(); EtcTollConfirmZfbPageRequest zfbPageRequest=new EtcTollConfirmZfbPageRequest();
BeanTools.copyProperties(req, zfbPageRequest); BeanTools.copyProperties(req, zfbPageRequest);
List<EtcTollConfirmZfb> result=zfbRepo.list(zfbPageRequest);

List<EtcTollConfirmZfbViewResponse> responseList= LambdaTools.doMap(result,this::convert);
List<EtcTollConfirmZfb> result= zfbRepo.list(zfbPageRequest);
//转DTO 自动 计算合计 相关值
List<EtcTollConfirmZfbDTO> dtoList= LambdaTools.doMap(result,this::convert);
// 将分转为元,方便输出到excel
List<EtcTollConfirmZfbVo> voList= LambdaTools.doMap(dtoList,this::fenConvertYuan);
// 获取模板 // 获取模板
File templateFile = new File(AppEnv.getDataPath() + "tollCollectionZfbExcel.xlsx"); File templateFile = new File(AppEnv.getDataPath() + "tollCollectionZfbExcel.xlsx");
DateTimeFormatter formatter= DateTimeFormatter.ofPattern("yyyy-MM"); DateTimeFormatter formatter= DateTimeFormatter.ofPattern("yyyy-MM");
File targetFile = new File(AppEnv.getTmpPath() + fileName); File targetFile = new File(AppEnv.getTmpPath() + fileName);
// 填充数据 // 填充数据
try (ExcelWriter excelWriter = EasyExcel.write(targetFile).withTemplate(templateFile).build()) { try (ExcelWriter excelWriter = EasyExcel.write(targetFile).withTemplate(templateFile).build()) {
excelWriter.fill(responseList, EasyExcel.writerSheet("sheet1").build());
excelWriter.fill(voList, EasyExcel.writerSheet("sheet1").build());
} }
// 上传minio // 上传minio
String url = minioUtil.fileUploadHttp(targetFile, BucketFileBus.SETTLEW); String url = minioUtil.fileUploadHttp(targetFile, BucketFileBus.SETTLEW);


@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void edit(EtcTollConfirmZfbViewResponse req) throws ManagerException {
EtcTollConfirmZfb old=zfbRepo.findById(req.getId()).get();
public void edit(EtcTollConfirmZfbEditDTO dto) throws ManagerException {

if(dto.getId() == null){
throw new ManagerException("缺失ID信息,不可进行修改!");
}
EtcTollConfirmZfb old = zfbRepo.findById(dto.getId()).orElse(null);
if(null==old){ if(null==old){
throw new ManagerException("不存在该信息!"); throw new ManagerException("不存在该信息!");
} }
BeanTools.copyProperties(req,old,"id","insertTime");
old.setBalanceZfb(NumberConvert.yuanToFen(req.getBalanceZfb()));
old.setBalanceQtzl(NumberConvert.yuanToFen(req.getBalanceQtzl()));
old.setBalanceWd(NumberConvert.yuanToFen(req.getBalanceWd()));
old.setBankToll(NumberConvert.yuanToFen(req.getBankToll()));
old.setBankCollection(NumberConvert.yuanToFen(req.getBankCollection()));
old.setHandlingFee(NumberConvert.yuanToFen(req.getHandlingFee()));
old.setHandlingToll(NumberConvert.yuanToFen(req.getHandlingToll()));
old.setHandlingRefund(NumberConvert.yuanToFen(req.getHandlingRefund()));
old.setTransToll(NumberConvert.yuanToFen(req.getTransToll()));
old.setTransRefund(NumberConvert.yuanToFen(req.getTransRefund()));
old.setTransCashRefund(NumberConvert.yuanToFen(req.getTransCashRefund()));
old.setTransOnline(NumberConvert.yuanToFen(req.getTransOnline()));
old.setTransZz(NumberConvert.yuanToFen(req.getTransZz()));
old.setWdzToll(NumberConvert.yuanToFen(req.getWdzToll()));
old.setInitialNum(NumberConvert.yuanToFen(req.getInitialNum()));
old.setValidateNum(NumberConvert.yuanToFen(req.getValidateNum()));
old.setTransZzRefund(NumberConvert.yuanToFen(req.getTransZzRefund()));
BeanTools.copyProperties(dto,old,"id","insertTime");
old.setUpdateTime(LocalDateTime.now()); old.setUpdateTime(LocalDateTime.now());
zfbRepo.save(old); zfbRepo.save(old);
} }


@Override @Override
public EtcTollConfirmZfbViewResponse convert(EtcTollConfirmZfb from) {
EtcTollConfirmZfbViewResponse response=new EtcTollConfirmZfbViewResponse();
public EtcTollConfirmZfbDTO convert(EtcTollConfirmZfb from) {
EtcTollConfirmZfbDTO response=new EtcTollConfirmZfbDTO();
BeanTools.copyProperties(from,response); BeanTools.copyProperties(from,response);
response.setBalanceZfb(NumberConvert.fenToYuan(from.getBalanceZfb()));
response.setBalanceQtzl(NumberConvert.fenToYuan(from.getBalanceQtzl()));
response.setBalanceWd(NumberConvert.fenToYuan(from.getBalanceWd()));
response.setBankToll(NumberConvert.fenToYuan(from.getBankToll()));
response.setBankCollection(NumberConvert.fenToYuan(from.getBankCollection()));
response.setHandlingFee(NumberConvert.fenToYuan(from.getHandlingFee()));
response.setHandlingToll(NumberConvert.fenToYuan(from.getHandlingToll()));
response.setHandlingRefund(NumberConvert.fenToYuan(from.getHandlingRefund()));
response.setTransToll(NumberConvert.fenToYuan(from.getTransToll()));
response.setTransRefund(NumberConvert.fenToYuan(from.getTransRefund()));
response.setTransCashRefund(NumberConvert.fenToYuan(from.getTransCashRefund()));
response.setTransOnline(NumberConvert.fenToYuan(from.getTransOnline()));
response.setTransZz(NumberConvert.fenToYuan(from.getTransZz()));
response.setWdzToll(NumberConvert.fenToYuan(from.getWdzToll()));
response.setInitialNum(NumberConvert.fenToYuan(from.getInitialNum()));
response.setValidateNum(NumberConvert.fenToYuan(from.getValidateNum()));
response.setTransZzRefund(NumberConvert.fenToYuan(from.getTransZzRefund()));
return response; return response;
} }



// 将 DTO 中的分 转为 VO 的元
public EtcTollConfirmZfbVo fenConvertYuan(EtcTollConfirmZfbDTO from) {
EtcTollConfirmZfbVo zfbVo =new EtcTollConfirmZfbVo();
BeanTools.copyProperties(from,zfbVo);
// ------- 交易金额
//在线支付
zfbVo.setTransOnline(NumberConvert.fenToYuan(from.getTransToll()));
//转账
zfbVo.setTransZz(NumberConvert.fenToYuan(from.getTransZz()));
//退款
zfbVo.setTransRefund(NumberConvert.fenToYuan(from.getTransRefund()));
//退转账
zfbVo.setTransZzRefund(NumberConvert.fenToYuan(from.getTransZzRefund()));
//现金退回
zfbVo.setTransCashRefund(NumberConvert.fenToYuan(from.getTransCashRefund()));
// 交易金额合计
zfbVo.setTransToll(NumberConvert.fenToYuan(from.getTransToll()));

// ------- 银行收款
//银行收款
zfbVo.setBankCollection(NumberConvert.fenToYuan(from.getBankCollection()));
//银行合计
zfbVo.setBankToll(NumberConvert.fenToYuan(from.getBankToll()));

// ------- 手续费
//收费
zfbVo.setHandlingFee(NumberConvert.fenToYuan(from.getHandlingFee()));
//退收费
zfbVo.setHandlingRefund(NumberConvert.fenToYuan(from.getHandlingRefund()));
//手续费合计
zfbVo.setHandlingToll(NumberConvert.fenToYuan(from.getHandlingToll()));

// ------- 余额
//商户号已提现银行未达收款额 # 一般为 0 ,如果有数据,需要人工填报
zfbVo.setBalanceWd(NumberConvert.fenToYuan(from.getBalanceWd()));
//支付宝余额
zfbVo.setBalanceZfb(NumberConvert.fenToYuan(from.getBalanceZfb()));
//未到账合计
zfbVo.setWdzToll(NumberConvert.fenToYuan(from.getWdzToll()));

// 期初数
zfbVo.setInitialNum(NumberConvert.fenToYuan(from.getInitialNum()));

return zfbVo;
}

} }

+ 6
- 1
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/model/report/EtcTollConfirmAgencyPageRequestDTO.java 查看文件

import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;


import javax.validation.constraints.NotBlank;

/** /**
* @description:
* @description: ETC通行费确认单(渠道) 分页查询对象
* @author: wangyan * @author: wangyan
* @date Created in 2025/05/07 16:03 * @date Created in 2025/05/07 16:03
*/ */
@Data @Data
public class EtcTollConfirmAgencyPageRequestDTO extends AbstractStaffBizPageRequestDTO { public class EtcTollConfirmAgencyPageRequestDTO extends AbstractStaffBizPageRequestDTO {
@NotBlank(message = "统计起始时间不能为空")
@ApiModelProperty(value="统计时间 YYYY-MM") @ApiModelProperty(value="统计时间 YYYY-MM")
private String transDateStart; private String transDateStart;

@NotBlank(message = "统计结束时间不能为空")
@ApiModelProperty(value="统计时间 YYYY-MM") @ApiModelProperty(value="统计时间 YYYY-MM")
private String transDateEnd; private String transDateEnd;



+ 54
- 0
zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/vo/report/EtcTollConfirmAgencyVo.java 查看文件

package cn.com.taiji.settlew.vo.report;

import cn.com.taiji.common.model.BaseDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
* @description: ETC通行费确认单 - 渠道 (转为元 用于 excel 输出)
* @author: jiangosng
*/
@Data
public class EtcTollConfirmAgencyVo extends BaseDTO {

//交易时间
private String transDate;
//ETC资金渠道名称
private String agencyName;
//卡类型
private String cardType;

//产品名称
private String productName;
//结算组负责人
private String settlementManager;

//截止上月最后一天未支付金额
private BigDecimal lastMonthFee;
//其他货币资金商户号未到账余额(上月)
private BigDecimal lastMonthOther;
//商务卡未到账余额(上月)
private BigDecimal lastMonthSwk;

//当月交易金额
private BigDecimal currentMonthFee;

//银行实际收款金额
private BigDecimal bankCollection;
//渠道费金额
private BigDecimal agencyFee;
//其他货币资金商户号未到账余额
private BigDecimal otherWdzFee;
//商务卡未到账余额
private BigDecimal swkFee;

//当月收款合计 = 银行实际收款金额 + 渠道费金额 + 其他货币资金商户号未到账余额 + 商务卡未到账余额
private BigDecimal currentTollFee;
//截止当月最后一天未支付金额 = 截止上月最后一天未支付金额 + 其他货币资金商户号未到账余额(上月) + 商务卡未到账余额(上月)
private BigDecimal currentWzfFee;
//备注
private String remark;

}

zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/model/report/EtcTollConfirmZfbViewResponse.java → zhywpt-app-settlew/src/main/java/cn/com/taiji/settlew/vo/report/EtcTollConfirmZfbVo.java 查看文件

package cn.com.taiji.settlew.model.report;
package cn.com.taiji.settlew.vo.report;


import cn.com.taiji.common.model.BaseDTO; import cn.com.taiji.common.model.BaseDTO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal; import java.math.BigDecimal;


/** /**
* @description:
* @author: wangyan
* @date Created in 2025/05/07 15:31
* @description: ETC通行费确认单 - 支付宝 (转为元 用于 excel 输出)
* @author: jiangsong
*/ */
@Data @Data
public class EtcTollConfirmZfbViewResponse extends BaseDTO {
public class EtcTollConfirmZfbVo extends BaseDTO {
@ApiModelProperty(value = "统计日期") @ApiModelProperty(value = "统计日期")
private String statisticalDate; private String statisticalDate;
@ApiModelProperty(value = "在线支付") @ApiModelProperty(value = "在线支付")
@ApiModelProperty(value = "期初数") @ApiModelProperty(value = "期初数")
private BigDecimal initialNum; private BigDecimal initialNum;
@ApiModelProperty(value = "校验") @ApiModelProperty(value = "校验")
private BigDecimal validateNum;
private String validateNum;
} }

正在加载...
取消
保存