Merge branch 'develop' into feature/Feature-variazioni2
This commit is contained in:
@@ -2,31 +2,20 @@ package it.integry.ems.retail.ReportVariazioni.service;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.dto.Result;
|
||||
import it.integry.ems.expansion.RunnableArgsThrowable;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniDettaglioDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniReportType;
|
||||
import it.integry.ems.retail.ReportVariazioni.xml.*;
|
||||
import it.integry.ems.retail.dto.GrigliaAcquistoDTO;
|
||||
import it.integry.ems.retail.service.GrigliaAcquistoHandlerService;
|
||||
import it.integry.ems.service.HttpRestWrapper;
|
||||
import it.integry.ems.service.MailService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.TypeDbObject;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import kotlin.Triple;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.ws.rs.client.Entity;
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.Marshaller;
|
||||
import java.io.File;
|
||||
@@ -37,149 +26,83 @@ import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class VariazioniPvService {
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
private final String gestName = "w_vvariaz_prezzi_disp";
|
||||
private final String section = "VARIAZIONI";
|
||||
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
@Autowired
|
||||
private GrigliaAcquistoHandlerService grigliaAcquistoHandlerService;
|
||||
|
||||
@Autowired
|
||||
private HttpRestWrapper httpRestWrapper;
|
||||
|
||||
@Autowired
|
||||
private MailService mailService;
|
||||
|
||||
private HashMap<String, String> listini = new HashMap<>();
|
||||
private List<GrigliaAcquistoDTO> grigliaAcquisto = new ArrayList<>();
|
||||
|
||||
|
||||
public String variazionePrezzoPVXml(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
|
||||
String xmlVariazioni = null;
|
||||
|
||||
ReportType fileVariazioniDTO = variazionePrezzoPV(variazioniPvDTO);
|
||||
|
||||
if (fileVariazioniDTO.getCodVlis() == null || fileVariazioniDTO.getCodVlis().size() == 0)
|
||||
throw new Exception("Non ci sono variazione nel periodo selezionato.");
|
||||
if (fileVariazioniDTO.getCodVlis() != null && fileVariazioniDTO.getCodVlis().size() > 0) {
|
||||
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(ReportType.class);
|
||||
Marshaller marshaller = jaxbContext.createMarshaller();
|
||||
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(ReportType.class);
|
||||
Marshaller marshaller = jaxbContext.createMarshaller();
|
||||
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
|
||||
|
||||
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), "VARIAZIONI_PV", "XML_DIALOGO").getAbsolutePath();
|
||||
if (!UtilityString.isNullOrEmpty(pathFile)) {
|
||||
File tempFile = new File(pathFile + "//" + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + ".xml");
|
||||
marshaller.marshal(fileVariazioniDTO, tempFile);
|
||||
}
|
||||
StringWriter fileXml = new StringWriter();
|
||||
marshaller.marshal(fileVariazioniDTO, fileXml);
|
||||
return fileXml.toString();
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> calcVariazionePrezzoPV(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
return calcVariazionePrezzoPV(multiDBTransactionManager, variazioniPvDTO);
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> calcVariazionePrezzoPV(MultiDBTransactionManager mdb, VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
LocalDateTime startTracingTime = UtilityLocalDate.getNowTime();
|
||||
// logger.trace("Calcolo variazioni: Start");
|
||||
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(mdb.getPrimaryConnection(), gestName, section);
|
||||
|
||||
boolean existVariazioni = (variazioniPvDTO.getVariazioni() != null && !variazioniPvDTO.getVariazioni().isEmpty());
|
||||
List<VariazioniDTO> listini = getListini(mdb, variazioniPvDTO, existVariazioni);
|
||||
logger.trace("Calcolo variazioni: GetListini []");
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioni = new ArrayList<>();
|
||||
|
||||
|
||||
for (VariazioniDTO datiLisv : listini) {
|
||||
String codMdep = UtilityString.streNull(datiLisv.getCodMdep());
|
||||
HashMap<String, String> getSetupSectionDepo =
|
||||
setupGest.getSetupSectionDepo(mdb.getPrimaryConnection(), gestName, section, codMdep);
|
||||
|
||||
|
||||
String codVlisVariazioni = UtilityHashMap.getValueIfExists(getSetupSectionDepo, "COD_VLIS_VARIAZIONI");
|
||||
datiLisv.setCodVlis(UtilityString.isNull(codVlisVariazioni, datiLisv.getCodVlis()));
|
||||
|
||||
datiLisv.setDataVariazione(variazioniPvDTO.getDataValidita());
|
||||
datiLisv.setElencoCasse(getElencoCasse(mdb, codMdep));
|
||||
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioniLisv = null;
|
||||
if (existVariazioni) {
|
||||
variazioniLisv =
|
||||
variazioniPvDTO.getVariazioni().stream()
|
||||
.filter(x -> x.getCodVlis().equalsIgnoreCase(datiLisv.getCodVlis()))
|
||||
.collect(Collectors.toList());
|
||||
} else {
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, datiLisv.getCodVlis(), UtilityHashMap.getValueIfExists(getSetupSectionDepo, "SELEZIONA_GRIGLIE"));
|
||||
variazioniLisv = UtilityDB.executeSimpleQueryDTO(mdb.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
|
||||
|
||||
if (variazioniLisv != null) {
|
||||
variazioniLisv
|
||||
.forEach(
|
||||
variazioniDettaglioDTO ->
|
||||
variazioniDettaglioDTO.setCodVlis(datiLisv.getCodVlis())
|
||||
.setCodMdep(datiLisv.getCodMdep())
|
||||
.setDataVariazione(variazioniPvDTO.getDataValidita())
|
||||
.setElencoCasse(datiLisv.getElencoCasse())
|
||||
);
|
||||
}
|
||||
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), "VARIAZIONI_PV", "XML_DIALOGO").getAbsolutePath();
|
||||
if (!UtilityString.isNullOrEmpty(pathFile)) {
|
||||
File tempFile = new File(pathFile + "//" + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + ".xml");
|
||||
marshaller.marshal(fileVariazioniDTO, tempFile);
|
||||
}
|
||||
|
||||
if (variazioniLisv != null && !variazioniLisv.isEmpty())
|
||||
variazioni.addAll(variazioniLisv);
|
||||
|
||||
logger.debug(VariazioniPvService.class.getSimpleName() +
|
||||
" - getElencoArticoli Listino " + datiLisv.getCodVlis() +
|
||||
": Timing " + ChronoUnit.SECONDS.between(startTracingTime, UtilityLocalDate.getNowTime()) + " secs");
|
||||
|
||||
StringWriter fileXml = new StringWriter();
|
||||
marshaller.marshal(fileVariazioniDTO, fileXml);
|
||||
xmlVariazioni = fileXml.toString();
|
||||
} else {
|
||||
throw new Exception("Non ci sono variazione nel periodo selezionato.");
|
||||
}
|
||||
|
||||
logger.debug(VariazioniPvService.class.getSimpleName() +
|
||||
" - Fine: Timing " + ChronoUnit.SECONDS.between(startTracingTime, UtilityLocalDate.getNowTime()) + " secs");
|
||||
|
||||
return variazioni;
|
||||
return xmlVariazioni;
|
||||
}
|
||||
|
||||
public ReportType variazionePrezzoPV(VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
public ReportType variazionePrezzoPV(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
final String gestName = "w_vvariaz_prezzi_disp", section = "VARIAZIONI";
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), gestName, section);
|
||||
|
||||
String sql =
|
||||
"SELECT vtb_list.cod_vlis, vtb_list.descrizione, vtb_list.flag_list_iva_inclusa, mtb_depo.cod_mdep " +
|
||||
" FROM vtb_list INNER JOIN mtb_depo ON mtb_depo.cod_vlis = vtb_list.cod_vlis " +
|
||||
" WHERE vtb_list.flag_attivo = 'S' " +
|
||||
"ORDER BY vtb_list.cod_vlis ";
|
||||
|
||||
sql = UtilityDB.addwhereCond(sql, variazioniPvDTO.getWhereCondLisv(), false);
|
||||
|
||||
List<HashMap<String, Object>> listini = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
String invioIngredienti = setup.get("INVIA_INGREDIENTI_OPZ");
|
||||
String colNameDescrEstesa = "descrizione_estesa";
|
||||
String setupDescr = setup.get("DESCRIZIONE_ESTESA");
|
||||
|
||||
|
||||
boolean existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
List<VariazioniDTO> listini = getListini(variazioniPvInputDTO, existVariazioni);
|
||||
if (!UtilityString.isNullOrEmpty(setupDescr)) {
|
||||
if (setupDescr.equalsIgnoreCase("D"))
|
||||
colNameDescrEstesa = "descr_art";
|
||||
else if (setupDescr.equalsIgnoreCase("B"))
|
||||
colNameDescrEstesa = "descr_cassa";
|
||||
}
|
||||
|
||||
ReportType fileVariazioniDTO = new ReportType();
|
||||
Date startDate = new Date();
|
||||
logger.debug(VariazioniPvService.class.getSimpleName() + " - inizio : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
for (VariazioniDTO datiLisv : listini) {
|
||||
String codVlis = datiLisv.getCodVlis();
|
||||
String codMdep = UtilityString.streNull(datiLisv.getCodMdep());
|
||||
String elencoCasse = getElencoCasse(multiDBTransactionManager, codMdep);
|
||||
for (HashMap<String, Object> datiLisv : listini) {
|
||||
String codVlis = UtilityHashMap.getValueIfExists(datiLisv, "cod_vlis");
|
||||
String descrLisv = UtilityString.streNull(UtilityHashMap.getValueIfExists(datiLisv, "descrizione"));
|
||||
String flagListIvaInclusa = UtilityString.streNull(UtilityHashMap.getValueIfExists(datiLisv, "flag_list_iva_inclusa"));
|
||||
String codMdep = UtilityString.streNull(UtilityHashMap.getValueIfExists(datiLisv, "cod_mdep"));
|
||||
String elencoCasse = getElencoCasse(codMdep);
|
||||
|
||||
HashMap<String, String> getSetupSectionDepo = setupGest.getSetupSectionDepo(multiDBTransactionManager.getPrimaryConnection(), gestName, section, codMdep);
|
||||
|
||||
|
||||
ObjectFactory objectFactory = new ObjectFactory();
|
||||
|
||||
CodVlisType listinoDTO = new CodVlisType();
|
||||
@@ -189,52 +112,39 @@ public class VariazioniPvService {
|
||||
} else {
|
||||
listinoDTO.getContent().add(codVlisVariazioni);
|
||||
}
|
||||
listinoDTO.setDescrizione(datiLisv.getDescrizione());
|
||||
listinoDTO.setFlagListIvaInclusa(datiLisv.getFlagListIvaInclusa());
|
||||
listinoDTO.setDataVariazione(new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(variazioniPvInputDTO.getDataValidita()));
|
||||
listinoDTO.setDescrizione(descrLisv);
|
||||
listinoDTO.setFlagListIvaInclusa(flagListIvaInclusa);
|
||||
listinoDTO.setDataVariazione(new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(variazioniPvDTO.getDataValidita()));
|
||||
listinoDTO.setCodMdep(codMdep);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeElencoCasse(elencoCasse));
|
||||
fileVariazioniDTO.getCodVlis().add(listinoDTO);
|
||||
|
||||
List<VariazioniDettaglioDTO> elencoVar = null;
|
||||
if (existVariazioni) {
|
||||
elencoVar =
|
||||
Stream.of(variazioniPvInputDTO.getVariazioni())
|
||||
.filter(x -> x.getCodVlis().equalsIgnoreCase(datiLisv.getCodVlis()))
|
||||
.toList();
|
||||
} else {
|
||||
String query = getQueryVariazioni(variazioniPvInputDTO, setup, codVlis, getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
elencoVar = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, codVlis, getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
List<HashMap<String, Object>> elencoVar = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
boolean getVariazioneGriglia = false;
|
||||
|
||||
if ((variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.GRIGLIA ||
|
||||
variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.LISTINO) &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE") != null &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE").equalsIgnoreCase("S")) {
|
||||
|
||||
getVariazioneGriglia = true;
|
||||
grigliaAcquisto = grigliaAcquistoHandlerService.getGrigliaAcquisto();
|
||||
grigliaAcquisto = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getDataValidita().equals(variazioniPvDTO.getDataValidita()) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep))
|
||||
.toList();
|
||||
}
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - getElencoArticoli Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
if (elencoVar != null) {
|
||||
boolean getVariazioneGriglia = false;
|
||||
|
||||
if ((variazioniPvInputDTO.getTipoReportEnum() == VariazioniReportType.GRIGLIA ||
|
||||
variazioniPvInputDTO.getTipoReportEnum() == VariazioniReportType.LISTINO) &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE") != null &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE").equalsIgnoreCase("S")) {
|
||||
|
||||
getVariazioneGriglia = true;
|
||||
grigliaAcquisto = grigliaAcquistoHandlerService.getGrigliaAcquisto();
|
||||
grigliaAcquisto = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getDataValidita().equals(variazioniPvInputDTO.getDataValidita()) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep))
|
||||
.toList();
|
||||
}
|
||||
|
||||
int i = 1;
|
||||
for (VariazioniDettaglioDTO variazioni : elencoVar) {
|
||||
CodMartType codMart = fillArticoloData(objectFactory, variazioni, variazioniPvInputDTO, invioIngredienti, getSetupSectionDepo, codMdep, setupDescr,
|
||||
setup.get("LIBERO1"),
|
||||
setup.get("LIBERO2"), getVariazioneGriglia);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeCodMart(codMart));
|
||||
i++;
|
||||
}
|
||||
for (HashMap<String, Object> variazioni : elencoVar) {
|
||||
CodMartType codMart = fillArticoloData(objectFactory,
|
||||
variazioni, variazioniPvDTO, invioIngredienti, getSetupSectionDepo, codMdep, colNameDescrEstesa,
|
||||
setup.get("LIBERO1"),
|
||||
setup.get("LIBERO2"), getVariazioneGriglia);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeCodMart(codMart));
|
||||
}
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - creazione xml Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
}
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - fine : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
if (fileVariazioniDTO.getCodVlis() != null && fileVariazioniDTO.getCodVlis().size() > 0) {
|
||||
|
||||
@@ -245,156 +155,140 @@ public class VariazioniPvService {
|
||||
return fileVariazioniDTO;
|
||||
}
|
||||
|
||||
private List<VariazioniDTO> getListini(VariazioniPvInputDTO variazioniPvDTO, boolean existVariazioni) throws Exception {
|
||||
return getListini(multiDBTransactionManager, variazioniPvDTO, existVariazioni);
|
||||
}
|
||||
|
||||
private List<VariazioniDTO> getListini(MultiDBTransactionManager mdb, VariazioniPvInputDTO variazioniPvDTO, boolean existVariazioni) throws Exception {
|
||||
List<VariazioniDTO> listini;
|
||||
if (existVariazioni) {
|
||||
listini = variazioniPvDTO.getVariazioni().stream()
|
||||
.map(x -> new VariazioniDTO()
|
||||
.setCodVlis(x.getCodVlis())
|
||||
.setCodMdep(x.getCodMdep())
|
||||
.setDescrizione(x.getDescrizione())
|
||||
.setFlagListIvaInclusa(x.getFlagListIvaInclusa()))
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
} else {
|
||||
String sql =
|
||||
"SELECT vtb_list.cod_vlis, vtb_list.descrizione, vtb_list.flag_list_iva_inclusa, mtb_depo.cod_mdep " +
|
||||
" FROM vtb_list INNER JOIN mtb_depo ON mtb_depo.cod_vlis = vtb_list.cod_vlis " +
|
||||
" WHERE vtb_list.flag_attivo = 'S' " +
|
||||
"ORDER BY vtb_list.cod_vlis ";
|
||||
|
||||
if (variazioniPvDTO != null) {
|
||||
if (!UtilityString.isNullOrEmpty(variazioniPvDTO.getCodVlis()))
|
||||
sql = UtilityDB.addwhereCond(sql, String.format("vtb_list.cod_vlis = '%s'", variazioniPvDTO.getCodVlis()), false);
|
||||
sql = UtilityDB.addwhereCond(sql, variazioniPvDTO.getWhereCondLisv(), false);
|
||||
}
|
||||
|
||||
listini = UtilityDB.executeSimpleQueryDTO(mdb.getPrimaryConnection(), sql, VariazioniDTO.class);
|
||||
}
|
||||
return listini;
|
||||
}
|
||||
|
||||
private CodMartType fillArticoloData(ObjectFactory objectFactory,
|
||||
VariazioniDettaglioDTO var,
|
||||
VariazioniPvInputDTO variazioniPvInputDTO,
|
||||
private CodMartType fillArticoloData(ObjectFactory objectFactory, HashMap<String, Object> var,
|
||||
VariazioniPvInputDTO variazioniPvDTO,
|
||||
String invioIngredientiSetup,
|
||||
Map<String, String> setupDepo,
|
||||
String codMdep,
|
||||
String setupDescr,
|
||||
String colNameDescrEstesa,
|
||||
String valLibero1,
|
||||
String valLibero2,
|
||||
boolean getVariazioneGriglia) throws Exception {
|
||||
|
||||
CodMartType codMartType = objectFactory.createCodMartType();
|
||||
String codMart = var.getCodMart();
|
||||
String flagTipoPromo = var.getFlagTipoPromo();
|
||||
BigDecimal przPieno = var.getPrezzoPieno();
|
||||
BigDecimal przPienoIva = var.getPrzPienoIva();
|
||||
BigDecimal przVend = var.getPrzVend();
|
||||
BigDecimal przVendIva = var.getPrzVendIva();
|
||||
|
||||
String codMart = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_mart"));
|
||||
String flagTipoPromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_tipo_promo"));
|
||||
BigDecimal przPieno = UtilityHashMap.getValueIfExists(var, "prezzo_pieno");
|
||||
BigDecimal przPienoIva = UtilityHashMap.getValueIfExists(var, "prz_pieno_iva");
|
||||
BigDecimal przVend = UtilityHashMap.getValueIfExists(var, "prz_vend");
|
||||
BigDecimal przVendIva = UtilityHashMap.getValueIfExists(var, "prz_vend_iva");
|
||||
if ("P".equals(flagTipoPromo)) {
|
||||
przPienoIva = przVendIva;
|
||||
przPieno = przVend;
|
||||
}
|
||||
|
||||
String dataFinePromoS = convertDateToString(var.getDataFine());
|
||||
String dataInizPromoS = convertDateToString(var.getDataInizPromo());
|
||||
String dataUltVarS = convertDateToString(var.getDataUltVar());
|
||||
String dataAggPrzS = convertDateToString(var.getDataIniz());
|
||||
String dataFinePromoS = "";
|
||||
Date dataFinePromo = UtilityHashMap.getValueIfExists(var, "data_fine");
|
||||
if (dataFinePromo != null) {
|
||||
dataFinePromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataFinePromo);
|
||||
}
|
||||
String dataInizPromoS = "";
|
||||
Date dataInizPromo = UtilityHashMap.getValueIfExists(var, "data_iniz_promo");
|
||||
if (dataInizPromo != null) {
|
||||
dataInizPromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataInizPromo);
|
||||
}
|
||||
|
||||
String tipoVariazioneLisv = var.getTipoVariazioneLisv();
|
||||
String flagStato = var.getFlagStato();
|
||||
String dataUltVarS = "";
|
||||
Date dataUltVar = UtilityHashMap.getValueIfExists(var, "data_ult_var");
|
||||
if (dataUltVar != null) {
|
||||
dataUltVarS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataUltVar);
|
||||
}
|
||||
|
||||
String dataAggPrzS = "";
|
||||
Date dataAggPrz = UtilityHashMap.getValueIfExists(var, "data_iniz");
|
||||
if (dataAggPrz != null) {
|
||||
dataAggPrzS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataAggPrz);
|
||||
}
|
||||
|
||||
String tipoVariazioneLisv = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "tipo_variazione_lisv"));
|
||||
String flagStato = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_stato"));
|
||||
if ("D".equalsIgnoreCase(tipoVariazioneLisv)) {
|
||||
flagStato = "I";
|
||||
}
|
||||
codMartType.getContent().add(codMart);
|
||||
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizione(UtilityString.streNull(var.getDescrizione())));
|
||||
String descrizioneEstesa = var.getDescrizioneEstesa();
|
||||
if (!UtilityString.isNullOrEmpty(setupDescr)) {
|
||||
if (setupDescr.equalsIgnoreCase("D"))
|
||||
descrizioneEstesa = var.getDescrizione();
|
||||
else if (setupDescr.equalsIgnoreCase("B"))
|
||||
descrizioneEstesa = var.getDescrCassa();
|
||||
}
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizioneEstesa(UtilityString.streNull(descrizioneEstesa)));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis2(UtilityString.streNull(var.getUntMis2())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis(UtilityString.streNull(var.getUntMis())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv2(UtilityString.bigDecimalToString(var.getRapConv2(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis3(UtilityString.streNull(var.getUntMis3())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv3(UtilityString.bigDecimalToString(var.getRapConv3(), "###0.00").replace(",", ".")));
|
||||
CodMgrpType codMgrpType = getCodMgrpType(objectFactory, var);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_art"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis2(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis2"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv2(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "rap_conv2"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis3(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis3"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv3(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "rap_conv3"), "###0.00").replace(",", ".")));
|
||||
CodMgrpType codMgrpType = objectFactory.createCodMgrpType();
|
||||
codMgrpType.setValue(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_mgrp")));
|
||||
codMgrpType.setDescrGrup(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_grup")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodMgrp(codMgrpType));
|
||||
CodMsgrType codMsgrType = getCodMsgrType(objectFactory, var);
|
||||
CodMsgrType codMsgrType = objectFactory.createCodMsgrType();
|
||||
codMsgrType.setValue(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_msgr")));
|
||||
codMsgrType.setDescrSgrp(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_sgrp")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodMsgr(codMsgrType));
|
||||
CodMsfaType codMsfaType = getCodMsfaType(objectFactory, var);
|
||||
CodMsfaType codMsfaType = objectFactory.createCodMsfaType();
|
||||
codMsfaType.setValue(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_msfa")));
|
||||
codMsfaType.setDescrSfam(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_msfa")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodMsfa(codMsfaType));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRepartoCassa(UtilityString.streNull(var.getRepartoCassa())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazione(UtilityString.streNull(var.getTipoVariazione())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRepartoCassa(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "reparto_cassa"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "tipo_variazione"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazioneLisv(tipoVariazioneLisv));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzBase(UtilityString.bigDecimalToString(var.getPrzBase(), "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzBase(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "prz_base"), "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzVend(UtilityString.bigDecimalToString(przVend, "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzVendIva(UtilityString.bigDecimalToString(przVendIva, "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePosizione(UtilityString.streNull(var.getPosizione())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMisVen(UtilityString.streNull(var.getUntMisVen())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConvVen(UtilityString.bigDecimalToString(var.getRapConv(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePesoKg(UtilityString.bigDecimalToString(var.getPesoKg(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagEsponiPrz(UtilityString.streNull(var.getFlagEsponiPrz())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSfrido(UtilityString.bigDecimalToString(var.getPercSfrido(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarreImb(UtilityString.streNull(var.getCodBarreImb())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrz(UtilityString.streNull(var.getFlagCalcPrz())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneCompAcq(UtilityString.streNull(var.getEsposizioneCompAcq())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneComp(UtilityString.streNull(var.getEsposizioneComp())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrzAcq(UtilityString.streNull(var.getFlagCalcPrzAcq())));
|
||||
BigDecimal colliPedane = var.getColliPedana();
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePosizione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "posizione"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMisVen(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis_ven"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConvVen(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "rap_conv"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePesoKg(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "peso_kg"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagEsponiPrz(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_esponi_prz"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSfrido(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sfrido"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarreImb(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_barre_imb"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrz(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_calc_prz"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneCompAcq(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "esposizione_comp_acq"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneComp(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "esposizione_comp"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrzAcq(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_calc_prz_acq"))));
|
||||
BigDecimal colliPedane = UtilityHashMap.getValueIfExists(var, "colli_pedana");
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeColliPedane(UtilityString.bigDecimalToString(colliPedane == null ? BigDecimal.ZERO : colliPedane, "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco1(UtilityString.bigDecimalToString(var.getPercSco1(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco2(UtilityString.bigDecimalToString(var.getPercSco2(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco3(UtilityString.bigDecimalToString(var.getPercSco3(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco4(UtilityString.bigDecimalToString(var.getPercSco4(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco1(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco1"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco2(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco2"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco3(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco3"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco4(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco4"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataUltVar(dataUltVarS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataAggPrz(dataAggPrzS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarre(UtilityString.streNull(var.getCodBarre())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePlu(UtilityString.streNull(var.getPlu())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarre(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_barre"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePlu(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "plu"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagStato(flagStato));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeQtaCnf(UtilityString.bigDecimalToString(var.getQtaCnf(), "###0.00").replace(",", ".")));
|
||||
BigDecimal tara = var.getTaraKg();
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeQtaCnf(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "qta_cnf"), "###0.00").replace(",", ".")));
|
||||
BigDecimal tara = UtilityHashMap.getValueIfExists(var, "tara_kg");
|
||||
if (tara.compareTo(BigDecimal.ZERO) != 0) {
|
||||
tara = (tara.multiply(new BigDecimal("1000"))).setScale(0, RoundingMode.HALF_UP);
|
||||
}
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTara(UtilityString.bigDecimalToString(tara, "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizioneEstesa(UtilityString.streNull(var.getDescrizioneEstesa())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeAnnotazioniArt(UtilityString.streNull(var.getAnnotazioniArt())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAliq(UtilityString.streNull(var.getCodAliq())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeArticoloComposto(UtilityString.streNull(var.getArticoloComposto())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoEan(UtilityString.streNull(var.getTipoCodice())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTracciabilita(UtilityString.streNull(var.getFlagTracciabilita())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeGgScadPartita(String.valueOf(var.getGgScadPartita())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercAliq(UtilityString.bigDecimalToString(var.getPercAliq(), "###0.00").replace(",", ".")));
|
||||
String descrizioneEstesa = UtilityHashMap.getValueIfExists(var, colNameDescrEstesa);
|
||||
if (UtilityString.isNullOrEmpty(descrizioneEstesa))
|
||||
descrizioneEstesa = UtilityHashMap.getValueIfExists(var, "descrizione_estesa");
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizioneEstesa(UtilityString.streNull(descrizioneEstesa)));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeAnnotazioniArt(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "annotazioni_art"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAliq(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_aliq"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeArticoloComposto(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "articolo_composto"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoEan(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "tipo_codice"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTracciabilita(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_tracciabilita"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeGgScadPartita(String.valueOf(UtilityHashMap.<Integer>getValueIfExists(var, "gg_scad_partita"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercAliq(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_aliq"), "###0.00").replace(",", ".")));
|
||||
|
||||
String idArtEqui = var.getIdArtEqui();
|
||||
String idArtEqui = UtilityHashMap.getValueIfExists(var, "id_art_equi");
|
||||
if (!UtilityString.isNullOrEmpty(idArtEqui)) {
|
||||
IdArtEquiType idArtEquiType = getIdArtEquiType(objectFactory, var, idArtEqui);
|
||||
IdArtEquiType idArtEquiType = objectFactory.createIdArtEquiType();
|
||||
idArtEquiType.setValue(idArtEqui);
|
||||
idArtEquiType.setDescrizione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_art_equi")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIdArtEqui(idArtEquiType));
|
||||
}
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrezzoPieno(UtilityString.bigDecimalToString(przPieno, "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrezzoPienoIva(UtilityString.bigDecimalToString(przPienoIva, "###0.00").replace(",", ".")));
|
||||
|
||||
//PUNTI ARTICOLO
|
||||
BigDecimal puntiArticolo = getPuntiArt(codMart, variazioniPvInputDTO.getDataValidita());
|
||||
BigDecimal puntiArticolo = getPuntiArt(codMart, variazioniPvDTO.getDataValidita());
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePuntiArticolo(UtilityString.bigDecimalToString(puntiArticolo, "###0.00").replace(",", ".")));
|
||||
|
||||
//PROMOZIONE MxN
|
||||
HashMap<String, Object> datiPromo = new HashMap<>();
|
||||
FlagMxnType flagMxnType = getScontoMerce(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), datiPromo);
|
||||
FlagMxnType flagMxnType = getScontoMerce(objectFactory, codMart, variazioniPvDTO.getDataValidita(), datiPromo);
|
||||
|
||||
String finePromo = UtilityString.streNull(var.getFinePromo());
|
||||
String codPromo = UtilityString.streNull(var.getCodPromo());
|
||||
String finePromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "fine_promo"));
|
||||
String codPromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_promo"));
|
||||
if (flagMxnType.getValue().equalsIgnoreCase("S") && finePromo.equalsIgnoreCase("S")) {
|
||||
codPromo = (String) datiPromo.get("cod_promo");
|
||||
dataInizPromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(datiPromo.get("data_iniz"));
|
||||
@@ -402,23 +296,24 @@ public class VariazioniPvService {
|
||||
}
|
||||
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodPromo(codPromo));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizionePromo(UtilityString.streNull(var.getDescrPromo())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTipoPromo(UtilityString.streNull(flagTipoPromo)));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizionePromo(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_promo"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTipoPromo(flagTipoPromo));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataInizPromo(dataInizPromoS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataFinePromo(dataFinePromoS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFinePromo(finePromo));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIdPromo(UtilityString.streNull(var.getIdPromo())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIdPromo(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "id_promo"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagMxn(flagMxnType));
|
||||
|
||||
//INGREDIENTI
|
||||
String inviaIngrOpz = variazioniPvInputDTO.getInviaIngredienti();
|
||||
String inviaIngrOpz = null;
|
||||
inviaIngrOpz = variazioniPvDTO.getInviaIngredienti();
|
||||
if (UtilityString.isNullOrEmpty(inviaIngrOpz)) {
|
||||
//PER CARELLI ABBIAMO RESO OPZIONALE L'INVIO DEGLI INGREDIENTI (SOLO SE VARIATI IN DISTINTA BASE) PER TUTTI GLI ALTRI
|
||||
//GLI INGREDIENTI VENGONO COMUNQUE INVIATI
|
||||
inviaIngrOpz = invioIngredientiSetup;
|
||||
}
|
||||
String ingredienti = UtilityString.streNull(var.getIngredienti());
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), variazioniPvInputDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
String ingredienti = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "ingredienti"));
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvDTO.getDataValidita(), variazioniPvDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIngredienti(ingredientiType));
|
||||
|
||||
//COMPONENTI
|
||||
@@ -426,7 +321,7 @@ public class VariazioniPvService {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeComponenti(componentiType));
|
||||
|
||||
//PREMI
|
||||
PremioType premioType = getPuntiPremi(objectFactory, codMart, variazioniPvInputDTO.getDataValidita());
|
||||
PremioType premioType = getPuntiPremi(objectFactory, codMart, variazioniPvDTO.getDataValidita());
|
||||
if (premioType != null) {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePremio(premioType));
|
||||
}
|
||||
@@ -437,7 +332,7 @@ public class VariazioniPvService {
|
||||
|
||||
//DATI GRIGLIA DI ACQUISTO
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("SELEZIONA_GRIGLIE"))) {
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvInputDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
}
|
||||
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("ABILITA_CAMPI_LIBERI"))) {
|
||||
@@ -445,11 +340,10 @@ public class VariazioniPvService {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeLibero2(UtilityString.streNull(getValueCampoLibero(valLibero2, var, codMdep, codMart))));
|
||||
}
|
||||
|
||||
|
||||
return codMartType;
|
||||
}
|
||||
|
||||
private String getValueCampoLibero(String tipoValore, VariazioniDettaglioDTO var, String codMdep, String codMart) throws Exception {
|
||||
private String getValueCampoLibero(String tipoValore, HashMap<String, Object> var, String codMdep, String codMart) throws Exception {
|
||||
if (UtilityString.isNullOrEmpty(tipoValore)) return "";
|
||||
if (tipoValore.equalsIgnoreCase("M")) {
|
||||
String sql =
|
||||
@@ -469,49 +363,13 @@ public class VariazioniPvService {
|
||||
}
|
||||
return (valMedio == null ? "" : new DecimalFormat("#,##0.00").format(valMedio));
|
||||
} else if (tipoValore.equalsIgnoreCase("P")) {
|
||||
return var.getPosizioneArticolo();
|
||||
return UtilityHashMap.getValueIfExists(var, "posizione_art");
|
||||
} else if (tipoValore.equalsIgnoreCase("T")) {
|
||||
return var.getIntercodeXmlVariazioni();
|
||||
return UtilityHashMap.getValueIfExists(var, "intercode_xml_variazioni");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String convertDateToString(Date data) {
|
||||
String dataString = "";
|
||||
if (data != null) {
|
||||
dataString = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(data);
|
||||
}
|
||||
return dataString;
|
||||
}
|
||||
|
||||
private static IdArtEquiType getIdArtEquiType(ObjectFactory objectFactory, VariazioniDettaglioDTO var, String idArtEqui) {
|
||||
IdArtEquiType idArtEquiType = objectFactory.createIdArtEquiType();
|
||||
idArtEquiType.setValue(idArtEqui);
|
||||
idArtEquiType.setDescrizione(UtilityString.streNull(var.getDescrArtEqui()));
|
||||
return idArtEquiType;
|
||||
}
|
||||
|
||||
private static CodMsfaType getCodMsfaType(ObjectFactory objectFactory, VariazioniDettaglioDTO var) {
|
||||
CodMsfaType codMsfaType = objectFactory.createCodMsfaType();
|
||||
codMsfaType.setValue(UtilityString.streNull(var.getCodMsfa()));
|
||||
codMsfaType.setDescrSfam(UtilityString.streNull(var.getDescrMsfa()));
|
||||
return codMsfaType;
|
||||
}
|
||||
|
||||
private static CodMsgrType getCodMsgrType(ObjectFactory objectFactory, VariazioniDettaglioDTO var) {
|
||||
CodMsgrType codMsgrType = objectFactory.createCodMsgrType();
|
||||
codMsgrType.setValue(UtilityString.streNull(var.getCodMsgr()));
|
||||
codMsgrType.setDescrSgrp(UtilityString.streNull(var.getDescrSgrp()));
|
||||
return codMsgrType;
|
||||
}
|
||||
|
||||
private static CodMgrpType getCodMgrpType(ObjectFactory objectFactory, VariazioniDettaglioDTO var) {
|
||||
CodMgrpType codMgrpType = objectFactory.createCodMgrpType();
|
||||
codMgrpType.setValue(UtilityString.streNull(var.getCodMgrp()));
|
||||
codMgrpType.setDescrGrup(UtilityString.streNull(var.getDescrGrup()));
|
||||
return codMgrpType;
|
||||
}
|
||||
|
||||
private String getQueryVariazioni(VariazioniPvInputDTO variazioniPvDTO,
|
||||
HashMap<String, String> setup,
|
||||
String codVlis,
|
||||
@@ -636,7 +494,7 @@ public class VariazioniPvService {
|
||||
" ON listino.cod_vlis = promozione.cod_vlis AND listino.cod_mart = promozione.cod_mart\n" +
|
||||
" LEFT OUTER JOIN vtb_promo ON promozione.cod_promo = vtb_promo.cod_promo\n" +
|
||||
"WHERE vtb_promo.cod_promo_intercode IS NULL\n" +
|
||||
((variazioniPvDTO.getTipoReportEnum() == VariazioniReportType.LISTINO) ?
|
||||
((variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.LISTINO) ?
|
||||
" AND ( (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'S') " +
|
||||
" OR (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'N' AND listino.tipo_variazione <> 'D')) " : "") +
|
||||
"ORDER BY listino.cod_mart ";
|
||||
@@ -651,13 +509,14 @@ public class VariazioniPvService {
|
||||
}
|
||||
|
||||
|
||||
private String getElencoCasse(MultiDBTransactionManager mdb, String codMdep) throws Exception {
|
||||
private String getElencoCasse(String codMdep) throws Exception {
|
||||
String sql =
|
||||
"SELECT mtb_depo_casse.cod_cassa\n" +
|
||||
" FROM mtb_depo_casse\n" +
|
||||
" WHERE mtb_depo_casse.cod_mdep = " + UtilityDB.valueToString(codMdep);
|
||||
|
||||
List<String> casse = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sql);
|
||||
List<Object> casse = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
return StringUtils.join(casse, "|");
|
||||
}
|
||||
|
||||
@@ -718,6 +577,17 @@ public class VariazioniPvService {
|
||||
"WHERE '[DATA_VALIDITA]' BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine\n" +
|
||||
" AND vtb_list_data.cod_vlis = '[COD_VLIS]'\n" +
|
||||
"UNION\n" +
|
||||
"SELECT mtb_depo.cod_vlis,\n" +
|
||||
" atb_griglie_art.cod_mart,\n" +
|
||||
" 'G' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new,\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
"FROM atb_griglie_art\n" +
|
||||
" INNER JOIN mtb_depo ON atb_griglie_art.cod_mdep = mtb_depo.cod_mdep\n" +
|
||||
"WHERE atb_griglie_art.data_validita BETWEEN DateAdd(day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'\n" +
|
||||
" AND mtb_depo.cod_vlis = '[COD_VLIS]'\n" +
|
||||
" AND " + UtilityDB.valueToString(selezionaGriglia) + " = 'S'\n" +
|
||||
"UNION\n" +
|
||||
"SELECT lisv.cod_vlis\n" +
|
||||
" , lisv.cod_mart\n" +
|
||||
" , tipo_variazione\n" +
|
||||
@@ -876,7 +746,7 @@ public class VariazioniPvService {
|
||||
return flagMxnType;
|
||||
}
|
||||
|
||||
private IngredientiType getIngredienti(ObjectFactory objectFactory, String codMart, Date dataVariazioni, VariazioniReportType tipoReport, String tipoVariazioneLisv, String invioIngOpz, String ingredientiArt) throws Exception {
|
||||
private IngredientiType getIngredienti(ObjectFactory objectFactory, String codMart, Date dataVariazioni, VariazioniPvInputDTO.Type tipoReport, String tipoVariazioneLisv, String invioIngOpz, String ingredientiArt) throws Exception {
|
||||
IngredientiType ingredientiType = objectFactory.createIngredientiType();
|
||||
if (UtilityString.isNullOrEmpty(ingredientiArt)) {
|
||||
String whereCond = "";
|
||||
@@ -889,7 +759,7 @@ public class VariazioniPvService {
|
||||
" ORDER BY jtb_dist_mate.id_riga";
|
||||
|
||||
if ("S".equalsIgnoreCase(invioIngOpz)) {
|
||||
if (tipoReport.compareTo(VariazioniReportType.LISTINO) != 0 &&
|
||||
if (tipoReport.compareTo(VariazioniPvInputDTO.Type.LISTINO) != 0 &&
|
||||
!"I".equalsIgnoreCase(tipoVariazioneLisv)) {
|
||||
whereCond = "jtb_cicl.data_ult_var = " + UtilityDB.valueDateToString(dataVariazioni, CommonConstants.DATE_FORMAT_YMD);
|
||||
query = UtilityDB.addwhereCond(query, whereCond, false);
|
||||
@@ -1096,221 +966,4 @@ public class VariazioniPvService {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazioneGriglia(tipoVariazioneGriglia));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAlis(codAlisType));
|
||||
}
|
||||
|
||||
public void exportByTipoReport(String tipoReport, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
List<String> tipiReport = new ArrayList<>();
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(tipoReport))
|
||||
tipiReport.add(tipoReport);
|
||||
else {
|
||||
tipiReport.add("V"); //Variazioni
|
||||
tipiReport.add("P"); //Promozioni
|
||||
tipiReport.add("G"); //Griglie
|
||||
}
|
||||
|
||||
boolean existVariazioni = false;
|
||||
if (variazioniPvInputDTO != null)
|
||||
existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
|
||||
Date dataValidita = variazioniPvInputDTO.getDataValidita();
|
||||
|
||||
if (dataValidita == null)
|
||||
dataValidita = UtilityDate.RelativeDateTime(new Date(), 1);
|
||||
|
||||
List<VariazioniDTO> listini = getListini(variazioniPvInputDTO, existVariazioni);
|
||||
|
||||
List<RunnableArgsThrowable<Triple<String, String, List<VariazioniDettaglioDTO>>>> calls = new ArrayList<>();
|
||||
|
||||
for (VariazioniDTO pv : listini) {
|
||||
for (String report : tipiReport) {
|
||||
final Date finalDataValidita = dataValidita;
|
||||
final String finalProfileDb = multiDBTransactionManager.getPrimaryDatasource().getProfile();
|
||||
|
||||
calls.add(() -> {
|
||||
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(finalProfileDb)) {
|
||||
String codVlis = pv.getCodVlis();
|
||||
|
||||
logger.debug(
|
||||
String.format("Variazioni: Export [CodListino: %s, TipoReport: %s, Validità: %s]",
|
||||
codVlis,
|
||||
report,
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(finalDataValidita)));
|
||||
|
||||
return new Triple<>(codVlis, report, exportVariazioni(mdb, codVlis, finalDataValidita, report, variazioniPvInputDTO));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
final ArrayList<Result<Triple<String, String, List<VariazioniDettaglioDTO>>>> results = UtilityThread.executeParallel(calls, 6);
|
||||
|
||||
final List<Triple<String, String, List<VariazioniDettaglioDTO>>> completedExports = results.stream()
|
||||
.filter(x -> x instanceof Result.Success)
|
||||
.map(x -> ((Result.Success<Triple<String, String, List<VariazioniDettaglioDTO>>>) x).getData())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final List<Exception> generatedErrors = results.stream()
|
||||
.filter(x -> x instanceof Result.Error)
|
||||
.map(x -> ((Result.Error<?>) x).getError())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
String emailForLog = setupGest.getExportSetup(multiDBTransactionManager.getPrimaryConnection(), "VARIAZIONE PV", "XML_DIALOGO", "EMAIL_FOR_LOG");
|
||||
|
||||
emailForLog = "g.scorrano@integry.it";
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(emailForLog)) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (Triple<String, String, List<VariazioniDettaglioDTO>> completedExport : completedExports) {
|
||||
if(completedExport.getThird().isEmpty())
|
||||
continue;
|
||||
|
||||
sb.append("Esportazione ")
|
||||
.append(completedExport.getSecond())
|
||||
.append(" punto vendita ")
|
||||
.append(completedExport.getFirst())
|
||||
.append(" (").append(completedExport.getThird().size()).append(" variazioni)")
|
||||
.append(" avvenuta con successo\n\r");
|
||||
}
|
||||
|
||||
if(!generatedErrors.isEmpty())
|
||||
sb.append("\n\r\n\rErrori\n\r");
|
||||
|
||||
|
||||
for (Exception generatedError : generatedErrors) {
|
||||
sb.append("Messaggio errore: ")
|
||||
.append(generatedError.getMessage())
|
||||
.append("\n\r");
|
||||
}
|
||||
|
||||
|
||||
mailService.sendMailPrimary(multiDBTransactionManager,
|
||||
null, null,
|
||||
emailForLog, null, null,
|
||||
"Esportazione variazioni", sb.toString(), false, false,
|
||||
null, null, null,
|
||||
false, null);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private List<VariazioniDettaglioDTO> exportVariazioni(MultiDBTransactionManager multiDBTransactionManager, String codVlis, Date dataValidita, String tipoReport, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
VariazioniPvInputDTO v =
|
||||
new VariazioniPvInputDTO()
|
||||
.setCodVlis(codVlis)
|
||||
.setTipoReport(tipoReport)
|
||||
.setDataValidita(dataValidita)
|
||||
.setWhereCondArt(variazioniPvInputDTO != null ? variazioniPvInputDTO.getWhereCondArt() : null)
|
||||
.setWhereCondLisv(variazioniPvInputDTO != null ? variazioniPvInputDTO.getWhereCondLisv() : null)
|
||||
.setWhereCondDoc(variazioniPvInputDTO != null ? variazioniPvInputDTO.getWhereCondDoc() : null)
|
||||
.setInviaIngredienti(variazioniPvInputDTO != null ? variazioniPvInputDTO.getInviaIngredienti() : "S")
|
||||
.setFileXml(variazioniPvInputDTO != null ? variazioniPvInputDTO.getFileXml() : null)
|
||||
.setInviaDisattivazioni(variazioniPvInputDTO != null ? variazioniPvInputDTO.getInviaDisattivazioni() : "N")
|
||||
.setUserName(variazioniPvInputDTO != null ? variazioniPvInputDTO.getUserName() : null)
|
||||
.setVariazioni(variazioniPvInputDTO != null ? variazioniPvInputDTO.getVariazioni() : new ArrayList<>());
|
||||
|
||||
|
||||
return exportVariazioni(multiDBTransactionManager, codVlis, v);
|
||||
}
|
||||
|
||||
public void exportByCodVlis(String codVlis, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
exportVariazioni(multiDBTransactionManager, codVlis, variazioniPvInputDTO);
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> exportVariazioni(MultiDBTransactionManager multiDBTransactionManager, String codVlis, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
|
||||
boolean existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
|
||||
if (!existVariazioni) {
|
||||
variazioniPvInputDTO.setCodVlis(codVlis);
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioniDettaglioList = calcVariazionePrezzoPV(multiDBTransactionManager, variazioniPvInputDTO);
|
||||
variazioniPvInputDTO.setVariazioni(variazioniDettaglioList);
|
||||
|
||||
existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
}
|
||||
|
||||
|
||||
if (existVariazioni) {
|
||||
final String exportType = "VARIAZIONE PV";
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT value\n" +
|
||||
"FROM mtb_depo\n" +
|
||||
" LEFT OUTER JOIN stb_gest_setup_depo ON mtb_depo.cod_mdep = stb_gest_setup_depo.cod_mdep\n" +
|
||||
" AND stb_gest_setup_depo.gest_name = 'DATI_AZIENDA' AND\n" +
|
||||
" stb_gest_setup_depo.section = 'DATI_DEPOSITO' AND\n" +
|
||||
" stb_gest_setup_depo.key_section = 'PROFILE_DB'\n" +
|
||||
"WHERE mtb_depo.cod_vlis = %s", codVlis);
|
||||
|
||||
String profileDb = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (UtilityString.isNullOrEmpty(profileDb)) {
|
||||
profileDb = multiDBTransactionManager.getPrimaryDatasource().getProfile();
|
||||
}
|
||||
|
||||
|
||||
try (MultiDBTransactionManager multiDBPv = new MultiDBTransactionManager(profileDb)) {
|
||||
runExportOnRemote(multiDBPv, variazioniPvInputDTO, codVlis, exportType);
|
||||
}
|
||||
}
|
||||
|
||||
return variazioniPvInputDTO.getVariazioni();
|
||||
}
|
||||
|
||||
|
||||
private void runExportOnRemote(MultiDBTransactionManager multiDBPv, VariazioniPvInputDTO variazioniPvInputDTO, String codVlis, String exportType) throws Exception {
|
||||
String sql = Query.format("SELECT cod_mdep, descrizione FROM mtb_depo WHERE cod_vlis = %s and flag_movimentabile = 'S' ", codVlis);
|
||||
HashMap<String, Object> datiDepo = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBPv.getPrimaryConnection(), sql);
|
||||
|
||||
if (!UtilityHashMap.isPresent(datiDepo))
|
||||
throw new Exception(String.format("Nessun deposito agganciato al listino %s", codVlis));
|
||||
|
||||
String codMdep = UtilityHashMap.getValueIfExists(datiDepo, "cod_mdep");
|
||||
String descrizione = UtilityHashMap.getValueIfExists(datiDepo, "descrizione");
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT wtb_depo.cod_mdep,\n" +
|
||||
" wui.format_file,\n" +
|
||||
" stb_user.user_name,\n" +
|
||||
" stb_user.password,\n" +
|
||||
" wui.priority\n" +
|
||||
"FROM wtb_depo\n" +
|
||||
" INNER JOIN stb_user ON wtb_depo.user_name = stb_user.user_name AND stb_user.key_group = '10'\n" +
|
||||
" INNER JOIN wtb_users_info wui ON stb_user.user_name = wui.user_name AND\n" +
|
||||
" wui.export_type = %s AND\n" +
|
||||
" wui.flag_state = 'S' AND\n" +
|
||||
" IsNull(wui.priority, '0') <> '0'\n" +
|
||||
"WHERE wtb_depo.cod_mdep = %s",
|
||||
exportType, codMdep);
|
||||
|
||||
List<HashMap<String, Object>> listExport = UtilityDB.executeSimpleQuery(multiDBPv.getPrimaryConnection(), sql);
|
||||
|
||||
boolean existFormatFile = listExport.stream()
|
||||
.anyMatch(x -> !UtilityString.isNullOrEmpty(UtilityHashMap.getValueIfExists(x, "format_file")));
|
||||
|
||||
if (!existFormatFile)
|
||||
throw new Exception(String.format("Nessuna tipologia di esportazione configurata per il punto vendita %s - %s", codMdep, descrizione));
|
||||
|
||||
for (HashMap<String, Object> export : listExport) {
|
||||
String userName = UtilityHashMap.getValueIfExists(export, "user_name");
|
||||
String formatFile = UtilityHashMap.getValueIfExists(export, "format_file");
|
||||
|
||||
httpRestWrapper.callInternalExport(multiDBPv.getDistributoreDatasource().getProfile(),
|
||||
userName,
|
||||
exportType,
|
||||
formatFile,
|
||||
Entity.json(variazioniPvInputDTO));
|
||||
|
||||
boolean testError = false;
|
||||
|
||||
if (testError)
|
||||
throw new Exception("TEST ERROR");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -59,7 +59,7 @@ public class VariazioniPvExportServices {
|
||||
@Autowired
|
||||
private ResponseJSONObjectMapper jsonObjectMapper;
|
||||
@Autowired
|
||||
private VariazioniPvService variazioniPVService;
|
||||
private VariazioniPvService variazioniPvService;
|
||||
|
||||
public EntityExportResponse xmlDialogo(String type, String format, String whereCond, JsonNode jsonBody, WtbUsersInfo wtbUsersInfo) throws Exception {
|
||||
String fileXml = null;
|
||||
@@ -104,7 +104,7 @@ public class VariazioniPvExportServices {
|
||||
ps.close();
|
||||
}
|
||||
|
||||
fileXml = variazioniPVService.variazionePrezzoPVXml(variazioniPvDTO);
|
||||
fileXml = variazioniPvService.variazionePrezzoPVXml(variazioniPvDTO);
|
||||
} else {
|
||||
//fileXml = new String(Base64.decodeBase64(variazioniPvDTO.getFileXml()), "UTF-8");
|
||||
fileXml = variazioniPvDTO.getFileXml();
|
||||
@@ -251,7 +251,7 @@ public class VariazioniPvExportServices {
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniReportType.VARIAZIONI);
|
||||
}
|
||||
|
||||
ReportType variazioni = variazioniPVService.variazionePrezzoPV(variazioniPvDTO);
|
||||
ReportType variazioni = variazioniPvService.variazionePrezzoPV(variazioniPvDTO);
|
||||
|
||||
if (variazioni.getCodVlis().size() == 1) {
|
||||
List<Serializable> content = variazioni.getCodVlis().get(0).getContent();
|
||||
|
||||
Reference in New Issue
Block a user