From cf81081543d82c09626b096498b803f3160c504a Mon Sep 17 00:00:00 2001 From: sparkyx Date: Thu, 27 Dec 2007 17:14:05 +0000 Subject: [PATCH] upgrade SQL and add missing files --- html/bud_search_poste.php | 130 +++++++++++++++++++++++++++++++++++++ include/class_bud_data.php | 2 +- sql/upgrade.sql | 115 ++++++++++++++++++++++++++------ 3 files changed, 226 insertions(+), 21 deletions(-) create mode 100644 html/bud_search_poste.php diff --git a/html/bud_search_poste.php b/html/bud_search_poste.php new file mode 100644 index 000000000..3a40dbee1 --- /dev/null +++ b/html/bud_search_poste.php @@ -0,0 +1,130 @@ +Check(); + + + +echo JS_BUD_SCRIPT; + +require_once('class_dossier.php'); +$gDossier=dossier::id(); + +$c_comment=""; +$c_class=""; + +$condition=""; +$cn=DbConnect($gDossier); +extract ($_GET); + +if ( isset($_GET['search']) ) { + + $condition=""; + if ( isset($p_comment) && strlen(trim($p_comment)) != 0 ) { + $condition=" where (upper(pcm_lib) like upper('%$p_comment%') or ". + " pcm_val::text like '$p_comment%') ". + " and (pcm_val::text like '7%' or pcm_val::text like '6%') "; + } else { + $condition="where pcm_val::text like '7%' or pcm_val::text like '6%' "; + } + +} + +// Control to update in the calling doc. +if ( isset($_GET['p_ctl'])) { + $p_ctl=$_GET['p_ctl']; +} + + +echo '
'; +echo dossier::hidden(); +if ( isset($p_ctl) ) { + if ($p_ctl != 'not') echo ''; +} +echo ''; +echo ''; + + +echo ''; +echo ''; +if ( ! isset ($p_comment) ) $p_comment=""; +echo ''; +echo '
Libellé ou poste comptable contient
'; +echo ''; +echo '
'; + +// if request search +if ( isset($_GET['search'])){ + $Res=ExecSql($cn,"select pcm_val,pcm_lib from tmp_pcmn $condition order by pcm_val::text"); + + $MaxLine=pg_NumRows($Res); + if ( $MaxLine==0) { + html_page_stop(); + return; + } + echo ''; + $l_id=""; + + for ( $i=0; $i < $MaxLine; $i++) { + $l_line=pg_fetch_array($Res,$i); + echo ""; + // if p_ctl is set we need to be able to return the value + if (isset($p_ctl) && $p_ctl != 'not' ){ + echo ''; + } + echo ''; + + echo ''; + echo ""; + + } + + echo '
'; + $slabel=FormatString($l_line['pcm_lib']); + echo ''; + echo ''; + echo $l_line['pcm_val']; + echo ''; + echo $l_line['pcm_lib']; + echo '
'; +} +echo ''; +html_page_stop(); +?> diff --git a/include/class_bud_data.php b/include/class_bud_data.php index d2485379e..eac192eaf 100644 --- a/include/class_bud_data.php +++ b/include/class_bud_data.php @@ -65,7 +65,7 @@ class Bud_Data { if ( $this->po_id == -1) $sql_po_id="po_id is null"; else - $sql_po_id=".$this->po_id"; + $sql_po_id="po_id = $this->po_id"; $sql=" select bd_id,bc_id,bc_code,bd.bh_id,bd.bh_name,". " tmp_pcmn.pcm_val as pcm_val,pcm_lib ". " from bud_detail ". diff --git a/sql/upgrade.sql b/sql/upgrade.sql index 69baeb979..b3173446a 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -1,4 +1,61 @@ begin; +alter table import_tmp alter montant numeric (20,4); +alter table import_tmp alter montant set default 0; +alter table import_tmp alter montant set not null; +alter table import_tmp alter code set not null; +alter table import_tmp alter date_exec set not null; +alter table import_tmp alter date_valeur set not null; + +COMMENT ON TABLE import_tmp IS 'Table temporaire pour l''importation des banques en format CSV'; +COMMENT ON COLUMN import_tmp.status IS 'Status w waiting, d delete t transfert' + + +alter table poste_analytique add column ga_id varchar (10); + +CREATE or replace FUNCTION t_document_validate() RETURNS "trigger" + AS $$ +declare + lText text; + modified document%ROWTYPE; +begin + modified:=NEW; + modified.d_filename:=replace(NEW.d_filename,' ','_'); + return modified; +end; +$$ + LANGUAGE plpgsql; + + +CREATE or replace FUNCTION t_document_type_insert() RETURNS "trigger" + AS $$ +declare +nCounter integer; + BEGIN +select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id; +if nCounter = 0 then + execute 'create sequence seq_doc_type_'||NEW.dt_id; +raise notice 'Creating sequence seq_doc_type_%',NEW.dt_id; +end if; + RETURN NEW; + END; +$$ + LANGUAGE plpgsql; + +CREATE or replace FUNCTION t_document_modele_validate() RETURNS "trigger" + AS $$ +declare + lText text; + modified document_modele%ROWTYPE; +begin + modified:=NEW; + + modified.md_filename:=replace(NEW.md_filename,' ','_'); + return modified; +end; +$$ + LANGUAGE plpgsql; + + CREATE TABLE groupe_analytique ( ga_id varchar(10) NOT NULL, @@ -88,7 +145,7 @@ CREATE TRIGGER t_plan_analytique_ins_upd EXECUTE PROCEDURE plan_analytic_ins_upd(); CREATE TRIGGER t_group_analytic_del - AFTER DELETE + before DELETE ON groupe_analytique FOR EACH ROW EXECUTE PROCEDURE group_analytique_del(); @@ -121,7 +178,7 @@ WITHOUT OIDS; create sequence seq_bud_hypothese_bh_id; -alter table bud_hypothese alter bh_id default nextval('seq_bud_hypothese_bh_id'); +alter table bud_hypothese alter bh_id set default nextval('seq_bud_hypothese_bh_id'); -- -- Name: bud_card; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: @@ -198,23 +255,6 @@ ALTER TABLE bud_card ALTER COLUMN bh_id SET NOT NULL; --- --- Name: t_bud_card_ins_up; Type: TRIGGER; Schema: public; Owner: phpcompta --- - -CREATE TRIGGER t_bud_card_ins_up - BEFORE INSERT OR UPDATE ON bud_card - FOR EACH ROW - EXECUTE PROCEDURE bud_card_ins_upd(); - - --- --- Name: bud_hypothese_bh_id; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY bud_card - ADD CONSTRAINT bud_hypothese_bh_id FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE; - -- -- Name: bud_detail; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: -- @@ -322,7 +362,7 @@ ALTER TABLE ONLY bud_detail ADD CONSTRAINT fk_bud_card FOREIGN KEY (bc_id) REFERENCES bud_card(bc_id) ON UPDATE CASCADE ON DELETE CASCADE;; ALTER TABLE ONLY bud_detail - set fk_bud_hypothese_not_null FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;; + add constraint fk_bud_hypothese_not_null FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;; -- @@ -432,6 +472,41 @@ return mline; end;$BODY$ LANGUAGE 'plpgsql' VOLATILE; + +CREATE OR REPLACE FUNCTION bud_card_ins_upd() + RETURNS "trigger" AS +$BODY$declare + sCode text; +begin + +sCode:=trim(upper(NEW.bc_code)); +sCode:=replace(sCode,' ','_'); +sCode:=substr(sCode,1,10); +raise notice 'sCode is %',sCode; +NEW.bc_code:=sCode; +return NEW; +end;$BODY$ + LANGUAGE 'plpgsql' VOLATILE; +ALTER FUNCTION bud_card_ins_upd() OWNER TO phpcompta; + +-- +-- Name: t_bud_card_ins_up; Type: TRIGGER; Schema: public; Owner: phpcompta +-- + +CREATE TRIGGER t_bud_card_ins_up + BEFORE INSERT OR UPDATE ON bud_card + FOR EACH ROW + EXECUTE PROCEDURE bud_card_ins_upd(); + + +-- +-- Name: bud_hypothese_bh_id; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta +-- + +ALTER TABLE ONLY bud_card + ADD CONSTRAINT bud_hypothese_bh_id FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE; + + CREATE TRIGGER t_bud_detail_ins_upd BEFORE INSERT OR UPDATE ON bud_detail