Merge pull request #1609 from xtuple/4_5_x
[xtuple] / foundation-database / public / views / saleshistorymisc.sql
1 SELECT dropIfExists('view', 'saleshistorymisc');
2 CREATE VIEW saleshistorymisc AS
3 SELECT cohist.*,
4        CASE WHEN (cohist_invcnumber='-1') THEN 'Credit'
5             ELSE cohist_invcnumber
6        END AS invoicenumber,
7        cust_id, cust_number, cust_name, cust_curr_id, cust_custtype_id, custtype_code,
8        salesrep_number, salesrep_name, shipzone_id, shipzone_name,
9        itemsite_warehous_id, itemsite_item_id,
10        item_number, item_descrip1, (item_descrip1 || ' ' || item_descrip2) AS itemdescription,
11        item_prodcat_id, warehous_code, prodcat_code,
12        currtobase(cohist_curr_id, cohist_commission, cohist_invcdate) AS basecommission,
13        currtobase(cohist_curr_id, cohist_unitprice, cohist_invcdate) AS baseunitprice,
14        currtocurr(cohist_curr_id, cust_curr_id, cohist_unitprice, cohist_invcdate) AS custunitprice,
15        round((cohist_qtyshipped * cohist_unitprice), 2) AS extprice,
16        round((cohist_qtyshipped * currtobase(cohist_curr_id, cohist_unitprice, cohist_invcdate)), 2) AS baseextprice,
17        round((cohist_qtyshipped * currtocurr(cohist_curr_id, cust_curr_id, cohist_unitprice, cohist_invcdate)), 2) AS custextprice,
18        round((cohist_qtyshipped * cohist_unitcost), 4) AS extcost,
19        currConcat(cohist_curr_id) AS currAbbr,
20        'Return'::TEXT AS cohist_invcdate_xtnullrole,
21        'qty'::TEXT AS cohist_qtyshipped_xtnumericrole,
22        'salesprice'::TEXT AS cohist_unitprice_xtnumericrole,
23        'salesprice'::TEXT AS baseunitprice_xtnumericrole,
24        'curr'::TEXT AS custunitprice_xtnumericrole,
25        'curr'::TEXT AS custextprice_xtnumericrole,
26        'curr'::TEXT AS extprice_xtnumericrole,
27        'curr'::TEXT AS baseextprice_xtnumericrole,
28        'cost'::TEXT AS cohist_unitcost_xtnumericrole,
29        'curr'::TEXT AS extcost_xtnumericrole,
30        'curr'::TEXT AS cohist_commission_xtnumericrole,
31        'curr'::TEXT AS basecommission_xtnumericrole,
32        0 AS cohist_qtyshipped_xttotalrole,
33        0 AS custextprice_xttotalrole,
34        0 AS baseextprice_xttotalrole,
35        0 AS extcost_xttotalrole,
36        0 AS basecommission_xttotalrole
37 FROM cohist JOIN custinfo ON (cust_id=cohist_cust_id)
38             JOIN custtype ON (custtype_id=cust_custtype_id)
39             JOIN salesrep ON (salesrep_id=cohist_salesrep_id)
40             LEFT OUTER JOIN itemsite ON (itemsite_id=cohist_itemsite_id)
41             LEFT OUTER JOIN site() ON (warehous_id=itemsite_warehous_id)
42             LEFT OUTER JOIN item ON (item_id=itemsite_item_id)
43             LEFT OUTER JOIN prodcat ON (prodcat_id=item_prodcat_id)
44             LEFT OUTER JOIN shiptoinfo ON (shipto_id=cohist_shipto_id)
45             LEFT OUTER JOIN shipzone ON (shipzone_id=shipto_shipzone_id);
46
47 REVOKE ALL ON TABLE saleshistorymisc FROM PUBLIC;
48 GRANT  ALL ON TABLE saleshistorymisc TO GROUP xtrole;
49
50 COMMENT ON VIEW saleshistorymisc IS 'Single point for sales history (including misc. items) calculations.'
51 ;