nuovo invio variazioni pianificabile
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@Table(NtbVariazioniExportLog.ENTITY)
|
||||
@JsonTypeName(NtbVariazioniExportLog.ENTITY)
|
||||
public class NtbVariazioniExportLog extends EntityBase {
|
||||
public NtbVariazioniExportLog() {
|
||||
super();
|
||||
}
|
||||
private static final long serialVersionUID = 1L;
|
||||
public static final String ENTITY = "ntb_variazioni_export_log";
|
||||
@PK
|
||||
@Identity
|
||||
@SqlField(value = "id")
|
||||
private Long id;
|
||||
|
||||
@SqlField(value = "cod_vlis")
|
||||
private String codVlis;
|
||||
|
||||
@SqlField(value = "data_export")
|
||||
private Date dataExport;
|
||||
|
||||
@SqlField(value = "json_string")
|
||||
private String jsonString;
|
||||
|
||||
@SqlField(value = "user_name")
|
||||
private String userName;
|
||||
|
||||
@SqlField(value = "format_file")
|
||||
private String formatFile;
|
||||
@SqlField(value = "xml_file_name")
|
||||
private String xmlFileName;
|
||||
|
||||
@Override
|
||||
public void checkPreSave() throws Exception {}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataExport() {
|
||||
return dataExport;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setDataExport(Date dataExport) {
|
||||
this.dataExport = dataExport;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getJsonString() {
|
||||
return jsonString;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setJsonString(String jsonString) {
|
||||
this.jsonString = jsonString;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFormatFile() {
|
||||
return formatFile;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setFormatFile(String formatFile) {
|
||||
this.formatFile = formatFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getXmlFileName() {
|
||||
return xmlFileName;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setXmlFileName(String xmlFileName) {
|
||||
this.xmlFileName = xmlFileName;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.response.StatusResponse;
|
||||
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvServiceNew;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
import it.integry.ems.status.ServiceChecker;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@@ -31,7 +31,7 @@ public class VariazioniPvController {
|
||||
private ServiceChecker serviceChecker;
|
||||
|
||||
@Autowired
|
||||
private VariazioniPvServiceNew variazioniPvService;
|
||||
private VariazioniPvService variazioniPvService;
|
||||
|
||||
@ExceptionHandler({Exception.class})
|
||||
public @ResponseBody
|
||||
|
||||
@@ -1,737 +0,0 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.dto.Variazioni;
|
||||
|
||||
import it.integry.ems_model.annotation.MapToTable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class VariazioniDTO {
|
||||
@MapToTable (value = "annotazioni_art")
|
||||
private String annotazioniArt;
|
||||
@MapToTable (value = "articolo_composto")
|
||||
private String articoloComposto;
|
||||
@MapToTable (value = "cod_aliq")
|
||||
private String codAliq;
|
||||
@MapToTable (value = "cod_barre")
|
||||
private String codBarre;
|
||||
@MapToTable (value = "cod_barre_imb")
|
||||
private String codBarreImb;
|
||||
@MapToTable (value = "cod_mart")
|
||||
private String codMart;
|
||||
@MapToTable (value = "cod_mdep")
|
||||
private String codMdep;
|
||||
@MapToTable (value = "cod_mgrp")
|
||||
private String codMgrp;
|
||||
@MapToTable (value = "cod_msfa")
|
||||
private String codMsfa;
|
||||
@MapToTable (value = "cod_msgr")
|
||||
private String codMsgr;
|
||||
@MapToTable (value = "cod_promo")
|
||||
private String codPromo;
|
||||
@MapToTable (value = "cod_vlis")
|
||||
private String codVlis;
|
||||
@MapToTable (value = "colli_pedana")
|
||||
private String colliPedana;
|
||||
@MapToTable (value = "data_fine")
|
||||
private Date dataFine;
|
||||
@MapToTable (value = "data_iniz")
|
||||
private Date dataIniz;
|
||||
@MapToTable (value = "data_iniz_promo")
|
||||
private Date dataInizPromo;
|
||||
@MapToTable (value = "data_ult_var")
|
||||
private Date dataUltVar;
|
||||
@MapToTable (value = "descr_art")
|
||||
private String descrArt;
|
||||
@MapToTable (value = "descr_art_equi")
|
||||
private String descrArtEqui;
|
||||
@MapToTable (value = "descr_grup")
|
||||
private String descrGrup;
|
||||
@MapToTable (value = "descr_lisv")
|
||||
private String descrLisv;
|
||||
@MapToTable (value = "descr_msfa")
|
||||
private String descrMsfa;
|
||||
@MapToTable (value = "descr_promo")
|
||||
private String descrPromo;
|
||||
@MapToTable (value = "descr_sgrp")
|
||||
private String descrSgrp;
|
||||
@MapToTable (value = "descrizione_estesa")
|
||||
private String descrizioneEstesa;
|
||||
@MapToTable (value = "esposizione_comp")
|
||||
private String esposizioneComp;
|
||||
@MapToTable (value = "esposizione_comp_acq")
|
||||
private String esposizioneCompAcq;
|
||||
@MapToTable (value = "fine_promo")
|
||||
private String finePromo;
|
||||
@MapToTable (value = "flag_calc_prz")
|
||||
private String flagCalcPrz;
|
||||
@MapToTable (value = "flag_calc_prz_acq")
|
||||
private String flagCalcPrzAcq;
|
||||
@MapToTable (value = "flag_esponi_prz")
|
||||
private String flagEsponiPrz;
|
||||
@MapToTable (value = "flag_list_iva_inclusa")
|
||||
private String flagListIvaInclusa;
|
||||
@MapToTable (value = "flag_stato")
|
||||
private String flagStato;
|
||||
@MapToTable (value = "flag_tipo_promo")
|
||||
private String flagTipoPromo;
|
||||
@MapToTable (value = "flag_tracciabilita")
|
||||
private String flagTracciabilita;
|
||||
@MapToTable (value = "gg_scad_partita")
|
||||
private Integer ggScadPartita;
|
||||
@MapToTable (value = "id_art_equi")
|
||||
private String idArtEqui;
|
||||
@MapToTable (value = "id_promo")
|
||||
private String idPromo;
|
||||
@MapToTable (value = "ingredienti")
|
||||
private String ingredienti;
|
||||
@MapToTable (value = "perc_aliq")
|
||||
private BigDecimal percAliq;
|
||||
@MapToTable (value = "perc_sco1")
|
||||
private BigDecimal percSco1;
|
||||
@MapToTable (value = "perc_sco2")
|
||||
private BigDecimal percSco2;
|
||||
@MapToTable (value = "perc_sco3")
|
||||
private BigDecimal percSco3;
|
||||
@MapToTable (value = "perc_sco4")
|
||||
private BigDecimal percSco4;
|
||||
@MapToTable (value = "perc_sfrido")
|
||||
private BigDecimal percSfrido;
|
||||
@MapToTable (value = "peso_kg")
|
||||
private BigDecimal pesoKg;
|
||||
@MapToTable (value = "plu")
|
||||
private String plu;
|
||||
@MapToTable (value = "posizione")
|
||||
private String posizione;
|
||||
@MapToTable (value = "prezzo_pieno")
|
||||
private BigDecimal prezzoPieno;
|
||||
@MapToTable (value = "prz_base")
|
||||
private BigDecimal przBase;
|
||||
@MapToTable (value = "prz_pieno_iva")
|
||||
private BigDecimal przPienoIva;
|
||||
@MapToTable (value = "prz_vend")
|
||||
private BigDecimal przVend;
|
||||
@MapToTable (value = "prz_vend_iva")
|
||||
private BigDecimal przVendIva;
|
||||
@MapToTable (value = "qta_cnf")
|
||||
private BigDecimal qtaCnf;
|
||||
@MapToTable (value = "rap_conv")
|
||||
private BigDecimal rapConv;
|
||||
@MapToTable (value = "rap_conv2")
|
||||
private BigDecimal rapConv2;
|
||||
@MapToTable (value = "rap_conv3")
|
||||
private BigDecimal rapConv3;
|
||||
@MapToTable (value = "reparto_cassa")
|
||||
private String repartoCassa;
|
||||
@MapToTable (value = "tara_kg")
|
||||
private BigDecimal taraKg;
|
||||
@MapToTable (value = "tipo_codice")
|
||||
private String tipoCodice;
|
||||
@MapToTable (value = "tipo_variazione")
|
||||
private String tipoVariazione;
|
||||
@MapToTable (value = "tipo_variazione_lisv")
|
||||
private String tipoVariazioneLisv;
|
||||
@MapToTable (value = "unt_mis")
|
||||
private String untMis;
|
||||
@MapToTable(value = "unt_mis_ven")
|
||||
private String untMisVen;
|
||||
@MapToTable (value = "unt_mis2")
|
||||
private String untMis2;
|
||||
@MapToTable (value = "unt_mis3")
|
||||
private String untMis3;
|
||||
|
||||
public String getAnnotazioniArt() {
|
||||
return annotazioniArt;
|
||||
}
|
||||
|
||||
public VariazioniDTO setAnnotazioniArt(String annotazioniArt) {
|
||||
this.annotazioniArt = annotazioniArt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getArticoloComposto() {
|
||||
return articoloComposto;
|
||||
}
|
||||
|
||||
public VariazioniDTO setArticoloComposto(String articoloComposto) {
|
||||
this.articoloComposto = articoloComposto;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAliq() {
|
||||
return codAliq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodAliq(String codAliq) {
|
||||
this.codAliq = codAliq;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodBarre() {
|
||||
return codBarre;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodBarre(String codBarre) {
|
||||
this.codBarre = codBarre;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodBarreImb() {
|
||||
return codBarreImb;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodBarreImb(String codBarreImb) {
|
||||
this.codBarreImb = codBarreImb;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMdep(String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMgrp() {
|
||||
return codMgrp;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMgrp(String codMgrp) {
|
||||
this.codMgrp = codMgrp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMsfa() {
|
||||
return codMsfa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMsfa(String codMsfa) {
|
||||
this.codMsfa = codMsfa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMsgr() {
|
||||
return codMsgr;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMsgr(String codMsgr) {
|
||||
this.codMsgr = codMsgr;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodPromo() {
|
||||
return codPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodPromo(String codPromo) {
|
||||
this.codPromo = codPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getColliPedana() {
|
||||
return colliPedana;
|
||||
}
|
||||
|
||||
public VariazioniDTO setColliPedana(String colliPedana) {
|
||||
this.colliPedana = colliPedana;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataFine() {
|
||||
return dataFine;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataFine(Date dataFine) {
|
||||
this.dataFine = dataFine;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataIniz() {
|
||||
return dataIniz;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataIniz(Date dataIniz) {
|
||||
this.dataIniz = dataIniz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataInizPromo() {
|
||||
return dataInizPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataInizPromo(Date dataInizPromo) {
|
||||
this.dataInizPromo = dataInizPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataUltVar() {
|
||||
return dataUltVar;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataUltVar(Date dataUltVar) {
|
||||
this.dataUltVar = dataUltVar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrArt() {
|
||||
return descrArt;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrArt(String descrArt) {
|
||||
this.descrArt = descrArt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrArtEqui() {
|
||||
return descrArtEqui;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrArtEqui(String descrArtEqui) {
|
||||
this.descrArtEqui = descrArtEqui;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrGrup() {
|
||||
return descrGrup;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrGrup(String descrGrup) {
|
||||
this.descrGrup = descrGrup;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrLisv() {
|
||||
return descrLisv;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrLisv(String descrLisv) {
|
||||
this.descrLisv = descrLisv;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrMsfa() {
|
||||
return descrMsfa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrMsfa(String descrMsfa) {
|
||||
this.descrMsfa = descrMsfa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrPromo() {
|
||||
return descrPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrPromo(String descrPromo) {
|
||||
this.descrPromo = descrPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrSgrp() {
|
||||
return descrSgrp;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrSgrp(String descrSgrp) {
|
||||
this.descrSgrp = descrSgrp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizioneEstesa() {
|
||||
return descrizioneEstesa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrizioneEstesa(String descrizioneEstesa) {
|
||||
this.descrizioneEstesa = descrizioneEstesa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getEsposizioneComp() {
|
||||
return esposizioneComp;
|
||||
}
|
||||
|
||||
public VariazioniDTO setEsposizioneComp(String esposizioneComp) {
|
||||
this.esposizioneComp = esposizioneComp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getEsposizioneCompAcq() {
|
||||
return esposizioneCompAcq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setEsposizioneCompAcq(String esposizioneCompAcq) {
|
||||
this.esposizioneCompAcq = esposizioneCompAcq;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFinePromo() {
|
||||
return finePromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFinePromo(String finePromo) {
|
||||
this.finePromo = finePromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagCalcPrz() {
|
||||
return flagCalcPrz;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagCalcPrz(String flagCalcPrz) {
|
||||
this.flagCalcPrz = flagCalcPrz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagCalcPrzAcq() {
|
||||
return flagCalcPrzAcq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagCalcPrzAcq(String flagCalcPrzAcq) {
|
||||
this.flagCalcPrzAcq = flagCalcPrzAcq;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagEsponiPrz() {
|
||||
return flagEsponiPrz;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagEsponiPrz(String flagEsponiPrz) {
|
||||
this.flagEsponiPrz = flagEsponiPrz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagListIvaInclusa() {
|
||||
return flagListIvaInclusa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagListIvaInclusa(String flagListIvaInclusa) {
|
||||
this.flagListIvaInclusa = flagListIvaInclusa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagStato() {
|
||||
return flagStato;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagStato(String flagStato) {
|
||||
this.flagStato = flagStato;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagTipoPromo() {
|
||||
return flagTipoPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagTipoPromo(String flagTipoPromo) {
|
||||
this.flagTipoPromo = flagTipoPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagTracciabilita() {
|
||||
return flagTracciabilita;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagTracciabilita(String flagTracciabilita) {
|
||||
this.flagTracciabilita = flagTracciabilita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getGgScadPartita() {
|
||||
return ggScadPartita;
|
||||
}
|
||||
|
||||
public VariazioniDTO setGgScadPartita(Integer ggScadPartita) {
|
||||
this.ggScadPartita = ggScadPartita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIdArtEqui() {
|
||||
return idArtEqui;
|
||||
}
|
||||
|
||||
public VariazioniDTO setIdArtEqui(String idArtEqui) {
|
||||
this.idArtEqui = idArtEqui;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIdPromo() {
|
||||
return idPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setIdPromo(String idPromo) {
|
||||
this.idPromo = idPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIngredienti() {
|
||||
return ingredienti;
|
||||
}
|
||||
|
||||
public VariazioniDTO setIngredienti(String ingredienti) {
|
||||
this.ingredienti = ingredienti;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPercAliq() {
|
||||
return percAliq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercAliq(BigDecimal percAliq) {
|
||||
this.percAliq = percAliq;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPercSco1() {
|
||||
return percSco1;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco1(BigDecimal percSco1) {
|
||||
this.percSco1 = percSco1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPercSco2() {
|
||||
return percSco2;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco2(BigDecimal percSco2) {
|
||||
this.percSco2 = percSco2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPercSco3() {
|
||||
return percSco3;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco3(BigDecimal percSco3) {
|
||||
this.percSco3 = percSco3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPercSco4() {
|
||||
return percSco4;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco4(BigDecimal percSco4) {
|
||||
this.percSco4 = percSco4;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPercSfrido() {
|
||||
return percSfrido;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSfrido(BigDecimal percSfrido) {
|
||||
this.percSfrido = percSfrido;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPesoKg() {
|
||||
return pesoKg;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPesoKg(BigDecimal pesoKg) {
|
||||
this.pesoKg = pesoKg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPlu() {
|
||||
return plu;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPlu(String plu) {
|
||||
this.plu = plu;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizione() {
|
||||
return posizione;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPosizione(String posizione) {
|
||||
this.posizione = posizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPrezzoPieno() {
|
||||
return prezzoPieno;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrezzoPieno(BigDecimal prezzoPieno) {
|
||||
this.prezzoPieno = prezzoPieno;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPrzBase() {
|
||||
return przBase;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzBase(BigDecimal przBase) {
|
||||
this.przBase = przBase;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPrzPienoIva() {
|
||||
return przPienoIva;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzPienoIva(BigDecimal przPienoIva) {
|
||||
this.przPienoIva = przPienoIva;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPrzVend() {
|
||||
return przVend;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzVend(BigDecimal przVend) {
|
||||
this.przVend = przVend;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPrzVendIva() {
|
||||
return przVendIva;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzVendIva(BigDecimal przVendIva) {
|
||||
this.przVendIva = przVendIva;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnf() {
|
||||
return qtaCnf;
|
||||
}
|
||||
|
||||
public VariazioniDTO setQtaCnf(BigDecimal qtaCnf) {
|
||||
this.qtaCnf = qtaCnf;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv() {
|
||||
return rapConv;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRapConv(BigDecimal rapConv) {
|
||||
this.rapConv = rapConv;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv2() {
|
||||
return rapConv2;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRapConv2(BigDecimal rapConv2) {
|
||||
this.rapConv2 = rapConv2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv3() {
|
||||
return rapConv3;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRapConv3(BigDecimal rapConv3) {
|
||||
this.rapConv3 = rapConv3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRepartoCassa() {
|
||||
return repartoCassa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRepartoCassa(String repartoCassa) {
|
||||
this.repartoCassa = repartoCassa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getTaraKg() {
|
||||
return taraKg;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTaraKg(BigDecimal taraKg) {
|
||||
this.taraKg = taraKg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTipoCodice() {
|
||||
return tipoCodice;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTipoCodice(String tipoCodice) {
|
||||
this.tipoCodice = tipoCodice;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTipoVariazione() {
|
||||
return tipoVariazione;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTipoVariazione(String tipoVariazione) {
|
||||
this.tipoVariazione = tipoVariazione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTipoVariazioneLisv() {
|
||||
return tipoVariazioneLisv;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTipoVariazioneLisv(String tipoVariazioneLisv) {
|
||||
this.tipoVariazioneLisv = tipoVariazioneLisv;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMis() {
|
||||
return untMis;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMis(String untMis) {
|
||||
this.untMis = untMis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMisVen() {
|
||||
return untMisVen;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMisVen(String untMisVen) {
|
||||
this.untMisVen = untMisVen;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMis2() {
|
||||
return untMis2;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMis2(String untMis2) {
|
||||
this.untMis2 = untMis2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMis3() {
|
||||
return untMis3;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMis3(String untMis3) {
|
||||
this.untMis3 = untMis3;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,126 +0,0 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.dto.Variazioni;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class VariazioniPvInputDTO {
|
||||
private Date dataValidita;
|
||||
private String codVlis;
|
||||
private String whereCondArt;
|
||||
|
||||
private String whereCondLisv;
|
||||
private String whereCondDoc;
|
||||
private String inviaIngredienti;
|
||||
private String fileXml;
|
||||
private String tipoReport;
|
||||
private String inviaDisattivazioni;
|
||||
|
||||
public Date getDataValidita() {
|
||||
return dataValidita;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setDataValidita(Date dataValidita) {
|
||||
this.dataValidita = dataValidita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Type getTipoReportEnum() {
|
||||
return Type.fromString(tipoReport);
|
||||
}
|
||||
|
||||
public void setTipoReportEnum(Type tipoReport) {
|
||||
this.tipoReport = tipoReport.getText();
|
||||
}
|
||||
|
||||
public String getTipoReport() {
|
||||
return tipoReport;
|
||||
}
|
||||
|
||||
public void setTipoReport(String tipoReport) {
|
||||
this.tipoReport = tipoReport;
|
||||
}
|
||||
|
||||
public String getWhereCondArt() {
|
||||
return whereCondArt;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setWhereCondArt(String whereCondArt) {
|
||||
this.whereCondArt = whereCondArt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getWhereCondLisv() {
|
||||
return whereCondLisv;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setWhereCondLisv(String whereCondLisv) {
|
||||
this.whereCondLisv = whereCondLisv;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getWhereCondDoc() {
|
||||
return whereCondDoc;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setWhereCondDoc(String whereCondDoc) {
|
||||
this.whereCondDoc = whereCondDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getInviaIngredienti() {
|
||||
return inviaIngredienti;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setInviaIngredienti(String inviaIngredienti) {
|
||||
this.inviaIngredienti = inviaIngredienti;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFileXml() {
|
||||
return fileXml;
|
||||
}
|
||||
|
||||
public void setFileXml(String fileXml) {
|
||||
this.fileXml = fileXml;
|
||||
}
|
||||
|
||||
public String getInviaDisattivazioni() {
|
||||
return inviaDisattivazioni;
|
||||
}
|
||||
|
||||
public void setInviaDisattivazioni(String inviaDisattivazioni) {
|
||||
this.inviaDisattivazioni = inviaDisattivazioni;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
VARIAZIONI("V"),
|
||||
PROMOZIONI("P"),
|
||||
GRIGLIA("G"),
|
||||
LISTINO("L");
|
||||
|
||||
private String text;
|
||||
|
||||
Type(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public static Type fromString(String text) {
|
||||
for (Type b : Type.values()) {
|
||||
if (b.text.equalsIgnoreCase(text)) return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return this.text;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,8 @@ public class VariazioniDettaglioDTO {
|
||||
private String codVlis;
|
||||
@MapToTable("descrizione")
|
||||
private String descrizione;
|
||||
@MapToTable("descr_cassa")
|
||||
private String descrCassa;
|
||||
@MapToTable("flag_list_iva_inclusa")
|
||||
private String flagListIvaInclusa;
|
||||
@MapToTable("cod_mdep")
|
||||
@@ -145,7 +147,14 @@ public class VariazioniDettaglioDTO {
|
||||
private String untMis2;
|
||||
@MapToTable (value = "unt_mis3")
|
||||
private String untMis3;
|
||||
|
||||
@MapToTable (value = "libero1")
|
||||
private String libero1;
|
||||
@MapToTable (value = "libero2")
|
||||
private String libero2;
|
||||
@MapToTable (value = "posizione_articolo")
|
||||
private String posizioneArticolo;
|
||||
@MapToTable (value = "intercode_xml_variazioni")
|
||||
private String intercodeXmlVariazioni;
|
||||
public Date getDataVariazione() {
|
||||
return dataVariazione;
|
||||
}
|
||||
@@ -164,6 +173,15 @@ public class VariazioniDettaglioDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrCassa() {
|
||||
return descrCassa;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setDescrCassa(String descrCassa) {
|
||||
this.descrCassa = descrCassa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getElencoCasse() {
|
||||
return elencoCasse;
|
||||
}
|
||||
@@ -766,4 +784,40 @@ public class VariazioniDettaglioDTO {
|
||||
this.untMis3 = untMis3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLibero1() {
|
||||
return libero1;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setLibero1(String libero1) {
|
||||
this.libero1 = libero1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLibero2() {
|
||||
return libero2;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setLibero2(String libero2) {
|
||||
this.libero2 = libero2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizioneArticolo() {
|
||||
return posizioneArticolo;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setPosizioneArticolo(String posizioneArticolo) {
|
||||
this.posizioneArticolo = posizioneArticolo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIntercodeXmlVariazioni() {
|
||||
return intercodeXmlVariazioni;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setIntercodeXmlVariazioni(String intercodeXmlVariazioni) {
|
||||
this.intercodeXmlVariazioni = intercodeXmlVariazioni;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ public class VariazioniPvInputDTO {
|
||||
private Date dataValidita;
|
||||
private String codVlis;
|
||||
private String whereCondArt;
|
||||
|
||||
private String whereCondLisv;
|
||||
private String whereCondDoc;
|
||||
private String inviaIngredienti;
|
||||
@@ -105,6 +106,15 @@ public class VariazioniPvInputDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> getVariazioni() {
|
||||
return variazioni;
|
||||
}
|
||||
@@ -114,12 +124,4 @@ public class VariazioniPvInputDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.ems.retail.ReportVariazioni.dto;
|
||||
|
||||
public enum VariazioniReportType {
|
||||
VARIAZIONI("V"),
|
||||
GRIGLIA("G"),
|
||||
PROMOZIONI("P"),
|
||||
LISTINO("L");
|
||||
|
||||
|
||||
@@ -1,969 +0,0 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.service;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.Variazioni.VariazioniPvInputDTO;
|
||||
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.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 org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.Marshaller;
|
||||
import java.io.File;
|
||||
import java.io.StringWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class VariazioniPVService {
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
@Autowired
|
||||
private GrigliaAcquistoHandlerService grigliaAcquistoHandlerService;
|
||||
|
||||
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) {
|
||||
|
||||
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);
|
||||
xmlVariazioni = fileXml.toString();
|
||||
} else {
|
||||
throw new Exception("Non ci sono variazione nel periodo selezionato.");
|
||||
}
|
||||
|
||||
return xmlVariazioni;
|
||||
}
|
||||
|
||||
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");
|
||||
if (!UtilityString.isNullOrEmpty(setupDescr)) {
|
||||
if (setupDescr.equalsIgnoreCase("D"))
|
||||
colNameDescrEstesa = "descr_art";
|
||||
else if (setupDescr.equalsIgnoreCase("B"))
|
||||
colNameDescrEstesa = "descr_cassa";
|
||||
}
|
||||
|
||||
ReportType fileVariazioniDTO = new ReportType();
|
||||
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();
|
||||
String codVlisVariazioni = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), gestName, section, "COD_VLIS_VARIAZIONI", codMdep);
|
||||
if (UtilityString.isNullOrEmpty(codVlisVariazioni)) {
|
||||
listinoDTO.getContent().add(codVlis);
|
||||
} else {
|
||||
listinoDTO.getContent().add(codVlisVariazioni);
|
||||
}
|
||||
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);
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
if (fileVariazioniDTO.getCodVlis() != null && fileVariazioniDTO.getCodVlis().size() > 0) {
|
||||
|
||||
} else {
|
||||
throw new Exception("Non ci sono variazione nel periodo selezionato.");
|
||||
}
|
||||
|
||||
return fileVariazioniDTO;
|
||||
}
|
||||
|
||||
private CodMartType fillArticoloData(ObjectFactory objectFactory, HashMap<String, Object> var,
|
||||
VariazioniPvInputDTO variazioniPvDTO,
|
||||
String invioIngredientiSetup,
|
||||
Map<String, String> setupDepo,
|
||||
String codMdep,
|
||||
String colNameDescrEstesa,
|
||||
String valLibero1,
|
||||
String valLibero2,
|
||||
boolean getVariazioneGriglia) throws Exception {
|
||||
CodMartType codMartType = objectFactory.createCodMartType();
|
||||
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 = "";
|
||||
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 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(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 = 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 = 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(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(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(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(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(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(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(",", ".")));
|
||||
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 = UtilityHashMap.getValueIfExists(var, "id_art_equi");
|
||||
if (!UtilityString.isNullOrEmpty(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, 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, variazioniPvDTO.getDataValidita(), datiPromo);
|
||||
|
||||
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"));
|
||||
dataFinePromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(datiPromo.get("data_fine"));
|
||||
}
|
||||
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodPromo(codPromo));
|
||||
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(UtilityHashMap.getValueIfExists(var, "id_promo"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagMxn(flagMxnType));
|
||||
|
||||
//INGREDIENTI
|
||||
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(UtilityHashMap.getValueIfExists(var, "ingredienti"));
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvDTO.getDataValidita(), variazioniPvDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIngredienti(ingredientiType));
|
||||
|
||||
//COMPONENTI
|
||||
ComponentiType componentiType = getComponenti(objectFactory, codMart, przVend);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeComponenti(componentiType));
|
||||
|
||||
//PREMI
|
||||
PremioType premioType = getPuntiPremi(objectFactory, codMart, variazioniPvDTO.getDataValidita());
|
||||
if (premioType != null) {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePremio(premioType));
|
||||
}
|
||||
|
||||
//CODICE A BARRE ALTERNATIVI
|
||||
CodiciABarreType codiciABarreType = getBarcodeAlternativi(objectFactory, codMart);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodiciABarre(codiciABarreType));
|
||||
|
||||
//DATI GRIGLIA DI ACQUISTO
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("SELEZIONA_GRIGLIE"))) {
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
}
|
||||
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("ABILITA_CAMPI_LIBERI"))) {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeLibero1(UtilityString.streNull(getValueCampoLibero(valLibero1, var, codMdep, codMart))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeLibero2(UtilityString.streNull(getValueCampoLibero(valLibero2, var, codMdep, codMart))));
|
||||
}
|
||||
|
||||
return codMartType;
|
||||
}
|
||||
|
||||
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 =
|
||||
Query.format("SELECT mtb_part.vend_mese_prec/4 as media_sett\n" +
|
||||
"FROM mtb_part\n" +
|
||||
"WHERE cod_mdep = %s\n" +
|
||||
" AND cod_mart = %s", codMdep, codMart);
|
||||
BigDecimal valMedio = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (UtilityBigDecimal.isNullOrZero(valMedio) && UtilityDB.existDatabaseObject(multiDBTransactionManager.getPrimaryConnection(), "mvw_media_vend", TypeDbObject.VIEW)) {
|
||||
sql =
|
||||
Query.format("SELECT media_sett\n" +
|
||||
"FROM mvw_media_vend\n" +
|
||||
"WHERE cod_mdep = %s\n" +
|
||||
" AND cod_mart = %s", codMdep, codMart);
|
||||
valMedio = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
}
|
||||
return (valMedio == null ? "" : new DecimalFormat("#,##0.00").format(valMedio));
|
||||
} else if (tipoValore.equalsIgnoreCase("P")) {
|
||||
return UtilityHashMap.getValueIfExists(var, "posizione_art");
|
||||
} else if (tipoValore.equalsIgnoreCase("T")) {
|
||||
return UtilityHashMap.getValueIfExists(var, "intercode_xml_variazioni");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getQueryVariazioni(VariazioniPvInputDTO variazioniPvDTO,
|
||||
HashMap<String, String> setup,
|
||||
String codVlis,
|
||||
String selezionaGriglie) throws Exception {
|
||||
|
||||
String queryAssortimento = getQueryAssortimento(variazioniPvDTO, setup, codVlis, selezionaGriglie);
|
||||
String query =
|
||||
"SELECT listino.cod_vlis,\n" +
|
||||
" listino.descrizione AS 'descr_lisv',\n" +
|
||||
" listino.flag_list_iva_inclusa,\n" +
|
||||
" ISNULL(assortimento.cod_mart_view, listino.cod_mart) AS 'cod_mart',\n" +
|
||||
" mtb_aart.descrizione AS 'descr_art',\n" +
|
||||
" CONVERT(VARCHAR(40), mtb_aart.descr_cassa) AS 'descr_cassa',\n" +
|
||||
" mtb_aart.descrizione_estesa AS 'descrizione_estesa',\n" +
|
||||
" mtb_aart.unt_mis2 AS 'unt_mis2',\n" +
|
||||
" ISNULL(mtb_aart.rap_conv2, 1) AS 'rap_conv2',\n" +
|
||||
" mtb_aart.cod_mgrp AS 'cod_mgrp',\n" +
|
||||
" mtb_grup.descrizione AS 'descr_grup',\n" +
|
||||
" ISNULL(CASE\n" +
|
||||
" WHEN '[CLASSIFICAZIONE_MERCEOLOGICA]' = '1'\n" +
|
||||
" THEN mtb_aart.cod_msfa\n" +
|
||||
" ELSE NULL END,\n" +
|
||||
" mtb_aart.cod_msgr) AS 'cod_msgr',\n" +
|
||||
" ISNULL(CASE\n" +
|
||||
" WHEN '[CLASSIFICAZIONE_MERCEOLOGICA]' = '1'\n" +
|
||||
" THEN ISNULL(mtb_sfam.descrizione, mtb_sgrp.descrizione)\n" +
|
||||
" ELSE mtb_sgrp.descrizione END,\n" +
|
||||
" '') AS 'descr_sgrp',\n" +
|
||||
" mtb_aart.bar_code AS 'cod_barre',\n" +
|
||||
" mtb_aart.plu AS 'plu',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN assortimento.tipo_variazione = 'C' THEN 'I'\n" +
|
||||
" ELSE mtb_aart.flag_stato END AS 'flag_stato',\n" +
|
||||
" mtb_aart.cod_aliq AS 'cod_aliq',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_aart.articolo_composto = 'S' AND mtb_aart.esposizione_comp = 'S' THEN 'S'\n" +
|
||||
" ELSE 'N' END AS 'articolo_composto',\n" +
|
||||
" mtb_aart.gg_scad_partita AS 'gg_scad_partita',\n" +
|
||||
" mtb_aart.unt_mis AS 'unt_mis',\n" +
|
||||
" mtb_aart.data_ult_var AS 'data_ult_var',\n" +
|
||||
" mtb_aart.tipo_codice AS 'tipo_codice',\n" +
|
||||
" mtb_aart.flag_tracciabilita AS 'flag_tracciabilita',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN '[CLASSIFICAZIONE_MERCEOLOGICA]' = '0'\n" +
|
||||
" THEN mtb_aart.cod_msfa\n" +
|
||||
" ELSE NULL END AS 'cod_msfa',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN '[CLASSIFICAZIONE_MERCEOLOGICA]' = '0'\n" +
|
||||
" THEN mtb_sfam.descrizione\n" +
|
||||
" ELSE NULL END AS 'descr_msfa',\n" +
|
||||
" mtb_aart.unt_mis3 AS 'unt_mis3',\n" +
|
||||
" ISNULL(mtb_aart.rap_conv3, 1) AS rap_conv3,\n" +
|
||||
" mtb_aart.peso_kg AS 'peso_kg',\n" +
|
||||
" mtb_aart.flag_esponi_prz AS 'flag_esponi_prz',\n" +
|
||||
" mtb_aart.perc_sfrido AS 'perc_sfrido',\n" +
|
||||
" mtb_aart.cod_barre_imb AS 'cod_barre_imb',\n" +
|
||||
" mtb_aart.flag_calc_prz AS 'flag_calc_prz',\n" +
|
||||
" mtb_aart.esposizione_comp_acq AS 'esposizione_comp_acq',\n" +
|
||||
" mtb_aart.flag_calc_prz_acq AS 'flag_calc_prz_acq',\n" +
|
||||
" mtb_aart.colli_pedana AS 'colli_pedana',\n" +
|
||||
" mtb_aart.qta_cnf AS 'qta_cnf',\n" +
|
||||
" mtb_aart.tara_kg AS 'tara_kg',\n" +
|
||||
" mtb_aart.esposizione_comp AS 'esposizione_comp',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN listino.tipo_variazione = 'I' AND (assortimento.fine_promo = 'S' OR assortimento.tipo_variazione = 'P')\n" +
|
||||
" THEN 'U'\n" +
|
||||
" ELSE listino.tipo_variazione END AS 'tipo_variazione_lisv',\n" +
|
||||
" listino.prz_base,\n" +
|
||||
" ISNULL(ISNULL(promozione.prz_vend_netto, listino.prz_vend_netto), 0) AS prz_vend,\n" +
|
||||
" ISNULL(ISNULL(promozione.prz_vend_iva, listino.prz_vend_iva), 0) AS prz_vend_iva,\n" +
|
||||
" listino.posizione,\n" +
|
||||
" listino.unt_mis_ven,\n" +
|
||||
" listino.rap_conv,\n" +
|
||||
" listino.perc_sco1,\n" +
|
||||
" listino.perc_sco2,\n" +
|
||||
" listino.perc_sco3,\n" +
|
||||
" listino.perc_sco4,\n" +
|
||||
" gtb_aliq.perc_aliq,\n" +
|
||||
" listino.prz_vend_netto AS 'prezzo_pieno',\n" +
|
||||
" listino.prz_vend_iva AS 'prz_pieno_iva',\n" +
|
||||
" promozione.cod_promo,\n" +
|
||||
" promozione.descr_promo,\n" +
|
||||
" promozione.data_fine,\n" +
|
||||
" mtb_aart.ingredienti,\n" +
|
||||
" ISNULL(promozione.data_iniz, listino.data_iniz) AS 'data_iniz',\n" +
|
||||
" stb_gest_setup.value AS 'reparto_cassa',\n" +
|
||||
" mtb_aart.note AS 'annotazioni_art',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN assortimento.tipo_variazione = 'C' THEN 'A'\n" +
|
||||
" WHEN assortimento.tipo_variazione = 'A' AND listino.tipo_variazione = 'I' THEN 'P'\n" +
|
||||
" ELSE assortimento.tipo_variazione END AS 'tipo_variazione',\n" +
|
||||
" assortimento.fine_promo,\n" +
|
||||
" mtb_depo.cod_mdep,\n" +
|
||||
" mtb_aart.id_art_equi AS 'id_art_equi',\n" +
|
||||
" mtb_aart_equi.descrizione AS 'descr_art_equi',\n" +
|
||||
" promozione.flag_tipo_promo,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN promozione.flag_tipo_promo <> 'P' THEN promozione.data_iniz\n" +
|
||||
" ELSE NULL END AS 'data_iniz_promo',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN promozione.cod_promo IS NOT NULL AND promozione.flag_tipo_promo <> 'P'\n" +
|
||||
" THEN listino.cod_vlis + '_' + CAST(promozione.versione AS VARCHAR)\n" +
|
||||
" ELSE NULL END AS 'id_promo',\n" +
|
||||
" mtb_aart.posizione AS 'posizione_art',\n" +
|
||||
" promozione.intercode_xml_variazioni AS 'intercode_xml_variazioni'\n" +
|
||||
"FROM (" + queryAssortimento + ") assortimento\n" +
|
||||
" INNER JOIN dbo.getlistinovendita('[DATA_VARIAZIONE]', '[COD_VLIS]', NULL) listino\n" +
|
||||
" ON assortimento.cod_vlis = listino.cod_vlis AND assortimento.cod_mart = listino.cod_mart and listino.data_iniz is not null\n" +
|
||||
" INNER JOIN mtb_aart ON listino.cod_mart = mtb_aart.cod_mart\n" +
|
||||
" INNER JOIN mtb_depo ON listino.cod_vlis = mtb_depo.cod_vlis\n" +
|
||||
" INNER JOIN mtb_grup ON mtb_aart.cod_mgrp = mtb_grup.cod_mgrp\n" +
|
||||
" INNER JOIN mtb_sgrp ON mtb_aart.cod_mgrp = mtb_sgrp.cod_mgrp AND mtb_aart.cod_msgr = mtb_sgrp.cod_msgr\n" +
|
||||
" INNER JOIN gtb_aliq ON mtb_aart.cod_aliq = gtb_aliq.cod_aliq\n" +
|
||||
" LEFT OUTER JOIN mtb_sfam ON mtb_aart.cod_mgrp = mtb_sfam.cod_mgrp AND\n" +
|
||||
" mtb_aart.cod_msgr = mtb_sfam.cod_msgr AND\n" +
|
||||
" mtb_aart.cod_msfa = mtb_sfam.cod_msfa\n" +
|
||||
" LEFT OUTER JOIN mtb_aart_equi ON mtb_aart.id_art_equi = mtb_aart_equi.id_art_equi\n" +
|
||||
" LEFT OUTER JOIN stb_gest_setup ON stb_gest_setup.gest_name = 'EXPORT_DATI_CASSA' AND\n" +
|
||||
" stb_gest_setup.section = 'REPARTO_CASSA' AND\n" +
|
||||
" stb_gest_setup.key_section = mtb_grup.cod_mgrp\n" +
|
||||
" LEFT OUTER JOIN dbo.getpromozionevendita('[DATA_VARIAZIONE]', NULL, '[COD_VLIS]', NULL, NULL) promozione\n" +
|
||||
" 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() == 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 ";
|
||||
|
||||
query = query
|
||||
.replace("'[DATA_VARIAZIONE]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD))
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[CLASSIFICAZIONE_MERCEOLOGICA]'", UtilityDB.valueToString(setup.get("CLASSIFICAZIONE_MERCEOLOGICA")))
|
||||
.replace("'[INVIA_DESC_CASSA]'", UtilityDB.valueToString(setup.get("INVIA_DESC_CASSA")))
|
||||
.replace("'[INVIA_DISATTIVAZIONI]'", UtilityDB.valueToString(UtilityString.isNull(variazioniPvDTO.getInviaDisattivazioni(), "N")));
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
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<Object> casse = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
return StringUtils.join(casse, "|");
|
||||
}
|
||||
|
||||
private String getQueryAssortimento(VariazioniPvInputDTO variazioniPvDTO,
|
||||
HashMap<String, String> setup,
|
||||
String codVlis,
|
||||
String selezionaGriglia) throws Exception {
|
||||
|
||||
String queryAssortimento = null;
|
||||
|
||||
if (UtilityString.isNullOrEmpty(variazioniPvDTO.getTipoReportEnum())) {
|
||||
throw new Exception("Tipo report non configurato");
|
||||
} else {
|
||||
switch (variazioniPvDTO.getTipoReportEnum()) {
|
||||
case LISTINO:
|
||||
queryAssortimento =
|
||||
Query.format(
|
||||
"SELECT DISTINCT lisv.cod_vlis, " +
|
||||
" lisv.cod_mart, " +
|
||||
" 'A' as tipo_variazione, " +
|
||||
" Convert(varchar(15), null ) as 'cod_mart_view', " +
|
||||
" 'N' as 'fine_promo' " +
|
||||
" FROM mtb_lisv lisv " +
|
||||
" WHERE lisv.cod_vlis = %s ",
|
||||
codVlis);
|
||||
|
||||
break;
|
||||
case VARIAZIONI:
|
||||
|
||||
queryAssortimento =
|
||||
"SELECT vtb_list_data.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" 'P' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS 'cod_mart_view',\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
"FROM vtb_list_data\n" +
|
||||
" INNER JOIN mtb_lisv_data\n" +
|
||||
" ON ISNULL(vtb_list_data.cod_vlis_rif, vtb_list_data.cod_vlis) = mtb_lisv_data.cod_vlis AND\n" +
|
||||
" vtb_list_data.versione = mtb_lisv_data.versione\n" +
|
||||
"WHERE vtb_list_data.data_iniz = '[DATA_VALIDITA]'\n" +
|
||||
" AND vtb_list_data.cod_vlis = '[COD_VLIS]'\n" +
|
||||
" AND vtb_list_data.cod_promo IS NULL\n" +
|
||||
"UNION\n" +
|
||||
"SELECT vtb_list_data.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" 'P' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS 'cod_mart_view',\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
"FROM vtb_list_data\n" +
|
||||
" INNER JOIN mtb_lisv_data ON vtb_list_data.cod_vlis = mtb_lisv_data.cod_vlis AND\n" +
|
||||
" vtb_list_data.versione = mtb_lisv_data.versione\n" +
|
||||
" INNER JOIN vtb_promo ON vtb_list_data.cod_promo = vtb_promo.cod_promo AND\n" +
|
||||
" vtb_promo.flag_tipo_promo = 'A'\n" +
|
||||
" INNER JOIN vtb_list_data v\n" +
|
||||
" ON vtb_list_data.cod_vlis = v.cod_vlis AND v.cod_promo IS NULL AND v.data_iniz = '[DATA_VALIDITA]'\n" +
|
||||
" INNER JOIN mtb_lisv_data vr ON v.cod_vlis = vr.cod_vlis AND v.versione = vr.versione AND\n" +
|
||||
" mtb_lisv_data.cod_mart = vr.cod_mart\n" +
|
||||
"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" +
|
||||
" , cod_mart_new\n" +
|
||||
" , 'N' AS 'fine_promo'\n" +
|
||||
"FROM (SELECT mtb_aart.cod_mart,\n" +
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new\n" +
|
||||
" FROM mtb_aart\n" +
|
||||
" WHERE mtb_aart.data_ult_var = '[DATA_VALIDITA]'\n" +
|
||||
" UNION\n" +
|
||||
" SELECT jtb_cicl.cod_prod,\n" +
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new\n" +
|
||||
" FROM jtb_cicl\n" +
|
||||
" WHERE jtb_cicl.data_ult_var = '[DATA_VALIDITA]'\n" +
|
||||
" UNION\n" +
|
||||
" SELECT mtb_cambio_art.codice_nuovo,\n" +
|
||||
" 'C' AS tipo_variazione,\n" +
|
||||
" mtb_cambio_art.codice_vecchio\n" +
|
||||
" FROM mtb_cambio_art\n" +
|
||||
" WHERE CAST(mtb_cambio_art.dataora_cambio AS DATE) = '[DATA_VALIDITA]') art\n" +
|
||||
" INNER JOIN (SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
" mtb_lisv.cod_mart\n" +
|
||||
" FROM vtb_list\n" +
|
||||
" INNER JOIN mtb_lisv\n" +
|
||||
" ON ISNULL(vtb_list.cod_vlis_rif, vtb_list.cod_vlis) = mtb_lisv.cod_vlis) lisv\n" +
|
||||
" ON art.cod_mart = lisv.cod_mart\n" +
|
||||
"WHERE lisv.cod_vlis = '[COD_VLIS]'";
|
||||
queryAssortimento =
|
||||
queryAssortimento
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[DATA_VALIDITA]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD));
|
||||
break;
|
||||
case GRIGLIA:
|
||||
queryAssortimento =
|
||||
"SELECT mtb_depo.cod_vlis,\n" +
|
||||
" atb_griglie_art.cod_mart,\n" +
|
||||
" 'G' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_view,\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]'";
|
||||
|
||||
queryAssortimento =
|
||||
queryAssortimento
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[DATA_VALIDITA]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD));
|
||||
break;
|
||||
case PROMOZIONI:
|
||||
String filtroPromoOrto = setup.get("FILTRO_ART_ORTOFRUTTA");
|
||||
queryAssortimento =
|
||||
"SELECT vtb_list_data.cod_vlis, " +
|
||||
" mtb_lisv_data.cod_mart, " +
|
||||
" 'P' as tipo_variazione, " +
|
||||
" convert(varchar(15), null) as cod_mart_view, " +
|
||||
" CASE " +
|
||||
" WHEN max(vtb_list_data.data_iniz) = " + UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD) + " THEN 'N' " +
|
||||
" WHEN vtb_promo.flag_tipo_promo = 'P' THEN 'N' " +
|
||||
" ELSE 'S' " +
|
||||
" END as 'fine_promo' " +
|
||||
" FROM vtb_list_data " +
|
||||
" INNER JOIN mtb_lisv_data ON IsNull(vtb_list_data.cod_vlis_rif,vtb_list_data.cod_vlis) = mtb_lisv_data.cod_vlis and " +
|
||||
" vtb_list_data.versione = mtb_lisv_data.versione" +
|
||||
" INNER JOIN vtb_promo ON vtb_list_data.cod_promo = vtb_promo.cod_promo " +
|
||||
" WHERE vtb_list_data.cod_vlis = " + UtilityDB.valueToString(codVlis) +
|
||||
" AND ( vtb_list_data.data_iniz = " + UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD) + " OR " +
|
||||
" vtb_list_data.data_fine = DateAdd(dd, -1, " + UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD) + ")) " +
|
||||
"GROUP BY vtb_list_data.cod_vlis, " +
|
||||
" mtb_lisv_data.cod_mart, " +
|
||||
" vtb_promo.flag_tipo_promo ";
|
||||
if (!UtilityString.isNullOrEmpty(filtroPromoOrto)) {
|
||||
String queryArt = " SELECT mtb_aart.cod_mart FROM mtb_aart inner join mvw_barcode on mtb_aart.cod_mart = mvw_barcode.cod_mart ";
|
||||
queryArt = UtilityDB.addwhereCond(queryArt, filtroPromoOrto, false);
|
||||
filtroPromoOrto = "EXISTS( " + queryArt + " AND mtb_lisv_data.cod_mart = mtb_aart.cod_mart )";
|
||||
queryAssortimento = UtilityDB.addwhereCond(queryAssortimento, filtroPromoOrto, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
String filtroMenu = setup.get("FILTRO_ART_MENU");
|
||||
if (!UtilityString.isNullOrEmpty(filtroMenu)) {
|
||||
filtroMenu = "mtb_aart.cod_mart not in (" + filtroMenu + ")";
|
||||
}
|
||||
|
||||
String whereCond = variazioniPvDTO.getWhereCondArt();
|
||||
String query =
|
||||
"SELECT Convert(varchar(5), assortimento.cod_vlis) as cod_vlis,\n " +
|
||||
"Convert(varchar(15), assortimento.cod_mart) as cod_mart,\n " +
|
||||
"Convert(varchar(1), max(assortimento.tipo_variazione)) as tipo_variazione,\n " +
|
||||
"Convert(varchar(15), assortimento.cod_mart_view) as cod_mart_view,\n " +
|
||||
"Convert(varchar(1), max(assortimento.fine_promo)) as fine_promo\n " +
|
||||
" FROM (\n" + queryAssortimento + "\n) assortimento inner join mtb_aart on assortimento.cod_mart = mtb_aart.cod_mart\n " +
|
||||
" WHERE mtb_aart.flag_incl_listino = 'S' AND\n " +
|
||||
"mtb_aart.flag_stato = 'A' AND\n " +
|
||||
" EXISTS ( SELECT cod_barre from mvw_barcode WHERE mvw_barcode.cod_mart = mtb_aart.cod_mart )\n " +
|
||||
(UtilityString.isNullOrEmpty(whereCond) ? "" : " AND " + whereCond) +
|
||||
(UtilityString.isNullOrEmpty(filtroMenu) ? "" : " AND " + filtroMenu) +
|
||||
" GROUP BY assortimento.cod_vlis, assortimento.cod_mart, assortimento.cod_mart_view";
|
||||
return query;
|
||||
}
|
||||
|
||||
private BigDecimal getPuntiArt(String codMart, Date dataValidita) throws Exception {
|
||||
|
||||
String query =
|
||||
"SELECT count_fidelity " +
|
||||
" FROM vtb_promo, " +
|
||||
" vtb_promo_articoli " +
|
||||
" WHERE vtb_promo.cod_promo = vtb_promo_articoli.cod_promo AND " +
|
||||
UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + " between vtb_promo.data_iniz_sell_in and vtb_promo.data_fine_sell_in AND " +
|
||||
" vtb_promo_articoli.cod_mart = '" + codMart + "' AND " +
|
||||
" vtb_promo.flag_tipo_promo = 'F'";
|
||||
BigDecimal punti = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
if (punti == null) punti = BigDecimal.ZERO;
|
||||
return punti;
|
||||
}
|
||||
|
||||
private FlagMxnType getScontoMerce(ObjectFactory objectFactory, String codMart, Date dataValidita, HashMap<String, Object> datipromo) throws Exception {
|
||||
FlagMxnType flagMxnType = objectFactory.createFlagMxnType();
|
||||
String query =
|
||||
"SELECT qta_vend," +
|
||||
" qta_omaggio, " +
|
||||
" vtb_list_data.versione, " +
|
||||
" vtb_list_data.data_iniz, " +
|
||||
" vtb_list_data.data_fine, " +
|
||||
" vtb_list_data.cod_promo " +
|
||||
" FROM vtb_promo, " +
|
||||
" mtb_lisv_data, " +
|
||||
" vtb_list_data " +
|
||||
" WHERE vtb_promo.cod_promo = vtb_list_data.cod_promo AND " +
|
||||
"( " + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + " between vtb_list_data.data_iniz and vtb_list_data.data_fine OR " +
|
||||
"DateAdd(day, -1, " + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ") = vtb_list_data.data_fine ) AND " +
|
||||
" mtb_lisv_data.cod_mart = " + UtilityDB.valueToString(codMart) + " AND " +
|
||||
" vtb_list_data.cod_vlis = mtb_lisv_data.cod_vlis AND " +
|
||||
" vtb_list_data.versione = mtb_lisv_data.versione AND " +
|
||||
" vtb_promo.flag_tipo_promo = 'M'";
|
||||
|
||||
HashMap<String, Object> dt = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
if (dt != null && !dt.isEmpty()) {
|
||||
datipromo.putAll(dt);
|
||||
BigDecimal qtaVend = (BigDecimal) datipromo.get("qta_vend");
|
||||
BigDecimal qtaOmaggio = (BigDecimal) datipromo.get("qta_omaggio");
|
||||
int versione = (int) datipromo.get("versione");
|
||||
|
||||
flagMxnType.setValue("S");
|
||||
flagMxnType.setQtaOmg(UtilityString.bigDecimalToString(qtaOmaggio, "###0.00").replace(",", "."));
|
||||
flagMxnType.setQtaVend(UtilityString.bigDecimalToString(qtaVend, "###0.00").replace(",", "."));
|
||||
flagMxnType.setCodMix(String.valueOf(versione));
|
||||
} else {
|
||||
flagMxnType.setValue("N");
|
||||
}
|
||||
|
||||
|
||||
return flagMxnType;
|
||||
}
|
||||
|
||||
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 = "";
|
||||
String query =
|
||||
"SELECT jtb_dist_mate.note as descrizione " +
|
||||
" FROM jtb_cicl, jtb_dist_mate " +
|
||||
" WHERE jtb_dist_mate.note is not null AND " +
|
||||
" jtb_cicl.cod_prod = '" + codMart + "' AND " +
|
||||
" jtb_cicl.cod_prod = jtb_dist_mate.cod_prod " +
|
||||
" ORDER BY jtb_dist_mate.id_riga";
|
||||
|
||||
if ("S".equalsIgnoreCase(invioIngOpz)) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
List<String> ingredienti = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
int contatore = 1;
|
||||
for (String i : ingredienti) {
|
||||
IngredientiArticoloType ingredientiArticoloType = objectFactory.createIngredientiArticoloType();
|
||||
String descrIngr = UtilityString.streNull(i);
|
||||
ingredientiArticoloType.setIdRiga(String.valueOf(contatore));
|
||||
ingredientiArticoloType.setValue(descrIngr);
|
||||
ingredientiType.getIngredientiArticolo().add(ingredientiArticoloType);
|
||||
contatore++;
|
||||
}
|
||||
} else {
|
||||
IngredientiArticoloType ingredientiArticoloType = objectFactory.createIngredientiArticoloType();
|
||||
ingredientiArticoloType.setIdRiga("1");
|
||||
ingredientiArticoloType.setValue(ingredientiArt);
|
||||
ingredientiType.getIngredientiArticolo().add(ingredientiArticoloType);
|
||||
}
|
||||
return ingredientiType;
|
||||
}
|
||||
|
||||
private ComponentiType getComponenti(ObjectFactory objectFactory, String codMart, BigDecimal prezzo) throws Exception {
|
||||
ComponentiType componentiType = objectFactory.createComponentiType();
|
||||
String query =
|
||||
"SELECT mtb_comp.cod_comp as 'cod_comp'," +
|
||||
" mtb_comp.qta_std as 'qta_std'," +
|
||||
" mtb_comp.perc_prezzo as 'perc_prezzo', " +
|
||||
" count(mtb_comp.cod_comp) over (partition by mtb_comp.cod_mart) as 'tot_comp' " +
|
||||
" FROM mtb_aart," +
|
||||
" mtb_comp " +
|
||||
" WHERE mtb_aart.cod_mart = mtb_comp.cod_mart AND " +
|
||||
" mtb_aart.esposizione_comp = 'S' AND " +
|
||||
" mtb_comp.cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
|
||||
|
||||
PreparedStatement ps = multiDBTransactionManager.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
BigDecimal totPrzKit = BigDecimal.ZERO;
|
||||
while (rs.next()) {
|
||||
String codComp = UtilityString.streNull(rs.getString("cod_comp"));
|
||||
BigDecimal qtaStd = rs.getBigDecimal("qta_std");
|
||||
BigDecimal percPrezzo = rs.getBigDecimal("perc_prezzo");
|
||||
int totComp = rs.getInt("tot_comp");
|
||||
BigDecimal przComp = BigDecimal.ZERO;
|
||||
if (rs.getRow() < totComp) {
|
||||
percPrezzo = percPrezzo.divide(new BigDecimal("100"));
|
||||
przComp = (prezzo.multiply(percPrezzo)).setScale(2, RoundingMode.HALF_UP);
|
||||
} else {
|
||||
przComp = (prezzo.subtract(totPrzKit)).setScale(2, RoundingMode.HALF_UP);
|
||||
}
|
||||
totPrzKit = totPrzKit.add(przComp);
|
||||
ComponenteType componenteType = objectFactory.createComponenteType();
|
||||
componenteType.setValue(codComp);
|
||||
componenteType.setPercPrezzo(UtilityString.bigDecimalToString(percPrezzo, "###0.00").replace(",", "."));
|
||||
componenteType.setQtaStd(UtilityString.bigDecimalToString(qtaStd, "###0.00").replace(",", "."));
|
||||
componenteType.setPrezzoComp(UtilityString.bigDecimalToString(przComp, "###0.00").replace(",", "."));
|
||||
componentiType.getComponente().add(componenteType);
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
return componentiType;
|
||||
}
|
||||
|
||||
private PremioType getPuntiPremi(ObjectFactory objectFactory, String codMart, Date dataValidita) throws Exception {
|
||||
String query =
|
||||
"SELECT count_fidelity," +
|
||||
" amount_fidelity " +
|
||||
" FROM vtb_promo, " +
|
||||
" vtb_promo_articoli " +
|
||||
" WHERE vtb_promo.cod_promo = vtb_promo_articoli.cod_promo AND " +
|
||||
UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + " between vtb_promo.data_iniz_sell_in and vtb_promo.data_fine_sell_in AND " +
|
||||
" vtb_promo_articoli.cod_mart = " + UtilityDB.valueToString(codMart) + " AND " +
|
||||
" vtb_promo.flag_tipo_promo = 'R'";
|
||||
PreparedStatement ps = multiDBTransactionManager.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
PremioType premioType = null;
|
||||
if (rs.next()) {
|
||||
BigDecimal puntiPremi = rs.getBigDecimal(1);
|
||||
BigDecimal contributoPremi = rs.getBigDecimal(2);
|
||||
premioType = objectFactory.createPremioType();
|
||||
premioType.setPunti(UtilityString.bigDecimalToString(puntiPremi, "###0.00").replace(",", "."));
|
||||
premioType.setContributo(UtilityString.bigDecimalToString(contributoPremi, "###0.00").replace(",", "."));
|
||||
}
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
return premioType;
|
||||
}
|
||||
|
||||
private CodiciABarreType getBarcodeAlternativi(ObjectFactory objectFactory, String codMart) throws Exception {
|
||||
CodiciABarreType codiciABarreType = objectFactory.createCodiciABarreType();
|
||||
String query =
|
||||
"SELECT mtb_aart_bar_code.cod_barre as 'cod_barre'," +
|
||||
" mtb_aart_bar_code.qta_cnf as 'qta_cnf' " +
|
||||
" FROM mtb_aart_bar_code " +
|
||||
" WHERE mtb_aart_bar_code.cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
|
||||
PreparedStatement ps = multiDBTransactionManager.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
String codBarre = rs.getString("cod_barre");
|
||||
BigDecimal qtaCnf = rs.getBigDecimal("qta_cnf");
|
||||
CodBarreType codBarreType = objectFactory.createCodBarreType();
|
||||
codBarreType.setValue(codBarre);
|
||||
codBarreType.setQtaCnf(UtilityString.bigDecimalToString(qtaCnf, "###0.00").replace(",", "."));
|
||||
codiciABarreType.getCodBarre().add(codBarreType);
|
||||
}
|
||||
rs.close();
|
||||
ps.close();
|
||||
return codiciABarreType;
|
||||
}
|
||||
|
||||
private void getDatiGriglia(ObjectFactory objectFactory, String codMart, String codMdep, Date dataValidita, CodMartType codMartType, boolean getVariazioneGriglia) throws Exception {
|
||||
CodAlisType codAlisType = objectFactory.createCodAlisType();
|
||||
String tipoAssortimento = "",
|
||||
tipoVariazioneGriglia = "",
|
||||
codAlis = "",
|
||||
descrList = "";
|
||||
|
||||
|
||||
if (getVariazioneGriglia) {
|
||||
List<GrigliaAcquistoDTO> grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(codMart) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
|
||||
|
||||
String query = "select cod_mart from mtb_comp where cod_comp = " + UtilityDB.valueToString(codMart) + " \n" +
|
||||
"union all\n" +
|
||||
"select cod_comp from mtb_comp where cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
|
||||
List<String> kits = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
for (String kit : kits) {
|
||||
grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(kit) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (!grigliaArticolo.isEmpty()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
kits.add(codMart);
|
||||
|
||||
query =
|
||||
"SELECT TOP 1 griglia.data_validita, " +
|
||||
" griglia.cod_mdep, " +
|
||||
" griglia.cod_mart, " +
|
||||
" griglia.tipo_variazione, " +
|
||||
" ISNULL(griglia.tipo_assortimento, '') AS tipo_assortimento, " +
|
||||
" griglia.cod_alis, " +
|
||||
" atb_list.descrizione AS descr_list " +
|
||||
" FROM atb_list\n" +
|
||||
"INNER JOIN dbo.getGrigliaAcquisto(" + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ", NULL, " +
|
||||
UtilityDB.valueToString(codMdep) + ", NULL, NULL) griglia ON atb_list.cod_alis = griglia.cod_alis\n" +
|
||||
" WHERE griglia.tipo_variazione <> 'D' AND " +
|
||||
" griglia.cod_mart IN (" + UtilityDB.listValueToString(kits) + ")\n " +
|
||||
" ORDER BY griglia.data_validita DESC ";
|
||||
|
||||
grigliaArticolo = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, GrigliaAcquistoDTO.class);
|
||||
}
|
||||
}
|
||||
|
||||
if (grigliaArticolo != null && !grigliaArticolo.isEmpty()) {
|
||||
codAlis = grigliaArticolo.get(0).getCodAlis();
|
||||
tipoAssortimento = UtilityString.streNull(grigliaArticolo.get(0).getTipoAssortimento());
|
||||
tipoVariazioneGriglia = grigliaArticolo.get(0).getTipoVariazione();
|
||||
|
||||
descrList = listini.get(codAlis);
|
||||
if (descrList == null) {
|
||||
String sql = "SELECT descrizione\n" +
|
||||
"FROM atb_list\n" +
|
||||
"WHERE cod_alis = " + UtilityDB.valueToString(codAlis);
|
||||
|
||||
descrList = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
listini.put(codAlis, descrList);
|
||||
}
|
||||
|
||||
} else {
|
||||
codAlis = "NO GRIGLIA";
|
||||
descrList = codAlis;
|
||||
tipoAssortimento = "F.A.";
|
||||
tipoVariazioneGriglia = "";
|
||||
}
|
||||
}
|
||||
|
||||
codAlisType.setValue(codAlis);
|
||||
codAlisType.setDescrizione(descrList);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoAssortimento(tipoAssortimento));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazioneGriglia(tipoVariazioneGriglia));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAlis(codAlisType));
|
||||
}
|
||||
}
|
||||
@@ -10,11 +10,14 @@ 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 org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.entity.ContentType;
|
||||
@@ -32,12 +35,13 @@ import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class VariazioniPvServiceNew {
|
||||
public class VariazioniPvService {
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
@Autowired
|
||||
@@ -51,6 +55,11 @@ public class VariazioniPvServiceNew {
|
||||
private JSONObjectMapper jsonObjectMapper;
|
||||
@Autowired
|
||||
private MailService mailService;
|
||||
@Autowired
|
||||
private GrigliaAcquistoHandlerService grigliaAcquistoHandlerService;
|
||||
|
||||
private HashMap<String, String> listini = new HashMap<>();
|
||||
private List<GrigliaAcquistoDTO> grigliaAcquisto = new ArrayList<>();
|
||||
|
||||
|
||||
public String variazionePrezzoPVXml(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
@@ -77,13 +86,17 @@ public class VariazioniPvServiceNew {
|
||||
public List<VariazioniDettaglioDTO> variazionePrezzoPVdto(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), gestName, section);
|
||||
|
||||
|
||||
boolean existVariazioni = (variazioniPvDTO.getVariazioni() != null && variazioniPvDTO.getVariazioni().size() > 0 );
|
||||
List<VariazioniDTO> listini = getListini(variazioniPvDTO, existVariazioni);
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioni = new ArrayList<>();
|
||||
Date startDate = new Date();
|
||||
logger.trace(VariazioniPvServiceNew.class.getSimpleName() + " - inizio : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - inizio : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
for(VariazioniDTO datiLisv:listini) {
|
||||
String codMdep = UtilityString.streNull(datiLisv.getCodMdep());
|
||||
HashMap<String, String> getSetupSectionDepo = setupGest.getSetupSectionDepo(multiDBTransactionManager.getPrimaryConnection(), gestName, section, codMdep);
|
||||
|
||||
datiLisv
|
||||
.setElencoCasse(getElencoCasse(datiLisv.getCodMdep()));
|
||||
String codVlisVariazioni = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), gestName, section, "COD_VLIS_VARIAZIONI", datiLisv.getCodMdep());
|
||||
@@ -91,6 +104,9 @@ public class VariazioniPvServiceNew {
|
||||
datiLisv.setCodVlis(codVlisVariazioni);
|
||||
}
|
||||
datiLisv.setDataVariazione(variazioniPvDTO.getDataValidita());
|
||||
|
||||
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioniLisv = null;
|
||||
if (existVariazioni) {
|
||||
variazioniLisv =
|
||||
@@ -98,7 +114,7 @@ public class VariazioniPvServiceNew {
|
||||
.filter(x->x.getCodVlis().equalsIgnoreCase(datiLisv.getCodVlis()))
|
||||
.toList();
|
||||
} else {
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, datiLisv.getCodVlis());
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, datiLisv.getCodVlis(), getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
variazioniLisv = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
|
||||
if (variazioniLisv != null) {
|
||||
Stream.of(variazioniLisv)
|
||||
@@ -111,12 +127,12 @@ public class VariazioniPvServiceNew {
|
||||
);
|
||||
}
|
||||
}
|
||||
logger.trace(VariazioniPvServiceNew.class.getSimpleName() + " - getElencoArticoli Listino " + datiLisv.getCodVlis() + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - getElencoArticoli Listino " + datiLisv.getCodVlis() + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
if (variazioniLisv != null && variazioniLisv.size() > 0 )
|
||||
variazioni.addAll(variazioniLisv);
|
||||
}
|
||||
logger.trace(VariazioniPvServiceNew.class.getSimpleName() + " - fine : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - fine : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
return variazioni;
|
||||
}
|
||||
@@ -124,17 +140,25 @@ public class VariazioniPvServiceNew {
|
||||
public ReportType variazionePrezzoPV(VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), gestName, section);
|
||||
|
||||
String invioIngredienti = setup.get("INVIA_INGREDIENTI_OPZ");
|
||||
String colNameDescrEstesa = "descrizione_estesa";
|
||||
String setupDescr = setup.get("DESCRIZIONE_ESTESA");
|
||||
|
||||
|
||||
boolean existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && variazioniPvInputDTO.getVariazioni().size() > 0 );
|
||||
List<VariazioniDTO> listini = getListini(variazioniPvInputDTO, existVariazioni);
|
||||
|
||||
ReportType fileVariazioniDTO = new ReportType();
|
||||
Date startDate = new Date();
|
||||
logger.debug(VariazioniPvServiceNew.class.getSimpleName() + " - inizio : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
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(codMdep);
|
||||
|
||||
HashMap<String, String> getSetupSectionDepo = setupGest.getSetupSectionDepo(multiDBTransactionManager.getPrimaryConnection(), gestName, section, codMdep);
|
||||
|
||||
|
||||
ObjectFactory objectFactory = new ObjectFactory();
|
||||
|
||||
CodVlisType listinoDTO = new CodVlisType();
|
||||
@@ -158,19 +182,36 @@ public class VariazioniPvServiceNew {
|
||||
.filter(x->x.getCodVlis().equalsIgnoreCase(datiLisv.getCodVlis()))
|
||||
.toList();
|
||||
} else {
|
||||
String query = getQueryVariazioni(variazioniPvInputDTO, setup, codVlis);
|
||||
String query = getQueryVariazioni(variazioniPvInputDTO, setup, codVlis, getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
elencoVar = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
|
||||
}
|
||||
logger.trace(VariazioniPvServiceNew.class.getSimpleName() + " - getElencoArticoli Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
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();
|
||||
}
|
||||
|
||||
for (VariazioniDettaglioDTO variazioni : elencoVar) {
|
||||
CodMartType codMart = fillArticoloData(objectFactory, variazioni, setup, variazioniPvInputDTO, codMdep);
|
||||
CodMartType codMart = fillArticoloData(objectFactory, variazioni, variazioniPvInputDTO,invioIngredienti, getSetupSectionDepo, codMdep, setupDescr,
|
||||
setup.get("LIBERO1"),
|
||||
setup.get("LIBERO2"), getVariazioneGriglia);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeCodMart(codMart));
|
||||
}
|
||||
}
|
||||
logger.trace(VariazioniPvServiceNew.class.getSimpleName() + " - creazione xml Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - creazione xml Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
}
|
||||
logger.trace(VariazioniPvServiceNew.class.getSimpleName() + " - fine : 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) {
|
||||
|
||||
@@ -215,9 +256,14 @@ public class VariazioniPvServiceNew {
|
||||
|
||||
private CodMartType fillArticoloData(ObjectFactory objectFactory,
|
||||
VariazioniDettaglioDTO var,
|
||||
Map<String, String> setup,
|
||||
VariazioniPvInputDTO variazioniPvInputDTO,
|
||||
String codMdep) throws Exception {
|
||||
String invioIngredientiSetup,
|
||||
Map<String, String> setupDepo,
|
||||
String codMdep,
|
||||
String setupDescr,
|
||||
String valLibero1,
|
||||
String valLibero2,
|
||||
boolean getVariazioneGriglia) throws Exception {
|
||||
|
||||
CodMartType codMartType = objectFactory.createCodMartType();
|
||||
String codMart = var.getCodMart();
|
||||
@@ -243,7 +289,14 @@ public class VariazioniPvServiceNew {
|
||||
flagStato = "I";
|
||||
}
|
||||
codMartType.getContent().add(codMart);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizione(UtilityString.streNull(var.getDescrArt())));
|
||||
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(",", ".")));
|
||||
@@ -336,7 +389,7 @@ public class VariazioniPvServiceNew {
|
||||
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 = setup.get("INVIA_INGREDIENTI_OPZ");
|
||||
inviaIngrOpz = invioIngredientiSetup;
|
||||
}
|
||||
String ingredienti = UtilityString.streNull(var.getIngredienti());
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), variazioniPvInputDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
@@ -357,13 +410,46 @@ public class VariazioniPvServiceNew {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodiciABarre(codiciABarreType));
|
||||
|
||||
//DATI GRIGLIA DI ACQUISTO
|
||||
if ("S".equalsIgnoreCase(setup.get("SELEZIONA_GRIGLIE"))) {
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvInputDTO.getDataValidita(), codMartType);
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("SELEZIONA_GRIGLIE"))) {
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvInputDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
}
|
||||
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("ABILITA_CAMPI_LIBERI"))) {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeLibero1(UtilityString.streNull(getValueCampoLibero(valLibero1, var, codMdep, codMart))));
|
||||
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 {
|
||||
if (UtilityString.isNullOrEmpty(tipoValore)) return "";
|
||||
if (tipoValore.equalsIgnoreCase("M")) {
|
||||
String sql =
|
||||
Query.format("SELECT mtb_part.vend_mese_prec/4 as media_sett\n" +
|
||||
"FROM mtb_part\n" +
|
||||
"WHERE cod_mdep = %s\n" +
|
||||
" AND cod_mart = %s", codMdep, codMart);
|
||||
BigDecimal valMedio = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (UtilityBigDecimal.isNullOrZero(valMedio) && UtilityDB.existDatabaseObject(multiDBTransactionManager.getPrimaryConnection(), "mvw_media_vend", TypeDbObject.VIEW)) {
|
||||
sql =
|
||||
Query.format("SELECT media_sett\n" +
|
||||
"FROM mvw_media_vend\n" +
|
||||
"WHERE cod_mdep = %s\n" +
|
||||
" AND cod_mart = %s", codMdep, codMart);
|
||||
valMedio = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
}
|
||||
return (valMedio == null ? "" : new DecimalFormat("#,##0.00").format(valMedio));
|
||||
} else if (tipoValore.equalsIgnoreCase("P")) {
|
||||
return var.getPosizioneArticolo();
|
||||
} else if (tipoValore.equalsIgnoreCase("T")) {
|
||||
return var.getIntercodeXmlVariazioni();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String convertDateToString(Date data) {
|
||||
String dataString = "";
|
||||
if (data != null) {
|
||||
@@ -400,19 +486,20 @@ public class VariazioniPvServiceNew {
|
||||
return codMgrpType;
|
||||
}
|
||||
|
||||
private String getQueryVariazioni(VariazioniPvInputDTO variazioniPvDTO, HashMap<String, String> setup, String codVlis) throws Exception{
|
||||
private String getQueryVariazioni(VariazioniPvInputDTO variazioniPvDTO,
|
||||
HashMap<String, String> setup,
|
||||
String codVlis,
|
||||
String selezionaGriglie) throws Exception{
|
||||
|
||||
String queryAssortimento = getQueryAssortimento(variazioniPvDTO, setup, codVlis);
|
||||
String queryAssortimento = getQueryAssortimento(variazioniPvDTO, setup, codVlis, selezionaGriglie);
|
||||
String query =
|
||||
"SELECT listino.cod_vlis,\n" +
|
||||
" listino.descrizione AS 'descr_lisv',\n" +
|
||||
" listino.flag_list_iva_inclusa,\n" +
|
||||
" ISNULL(assortimento.cod_mart_view, listino.cod_mart) AS 'cod_mart',\n" +
|
||||
" ISNULL(CASE\n" +
|
||||
" WHEN '[INVIA_DESC_CASSA]' = 'D'\n" +
|
||||
" THEN CONVERT(VARCHAR(40), mtb_aart.descr_cassa)\n" +
|
||||
" ELSE NULL END,\n" +
|
||||
" mtb_aart.descrizione) AS 'descr_art',\n" +
|
||||
" mtb_aart.descrizione AS 'descr_art',\n" +
|
||||
" CONVERT(VARCHAR(40), mtb_aart.descr_cassa) AS 'descr_cassa',\n" +
|
||||
" mtb_aart.descrizione_estesa AS 'descrizione_estesa',\n" +
|
||||
" mtb_aart.unt_mis2 AS 'unt_mis2',\n" +
|
||||
" ISNULL(mtb_aart.rap_conv2, 1) AS 'rap_conv2',\n" +
|
||||
" mtb_aart.cod_mgrp AS 'cod_mgrp',\n" +
|
||||
@@ -432,11 +519,6 @@ public class VariazioniPvServiceNew {
|
||||
" CASE\n" +
|
||||
" WHEN assortimento.tipo_variazione = 'C' THEN 'I'\n" +
|
||||
" ELSE mtb_aart.flag_stato END AS 'flag_stato',\n" +
|
||||
" ISNULL(CASE\n" +
|
||||
" WHEN '[INVIA_DESC_CASSA]' = 'E'\n" +
|
||||
" THEN CONVERT(VARCHAR(40), mtb_aart.descr_cassa)\n" +
|
||||
" ELSE NULL END,\n" +
|
||||
" mtb_aart.descrizione_estesa) AS 'descrizione_estesa',\n" +
|
||||
" mtb_aart.cod_aliq AS 'cod_aliq',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_aart.articolo_composto = 'S' AND mtb_aart.esposizione_comp = 'S' THEN 'S'\n" +
|
||||
@@ -506,7 +588,9 @@ public class VariazioniPvServiceNew {
|
||||
" CASE\n" +
|
||||
" WHEN promozione.cod_promo IS NOT NULL AND promozione.flag_tipo_promo <> 'P'\n" +
|
||||
" THEN listino.cod_vlis + '_' + CAST(promozione.versione AS VARCHAR)\n" +
|
||||
" ELSE NULL END AS 'id_promo'\n" +
|
||||
" ELSE NULL END AS 'id_promo',\n" +
|
||||
" mtb_aart.posizione AS 'posizione_art',\n" +
|
||||
" promozione.intercode_xml_variazioni AS 'intercode_xml_variazioni'\n" +
|
||||
"FROM (" + queryAssortimento + ") assortimento\n" +
|
||||
" INNER JOIN dbo.getlistinovendita('[DATA_VARIAZIONE]', '[COD_VLIS]', NULL) listino\n" +
|
||||
" ON assortimento.cod_vlis = listino.cod_vlis AND assortimento.cod_mart = listino.cod_mart and listino.data_iniz is not null\n" +
|
||||
@@ -526,17 +610,17 @@ public class VariazioniPvServiceNew {
|
||||
" 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() == VariazioniReportType.LISTINO) ?
|
||||
" AND ( (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'S') " +
|
||||
" OR (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'N' AND listino.tipo_variazione <> 'D')) ":"" ) +
|
||||
" OR (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'N' AND listino.tipo_variazione <> 'D')) " : "") +
|
||||
"ORDER BY listino.cod_mart ";
|
||||
|
||||
query = query
|
||||
.replace("'[DATA_VARIAZIONE]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD))
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis) )
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[CLASSIFICAZIONE_MERCEOLOGICA]'", UtilityDB.valueToString(setup.get("CLASSIFICAZIONE_MERCEOLOGICA")))
|
||||
.replace("'[INVIA_DESC_CASSA]'", UtilityDB.valueToString(setup.get("INVIA_DESC_CASSA")))
|
||||
.replace("'[INVIA_DISATTIVAZIONI]'", UtilityDB.valueToString( UtilityString.isNull(variazioniPvDTO.getInviaDisattivazioni(), "N")));
|
||||
.replace("'[INVIA_DISATTIVAZIONI]'", UtilityDB.valueToString(UtilityString.isNull(variazioniPvDTO.getInviaDisattivazioni(), "N")));
|
||||
return query;
|
||||
}
|
||||
|
||||
@@ -552,7 +636,10 @@ public class VariazioniPvServiceNew {
|
||||
return StringUtils.join(casse, "|");
|
||||
}
|
||||
|
||||
private String getQueryAssortimento(VariazioniPvInputDTO variazioniPvDTO, HashMap<String, String> setup, String codVlis) throws Exception {
|
||||
private String getQueryAssortimento(VariazioniPvInputDTO variazioniPvDTO,
|
||||
HashMap<String, String> setup,
|
||||
String codVlis,
|
||||
String selezionaGriglia) throws Exception {
|
||||
|
||||
String queryAssortimento = null;
|
||||
|
||||
@@ -574,7 +661,7 @@ public class VariazioniPvServiceNew {
|
||||
|
||||
break;
|
||||
case VARIAZIONI:
|
||||
String selezionaGriglia = setup.get("SELEZIONA_GRIGLIE");
|
||||
|
||||
queryAssortimento =
|
||||
"SELECT vtb_list_data.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
@@ -606,17 +693,6 @@ public class VariazioniPvServiceNew {
|
||||
"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 = '[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" +
|
||||
@@ -645,7 +721,23 @@ public class VariazioniPvServiceNew {
|
||||
" INNER JOIN mtb_lisv\n" +
|
||||
" ON ISNULL(vtb_list.cod_vlis_rif, vtb_list.cod_vlis) = mtb_lisv.cod_vlis) lisv\n" +
|
||||
" ON art.cod_mart = lisv.cod_mart\n" +
|
||||
"WHERE lisv.cod_vlis = '[COD_VLIS]'" ;
|
||||
"WHERE lisv.cod_vlis = '[COD_VLIS]'";
|
||||
queryAssortimento =
|
||||
queryAssortimento
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[DATA_VALIDITA]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD));
|
||||
break;
|
||||
case GRIGLIA:
|
||||
queryAssortimento =
|
||||
"SELECT mtb_depo.cod_vlis,\n" +
|
||||
" atb_griglie_art.cod_mart,\n" +
|
||||
" 'G' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_view,\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]'";
|
||||
|
||||
queryAssortimento =
|
||||
queryAssortimento
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
@@ -688,20 +780,20 @@ public class VariazioniPvServiceNew {
|
||||
filtroMenu = "mtb_aart.cod_mart not in (" + filtroMenu + ")";
|
||||
}
|
||||
|
||||
String whereCond =variazioniPvDTO.getWhereCondArt();
|
||||
String whereCond = variazioniPvDTO.getWhereCondArt();
|
||||
String query =
|
||||
"SELECT Convert(varchar(5), assortimento.cod_vlis) as cod_vlis,\n " +
|
||||
"Convert(varchar(15), assortimento.cod_mart) as cod_mart,\n " +
|
||||
"Convert(varchar(1), max(assortimento.tipo_variazione)) as tipo_variazione,\n " +
|
||||
"Convert(varchar(15), assortimento.cod_mart_view) as cod_mart_view,\n " +
|
||||
"Convert(varchar(1), assortimento.fine_promo) as fine_promo\n " +
|
||||
"Convert(varchar(1), max(assortimento.fine_promo)) as fine_promo\n " +
|
||||
" FROM (\n" + queryAssortimento + "\n) assortimento inner join mtb_aart on assortimento.cod_mart = mtb_aart.cod_mart\n " +
|
||||
" WHERE mtb_aart.flag_incl_listino = 'S' AND\n " +
|
||||
"mtb_aart.flag_stato = 'A' AND\n " +
|
||||
" EXISTS ( SELECT cod_barre from mvw_barcode WHERE mvw_barcode.cod_mart = mtb_aart.cod_mart )\n " +
|
||||
(UtilityString.isNullOrEmpty(whereCond)?"":" AND " + whereCond)+
|
||||
(UtilityString.isNullOrEmpty(filtroMenu)?"":" AND " + filtroMenu)+
|
||||
" GROUP BY assortimento.cod_vlis, assortimento.cod_mart, assortimento.cod_mart_view, assortimento.fine_promo";
|
||||
(UtilityString.isNullOrEmpty(whereCond) ? "" : " AND " + whereCond) +
|
||||
(UtilityString.isNullOrEmpty(filtroMenu) ? "" : " AND " + filtroMenu) +
|
||||
" GROUP BY assortimento.cod_vlis, assortimento.cod_mart, assortimento.cod_mart_view";
|
||||
return query;
|
||||
}
|
||||
|
||||
@@ -892,9 +984,46 @@ public class VariazioniPvServiceNew {
|
||||
return codiciABarreType;
|
||||
}
|
||||
|
||||
private void getDatiGriglia(ObjectFactory objectFactory, String codMart, String codMdep, Date dataValidita, CodMartType codMartType) throws Exception {
|
||||
String query =
|
||||
Query.format(
|
||||
private void getDatiGriglia(ObjectFactory objectFactory, String codMart, String codMdep, Date dataValidita, CodMartType codMartType, boolean getVariazioneGriglia) throws Exception {
|
||||
CodAlisType codAlisType = objectFactory.createCodAlisType();
|
||||
String tipoAssortimento = "",
|
||||
tipoVariazioneGriglia = "",
|
||||
codAlis = "",
|
||||
descrList = "";
|
||||
|
||||
|
||||
if (getVariazioneGriglia) {
|
||||
List<GrigliaAcquistoDTO> grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(codMart) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
|
||||
|
||||
String query = "select cod_mart from mtb_comp where cod_comp = " + UtilityDB.valueToString(codMart) + " \n" +
|
||||
"union all\n" +
|
||||
"select cod_comp from mtb_comp where cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
|
||||
List<String> kits = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
for (String kit : kits) {
|
||||
grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(kit) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (!grigliaArticolo.isEmpty()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
kits.add(codMart);
|
||||
|
||||
query =
|
||||
"SELECT TOP 1 griglia.data_validita, " +
|
||||
" griglia.cod_mdep, " +
|
||||
" griglia.cod_mart, " +
|
||||
@@ -902,26 +1031,38 @@ public class VariazioniPvServiceNew {
|
||||
" ISNULL(griglia.tipo_assortimento, '') AS tipo_assortimento, " +
|
||||
" griglia.cod_alis, " +
|
||||
" atb_list.descrizione AS descr_list " +
|
||||
" FROM atb_list, " +
|
||||
" dbo.getGrigliaAcquisto(%s, NULL, %s, NULL, %s) griglia " +
|
||||
" FROM atb_list\n" +
|
||||
"INNER JOIN dbo.getGrigliaAcquisto(" + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ", NULL, " +
|
||||
UtilityDB.valueToString(codMdep) + ", NULL, NULL) griglia ON atb_list.cod_alis = griglia.cod_alis\n" +
|
||||
" WHERE griglia.tipo_variazione <> 'D' AND " +
|
||||
" atb_list.cod_alis = griglia.cod_alis " +
|
||||
" ORDER BY griglia.data_validita DESC ",
|
||||
dataValidita, codMdep, codMart);
|
||||
HashMap<String, Object> datiGriglia = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
" griglia.cod_mart IN (" + UtilityDB.listValueToString(kits) + ")\n " +
|
||||
" ORDER BY griglia.data_validita DESC ";
|
||||
|
||||
grigliaArticolo = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, GrigliaAcquistoDTO.class);
|
||||
}
|
||||
}
|
||||
|
||||
if (grigliaArticolo != null && !grigliaArticolo.isEmpty()) {
|
||||
codAlis = grigliaArticolo.get(0).getCodAlis();
|
||||
tipoAssortimento = UtilityString.streNull(grigliaArticolo.get(0).getTipoAssortimento());
|
||||
tipoVariazioneGriglia = grigliaArticolo.get(0).getTipoVariazione();
|
||||
|
||||
descrList = listini.get(codAlis);
|
||||
if (descrList == null) {
|
||||
String sql = "SELECT descrizione\n" +
|
||||
"FROM atb_list\n" +
|
||||
"WHERE cod_alis = " + UtilityDB.valueToString(codAlis);
|
||||
|
||||
descrList = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
listini.put(codAlis, descrList);
|
||||
}
|
||||
|
||||
String tipoAssortimento, tipoVariazioneGriglia, codAlis, descrList;
|
||||
CodAlisType codAlisType = objectFactory.createCodAlisType();
|
||||
if (UtilityHashMap.isPresent(datiGriglia)) {
|
||||
codAlis = UtilityHashMap.getValueIfExists(datiGriglia, "cod_alis");
|
||||
descrList = UtilityHashMap.getValueIfExists(datiGriglia, "descr_list");
|
||||
tipoAssortimento = UtilityHashMap.getValueIfExists(datiGriglia, "tipo_assortimento");
|
||||
tipoVariazioneGriglia = UtilityHashMap.getValueIfExists(datiGriglia, "tipo_variazione");
|
||||
} else {
|
||||
tipoAssortimento = "F.A.";
|
||||
tipoVariazioneGriglia = "";
|
||||
codAlis = "NO GRIGLIA";
|
||||
descrList = codAlis;
|
||||
tipoAssortimento = "F.A.";
|
||||
tipoVariazioneGriglia = "";
|
||||
}
|
||||
}
|
||||
|
||||
codAlisType.setValue(codAlis);
|
||||
@@ -976,7 +1117,7 @@ public class VariazioniPvServiceNew {
|
||||
|
||||
private void export(String codVlis, Date dataValidita, String tipoReport, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
logger.debug(
|
||||
String.format(VariazioniPvServiceNew.class.getSimpleName() + " - export %s %s %s",
|
||||
String.format(VariazioniPvService.class.getSimpleName() + " - export %s %s %s",
|
||||
codVlis,
|
||||
tipoReport,
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataValidita)));
|
||||
@@ -8,8 +8,8 @@ import it.integry.ems.json.JSONObjectMapper;
|
||||
import it.integry.ems.response.EsitoType;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.response.StatusResponse;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.Variazioni.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPVService;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
import it.integry.ems.retail.Scontrini.service.ScontriniService;
|
||||
import it.integry.ems.retail.dto.IntegRetailRequestDTO;
|
||||
import it.integry.ems.retail.export.VariazioniExporter;
|
||||
@@ -45,7 +45,7 @@ public class RetailController {
|
||||
private ScontriniService scontriniService;
|
||||
|
||||
@Autowired
|
||||
private VariazioniPVService retailService;
|
||||
private VariazioniPvService retailService;
|
||||
|
||||
@Autowired
|
||||
private EmsServices emsServices;
|
||||
|
||||
@@ -9,8 +9,9 @@ import it.integry.ems.json.JSONObjectMapper;
|
||||
import it.integry.ems.properties.EmsProperties;
|
||||
import it.integry.ems.response.EsitoType;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.Variazioni.*;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPVService;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniReportType;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
import it.integry.ems.retail.ReportVariazioni.xml.*;
|
||||
import it.integry.ems.retail.pvmRetail.dto.SesSepDTO;
|
||||
import it.integry.ems.service.HttpRestWrapper;
|
||||
@@ -49,8 +50,7 @@ import java.util.*;
|
||||
@Scope("request")
|
||||
public class VariazioniPvExportServices {
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
@Autowired
|
||||
private EmsProperties properties;
|
||||
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
@Autowired
|
||||
@@ -58,7 +58,7 @@ public class VariazioniPvExportServices {
|
||||
@Autowired
|
||||
private JSONObjectMapper jsonObjectMapper;
|
||||
@Autowired
|
||||
private VariazioniPVService variazioniPVService;
|
||||
private VariazioniPvService variazioniPVService;
|
||||
|
||||
public EntityExportResponse xmlDialogo(String type, String format, String whereCond, JsonNode jsonBody, WtbUsersInfo wtbUsersInfo, List<AnomalieDTO> anomalie) throws Exception {
|
||||
String fileXml = null;
|
||||
@@ -79,7 +79,7 @@ public class VariazioniPvExportServices {
|
||||
variazioniPvDTO.setDataValidita(UtilityDate.RelativeDateTime(new Date(), 1));
|
||||
}
|
||||
if (variazioniPvDTO.getTipoReportEnum() == null) {
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniPvInputDTO.Type.VARIAZIONI);
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniReportType.VARIAZIONI);
|
||||
}
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(whereCond) && UtilityString.isNullOrEmpty(variazioniPvDTO.getWhereCondArt())) {
|
||||
@@ -196,7 +196,7 @@ public class VariazioniPvExportServices {
|
||||
|
||||
if (isSingleLisv) {
|
||||
String suffix = "";
|
||||
if (variazioniPvDTO.getTipoReportEnum().compareTo(VariazioniPvInputDTO.Type.PROMOZIONI) == 0) {
|
||||
if (variazioniPvDTO.getTipoReportEnum().compareTo(VariazioniReportType.PROMOZIONI) == 0) {
|
||||
suffix = "P";
|
||||
}
|
||||
String pathFile = setup.get("PATH_FILE");
|
||||
@@ -247,7 +247,7 @@ public class VariazioniPvExportServices {
|
||||
variazioniPvDTO.setDataValidita(UtilityDate.RelativeDateTime(new Date(), 1));
|
||||
}
|
||||
if (variazioniPvDTO.getTipoReportEnum() == null) {
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniPvInputDTO.Type.VARIAZIONI);
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniReportType.VARIAZIONI);
|
||||
}
|
||||
|
||||
ReportType variazioni = variazioniPVService.variazionePrezzoPV(variazioniPvDTO);
|
||||
|
||||
@@ -12,7 +12,6 @@ import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniReportType;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvServiceNew;
|
||||
import it.integry.ems.retail.ReportVariazioni.xml.*;
|
||||
import it.integry.ems.retail.pvmRetail.dto.SesSepDTO;
|
||||
import it.integry.ems.service.HttpRestWrapper;
|
||||
@@ -61,8 +60,10 @@ public class VariazioniPvExportServicesNew {
|
||||
private SetupGest setupGest;
|
||||
@Autowired
|
||||
private JSONObjectMapper jsonObjectMapper;
|
||||
|
||||
@Autowired
|
||||
private VariazioniPvServiceNew variazioniPVService;
|
||||
private VariazioniPvService variazioniPvService;
|
||||
|
||||
|
||||
public EntityExportResponse xmlDialogo(String type, String format, String whereCond, JsonNode jsonBody, WtbUsersInfo wtbUsersInfo) throws Exception {
|
||||
String fileXml;
|
||||
@@ -107,7 +108,7 @@ public class VariazioniPvExportServicesNew {
|
||||
|
||||
}
|
||||
}
|
||||
fileXml = variazioniPVService.variazionePrezzoPVXml(variazioniPvDTO);
|
||||
fileXml = variazioniPvService.variazionePrezzoPVXml(variazioniPvDTO);
|
||||
} else {
|
||||
fileXml = variazioniPvDTO.getFileXml();
|
||||
logger.trace(String.format(VariazioniPvExportServicesNew.class.getSimpleName() + " %s %s", variazioniPvDTO.getCodVlis(), variazioniPvDTO.getTipoReport()));
|
||||
@@ -220,16 +221,16 @@ public class VariazioniPvExportServicesNew {
|
||||
JSONObjectMapper objectMapper = new JSONObjectMapper();
|
||||
json = objectMapper.writeValueAsString(variazioniPvDTO.getVariazioni());
|
||||
}
|
||||
// NtbVariazioniExportLog ntbVariazioniExportLog =
|
||||
// new NtbVariazioniExportLog()
|
||||
// .setDataExport(new Date())
|
||||
// .setCodVlis(variazioniPvDTO.getCodVlis())
|
||||
// .setFormatFile(format)
|
||||
// .setJsonString(json)
|
||||
// .setXmlFileName(fileName + ".xml")
|
||||
// .setUserName(variazioniPvDTO.getUserName());
|
||||
// ntbVariazioniExportLog.setOperation(OperationType.INSERT);
|
||||
// extraInfo.add(ntbVariazioniExportLog);
|
||||
NtbVariazioniExportLog ntbVariazioniExportLog =
|
||||
new NtbVariazioniExportLog()
|
||||
.setDataExport(new Date())
|
||||
.setCodVlis(variazioniPvDTO.getCodVlis())
|
||||
.setFormatFile(format)
|
||||
.setJsonString(json)
|
||||
.setXmlFileName(fileName + ".xml")
|
||||
.setUserName(variazioniPvDTO.getUserName());
|
||||
ntbVariazioniExportLog.setOperation(OperationType.INSERT);
|
||||
extraInfo.add(ntbVariazioniExportLog);
|
||||
}
|
||||
fileName = pathFile + File.separator + fileName + ".xml";
|
||||
File file = new File(fileName);
|
||||
@@ -268,7 +269,7 @@ public class VariazioniPvExportServicesNew {
|
||||
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();
|
||||
|
||||
@@ -81,6 +81,8 @@ public class RestLoggerBodyFilter extends AbstractRequestLoggingFilter {
|
||||
!serviceName.startsWith("agribook/orders/attachment/") &&
|
||||
!serviceName.contains("upload") &&
|
||||
!serviceName.startsWith("users/") &&
|
||||
!serviceName.startsWith("users/") &&
|
||||
!serviceName.startsWith("variazioni-negozi/") &&
|
||||
(!serviceName.contains("processSql") || UtilityDebug.isDebugExecution());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user