327915 - Modifica flussi Cubo Saldi Netti (Consumer e Business) - FINE! pt.2 -

This commit is contained in:
manuelstefanile
2025-01-31 12:45:34 +01:00
parent 09742dea8b
commit 34c93baab7
12 changed files with 67 additions and 24 deletions

View File

@@ -6,10 +6,10 @@ GET.USERNAME.DWHE2E_REPOSALDINETTI_CO=<SFTP_E2E>
GET.HOST.DWHE2E_REPOSALDINETTI_CO=<10.60.128.4>
GET.PORT.DWHE2E_REPOSALDINETTI_CO=<22>
GET.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_CO=</home/bea/.ssh/known_hosts>
GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO=</cygdrive/p/DW2-E2E/FlussiOutput/DBCFX>
GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO=</cygdrive/P/DW2-E2E/FlussiOutput/DBCFX>
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=<SFTP_E2E>
GET.HOST.DWHE2E_REPOSALDINETTI_BU=<10.60.128.4>
GET.PORT.DWHE2E_REPOSALDINETTI_BU=<22>
GET.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_BU=</home/bea/.ssh/known_hosts>
GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU=</cygdrive/p/DW2-E2E/FlussiOutput/DBCFX>
GET.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU=</cygdrive/P/DW2-E2E/FlussiOutput/DBCFX>
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=<SFTP_E2E>
PUT.HOST.DWHE2E_REPOSALDINETTI_CO=<10.60.128.24>
PUT.PORT.DWHE2E_REPOSALDINETTI_CO=<22>
PUT.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_CO=<home/bea/.ssh/known_hosts>
PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO=</cygdrive/p/DW2-E2E/FlussiInput/DBCFX>
PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_CO=</cygdrive/P/DW2-E2E/FlussiInput/DBCFX>
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=<SFTP_E2E>
PUT.HOST.DWHE2E_REPOSALDINETTI_BU=<10.60.128.24>
PUT.PORT.DWHE2E_REPOSALDINETTI_BU=<22>
PUT.KNOWN_HOSTS.DWHE2E_REPOSALDINETTI_BU=<home/bea/.ssh/known_hosts>
PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU=</cygdrive/p/DW2-E2E/FlussiInput/DBCFX>
PUT.REMOTE_PATH.DWHE2E_REPOSALDINETTI_BU=</cygdrive/P/DW2-E2E/FlussiInput/DBCFX>
PUT.RENAMECTR.DWHE2E_REPOSALDINETTI_BU=NO
PUT.RENAMECTR.SUFFIX.DWHE2E_REPOSALDINETTI_BU=
PUT_SENDCTR.DWHE2E_REPOSALDINETTI_BU=YES

View File

@@ -0,0 +1 @@
#FILE DI TRACCIAMENTO DEI FILE GUIDA BUSINESS TRASFERITI IN SFTP CORRETTAMENTE PER IL FLUSSO DWH-E2E REPORT CUBO SALDI NETTI OLO

View File

@@ -0,0 +1 @@
#FILE DI TRACCIAMENTO DEI FILE GUIDA CONSUMER TRASFERITI IN SFTP CORRETTAMENTE PER IL FLUSSO DWH-E2E REPORT CUBO SALDI NETTI OLO

View File

@@ -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<String, InnerRowFile> 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<String, InnerRowFile>();
} 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<GnpDwhe2eSaldinettiIn> readFileAndGetList(String fileName, String piattaforma) throws Exception {
log.write("9999", "Start readFileAndGetList");
InnerRowFile irf = new InnerRowFile();
List<GnpDwhe2eSaldinettiIn> listForFile = new ArrayList<GnpDwhe2eSaldinettiIn>();
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();
}
}