From 9c0e1258a3c223a54bbde38249e9ca02af2af0f2 Mon Sep 17 00:00:00 2001 From: MinaR Date: Tue, 21 May 2024 13:51:23 +0200 Subject: [PATCH 01/10] Aggiunto numero minimo di capi ordinabile per colore --- .../model/Migration_20240521124415.java | 28 +++++++++++++++++++ .../it/integry/ems_model/entity/TtbLine.java | 19 ++++++++++--- 2 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java new file mode 100644 index 0000000000..83c6f2f681 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java @@ -0,0 +1,28 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; +import it.integry.ems_model.entity.Azienda; +import it.integry.ems_model.types.ApplicationName; + +public class Migration_20240521124415 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + executeStatement("IF EXISTS ( SELECT * FROM sys.sysobjects WHERE name = 'ttb_line')\n" + + "\tALTER TABLE ttb_line ADD num_min_art_col tinyint DEFAULT 0;", + "IF EXISTS ( SELECT * FROM sys.sysobjects WHERE name = 'ttb_line')\n" + + "\tUPDATE ttb_line SET num_min_art_col = 0;", + "IF EXISTS ( SELECT * FROM sys.sysobjects WHERE name = 'ttb_line')\n" + + "\tALTER TABLE ttb_line ALTER COLUMN num_min_art_col tinyint NOT NULL;"); + } + + @Override + public void down() throws Exception { + + } + +} \ No newline at end of file diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/TtbLine.java b/ems-core/src/main/java/it/integry/ems_model/entity/TtbLine.java index d9552270c2..73cf232ec6 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/TtbLine.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/TtbLine.java @@ -90,6 +90,8 @@ public class TtbLine extends EntityBase { private BigDecimal percRetrocessione; @SqlField(value = "moltiplicatore_prezzo_base") private BigDecimal moltiplicatorePrezzoBase; + @SqlField(value = "num_min_art_col", defaultObjectValue = "0", nullable = false) + private short numMinArtCol; @EntityChild private List ttbLinePeriod; @@ -386,10 +388,6 @@ public class TtbLine extends EntityBase { this.percRetrocessione = percRetrocessione; } - public BigDecimal getMoltiplicatorePrezzoBase() { - return moltiplicatorePrezzoBase; - } - public String getFlagAttivaCambioMerce() { return flagAttivaCambioMerce; } @@ -399,10 +397,23 @@ public class TtbLine extends EntityBase { return this; } + public BigDecimal getMoltiplicatorePrezzoBase() { + return moltiplicatorePrezzoBase; + } + public void setMoltiplicatorePrezzoBase(BigDecimal moltiplicatorePrezzoBase) { this.moltiplicatorePrezzoBase = moltiplicatorePrezzoBase; } + public short getNumMinArtCol() { + return numMinArtCol; + } + + public TtbLine setNumMinArtCol(short numMinArtCol) { + this.numMinArtCol = numMinArtCol; + return this; + } + public List getTtbLinePeriod() { return ttbLinePeriod; } From 1d39fb8ad1fd2aa3a86edb5ae6bd76dca3e21f8c Mon Sep 17 00:00:00 2001 From: FabioN Date: Tue, 21 May 2024 15:07:38 +0200 Subject: [PATCH 02/10] =?UTF-8?q?Query=20Custom=20Qt=C3=A0=20multipla=20su?= =?UTF-8?q?=20smetar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/Migration_20240521122024.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521122024.java diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521122024.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521122024.java new file mode 100644 index 0000000000..c1e083acc5 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521122024.java @@ -0,0 +1,32 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.IntegryCustomer; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20240521122024 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + if (!isCustomer(IntegryCustomer.Smetar)) { + return; + } + + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "ARTICOLO_RIFERIMENTO_INS_KIT", "TOTALE_NETTO", "Indicare il cod_vart_rif subito prima il quale verrà inserito il kit manutenzione", false, null, false, false, false, false, false, null, false, null); + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "ARTICOLO_RIFERIMENTO_KIT", "KIT_MULTIPLI", "Indicare il cod_vart_rif con cui il kit verrà inserito nell'offerta", false, null, false, false, false, false, false, null, false, null); + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "ATTIVO", "N", "Se impoststo S viene visualizzato un testo in menù modalità scheda che se cliccato permette di visualizzare eventuali articoli che prevedono quantità multipla con la relativa quantità da aggiungere all'offerta come kit manutenzione", false, null, false, false, false, false, false, null, false, null); + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "PARAGRAFO_RIGHE", "COMPUTO MATERIALI", "Inserire il nome del cod_vart_rif con cui verranno inseriti gli articoli nel kit", false, null, false, false, false, false, false, null, false, null); + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "PARAGRAFO_SUBTOTALE", "SUBTOTALE", "Paragrafo subtotale modulo kit manutenzione", false, null, false, false, false, false, false, null, false, null); + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "PARAGRAFO_TITOLO", "DESCRIZIONE MODULO", "Indicare il paragrafo titolo che verrà inserito nell'offerta", false, null, false, false, false, false, false, null, false, null); + createSetup("w_pprevt_rc", "GESTISCI_QTA_MULTIPLA", "PARAGRAFO_TITOLO_DESCRIZIONE", "Elenco articoli per compensazione articoli multipli", "Descrizione paragrafo titolo", false, null, false, false, false, false, false, null, false, null); + } + + @Override + public void down() throws Exception { + + } + +} From 5a2e7b75b4aa8bb95639d6121b178f76a1872005 Mon Sep 17 00:00:00 2001 From: MinaR Date: Tue, 21 May 2024 15:51:43 +0200 Subject: [PATCH 03/10] Aggiunto nuovo campo nella lista degli articoli --- .../integry/ems/ordikids/dto/ArticoliDTO.java | 11 ++ .../ems/ordikids/service/OrdikidsService.java | 104 ++++++------------ 2 files changed, 47 insertions(+), 68 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/ordikids/dto/ArticoliDTO.java b/ems-engine/src/main/java/it/integry/ems/ordikids/dto/ArticoliDTO.java index 65803a4245..e07b299b13 100644 --- a/ems-engine/src/main/java/it/integry/ems/ordikids/dto/ArticoliDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/ordikids/dto/ArticoliDTO.java @@ -30,6 +30,8 @@ public class ArticoliDTO implements Serializable { private BigDecimal prezzo_base; @SqlField private BigDecimal val_scatto; + @SqlField + private short num_min_art_col; private List colori = new ArrayList(); @@ -141,4 +143,13 @@ public class ArticoliDTO implements Serializable { public void setVal_scatto(BigDecimal val_scatto) { this.val_scatto = val_scatto; } + + public short getNum_min_art_col() { + return num_min_art_col; + } + + public ArticoliDTO setNum_min_art_col(short num_min_art_col) { + this.num_min_art_col = num_min_art_col; + return this; + } } \ No newline at end of file diff --git a/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java b/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java index c52d8191ef..f59956889b 100644 --- a/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java +++ b/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java @@ -46,6 +46,7 @@ import java.sql.ResultSet; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Service @Scope("request") @@ -394,9 +395,6 @@ public class OrdikidsService { private List getListArticoli(String codVage, String tableName) throws Exception { boolean overProduction = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "VEND_OVER_PRODUCTION"); - List articoli = null; - PreparedStatement ps, psArt; - String sql = "SELECT ttb_style.cod_style, " + " mtb_aart.descrizione, " + @@ -406,9 +404,11 @@ public class OrdikidsService { " 'N' AS chiedi_disp, " + " mtb_aart.cod_sco_art, " + " ttb_style.prezzo_base, " + - " ttb_style.val_scatto " + + " ttb_style.val_scatto, " + + " ttb_line.num_min_art_col " + "FROM tvvw_agen_line INNER JOIN ttb_style ON tvvw_agen_line.cod_line = ttb_style.cod_line and ttb_style.anno_stag = tvvw_agen_line.anno_stag " + " INNER JOIN mtb_aart ON ttb_style.cod_style = mtb_aart.cod_mart " + + " INNER JOIN ttb_line ON ttb_style.cod_line = ttb_line.cod_line " + "WHERE tvvw_agen_line.cod_vage =" + UtilityDB.valueToString(codVage) + " AND " + " CONVERT(VARCHAR, GETDATE(), 111) BETWEEN tvvw_agen_line.data_iniz_ord AND tvvw_agen_line.data_fine_ord AND " + " tvvw_agen_line.data_iniz_ord >= tvvw_agen_line.first_data_iniz_ord AND " + @@ -435,39 +435,37 @@ public class OrdikidsService { " CASE WHEN qta_ord_prod > 0 THEN 'S' ELSE 'N'END AS chiedi_disp, " + " art.cod_sco_art, " + " art.prezzo_base, " + - " art.val_scatto " + + " art.val_scatto, " + + " art.num_min_art_col " + " FROM art left outer join ordP on art.cod_style = ordP.cod_mart "; } - ps = multiDBTransactionManager.prepareStatement(sql); - articoli = new ResultSetMapper() - .mapResultSetToList(ps.executeQuery(), ArticoliDTO.class); + List articoli = new ResultSetMapper() + .mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, ArticoliDTO.class); if (articoli == null) articoli = new ArrayList<>(); - ps.close(); sql = "SELECT ttb_style.cod_style, mtb_aart.descrizione, ttb_style.des_estera, " + " ttb_style.flag_asso, 'S' chiedi_disp, " + - " mtb_aart.cod_sco_art, ttb_style.prezzo_base, ttb_style.val_scatto " + + " mtb_aart.cod_sco_art, ttb_style.prezzo_base, ttb_style.val_scatto, " + + " ttb_line.num_min_art_col " + "FROM tvvw_agen_line INNER JOIN ttb_style ON tvvw_agen_line.cod_line = ttb_style.cod_line and tvvw_agen_line.anno_stag = ttb_style.anno_stag " + " INNER JOIN mtb_aart ON ttb_style.cod_style = mtb_aart.cod_mart " + + " INNER JOIN ttb_line ON ttb_style.cod_line = ttb_line.cod_line " + " INNER JOIN (Select cod_style " + - " from dbo.ftx_getDisponibilitaArticoli( CONVERT(varchar, GETDATE(), 111), null, null, null, null, null, null)tab " + + " from dbo.ftx_getDisponibilitaArticoli( CAST(GETDATE() as DATE), null, null, null, null, null, null)tab " + " Where tab.qta_disp > 0 " + " Group by cod_style ) disponib ON ttb_style.cod_style = disponib.cod_style " + " WHERE tvvw_agen_line.cod_vage =" + UtilityDB.valueToString(codVage) + " AND " + - " CONVERT(VARCHAR, GETDATE(), 111) BETWEEN tvvw_agen_line.data_iniz_riord AND tvvw_agen_line.data_fine_riord AND " + + " CAST(GETDATE() as DATE) BETWEEN tvvw_agen_line.data_iniz_riord AND tvvw_agen_line.data_fine_riord AND " + " tvvw_agen_line.data_iniz_riord >= tvvw_agen_line.first_data_iniz_riord AND " + " ttb_style.flag_listino = 'S' "; - psArt = multiDBTransactionManager.prepareStatement(sql); - List articoliPronto = new ResultSetMapper() - .mapResultSetToList(psArt.executeQuery(), ArticoliDTO.class); + .mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, ArticoliDTO.class); if (articoliPronto == null) articoliPronto = new ArrayList<>(); articoli.addAll(articoliPronto); - psArt.close(); //CREAZIONE TABELLA TEMPORANEA CHE DOVRA' CONTENERE TUTTE LE ISTANZE DELLA CLASSE ArticoliDTO if (!UtilityString.isNullOrEmpty(tableName)) { @@ -479,7 +477,8 @@ public class OrdikidsService { + " chiedi_disp varchar(1)," + " cod_sco_art varchar(5)," + " prezzo_base decimal(20, 5), " - + " val_scatto decimal(20, 5)) "; + + " val_scatto decimal(20, 5), " + + " num_min_art_col tinyint) "; PreparedStatement info = multiDBTransactionManager.prepareStatement(sql); info.executeUpdate(); @@ -505,52 +504,37 @@ public class OrdikidsService { List codBarre = null; List articoli = null; - Map DatiAgente = new HashMap(); - DatiAgente = getCond_vvwClientiAgenti(md5User); + Map DatiAgente = getCond_vvwClientiAgenti(md5User); if (DatiAgente.size() > 0) { - PreparedStatement ps; - String sql; - String codVage = DatiAgente.get("cod_vage"); //ACQUISIZIONE ELENCO ARTICOLI - String tableName = UtilityDB.defTmpTabName("t1_"); - articoli = this.getListArticoli(codVage, tableName); + articoli = this.getListArticoli(codVage); - List articoliCodStyles = new ArrayList(); - - for (ArticoliDTO articoliDTO : articoli) { - articoliCodStyles.add(articoliDTO.getCod_style()); - } + List articoliCodStyles = articoli.stream().map(x -> x.getCod_style()).collect(Collectors.toList()); String articoliInVector = "'" + Joiner.on("','").skipNulls().join(articoliCodStyles) + "'"; - sql = "SELECT ttb_style_colori.cod_col, ttb_style_colori.descrizione, ttb_style_colori.cod_style, " + String sql = "SELECT ttb_style_colori.cod_col, ttb_style_colori.descrizione, ttb_style_colori.cod_style, " + "CASE WHEN ttb_style_colori.cod_col = ttb_style.cod_col_camp THEN 'S' ELSE 'N' end as flag_campione " + "FROM ttb_style_colori " + "left outer join ttb_style ON ttb_style.cod_style = ttb_style_colori.cod_style " + "WHERE ttb_style_colori.flag_attivo = 'S' AND ttb_style_colori.cod_style IN(" + articoliInVector + ")"; - ps = multiDBTransactionManager.prepareStatement(sql); + List coloriFull = new ResultSetMapper() - .mapResultSetToList(ps.executeQuery(), ColoriDTO.class); - if (coloriFull == null) coloriFull = new ArrayList(); - ps.close(); + .mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, ColoriDTO.class); + if (coloriFull == null) coloriFull = new ArrayList<>(); sql = "SELECT cod_tagl, num_scatto, costo, cod_style, pos FROM ttb_style_taglie WHERE flag_attivo = 'S' AND cod_style IN(" + articoliInVector + ") ORDER BY cod_style, pos"; - - ps = multiDBTransactionManager.prepareStatement(sql); List taglieFull = new ResultSetMapper() - .mapResultSetToList(ps.executeQuery(), TaglieDTO.class); - if (taglieFull == null) taglieFull = new ArrayList(); - ps.close(); + .mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, TaglieDTO.class); + if (taglieFull == null) taglieFull = new ArrayList<>(); for (ArticoliDTO articoloDTO : articoli) { - List coloriOLDStyle = new ArrayList(); - for (ColoriDTO colore : coloriFull) { - if (colore.getCodStyle().equalsIgnoreCase(articoloDTO.getCod_style())) coloriOLDStyle.add(colore); - } + List coloriOLDStyle = + coloriFull.stream().filter(x->x.getCodStyle().equalsIgnoreCase(articoloDTO.getCod_style())).collect(Collectors.toList()); articoloDTO.setColori(coloriOLDStyle); @@ -573,22 +557,7 @@ public class OrdikidsService { + " mtb_lisv.cod_mart = ttb_lisv_taglie.cod_style AND " + " ttb_lisv_taglie.cod_style + ttb_lisv_taglie.cod_tagl IN(" + codStyleTaglInVector + ")"; - List listiniFull = new ArrayList(); - - ps = multiDBTransactionManager.prepareStatement(sql); - ResultSet rs = ps.executeQuery(); - - while (rs.next()) { - ListiniTaglieDTO dto = new ListiniTaglieDTO(); - dto.setCod_vlis(rs.getString("cod_vlis")); - dto.setPrz_vend(rs.getBigDecimal("prz_vend")); - dto.setRicarica(rs.getBigDecimal("ricarica")); - dto.setCodStyleTagl(rs.getString("style_tagl")); - listiniFull.add(dto); - } - - rs.close(); - ps.close(); + List listiniFull = new ResultSetMapper().mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, ListiniTaglieDTO.class); for (TaglieDTO tagliaDTO : articoloDTO.getTaglie()) { List listiniOLDStyle = new ArrayList(); @@ -608,23 +577,22 @@ public class OrdikidsService { sql = "SELECT isNull(mtb_aart.cod_mart_stat, mtb_aart.cod_mart) as cod_style, " + " null as cod_asso," + " cod_barre " - + " FROM " + tableName + " as TabArt, ttb_bar_code, mtb_aart " - + " WHERE isNull(mtb_aart.cod_mart_stat, mtb_aart.cod_mart) = TabArt.cod_style AND " + + " FROM ttb_bar_code, mtb_aart " + + " WHERE isNull(mtb_aart.cod_mart_stat, mtb_aart.cod_mart)IN (" + articoliInVector + ") AND " + " mtb_aart.cod_mart = ttb_bar_code.cod_style" + " UNION " + " SELECT isNull(mtb_aart.cod_mart_stat, mtb_aart.cod_mart) as cod_style, " + " ttb_style_ass.cod_asso, " + " ttb_style_ass.cod_barre " - + " FROM " + tableName + " as TabArt, ttb_style_ass, mtb_aart " - + " WHERE isNull(mtb_aart.cod_mart_stat, mtb_aart.cod_mart) = TabArt.cod_style AND " + + " FROM ttb_style_ass, mtb_aart " + + " WHERE isNull(mtb_aart.cod_mart_stat, mtb_aart.cod_mart) IN (" + articoliInVector + ") AND " + " mtb_aart.cod_mart = ttb_style_ass.cod_style " + "ORDER BY 1, 2"; - ps = multiDBTransactionManager.prepareStatement(sql); - codBarre = new ResultSetMapper().mapResultSetToList(ps.executeQuery(), CodBarreDTO.class); - if (codBarre == null) codBarre = new ArrayList(); - ps.close(); + codBarre = new ResultSetMapper().mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, CodBarreDTO.class); + if (codBarre == null) codBarre = new ArrayList<>(); + } if (articoli == null) { @@ -632,7 +600,7 @@ public class OrdikidsService { } if (codBarre == null) { - codBarre = new ArrayList(); + codBarre = new ArrayList<>(); } return new ArticoliCodbarreDTO(articoli, codBarre); From 5f96e7b0dda2ddf13478197631d2cb735a24dce5 Mon Sep 17 00:00:00 2001 From: MinaR Date: Tue, 21 May 2024 16:11:20 +0200 Subject: [PATCH 04/10] sistemata migration --- .../migration/model/Migration_20240521124415.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java index 83c6f2f681..f271cc5a27 100644 --- a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240521124415.java @@ -12,12 +12,12 @@ public class Migration_20240521124415 extends BaseMigration implements Migration if (isHistoryDB()) return; - executeStatement("IF EXISTS ( SELECT * FROM sys.sysobjects WHERE name = 'ttb_line')\n" + - "\tALTER TABLE ttb_line ADD num_min_art_col tinyint DEFAULT 0;", - "IF EXISTS ( SELECT * FROM sys.sysobjects WHERE name = 'ttb_line')\n" + - "\tUPDATE ttb_line SET num_min_art_col = 0;", - "IF EXISTS ( SELECT * FROM sys.sysobjects WHERE name = 'ttb_line')\n" + - "\tALTER TABLE ttb_line ALTER COLUMN num_min_art_col tinyint NOT NULL;"); + + if (isTextiles()) { + executeStatement("ALTER TABLE ttb_line ADD num_min_art_col tinyint DEFAULT 0;", + "UPDATE ttb_line SET num_min_art_col = 0;", + "ALTER TABLE ttb_line ALTER COLUMN num_min_art_col tinyint NOT NULL;"); + } } @Override From c4dae52dff9f95e67cebd855a07ebae212b01685 Mon Sep 17 00:00:00 2001 From: FabioN Date: Tue, 21 May 2024 17:45:28 +0200 Subject: [PATCH 05/10] Sistemato problema default su flag_add_trasp --- ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java b/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java index 72a0c95baa..14bcd06a71 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java @@ -103,7 +103,7 @@ public class VtbList extends EntityBase { @SqlField(value = "flag_add_sfrido", maxLength = 1, nullable = false, defaultObjectValue = "true") private Boolean flagAddSfrido; - @SqlField(value = "flag_add_trasp", maxLength = 1, nullable = false, defaultObjectValue = "true") + @SqlField(value = "flag_add_trasp", maxLength = 1, nullable = false, defaultObjectValue = "1") private Boolean flagAddTrasp; @JsonProperty("versione_rif") From 13bc0e665e64c40a9821c468c5b2e67c63ff38bb Mon Sep 17 00:00:00 2001 From: AnthonyS Date: Tue, 21 May 2024 18:27:16 +0200 Subject: [PATCH 06/10] Corretto valore default per campi boolean nelle entity --- .../main/java/it/integry/ems_model/entity/AtbOfft.java | 2 +- .../integry/ems_model/entity/CtbContIntercodePaghe.java | 2 +- .../main/java/it/integry/ems_model/entity/DtbDocuLog.java | 2 +- .../java/it/integry/ems_model/entity/DtbOrdrPianProd.java | 2 +- .../main/java/it/integry/ems_model/entity/GtbSpes.java | 2 +- .../main/java/it/integry/ems_model/entity/MtbAart.java | 2 +- .../main/java/it/integry/ems_model/entity/MtbDepo.java | 2 +- .../main/java/it/integry/ems_model/entity/MtbLisv.java | 6 +++--- .../main/java/it/integry/ems_model/entity/MtbSgrp.java | 4 ++-- .../java/it/integry/ems_model/entity/StbFilterDf.java | 2 +- .../java/it/integry/ems_model/entity/StbGestSetup.java | 2 +- .../main/java/it/integry/ems_model/entity/VtbList.java | 2 +- .../it/integry/ems_model/entity/VtbRangeRicarico.java | 8 ++++---- 13 files changed, 19 insertions(+), 19 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/AtbOfft.java b/ems-core/src/main/java/it/integry/ems_model/entity/AtbOfft.java index ce82474a87..393fd5fc13 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/AtbOfft.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/AtbOfft.java @@ -116,7 +116,7 @@ public class AtbOfft extends EntityBase { @SqlField(value = "stato_offerta", nullable = false, defaultObjectValue = "0") private StatoOfferta statoOfferta; - @SqlField(value = "flag_chiudi_a_scad", nullable = false, defaultObjectValue = "true") + @SqlField(value = "flag_chiudi_a_scad", nullable = false, defaultObjectValue = "1") private Boolean flagChiudiAScad; @EntityChild diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/CtbContIntercodePaghe.java b/ems-core/src/main/java/it/integry/ems_model/entity/CtbContIntercodePaghe.java index 9459e94d10..5751a7d8ca 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/CtbContIntercodePaghe.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/CtbContIntercodePaghe.java @@ -44,7 +44,7 @@ public class CtbContIntercodePaghe extends EntityBase { @SqlField(value = "cod_ccon_cp", maxLength = 6, nullable = true) String codCconCp; - @SqlField(value = "flag_escludi", nullable = false, defaultObjectValue = "false") + @SqlField(value = "flag_escludi", nullable = false, defaultObjectValue = "0") Boolean flagEscludi; @MapToTable(value = "is_costo_cc") diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/DtbDocuLog.java b/ems-core/src/main/java/it/integry/ems_model/entity/DtbDocuLog.java index c925213768..45ab9f69f2 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/DtbDocuLog.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/DtbDocuLog.java @@ -59,7 +59,7 @@ public class DtbDocuLog extends EntityBase { @SqlField(value = "user_name", maxLength = 40, nullable = false) private String userName; - @SqlField(value = "flag_errore", nullable = false, defaultObjectValue = "false") + @SqlField(value = "flag_errore", nullable = false, defaultObjectValue = "0") private Boolean flagErrore; public DtbDocuLog() { diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdrPianProd.java b/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdrPianProd.java index f31670e6a0..a56f246fde 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdrPianProd.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdrPianProd.java @@ -89,7 +89,7 @@ public class DtbOrdrPianProd extends EntityBase { @SqlField(value = "cod_tcol", maxLength = 5) private String codTcol; - @SqlField(value = "flag_modificato", defaultObjectValue = "false") + @SqlField(value = "flag_modificato", defaultObjectValue = "0") private Boolean flagModificato; @SqlField(value = "colli_pedana") diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/GtbSpes.java b/ems-core/src/main/java/it/integry/ems_model/entity/GtbSpes.java index b2e1cbaecf..bc6ef73e12 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/GtbSpes.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/GtbSpes.java @@ -99,7 +99,7 @@ public class GtbSpes extends EntityBase { @SqlField(value = "cod_nc_intracee", maxLength = 20, nullable = true) private String codNcIntracee; - @SqlField(value = "flag_ripartisci_intra", nullable = false, defaultObjectValue = "false") + @SqlField(value = "flag_ripartisci_intra", nullable = false, defaultObjectValue = "0") Boolean flagRipartisciIntra; public GtbSpes() { diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbAart.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbAart.java index fcfd68a8eb..44028f2319 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbAart.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbAart.java @@ -283,7 +283,7 @@ public class MtbAart extends EntityBase { private String mtbAartEqui_descrizione; - @SqlField(value = "flag_arr_prz_vend_iva", nullable = false, defaultObjectValue = "true") + @SqlField(value = "flag_arr_prz_vend_iva", nullable = false, defaultObjectValue = "1") private Boolean flagArrPrzVendIva; @SqlField(value = "classificazione_abc", maxLength = 1, nullable = true) diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbDepo.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbDepo.java index 0787d98bb9..37e2f19be8 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbDepo.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbDepo.java @@ -114,7 +114,7 @@ public class MtbDepo extends EntityBase { @SqlField(value = "id_depo_sian") private Integer idDepoSian; - @SqlField(value = "chk_giacenza_neg", nullable = false, defaultObjectValue = "false") + @SqlField(value = "chk_giacenza_neg", nullable = false, defaultObjectValue = "0") private Boolean chkGiacenzaNeg; @EntityChild diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbLisv.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbLisv.java index fee0012166..9a17a4a329 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbLisv.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbLisv.java @@ -118,11 +118,11 @@ public class MtbLisv extends EntityBase { @SqlField(value = "val_promo", defaultObjectValue = "0") private BigDecimal valPromo; - @SqlField(value = "add_ric_spese", defaultObjectValue = "false", nullable = false) + @SqlField(value = "add_ric_spese", defaultObjectValue = "0", nullable = false) private Boolean addRicSpese; - @SqlField(value = "add_val_spese", defaultObjectValue = "false", nullable = false) + @SqlField(value = "add_val_spese", defaultObjectValue = "0", nullable = false) private Boolean addValSpese; - @SqlField(value = "add_sco_spese", defaultObjectValue = "false", nullable = false) + @SqlField(value = "add_sco_spese", defaultObjectValue = "0", nullable = false) private Boolean addScoSpese; public String getCodMart() { diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbSgrp.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbSgrp.java index 3df14cb893..3215198bc7 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbSgrp.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbSgrp.java @@ -36,10 +36,10 @@ public class MtbSgrp extends EntityBase { @SqlField(value = "ordinamento", nullable = false) private Integer ordinamento; - @SqlField(value = "chk_giacenza_neg", nullable = false, defaultObjectValue = "false") + @SqlField(value = "chk_giacenza_neg", nullable = false, defaultObjectValue = "0") private Boolean chkGiacenzaNeg; - @SqlField(value = "flag_reso", nullable = false, defaultObjectValue = "true") + @SqlField(value = "flag_reso", nullable = false, defaultObjectValue = "1") private Boolean flagReso; @EntityChild diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/StbFilterDf.java b/ems-core/src/main/java/it/integry/ems_model/entity/StbFilterDf.java index 94992db71a..7c04675d9e 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/StbFilterDf.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/StbFilterDf.java @@ -35,7 +35,7 @@ public class StbFilterDf extends EntityBase { @SqlField(value = "object_value", maxLength = 255, nullable = false) private String objectValue; - @SqlField(value = "object_visible", maxLength = 255, nullable = false, defaultObjectValue = "true") + @SqlField(value = "object_visible", maxLength = 255, nullable = false, defaultObjectValue = "1") private Boolean objectVisible; public StbFilterDf() { diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/StbGestSetup.java b/ems-core/src/main/java/it/integry/ems_model/entity/StbGestSetup.java index 5ac014b4e3..2a3c0d2167 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/StbGestSetup.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/StbGestSetup.java @@ -55,7 +55,7 @@ public class StbGestSetup extends EntityBase { @SqlField(value = "flag_setup_depo", maxLength = 1, nullable = false) private String flagSetupDepo; - @SqlField(value = "flag_multi_value", nullable = false, defaultObjectValue = "false") + @SqlField(value = "flag_multi_value", nullable = false, defaultObjectValue = "0") private Boolean flagMultiValue; @SqlField(value = "flag_setup_user_web", maxLength = 1, nullable = false) diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java b/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java index 14bcd06a71..c86f461bd4 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/VtbList.java @@ -100,7 +100,7 @@ public class VtbList extends EntityBase { private String flagECommerce; @ImportFromParent - @SqlField(value = "flag_add_sfrido", maxLength = 1, nullable = false, defaultObjectValue = "true") + @SqlField(value = "flag_add_sfrido", maxLength = 1, nullable = false, defaultObjectValue = "1") private Boolean flagAddSfrido; @SqlField(value = "flag_add_trasp", maxLength = 1, nullable = false, defaultObjectValue = "1") diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/VtbRangeRicarico.java b/ems-core/src/main/java/it/integry/ems_model/entity/VtbRangeRicarico.java index e7cb244fc1..44dfb736cc 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/VtbRangeRicarico.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/VtbRangeRicarico.java @@ -47,8 +47,8 @@ public class VtbRangeRicarico extends EntityBase { @SqlField(value = "flag_multiplo", maxLength = 1, nullable = true) String flagMultiplo; - @SqlField(value = "flag_attivo", nullable = false, defaultObjectValue = "true") - BooleanExpression flagAttivo; + @SqlField(value = "flag_attivo", nullable = false, defaultObjectValue = "1") + Boolean flagAttivo; public String getCodMgrp() { return codMgrp; @@ -114,11 +114,11 @@ public class VtbRangeRicarico extends EntityBase { this.flagMultiplo = flagMultiplo; } - public BooleanExpression getFlagAttivo() { + public Boolean getFlagAttivo() { return flagAttivo; } - public VtbRangeRicarico setFlagAttivo(BooleanExpression flagAttivo) { + public VtbRangeRicarico setFlagAttivo(Boolean flagAttivo) { this.flagAttivo = flagAttivo; return this; } From 2cb14e2452c0b9dbf26d2aa2b02973a8c7518b8b Mon Sep 17 00:00:00 2001 From: FabioN Date: Wed, 22 May 2024 18:15:59 +0200 Subject: [PATCH 07/10] Modifica Maggio chiusura commessa --- .../Import/dto/DocumentiProdDaFabbDTO.java | 9 -- .../Import/service/DocumentiProdDaFabb.java | 99 +++---------------- 2 files changed, 16 insertions(+), 92 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/document/Import/dto/DocumentiProdDaFabbDTO.java b/ems-engine/src/main/java/it/integry/ems/document/Import/dto/DocumentiProdDaFabbDTO.java index 1633bf46c1..56b66fe903 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/Import/dto/DocumentiProdDaFabbDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/document/Import/dto/DocumentiProdDaFabbDTO.java @@ -22,8 +22,6 @@ public class DocumentiProdDaFabbDTO { private String matricola; - private String generaScarico; - public String getGestione() { return gestione; } @@ -87,11 +85,4 @@ public class DocumentiProdDaFabbDTO { return this; } - public String getGeneraScarico() { - return generaScarico; - } - - public void setGeneraScarico(String generaScarico) { - this.generaScarico = generaScarico; - } } diff --git a/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiProdDaFabb.java b/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiProdDaFabb.java index 6b1f545128..cfa650a18e 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiProdDaFabb.java +++ b/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiProdDaFabb.java @@ -12,8 +12,6 @@ import it.integry.ems_model.service.SetupGest; import it.integry.ems_model.types.OperationType; import it.integry.ems_model.utility.UtilityDB; import it.integry.ems_model.utility.UtilityDate; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; @@ -29,7 +27,6 @@ import java.util.List; @Service @Scope(value = "request") public class DocumentiProdDaFabb { - private final Logger logger = LogManager.getLogger(); @Autowired private SetupGest setupGest; @Autowired @@ -54,7 +51,6 @@ public class DocumentiProdDaFabb { String codDtipScarGiroc = setupGest.getImportSetup(connect, type, format, "COD_DTIP_SCAR_GIROC"); if (ordini.size() != 0) { - generaScarico = ordini.get(0).getGeneraScarico(); chiudiCommessa = ordini.get(0).getChiudiCommessa(); codJcom = ordini.get(0).getCodJcom(); } @@ -65,74 +61,26 @@ public class DocumentiProdDaFabb { MtbPartitaMag lottoProd = null; Integer index = 0; - query = "select righeOrd.cod_mart, " + - " righeOrd.partita_mag, " + - " righeOrd.data_ord, " + - " righeOrd.num_ord, " + - " righeOrd.riga_ord, " + - " righeOrd.cod_mdep, " + - " righeOrd.cod_anag, " + - " righeOrd.unt_ord, " + - " righeOrd.qta_ord * (" + qtaProd.toString() + " / ordRoot.qta_prod) , " + - " righeOrd.rap_conv, " + - " ordRoot.unt_mis_prod, " + - " ordRoot.rap_conv_prod, " + - " ordRoot.cod_prod, " + - " ordRoot.partita_mag_prod " + - " from (SELECT case when CHARINDEX('_', dtb_ordt.item_id) = 0 THEN item_id ELSE substring(dtb_ordt.item_id, 1, CHARINDEX('_', dtb_ordt.item_id) -1) end item_root, " + - " dtb_ordr.cod_mart, " + - " dtb_ordr.partita_mag, " + - " dtb_ordr.cod_jcom, " + - " dtb_ordr.data_ord, " + - " dtb_ordr.num_ord, " + - " dtb_ordr.riga_ord, " + - " dtb_ordt.cod_mdep, " + - " dtb_ordt.cod_anag, " + - " dtb_ordr.unt_ord, " + - " dtb_ordr.qta_ord, " + - " dtb_ordr.rap_conv, " + - " dtb_ordr.system_note " + - " FROM dtb_ordt, " + - " dtb_ordr " + - " WHERE dtb_ordt.gestione = 'L' AND " + - " dtb_ordt.gestione = dtb_ordr.gestione AND " + - " dtb_ordt.data_ord = dtb_ordr.data_ord AND " + - " dtb_ordt.num_ord = dtb_ordr.num_ord)righeOrd INNER JOIN (select item_id , " + - " cod_prod, " + - " unt_mis_prod, " + - " rap_conv_prod, " + - " qta_prod, " + - " partita_mag as partita_mag_prod " + - " from dtb_ordt " + - " where dtb_ordt.gestione = " + UtilityDB.valueToString(riga.getGestione()) + " AND " + - " dtb_ordt.data_ord = " + UtilityDB.valueDateToString(riga.getDataOrd(), CommonConstants.DATE_FORMAT_YMD) + " AND " + - " dtb_ordt.num_ord = " + UtilityDB.valueToString(riga.getNumOrd()) + ")ordRoot ON righeOrd.item_root = ordRoot.item_id " + - " LEFT OUTER JOIN ((select case when CHARINDEX('_', dtb_ordt.item_id) = 0 THEN item_id ELSE substring(dtb_ordt.item_id, 1, CHARINDEX('_', dtb_ordt.item_id) -1) end item_root, " + - " cod_prod " + - " from dtb_ordt " + - " where gestione = 'L' and " + - " cod_jcom = " + UtilityDB.valueToString(codJcom) + "))ordSL ON righeOrd.item_root = ordSL.item_root and " + - " righeOrd.cod_mart = ordSL.cod_prod " + - " WHERE ordSL.cod_prod IS NULL AND " + - " ISNULL(righeOrd.system_note,'') <> 'NO_GEN_SCARICHI'"; + query = "select dtb_ordt.cod_mdep, " + + " dtb_ordt.cod_anag, " + + " dtb_ordt.unt_mis_prod, " + + " dtb_ordt.rap_conv_prod, " + + " dtb_ordt.cod_prod, " + + " dtb_ordt.partita_mag " + + " from dtb_ordt " + + " where dtb_ordt.gestione = " + UtilityDB.valueToString(riga.getGestione()) + " AND " + + " dtb_ordt.data_ord = " + UtilityDB.valueDateToString(riga.getDataOrd(), CommonConstants.DATE_FORMAT_YMD) + " AND " + + " dtb_ordt.num_ord = " + UtilityDB.valueToString(riga.getNumOrd()); PreparedStatement info = connect.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet res = info.executeQuery(); while (res.next()) { - String codMart = res.getString(1); - String partitaMag = res.getString(2); - Date dataOrd = res.getDate(3); - Integer numOrd = res.getInt(4); - Integer rigaOrd = res.getInt(5); - String codMdep = res.getString(6); - String codAnag = res.getString(7); - String untDoc = res.getString(8); - BigDecimal qtaDoc = res.getBigDecimal(9); - BigDecimal rapConv = res.getBigDecimal(10); - String untMisProd = res.getString(11); - BigDecimal rapConvProd = res.getBigDecimal(12); - String codProd = res.getString(13); - String partitaMagProd = res.getString(14); + String codMdep = res.getString(1); + String codAnag = res.getString(2); + String untMisProd = res.getString(3); + BigDecimal rapConvProd = res.getBigDecimal(4); + String codProd = res.getString(5); + String partitaMagProd = res.getString(6); index++; @@ -238,21 +186,6 @@ public class DocumentiProdDaFabb { } } - - // Creazione riga documento di scarico - if (generaScarico.compareTo("S") == 0){ - DtbDocr docRScar = new DtbDocr(); - docRScar.setCodMart(codMart); - docRScar.setPartitaMag(partitaMag); - docRScar.setUntDoc(untDoc); - docRScar.setQtaDoc(qtaDoc); - docRScar.setRapConv(rapConv); - docRScar.setCodJcom(codJcom); - docRScar.setDataOrd(dataOrd); - docRScar.setNumOrd(numOrd); - docRScar.setRigaOrd(rigaOrd); - docScar.getDtbDocr().add(docRScar); - } } res.close(); info.close(); From 8796b14d39421b46decc855f8b448b79474a2c56 Mon Sep 17 00:00:00 2001 From: FabioN Date: Wed, 22 May 2024 18:16:22 +0200 Subject: [PATCH 08/10] Modifica procedura Trasporti Verttore --- .../document/CostiTrasporto/service/DocCostiTrasporto.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java b/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java index 8b05187b0c..8025268d31 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java +++ b/ems-engine/src/main/java/it/integry/ems/document/CostiTrasporto/service/DocCostiTrasporto.java @@ -181,8 +181,9 @@ public class DocCostiTrasporto { } } - /*Se si tratta di STEF è necessario verificare se il cliente è tra quelli gestiti a PALLET ed in tal caso il tipo calcolo andrà calcolato nuovamente, - purtroppo STEF non ci fornisce nel file per ogni cliente ce tipo di costo è stato associato*/ + /*Se si tratta di STEF è necessario verificare se il cliente è tra quelli gestiti a PALLET ed in tal caso il tipo calcolo andrà cambiato, + purtroppo STEF non fornisce nel file per ogni cliente che tipo di costo è stato associato. + Siamo costretti a fare il controllo qui perchè nel file non abbiamo il codice cliente e solo in questo punto viene identificato*/ if (format.equalsIgnoreCase(STEF)){ if (codAnag != null && elencoClientiTipoCalcPallet != null && elencoClientiTipoCalcPallet.indexOf(codAnag) >= 0){ tipoCalc = "PEDANE"; From 099093c66a34f09dc213657c6c1f0bfe4ee653b5 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Thu, 23 May 2024 10:56:46 +0200 Subject: [PATCH 09/10] Aggiornato metodo di lettura file xlsx --- .../ems_model/utility/UtilityExcel.java | 33 +++------------ .../Import/service/ContabilImportService.java | 2 +- .../DocumentiAcquistoImportService.java | 2 +- .../service/ImportGrigliaAcquistoService.java | 2 +- .../service/ImportListiniVenditaService.java | 42 +++++-------------- 5 files changed, 18 insertions(+), 63 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java b/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java index c8c331cb7b..0af8461349 100644 --- a/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java +++ b/ems-core/src/main/java/it/integry/ems_model/utility/UtilityExcel.java @@ -1,7 +1,7 @@ package it.integry.ems_model.utility; import it.integry.ems.Import.dto.ImportRequestDTO; -import org.apache.commons.io.FilenameUtils; +import org.apache.commons.codec.binary.Base64; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFCellUtil; import org.apache.poi.openxml4j.opc.OPCPackage; @@ -9,13 +9,8 @@ import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.*; -import org.checkerframework.checker.units.qual.C; -import org.springframework.beans.factory.annotation.Required; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.nio.file.Files; +import java.io.*; import java.sql.Timestamp; import java.util.Date; import java.util.Iterator; @@ -124,29 +119,11 @@ public class UtilityExcel { } - public static Iterator readXlsxFile(Map setup, ImportRequestDTO requestDTO) throws Exception { + public static Iterator readXlsxFile(ImportRequestDTO requestDTO) throws Exception { OPCPackage pkg; - String path = setup.get("PATH_FILE"); - String fileName = setup.get("FILE_FILTER"); + InputStream stream = new ByteArrayInputStream(Base64.decodeBase64(requestDTO.getRawContentB64())); - if (UtilityString.isNullOrEmpty(path)) - path = requestDTO.getPathFile(); - - if (UtilityString.isNullOrEmpty(fileName)) - fileName = requestDTO.getFileName(); - - if (!FilenameUtils.getExtension(fileName).equalsIgnoreCase("xlsx")) - throw new Exception("Formato file non supportato"); - - if (!path.endsWith("\\") || !path.endsWith("/")) - path = path + File.separator; - - File file = new File(path + fileName); - if (!file.exists()) { - throw new Exception(String.format("Impossibile aprire il file %s.", path + fileName)); - } - - pkg = OPCPackage.open(file); + pkg = OPCPackage.open(stream); XSSFWorkbook workbook = new XSSFWorkbook(pkg); XSSFSheet sheet = workbook.getSheetAt(0); pkg.close(); diff --git a/ems-engine/src/main/java/it/integry/ems/contabil/Import/service/ContabilImportService.java b/ems-engine/src/main/java/it/integry/ems/contabil/Import/service/ContabilImportService.java index ed962b67f4..eda611ef13 100644 --- a/ems-engine/src/main/java/it/integry/ems/contabil/Import/service/ContabilImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/contabil/Import/service/ContabilImportService.java @@ -418,7 +418,7 @@ public class ContabilImportService { List listEntityBase = new ArrayList<>(); Map setup = setupGest.getImportSetupSection(multiDBTransactionManager.getPrimaryConnection(), type, format); - Iterator rowIterator = UtilityExcel.readXlsxFile(setup, requestDTO); + Iterator rowIterator = UtilityExcel.readXlsxFile(requestDTO); //Ignoro le prime tre righe di intestazione for (int i = 0; i < 3; i++) { if (rowIterator.hasNext()) { diff --git a/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiAcquistoImportService.java b/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiAcquistoImportService.java index e1c874eeb8..01511b0abb 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiAcquistoImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/document/Import/service/DocumentiAcquistoImportService.java @@ -886,7 +886,7 @@ public class DocumentiAcquistoImportService { throw new Exception("File con data antecedente alla data prevista per l'importazione"); } - Iterator rowIterator = UtilityExcel.readXlsxFile(setup, requestDTO); + Iterator rowIterator = UtilityExcel.readXlsxFile(requestDTO); List rifOrdApuliaList = new ArrayList<>(); while (rowIterator.hasNext()) { diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaAcquistoService.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaAcquistoService.java index 42510e257a..6e38841ba7 100644 --- a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaAcquistoService.java +++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportGrigliaAcquistoService.java @@ -48,7 +48,7 @@ public class ImportGrigliaAcquistoService { Connection conn = multiDBTransactionManager.getPrimaryConnection(); Map setup = setupGest.getImportSetupSection(conn, type, format); - Iterator rowIterator = UtilityExcel.readXlsxFile(setup, requestDTO); + Iterator rowIterator = UtilityExcel.readXlsxFile(requestDTO); List atbGriglieArtList = new ArrayList<>(); diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniVenditaService.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniVenditaService.java index 82c606b57f..5ef0dd7c70 100644 --- a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniVenditaService.java +++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniVenditaService.java @@ -694,36 +694,17 @@ public class ImportListiniVenditaService { public List importListinoCarelli(String type, String format, ImportRequestDTO requestDTO, List anomalie, boolean headless) throws Exception { List entityList = null; Date dataInizio = null, dataFine = null, localDate = new Date(), currentDataInizio = null, currentDataFine; - boolean areDatesEqual = true; + boolean areDatesEqual = true, isVolantino = format.equalsIgnoreCase(ListiniVenditaImporter.Format.VOLANTINI.toString()); + List listMtbLisvData = new ArrayList<>(); Map setup = setupGest.getImportSetupSection(multiDBTransactionManager.getPrimaryConnection(), type, format); - boolean isVolantino = format.equalsIgnoreCase(ListiniVenditaImporter.Format.VOLANTINI.toString()); String path = setup.get("PATH_FILE"); String fileName = requestDTO.getFileName(); if (UtilityString.isNullOrEmpty(fileName)) fileName = setup.get("FILE_FILTER"); - if (!path.endsWith("\\") || !path.endsWith("/")) { - path = path + File.separator; - } - - List listMtbLisvData = new ArrayList<>(); - - FileInputStream file = new FileInputStream(path + fileName); - XSSFWorkbook workbook = new XSSFWorkbook(file); - XSSFSheet sheet = workbook.getSheetAt(0); - - // Ignora la prima riga (header) - Iterator rowIterator = sheet.iterator(); - if (rowIterator.hasNext()) { - rowIterator.next(); - } - - // Verifica se il foglio di lavoro è vuoto - if (!rowIterator.hasNext()) { - throw new Exception("Il file è vuoto."); - } + Iterator rowIterator = UtilityExcel.readXlsxFile(requestDTO); while (rowIterator.hasNext()) { Row row = rowIterator.next(); @@ -737,7 +718,7 @@ public class ImportListiniVenditaService { String articolo = fillString(UtilityExcel.getCellAsString(row, 1), 9); if (articolo.isEmpty()) - throw new Exception("Il codice articolo è vuoto."); + throw new Exception(String.format("Il codice articolo è vuoto. (Riga: %s)", row.getRowNum() + 1)); String dataInizioString = dataInizioFine(true, row); @@ -750,7 +731,7 @@ public class ImportListiniVenditaService { // Verifica che dataInizio sia maggiore di localDate if (currentDataInizio.compareTo(localDate) <= 0) { - throw new Exception("La data di inizio è precedente o uguale alla data corrente."); + throw new Exception(String.format("La data di inizio è precedente o uguale alla data corrente. (Riga: %s)", row.getRowNum() + 1)); } // Controlla se la data di inizio è diversa dalla prima data @@ -762,7 +743,7 @@ public class ImportListiniVenditaService { dataInizio = currentDataInizio; }else{ - throw new Exception("La data inizio è vuota"); + throw new Exception(String.format("La data inizio è vuota. (Riga: %s)", row.getRowNum() + 1)); } if (!dataFineString.isEmpty()){ @@ -770,7 +751,7 @@ public class ImportListiniVenditaService { // Verifica che dataFine sia maggiore di dataInizio if (currentDataFine.compareTo(currentDataInizio) < 0) { - throw new Exception("La data fine è precedente alla data di inizio."); + throw new Exception(String.format("La data fine è precedente alla data di inizio. (Riga: %s)", row.getRowNum() + 1)); } // Controlla se la data di inizio è diversa dalla prima data @@ -782,7 +763,7 @@ public class ImportListiniVenditaService { dataFine = currentDataFine; }else{ - throw new Exception("La data fine è vuota"); + throw new Exception(String.format("La data fine è vuota. (Riga: %s)", row.getRowNum() + 1)); } int maxGiorni = Integer.parseInt(setupGest.getSetup( @@ -794,14 +775,14 @@ public class ImportListiniVenditaService { if(maxGiorni != 0){ int count = UtilityDate.DaysAfter(dataInizio, dataFine); if(count > maxGiorni){ - throw new Exception("Differenza tra data inizio e data fine maggiore di: " + maxGiorni); + throw new Exception(String.format("Differenza tra data inizio e data fine maggiore di: %s (Riga: %s)", maxGiorni, row.getRowNum() + 1)); } } BigDecimal prezzo = getPrezzoAsBigDecimal(row.getCell(4)); if (prezzo.compareTo(BigDecimal.ZERO) == 0) { - throw new Exception("Il prezzo è uguale a zero."); + throw new Exception(String.format("Il prezzo è uguale a zero. (Riga: %s)", row.getRowNum() + 1)); } MtbLisvData riga = new MtbLisvData(); @@ -831,8 +812,6 @@ public class ImportListiniVenditaService { listMtbLisvData.add(riga); } - file.close(); - // Verifica che tutte le date siano uguali if(isVolantino && !areDatesEqual) { throw new Exception("Le date non sono tutte uguali."); @@ -892,7 +871,6 @@ public class ImportListiniVenditaService { throw e; } - return entityList; } From 68f7123eec284eb8918b58ec26e55737d23e440b Mon Sep 17 00:00:00 2001 From: ClaudioR Date: Thu, 23 May 2024 11:36:32 +0200 Subject: [PATCH 10/10] - Aggiunto NomeNegozioRequired nei settings di Ordikids - Creazione migration setup NomeNegozioRequired --- .../model/Migration_20240522173844.java | 28 +++++++++ .../integry/ems/ordikids/dto/UtenteDTO.java | 12 +++- .../ems/ordikids/service/OrdikidsService.java | 58 ++++++++----------- 3 files changed, 64 insertions(+), 34 deletions(-) create mode 100644 ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240522173844.java diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240522173844.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240522173844.java new file mode 100644 index 0000000000..76500e827a --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240522173844.java @@ -0,0 +1,28 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.IntegryCustomer; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20240522173844 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'", false); + createSetup("ORDIKIDS", "SETUP", "NOME_NEGOZIO_REQUIRED", null, null, false, "SI_NO", false, false, false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'"); + + + if (isCustomer(IntegryCustomer.FolliesGroup)) { + updateSetupValue("ORDIKIDS", "SETUP", "NOME_NEGOZIO_REQUIRED", "S"); + } + } + + @Override + public void down() throws Exception { + + } + +} diff --git a/ems-engine/src/main/java/it/integry/ems/ordikids/dto/UtenteDTO.java b/ems-engine/src/main/java/it/integry/ems/ordikids/dto/UtenteDTO.java index a7fbb24c75..acdd02cbdb 100644 --- a/ems-engine/src/main/java/it/integry/ems/ordikids/dto/UtenteDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/ordikids/dto/UtenteDTO.java @@ -41,6 +41,8 @@ public class UtenteDTO implements Serializable { private String nomeAzienda; @SqlField private String recTelObbligatorio; + @SqlField + private String nomeNegozioRequired; public UtenteDTO(String user_name, String full_name, String user_code, String cod_vlis_newclie, String cod_anag_newclie, BigDecimal sc1, BigDecimal sc2, String cod_paga) { @@ -186,4 +188,12 @@ public class UtenteDTO implements Serializable { this.recTelObbligatorio = recTelObbligatorio; return this; } -} + + public String getNomeNegozioRequired() { + return nomeNegozioRequired; + } + + public void setNomeNegozioRequired(String nomeNegozioRequired) { + this.nomeNegozioRequired = nomeNegozioRequired; + } +} \ No newline at end of file diff --git a/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java b/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java index f59956889b..57a492fbe8 100644 --- a/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java +++ b/ems-engine/src/main/java/it/integry/ems/ordikids/service/OrdikidsService.java @@ -28,6 +28,7 @@ import it.integry.ems_model.entity.WtbFavoriteArt; import it.integry.ems_model.service.SetupGest; import it.integry.ems_model.types.OperationType; import it.integry.ems_model.utility.UtilityDB; +import it.integry.ems_model.utility.UtilityHashMap; import it.integry.ems_model.utility.UtilityString; import org.apache.commons.io.IOUtils; import org.apache.logging.log4j.LogManager; @@ -70,7 +71,7 @@ public class OrdikidsService { private EntityProcessor entityProcessor; public LoginDTO login(String md5Agente) throws Exception { - String sql, flag_bloccoPagaClie, flag_bloccoPagaNewClie, flag_bloccoListino, flag_bloccoMenuListini, elencoListini, condListini, flag_moltip, flag_vendAsso; + String sql, flag_bloccoPagaClie, flag_bloccoPagaNewClie, flag_nomeNegozioRequired, flag_bloccoListino, flag_bloccoMenuListini, elencoListini, condListini, flag_moltip, flag_vendAsso; PreparedStatement ps; Map DatiAgente = getCond_vvwClientiAgenti(md5Agente); @@ -111,28 +112,14 @@ public class OrdikidsService { } rs.close(); - flag_bloccoPagaClie = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "BLOCCO_PAGA_CLIE"); - if (flag_bloccoPagaClie.compareTo("") == 0) { - flag_bloccoPagaClie = "N"; - } - utente.setBloccoPagaClie(flag_bloccoPagaClie); + HashMap setupSection = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP"); - flag_bloccoPagaNewClie = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "BLOCCO_PAGA_NEWCLIE"); - if (flag_bloccoPagaNewClie.compareTo("") == 0) { - flag_bloccoPagaNewClie = "N"; - } - utente.setBloccoPagaNewClie(flag_bloccoPagaNewClie); - - flag_moltip = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "MOLTIP_BARCODEMODE"); - if (flag_moltip.compareTo("") == 0) { - flag_moltip = "S"; - } - utente.setMoltipl_barcodemode(flag_moltip); - - flag_vendAsso = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "VEND_ASSO_OBBLIGATORIO"); - utente.setVend_asso_obbligatorio(flag_vendAsso); - - utente.setRecTelObbligatorio(setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "REC_TEL_OBBLIGATORIO")); + utente.setBloccoPagaClie(UtilityHashMap.getValueIfExists(setupSection, "BLOCCO_PAGA_CLIE", "N")); + utente.setBloccoPagaNewClie(UtilityHashMap.getValueIfExists(setupSection, "BLOCCO_PAGA_NEWCLIE", "N")); + utente.setNomeNegozioRequired(UtilityHashMap.getValueIfExists(setupSection, "NOME_NEGOZIO_REQUIRED", "N")); + utente.setMoltipl_barcodemode(UtilityHashMap.getValueIfExists(setupSection, "MOLTIP_BARCODEMODE", "S")); + utente.setVend_asso_obbligatorio(UtilityHashMap.getValueIfExists(setupSection, "VEND_ASSO_OBBLIGATORIO")); + utente.setRecTelObbligatorio(UtilityHashMap.getValueIfExists(setupSection, "REC_TEL_OBBLIGATORIO")); sql = "SELECT gtb_paga.cod_paga,\n" + " gtb_paga.descrizione,\n" + @@ -151,38 +138,43 @@ public class OrdikidsService { List ElencoListiniMenu = new ArrayList<>(); flag_bloccoMenuListini = "S"; //Inizializzazione con il blocco del menu - flag_bloccoListino = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "BLOCCO_LISTINO"); - if (flag_bloccoListino.compareTo("") == 0 || flag_bloccoListino.compareTo("S") == 0) { + flag_bloccoListino = setupSection.get("BLOCCO_LISTINO"); + if (flag_bloccoListino.equalsIgnoreCase("") || flag_bloccoListino.equalsIgnoreCase("S")) { //S acquisisce il listino Esclusivamente dalle categorie di sconto, il menu è bloccato flag_bloccoMenuListini = "S"; ElencoListiniMenu.add(0, new ElencoListiniDTO("", "IN FUNZIONE DELLA LINEA")); } else { - if (flag_bloccoListino.compareTo("N") == 0) { + if (flag_bloccoListino.equalsIgnoreCase("N")) { //N consente di scegliere o il calcolo in base alle categorie di sconto o // un listino diverso se presenti in ELENCO_LISTINI // il menu è attivo flag_bloccoMenuListini = flag_bloccoListino; ElencoListiniMenu.add(0, new ElencoListiniDTO("", "IN FUNZIONE DELLA LINEA")); - } else if (flag_bloccoListino.compareTo("L") == 0) { + } else if (flag_bloccoListino.equalsIgnoreCase("L")) { //se L consente di scegliere solo uno dei listini presenti in ELENCO_LISTINI // il menu è attivo flag_bloccoMenuListini = "N"; } List ElencoListini; - elencoListini = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "ELENCO_LISTINI"); - if (elencoListini.compareTo("") != 0) { - condListini = "'" + elencoListini.replaceAll(",", "', '") + "' "; + elencoListini = setupSection.get("ELENCO_LISTINI"); + if (!elencoListini.equalsIgnoreCase("")) { + condListini = "'" + elencoListini.replaceAll(",", "', '") + "' "; sql = "SELECT cod_vlis, descrizione FROM vtb_list WHERE cod_vlis IN ( " + condListini + " ) "; ps = multiDBTransactionManager.prepareStatement(sql); ElencoListini = new ResultSetMapper() .mapResultSetToList(ps.executeQuery(), ElencoListiniDTO.class); - if (ElencoListini == null) ElencoListini = new ArrayList(); + + if (ElencoListini == null) { + ElencoListini = new ArrayList(); + } + ps.close(); ElencoListiniMenu.addAll(ElencoListini); } } + utente.setBloccoListino(flag_bloccoMenuListini); sql = "SELECT top 1 Convert(varchar(10), dateupd , 121) as dateupd " @@ -221,7 +213,7 @@ public class OrdikidsService { ps.close(); List categorie; - String flag_invioCategorie = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "INVIO_CATEGORIE_SCONTO"); + String flag_invioCategorie = setupSection.get("INVIO_CATEGORIE_SCONTO"); // if("S".equals(flag_invioCategorie)){ sql = "SELECT DISTINCT vvw_clienti_agenti.cod_sco_cli, vtb_sccl.descrizione, " @@ -248,7 +240,7 @@ public class OrdikidsService { } List moduliPvm = new ArrayList<>(); - String jsonModuliPvm = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "ORDIKIDS", "SETUP", "MODULI_PVM"); + String jsonModuliPvm = setupSection.get("MODULI_PVM"); if (jsonModuliPvm != null && jsonModuliPvm.length() > 0) { try { ObjectMapper mapper = new ObjectMapper(); @@ -534,7 +526,7 @@ public class OrdikidsService { for (ArticoliDTO articoloDTO : articoli) { List coloriOLDStyle = - coloriFull.stream().filter(x->x.getCodStyle().equalsIgnoreCase(articoloDTO.getCod_style())).collect(Collectors.toList()); + coloriFull.stream().filter(x -> x.getCodStyle().equalsIgnoreCase(articoloDTO.getCod_style())).collect(Collectors.toList()); articoloDTO.setColori(coloriOLDStyle);