修改ckb_order_cards
This commit is contained in:
parent
08141771a2
commit
c21b6b27fa
@ -1,47 +1,59 @@
|
|||||||
DROP MATERIALIZED VIEW IF EXISTS ckb_order_cards;
|
DROP MATERIALIZED VIEW IF EXISTS ckb_order_cards;
|
||||||
CREATE MATERIALIZED VIEW ckb_order_cards AS
|
CREATE MATERIALIZED VIEW ckb_order_cards AS
|
||||||
|
WITH v as (
|
||||||
|
SELECT DISTINCT ON (sim)
|
||||||
|
id,
|
||||||
|
sim,
|
||||||
|
order_id,
|
||||||
|
company_id,
|
||||||
|
package_id,
|
||||||
|
service_start_at,
|
||||||
|
created_at
|
||||||
|
FROM virtual_order_cards_partition
|
||||||
|
ORDER BY sim,type
|
||||||
|
)
|
||||||
SELECT
|
SELECT
|
||||||
v.id,
|
v.id AS id,
|
||||||
v.sim,
|
v.sim,
|
||||||
cards.imsi,
|
cards.imsi,
|
||||||
cards.iccid,
|
cards.iccid,
|
||||||
v.order_id,
|
v.order_id AS order_id,
|
||||||
COALESCE (n.company_id, v.company_id) AS company_id,
|
COALESCE (n.company_id, v.company_id) AS company_id,
|
||||||
c.NAME AS company_name,
|
c.name AS company_name,
|
||||||
COALESCE (n.package_id, v.package_id) AS package_id,
|
COALESCE (n.package_id, v.package_id) AS package_id,
|
||||||
p.NAME AS package_name,
|
p.name AS package_name,
|
||||||
p.sn AS package_sn,
|
p.sn AS package_sn,
|
||||||
p.carrier_operator,
|
p.carrier_operator,
|
||||||
p.flows,
|
p.flows,
|
||||||
t.service_start_at,
|
v.service_start_at AS service_start_at,
|
||||||
t.service_end_at,
|
m.service_end_at AS service_end_at,
|
||||||
v.created_at AS order_at,
|
v.created_at AS order_at,
|
||||||
v.created_at,
|
v.created_at AS created_at,
|
||||||
t.updated_at
|
m.updated_at AS updated_at
|
||||||
FROM
|
FROM v
|
||||||
virtual_order_cards_partition v
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
virtual_order_cards_partition.sim,
|
|
||||||
MIN ( virtual_order_cards_partition.service_start_at ) AS service_start_at,
|
|
||||||
MAX ( virtual_order_cards_partition.service_end_at ) AS service_end_at,
|
|
||||||
MAX ( virtual_order_cards_partition.updated_at ) AS updated_at
|
|
||||||
FROM
|
|
||||||
virtual_order_cards_partition
|
|
||||||
GROUP BY
|
|
||||||
virtual_order_cards_partition.sim
|
|
||||||
) t ON t.sim = v.sim
|
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
virtual_order_cards_partition.sim,
|
sim,
|
||||||
virtual_order_cards_partition.company_id,
|
MAX(service_end_at) AS service_end_at,
|
||||||
virtual_order_cards_partition.package_id
|
MAX(updated_at) AS updated_at
|
||||||
|
FROM
|
||||||
|
virtual_order_cards_partition
|
||||||
|
WHERE deleted_at is null AND refunded_at is null
|
||||||
|
GROUP BY sim
|
||||||
|
) m ON m.sim = v.sim
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT ON (sim)
|
||||||
|
sim,
|
||||||
|
company_id,
|
||||||
|
package_id
|
||||||
FROM
|
FROM
|
||||||
virtual_order_cards_partition
|
virtual_order_cards_partition
|
||||||
WHERE
|
WHERE
|
||||||
virtual_order_cards_partition.service_start_at <= now() AND virtual_order_cards_partition.service_end_at >= now()
|
service_start_at < now() AND service_end_at >= now()
|
||||||
) n ON n.sim = v.sim
|
AND deleted_at is null AND refunded_at is null
|
||||||
|
ORDER BY sim, service_start_at desc
|
||||||
|
) n ON n.sim = v.sim
|
||||||
LEFT JOIN cards ON cards.sim = v.sim
|
LEFT JOIN cards ON cards.sim = v.sim
|
||||||
LEFT JOIN virtual_packages p ON p.ID = COALESCE (n.package_id, v.package_id)
|
LEFT JOIN virtual_packages p ON p.id = COALESCE (n.package_id, v.package_id) AND p.deleted_at is null
|
||||||
LEFT JOIN virtual_companies c ON c.id = COALESCE (n.company_id, v.company_id)
|
LEFT JOIN virtual_companies c ON c.id = COALESCE (n.company_id, v.company_id) AND c.deleted_at is null
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user