gaoluyang
6 天以前 90b3ad820eea45d021835197eac5bc3ad55b12ed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.finance.dal.mysql.ledger.FinLedgerMapper">
 
    <select id="selectEntryList"
            resultType="cn.iocoder.yudao.module.finance.dal.dataobject.ledger.FinLedgerEntryDO">
        SELECT e.voucher_id   AS voucherId,
               v.voucher_no   AS voucherNo,
               v.voucher_date AS voucherDate,
               e.row_no       AS rowNo,
               e.subject_code AS subjectCode,
               e.subject_name AS subjectName,
               e.summary      AS summary,
               e.debit        AS debit,
               e.credit       AS credit
        FROM fin_voucher_entry e
                 INNER JOIN fin_voucher v ON v.id = e.voucher_id AND v.deleted = 0
        WHERE e.deleted = 0
          AND v.status = #{status}
          AND v.voucher_date &gt;= #{startDate}
          AND v.voucher_date &lt;= #{endDate}
          AND e.subject_code IN
        <foreach collection="subjectCodes" item="subjectCode" open="(" separator="," close=")">
            #{subjectCode}
        </foreach>
        ORDER BY v.voucher_date ASC, v.id ASC, e.row_no ASC
    </select>
 
    <select id="selectBalanceBeforeDate" resultType="java.math.BigDecimal">
        SELECT COALESCE(SUM(e.debit - e.credit), 0)
        FROM fin_voucher_entry e
                 INNER JOIN fin_voucher v ON v.id = e.voucher_id AND v.deleted = 0
        WHERE e.deleted = 0
          AND v.status = #{status}
          AND v.voucher_date &lt; #{date}
          AND e.subject_code IN
        <foreach collection="subjectCodes" item="subjectCode" open="(" separator="," close=")">
            #{subjectCode}
        </foreach>
    </select>
 
</mapper>