Importazione DIPA
This commit is contained in:
@@ -11,7 +11,7 @@ public class Migration_20240619105525 extends BaseMigration implements Migration
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "DIPA", "€/KG.", "KG", "Tipo calcolo euro/kg", false, null, false, false, false, false, false, null, false, null);
|
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "DIPA", "€/KG.", "PESO", "Tipo calcolo euro/kg", false, null, false, false, false, false, false, null, false, null);
|
||||||
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "DIPA", "€/PLT", "PEDANE", "Tipo calcolo euro/pallet", false, null, false, false, false, false, false, null, false, null);
|
createSetup("IMPORT_DOCUMENTI_TRASPORTO", "DIPA", "€/PLT", "PEDANE", "Tipo calcolo euro/pallet", false, null, false, false, false, false, false, null, false, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20240619163048 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!isCustomerDb(IntegryCustomerDB.Gramm_Gramm))
|
||||||
|
return;
|
||||||
|
|
||||||
|
updateSetupValue("IMPORT_DOCUMENTI_TRASPORTO", "DIPA", "ELENCO_TIPI_DOC_DA_ESCLUDERE", "D.D.T|DDTAV|DDTRC");
|
||||||
|
updateSetupValue("IMPORT_DOCUMENTI_TRASPORTO", "MIRARCHI", "ELENCO_TIPI_DOC_DA_ESCLUDERE", "D.D.T|DDTAV|DDTRC");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -26,10 +26,6 @@ public class DocTraspImportDTO {
|
|||||||
private String rifDoc;
|
private String rifDoc;
|
||||||
/*Riferimento del numero di riga del file importato*/
|
/*Riferimento del numero di riga del file importato*/
|
||||||
private Integer idRiga;
|
private Integer idRiga;
|
||||||
|
|
||||||
/*Se impostata vengono passati l'elenco dei documenti che dovranno essere sclusi dalla ricerca,
|
|
||||||
l'elenco dei documenti da escludere normalmente viene configurato nella setup del formato di importazione*/
|
|
||||||
private String elencoDocDaEscludere;
|
|
||||||
private BigDecimal peso;
|
private BigDecimal peso;
|
||||||
private BigDecimal colli;
|
private BigDecimal colli;
|
||||||
private BigDecimal pallet;
|
private BigDecimal pallet;
|
||||||
@@ -155,15 +151,6 @@ public class DocTraspImportDTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getElencoDocDaEscludere() {
|
|
||||||
return elencoDocDaEscludere;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DocTraspImportDTO setElencoDocDaEscludere(String elencoDocDaEscludere) {
|
|
||||||
this.elencoDocDaEscludere = elencoDocDaEscludere;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getPeso() {
|
public BigDecimal getPeso() {
|
||||||
return peso;
|
return peso;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ import it.integry.ems_model.utility.UtilityString;
|
|||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
import org.apache.poi.ss.usermodel.DataFormatter;
|
import org.apache.poi.ss.usermodel.DataFormatter;
|
||||||
import org.apache.poi.ss.usermodel.Row;
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
@@ -32,6 +36,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
@@ -77,6 +82,7 @@ public class DocCostiTrasporto {
|
|||||||
|
|
||||||
String codVvet = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "COD_VVET"));
|
String codVvet = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "COD_VVET"));
|
||||||
String elencoClientiTipoCalcPallet = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "TIPO_CALC_PALLET_EL_COD_ANAG"));
|
String elencoClientiTipoCalcPallet = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "TIPO_CALC_PALLET_EL_COD_ANAG"));
|
||||||
|
String elencoDocDaEscludere = UtilityString.emptyStr2Null(setupGest.getImportSetup(connect, type, format, "ELENCO_TIPI_DOC_DA_ESCLUDERE"));
|
||||||
if (codVvet == null){
|
if (codVvet == null){
|
||||||
throw new Exception("CODICE VETTORE NON CONFIGURATO");
|
throw new Exception("CODICE VETTORE NON CONFIGURATO");
|
||||||
}
|
}
|
||||||
@@ -92,13 +98,15 @@ public class DocCostiTrasporto {
|
|||||||
Integer numDoc = doc.getNumDoc();
|
Integer numDoc = doc.getNumDoc();
|
||||||
String serDoc = UtilityString.emptyStr2Null(doc.getSerDoc());
|
String serDoc = UtilityString.emptyStr2Null(doc.getSerDoc());
|
||||||
Integer idRiga = doc.getIdRiga();
|
Integer idRiga = doc.getIdRiga();
|
||||||
String elencoDocDaEscludere = doc.getElencoDocDaEscludere();
|
|
||||||
String note = "";
|
String note = "";
|
||||||
String checkgestione = doc.getCheckGestione();
|
String checkgestione = doc.getCheckGestione();
|
||||||
|
|
||||||
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
||||||
|
|
||||||
// Acquisizione numero e serie documento
|
// Acquisizione numero e serie documento
|
||||||
|
codDtip = null;
|
||||||
|
codAnag = null;
|
||||||
|
serDoc = null;
|
||||||
if (numDoc == null){
|
if (numDoc == null){
|
||||||
if (rifDoc == null || rifDoc.length() == 0){
|
if (rifDoc == null || rifDoc.length() == 0){
|
||||||
rifDoc = "[VUOTO]";
|
rifDoc = "[VUOTO]";
|
||||||
@@ -176,7 +184,7 @@ public class DocCostiTrasporto {
|
|||||||
note += "@DOC_NO_EXIST=" + rifDoc + " documento inesistente";
|
note += "@DOC_NO_EXIST=" + rifDoc + " documento inesistente";
|
||||||
dataDoc = dataSped;
|
dataDoc = dataSped;
|
||||||
} else if (rowCounter > 1) {
|
} else if (rowCounter > 1) {
|
||||||
note += "@DOC_MORE=" + rifDoc + " ci sono più documenti associati con la stessa serie e numero nel gestionale";
|
note += "@DOC_MORE=" + rifDoc + " ci sono più documenti associati con la stessa numero nel gestionale";
|
||||||
dataDoc = dataSped;
|
dataDoc = dataSped;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -518,7 +526,6 @@ public class DocCostiTrasporto {
|
|||||||
docTrasp.setDataSped(dataDoc);
|
docTrasp.setDataSped(dataDoc);
|
||||||
docTrasp.setRifDoc(rifDoc);
|
docTrasp.setRifDoc(rifDoc);
|
||||||
docTrasp.setIdRiga(idRiga);
|
docTrasp.setIdRiga(idRiga);
|
||||||
docTrasp.setElencoDocDaEscludere(elencoTipiDocDaEscludere);
|
|
||||||
docTrasp.setCheckSerDoc(checkSerieDoc);
|
docTrasp.setCheckSerDoc(checkSerieDoc);
|
||||||
docTrasp.setColli(tassatoCollo);
|
docTrasp.setColli(tassatoCollo);
|
||||||
docTrasp.setPeso(tassatoPeso);
|
docTrasp.setPeso(tassatoPeso);
|
||||||
@@ -608,7 +615,7 @@ public class DocCostiTrasporto {
|
|||||||
|
|
||||||
String checkSerieDoc = "N",
|
String checkSerieDoc = "N",
|
||||||
checkAnnoDoc = "N",
|
checkAnnoDoc = "N",
|
||||||
checkVettore = "S",
|
checkVettore = "N",
|
||||||
checkGestione = "V";
|
checkGestione = "V";
|
||||||
|
|
||||||
File tempFile = new File(requestDataDTO.getPathFile());
|
File tempFile = new File(requestDataDTO.getPathFile());
|
||||||
@@ -621,13 +628,16 @@ public class DocCostiTrasporto {
|
|||||||
while (rowIterator.hasNext()) {
|
while (rowIterator.hasNext()) {
|
||||||
if (idRiga <= 1){
|
if (idRiga <= 1){
|
||||||
row = rowIterator.next();
|
row = rowIterator.next();
|
||||||
}
|
idRiga++;
|
||||||
idRiga++;
|
if (idRiga == 1){
|
||||||
if (idRiga == 1){
|
continue;
|
||||||
continue;
|
}
|
||||||
|
}else {
|
||||||
|
if (rifDoc.length() == 0){
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ciclo su riferimento documento per clacolo del costo toale nolo
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
do {
|
do {
|
||||||
String dataSpedizione = String.valueOf(row.getCell(0));
|
String dataSpedizione = String.valueOf(row.getCell(0));
|
||||||
@@ -635,26 +645,16 @@ public class DocCostiTrasporto {
|
|||||||
String ragSoc = dataFormatter.formatCellValue(row.getCell(3));
|
String ragSoc = dataFormatter.formatCellValue(row.getCell(3));
|
||||||
String citta = dataFormatter.formatCellValue(row.getCell(4)).toUpperCase();
|
String citta = dataFormatter.formatCellValue(row.getCell(4)).toUpperCase();
|
||||||
BigDecimal tassato = new BigDecimal(String.valueOf(row.getCell(5)));
|
BigDecimal tassato = new BigDecimal(String.valueOf(row.getCell(5)));
|
||||||
String tipoCalc = dataFormatter.formatCellValue(row.getCell(7)).toUpperCase();
|
String tipoCalcVett = dataFormatter.formatCellValue(row.getCell(7)).toUpperCase();
|
||||||
BigDecimal nolo = new BigDecimal(String.valueOf(row.getCell(8)));
|
BigDecimal nolo = new BigDecimal(String.valueOf(row.getCell(8)));
|
||||||
Date dataDoc = new SimpleDateFormat("dd-MMM-yyyy").parse(dataSpedizione);
|
Date dataDoc = new SimpleDateFormat("dd/MM/yyyy").parse(dataSpedizione);
|
||||||
index++;
|
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
|
// 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){
|
if (index == 1){
|
||||||
// Verifica se si tratta di un documento di acquisto o di reso, in tal caso nella destinazione c'è il nome dell'azienda e non devono essere ricercati i riferimenti del docuemento
|
|
||||||
sql = "select count(*) " +
|
|
||||||
"from dbo.ParseStringIntoArray((select dbo.getGestSetup(IMPORT_" + UtilityDB.valueToString(type) + ", " + UtilityDB.valueToString(format) +", 'RAG_SOC_AZIENDA')), '|')" +
|
|
||||||
" where value_string = " + UtilityDB.valueToString(ragSoc);
|
|
||||||
Integer isDocAnonymous = (Integer) getSingleValue(multiDBTransactionManager.getPrimaryConnection(), sql);
|
|
||||||
|
|
||||||
tipoCalc = setupGest.getImportSetup(connect, type, format, tipoCalc);
|
|
||||||
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
|
||||||
Integer numDoc = null;
|
Integer numDoc = null;
|
||||||
if (isDocAnonymous == 0) {
|
if (UtilityString.isNumber(rifDoc)) {
|
||||||
if (UtilityString.isNumber(rifDoc)) {
|
numDoc = Integer.valueOf(rifDoc);
|
||||||
numDoc = Integer.valueOf(rifDoc);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
docTrasp = new DocTraspImportDTO();
|
docTrasp = new DocTraspImportDTO();
|
||||||
@@ -662,9 +662,6 @@ public class DocCostiTrasporto {
|
|||||||
docTrasp.setNumDoc(numDoc);
|
docTrasp.setNumDoc(numDoc);
|
||||||
docTrasp.setRagSoc(ragSoc);
|
docTrasp.setRagSoc(ragSoc);
|
||||||
docTrasp.setNolo(nolo);
|
docTrasp.setNolo(nolo);
|
||||||
docTrasp.setTassato(tassato);
|
|
||||||
docTrasp.setTipoCalc(tipoCalc);
|
|
||||||
docTrasp.setUntMis(untMis);
|
|
||||||
docTrasp.setDataSped(dataDoc);
|
docTrasp.setDataSped(dataDoc);
|
||||||
docTrasp.setRifDoc(rifDoc);
|
docTrasp.setRifDoc(rifDoc);
|
||||||
docTrasp.setIdRiga(idRiga);
|
docTrasp.setIdRiga(idRiga);
|
||||||
@@ -673,14 +670,32 @@ public class DocCostiTrasporto {
|
|||||||
docTrasp.setCheckSerDoc(checkSerieDoc);
|
docTrasp.setCheckSerDoc(checkSerieDoc);
|
||||||
docTrasp.setCheckAnnoDoc(checkAnnoDoc);
|
docTrasp.setCheckAnnoDoc(checkAnnoDoc);
|
||||||
docTrasp.setCheckVettore(checkVettore);
|
docTrasp.setCheckVettore(checkVettore);
|
||||||
|
|
||||||
|
String tipoCalc = setupGest.getImportSetup(connect, type, format, tipoCalcVett);
|
||||||
|
if (tipoCalc != null){
|
||||||
|
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
||||||
|
docTrasp.setTipoCalc(tipoCalc);
|
||||||
|
docTrasp.setUntMis(untMis);
|
||||||
|
docTrasp.setTassato(tassato);
|
||||||
|
}
|
||||||
|
|
||||||
listDocTrasp.add(docTrasp);
|
listDocTrasp.add(docTrasp);
|
||||||
} else {
|
} else {
|
||||||
|
String tipoCalc = setupGest.getImportSetup(connect, type, format, tipoCalcVett);
|
||||||
|
String untMis = getUntMisFromTipoCalc(tipoCalc);
|
||||||
|
if (tipoCalc != null){
|
||||||
|
docTrasp.setTipoCalc(tipoCalc);
|
||||||
|
docTrasp.setUntMis(untMis);
|
||||||
|
docTrasp.setTassato(tassato);
|
||||||
|
}
|
||||||
|
|
||||||
docTrasp.setNolo(docTrasp.getNolo().add(nolo));
|
docTrasp.setNolo(docTrasp.getNolo().add(nolo));
|
||||||
}
|
}
|
||||||
|
|
||||||
rifDocOld = rifDoc;
|
rifDocOld = rifDoc;
|
||||||
|
|
||||||
if (rowIterator.hasNext()){
|
if (rowIterator.hasNext()){
|
||||||
|
idRiga++;
|
||||||
row = rowIterator.next();
|
row = rowIterator.next();
|
||||||
rifDoc = dataFormatter.formatCellValue(row.getCell(1));
|
rifDoc = dataFormatter.formatCellValue(row.getCell(1));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user