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

@@ -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();
}
}