From beb0fc04f59f4f448e70d8de9ae39161632de2fb Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期四, 03 七月 2025 11:22:28 +0800 Subject: [PATCH] 2025-07-01 添加设备维修保养的设备名称合型号字段 --- src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 0 deletions(-) diff --git a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml index 9a04b88..fe0b44c 100644 --- a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml +++ b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml @@ -29,4 +29,115 @@ </if> </where> </select> + <select id="listVat" resultType="com.ruoyi.purchase.dto.VatDto"> + select * + from (SELECT + COALESCE(a1.month, a2.month) AS month, + IFNULL(a1.tax_amount, 0) AS j_tax_amount, + IFNULL(a2.x_tax_amount, 0) AS x_tax_amount + FROM ( + -- 绗竴涓煡璇細鏉ヨ嚜 invoice_ledger 鐨勭◣棰� + SELECT + DATE_FORMAT(il.invoice_date, '%Y-%m') AS month, + ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount + FROM invoice_ledger il + LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id + WHERE il.invoice_no IS NOT NULL + AND invoice_type = '澧炰笓绁�' + GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m') + ) a1 + LEFT JOIN ( + -- 绗簩涓煡璇細鏉ヨ嚜 ticket_registration 鐨勭◣棰� + SELECT + DATE_FORMAT(a.issue_date, '%Y-%m') AS month, + SUM(a.invoice_amount) AS x_tax_amount + FROM ( + SELECT DISTINCT pr.id, + tr.issue_date, + ROUND(pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS un_tickets_price, + ROUND(pr.tickets_amount - pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS invoice_amount + FROM product_record pr + LEFT JOIN purchase_ledger pl ON pl.id = pr.purchase_ledger_id + LEFT JOIN sales_ledger sl ON sl.id = pl.sales_ledger_id + LEFT JOIN ticket_registration tr ON tr.purchase_ledger_id = pl.id + LEFT JOIN product_model pm ON pm.id = pr.product_model_id + WHERE type = 2 + AND tr.invoice_number IS NOT NULL + ) a + GROUP BY DATE_FORMAT(a.issue_date, '%Y-%m') + ) a2 ON a1.month = a2.month + + UNION ALL + + SELECT + COALESCE(a1.month, a2.month) AS month, + IFNULL(a1.tax_amount, 0) AS tax_amount, + IFNULL(a2.x_tax_amount, 0) AS x_tax_amount + FROM ( + -- 绗簩涓煡璇細鏉ヨ嚜 ticket_registration 鐨勭◣棰濓紙鍙嶈繃鏉ヨˉ鍏ㄦ病鏈夊尮閰嶅埌鐨勶級 + SELECT + DATE_FORMAT(a.issue_date, '%Y-%m') AS month, + SUM(a.invoice_amount) AS x_tax_amount + FROM ( + SELECT DISTINCT pr.id, + tr.issue_date, + ROUND(pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS un_tickets_price, + ROUND(pr.tickets_amount - pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS invoice_amount + FROM product_record pr + LEFT JOIN purchase_ledger pl ON pl.id = pr.purchase_ledger_id + LEFT JOIN sales_ledger sl ON sl.id = pl.sales_ledger_id + LEFT JOIN ticket_registration tr ON tr.purchase_ledger_id = pl.id + LEFT JOIN product_model pm ON pm.id = pr.product_model_id + WHERE type = 2 + AND tr.invoice_number IS NOT NULL + ) a + GROUP BY DATE_FORMAT(a.issue_date, '%Y-%m') + ) a2 + LEFT JOIN ( + -- 绗竴涓煡璇細鏉ヨ嚜 invoice_ledger 鐨勭◣棰� + SELECT + DATE_FORMAT(il.invoice_date, '%Y-%m') AS month, + ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount + FROM invoice_ledger il + LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id + WHERE il.invoice_no IS NOT NULL + AND invoice_type = '澧炰笓绁�' + GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m') + ) a1 ON a1.month = a2.month + WHERE a1.month IS NULL + ORDER BY month + )as a + <where> + <if test="month != null"> + and a.month = date_format(#{month}) + </if> + </where> + + </select> + <select id="listVat1" resultType="com.ruoyi.purchase.dto.VatDto"> + # SELECT +# DATE_FORMAT(il.invoice_date, '%Y-%m') AS month, +# ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount +# FROM invoice_ledger il +# LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id +# WHERE il.invoice_no IS NOT NULL +# AND invoice_type = '澧炰笓绁�' +# GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m') +# ORDER BY month; +# select DATE_FORMAT(a.issue_date, '%Y-%m'), sum(a.invoice_amount) as xTaxAmount +# from (SELECT distinct pr.id, +# tr.issue_date, +# ROUND(pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS un_tickets_price, +# ROUND(pr.tickets_amount - pr.tickets_amount / (1 + pr.tax_rate / 100), +# 2) AS invoice_amount +# FROM product_record pr +# LEFT JOIN purchase_ledger pl ON pl.id = pr.purchase_ledger_id +# LEFT JOIN sales_ledger sl ON sl.id = pl.sales_ledger_id +# LEFT JOIN ticket_registration tr ON tr.purchase_ledger_id = pl.id +# LEFT JOIN product_model pm ON pm.id = pr.product_model_id +# WHERE type = 2 +# and tr.invoice_number is not null) a +# GROUP BY DATE_FORMAT(a.issue_date, '%Y-%m') + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.3