| | |
| | | <mapper namespace="com.ruoyi.sales.mapper.ReceiptPaymentMapper"> |
| | | <select id="receiptPaymentListPage" 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, |
| | | 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 |
| | | 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.searchText != null and receiptPaymentDto.searchText != ''"> |
| | | AND ( |
| | | T2.customer_name LIKE CONCAT('%',#{receiptPaymentDto.searchText},'%') |
| | | OR T1.sales_contract_no LIKE CONCAT('%',#{receiptPaymentDto.searchText},'%') |
| | | ) |
| | | </if> |
| | | <if test="receiptPaymentDto.customerId != null"> |
| | | AND T1.customer_id = #{receiptPaymentDto.customerId} |
| | | AND T4.customer_id = #{receiptPaymentDto.customerId} |
| | | </if> |
| | | </where> |
| | | ORDER BY T1.receipt_payment_date ASC |
| | | ORDER BY T1.create_time ASC |
| | | </select> |
| | | |
| | | <select id="receiptPaymentInfo" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto"> |
| | |
| | | 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.create_time ASC |
| | | LIMIT #{total} ) AS limited_rows |
| | | </select> |
| | | |
| | | <select id="receiptPaymentHistoryList" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto"> |
| | | SELECT |
| | | T1.receipt_payment_date, |
| | | T5.customer_name, |
| | | T1.receipt_payment_amount, |
| | | T1.receipt_payment_type, |
| | | T1.registrant, |
| | | T1.create_time |
| | | 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 T3.sales_ledger_id = T4.id |
| | | LEFT JOIN customer T5 ON T5.id = T4.customer_id |
| | | <where> |
| | | <if test="params.searchText != null and params.searchText != '' "> |
| | | T5.customer_name LIKE CONCAT('%',#{params.searchText},'%') |
| | | </if> |
| | | </where> |
| | | ORDER BY T1.receipt_payment_date DESC |
| | | </select> |
| | | |
| | | <select id="receiptPaymentHistoryListPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto"> |
| | | SELECT |
| | | T1.receipt_payment_date, |
| | | T5.customer_name, |
| | | T1.receipt_payment_amount, |
| | | T1.receipt_payment_type, |
| | | T1.registrant, |
| | | T1.create_time |
| | | 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 T3.sales_ledger_id = T4.id |
| | | LEFT JOIN customer T5 ON T5.id = T4.customer_id |
| | | <where> |
| | | <if test="params.searchText != null and params.searchText != '' "> |
| | | T5.customer_name LIKE CONCAT('%',#{params.searchText},'%') |
| | | </if> |
| | | </where> |
| | | ORDER BY T1.receipt_payment_date DESC |
| | | </select> |
| | | |
| | | <select id="customerInteractions" resultType="com.ruoyi.sales.dto.CustomerInteractionDto"> |
| | | SELECT |
| | | * |
| | | FROM |
| | | ( |
| | | SELECT |
| | | receipt_payment_amount AS receiptAmount, |
| | | receipt_payment_date AS happenTime, |
| | | 0 AS type, |
| | | 0 AS invoiceAmount |
| | | FROM |
| | | receipt_payment |
| | | WHERE |
| | | invoice_ledger_id IN ( |
| | | SELECT |
| | | id |
| | | FROM |
| | | invoice_ledger |
| | | WHERE |
| | | invoice_registration_product_id IN ( |
| | | SELECT |
| | | id |
| | | FROM |
| | | invoice_registration_product |
| | | WHERE |
| | | sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))) UNION |
| | | SELECT |
| | | 0 AS receiptAmount, |
| | | invoice_date AS happenTime, |
| | | 1 AS type, |
| | | invoice_total AS invoiceAmount |
| | | FROM |
| | | invoice_ledger |
| | | WHERE |
| | | invoice_registration_product_id IN ( |
| | | SELECT |
| | | id |
| | | FROM |
| | | invoice_registration_product |
| | | WHERE |
| | | sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} )) |
| | | AND invoice_date IS NOT NULL |
| | | ) T1 |
| | | ORDER BY |
| | | T1.happenTime ASC |
| | | </select> |
| | | |
| | | <select id="receiptPaymentHistoryListNoPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto"> |
| | | SELECT |
| | | T1.id, |
| | | T1.receipt_payment_date, |
| | | T5.customer_name, |
| | | T1.receipt_payment_amount, |
| | | T1.receipt_payment_type, |
| | | T1.registrant, |
| | | T1.create_time |
| | | 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 T3.sales_ledger_id = T4.id |
| | | LEFT JOIN customer T5 ON T5.id = T4.customer_id |
| | | WHERE T1.invoice_ledger_id = #{params.invoiceLedgerId} |
| | | ORDER BY T1.receipt_payment_date DESC |
| | | </select> |
| | | |
| | | <select id="receiptPaymentListByProdRegId" resultType="com.ruoyi.sales.pojo.ReceiptPayment"> |
| | | SELECT |
| | | T1.* |
| | | FROM |
| | | receipt_payment T1 |
| | | LEFT JOIN invoice_ledger T2 ON T1.invoice_ledger_id = T2.id |
| | | WHERE |
| | | T2.invoice_registration_product_id = #{invoiceRegistrationProductId} |
| | | </select> |
| | | |
| | | </mapper> |