package cn.iocoder.yudao.module.finance.dal.mysql.ledger;
|
|
import cn.iocoder.yudao.module.finance.dal.dataobject.ledger.FinLedgerEntryDO;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* 总账 / 明细账 Mapper
|
*
|
* 只统计已过账(status = posted)的凭证分录;总账、明细账的余额在 Service 层按期间重算,
|
* 保证口径与凭证状态一致
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface FinLedgerMapper {
|
|
/**
|
* 查询指定科目(可多个)在指定日期区间内的已过账分录
|
*
|
* @param subjectCodes 科目编码集合
|
* @param startDate 开始日期(含)
|
* @param endDate 结束日期(含)
|
* @param status 凭证状态
|
* @return 分录列表(按凭证日期、凭证编号、行号升序)
|
*/
|
List<FinLedgerEntryDO> selectEntryList(@Param("subjectCodes") Collection<String> subjectCodes,
|
@Param("startDate") LocalDate startDate,
|
@Param("endDate") LocalDate endDate,
|
@Param("status") Integer status);
|
|
/**
|
* 查询指定科目(可多个)在指定日期之前的已过账分录净额,即期初余额
|
*
|
* @param subjectCodes 科目编码集合
|
* @param date 日期(不含)
|
* @param status 凭证状态
|
* @return 净额,借方为正、贷方为负
|
*/
|
BigDecimal selectBalanceBeforeDate(@Param("subjectCodes") Collection<String> subjectCodes,
|
@Param("date") LocalDate date,
|
@Param("status") Integer status);
|
|
}
|