Tracciato MIRARCHI
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240614185051 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "ATTIVO", "S", "Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "COD_ANAG", "F3698", "Codice anagrafico fornitore", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "COD_VVET", "286", "Codice vettore", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "EMAIL_FOR_LOG", "test@integry.it", "Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "FILE_FILTER", null, "Inserire il criterio di filtro dei file o il nome del file specifio (seguire la sintassi di java)", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "GG_CANC_FILE", null, "Giorni per la cancellazione dei file dalla cartella di appoggio", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "IMPORT_REST", "S", "Inserire S/N per attivare/disattivare il salvataggio con i servizi REST", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "LISTENING", "N", "Se LISTENIG = 'N' la procedura di importazione non si potrà mai mettere in ascolto sulla directory perchè nella procedura vengono prese in considerazione più file.", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "PATH_FILE", "\\\\serverPB\\c$\\DOCUMENTI\\MIRARCHI\\", "Directory contente i file da importare.", false, null, false, false, false, false, false, null, false, null);
|
||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "PATH_FILE_IMPORTED", "\\\\serverPB\\c$\\DOCUMENTI\\MIRARCHI\\IMPORTED\\", "Directory dove vengono spostati i file dopo l'importazione.", false, null, false, false, false, false, false, null, false, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,6 +17,8 @@ public class EmsRestConstants {
|
||||
public static final String PATH_CRM_SALVA_ATTIVITA = "salvaAttivitaCRM";
|
||||
public static final String PATH_IMPORT_COSTI_TRASPORTO_PAPAGNI = "importCostiTrasportoPapagni";
|
||||
public static final String PATH_IMPORT_COSTI_TRASPORTO_STEF = "importCostiTrasportoStef";
|
||||
|
||||
public static final String PATH_IMPORT_COSTI_TRASPORTO= "importCostiTrasporto";
|
||||
//definito dalla configurazione maven
|
||||
//public static final String ROOT_API;
|
||||
public static final String PATH_ICON_GENERA_LISTAMOV_DA_APPROV = "ICON_GENERA_LISTAMOV_DA_APPROV";
|
||||
|
||||
@@ -54,4 +54,34 @@ public class DocCostiTrasportoController {
|
||||
return ServiceRestResponse.createNegativeResponse(e);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = EmsRestConstants.PATH_IMPORT_COSTI_TRASPORTO, method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse importCostiTrasportoMirarchi(HttpServletRequest request,
|
||||
@RequestParam(value = "type", required = false, defaultValue = "V") String type,
|
||||
@RequestParam(value = "formato", required = false, defaultValue = "V") String format,
|
||||
@RequestBody ImportRequestDTO requestDataDTO) throws Exception {
|
||||
|
||||
/*Creare un servizio generico di controllo input*/
|
||||
|
||||
List<ReturnDocCostiTrasportoDTO> docTrasp = new ArrayList<>();
|
||||
try {
|
||||
switch (type) {
|
||||
case "MIRARCHI":
|
||||
docTrasp = documentService.importDocumentiTrasportoMirarchi(requestDataDTO, type, format);
|
||||
case "STEF":
|
||||
docTrasp = documentService.importDocumentiTrasportoStef(requestDataDTO);
|
||||
case "EBC":
|
||||
case "ROTUNNO":
|
||||
case "DIPA":
|
||||
case "PAPAGNI":
|
||||
docTrasp = documentService.importDocumentiTrasportoPapagni(requestDataDTO);
|
||||
}
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(docTrasp);
|
||||
|
||||
} catch (Exception e) {
|
||||
return ServiceRestResponse.createNegativeResponse(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.apache.poi.ss.usermodel.DataFormatter;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -65,6 +66,7 @@ public class DocCostiTrasporto {
|
||||
|
||||
private Logger logger = LogManager.getLogger();
|
||||
|
||||
@NotNull
|
||||
private List<ReturnDocCostiTrasportoDTO> checkAndImportDoc(List<DocTraspImportDTO> listDocTrasp, String format) throws Exception {
|
||||
String type = "DOCUMENTI_TRASPORTO", codAnag = null, codDtip = null, ragSocDB = null, cittaDB = null;
|
||||
Date dataDoc = null;
|
||||
@@ -509,5 +511,75 @@ public class DocCostiTrasporto {
|
||||
|
||||
return docCostiTrasp;
|
||||
}
|
||||
|
||||
public List<ReturnDocCostiTrasportoDTO> importDocumentiTrasportoMirarchi(ImportRequestDTO requestDataDTO, String type, String format) throws Exception {
|
||||
Integer idRiga = 0;
|
||||
List<ReturnDocCostiTrasportoDTO> docCostiTrasp = new ArrayList<>();
|
||||
List<DocTraspImportDTO> listDocTrasp = new ArrayList<>();
|
||||
HashMap<String, String> returns = new HashMap<String, String>();
|
||||
DataFormatter dataFormatter = new DataFormatter();
|
||||
Connection connect = multiDBTransactionManager.getPrimaryConnection();
|
||||
|
||||
String tipoCalc = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "TIPO_CALC"));
|
||||
|
||||
File tempFile = new File(requestDataDTO.getPathFile());
|
||||
FileInputStream fis = new FileInputStream(tempFile);
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(fis);
|
||||
XSSFSheet mySheet = workbook.getSheetAt(0);
|
||||
|
||||
Iterator<Row> rowIterator = mySheet.iterator();
|
||||
while (rowIterator.hasNext()) {
|
||||
Row row = rowIterator.next();
|
||||
String rifDoc = dataFormatter.formatCellValue(row.getCell(1));
|
||||
String dataSpedizione = String.valueOf(row.getCell(2));
|
||||
String citta = dataFormatter.formatCellValue(row.getCell(3));
|
||||
String UM = dataFormatter.formatCellValue(row.getCell(5));
|
||||
BigDecimal tassato = new BigDecimal(String.valueOf(row.getCell(6)));
|
||||
BigDecimal totaleNolo = new BigDecimal(String.valueOf(row.getCell(8)));
|
||||
Date dataSped = new SimpleDateFormat("dd-MMM-yyyy").parse(dataSpedizione);
|
||||
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
||||
|
||||
idRiga ++;
|
||||
|
||||
returns = getSerNumDoc(rifDoc);
|
||||
String numDocFile = returns.get("numDoc");
|
||||
String serDoc = returns.get("serDoc");
|
||||
|
||||
Integer numDoc = null;
|
||||
if (rifDoc != null && UtilityString.isNumber(rifDoc)){
|
||||
numDoc = Integer.valueOf(rifDoc);
|
||||
}
|
||||
Date dataDoc = null;
|
||||
try {
|
||||
dataDoc = new SimpleDateFormat("yyyyMMdd").parse(dataSpedizione);
|
||||
} catch (Exception e){
|
||||
logger.warn("Data documento non presente o non valida");
|
||||
}
|
||||
String checkSerieDoc = "N";
|
||||
|
||||
|
||||
DocTraspImportDTO docTrasp = new DocTraspImportDTO();
|
||||
docTrasp.setDataDoc(dataDoc);
|
||||
docTrasp.setNumDoc(numDoc);
|
||||
docTrasp.setSerDoc(serDoc);
|
||||
docTrasp.setCitta(citta);
|
||||
docTrasp.setNolo(totaleNolo);
|
||||
docTrasp.setTassato(tassato);
|
||||
docTrasp.setTipoCalc(tipoCalc);
|
||||
docTrasp.setUntMis(untMis);
|
||||
docTrasp.setDataSped(dataDoc);
|
||||
docTrasp.setRifDoc(rifDoc);
|
||||
docTrasp.setIdRiga(idRiga);
|
||||
docTrasp.setCheckSerDoc(checkSerieDoc);
|
||||
listDocTrasp.add(docTrasp);
|
||||
}
|
||||
docCostiTrasp = checkAndImportDoc(listDocTrasp, format);
|
||||
|
||||
String pathFileImported = UtilityString.replaceSubString(requestDataDTO.getPathFile(), format, format + "\\imported");
|
||||
UtilityFile.fileDelete(pathFileImported);
|
||||
FileUtils.moveFile(new File(requestDataDTO.getPathFile()), new File(pathFileImported));
|
||||
|
||||
return docCostiTrasp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user