Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -5,6 +5,7 @@ import it.integry.ems.document.dto.ArticoloPartitaDTO;
|
||||
import it.integry.ems.document.dto.CreateULFromDocumentsDTO;
|
||||
import it.integry.ems.document.dto.ULRowDTO;
|
||||
import it.integry.ems.document.dto.UlVenditaDTO;
|
||||
import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.menu.dto.StbMenuDTO;
|
||||
import it.integry.ems.retail.wms.accettazione.service.WMSAccettazioneService;
|
||||
@@ -19,6 +20,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
@@ -30,6 +32,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -539,7 +542,7 @@ public class DocumentiDirettiService {
|
||||
}
|
||||
|
||||
List<DtbDocImb> imballi = dtbDoct.getDtbDocImb().stream().filter(x -> x.getOperation() != OperationType.DELETE && x.getTipoReso() != 2).collect(Collectors.toList());
|
||||
int qtaDoc = 0;
|
||||
|
||||
for (DtbDocImb docImb : imballi) {
|
||||
sql =
|
||||
Query.format(
|
||||
@@ -558,9 +561,8 @@ public class DocumentiDirettiService {
|
||||
|
||||
String descrizioneArticolo = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
String codDtipPed;
|
||||
|
||||
if ((fatturaVettore || fatturaPedaneCliente) && docImb.getNumImbCons() != 0) {
|
||||
codDtipPed = codDtipPedCons;
|
||||
String descrizione =
|
||||
String.format("NS. BOLLA DI CONSEGNA %S DEL %S N. %S/%S",
|
||||
dtbDoct.getCodDtip(),
|
||||
@@ -569,70 +571,10 @@ public class DocumentiDirettiService {
|
||||
dtbDoct.getNumDoc());
|
||||
|
||||
descrizioneArticolo = descrizioneArticolo + CommonConstants.A_CAPO + descrizione;
|
||||
|
||||
qtaDoc = docImb.getNumImbCons();
|
||||
|
||||
|
||||
} else if (!fatturaVettore && docImb.getNumImbResi() != 0) {
|
||||
codDtipPed = codDtipPedResi;
|
||||
qtaDoc = docImb.getNumImbResi();
|
||||
} else {
|
||||
codDtipPed = null;
|
||||
getDtbDoctImballi(dtbDoct, entityList, codDtipPedCons, codAnagPed, codMdep, listino, codMart, docImb.getNumImbCons(), descrizioneArticolo, idAttivita);
|
||||
}
|
||||
|
||||
if (codDtipPed != null) {
|
||||
DtbDoct dtbDoctPed = (DtbDoct) entityList
|
||||
.stream()
|
||||
.filter(x -> x instanceof DtbDoct && ((DtbDoct) x).getCodDtip().equalsIgnoreCase(codDtipPed)).findFirst().orElse(null);
|
||||
|
||||
if (dtbDoctPed == null) {
|
||||
sql = Query.format(
|
||||
"SELECT cod_anag, cod_dtip, data_doc, ser_doc, num_doc\n" +
|
||||
"FROM dtb_doct\n" +
|
||||
"WHERE cod_dtip = %s \n" +
|
||||
" AND cod_anag = %s \n" +
|
||||
" AND data_doc = %s \n"
|
||||
,
|
||||
codDtipPed,
|
||||
codAnagPed,
|
||||
dtbDoct.getDataDoc());
|
||||
|
||||
if (UtilityString.isNullOrEmpty(dtbDoct.getIdViaggio()))
|
||||
sql += " AND id_viaggio IS NULL ";
|
||||
else
|
||||
sql += " AND id_viaggio = " + UtilityDB.valueToString(dtbDoct.getIdViaggio());
|
||||
|
||||
dtbDoctPed = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbDoct.class);
|
||||
if (dtbDoctPed != null) {
|
||||
dtbDoctPed.setOperation(OperationType.UPDATE);
|
||||
entityList.add(dtbDoctPed);
|
||||
}
|
||||
|
||||
} else {
|
||||
dtbDoctPed.setOperation(OperationType.UPDATE);
|
||||
}
|
||||
if (dtbDoctPed == null) {
|
||||
dtbDoctPed =
|
||||
new DtbDoct()
|
||||
.setCodDtip(codDtipPed)
|
||||
.setCodAnag(codAnagPed)
|
||||
.setDataDoc(dtbDoct.getDataDoc())
|
||||
.setCodMdep(codMdep)
|
||||
.setCodFornTrasp(dtbDoct.getCodFornTrasp())
|
||||
.setListino(listino)
|
||||
.setIdViaggio(dtbDoct.getIdViaggio());
|
||||
dtbDoctPed.setOperation(OperationType.INSERT);
|
||||
entityList.add(dtbDoctPed);
|
||||
}
|
||||
|
||||
DtbDocr dtbDocr = new DtbDocr()
|
||||
.setCodMart(codMart)
|
||||
.setQtaDoc(new BigDecimal(qtaDoc).abs())
|
||||
.setDescrizioneEstesa(descrizioneArticolo)
|
||||
.setActivityIdRow(idAttivita);
|
||||
dtbDocr.setOperation(OperationType.INSERT);
|
||||
dtbDoctPed.getDtbDocr().add(dtbDocr);
|
||||
|
||||
if (!fatturaVettore && docImb.getNumImbResi() != 0) {
|
||||
getDtbDoctImballi(dtbDoct, entityList, codDtipPedResi, codAnagPed, codMdep, listino, codMart, docImb.getNumImbResi(), descrizioneArticolo, idAttivita);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -643,6 +585,61 @@ public class DocumentiDirettiService {
|
||||
|
||||
}
|
||||
|
||||
private void getDtbDoctImballi(DtbDoct dtbDoct, List<EntityBase> entityList, String codDtipPed, String codAnagPed, String codMdep, String listino, String codMart, int qtaDoc, String descrizioneArticolo, String idAttivita) throws DataConverterNotFoundException, SQLException, InstantiationException, IllegalAccessException, PrimaryDatabaseNotPresentException, IOException {
|
||||
String sql;
|
||||
DtbDoct dtbDoctPed = (DtbDoct) entityList
|
||||
.stream()
|
||||
.filter(x -> x instanceof DtbDoct && ((DtbDoct) x).getCodDtip().equalsIgnoreCase(codDtipPed)).findFirst().orElse(null);
|
||||
|
||||
if (dtbDoctPed == null) {
|
||||
sql = Query.format(
|
||||
"SELECT cod_anag, cod_dtip, data_doc, ser_doc, num_doc\n" +
|
||||
"FROM dtb_doct\n" +
|
||||
"WHERE cod_dtip = %s \n" +
|
||||
" AND cod_anag = %s \n" +
|
||||
" AND data_doc = %s \n"
|
||||
,
|
||||
codDtipPed,
|
||||
codAnagPed,
|
||||
dtbDoct.getDataDoc());
|
||||
|
||||
if (UtilityString.isNullOrEmpty(dtbDoct.getIdViaggio()))
|
||||
sql += " AND id_viaggio IS NULL ";
|
||||
else
|
||||
sql += " AND id_viaggio = " + UtilityDB.valueToString(dtbDoct.getIdViaggio());
|
||||
|
||||
dtbDoctPed = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbDoct.class);
|
||||
if (dtbDoctPed != null) {
|
||||
dtbDoctPed.setOperation(OperationType.UPDATE);
|
||||
entityList.add(dtbDoctPed);
|
||||
}
|
||||
|
||||
} else {
|
||||
dtbDoctPed.setOperation(OperationType.UPDATE);
|
||||
}
|
||||
if (dtbDoctPed == null) {
|
||||
dtbDoctPed =
|
||||
new DtbDoct()
|
||||
.setCodDtip(codDtipPed)
|
||||
.setCodAnag(codAnagPed)
|
||||
.setDataDoc(dtbDoct.getDataDoc())
|
||||
.setCodMdep(codMdep)
|
||||
.setCodFornTrasp(dtbDoct.getCodFornTrasp())
|
||||
.setListino(listino)
|
||||
.setIdViaggio(dtbDoct.getIdViaggio());
|
||||
dtbDoctPed.setOperation(OperationType.INSERT);
|
||||
entityList.add(dtbDoctPed);
|
||||
}
|
||||
|
||||
DtbDocr dtbDocr = new DtbDocr()
|
||||
.setCodMart(codMart)
|
||||
.setQtaDoc(new BigDecimal(qtaDoc).abs())
|
||||
.setDescrizioneEstesa(descrizioneArticolo)
|
||||
.setActivityIdRow(idAttivita);
|
||||
dtbDocr.setOperation(OperationType.INSERT);
|
||||
dtbDoctPed.getDtbDocr().add(dtbDocr);
|
||||
}
|
||||
|
||||
|
||||
private StbActivity createStbActivity(String activityTypeId) throws Exception {
|
||||
String idAttivita = ConfigActivityRules.completeActivityId(multiDBTransactionManager.getPrimaryConnection());
|
||||
|
||||
Reference in New Issue
Block a user