correzione per salvataggio documenti vettore
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-01-09 18:31:05 +01:00
parent 9dd4781d3b
commit 98a0adf1c8
2 changed files with 49 additions and 16 deletions

View File

@@ -11,6 +11,7 @@ import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityString;
import java.util.List;
import java.util.Optional;
public class DocumentExtEntityRules {
@@ -25,17 +26,34 @@ public class DocumentExtEntityRules {
if ( mtbColts != null && mtbColts.size() > 0) {
for (MtbColt mtbColt : mtbColts) {
mtbColt.setCodDtip(EmsRestConstants.NULL)
.setCodAnag(EmsRestConstants.NULL)
.setDataDoc(EmsRestConstants.DATE_NULL)
.setSerDoc(EmsRestConstants.NULL)
.setNumDoc(EmsRestConstants.INTEGER_NULL)
.setCodAnag(mtbColt.getFlagColloAnonimo().equalsIgnoreCase("S")?EmsRestConstants.NULL:mtbColt.getCodAnag())
.setCodVdes(mtbColt.getFlagColloAnonimo().equalsIgnoreCase("S")?EmsRestConstants.NULL:mtbColt.getCodVdes());
mtbColt.setOperation(OperationType.UPDATE);
Optional<MtbColt> first = entity.getMtbColt()
.stream()
.filter(colt -> colt.getGestione().equalsIgnoreCase(mtbColt.getGestione()) &&
colt.getDataCollo().equals(mtbColt.getDataCollo()) &&
colt.getSerCollo().equalsIgnoreCase(mtbColt.getSerCollo()) &&
colt.getNumCollo().equals(mtbColt.getNumCollo()))
.findFirst();
if (first.isPresent()) {
first.get().setCodDtip(EmsRestConstants.NULL)
.setCodAnag(EmsRestConstants.NULL)
.setDataDoc(EmsRestConstants.DATE_NULL)
.setSerDoc(EmsRestConstants.NULL)
.setNumDoc(EmsRestConstants.INTEGER_NULL)
.setCodAnag(mtbColt.getFlagColloAnonimo().equalsIgnoreCase("S")?EmsRestConstants.NULL:mtbColt.getCodAnag())
.setCodVdes(mtbColt.getFlagColloAnonimo().equalsIgnoreCase("S")?EmsRestConstants.NULL:mtbColt.getCodVdes());
first.get().setOperation(OperationType.UPDATE);
} else {
mtbColt.setCodDtip(EmsRestConstants.NULL)
.setCodAnag(EmsRestConstants.NULL)
.setDataDoc(EmsRestConstants.DATE_NULL)
.setSerDoc(EmsRestConstants.NULL)
.setNumDoc(EmsRestConstants.INTEGER_NULL)
.setCodAnag(mtbColt.getFlagColloAnonimo().equalsIgnoreCase("S")?EmsRestConstants.NULL:mtbColt.getCodAnag())
.setCodVdes(mtbColt.getFlagColloAnonimo().equalsIgnoreCase("S")?EmsRestConstants.NULL:mtbColt.getCodVdes());
mtbColt.setOperation(OperationType.UPDATE);
entity.getMtbColt().add(mtbColt);
}
}
entity.getMtbColt().addAll(mtbColts);
}
}
}

View File

@@ -1260,12 +1260,28 @@ public class DocumentiAcquistoImportService {
String codAnag = (String) resultQury.get("cod_anag");
String codAlis = (String) resultQury.get("cod_alis");
if (UtilityString.isNullOrEmpty(codAnag)) {
anomalie.add(AnomalieDTO.error(String.format("Nessun fornitore trovato con la partita iva %s", filconad.getCodForn())));
}
String codVdes = null;
if (UtilityString.isNullOrEmpty(codAlis)) {
sql = "SELECT cod_vdes, cod_alis FROM vtb_dest WHERE cod_anag = %s AND flag_attivo = 'S' and cod_alis is not null";
HashMap<String, Object> datiDest = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
codVdes = (String) datiDest.get("cod_vdes");
codAlis = (String) datiDest.get("cod_alis");
}
if (UtilityString.isNullOrEmpty(codAlis)) {
anomalie.add(AnomalieDTO.error(String.format("Codice listino non trovato sul fornitore %s", codAnag)));
}
String intercode = filconad.getCodClie().substring(4, 8) + "|" + filconad.getCodSocio();
sql = Query.format(
"SELECT cod_mdep\n" +
"FROM mtb_depo_intercode\n" +
"WHERE intercode = %s AND cod_forn = %s",
intercode, codAnag
"WHERE intercode = %s AND cod_forn = %s %s",
intercode, codAnag, (UtilityString.isNullOrEmpty(codVdes)?"":"AND cod_vdes = " + UtilityDB.valueToString(codVdes))
);
String codMdep = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
@@ -1280,7 +1296,8 @@ public class DocumentiAcquistoImportService {
.setDataDoc(filconad.getDataBolla())
.setCodDtip(codDtip)
.setListino(codAlis)
.setCodMdep(codMdep);
.setCodMdep(codMdep)
.setCodVdes(codVdes);
for (FilconadrDTO filconadr : filconad.getFilconadr()) {
sql = Query.format(
@@ -1300,9 +1317,7 @@ public class DocumentiAcquistoImportService {
new DtbDocr()
.setCodArtFor(filconadr.getCodArt())
.setQtaDoc(filconadr.getQtaFatturata())
.setDescrizione(filconadr.getDescArt())
.setValUnt(filconadr.getPrzUnitario())
.setImportoRiga(filconadr.getImpTot());
.setDescrizione(filconadr.getDescArt());
dtbDocr.setOperation(OperationType.INSERT);