| | |
| | | <select id="selectSalesLedgerListPage" resultType="com.ruoyi.sales.vo.SalesLedgerVo"> |
| | | SELECT T1.id, |
| | | T1.sales_contract_no, |
| | | T1.master_contract_no, |
| | | T1.customer_contract_no, |
| | | T1.project_name, |
| | | T1.entry_date, |
| | |
| | | T1.payment_method, |
| | | T1.delivery_date, |
| | | DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff, |
| | | IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh |
| | | IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh, |
| | | T3.purchase_contract_number, |
| | | T3.master_contract_no AS purchaseMasterContractNo, |
| | | IFNULL(rs.total_return_num, 0) AS returnedQuantity, |
| | | CASE |
| | | WHEN IFNULL(rs.total_return_num, 0) = 0 THEN '无退货' |
| | | WHEN IFNULL(rs.total_return_num, 0) >= IFNULL(shipping_qty.total_qty, 0) THEN '全部退货' |
| | | ELSE '部分退货' |
| | | END AS returnStatus |
| | | FROM sales_ledger T1 |
| | | LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id |
| | | LEFT JOIN ( |
| | |
| | | FROM shipping_info |
| | | GROUP BY sales_ledger_id |
| | | ) shipping_status_counts ON T1.id = shipping_status_counts.sales_ledger_id |
| | | LEFT JOIN purchase_ledger T3 ON T1.purchase_ledger_id = T3.id |
| | | LEFT JOIN ( |
| | | SELECT si.sales_ledger_id, SUM(sor.stock_out_num) AS total_qty |
| | | FROM shipping_info si |
| | | LEFT JOIN stock_out_record sor ON sor.record_id = si.id AND sor.record_type = '13' AND sor.approval_status = 1 |
| | | GROUP BY si.sales_ledger_id |
| | | ) shipping_qty ON shipping_qty.sales_ledger_id = T1.id |
| | | LEFT JOIN ( |
| | | SELECT si.sales_ledger_id, SUM(rsp.num) AS total_return_num |
| | | FROM return_sale_product rsp |
| | | LEFT JOIN return_management rm ON rm.id = rsp.return_management_id |
| | | LEFT JOIN shipping_info si ON si.id = rm.shipping_id |
| | | WHERE rm.status = 1 |
| | | GROUP BY si.sales_ledger_id |
| | | ) rs ON rs.sales_ledger_id = T1.id |
| | | |
| | | <where> |
| | | <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' "> |
| | |
| | | </if> |
| | | <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' "> |
| | | AND T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%') |
| | | </if> |
| | | <if test="salesLedgerDto.masterContractNo != null and salesLedgerDto.masterContractNo != '' "> |
| | | AND T1.master_contract_no LIKE CONCAT('%',#{salesLedgerDto.masterContractNo},'%') |
| | | </if> |
| | | <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' "> |
| | | AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%') |
| | |
| | | and c.customer_name like concat('%',#{customerName},'%') |
| | | </if> |
| | | </where> |
| | | order by sl.create_time desc |
| | | order by sl.entry_date desc |
| | | </select> |
| | | |
| | | </mapper> |