<?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.InvoiceRegistrationProductMapper">
|
|
<select id="invoiceRegistrationProductList" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
|
SELECT
|
T1.id ,
|
T1.sales_ledger_id ,
|
T1.sales_ledger_product_id ,
|
T1.invoice_registration_id ,
|
T1.product_category ,
|
T1.specification_model ,
|
T1.unit ,
|
T1.quantity ,
|
T1.tax_rate ,
|
T1.tax_inclusive_unit_price ,
|
T1.tax_inclusive_total_price ,
|
T1.tax_exclusive_total_price ,
|
T1.invoice_type ,
|
T1.invoice_num ,
|
T1.invoice_amount ,
|
T1.no_invoice_num ,
|
T1.no_invoice_amount ,
|
T1.create_time ,
|
T1.create_user ,
|
T1.update_time ,
|
T1.update_user ,
|
T1.tenant_id,
|
T2.sales_contract_no,
|
T2.customer_contract_no,
|
T2.customer_name,
|
T3.invoice_no,
|
T3.invoice_total,
|
T3.invoice_person,
|
T3.invoice_date,
|
T4.invoiceFileName
|
FROM invoice_registration_product T1
|
LEFT JOIN sales_ledger T2 ON T1.sales_ledger_id = T2.id
|
LEFT JOIN invoice_ledger T3 ON T1.id = T3.invoice_registration_product_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 = T3.id
|
<where>
|
<if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
|
AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
|
OR
|
T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
|
)
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceDate != null">
|
AND T3.invoice_date = #{invoiceRegistrationProductDto.invoiceDate}
|
</if>
|
</where>
|
ORDER BY T1.create_time DESC
|
</select>
|
|
<select id="invoiceRegistrationProductPage" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
|
SELECT
|
T1.id ,
|
T1.sales_ledger_id ,
|
T1.sales_ledger_product_id ,
|
T1.invoice_registration_id ,
|
T1.product_category ,
|
T1.specification_model ,
|
T1.unit ,
|
T1.quantity ,
|
T1.tax_rate ,
|
T1.tax_inclusive_unit_price ,
|
T1.tax_inclusive_total_price ,
|
T1.tax_exclusive_total_price ,
|
T1.invoice_type ,
|
T1.invoice_num ,
|
T1.invoice_amount ,
|
T1.no_invoice_num ,
|
T1.no_invoice_amount ,
|
T1.create_time ,
|
T1.create_user ,
|
T1.update_time ,
|
T1.update_user ,
|
T1.tenant_id,
|
T2.sales_contract_no,
|
T2.customer_contract_no,
|
T2.customer_name,
|
T3.invoice_no,
|
T3.id as invoice_ledger_id,
|
IFNULL(T3.invoice_total,0) AS invoice_total,
|
T3.invoice_person,
|
T3.invoice_date,
|
T4.invoiceFileName,
|
T2.project_name
|
FROM invoice_registration_product T1
|
LEFT JOIN sales_ledger T2 ON T1.sales_ledger_id = T2.id
|
RIGHT JOIN invoice_ledger T3 ON T1.id = T3.invoice_registration_product_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 = T3.id
|
<where>
|
<if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
|
AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
|
OR
|
T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
|
)
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceDateStart != null and invoiceRegistrationProductDto.invoiceDateStart != ''">
|
AND T3.invoice_date >= date_format(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceDateEnd != null and invoiceRegistrationProductDto.invoiceDateEnd != ''">
|
AND T3.invoice_date <= date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceDateStart != null and invoiceRegistrationProductDto.invoiceDateStart != ''">
|
AND T3.invoice_date >= date_format(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceDateEnd != null and invoiceRegistrationProductDto.invoiceDateEnd != ''">
|
AND T3.invoice_date <= date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceAmountStart != null">
|
AND T3.invoice_total >= #{invoiceRegistrationProductDto.invoiceAmountStart}
|
</if>
|
<if test="invoiceRegistrationProductDto.invoiceAmountEnd != null">
|
AND T3.invoice_total <= #{invoiceRegistrationProductDto.invoiceAmountEnd}
|
</if>
|
<if test="invoiceRegistrationProductDto.createTimeStart != null ">
|
AND T1.create_time >= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')
|
</if>
|
<if test="invoiceRegistrationProductDto.createTimeEnd != null ">
|
AND T1.create_time <= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')+interval 1 day
|
</if>
|
</where>
|
ORDER BY T1.create_time DESC
|
</select>
|
</mapper>
|