From 17b1f93e44fcd0b163dc7f4fe17fc9fb0c2580b4 Mon Sep 17 00:00:00 2001 From: "marco.spasiano" Date: Mon, 20 Nov 2023 11:31:32 +0100 Subject: [PATCH] aggiunta schedulazione ribaltamento apaterura nuovo anno --- ...c_ribaltamento_pdg_altro_schedulazione.xml | 51 ++++++++++ .../bootstrap/db.changelog-5.0.0.xml | 2 + .../expsigladb/Package/CNRMIG100.sql | 2 + .../expsigladb/Package/CNRMIG100_BODY.sql | 95 +++++++++++++++++-- 4 files changed, 143 insertions(+), 7 deletions(-) create mode 100644 sigla-backend/src/main/resources/bootstrap/add_prc_ribaltamento_pdg_altro_schedulazione.xml diff --git a/sigla-backend/src/main/resources/bootstrap/add_prc_ribaltamento_pdg_altro_schedulazione.xml b/sigla-backend/src/main/resources/bootstrap/add_prc_ribaltamento_pdg_altro_schedulazione.xml new file mode 100644 index 0000000000..14b099fb85 --- /dev/null +++ b/sigla-backend/src/main/resources/bootstrap/add_prc_ribaltamento_pdg_altro_schedulazione.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sigla-backend/src/main/resources/bootstrap/db.changelog-5.0.0.xml b/sigla-backend/src/main/resources/bootstrap/db.changelog-5.0.0.xml index b0d80903f7..81a88298ab 100644 --- a/sigla-backend/src/main/resources/bootstrap/db.changelog-5.0.0.xml +++ b/sigla-backend/src/main/resources/bootstrap/db.changelog-5.0.0.xml @@ -5388,4 +5388,6 @@ IVAS = IVA ACQUISTO SPLIT; GEN = GENERICO; RIC = RICAVO; IVAA = IVA ACQUISTO; CR + + diff --git a/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100.sql b/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100.sql index b6f1e83508..eac79a6bff 100644 --- a/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100.sql +++ b/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100.sql @@ -188,4 +188,6 @@ procedure endLogRibaltamentoAltro(aEs number, aPgEsec number, aStato in out char procedure ins_RIBALTAMENTO_LOG (aDest RIBALTAMENTO_LOG%rowtype); -- procedure JOB_RIBALTAMENTO_PDGP(job number, pg_exec number, next_date date, aEs number); +-- +procedure JOB_RIBALTAMENTO_ALTRO_PDGP(job number, pg_exec number, next_date date, aEs number); end; diff --git a/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100_BODY.sql b/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100_BODY.sql index 86f7ee5b4b..491133d424 100644 --- a/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100_BODY.sql +++ b/sigla-backend/src/main/resources/expsigladb/Package/CNRMIG100_BODY.sql @@ -1,8 +1,7 @@ -------------------------------------------------------- -- DDL for Package Body CNRMIG100 -------------------------------------------------------- - -CREATE OR REPLACE PACKAGE BODY "CNRMIG100" is +create or replace PACKAGE BODY "CNRMIG100" is lPgExec number; @@ -197,16 +196,13 @@ procedure ins_RIBALTAMENTO_LOG (aDest RIBALTAMENTO_LOG%rowtype) is ); end; ---------------------------------------------------------------------------- -procedure init_ribaltamento_altro(aEs number, aMessage in out varchar2) is +procedure init_ribaltamento_altro(aEs number, aPgEsec number,aMessage in out varchar2) is aEsPrec number; -aPgEsec number; stato_fine char(1) := 'I'; aNum number; begin begin - aPgEsec := IBMUTL200.LOGSTART(TI_LOG_RIBALTAMENTO_ALTRO,dsProcesso_altro,null,cgUtente,null,null); - startLogRibaltamento(aEs, aPgEsec, dsProcesso_altro , cgUtente); if isRibaltamentoAltroEffettuato(aEs, aPgEsec) then @@ -1024,6 +1020,13 @@ begin end; ---------------------------------------------------------------------------- +procedure init_ribaltamento_altro(aEs number,aMessage in out varchar2) is + aPgEsec number; +begin + aPgEsec := IBMUTL200.LOGSTART(TI_LOG_RIBALTAMENTO_ALTRO,dsProcesso_altro,null,cgUtente,null,null); + init_ribaltamento_altro(aEs, aPgEsec, aMessage); +end; +---------------------------------------------------------------------------- procedure init_ribaltamento_pdgp(aEs number, aPgEsec number, aMessage in out varchar2) is aEsPrec number; stato_fine char(1) := 'I'; @@ -3620,6 +3623,62 @@ begin end; +procedure INSERIMENTO_PROGETTI(aEs number, pg_exec number) as +aEsPrec number; +aMessage varchar2(500); +aUser varchar2(20); +BEGIN + aEsPrec := aEs - 1; + aUser:=IBMUTL200.getUserFromLog(pg_exec); + + INSERT INTO PROGETTO_SIP + (ESERCIZIO, PG_PROGETTO, TIPO_FASE, ESERCIZIO_PROGETTO_PADRE, PG_PROGETTO_PADRE, TIPO_FASE_PROGETTO_PADRE, CD_PROGETTO, DS_PROGETTO, + CD_TIPO_PROGETTO, CD_UNITA_ORGANIZZATIVA, CD_RESPONSABILE_TERZO, DT_INIZIO, DT_FINE, DT_PROROGA, IMPORTO_PROGETTO, IMPORTO_DIVISA, + CD_DIVISA, NOTE, STATO, CONDIVISO, DURATA_PROGETTO, LIVELLO, CD_DIPARTIMENTO, FL_PIANO_TRIENNALE, FL_UTILIZZABILE, + CD_PROGRAMMA, CD_MISSIONE, PG_PROGETTO_OTHER_FIELD, DACR, UTCR, DUVA, UTUV, PG_VER_REC) + SELECT aEs, PG_PROGETTO, TIPO_FASE, aEs, PG_PROGETTO_PADRE, TIPO_FASE_PROGETTO_PADRE, CD_PROGETTO, DS_PROGETTO, + CD_TIPO_PROGETTO, CD_UNITA_ORGANIZZATIVA, CD_RESPONSABILE_TERZO, DT_INIZIO, DT_FINE, DT_PROROGA, IMPORTO_PROGETTO, IMPORTO_DIVISA, + CD_DIVISA, NOTE, STATO, CONDIVISO, DURATA_PROGETTO, LIVELLO, CD_DIPARTIMENTO, FL_PIANO_TRIENNALE, FL_UTILIZZABILE, + CD_PROGRAMMA, CD_MISSIONE, PG_PROGETTO_OTHER_FIELD, TRUNC(SYSDATE), aUser, TRUNC(SYSDATE), aUser, 1 + FROM PROGETTO_SIP + WHERE ESERCIZIO = aEsPrec + AND LIVELLO = 1 + AND (PG_PROGETTO, TIPO_FASE) NOT IN + (SELECT PG_PROGETTO, TIPO_FASE FROM PROGETTO_SIP WHERE ESERCIZIO = aEs); + + INSERT INTO PROGETTO_SIP + (ESERCIZIO, PG_PROGETTO, TIPO_FASE, ESERCIZIO_PROGETTO_PADRE, PG_PROGETTO_PADRE, TIPO_FASE_PROGETTO_PADRE, CD_PROGETTO, DS_PROGETTO, + CD_TIPO_PROGETTO, CD_UNITA_ORGANIZZATIVA, CD_RESPONSABILE_TERZO, DT_INIZIO, DT_FINE, DT_PROROGA, IMPORTO_PROGETTO, IMPORTO_DIVISA, + CD_DIVISA, NOTE, STATO, CONDIVISO, DURATA_PROGETTO, LIVELLO, CD_DIPARTIMENTO, FL_PIANO_TRIENNALE, FL_UTILIZZABILE, + CD_PROGRAMMA, CD_MISSIONE, PG_PROGETTO_OTHER_FIELD, DACR, UTCR, DUVA, UTUV, PG_VER_REC) + SELECT aEs, PG_PROGETTO, TIPO_FASE, aEs, PG_PROGETTO_PADRE, TIPO_FASE_PROGETTO_PADRE, CD_PROGETTO, DS_PROGETTO, + CD_TIPO_PROGETTO, CD_UNITA_ORGANIZZATIVA, CD_RESPONSABILE_TERZO, DT_INIZIO, DT_FINE, DT_PROROGA, IMPORTO_PROGETTO, IMPORTO_DIVISA, + CD_DIVISA, NOTE, STATO, CONDIVISO, DURATA_PROGETTO, LIVELLO, CD_DIPARTIMENTO, FL_PIANO_TRIENNALE, FL_UTILIZZABILE, + CD_PROGRAMMA, CD_MISSIONE, PG_PROGETTO_OTHER_FIELD, TRUNC(SYSDATE), aUser, TRUNC(SYSDATE), aUser, 1 + FROM PROGETTO_SIP + WHERE ESERCIZIO = aEsPrec + AND LIVELLO = 2 + AND (PG_PROGETTO, TIPO_FASE) NOT IN + (SELECT PG_PROGETTO, TIPO_FASE FROM PROGETTO_SIP WHERE ESERCIZIO = aEs); + + INSERT INTO PROGETTO_SIP + (ESERCIZIO, PG_PROGETTO, TIPO_FASE, ESERCIZIO_PROGETTO_PADRE, PG_PROGETTO_PADRE, TIPO_FASE_PROGETTO_PADRE, CD_PROGETTO, DS_PROGETTO, + CD_TIPO_PROGETTO, CD_UNITA_ORGANIZZATIVA, CD_RESPONSABILE_TERZO, DT_INIZIO, DT_FINE, DT_PROROGA, IMPORTO_PROGETTO, IMPORTO_DIVISA, + CD_DIVISA, NOTE, STATO, CONDIVISO, DURATA_PROGETTO, LIVELLO, CD_DIPARTIMENTO, FL_PIANO_TRIENNALE, FL_UTILIZZABILE, + CD_PROGRAMMA, CD_MISSIONE, PG_PROGETTO_OTHER_FIELD, DACR, UTCR, DUVA, UTUV, PG_VER_REC) + SELECT aEs, PG_PROGETTO, TIPO_FASE, aEs, PG_PROGETTO_PADRE, TIPO_FASE_PROGETTO_PADRE, CD_PROGETTO, DS_PROGETTO, + CD_TIPO_PROGETTO, CD_UNITA_ORGANIZZATIVA, CD_RESPONSABILE_TERZO, DT_INIZIO, DT_FINE, DT_PROROGA, IMPORTO_PROGETTO, IMPORTO_DIVISA, + CD_DIVISA, NOTE, STATO, CONDIVISO, DURATA_PROGETTO, LIVELLO, CD_DIPARTIMENTO, FL_PIANO_TRIENNALE, FL_UTILIZZABILE, + CD_PROGRAMMA, CD_MISSIONE, PG_PROGETTO_OTHER_FIELD, TRUNC(SYSDATE), aUser, TRUNC(SYSDATE), aUser, 1 + FROM PROGETTO_SIP + WHERE ESERCIZIO = aEsPrec + AND LIVELLO = 3 + AND (PG_PROGETTO, TIPO_FASE) NOT IN + (SELECT PG_PROGETTO, TIPO_FASE FROM PROGETTO_SIP WHERE ESERCIZIO = aEs); + aMessage := 'Aggiornamento progetti. Inseriti '; + ibmutl200.LOGINF(pg_exec,aMessage,'',''); +end; + procedure AGGIORMENTO_PROGETTI(aEs number, pg_exec number) as aTSNow date; aUser varchar2(20); @@ -3755,4 +3814,26 @@ begin end if; end; ---------------------------------------------------------------------------- -end; + +procedure JOB_RIBALTAMENTO_ALTRO_PDGP(job number, pg_exec number, next_date date, aEs number) as + aTSNow date; + aUser varchar2(20); + aMessage varchar2(500); +begin + aTSNow:=sysdate; + aUser:=IBMUTL200.getUserFromLog(pg_exec); + lPgExec := pg_exec; + + -- Aggiorna le info di testata del log + IBMUTL210.logStartExecutionUpd(lPgExec, TI_LOG_RIBALTAMENTO_PDGP, job, 'Batch di ribaltamento inizio Anno. Start:'||to_char(aTSNow,'YYYY/MM/DD HH-MI-SS')); + + if aEs = 0 then + ibmutl200.logErr(lPgExec,'Esercizio zero non gestito', '', ''); + else + init_ribaltamento_altro( aEs,pg_exec,aMessage); + ibmutl200.logInf(pg_exec,aMessage, '', ''); + ibmutl200.logInf(pg_exec,'Batch di ribaltamento inizio Anno.', 'End:'||to_char(sysdate,'YYYY/MM/DD HH-MI-SS'), ''); + end if; + end; + ---------------------------------------------------------------------------- + end; \ No newline at end of file