| | |
| | | IFNULL(T3.returnAmount, 0) AS returnAmount |
| | | from sales_ledger sl |
| | | left join ( |
| | | select |
| | | sl.id, |
| | | sum(ascc.collection_amount) as receiptPaymentAmount |
| | | from account_sales_collection ascc |
| | | left join stock_out_record sor on FIND_IN_SET(sor.id, ascc.stock_out_record_ids) > 0 |
| | | left join shipping_info s on sor.record_id = s.id |
| | | LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id |
| | | WHERE sor.record_type='13' |
| | | and sor.approval_status=1 |
| | | group by sl.id |
| | | -- 一笔收款可能关联多张出库单,先按「收款单 + 销售台账」去重再求和, |
| | | -- 否则 FIND_IN_SET 展开后会按出库单条数把同一笔收款重复累加 |
| | | select x.id, |
| | | sum(x.collection_amount) as receiptPaymentAmount |
| | | from ( |
| | | select distinct |
| | | ascc.id as collection_id, |
| | | ascc.collection_amount, |
| | | sl.id as id |
| | | from account_sales_collection ascc |
| | | left join stock_out_record sor on FIND_IN_SET(sor.id, ascc.stock_out_record_ids) > 0 |
| | | left join shipping_info s on sor.record_id = s.id |
| | | left join sales_ledger sl on s.sales_ledger_id = sl.id |
| | | WHERE sor.record_type='13' |
| | | and sor.approval_status=1 |
| | | ) x |
| | | where x.id is not null |
| | | group by x.id |
| | | )T1 on T1.id = sl.id |
| | | left join ( |
| | | select sl.id, |