diff --git a/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java b/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java index e2838c727f..7f8eb35c74 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java +++ b/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java @@ -13,10 +13,7 @@ import it.integry.ems.service.MailService; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.utility.UtilityFile; import it.integry.ems_model.service.SetupGest; -import it.integry.ems_model.utility.UtilityBigDecimal; -import it.integry.ems_model.utility.UtilityDB; -import it.integry.ems_model.utility.UtilityDate; -import it.integry.ems_model.utility.UtilityString; +import it.integry.ems_model.utility.*; import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -563,17 +560,18 @@ public class DocCostiTrasporto { continue; } - String rifDoc = dataFormatter.formatCellValue(row.getCell(0)); - String dataSpedizione = String.valueOf(row.getCell(1)); - String ragSoc = dataFormatter.formatCellValue(row.getCell(2)); - BigDecimal tassato = new BigDecimal(String.valueOf(row.getCell(5))); - BigDecimal totaleNolo = new BigDecimal(String.valueOf(row.getCell(7))); - Date dataDoc = new SimpleDateFormat("dd-MMM-yyyy").parse(dataSpedizione); + String rifDoc = UtilityExcel.getCellAsString(row, 0); + Date dataDoc = UtilityExcel.getCellAsDate(row, 1, CommonConstants.DATE_FORMAT_DMY, false); + String ragSoc = UtilityExcel.getCellAsString(row, 2); + BigDecimal tassato = new BigDecimal(UtilityExcel.getCellAsString(row, 5)); + BigDecimal totaleNolo = new BigDecimal(UtilityExcel.getCellAsString(row, 7)); String untMis = getUntMisFromTipoCalc(tipoCalc); Integer numDoc = null; - if (UtilityString.isNumber(rifDoc)){ - numDoc = Integer.valueOf(rifDoc); + if (!UtilityString.streNull(rifDoc).isEmpty()){ + if (UtilityString.isNumber(rifDoc)){ + numDoc = Integer.valueOf(rifDoc); + } } DocTraspImportDTO docTrasp = new DocTraspImportDTO(); @@ -626,14 +624,14 @@ public class DocCostiTrasporto { int index = 0; do { - String dataSpedizione = String.valueOf(row.getCell(0)); + Date dataDoc = UtilityExcel.getCellAsDate(row, 0, CommonConstants.DATE_FORMAT_DMY, false); rifDoc = dataFormatter.formatCellValue(row.getCell(1)); String ragSoc = dataFormatter.formatCellValue(row.getCell(3)); String citta = dataFormatter.formatCellValue(row.getCell(4)).toUpperCase(); BigDecimal tassato = new BigDecimal(String.valueOf(row.getCell(5))); String tipoCalcVett = dataFormatter.formatCellValue(row.getCell(7)).toUpperCase(); BigDecimal nolo = new BigDecimal(String.valueOf(row.getCell(8))); - Date dataDoc = new SimpleDateFormat("dd/MM/yyyy").parse(dataSpedizione); + index++; // Le informazioni relativa agli estremi del documento vengono presi dalla prima riga, mentre dalle atre righe vengono solo sommati i singoli importi di spedizione più diritti fissi e contrassegno @@ -730,23 +728,24 @@ public class DocCostiTrasporto { int index = 0; do { - String dataSpedizione = String.valueOf(row.getCell(2)); - rifDoc = dataFormatter.formatCellValue(row.getCell(0)); + Date dataDoc = UtilityExcel.getCellAsDate(row, 2, CommonConstants.DATE_FORMAT_DMY, false); + rifDoc = dataFormatter.formatCellValue(row.getCell(0)).trim(); String ragSoc = dataFormatter.formatCellValue(row.getCell(3)); String citta = dataFormatter.formatCellValue(row.getCell(4)).toUpperCase(); BigDecimal tassato = new BigDecimal(String.valueOf(row.getCell(5))); String descrizioneList = dataFormatter.formatCellValue(row.getCell(6)); BigDecimal nolo = new BigDecimal(String.valueOf(row.getCell(8))); - Date dataDoc = new SimpleDateFormat("dd/MM/yyyy").parse(dataSpedizione); index++; // Le informazioni relativa agli estremi del documento vengono presi dalla prima riga, mentre dalle atre righe vengono solo sommati i singoli importi di spedizione più diritti fissi e contrassegno if (index == 1){ Integer numDoc = null; String serDoc = UtilityString.right(rifDoc,2); - String numero = rifDoc.substring(0, rifDoc.length() -2).trim(); - if (UtilityString.isNumber(numero)) { - numDoc = Integer.valueOf(numero); + if (!UtilityString.streNull(rifDoc).isEmpty()){ + String numero = rifDoc.substring(0, rifDoc.length() -2).trim(); + if (UtilityString.isNumber(numero)) { + numDoc = Integer.valueOf(numero); + } } docTrasp = new DocTraspImportDTO(); @@ -779,7 +778,7 @@ public class DocCostiTrasporto { if (rowIterator.hasNext()){ idRiga++; row = rowIterator.next(); - rifDoc = dataFormatter.formatCellValue(row.getCell(0)); + rifDoc = dataFormatter.formatCellValue(row.getCell(0)).trim(); if (rifDoc.isEmpty()){ if (rowIterator.hasNext()){ row = rowIterator.next();