Changes between Version 2 and Version 3 of Faza2


Ignore:
Timestamp:
06/11/26 13:43:01 (5 days ago)
Author:
231042
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Faza2

    v2 v3  
    21211. '''new_event_ticket_sales_status'''
    2222* '''Опис:''' Овој поглед врши агрегација на продадени билети по настан и сектор. Се користи за генерирање извештаи за пополнетост на капацитетот на објектите.
     23{{{
     24CREATE OR REPLACE VIEW public.new_event_ticket_sales_status
     25AS WITH preaggregatedtickets AS (
     26         SELECT ticket.event_event_id,
     27            ticket.section_section_id,
     28            count(ticket.ticket_id) AS sold_per_section
     29           FROM ticket
     30          WHERE ticket.refund_refund_id IS NULL
     31          GROUP BY ticket.event_event_id, ticket.section_section_id
     32        )
     33 SELECT e.event_id,
     34    e.title,
     35    v.capacity AS total_capacity,
     36    sum(pat.sold_per_section) OVER (PARTITION BY e.event_id)::bigint AS total_sold,
     37    (v.capacity::numeric - sum(pat.sold_per_section) OVER (PARTITION BY e.event_id))::bigint AS tickets_remaining,
     38    s.section_name,
     39    COALESCE(pat.sold_per_section, 0::bigint) AS sold_per_section
     40   FROM event e
     41     JOIN venue v ON e.venue_venue_id = v.venue_id
     42     LEFT JOIN preaggregatedtickets pat ON e.event_id = pat.event_event_id
     43     LEFT JOIN section s ON pat.section_section_id = s.section_id;
     44}}}
    23452. '''new_user_ticket_history'''
    2446* '''Опис:''' Погледот ги поврзува корисниците, резервациите, билетите и настаните за да прикаже детална историја на купени билети, цени и статус на настаните. Клучен е за приказ на корисничкиот профил.
     47{{{
     48CREATE OR REPLACE VIEW public.new_user_ticket_history
     49AS SELECT u.user_id,
     50    u.username,
     51    t.ticket_id,
     52    t.price,
     53    t.is_used,
     54    e.title AS event_title,
     55    e.date AS event_date,
     56    r.status AS reservation_status,
     57        CASE
     58            WHEN e.date < CURRENT_DATE THEN 'Past Event'::text
     59            ELSE 'Upcoming Event'::text
     60        END AS event_status
     61   FROM "User" u
     62     JOIN reservation r ON u.user_id = r.user_user_id
     63     JOIN ticket t ON r.reservation_id = t.reservation_reservation_id
     64     JOIN event e ON t.event_event_id = e.event_id;
     65}}}
    25663. '''new_active_events_3_months'''
    2667* '''Опис:''' Погледот служи за брзо дофаќање на сите активни настани во наредните 3 месеци и се користи за приказ на претстојните случувања на почетната страна.
     68{{{
     69CREATE OR REPLACE VIEW public.new_active_events_3_months
     70AS SELECT e.event_id,
     71    e.title,
     72    e.event_type,
     73    e.date,
     74    v.venue_name,
     75    c.city_name
     76   FROM event e
     77     JOIN venue v ON e.venue_venue_id = v.venue_id
     78     JOIN city c ON v.city_city_id = c.city_id
     79  WHERE e.date >= CURRENT_DATE AND e.date <= (CURRENT_DATE + '3 mons'::interval)
     80  ORDER BY e.date;
     81}}}