liding
2025-05-19 53bdb26a0ae994418e92d93aab23d6f5e7225f37
src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -19,9 +19,19 @@
            T1.update_time       ,
            T1.update_user       ,
            T1.tenant_id         ,
            T2.customer_name
            T2.customer_name,
            T3.customer_contract_no,
            T3.salesman,
            T4.invoiceFileName
        FROM invoice_ledger T1
        LEFT JOIN customer T2 ON T1.customer_id = T2.id
        LEFT JOIN sales_ledger T3 ON T1.sales_ledger_id = T3.id
        LEFT JOIN (
           SELECT
               invoice_ledger_id,
               GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
           FROM invoice_ledger_file GROUP BY invoice_ledger_id
        ) T4 ON T4.invoice_ledger_id = T1.id
        <where>
            <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != ''">
                AND (
@@ -36,6 +46,48 @@
    </select>
    <select id="invoiceLedgerList" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
            T1.id                ,
            T1.sales_ledger_id   ,
            T1.sales_contract_no ,
            T1.customer_id       ,
            T1.invoice_no        ,
            T1.invoice_amount    ,
            T1.tax_rate          ,
            T1.invoice_person    ,
            T1.invoice_date      ,
            T1.create_time       ,
            T1.create_user       ,
            T1.update_time       ,
            T1.update_user       ,
            T1.tenant_id         ,
            T2.customer_name,
            T3.salesman,
            T3.customer_contract_no,
            T4.invoiceFileName
        FROM invoice_ledger T1
        LEFT JOIN customer T2 ON T1.customer_id = T2.id
        LEFT JOIN sales_ledger T3 ON T1.sales_ledger_id = T3.id
        LEFT JOIN (
        SELECT
        invoice_ledger_id,
        GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
        FROM invoice_ledger_file GROUP BY invoice_ledger_id
        ) T4 ON T4.invoice_ledger_id = T1.id
        <where>
            <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != ''">
                AND (
                T2.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
                OR T1.sales_contract_no LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
                )
            </if>
            <if test="invoiceLedgerDto.invoiceDate != null">
                AND DATE_FORMAT(T1.invoice_date,'%Y-%m-%d') = DATE_FORMAT(#{invoiceLedgerDto.invoiceDate},'%Y-%m-%d')
            </if>
        </where>
    </select>
    <select id="invoiceLedgerInfo" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
        T1.id                ,
        T1.sales_ledger_id   ,
@@ -54,16 +106,21 @@
        T2.customer_name
        FROM invoice_ledger T1
        LEFT JOIN customer T2 ON T1.customer_id = T2.id
        <where>
            <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != ''">
                AND (
                T2.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
                OR T1.sales_contract_no LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
                )
            </if>
            <if test="invoiceLedgerDto.invoiceDate != null">
                AND DATE_FORMAT(T1.invoice_date,'%Y-%m-%d') = DATE_FORMAT(#{invoiceLedgerDto.invoiceDate},'%Y-%m-%d')
            </if>
        </where>
        WHERE T1.id = #{id}
    </select>
    <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
            customer_id,
            T2.customer_name,
            SUM( invoice_amount ) invoiceAmount
        FROM
            invoice_ledger T1
                LEFT JOIN customer T2 ON T1.customer_id = T2.id
        GROUP BY
            customer_id,
            T2.customer_name;
    </select>
</mapper>