You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
db-schema/db_scripts/diff/15420.up

37 lines
1.5 KiB

use billing;
create view _v_actual_effective_start_time as select
cbpn.contract_id as contract_id,
max(cbpns.effective_start_time) as effective_start_time
from billing.contracts_billing_profile_network_schedule cbpns
join billing.contracts_billing_profile_network cbpn on cbpns.profile_network_id = cbpn.id
where cbpns.effective_start_time <= unix_timestamp(now()) and cbpn.base = 1
group by cbpn.contract_id;
create or replace view v_actual_billing_profiles as select
est.contract_id as contract_id,
cbpn.billing_profile_id as billing_profile_id
from billing.contracts_billing_profile_network_schedule cbpns
join billing.contracts_billing_profile_network cbpn on cbpns.profile_network_id = cbpn.id
join billing._v_actual_effective_start_time est on est.contract_id = cbpn.contract_id and cbpns.effective_start_time = est.effective_start_time
where cbpn.base = 1;
create view v_contract_billing_profile_network_schedules as select
cbpns.id,
contract_id,
start_date,
end_date,
billing_profile_id as billing_profile_id,
billing_network_id as network_id,
effective_start_time,
from_unixtime(effective_start_time) as effective_start_date,
bp.name as billing_profile_name,
bp.handle as billing_profile_handle,
bn.name as billing_network_name
from
billing.contracts_billing_profile_network cbpn
join billing.contracts_billing_profile_network_schedule cbpns on cbpns.profile_network_id = cbpn.id
join billing.billing_profiles bp on bp.id = cbpn.billing_profile_id
left join billing.billing_networks bn on bn.id = cbpn.billing_network_id;