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 | 294 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 220 insertions(+), 74 deletions(-) diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml index a73f338..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 @@ -185,60 +201,106 @@ T5.customer_name LIKE CONCAT('%',#{params.searchText},'%') </if> <if test="params.receiptPaymentDateStart != null and params.receiptPaymentDateStart != '' "> - AND T1.receipt_payment_date >= STR_TO_DATE(#{params.receiptPaymentDateStart},'yyyy-mm-dd') + 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 < STR_TO_DATE(#{params.receiptPaymentDateEnd}, '%Y-%m-%d') + AND T1.receipt_payment_date <= 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"> @@ -270,5 +332,89 @@ 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