<?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.create_time 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 ,
|
T3.project_name,
|
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.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,
|
T4.project_name
|
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>
|
<if test="params.receiptPaymentDateStart != null and params.receiptPaymentDateStart != '' ">
|
AND T1.receipt_payment_date >= date_format(#{params.receiptPaymentDateStart},'%Y-%m-%d')
|
</if>
|
<if test="params.receiptPaymentDateEnd != null and params.receiptPaymentDateEnd != '' ">
|
AND T1.receipt_payment_date <= date_format(#{params.receiptPaymentDateEnd}, '%Y-%m-%d')
|
</if>
|
</where>
|
ORDER BY T1.receipt_payment_date DESC
|
</select>
|
|
|
|
|
<!-- 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 id="customerInteractions" resultType="com.ruoyi.sales.dto.CustomerInteractionDto">
|
SELECT
|
rp.receipt_payment_amount AS receiptAmount,
|
rp.receipt_payment_date AS happenTime,
|
0 AS type,
|
0 AS invoiceAmount
|
FROM
|
receipt_payment rp
|
WHERE EXISTS (
|
SELECT 1
|
FROM invoice_ledger il
|
JOIN invoice_registration_product irp ON il.invoice_registration_product_id = irp.id
|
JOIN sales_ledger sl ON irp.sales_ledger_id = sl.id
|
WHERE sl.customer_id =22
|
AND rp.invoice_ledger_id = il.id
|
)
|
|
UNION ALL
|
|
SELECT
|
0 AS receiptAmount,
|
il.invoice_date AS happenTime,
|
1 AS type,
|
il.invoice_total AS invoiceAmount
|
FROM
|
invoice_ledger il
|
JOIN invoice_registration_product irp ON il.invoice_registration_product_id = irp.id
|
JOIN sales_ledger sl ON irp.sales_ledger_id = sl.id
|
WHERE
|
sl.customer_id = 22
|
AND il.invoice_date IS NOT NULL
|
|
ORDER BY 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>
|