26 lines
945 B
TypeScript
26 lines
945 B
TypeScript
/**
|
|
* 与 OneOS VehicleInfoMapper.LatestVehicleLeaseJoin 保持一致。
|
|
* vi 为车辆表;vor 为当前业务记录;c 为合同。
|
|
* 还车会清空 vor 的客户与合同信息,调用方不得用历史档案补回空值。
|
|
*/
|
|
export const LATEST_VEHICLE_LEASE_JOIN_SQL = `LEFT JOIN (
|
|
SELECT ranked_record.*
|
|
FROM (
|
|
SELECT source_record.*,
|
|
ROW_NUMBER() OVER (
|
|
PARTITION BY source_record.vehicle_id
|
|
ORDER BY COALESCE(
|
|
source_record.last_delivery_time,
|
|
source_record.last_return_time,
|
|
source_record.update_time
|
|
) DESC, source_record.id DESC
|
|
) AS lease_rn
|
|
FROM vehicle_lease_order_record source_record
|
|
WHERE source_record.del_flag = '0'
|
|
) ranked_record
|
|
WHERE ranked_record.lease_rn = 1
|
|
) vor ON vor.vehicle_id = vi.id
|
|
LEFT JOIN vehicle_lease_contract_info c
|
|
ON c.id = vor.contract_id
|
|
AND c.del_flag = '0'`;
|