diff --git a/migrations/000.533.sql b/migrations/000.533.sql new file mode 100644 index 0000000..d64aa96 --- /dev/null +++ b/migrations/000.533.sql @@ -0,0 +1,42 @@ +DROP VIEW IF EXISTS public.v_analytics_orders_rows_not_delivered_with_paint; + +CREATE VIEW public.v_analytics_orders_rows_not_delivered_with_paint + AS + SELECT order_rows.id AS order_row_id, + orders.id AS orderid, + orders.inserted AS order_date, + CASE + WHEN order_rows.sub_type IN ('paint_card_sample', 'wall_paint') THEN order_rows.sub_type::text + WHEN order_rows.type IN ('sample'::order_row_type, 'stock'::order_row_type) THEN order_rows.type::text + ELSE order_rows.data ->> 'group'::text + END AS product_group, + order_rows.data ->> 'artNo'::text AS artno, + order_rows.status::text AS status, + order_rows.data ->> 'name'::text AS name, + order_rows.data ->> 'material'::text AS material, + CASE + WHEN sub_type IN ('paint_card_sample', 'wall_paint') THEN order_rows.data ->> 'name' + ELSE null + END AS paint_name, + CASE + WHEN sub_type IN ('wall_paint') THEN (order_rows.data ->> 'paintLiters')::numeric + ELSE null + END AS paint_liters, + CASE + WHEN sub_type IN ('paint_card_sample', 'wall_paint') THEN order_rows.data ->> 'paintColor' + ELSE null + END AS paint_ncs + FROM order_rows + JOIN orders ON order_rows.order_id = orders.id + WHERE (orders.confirmed = 1 AND orders.delivered = 0 AND orders.canceled = 0 AND orders.paid = 1) + AND ( + order_rows.type IN ( + 'print'::order_row_type, + 'sample'::order_row_type, + 'stock'::order_row_type + ) OR order_rows.sub_type IN ( + 'paint_card_sample', + 'wall_paint' + ) + ) + AND NOT order_rows.type = 'refund';