From 179c9d6b6a98292e4e2bec9a01c620d38d13c54a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 05 七月 2025 16:37:17 +0800
Subject: [PATCH] 质量不合格添加productId字段+删除库存模块代码

---
 src/main/resources/mapper/sales/ReceiptPaymentMapper.xml |  326 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 254 insertions(+), 72 deletions(-)

diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 4ca0202..26ef5f8 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -61,37 +61,50 @@
 
     <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
+        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
+        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
+        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
+        <where>
+            <if test="c.customerName != null and c.customerName !=''">
+                AND T3.customer_name LIKE CONCAT('%',#{c.customerName},'%')
+            </if>
+            <if test="c.customerContractNo != null and c.customerContractNo !=''">
+                AND T3.customer_contract_no LIKE CONCAT('%',#{c.customerContractNo},'%')
+            </if>
+            <if test="c.projectName != null and c.projectName !=''">
+                AND T3.project_name LIKE CONCAT('%',#{c.projectName},'%')
+            </if>
+        </where>
         ORDER BY T2.create_time DESC
     </select>
 
@@ -172,7 +185,10 @@
         T1.receipt_payment_amount,
         T1.receipt_payment_type,
         T1.registrant,
-        T1.create_time
+        T1.create_time,
+        T4.project_name,
+        T4.sales_contract_no,
+        T4.customer_contract_no
         FROM
         receipt_payment T1
         LEFT JOIN
@@ -184,55 +200,221 @@
             <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 &gt;= date_format(#{params.receiptPaymentDateStart},'%Y-%m-%d')
+            </if>
+            <if test="params.receiptPaymentDateEnd != null and params.receiptPaymentDateEnd != '' ">
+                AND T1.receipt_payment_date &lt;= date_format(#{params.receiptPaymentDateEnd}, '%Y-%m-%d')
+            </if>
+            <if test="params.projectName != null and params.projectName != '' ">
+                AND T4.project_name LIKE CONCAT('%',#{params.projectName},'%')
+            </if>
+            <if test="params.customerContractNo != null and params.customerContractNo != '' ">
+                AND T4.customer_contract_no LIKE CONCAT('%',#{params.customerContractNo},'%')
+            </if>
+            <if test="params.salesContractNo != null and params.salesContractNo != '' ">
+                AND T4.sales_contract_no LIKE CONCAT('%',#{params.salesContractNo},'%')
+            </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
-            (
-                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
+            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 = #{customerId}
+              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 =  #{customerId}
+          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>
+    <select id="bindInvoiceNoRegListAll" 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
+    </select>
+    <select id="bindInvoiceNoRegListByIds" resultType="com.ruoyi.sales.dto.ReceiptPaymentExeclDto">
+        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
+        <where>
+        <if test="ids.size() > 0">
+            T1.id IN
+            <foreach item="item" collection="ids" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="tenantId != null " >
+            AND T1.tenant_id = #{tenantId}
+        </if>
+        </where>
+
     </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3