<?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.purchase.mapper.InvoicePurchaseMapper">
|
|
|
<select id="selectPurchaseReport" resultType="com.ruoyi.purchase.dto.InvoicePurchaseReportDto">
|
select sl.customer_contract_no,
|
sl.customer_name,
|
sl.project_name,
|
sl.contract_amount,
|
pl.contract_amount as purchase_amount,
|
sum(slp.tax_exclusive_total_price) as sale_tax_exclusive_total_price,
|
sum(pr.tax_exclusive_total_price) as tax_exclusive_total_price,
|
(sl.contract_amount-pl.contract_amount) as balance,
|
CONCAT(FORMAT((sl.contract_amount - pl.contract_amount) / sl.contract_amount * 100, 2), '%') AS balance_ratio,
|
sl.contract_amount-sum(slp.tax_exclusive_total_price)-(pl.contract_amount-sum(pr.tax_exclusive_total_price)) as balance_amount
|
from purchase_ledger pl
|
left join sales_ledger sl on pl.sales_ledger_id = sl.id
|
left join product_record pr on pr.purchase_ledger_id = pl.id
|
left join sales_ledger_product slp on slp.sales_ledger_id = sl.id
|
|
group by sl.customer_contract_no, sl.customer_name, sl.project_name, sl.contract_amount, pl.contract_amount
|
having sl.customer_contract_no is not null
|
<where>
|
<if test="c.customerName != null and c.customerName != ''">
|
and sl.customer_name like concat('%',#{c.customerName},'%')
|
</if>
|
</where>
|
</select>
|
</mapper>
|