73 lines
2.5 KiB
PL/PgSQL
73 lines
2.5 KiB
PL/PgSQL
begin;
|
|
|
|
drop VIEW if exists public.v_quant_detail;
|
|
|
|
CREATE OR REPLACE VIEW public.v_quant_detail
|
|
AS WITH quant AS (
|
|
SELECT quant_purchase.j_id,
|
|
quant_purchase.qp_fiche AS fiche_id,
|
|
quant_purchase.qp_supplier AS tiers,
|
|
quant_purchase.qp_vat AS vat_amount,
|
|
quant_purchase.qp_price AS price,
|
|
quant_purchase.qp_vat_code AS vat_code,
|
|
quant_purchase.qp_dep_priv AS dep_priv,
|
|
quant_purchase.qp_nd_tva AS nd_tva,
|
|
quant_purchase.qp_nd_tva_recup AS nd_tva_recup,
|
|
quant_purchase.qp_nd_amount AS nd_amount,
|
|
quant_purchase.qp_vat_sided AS vat_sided
|
|
FROM quant_purchase
|
|
UNION ALL
|
|
SELECT quant_sold.j_id,
|
|
quant_sold.qs_fiche,
|
|
quant_sold.qs_client,
|
|
quant_sold.qs_vat,
|
|
quant_sold.qs_price,
|
|
quant_sold.qs_vat_code,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
quant_sold.qs_vat_sided
|
|
FROM quant_sold
|
|
),
|
|
sum_jrn as(
|
|
select jrn2.jr_id,
|
|
quant2.tiers,
|
|
sum(quant2.price) AS price,
|
|
quant2.vat_code,
|
|
sum(quant2.vat_amount) AS vat_amount,
|
|
sum(quant2.dep_priv) AS dep_priv,
|
|
sum(quant2.nd_tva) AS nd_tva,
|
|
sum(quant2.nd_tva_recup) AS nd_tva_recup,
|
|
sum(quant2.nd_amount) AS nd_amount,
|
|
sum(quant2.vat_sided) as vat_sided
|
|
from jrn jrn2
|
|
JOIN jrnx ON jrnx.j_grpt = jrn2.jr_grpt_id
|
|
JOIN quant quant2 USING (j_id)
|
|
group by quant2.tiers,jrn2.jr_id,quant2.vat_code
|
|
)
|
|
SELECT jrn.jr_id,
|
|
sum_jrn.tiers,
|
|
sum_jrn.price,
|
|
sum_jrn.vat_code,
|
|
sum_jrn.vat_amount,
|
|
sum_jrn.dep_priv,
|
|
sum_jrn.nd_tva,
|
|
sum_jrn.nd_tva_recup,
|
|
sum_jrn.nd_amount,
|
|
sum_jrn.vat_sided,
|
|
jrn_def.jrn_def_name,
|
|
jrn_def.jrn_def_type,
|
|
vw_fiche_name.name,
|
|
jrn.jr_comment,
|
|
jrn.jr_montant,
|
|
tva_rate.tva_label
|
|
FROM jrn
|
|
join sum_jrn on sum_jrn.jr_id=jrn.jr_id
|
|
LEFT JOIN vw_fiche_name ON sum_jrn.tiers = vw_fiche_name.f_id
|
|
JOIN jrn_def ON jrn_def.jrn_def_id = jrn.jr_def_id
|
|
JOIN tva_rate ON tva_rate.tva_id = sum_jrn.vat_code
|
|
;
|
|
|
|
insert into version (val,v_description) values (202,'Bug with reconcile, improve view');
|
|
commit;
|