From 34c93baab7ec79a493f20b5b49c9969fbed9ce8e Mon Sep 17 00:00:00 2001 From: manuelstefanile Date: Fri, 31 Jan 2025 12:45:34 +0100 Subject: [PATCH] 327915 - Modifica flussi Cubo Saldi Netti (Consumer e Business) - FINE! pt.2 - --- .../sh/Crea_ReportSaldiNetti_DWHE2E.sh | 0 .../sh/crontab_get_DWHE2E_REPOSALDINETTI.txt | 0 .../sh/crontab_put_DWHE2E_REPOSALDINETTI.txt | 0 .../sh/crontab_read_DWHE2E_REPOSALDINETTI.txt | 0 .../sql/createGnpDwhe2eSaldinettiIn.sql | 0 .../sql/createGnpDwhe2eSaldinettiOut.sql | 0 .../sql/createSequence_Dwhe2eRepo.sql | 0 .../sql/insertGnpAnagraficaProcesso.sql} | 0 .../DELTA_RU_374_sftpd.properties | 12 +-- .../DWHE2E_SALDINETTI_STORICO_BU.txt | 1 + .../DWHE2E_SALDINETTI_STORICO_CO.txt | 1 + .../in/Dwhe2eRepoSaldiNettiIn.java | 77 ++++++++++++++----- 12 files changed, 67 insertions(+), 24 deletions(-) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sh/Crea_ReportSaldiNetti_DWHE2E.sh (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sh/crontab_get_DWHE2E_REPOSALDINETTI.txt (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sh/crontab_put_DWHE2E_REPOSALDINETTI.txt (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sh/crontab_read_DWHE2E_REPOSALDINETTI.txt (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sql/createGnpDwhe2eSaldinettiIn.sql (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sql/createGnpDwhe2eSaldinettiOut.sql (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e => RU_374_SaldiNetti_DwhE2e}/sql/createSequence_Dwhe2eRepo.sql (100%) rename gnpapp/script/{repo_saldiNetti_DwhE2e/sql/InsertGnpAnagraficaProcesso.sql => RU_374_SaldiNetti_DwhE2e/sql/insertGnpAnagraficaProcesso.sql} (100%) rename gnpdev/SFTPDaemon/properties/{ => RU_374_SaldiNetti_DwhE2e}/DELTA_RU_374_sftpd.properties (93%) create mode 100644 gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_BU.txt create mode 100644 gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_CO.txt diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sh/Crea_ReportSaldiNetti_DWHE2E.sh b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/Crea_ReportSaldiNetti_DWHE2E.sh similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sh/Crea_ReportSaldiNetti_DWHE2E.sh rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/Crea_ReportSaldiNetti_DWHE2E.sh diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sh/crontab_get_DWHE2E_REPOSALDINETTI.txt b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/crontab_get_DWHE2E_REPOSALDINETTI.txt similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sh/crontab_get_DWHE2E_REPOSALDINETTI.txt rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/crontab_get_DWHE2E_REPOSALDINETTI.txt diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sh/crontab_put_DWHE2E_REPOSALDINETTI.txt b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/crontab_put_DWHE2E_REPOSALDINETTI.txt similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sh/crontab_put_DWHE2E_REPOSALDINETTI.txt rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/crontab_put_DWHE2E_REPOSALDINETTI.txt diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sh/crontab_read_DWHE2E_REPOSALDINETTI.txt b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/crontab_read_DWHE2E_REPOSALDINETTI.txt similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sh/crontab_read_DWHE2E_REPOSALDINETTI.txt rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sh/crontab_read_DWHE2E_REPOSALDINETTI.txt diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiIn.sql b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiIn.sql similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiIn.sql rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiIn.sql diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiOut.sql b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiOut.sql similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiOut.sql rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/createGnpDwhe2eSaldinettiOut.sql diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sql/createSequence_Dwhe2eRepo.sql b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/createSequence_Dwhe2eRepo.sql similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sql/createSequence_Dwhe2eRepo.sql rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/createSequence_Dwhe2eRepo.sql diff --git a/gnpapp/script/repo_saldiNetti_DwhE2e/sql/InsertGnpAnagraficaProcesso.sql b/gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/insertGnpAnagraficaProcesso.sql similarity index 100% rename from gnpapp/script/repo_saldiNetti_DwhE2e/sql/InsertGnpAnagraficaProcesso.sql rename to gnpapp/script/RU_374_SaldiNetti_DwhE2e/sql/insertGnpAnagraficaProcesso.sql diff --git a/gnpdev/SFTPDaemon/properties/DELTA_RU_374_sftpd.properties b/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DELTA_RU_374_sftpd.properties similarity index 93% rename from gnpdev/SFTPDaemon/properties/DELTA_RU_374_sftpd.properties rename to gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DELTA_RU_374_sftpd.properties index d98dfa6c..ad78639e 100644 --- a/gnpdev/SFTPDaemon/properties/DELTA_RU_374_sftpd.properties +++ b/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DELTA_RU_374_sftpd.properties @@ -6,10 +6,10 @@ GET.USERNAME.DWHE2E_REPOSALDINETTI_CO= GET.HOST.DWHE2E_REPOSALDINETTI_CO=<10.60.128.4> GET.PORT.DWHE2E_REPOSALDINETTI_CO=<22> GET.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_CO= -GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO= +GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO= GET.EXTENSION.DWHE2E_REPOSALDINETTI_CO=.csv # Pattern di inizio del nome file da prelevare -GET.NOMEFILE_PATTERN.DWHE2E_REPOSALDINETTI_CO=DWHE2E_DBCFX_USCITE_CON_????????[.]csv +GET.NOMEFILE_PATTERN.DWHE2E_REPOSALDINETTI_CO=DWHE2E_DBCFX_USCITE_CON_[0-9]{8}[.]csv # Abilita o disabilita decompressione GZip per estensione .gz (YES|NO) GET.UNCOMPRESS.DWHE2E_REPOSALDINETTI_CO=NO # TIMEOUT IN MILLISECONDI (10000 = 10sec, 1800000 = 30min) @@ -26,10 +26,10 @@ GET.USERNAME.DWHE2E_REPOSALDINETTI_BU= GET.HOST.DWHE2E_REPOSALDINETTI_BU=<10.60.128.4> GET.PORT.DWHE2E_REPOSALDINETTI_BU=<22> GET.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_BU= -GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU= +GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU= GET.EXTENSION.DWHE2E_REPOSALDINETTI_BU=.csv # Pattern di inizio del nome file da prelevare -GET.NOMEFILE_PATTERN.DWHE2E_REPOSALDINETTI_BU=DWHE2E_DBCFX_USCITE_BUS_????????[.]csv +GET.NOMEFILE_PATTERN.DWHE2E_REPOSALDINETTI_BU=DWHE2E_DBCFX_USCITE_BUS_[0-9]{8}[.]csv # Abilita o disabilita decompressione GZip per estensione .gz (YES|NO) GET.UNCOMPRESS.DWHE2E_REPOSALDINETTI_BU=NO # TIMEOUT IN MILLISECONDI (10000 = 10sec, 1800000 = 30min) @@ -49,7 +49,7 @@ PUT.USERNAME.DWHE2E_REPOSALDINETTI_CO= PUT.HOST.DWHE2E_REPOSALDINETTI_CO=<10.60.128.24> PUT.PORT.DWHE2E_REPOSALDINETTI_CO=<22> PUT.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_CO= -PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO= +PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO= PUT.RENAMECTR.DWHE2E_REPOSALDINETTI_CO=NO PUT.RENAMECTR.SUFFIX.DWHE2E_REPOSALDINETTI_CO= PUT_SENDCTR.DWHE2E_REPOSALDINETTI_CO=YES @@ -68,7 +68,7 @@ PUT.USERNAME.DWHE2E_REPOSALDINETTI_BU= PUT.HOST.DWHE2E_REPOSALDINETTI_BU=<10.60.128.24> PUT.PORT.DWHE2E_REPOSALDINETTI_BU=<22> PUT.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_BU= -PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU= +PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU= PUT.RENAMECTR.DWHE2E_REPOSALDINETTI_BU=NO PUT.RENAMECTR.SUFFIX.DWHE2E_REPOSALDINETTI_BU= PUT_SENDCTR.DWHE2E_REPOSALDINETTI_BU=YES diff --git a/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_BU.txt b/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_BU.txt new file mode 100644 index 00000000..b7be5563 --- /dev/null +++ b/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_BU.txt @@ -0,0 +1 @@ +#FILE DI TRACCIAMENTO DEI FILE GUIDA BUSINESS TRASFERITI IN SFTP CORRETTAMENTE PER IL FLUSSO DWH-E2E REPORT CUBO SALDI NETTI OLO \ No newline at end of file diff --git a/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_CO.txt b/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_CO.txt new file mode 100644 index 00000000..ffa9c196 --- /dev/null +++ b/gnpdev/SFTPDaemon/properties/RU_374_SaldiNetti_DwhE2e/DWHE2E_SALDINETTI_STORICO_CO.txt @@ -0,0 +1 @@ +#FILE DI TRACCIAMENTO DEI FILE GUIDA CONSUMER TRASFERITI IN SFTP CORRETTAMENTE PER IL FLUSSO DWH-E2E REPORT CUBO SALDI NETTI OLO \ No newline at end of file diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/internalflow/in/Dwhe2eRepoSaldiNettiIn.java b/gnpdev/dbcfx/src/it/valueteam/gnp/internalflow/in/Dwhe2eRepoSaldiNettiIn.java index 4cf183bf..93293a0e 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/internalflow/in/Dwhe2eRepoSaldiNettiIn.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/internalflow/in/Dwhe2eRepoSaldiNettiIn.java @@ -44,10 +44,10 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log private static final String DATACESSAZIONE_FORMAT = new String("yyyy-MM-dd"); private static final String REGEXP_SALDINETTI_LINE = "^(\\d{1,22});([^;]{0,15});([^;]{0,50});((\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))|);([^;]{0,1000});([^;]{0,1000});([^;]{0,1000});([^;]{0,1000});([^;]{0,1000});([^;]{0,1000})$"; + //variabible usata per associare ad ogni nome file il proprio numero di righe e di errori + private HashMap associazioneFileReport; - private int rowError= 0; - private int numRowFile= 0; - + /** Classe inner per differenziare nel log, la scrittura di un CO o di un BU **/ private class InnerLog { private ProcessLogger logInside; private String piattaforma; @@ -78,10 +78,42 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log } } + /** Classe inner per associare ad ogni file il proprio numero di righe ed errori. Utile per il report **/ + private class InnerRowFile{ + private int rowError= 0; + private int numRowFile= 0; + + public InnerRowFile(){ + } + + public int getRowError() { + return rowError; + } + public int getNumRowFile() { + return numRowFile; + } + + public void setNumRowFile(int numRowFile) { + this.numRowFile = numRowFile; + } + + public void checkNumRowFile(){ + this.numRowFile = ((this.numRowFile==-1)?0:this.numRowFile); + } + + public void incrementNumRowFile(){ + this.numRowFile++; + } + + public void incrementRowError(){ + this.rowError++; + } + } public Dwhe2eRepoSaldiNettiIn() throws Exception { try { initLog(); + associazioneFileReport = new HashMap(); } catch (Exception ex) { System.out.println("Errore nell'inizializzazione di Dwhe2eRepoSaldiNettiIn"); throw ex; @@ -145,6 +177,8 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log if (matcher.find()) { dataFileOut= matcher.group(1); } else { + //TODO aggiorna se rimuovere o meno. LOGGA + log.write("9999","-------- NOME FILE NON CORRETTO -------"); dataFileOut = DateUtils.toString(new Date(),Resources.getDWHE2E_REPOSALDINETTI_DATA_FILENAME()); } @@ -153,15 +187,15 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log nomeFileOut, Resources.getPATH_FILE_DWHE2E_REPOSALDINETTI_CON_OUT()); - numRowFile = ((numRowFile==-1)?0:numRowFile); + //recupero gli errori ed il numero di row associati al fileName + InnerRowFile irf = associazioneFileReport.get(fileName); + irf.checkNumRowFile(); log.write("9999", "--------- Report summary CO nomeFile: " + fileName + " ---------"); - log.write("9999", "Numero righe totali: " + numRowFile); - log.write("9999", "Numero righe elaborate correttamente: " + (numRowFile - rowError)); - log.write("9999", "Numero righe in errore: " + rowError); + log.write("9999", "Numero righe totali: " + irf.getNumRowFile()); + log.write("9999", "Numero righe elaborate correttamente: " + (irf.getNumRowFile() - irf.getRowError())); + log.write("9999", "Numero righe in errore: " + irf.getRowError()); log.write("9999", "--------- Report summary CO fine ---------"); - numRowFile = 0; - rowError = 0; } } @@ -185,6 +219,7 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log if (matcher.find()) { dataFileOut= matcher.group(1); } else { + //TODO aggiorna se rimuovere o meno dataFileOut = DateUtils.toString(new Date(),Resources.getDWHE2E_REPOSALDINETTI_DATA_FILENAME()); } @@ -193,15 +228,15 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log nomeFileOut, Resources.getPATH_FILE_DWHE2E_REPOSALDINETTI_BUS_OUT()); - numRowFile = ((numRowFile==-1)?0:numRowFile); + //recupero gli errori ed il numero di row associati al fileName + InnerRowFile irf = associazioneFileReport.get(fileName); + irf.checkNumRowFile(); log.write("9999", "--------- Report summary BU nomeFile: " + fileName + " ---------"); - log.write("9999", "Numero righe totali: " + numRowFile); - log.write("9999", "Numero righe elaborate correttamente: " + (numRowFile - rowError)); - log.write("9999", "Numero righe in errore: " + rowError); + log.write("9999", "Numero righe totali: " + irf.getNumRowFile()); + log.write("9999", "Numero righe elaborate correttamente: " + (irf.getNumRowFile() - irf.getRowError())); + log.write("9999", "Numero righe in errore: " + irf.getRowError()); log.write("9999", "--------- Report summary BU fine ---------"); - numRowFile = 0; - rowError = 0; } } } @@ -282,6 +317,7 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log private List readFileAndGetList(String fileName, String piattaforma) throws Exception { log.write("9999", "Start readFileAndGetList"); + InnerRowFile irf = new InnerRowFile(); List listForFile = new ArrayList(); Scanner reader = null; @@ -314,7 +350,7 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log if(gnpDwhe2eSaldinettiIn!=null) listForFile.add(gnpDwhe2eSaldinettiIn); else { - rowError++; + irf.incrementRowError(); log.write("9999", "Errore record nel formato della linea " + (row +1)); } @@ -325,7 +361,11 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log row++; } reader.close(); - numRowFile= row - 1; + + irf.setNumRowFile(row-1); + //associo row-erorri al nome file + associazioneFileReport.put(fileName,irf); + //arrivato qui, è andato tutto a buon fine, allora sposto .csv e .ctr //Creo la directory (se non esite) dove spostare tutti i file File copiaBk = new File(pathBackupFile); @@ -536,7 +576,8 @@ public class Dwhe2eRepoSaldiNettiIn extends InternalSenderProcess implements Log //se soon arrivato qui, allora non c'è corrispondenza nel DB dell'ID_RICHIESTA log.write("9999", "ID_RICHIESTA non trovato a DB: " + dwhe2eItem.getIdRichiesta()); //aggiungo errori legati alla mancata presenza dell'ID_RICHIESTA tra le varie delibere - rowError++; + InnerRowFile ird = associazioneFileReport.get(dwhe2eItem.getNomeFile()); + ird.incrementRowError(); } }