Revision 9fda7972
Von Bernd Bleßmann vor mehr als 4 Jahren hinzugefügt
SL/DB/MetaSetup/Order.pm | ||
---|---|---|
21 | 21 |
delivery_vendor_id => { type => 'integer' }, |
22 | 22 |
department_id => { type => 'integer' }, |
23 | 23 |
employee_id => { type => 'integer' }, |
24 |
exchangerate => { type => 'numeric', precision => 15, scale => 5 }, |
|
24 | 25 |
expected_billing_date => { type => 'date' }, |
25 | 26 |
globalproject_id => { type => 'integer' }, |
26 | 27 |
id => { type => 'integer', not_null => 1, sequence => 'id' }, |
sql/Pg-upgrade2/exchangerate_in_oe.sql | ||
---|---|---|
1 |
-- @tag: exchangerate_in_oe |
|
2 |
-- @description: Wechselkurs pro Angebot/Auftrag in Belegtabelle speichern |
|
3 |
-- @depends: release_3_5_5 |
|
4 |
|
|
5 |
ALTER TABLE oe ADD COLUMN exchangerate NUMERIC(15,5); |
|
6 |
|
|
7 |
WITH table_ex AS |
|
8 |
(SELECT oe.id, COALESCE(CASE WHEN customer_id IS NOT NULL THEN buy ELSE sell END, 1.0) AS exchangerate FROM oe |
|
9 |
LEFT JOIN exchangerate ON (oe.transdate = exchangerate.transdate AND oe.currency_id = exchangerate.currency_id) |
|
10 |
WHERE oe.currency_id != (SELECT currency_id FROM defaults)) |
|
11 |
UPDATE oe SET exchangerate = (SELECT exchangerate FROM table_ex WHERE table_ex.id = oe.id) |
|
12 |
WHERE EXISTS (SELECT table_ex.exchangerate FROM table_ex WHERE table_ex.id = oe.id); |
Auch abrufbar als: Unified diff
Wechselkurs pro Angebot/Auftrag: DB-Upgrade-Skript + Rose
exchangerate direkt in Tabelle oe ablegen.
Die Implementierung, um bei Angeboten/Aufträgen den Wechselkurs pro Beleg
zu speichern folgt in weiteren commits und wird erstmal nur für den neuen
Auftrags-Controller umgesetzt.
Bezieht sich auch auf #135
Refs #135