no message

This commit is contained in:
AzureAD\SylvainDUVERNAY
2026-02-02 13:15:58 +01:00
parent 022f4e0a2a
commit 7f99b78c8a
16 changed files with 1031 additions and 69 deletions

View File

@@ -1,9 +1,9 @@
-- View: public.vw_utility_dim_physical_sale_contract
-- View: public.vw_utility_dim_physical_purchase_contract
-- DROP VIEW public.vw_utility_dim_physical_sale_contract;
-- DROP VIEW public.vw_utility_dim_physical_purchase_contract;
CREATE OR REPLACE VIEW public.vw_utility_dim_physical_sale_contract AS
SELECT 0 AS "intSaleLineId",
CREATE OR REPLACE VIEW public.vw_utility_dim_physical_purchase_contract AS
SELECT 0 AS "intPurchaseLineId",
''::character varying AS "strContractNb",
''::character varying AS "strCounterparty",
''::character varying AS "strReference",
@@ -27,45 +27,50 @@ CREATE OR REPLACE VIEW public.vw_utility_dim_physical_sale_contract AS
NULL::date AS "dtmDeliveryDateFrom",
NULL::date AS "dtmDeliveryDateTo"
UNION ALL
SELECT sl.id AS "intSaleLineId",
sc.number AS "strContractNb",
SELECT pl.id AS "intPurchaseLineId",
pc.number AS "strContractNb",
pty.name AS "strCounterparty",
sc.reference AS "strReference",
sc.sale_date AS "dtmContractDate",
sc.state AS "strContractStatus",
pc.reference AS "strReference",
pc.purchase_date AS "dtmContractDate",
CASE
WHEN pc.state::text = 'draft'::text THEN 'Draft'::text
WHEN pc.state::text = 'confirmed'::text THEN 'Confirmed'::text
WHEN pc.state::text = 'processing'::text THEN 'Processing'::text
ELSE 'Validated'::text
END AS "strContractStatus",
COALESCE(pt.name, ''::character varying) AS "strPaymentTerm",
cur.name AS "strCurrency",
COALESCE(sc.certification, ''::character varying) AS "strCertification",
COALESCE(pc.certification, ''::character varying) AS "strCertification",
COALESCE(wbs.name, ''::character varying) AS "strWeightBasis",
COALESCE(brk.name, ''::character varying) AS "strBroker",
COALESCE(cer.name, ''::character varying) AS "strCertif",
COALESCE(ass.name, ''::character varying) AS "strAssociation",
COALESCE(crp.name, ''::character varying) AS "strCrop",
sc.tol_min AS "dblTolMinPct",
sc.tol_max AS "dblTolMaxPct",
pc.tol_min AS "dblTolMinPct",
pc.tol_max AS "dblTolMaxPct",
COALESCE(inc.name, ''::character varying) AS "strIncoterm",
COALESCE(src.name, ''::character varying) AS "strLoadingPlace",
COALESCE(dst.name, ''::character varying) AS "strDestinationPlace",
concat('[', pr."strProductCode", '] ', pr."strTemplate") AS "strProduct",
COALESCE(pm.month_name) AS "strDeliveryPeriod",
sl.from_del AS "dtmDeliveryDateFrom",
sl.to_del AS "dtmDeliveryDateTo"
FROM sale_line sl
JOIN sale_sale sc ON sl.sale = sc.id
JOIN party_party pty ON sc.party = pty.id
JOIN currency_currency cur ON sc.currency = cur.id
LEFT JOIN party_party brk ON sc.broker = brk.id
LEFT JOIN account_invoice_payment_term pt ON sc.payment_term = pt.id
LEFT JOIN purchase_crop crp ON sc.crop = crp.id
LEFT JOIN purchase_certification cer ON sc.certif = cer.id
LEFT JOIN purchase_association ass ON sc.association = ass.id
LEFT JOIN purchase_weight_basis wbs ON sc.wb = wbs.id
LEFT JOIN stock_location src ON sc.from_location = src.id
LEFT JOIN stock_location dst ON sc.to_location = dst.id
LEFT JOIN incoterm_incoterm inc ON sc.incoterm = inc.id
JOIN vw_utility_product pr ON sl.product = pr."intProductId"
LEFT JOIN product_month pm ON sl.del_period = pm.id
WHERE 1 = 1 AND sl.type::text = 'line'::text;
pl.from_del AS "dtmDeliveryDateFrom",
pl.to_del AS "dtmDeliveryDateTo"
FROM purchase_line pl
JOIN purchase_purchase pc ON pl.purchase = pc.id
JOIN party_party pty ON pc.party = pty.id
JOIN currency_currency cur ON pc.currency = cur.id
LEFT JOIN party_party brk ON pc.broker = brk.id
LEFT JOIN account_invoice_payment_term pt ON pc.payment_term = pt.id
LEFT JOIN purchase_crop crp ON pc.crop = crp.id
LEFT JOIN purchase_certification cer ON pc.certif = cer.id
LEFT JOIN purchase_association ass ON pc.association = ass.id
LEFT JOIN purchase_weight_basis wbs ON pc.wb = wbs.id
LEFT JOIN stock_location src ON pc.from_location = src.id
LEFT JOIN stock_location dst ON pc.to_location = dst.id
LEFT JOIN incoterm_incoterm inc ON pc.incoterm = inc.id
JOIN vw_utility_product pr ON pl.product = pr."intProductId"
LEFT JOIN product_month pm ON pl.del_period = pm.id
WHERE 1 = 1 AND pl.type::text = 'line'::text AND pc.line_type::text = 'goods'::text;
ALTER TABLE public.vw_utility_dim_physical_sale_contract
ALTER TABLE public.vw_utility_dim_physical_purchase_contract
OWNER TO postgres;