<?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="com.ruoyi.sales.mapper.ReceiptPaymentMapper">
|
<select id="receiptPaymentListPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
|
SELECT
|
T4.customer_id,
|
IFNULL(T5.invoice_total,0) AS invoice_total,
|
T1.receipt_payment_amount,
|
T1.receipt_payment_date
|
FROM
|
receipt_payment T1
|
LEFT JOIN invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
|
LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
|
LEFT JOIN sales_ledger T4 ON T4.id = T3.sales_ledger_id
|
LEFT JOIN (
|
SELECT
|
T3.customer_id,
|
SUM( invoice_total ) AS invoice_total
|
FROM
|
invoice_ledger T1
|
LEFT JOIN invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id
|
LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
|
GROUP BY T3.customer_id
|
) T5 ON T5.customer_id = T4.customer_id
|
<where>
|
<if test="receiptPaymentDto.customerId != null">
|
AND T4.customer_id = #{receiptPaymentDto.customerId}
|
</if>
|
</where>
|
ORDER BY T1.receipt_payment_date ASC
|
</select>
|
|
<select id="receiptPaymentInfo" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
|
SELECT
|
T1.id ,
|
T1.sales_ledger_id ,
|
T1.sales_contract_no ,
|
T1.customer_id ,
|
T1.invoice_no ,
|
T1.invoice_amount ,
|
T1.tax_rate ,
|
T1.receipt_payment_type ,
|
T1.receipt_payment_amount ,
|
T1.registrant ,
|
T1.receipt_payment_date ,
|
T1.create_time ,
|
T1.create_user ,
|
T1.update_time ,
|
T1.update_user ,
|
T1.tenant_id,
|
T1.invoice_ledger_id,
|
T3.customer_contract_no,
|
T2.customer_name
|
FROM receipt_payment T1
|
LEFT JOIN customer T2 ON T1.customer_id = T2.id
|
LEFT JOIN sales_ledger T3 ON T1.sales_ledger_id = T3.id
|
WHERE T1.id = #{id}
|
</select>
|
|
<select id="bindInvoiceNoRegPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
|
SELECT
|
T1.id ,
|
T1.invoice_no ,
|
T1.invoice_total ,
|
T1.invoice_person ,
|
T1.invoice_date ,
|
T1.create_time ,
|
T1.create_user ,
|
T1.update_time ,
|
T1.update_user ,
|
T1.tenant_id ,
|
T2.tax_rate,
|
T3.sales_contract_no,
|
T3.customer_contract_no,
|
T3.customer_name,
|
T4.invoiceFileName,
|
T5.product_category,
|
IFNULL(T6.receipt_payment_amount_total ,0) AS receipt_payment_amount_total,
|
(T1.invoice_total - IFNULL(T6.receipt_payment_amount_total ,0)) AS no_receipt_amount
|
FROM invoice_ledger T1
|
LEFT JOIN invoice_registration_product T2 ON T2.id = T1.invoice_registration_product_id
|
LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_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
|
LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
|
LEFT JOIN (
|
SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP BY invoice_ledger_id
|
) T6 ON T1.id = T6.invoice_ledger_id
|
ORDER BY T2.create_time DESC
|
</select>
|
|
<select id="invoiceInfo" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
|
SELECT
|
T1.id,
|
T1.invoice_no,
|
T1.invoice_total ,
|
T2.tax_rate,
|
T3.customer_name,
|
T3.sales_contract_no
|
FROM
|
invoice_ledger T1
|
LEFT JOIN
|
invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id
|
LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
|
WHERE T1.id = #{id}
|
</select>
|
|
<select id="getReceiptAmount" resultType="java.math.BigDecimal">
|
SELECT
|
SUM( receipt_payment_amount ) AS total_amount
|
FROM
|
(
|
SELECT
|
T1.receipt_payment_amount
|
FROM
|
receipt_payment T1
|
LEFT JOIN invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
|
LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
|
LEFT JOIN sales_ledger T4 ON T4.id = T3.sales_ledger_id
|
LEFT JOIN (
|
SELECT
|
T3.customer_id,
|
SUM( invoice_total ) AS invoice_total
|
FROM
|
invoice_ledger T1
|
LEFT JOIN invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id
|
LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
|
GROUP BY
|
T3.customer_id
|
) T5 ON T5.customer_id = T4.customer_id
|
WHERE
|
T4.customer_id = #{customerId}
|
|
ORDER BY
|
T1.receipt_payment_date ASC
|
LIMIT #{total} ) AS limited_rows
|
</select>
|
|
</mapper>
|