From 0f9d68697da12477342cc41825737b282a215f32 Mon Sep 17 00:00:00 2001 From: einhverfr Date: Thu, 20 Dec 2007 00:07:59 +0000 Subject: More contact, payment, voucher fixes/enhancements git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1984 4979c152-3d1c-0410-bac9-87ea11338e46 --- sql/modules/Company.sql | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'sql/modules/Company.sql') diff --git a/sql/modules/Company.sql b/sql/modules/Company.sql index cac1a5ac..ff2795af 100644 --- a/sql/modules/Company.sql +++ b/sql/modules/Company.sql @@ -126,7 +126,10 @@ CREATE TYPE entity_credit_search_return AS ( pricegroup_id int, curr char(3), startdate date, - enddate date + enddate date, + ar_ap_account_id int, + cash_account_id int, + threshold numeric ); COMMENT ON TYPE entity_credit_search_return IS @@ -142,7 +145,8 @@ BEGIN SELECT c.legal_name, c.id, e.id, ec.entity_class, ec.discount, ec.taxincluded, ec.creditlimit, ec.terms, ec.meta_number, ec.business_id, ec.language_code, ec.pricegroup_id, - ec.curr::char(3), ec.startdate, ec.enddate + ec.curr::char(3), ec.startdate, ec.enddate, ec.ar_ap_account_id, + ec.cash_account_id, ec.threshold INTO out_row FROM company c JOIN entity e ON (c.entity_id = e.id) @@ -166,7 +170,9 @@ CREATE OR REPLACE FUNCTION entity_credit_save ( in_curr char, in_startdate date, in_enddate date, in_notes text, in_name text, in_tax_id TEXT, - in_threshold NUMERIC + in_threshold NUMERIC, + in_ar_ap_account_id int, + in_cash_account_id int ) returns INT as $$ @@ -178,7 +184,7 @@ CREATE OR REPLACE FUNCTION entity_credit_save ( BEGIN -- TODO: Move every table to an upsert mode independantly. - SELECT INTO v_row * FROM company WHERE id = in_id; + SELECT INTO v_row * FROM company WHERE legal_name = in_name; IF NOT FOUND THEN -- do some inserts @@ -209,7 +215,9 @@ CREATE OR REPLACE FUNCTION entity_credit_save ( startdate, enddate, discount_terms, - threshold + threshold, + ar_ap_account_id, + cash_account_id ) VALUES ( new_entity_id, @@ -226,7 +234,9 @@ CREATE OR REPLACE FUNCTION entity_credit_save ( in_startdate, in_enddate, in_discount_terms, - in_threshold + in_threshold, + in_ar_ap_account_id, + in_cash_account_id ); -- entity note class insert into entity_note (note_class, note, ref_key, vector) VALUES ( @@ -236,12 +246,14 @@ CREATE OR REPLACE FUNCTION entity_credit_save ( ELSIF FOUND THEN - update company set tax_id = in_tax_id where id = in_id; + update company set tax_id = in_tax_id where id = v_row.id; update entity_credit_account SET discount = in_discount, taxincluded = in_taxincluded, creditlimit = in_creditlimit, terms = in_terms, + ar_ap_account_id = in_ar_ap_account_id, + cash_account_id = in_cash_account_id, meta_number = in_meta_number, business_id = in_business_id, language_code = in_language, @@ -253,12 +265,7 @@ CREATE OR REPLACE FUNCTION entity_credit_save ( discount_terms = in_discount_terms where entity_id = v_row.entity_id; - - UPDATE entity_note SET - note = in_note - WHERE ref_key = v_row.entity_id; - return in_id; - + return v_row.entity_id; END IF; END; -- cgit v1.2.3