From 0627fd59c9dd6d19ea4a1cae66654caf08eac4ad Mon Sep 17 00:00:00 2001 From: MinaR Date: Tue, 2 Dec 2025 14:52:47 +0100 Subject: [PATCH] aggiunte tabelle sincronizzaione articoli --- .../it/integry/ems_model/entity/Azienda.java | 351 +++++++++++------- .../it/integry/ems_model/entity/DtbTipi.java | 14 +- .../ems_model/entity/MtbAartBarCode.java | 31 +- .../ems_model/entity/MtbAartCarat.java | 32 +- .../system/controller/SystemController.java | 123 ++++++ .../ExchangeArticoliImportService.java | 124 ++++--- .../ExchangeImportSchemaManagerService.java | 2 + 7 files changed, 485 insertions(+), 192 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/Azienda.java b/ems-core/src/main/java/it/integry/ems_model/entity/Azienda.java index 3f47c1accd..cda98bcd9d 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/Azienda.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/Azienda.java @@ -17,7 +17,8 @@ import org.kie.api.definition.type.PropertyReactive; import java.math.BigDecimal; import java.sql.SQLException; -import java.util.Date; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.HashMap; @Master @@ -70,7 +71,7 @@ public class Azienda extends EntityBase { private Integer annoAttuale; @SqlField(value = "ult_data_gio") - private Date ultDataGio; + private LocalDate ultDataGio; @SqlField(value = "ult_num_gio") private Integer ultNumGio; @@ -85,10 +86,10 @@ public class Azienda extends EntityBase { private String ribaRSocBreve; @SqlField(value = "data_iniz_msg") - private Date dataInizMsg; + private LocalDate dataInizMsg; @SqlField(value = "data_fine_msg") - private Date dataFineMsg; + private LocalDate dataFineMsg; @SqlField(value = "messaggio_doc", maxLength = 130) private String messaggioDoc; @@ -97,10 +98,10 @@ public class Azienda extends EntityBase { private String liquidazioniIva; @SqlField(value = "last_upg_db") - private Date lastUpgDb; + private LocalDate lastUpgDb; @SqlField(value = "data_upd_sw", nullable = false) - private Date dataUpdSw; + private LocalDateTime dataUpdSw; @SqlField(value = "logo_file", maxLength = 128) private String logoFile; @@ -166,7 +167,7 @@ public class Azienda extends EntityBase { private String persFisicaSesso; @SqlField(value = "pers_fisica_data_nascita") - private Date persFisicaDataNascita; + private LocalDate persFisicaDataNascita; @SqlField(value = "pers_fisica_comune_nascita", maxLength = 30) private String persFisicaComuneNascita; @@ -274,7 +275,7 @@ public class Azienda extends EntityBase { private String rapprLegaleComuneNascita; @SqlField(value = "rappr_legale_data_nascita") - private Date rapprLegaleDataNascita; + private LocalDate rapprLegaleDataNascita; @SqlField(value = "rappr_legale_prov_nascita", maxLength = 2) private String rapprLegaleProvNascita; @@ -309,261 +310,314 @@ public class Azienda extends EntityBase { String sql = "SELECT TOP 1 * FROM azienda"; return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, Azienda.class); } + + public String getApplicationName() { + return applicationName; + } + + public ApplicationName getApplicationNameEnum() { + return ApplicationName.valueOf(getApplicationName()); + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } public String getNomeDitta() { return nomeDitta; } - public void setNomeDitta(String nomeDitta) { + public Azienda setNomeDitta(String nomeDitta) { this.nomeDitta = nomeDitta; + return this; } public String getIndirizzo() { return indirizzo; } - public void setIndirizzo(String indirizzo) { + public Azienda setIndirizzo(String indirizzo) { this.indirizzo = indirizzo; + return this; } public String getCap() { return cap; } - public void setCap(String cap) { + public Azienda setCap(String cap) { this.cap = cap; + return this; } public String getCitta() { return citta; } - public void setCitta(String citta) { + public Azienda setCitta(String citta) { this.citta = citta; + return this; } public String getProv() { return prov; } - public void setProv(String prov) { + public Azienda setProv(String prov) { this.prov = prov; + return this; } public String getPartIva() { return partIva; } - public void setPartIva(String partIva) { + public Azienda setPartIva(String partIva) { this.partIva = partIva; + return this; } public String getNumTel() { return numTel; } - public void setNumTel(String numTel) { + public Azienda setNumTel(String numTel) { this.numTel = numTel; + return this; } public String getNumFax() { return numFax; } - public void setNumFax(String numFax) { + public Azienda setNumFax(String numFax) { this.numFax = numFax; + return this; } public String geteMail() { return eMail; } - public void seteMail(String eMail) { + public Azienda seteMail(String eMail) { this.eMail = eMail; + return this; } public Integer getAnnoContab() { return annoContab; } - public void setAnnoContab(Integer annoContab) { + public Azienda setAnnoContab(Integer annoContab) { this.annoContab = annoContab; + return this; } public Integer getAnnoMagaz() { return annoMagaz; } - public void setAnnoMagaz(Integer annoMagaz) { + public Azienda setAnnoMagaz(Integer annoMagaz) { this.annoMagaz = annoMagaz; + return this; } public Integer getAnnoAttuale() { return annoAttuale; } - public void setAnnoAttuale(Integer annoAttuale) { + public Azienda setAnnoAttuale(Integer annoAttuale) { this.annoAttuale = annoAttuale; + return this; } - public Date getUltDataGio() { + public LocalDate getUltDataGio() { return ultDataGio; } - public void setUltDataGio(Date ultDataGio) { + public Azienda setUltDataGio(LocalDate ultDataGio) { this.ultDataGio = ultDataGio; + return this; } public Integer getUltNumGio() { return ultNumGio; } - public void setUltNumGio(Integer ultNumGio) { + public Azienda setUltNumGio(Integer ultNumGio) { this.ultNumGio = ultNumGio; + return this; } public String getRibaRSoc1() { return ribaRSoc1; } - public void setRibaRSoc1(String ribaRSoc1) { + public Azienda setRibaRSoc1(String ribaRSoc1) { this.ribaRSoc1 = ribaRSoc1; + return this; } public String getRibaRSoc2() { return ribaRSoc2; } - public void setRibaRSoc2(String ribaRSoc2) { + public Azienda setRibaRSoc2(String ribaRSoc2) { this.ribaRSoc2 = ribaRSoc2; + return this; } public String getRibaRSocBreve() { return ribaRSocBreve; } - public void setRibaRSocBreve(String ribaRSocBreve) { + public Azienda setRibaRSocBreve(String ribaRSocBreve) { this.ribaRSocBreve = ribaRSocBreve; + return this; } - public Date getDataInizMsg() { + public LocalDate getDataInizMsg() { return dataInizMsg; } - public void setDataInizMsg(Date dataInizMsg) { + public Azienda setDataInizMsg(LocalDate dataInizMsg) { this.dataInizMsg = dataInizMsg; + return this; } - public Date getDataFineMsg() { + public LocalDate getDataFineMsg() { return dataFineMsg; } - public void setDataFineMsg(Date dataFineMsg) { + public Azienda setDataFineMsg(LocalDate dataFineMsg) { this.dataFineMsg = dataFineMsg; + return this; } public String getMessaggioDoc() { return messaggioDoc; } - public void setMessaggioDoc(String messaggioDoc) { + public Azienda setMessaggioDoc(String messaggioDoc) { this.messaggioDoc = messaggioDoc; + return this; } public String getLiquidazioniIva() { return liquidazioniIva; } - public void setLiquidazioniIva(String liquidazioniIva) { + public Azienda setLiquidazioniIva(String liquidazioniIva) { this.liquidazioniIva = liquidazioniIva; + return this; } - public Date getLastUpgDb() { + public LocalDate getLastUpgDb() { return lastUpgDb; } - public void setLastUpgDb(Date lastUpgDb) { + public Azienda setLastUpgDb(LocalDate lastUpgDb) { this.lastUpgDb = lastUpgDb; + return this; + } + + public LocalDateTime getDataUpdSw() { + return dataUpdSw; + } + + public Azienda setDataUpdSw(LocalDateTime dataUpdSw) { + this.dataUpdSw = dataUpdSw; + return this; } public String getLogoFile() { return logoFile; } - public void setLogoFile(String logoFile) { + public Azienda setLogoFile(String logoFile) { this.logoFile = logoFile; + return this; } public String getLogoB64() { return logoB64; } - public void setLogoB64(String logoB64) { + public Azienda setLogoB64(String logoB64) { this.logoB64 = logoB64; + return this; } public BigDecimal getUltDareAv() { return ultDareAv; } - public void setUltDareAv(BigDecimal ultDareAv) { + public Azienda setUltDareAv(BigDecimal ultDareAv) { this.ultDareAv = ultDareAv; + return this; } public Integer getSollTop() { return sollTop; } - public void setSollTop(Integer sollTop) { + public Azienda setSollTop(Integer sollTop) { this.sollTop = sollTop; + return this; } public Integer getSollLeft() { return sollLeft; } - public void setSollLeft(Integer sollLeft) { + public Azienda setSollLeft(Integer sollLeft) { this.sollLeft = sollLeft; + return this; } public Integer getGgUtili() { return ggUtili; } - public void setGgUtili(Integer ggUtili) { + public Azienda setGgUtili(Integer ggUtili) { this.ggUtili = ggUtili; + return this; } public String getCodSia() { return codSia; } - public void setCodSia(String codSia) { + public Azienda setCodSia(String codSia) { this.codSia = codSia; + return this; } public String getFlagFattDiff() { return flagFattDiff; } - public void setFlagFattDiff(String flagFattDiff) { + public Azienda setFlagFattDiff(String flagFattDiff) { this.flagFattDiff = flagFattDiff; + return this; } public String getSollHeadPersonal() { return sollHeadPersonal; } - public void setSollHeadPersonal(String sollHeadPersonal) { + public Azienda setSollHeadPersonal(String sollHeadPersonal) { this.sollHeadPersonal = sollHeadPersonal; + return this; } public String getLastUpgSp() { return lastUpgSp; } - public void setLastUpgSp(String lastUpgSp) { + public Azienda setLastUpgSp(String lastUpgSp) { this.lastUpgSp = lastUpgSp; + return this; } public String getLastUpgDbMenu() { @@ -579,352 +633,400 @@ public class Azienda extends EntityBase { return sitoWeb; } - public void setSitoWeb(String sitoWeb) { + public Azienda setSitoWeb(String sitoWeb) { this.sitoWeb = sitoWeb; + return this; } public BigDecimal getCapitaleSoc() { return capitaleSoc; } - public void setCapitaleSoc(BigDecimal capitaleSoc) { + public Azienda setCapitaleSoc(BigDecimal capitaleSoc) { this.capitaleSoc = capitaleSoc; + return this; } public String getCciaa() { return cciaa; } - public void setCciaa(String cciaa) { + public Azienda setCciaa(String cciaa) { this.cciaa = cciaa; - } - - public String getCodRuop() { - return codRuop; - } - - public void setCodRuop(String codRuop) { - this.codRuop = codRuop; + return this; } public String getIscRegImp() { return iscRegImp; } - public void setIscRegImp(String iscRegImp) { + public Azienda setIscRegImp(String iscRegImp) { this.iscRegImp = iscRegImp; + return this; } public String getRagSocMod() { return ragSocMod; } - public void setRagSocMod(String ragSocMod) { + public Azienda setRagSocMod(String ragSocMod) { this.ragSocMod = ragSocMod; + return this; } public String getPrefissoEan() { return prefissoEan; } - public void setPrefissoEan(String prefissoEan) { + public Azienda setPrefissoEan(String prefissoEan) { this.prefissoEan = prefissoEan; + return this; } public String getCodFiscale() { return codFiscale; } - public void setCodFiscale(String codFiscale) { + public Azienda setCodFiscale(String codFiscale) { this.codFiscale = codFiscale; + return this; } public String getPersFisicaCognome() { return persFisicaCognome; } - public void setPersFisicaCognome(String persFisicaCognome) { + public Azienda setPersFisicaCognome(String persFisicaCognome) { this.persFisicaCognome = persFisicaCognome; + return this; } public String getPersFisicaNome() { return persFisicaNome; } - public void setPersFisicaNome(String persFisicaNome) { + public Azienda setPersFisicaNome(String persFisicaNome) { this.persFisicaNome = persFisicaNome; + return this; } public String getPersFisicaSesso() { return persFisicaSesso; } - public void setPersFisicaSesso(String persFisicaSesso) { + public Azienda setPersFisicaSesso(String persFisicaSesso) { this.persFisicaSesso = persFisicaSesso; + return this; } - public Date getPersFisicaDataNascita() { + public LocalDate getPersFisicaDataNascita() { return persFisicaDataNascita; } - public void setPersFisicaDataNascita(Date persFisicaDataNascita) { + public Azienda setPersFisicaDataNascita(LocalDate persFisicaDataNascita) { this.persFisicaDataNascita = persFisicaDataNascita; + return this; } public String getPersFisicaComuneNascita() { return persFisicaComuneNascita; } - public void setPersFisicaComuneNascita(String persFisicaComuneNascita) { + public Azienda setPersFisicaComuneNascita(String persFisicaComuneNascita) { this.persFisicaComuneNascita = persFisicaComuneNascita; + return this; } public String getPersFisicaProvNascita() { return persFisicaProvNascita; } - public void setPersFisicaProvNascita(String persFisicaProvNascita) { + public Azienda setPersFisicaProvNascita(String persFisicaProvNascita) { this.persFisicaProvNascita = persFisicaProvNascita; + return this; } public String getFlagPersFisica() { return flagPersFisica; } - public void setFlagPersFisica(String flagPersFisica) { + public Azienda setFlagPersFisica(String flagPersFisica) { this.flagPersFisica = flagPersFisica; + return this; } public String getPersFisicaCodFisc() { return persFisicaCodFisc; } - public void setPersFisicaCodFisc(String persFisicaCodFisc) { + public Azienda setPersFisicaCodFisc(String persFisicaCodFisc) { this.persFisicaCodFisc = persFisicaCodFisc; + return this; } public String getRapprLegaleCodFisc() { return rapprLegaleCodFisc; } - public void setRapprLegaleCodFisc(String rapprLegaleCodFisc) { + public Azienda setRapprLegaleCodFisc(String rapprLegaleCodFisc) { this.rapprLegaleCodFisc = rapprLegaleCodFisc; + return this; } public String getSedeAmm() { return sedeAmm; } - public void setSedeAmm(String sedeAmm) { + public Azienda setSedeAmm(String sedeAmm) { this.sedeAmm = sedeAmm; - } - - public boolean isFlagSetIvaOmaggi() { - return "S".equalsIgnoreCase(flagSetIvaOmaggi); + return this; } public String getFlagSetIvaOmaggi() { return flagSetIvaOmaggi; } - public void setFlagSetIvaOmaggi(String flagSetIvaOmaggi) { + public boolean isFlagSetIvaOmaggi() { + return flagSetIvaOmaggi.equalsIgnoreCase("S"); + } + + public Azienda setFlagSetIvaOmaggi(String flagSetIvaOmaggi) { this.flagSetIvaOmaggi = flagSetIvaOmaggi; - } - - public String getApplicationName() { - return applicationName; - } - - public ApplicationName getApplicationNameEnum() { - return ApplicationName.valueOf(getApplicationName()); - } - - public void setApplicationName(String applicationName) { - this.applicationName = applicationName; + return this; } public String getFlagTipoFatturazione() { return flagTipoFatturazione; } - public void setFlagTipoFatturazione(String flagTipoFatturazione) { + public Azienda setFlagTipoFatturazione(String flagTipoFatturazione) { this.flagTipoFatturazione = flagTipoFatturazione; + return this; } public String getTribunale() { return tribunale; } - public void setTribunale(String tribunale) { + public Azienda setTribunale(String tribunale) { this.tribunale = tribunale; + return this; } public Integer getSettRitardoAnno() { return settRitardoAnno; } - public void setSettRitardoAnno(Integer settRitardoAnno) { + public Azienda setSettRitardoAnno(Integer settRitardoAnno) { this.settRitardoAnno = settRitardoAnno; + return this; } public String getDbDistributore() { return dbDistributore; } - public void setDbDistributore(String dbDistributore) { + public Azienda setDbDistributore(String dbDistributore) { this.dbDistributore = dbDistributore; + return this; } public String getCodAteco() { return codAteco; } - public void setCodAteco(String codAteco) { + public Azienda setCodAteco(String codAteco) { this.codAteco = codAteco; + return this; } public String getLastUpgQc() { return lastUpgQc; } - public void setLastUpgQc(String lastUpgQc) { + public Azienda setLastUpgQc(String lastUpgQc) { this.lastUpgQc = lastUpgQc; + return this; } public String getTipoAzienda() { return tipoAzienda; } - public void setTipoAzienda(String tipoAzienda) { + public Azienda setTipoAzienda(String tipoAzienda) { this.tipoAzienda = tipoAzienda; + return this; } public String getNazione() { return nazione; } - public void setNazione(String nazione) { + public Azienda setNazione(String nazione) { this.nazione = nazione; + return this; } public String getCodDiviContab() { return codDiviContab; } - public void setCodDiviContab(String codDiviContab) { + public Azienda setCodDiviContab(String codDiviContab) { this.codDiviContab = codDiviContab; + return this; } public String getCodIvaOmaggi() { return codIvaOmaggi; } - public void setCodIvaOmaggi(String codIvaOmaggi) { + public Azienda setCodIvaOmaggi(String codIvaOmaggi) { this.codIvaOmaggi = codIvaOmaggi; + return this; } public String getCodCconQuadra() { return codCconQuadra; } - public void setCodCconQuadra(String codCconQuadra) { + public Azienda setCodCconQuadra(String codCconQuadra) { this.codCconQuadra = codCconQuadra; + return this; + } + + public String getCodRuop() { + return codRuop; + } + + public Azienda setCodRuop(String codRuop) { + this.codRuop = codRuop; + return this; + } + + public Long getProgressivoSscc() { + return progressivoSscc; + } + + public Azienda setProgressivoSscc(Long progressivoSscc) { + this.progressivoSscc = progressivoSscc; + return this; + } + + public String getCodSdiDitta() { + return codSdiDitta; + } + + public Azienda setCodSdiDitta(String codSdiDitta) { + this.codSdiDitta = codSdiDitta; + return this; } public String getRegFisc() { return regFisc; } - public void setRegFisc(String regFisc) { + public Azienda setRegFisc(String regFisc) { this.regFisc = regFisc; + return this; } public String getStatoLiquidazione() { return statoLiquidazione; } - public void setStatoLiquidazione(String statoLiquidazione) { + public Azienda setStatoLiquidazione(String statoLiquidazione) { this.statoLiquidazione = statoLiquidazione; + return this; } public String getEmailSdi() { return emailSdi; } - public void setEmailSdi(String emailSdi) { + public Azienda setEmailSdi(String emailSdi) { this.emailSdi = emailSdi; + return this; } public String getFromEmailSdi() { return fromEmailSdi; } - public void setFromEmailSdi(String fromEmailSdi) { + public Azienda setFromEmailSdi(String fromEmailSdi) { this.fromEmailSdi = fromEmailSdi; + return this; } public String getIdCreditoreSepa() { return idCreditoreSepa; } - public void setIdCreditoreSepa(String idCreditoreSepa) { + public Azienda setIdCreditoreSepa(String idCreditoreSepa) { this.idCreditoreSepa = idCreditoreSepa; + return this; } public String getMessaggioPrivacy() { return messaggioPrivacy; } - public void setMessaggioPrivacy(String messaggioPrivacy) { + public Azienda setMessaggioPrivacy(String messaggioPrivacy) { this.messaggioPrivacy = messaggioPrivacy; + return this; } public String getRapprLegaleNome() { return rapprLegaleNome; } - public void setRapprLegaleNome(String rapprLegaleNome) { + public Azienda setRapprLegaleNome(String rapprLegaleNome) { this.rapprLegaleNome = rapprLegaleNome; + return this; } public String getRapprLegaleCognome() { return rapprLegaleCognome; } - public void setRapprLegaleCognome(String rapprLegaleCognome) { + public Azienda setRapprLegaleCognome(String rapprLegaleCognome) { this.rapprLegaleCognome = rapprLegaleCognome; + return this; } public String getRapprLegaleSesso() { return rapprLegaleSesso; } - public void setRapprLegaleSesso(String rapprLegaleSesso) { + public Azienda setRapprLegaleSesso(String rapprLegaleSesso) { this.rapprLegaleSesso = rapprLegaleSesso; + return this; } public String getRapprLegaleComuneNascita() { return rapprLegaleComuneNascita; } - public void setRapprLegaleComuneNascita(String rapprLegaleComuneNascita) { + public Azienda setRapprLegaleComuneNascita(String rapprLegaleComuneNascita) { this.rapprLegaleComuneNascita = rapprLegaleComuneNascita; + return this; } - public Date getRapprLegaleDataNascita() { + public LocalDate getRapprLegaleDataNascita() { return rapprLegaleDataNascita; } - public void setRapprLegaleDataNascita(Date rapprLegaleDataNascita) { + public Azienda setRapprLegaleDataNascita(LocalDate rapprLegaleDataNascita) { this.rapprLegaleDataNascita = rapprLegaleDataNascita; + return this; } public String getRapprLegaleProvNascita() { return rapprLegaleProvNascita; } - public void setRapprLegaleProvNascita(String rapprLegaleProvNascita) { + public Azienda setRapprLegaleProvNascita(String rapprLegaleProvNascita) { this.rapprLegaleProvNascita = rapprLegaleProvNascita; + return this; } public Integer getGiornoInizAnnoFisc() { @@ -962,31 +1064,4 @@ public class Azienda extends EntityBase { this.jwtSecretKey = jwtSecretKey; return this; } - - public Date getDataUpdSw() { - return dataUpdSw; - } - - public Azienda setDataUpdSw(Date dataUpdSw) { - this.dataUpdSw = dataUpdSw; - return this; - } - - public Long getProgressivoSscc() { - return progressivoSscc; - } - - public Azienda setProgressivoSscc(Long progressivoSscc) { - this.progressivoSscc = progressivoSscc; - return this; - } - - public String getCodSdiDitta() { - return codSdiDitta; - } - - public Azienda setCodSdiDitta(String codSdiDitta) { - this.codSdiDitta = codSdiDitta; - return this; - } } diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/DtbTipi.java b/ems-core/src/main/java/it/integry/ems_model/entity/DtbTipi.java index 0ad14ee9cb..04486f5c87 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/DtbTipi.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/DtbTipi.java @@ -10,8 +10,8 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.kie.api.definition.type.PropertyReactive; +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; @Master @@ -190,10 +190,10 @@ public class DtbTipi extends EntityBase { private String pathBanner; @SqlField(value = "data_iniz_banner") - private Date dataInizBanner; + private LocalDate dataInizBanner; @SqlField(value = "data_fine_banner") - private Date dataFineBanner; + private LocalDate dataFineBanner; @SqlField(value = "flag_dest_obb", maxLength = 1, nullable = false, defaultObjectValue = "N") private String flagDestObb; @@ -747,20 +747,20 @@ public class DtbTipi extends EntityBase { return this; } - public Date getDataInizBanner() { + public LocalDate getDataInizBanner() { return dataInizBanner; } - public DtbTipi setDataInizBanner(Date dataInizBanner) { + public DtbTipi setDataInizBanner(LocalDate dataInizBanner) { this.dataInizBanner = dataInizBanner; return this; } - public Date getDataFineBanner() { + public LocalDate getDataFineBanner() { return dataFineBanner; } - public DtbTipi setDataFineBanner(Date dataFineBanner) { + public DtbTipi setDataFineBanner(LocalDate dataFineBanner) { this.dataFineBanner = dataFineBanner; return this; } diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartBarCode.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartBarCode.java index 63519e0936..83f8d17c4d 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartBarCode.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartBarCode.java @@ -5,16 +5,18 @@ import it.integry.ems_model.annotation.PK; import it.integry.ems_model.annotation.SqlField; import it.integry.ems_model.annotation.Table; import it.integry.ems_model.base.EntityBase; +import it.integry.ems_model.base.EquatableEntityInterface; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.kie.api.definition.type.PropertyReactive; import java.math.BigDecimal; +import java.util.Objects; @PropertyReactive @Table(MtbAartBarCode.ENTITY) @JsonTypeName(MtbAartBarCode.ENTITY) -public class MtbAartBarCode extends EntityBase { +public class MtbAartBarCode extends EntityBase implements EquatableEntityInterface { private final static Logger logger = LogManager.getLogger(); @@ -86,4 +88,31 @@ public class MtbAartBarCode extends EntityBase { this.tipoCodBarre = tipoCodBarre; return this; } + + @Override + public boolean equals(Object o) { + if (!(o instanceof MtbAartBarCode)) return false; + MtbAartBarCode that = (MtbAartBarCode) o; + return Objects.equals(getCodBarre(), that.getCodBarre()) && Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getQtaCnf(), that.getQtaCnf()) && Objects.equals(getFlagPrimario(), that.getFlagPrimario()) && Objects.equals(getTipoCodBarre(), that.getTipoCodBarre()); + } + + @Override + public int hashCode() { + return Objects.hash(getCodBarre(), getCodMart(), getQtaCnf(), getFlagPrimario(), getTipoCodBarre()); + } + + @Override + public int hashCodeKey() { + return Objects.hash(getCodBarre(), getCodMart()); + } + + @Override + public boolean equalsKey(MtbAartBarCode other) { + if (this == other) return true; + if (!(other instanceof MtbAartBarCode)) return false; + MtbAartBarCode mtbAartBarCode = other; + return Objects.equals(getCodBarre(), mtbAartBarCode.getCodBarre()) && + Objects.equals(getCodMart(), mtbAartBarCode.getCodMart()); + + } } diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartCarat.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartCarat.java index aaa9fb01df..7a43178217 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartCarat.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbAartCarat.java @@ -6,14 +6,17 @@ import it.integry.ems_model.annotation.PK; import it.integry.ems_model.annotation.SqlField; import it.integry.ems_model.annotation.Table; import it.integry.ems_model.base.EntityBase; +import it.integry.ems_model.base.EquatableEntityInterface; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.kie.api.definition.type.PropertyReactive; +import java.util.Objects; + @PropertyReactive @Table(MtbAartCarat.ENTITY) @JsonTypeName(MtbAartCarat.ENTITY) -public class MtbAartCarat extends EntityBase { +public class MtbAartCarat extends EntityBase implements EquatableEntityInterface { private final static Logger logger = LogManager.getLogger(); @@ -82,4 +85,31 @@ public class MtbAartCarat extends EntityBase { this.chkCompatibilita = chkCompatibilita; return this; } + + @Override + public boolean equals(Object o) { + if (!(o instanceof MtbAartCarat)) return false; + MtbAartCarat that = (MtbAartCarat) o; + return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getCarat(), that.getCarat()) && Objects.equals(getValCarat(), that.getValCarat()) && Objects.equals(getNote(), that.getNote()) && Objects.equals(getChkCompatibilita(), that.getChkCompatibilita()); + } + + @Override + public int hashCode() { + return Objects.hash(getCodMart(), getCarat(), getValCarat(), getNote(), getChkCompatibilita()); + } + + @Override + public int hashCodeKey() { + return Objects.hash(getCodMart(), getCarat()); + } + + @Override + public boolean equalsKey(MtbAartCarat other) { + if (this == other) return true; + if (!(other instanceof MtbAartCarat)) return false; + MtbAartCarat mtbAartBarCode = other; + return Objects.equals(getCarat(), mtbAartBarCode.getCarat()) && + Objects.equals(getCodMart(), mtbAartBarCode.getCodMart()); + + } } diff --git a/ems-engine/src/main/java/it/integry/ems/system/controller/SystemController.java b/ems-engine/src/main/java/it/integry/ems/system/controller/SystemController.java index 6cac7d52f6..b968a8d34a 100644 --- a/ems-engine/src/main/java/it/integry/ems/system/controller/SystemController.java +++ b/ems-engine/src/main/java/it/integry/ems/system/controller/SystemController.java @@ -25,6 +25,7 @@ import it.integry.ems.service.exception.EmptyReportException; import it.integry.ems.settings.Model.AvailableConnectionModel; import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.status.ServiceChecker; +import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.system.dto.ChangeLogDTO; import it.integry.ems.system.dto.GestNameDTO; @@ -69,6 +70,8 @@ import java.lang.reflect.Method; import java.math.BigDecimal; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; @@ -1755,4 +1758,124 @@ public class SystemController { return ServiceRestResponse.createPositiveResponse(); } + @PostMapping(value = "system/svuotaNuovoDb") + public ServiceRestResponse svuotaNuovoDb( + HttpServletRequest request, + @RequestParam(CommonConstants.PROFILE_DB) String configuration, + @RequestParam String nomeDitta, + @RequestParam String partitaIva, + @RequestBody(required = false) List tabelleDaEscludere + ) throws Exception { + List systemTable = new ArrayList<>(); + systemTable.add("azienda"); + systemTable.add("ctb_tipo_azienda"); + systemTable.add("ctb_tipo_riep"); + systemTable.add("dtb_intracee_natura"); + systemTable.add("dtb_mod_stampa"); + systemTable.add("dtb_tipi_fe"); + systemTable.add("dtb_transaz_intracee"); + systemTable.add("gtb_aliq_natura"); + systemTable.add("gtb_anni_divi"); + systemTable.add("gtb_divi"); + systemTable.add("gtb_divi_iso"); + systemTable.add("gtb_lingue"); + systemTable.add("gtb_nazi_iso"); + systemTable.add("gtb_paesi_esteri"); + systemTable.add("gtb_paga_fe"); + systemTable.add("gtb_periodo_fisc"); + systemTable.add("gtb_porto"); + systemTable.add("gtb_reg_fisc"); + systemTable.add("gtb_tipi_paga"); + systemTable.add("jtb_ricorrenze"); + systemTable.add("mtb_movn"); + systemTable.add("stb_activity_num"); + systemTable.add("stb_calt"); + systemTable.add("stb_counter"); + systemTable.add("stb_dates"); + systemTable.add("stb_datetimes"); + systemTable.add("stb_gest_setup"); + systemTable.add("stb_gest_setup_query"); + systemTable.add("stb_gest_sync"); + systemTable.add("stb_lookup_query"); + systemTable.add("stb_menu"); + systemTable.add("stb_menu_opz"); + systemTable.add("stb_migration_status"); + systemTable.add("stb_multiplier"); + systemTable.add("stb_tipo_azienda"); + systemTable.add("stb_user"); + systemTable.add("Wtb_languages_det"); + systemTable.add("Wtb_user_groups"); + + if (tabelleDaEscludere == null) tabelleDaEscludere = new ArrayList<>(); + + + String sql = + "SELECT DISTINCT t.name AS table_name\n" + + "FROM \n" + + " sys.tables t\n" + + " INNER JOIN sys.schemas s ON t.schema_id = s.schema_id\n" + + " INNER JOIN sys.indexes i ON t.object_id = i.object_id\n" + + " INNER JOIN sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id\n" + + "WHERE \n" + + " t.is_ms_shipped = 0\n" + + "\tand s.name = 'dbo'\n" + + "\tand p.rows > 0\n"; + + List tabelleDaSvuotare = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); + List finalTabelleDaEscludere = tabelleDaEscludere; + + tabelleDaSvuotare = tabelleDaSvuotare + .stream() + .filter(x -> !systemTable.contains(x) && !finalTabelleDaEscludere.contains(x)) + .collect(Collectors.toList()); + + while (!tabelleDaSvuotare.isEmpty()) { + Iterator it = tabelleDaSvuotare.iterator(); + while (it.hasNext()) { + String tableName = it.next(); + + sql = Query.format("SELECT CAST(SUM(p.rows) AS BIT)\n" + + "FROM sys.foreign_keys fk\n" + + " INNER JOIN sys.indexes i ON fk.parent_object_id = i.object_id\n" + + " INNER JOIN sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id\n" + + "WHERE OBJECT_NAME(fk.referenced_object_id) = %s", tableName); + + boolean existFk = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); + + if (existFk) continue; + + if (tableName.equalsIgnoreCase("stb_user")) { + String delete = String.format("DELETE FROM dbo.%s WHERE user_name not in ('DBA','SA') ", + tableName); + UtilityDB.executeStatement(multiDBTransactionManager.getPrimaryConnection(), delete); + } else { + int row = 1; + while (row > 0) { + UtilityDB.executeStatement(multiDBTransactionManager.getPrimaryConnection(), "EXEC dbo.sp_triggerSwitch '" + tableName + "', 'DISABLE'"); + + String delete = String.format("DELETE TOP (10000) FROM dbo.%s", + tableName); + + UtilityDB.executeStatement(multiDBTransactionManager.getPrimaryConnection(), delete); + + row = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), + String.format("SELECT count(*) FROM dbo.%s", tableName)); + } + UtilityDB.executeStatement(multiDBTransactionManager.getPrimaryConnection(), "EXEC dbo.sp_triggerSwitch '" + tableName + "', 'ENABLE'"); + } + it.remove(); + } + } + +// Azienda azienda = new Azienda(); +// HashMap oldPK = new HashMap<>(); +// oldPK.put("nomeDitta", azienda.getNomeDitta()); +// azienda.setOldPk(oldPK); +// azienda.setNomeDitta(nomeDitta); +// azienda.setPartIva(partitaIva); +// azienda.setOperation(OperationType.SUBSTITUTE); +// entityProcessor.processEntity(azienda, multiDBTransactionManager); + return ServiceRestResponse.createPositiveResponse(); + + } } \ No newline at end of file diff --git a/ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeArticoliImportService.java b/ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeArticoliImportService.java index 36cb68bacf..43566cd56b 100644 --- a/ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeArticoliImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeArticoliImportService.java @@ -8,17 +8,17 @@ import it.integry.ems.system.exchange.service.structure.ExchangeImportDataManage import it.integry.ems.system.exchange.service.structure.ExchangeImportSchemaManagerService; import it.integry.ems_model.base.EquatableEntityInterface; import it.integry.ems_model.entity.*; +import it.integry.ems_model.entity.key.MtbColtKey; import it.integry.ems_model.types.OperationType; import it.integry.ems_model.types.TypeDbObject; +import it.integry.ems_model.utility.Query; import it.integry.ems_model.utility.UtilityDB; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -52,7 +52,7 @@ public class ExchangeArticoliImportService { importColori(internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.INSERT, OperationType.INSERT_OR_UPDATE, OperationType.UPDATE); - importLinee (internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.INSERT, OperationType.INSERT_OR_UPDATE, OperationType.UPDATE); + importLinee(internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.INSERT, OperationType.INSERT_OR_UPDATE, OperationType.UPDATE); importGruppiMerceologici(internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.INSERT, OperationType.INSERT_OR_UPDATE, OperationType.UPDATE); @@ -62,7 +62,7 @@ public class ExchangeArticoliImportService { importColori(internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.DELETE); - importLinee (internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.DELETE); + importLinee(internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.DELETE); importTipi(internalMultiDb, exchangeMultiDb, useTempTable, requestDataDTO, OperationType.DELETE); @@ -80,50 +80,29 @@ public class ExchangeArticoliImportService { exchangeDb.getPrimaryConnection(), true, false); - final List exchangeImportedMtbAartColori = retrieveMtbAartColori( - exchangeDb.getPrimaryConnection(), - true, false); - final List exchangeUpdatedData = retrieveArticoli( exchangeDb.getPrimaryConnection(), false, useTempTable); - final List exchangeUpdatedMtbAartColori = retrieveMtbAartColori( - exchangeDb.getPrimaryConnection(), - false, useTempTable); - List allData = exchangeImportDataManagerService .runSync(MtbAart.class, exchangeImportedData, exchangeUpdatedData); - List allDataColori = exchangeImportDataManagerService - .runSync(MtbAartColori.class, exchangeImportedMtbAartColori, exchangeUpdatedMtbAartColori); - - allData.stream() - .filter(x -> x.getOperation() == OperationType.INSERT) - .map(x -> (MtbAart) x) - .forEach(x -> x - .setFlagStato("A") - .setOperation(OperationType.INSERT_OR_UPDATE)); - - - allDataColori.forEach(x -> x.setOperation(x.getOperation() == OperationType.INSERT ? OperationType.INSERT_OR_UPDATE : x.getOperation())); - allData.parallelStream() - .filter(x -> x.getOperation() == OperationType.DELETE) .map(x -> (MtbAart) x) - .forEach(x -> x.setFlagStato("I") - .setOperation(OperationType.UPDATE)); - - - allDataColori = allDataColori.stream().filter(x -> x.getOperation() != OperationType.DELETE).collect(Collectors.toList()); - - List finalAllDataColori = allDataColori; - allData.stream() - .map(x -> (MtbAart) x) - .forEach(x -> x.setMtbAartColori(finalAllDataColori.stream() - .map(y -> (MtbAartColori) y) - .filter(y -> y.getCodMart().equalsIgnoreCase(x.getCodMart())) - .collect(Collectors.toList()))); + .forEach(x -> { + OperationType o = OperationType.INSERT_OR_UPDATE; + String flagStato = "A"; + if (x.getOperation() == OperationType.DELETE) { + o = OperationType.UPDATE; + flagStato = "I"; + } + x + .setFlagStato(flagStato) + .setOperation(o); + x.getMtbAartBarCode().forEach(y -> y.setOperation(y.getOperation() == OperationType.INSERT ? OperationType.INSERT_OR_UPDATE : y.getOperation())); + x.getMtbAartCarat().forEach(y -> y.setOperation(y.getOperation() == OperationType.INSERT ? OperationType.INSERT_OR_UPDATE : y.getOperation())); + x.getMtbAartColori().forEach(y -> y.setOperation(y.getOperation() == OperationType.INSERT ? OperationType.INSERT_OR_UPDATE : y.getOperation())); + }); final Exception[] firstExceptionToThrow = {null}; @@ -154,7 +133,6 @@ public class ExchangeArticoliImportService { String originalTableName = "mtb_aart"; String tableName = originalTableName + (useTempTable ? "_tmp" : ""); - if (useTempTable) { UtilityDB.executeStatement(connection, "INSERT INTO " + tableName + @@ -162,8 +140,30 @@ public class ExchangeArticoliImportService { ); } - return exchangeImportDataManagerService.retrieveDataFromExchange(connection, MtbAart.class, + List mtbAart = exchangeImportDataManagerService.retrieveDataFromExchange(connection, MtbAart.class, tableName, null, retrieveAlreadyImported); + + final List mtbAartBarCode = retrieveMtbAartBarcode(connection, retrieveAlreadyImported, useTempTable); + final List mtbAartColori = retrieveMtbAartColori(connection, retrieveAlreadyImported, useTempTable); + final List mtbAartCarat = retrieveMtbAartCarat(connection, retrieveAlreadyImported, useTempTable); + + mtbAart + .parallelStream() + .forEach(x -> x.setMtbAartColori(mtbAartColori.stream() + .map(y -> y) + .filter(y -> y.getCodMart().equalsIgnoreCase(x.getCodMart())) + .collect(Collectors.toList())) + .setMtbAartBarCode(mtbAartBarCode.stream() + .map(y -> y) + .filter(y -> y.getCodMart().equalsIgnoreCase(x.getCodMart())) + .collect(Collectors.toList())) + .setMtbAartCarat(mtbAartCarat.stream() + .map(y -> y) + .filter(y -> y.getCodMart().equalsIgnoreCase(x.getCodMart())) + .collect(Collectors.toList()))); + + return mtbAart; + } @@ -265,7 +265,7 @@ public class ExchangeArticoliImportService { .map(y -> (MtbSfam) y) .noneMatch(y -> x.getCodMgrp().equalsIgnoreCase(y.getCodMgrp()) && x.getCodMsgr().equalsIgnoreCase(y.getCodMsgr()) && - x.getCodMsfa().equalsIgnoreCase(y.getCodMsfa()))) + x.getCodMsfa().equalsIgnoreCase(y.getCodMsfa()))) .forEach(x -> { MtbSfam testata = new MtbSfam() .setCodMgrp(x.getCodMgrp()) @@ -514,7 +514,7 @@ public class ExchangeArticoliImportService { } private void importColori(MultiDBTransactionManager internalMultiDb, MultiDBTransactionManager exchangeDb, boolean useTempTable, RequestDataDTO requestDataDTO, OperationType... operationsToProcess) throws Exception { - if ( !UtilityDB.existDatabaseObject(exchangeDb.getPrimaryConnection(), "mtb_colori", TypeDbObject.VIEW)) return; + if (!UtilityDB.existDatabaseObject(exchangeDb.getPrimaryConnection(), "mtb_colori", TypeDbObject.VIEW)) return; final List exchangeImportedDataMtbColori = retrieveMtbColori( exchangeDb.getPrimaryConnection(), @@ -593,7 +593,7 @@ public class ExchangeArticoliImportService { } private void importTipi(MultiDBTransactionManager internalMultiDb, MultiDBTransactionManager exchangeDb, boolean useTempTable, RequestDataDTO requestDataDTO, OperationType... operationsToProcess) throws Exception { - if ( !UtilityDB.existDatabaseObject(exchangeDb.getPrimaryConnection(), "mtb_tipi", TypeDbObject.VIEW)) return; + if (!UtilityDB.existDatabaseObject(exchangeDb.getPrimaryConnection(), "mtb_tipi", TypeDbObject.VIEW)) return; final List exchangeImportedData = retrieveMtbAartTipi( exchangeDb.getPrimaryConnection(), @@ -886,5 +886,39 @@ public class ExchangeArticoliImportService { tableName, null, retrieveAlreadyImported); } + private List retrieveMtbAartBarcode(Connection connection, boolean retrieveAlreadyImported, boolean useTempTable) throws Exception { + String originalTableName = "mtb_aart_bar_code"; + String tableName = originalTableName + (useTempTable ? "_tmp" : ""); + + + if (useTempTable) { + UtilityDB.executeStatement(connection, + "INSERT INTO " + tableName + + " SELECT * FROM " + originalTableName + ); + } + + + return exchangeImportDataManagerService.retrieveDataFromExchange(connection, MtbAartBarCode.class, + tableName, null, retrieveAlreadyImported); + } + + private List retrieveMtbAartCarat(Connection connection, boolean retrieveAlreadyImported, boolean useTempTable) throws Exception { + String originalTableName = "mtb_aart_carat"; + String tableName = originalTableName + (useTempTable ? "_tmp" : ""); + + + if (useTempTable) { + UtilityDB.executeStatement(connection, + "INSERT INTO " + tableName + + " SELECT * FROM " + originalTableName + ); + } + + + return exchangeImportDataManagerService.retrieveDataFromExchange(connection, MtbAartCarat.class, + tableName, null, retrieveAlreadyImported); + } + } diff --git a/ems-engine/src/main/java/it/integry/ems/system/exchange/service/structure/ExchangeImportSchemaManagerService.java b/ems-engine/src/main/java/it/integry/ems/system/exchange/service/structure/ExchangeImportSchemaManagerService.java index 11f99d035e..4a614a9202 100644 --- a/ems-engine/src/main/java/it/integry/ems/system/exchange/service/structure/ExchangeImportSchemaManagerService.java +++ b/ems-engine/src/main/java/it/integry/ems/system/exchange/service/structure/ExchangeImportSchemaManagerService.java @@ -105,6 +105,8 @@ public class ExchangeImportSchemaManagerService { put("mtb_aart_slinea", MtbAartSlinea.class); put("mtb_aart_sslinea", MtbAartSslinea.class); put("mtb_aart_colori", MtbAartColori.class); + put("mtb_aart_bar_code", MtbAartBarCode.class); + put("mtb_aart_carat", MtbAartCarat.class); }}); put(SchemaType.PartiteMagazzinoLavorazione, new HashMap>() {{ put("mtb_partita_mag_lav", MtbPartitaMag.class);