Tracciato §EBC
This commit is contained in:
@@ -30,7 +30,7 @@ public class DocCostiTrasportoController {
|
||||
|
||||
List<ReturnDocCostiTrasportoDTO> docTrasp = new ArrayList<>();
|
||||
try {
|
||||
docTrasp = documentService.importDocumentiTrasportoPapagni(requestDataDTO);
|
||||
docTrasp = documentService.importDocumentiTrasportoPapagni(requestDataDTO, "DOCUMENIT TRASPORTO", "PAPAGNI");
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(docTrasp);
|
||||
|
||||
@@ -55,9 +55,10 @@ public class DocCostiTrasportoController {
|
||||
docTrasp = documentService.importDocumentiTrasportoMirarchi(requestDataDTO, type, format);
|
||||
break;
|
||||
case "STEF":
|
||||
docTrasp = documentService.importDocumentiTrasportoStef(requestDataDTO);
|
||||
docTrasp = documentService.importDocumentiTrasportoStef(requestDataDTO, type, format);
|
||||
break;
|
||||
case "EBC":
|
||||
docTrasp = documentService.importDocumentiTrasportoEBC(requestDataDTO, type, format);
|
||||
break;
|
||||
case "ROTUNNO":
|
||||
docTrasp = documentService.importDocumentiTrasportoROTUNNO(requestDataDTO, type, format);
|
||||
@@ -65,9 +66,6 @@ public class DocCostiTrasportoController {
|
||||
case "DIPA":
|
||||
docTrasp = documentService.importDocumentiTrasportoDIPA(requestDataDTO, type, format);
|
||||
break;
|
||||
case "PAPAGNI":
|
||||
docTrasp = documentService.importDocumentiTrasportoPapagni(requestDataDTO);
|
||||
break;
|
||||
}
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(docTrasp);
|
||||
|
||||
@@ -1,2 +1,87 @@
|
||||
package it.integry.ems.document.CostiTrasporto.dto;public class DocTraspEBCDTO {
|
||||
}
|
||||
package it.integry.ems.document.CostiTrasporto.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.models.auth.In;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class DocTraspEBCDTO {
|
||||
@JsonProperty("SUPPLEMENTO P/ASS")
|
||||
private BigDecimal supplementoPASS;
|
||||
@JsonProperty("PREAVVISO TELEFONICO")
|
||||
private BigDecimal preavvisoTelefonico;
|
||||
@JsonProperty("SUPPLEMENTO CARBURANTE")
|
||||
private BigDecimal supplementoTelefonico;
|
||||
@JsonProperty("GESTIONE EPAL")
|
||||
private BigDecimal gestioneEPAL;
|
||||
@JsonProperty("SERVIZIO NON STOP")
|
||||
private BigDecimal servizioNonStop;
|
||||
@JsonProperty("ASSICURAZIONE")
|
||||
private BigDecimal assicurazione;
|
||||
@JsonProperty("SOSTA ALLO SCARICO")
|
||||
private BigDecimal sostaAlloScarico;
|
||||
@JsonProperty("DIRITTO FISSO")
|
||||
private BigDecimal dirittoFisso;
|
||||
@JsonProperty("RIPREZZAMENTO FUORI SAGOMA")
|
||||
private BigDecimal riprezzamentoFuoriSagoma;
|
||||
@JsonProperty("RIPREZZAMENTO FUORI PESO")
|
||||
private BigDecimal ripressamentoFuoriPeso;
|
||||
@JsonProperty("ADDEBITO PRENOTAZIONE SU TESI")
|
||||
private BigDecimal AddebitoPrenotazioneSuTesi;
|
||||
@JsonProperty("ADD PREN SU MERCAREON/SMARTBAY")
|
||||
private BigDecimal AddPrenSuMercareonSmartbay;
|
||||
@JsonProperty("IMPORTO DOCUMENTO")
|
||||
private BigDecimal importoDocumento;
|
||||
@JsonProperty("SCARICO COOPERATIVE GDO")
|
||||
private BigDecimal scaricoCooperativaGDO;
|
||||
@JsonProperty("ZONA DISAGIATA")
|
||||
private BigDecimal zonsDisagiata;
|
||||
@JsonProperty("CODICE CLIENTE")
|
||||
private String codiceCliente;
|
||||
@JsonProperty("RAGIONE SOCIALE MITTENTE")
|
||||
private String ragioneSocialeMittente;
|
||||
@JsonProperty("LOCALITA")
|
||||
private String localita;
|
||||
@JsonProperty("N.DOCUMENTO")
|
||||
private Integer numDocumento;
|
||||
@JsonProperty("DATA DOCUMENTO")
|
||||
private Date dataDocumento;
|
||||
@JsonProperty("DATA SPEDIZIONE")
|
||||
private Date dataSpedizione;
|
||||
@JsonProperty("CONTR.")
|
||||
private BigDecimal contr;
|
||||
@JsonProperty("RIF.MITTENTE")
|
||||
private String rifMittente;
|
||||
@JsonProperty("TP")
|
||||
private String tp;
|
||||
@JsonProperty("NS.RIFERIMENTO")
|
||||
private String nsRiferimento;
|
||||
@JsonProperty("TR")
|
||||
private String tr;
|
||||
@JsonProperty("RIFERIMENTO OP LOGISTICA")
|
||||
private String riferimentoOpLogistica;
|
||||
@JsonProperty("DESTINATARIO/MITTENTE")
|
||||
private String destinarioMittente;
|
||||
@JsonProperty("LOCALITA DEST.")
|
||||
private String localitaDest;
|
||||
@JsonProperty("PART")
|
||||
private String part;
|
||||
@JsonProperty("ARR.")
|
||||
private String arrotonamento;
|
||||
@JsonProperty("N.BANCALI")
|
||||
private Integer numBancali;
|
||||
@JsonProperty("N.COLLI")
|
||||
private Integer numColli;
|
||||
@JsonProperty("PESO")
|
||||
private BigDecimal peso;
|
||||
@JsonProperty("VOLUME")
|
||||
private BigDecimal volume;
|
||||
@JsonProperty("NOLO")
|
||||
private BigDecimal nolo;
|
||||
@JsonProperty("COMMISSIONE CONTRASSEGNO")
|
||||
private BigDecimal commissioneContrassegno;
|
||||
@JsonProperty("SUPPLEMENTO ADR")
|
||||
private BigDecimal supplementoADR;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.ems.document.CostiTrasporto.service;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||
import it.integry.ems.document.CostiTrasporto.dto.DocTraspEBCDTO;
|
||||
import it.integry.ems.document.CostiTrasporto.dto.DocTraspImportDTO;
|
||||
import it.integry.ems.document.CostiTrasporto.dto.DocTraspStefDTO;
|
||||
import it.integry.ems.document.CostiTrasporto.dto.ReturnDocCostiTrasportoDTO;
|
||||
@@ -66,8 +67,6 @@ public class DocCostiTrasporto {
|
||||
|
||||
private String sql;
|
||||
|
||||
private String STEF = "STEF", PAPAGNI = "PAPAGNI";
|
||||
|
||||
private Logger logger = LogManager.getLogger();
|
||||
|
||||
@NotNull
|
||||
@@ -220,7 +219,7 @@ public class DocCostiTrasporto {
|
||||
/*Se si tratta di STEF è necessario verificare se il cliente è tra quelli gestiti a PALLET ed in tal caso il tipo calcolo andrà cambiato,
|
||||
purtroppo STEF non fornisce nel file per ogni cliente che tipo di costo è stato associato.
|
||||
Siamo costretti a fare il controllo qui perchè nel file non abbiamo il codice cliente e solo in questo punto viene identificato*/
|
||||
if (format.equalsIgnoreCase(STEF)){
|
||||
if (format.equalsIgnoreCase("STEF")){
|
||||
if (codAnag != null && elencoClientiTipoCalcPallet != null && elencoClientiTipoCalcPallet.contains(codAnag)){
|
||||
tipoCalc = "PEDANE";
|
||||
untMis = getUntMisFromTipoCalc(tipoCalc);
|
||||
@@ -249,15 +248,15 @@ public class DocCostiTrasporto {
|
||||
return docCostiTrasp;
|
||||
}
|
||||
|
||||
public List<ReturnDocCostiTrasportoDTO> importDocumentiTrasportoPapagni(ImportRequestDTO requestDataDTO) throws Exception {
|
||||
public List<ReturnDocCostiTrasportoDTO> importDocumentiTrasportoPapagni(ImportRequestDTO requestDataDTO, String type, String format) throws Exception {
|
||||
Integer index = 0, numDoc = null;
|
||||
String serDoc, codAnag, ragSocDB, codDtip, cittaDB, tipoCalc, format = PAPAGNI, type = "DOCUMENTI_TRASPORTO";
|
||||
String serDoc, codAnag, ragSocDB, codDtip, cittaDB, tipoCalc;
|
||||
List<ReturnDocCostiTrasportoDTO> docCostiTrasp = new ArrayList<>();
|
||||
DataFormatter dataFormatter = new DataFormatter();
|
||||
Date dataDoc;
|
||||
Connection connect = multiDBTransactionManager.getPrimaryConnection();
|
||||
|
||||
String codVvet = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "COD_VVET"));
|
||||
String codVvet = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, "DOCUMENTI_TRASPORTO", "PAPAGNI", "COD_VVET"));
|
||||
if (codVvet == null){
|
||||
throw new Exception("CODICE VETTORE NON CONFIGURATO");
|
||||
}
|
||||
@@ -458,9 +457,8 @@ public class DocCostiTrasporto {
|
||||
return returns;
|
||||
}
|
||||
|
||||
public List<ReturnDocCostiTrasportoDTO> importDocumentiTrasportoStef(ImportRequestDTO requestDataDTO) throws Exception {
|
||||
public List<ReturnDocCostiTrasportoDTO> importDocumentiTrasportoStef(ImportRequestDTO requestDataDTO, String type, String format) throws Exception {
|
||||
Integer idRiga = 0;
|
||||
String format = STEF, type = "DOCUMENTI_TRASPORTO";
|
||||
List<ReturnDocCostiTrasportoDTO> docCostiTrasp = new ArrayList<>();
|
||||
List<DocTraspImportDTO> listDocTrasp = new ArrayList<>();
|
||||
HashMap<String, String> returns = new HashMap<>();
|
||||
@@ -793,6 +791,84 @@ public class DocCostiTrasporto {
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
public List<ReturnDocCostiTrasportoDTO> importDocumentiTrasportoEBC(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<>();
|
||||
BigDecimal tassato = BigDecimal.ZERO;
|
||||
Connection connect = multiDBTransactionManager.getPrimaryConnection();
|
||||
|
||||
String tipoCalc = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "TIPO_CALC"));
|
||||
if (tipoCalc == null){throw new Exception("E' NECESSARIO DEFINIRE LA TIPOLOGIA DI CALCOLO SE A PESO O A COLLI");}
|
||||
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
||||
|
||||
File tempFile = new File(requestDataDTO.getPathFile());
|
||||
String csvEBC = FileUtils.readFileToString(tempFile);
|
||||
CsvMapper<DocTraspEBCDTO> mapper = new CsvMapper<DocTraspEBCDTO>();
|
||||
List<DocTraspEBCDTO> EBCList = mapper.deserialize(csvEBC, DocTraspEBCDTO.class, ";");
|
||||
|
||||
for (DocTraspEBCDTO doc : EBCList) {
|
||||
/*String rifDoc = doc.gertNSRiferimento
|
||||
BigDecimal totaleNolo = doc.getNolo().divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP);
|
||||
BigDecimal tassatoCollo = doc.getNumColli().divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP);
|
||||
BigDecimal tassatoPeso = doc.getPeso().divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP);
|
||||
BigDecimal tassatoPallet = doc.getNumeroPallet();
|
||||
idRiga ++;
|
||||
|
||||
returns = getSerNumDoc(rifDoc);
|
||||
String numDocFile = returns.get("numDoc");
|
||||
String serDoc = returns.get("serDoc");
|
||||
|
||||
Integer numDoc = null;
|
||||
if (numDocFile != null && UtilityString.isNumber(numDocFile)){
|
||||
numDoc = Integer.valueOf(numDocFile);
|
||||
}
|
||||
Date dataDoc = null;
|
||||
try {
|
||||
dataDoc = new SimpleDateFormat("yyyyMMdd").parse(doc.getDataDocumento());
|
||||
} catch (Exception e){
|
||||
logger.warn("Data documento non presente o non valida");
|
||||
}
|
||||
if (tipoCalc.compareTo("PESO") == 0){
|
||||
tassato = tassatoPeso;
|
||||
} else {
|
||||
tassato = tassatoCollo;
|
||||
}
|
||||
String checkSerieDoc = "N";
|
||||
if (doc.getCategoriaTariffa().compareTo("EM") == 0){
|
||||
checkSerieDoc = "S";
|
||||
}
|
||||
|
||||
DocTraspImportDTO docTrasp = new DocTraspImportDTO();
|
||||
docTrasp.setDataDoc(dataDoc);
|
||||
docTrasp.setNumDoc(numDoc);
|
||||
docTrasp.setSerDoc(serDoc);
|
||||
docTrasp.setRagSoc(doc.getRagSc());
|
||||
docTrasp.setCitta(doc.getCitta());
|
||||
docTrasp.setNolo(totaleNolo);
|
||||
docTrasp.setTassato(tassato);
|
||||
docTrasp.setTipoCalc(tipoCalc);
|
||||
docTrasp.setUntMis(untMis);
|
||||
docTrasp.setDataSped(dataDoc);
|
||||
docTrasp.setRifDoc(rifDoc);
|
||||
docTrasp.setIdRiga(idRiga);
|
||||
docTrasp.setCheckSerDoc(checkSerieDoc);
|
||||
docTrasp.setColli(tassatoCollo);
|
||||
docTrasp.setPeso(tassatoPeso);
|
||||
docTrasp.setPallet(tassatoPallet);
|
||||
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));
|
||||
|
||||
Reference in New Issue
Block a user