Merge branch 'develop' into feature/Feature-CAPELLIMONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-11-05 11:56:23 +01:00
7 changed files with 409 additions and 12 deletions

View File

@@ -0,0 +1,370 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251104122721 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateView(
"vvw_contratti_vendita",
"CREATE VIEW [dbo].[vvw_contratti_vendita] AS\n" +
"WITH depo AS (SELECT TOP 1 cod_mdep\n" +
" FROM mtb_depo\n" +
" WHERE mtb_depo.flag_movimentabile = 'S'\n" +
" AND (cod_anag IS NULL OR cod_anag IN (SELECT gtb_anag.cod_anag\n" +
" FROM gtb_anag,\n" +
" azienda\n" +
" WHERE gtb_anag.part_iva = azienda.part_iva))),\n" +
" contratto AS (SELECT vtb_offt.cod_anag,\n" +
" vtb_offt.cod_vdes,\n" +
" vtb_offt.note,\n" +
" vtb_offr.id_offerta,\n" +
" vtb_offr.cod_mart,\n" +
" vtb_offr.unt_mis,\n" +
" vtb_offr.descrizione,\n" +
" vtb_offr.descrizione_html,\n" +
" vtb_offr.json_costi,\n" +
" vtb_offr.costo_unt,\n" +
" vtb_offr.unt_mis_vend,\n" +
" vtb_offr.prz_unt,\n" +
" vtb_offr.qta_off,\n" +
" vtb_offr.data_iniz_contr,\n" +
" vtb_offr.data_fine_contr,\n" +
" vtb_offt.cod_paga,\n" +
" vtb_offt.descrizione_paga,\n" +
" vtb_offr.perc_sco1,\n" +
" vtb_offr.perc_sco2,\n" +
" vtb_offr.perc_sco3,\n" +
" vtb_offr.perc_sco4,\n" +
" vtb_offr.rap_conv_vend,\n" +
" vtb_offr.qta_ord,\n" +
" vtb_offr.qta_doc,\n" +
" vtb_offr.qta_fatt,\n" +
" vtb_offr.note AS note_riga,\n" +
" vtb_offt.condizioni_commerciali,\n" +
" vtb_offt.incoterms,\n" +
" vtb_offt.note_incoterms,\n" +
" vtb_offt.data_rif_scad,\n" +
" vtb_offt.perc_prov,\n" +
" vtb_offt.note_carico,\n" +
" vtb_offt.term_cons,\n" +
" vtb_offt.cod_banc,\n" +
" vtb_offt.cod_banc_azi\n" +
" FROM vtb_offt\n" +
" INNER JOIN vtb_offr ON vtb_offt.id_offerta = vtb_offr.id_offerta\n" +
" CROSS APPLY [dbo].[getUntMisArticolo](vtb_offr.cod_mart, vtb_offr.unt_mis_vend) um\n" +
" WHERE stato_offerta = 3)\n" +
"\n" +
"SELECT contratto.data_iniz_contr AS data_iniz,\n" +
" contratto.data_fine_contr AS data_fine,\n" +
" contratto.id_offerta AS id_contratto,\n" +
" contratto.note,\n" +
" contratto.cod_mart,\n" +
" contratto.descrizione AS descrizione_articolo,\n" +
" contratto.unt_mis_vend AS unt_mis_ven,\n" +
" contratto.qta_off AS qta_vend_contratto,\n" +
" contratto.prz_unt AS prz_vend,\n" +
" contratto.perc_sco1,\n" +
" contratto.perc_sco2,\n" +
" contratto.perc_sco3,\n" +
" contratto.perc_sco4,\n" +
" ISNULL(contratto.qta_ord, 0) AS qta_ord,\n" +
" ISNULL(contratto.qta_doc, 0) AS qta_doc,\n" +
" gtb_anag.cod_anag,\n" +
" gtb_anag.rag_soc,\n" +
" gtb_anag.indirizzo,\n" +
" gtb_anag.cap,\n" +
" gtb_anag.citta,\n" +
" gtb_anag.prov,\n" +
" gtb_anag.nazione,\n" +
" gtb_anag.e_mail,\n" +
" gtb_anag.telefono,\n" +
" gtb_anag.part_iva,\n" +
" ISNULL(giacenza.qta_disp * rap_conv_vend, 0) AS qta_disp,\n" +
" (SELECT cod_mdep FROM depo) AS cod_mdep,\n" +
" contratto.prz_unt * (1 - contratto.perc_sco1 / 100) * (1 - contratto.perc_sco2 / 100) -\n" +
" (1 * contratto.perc_sco3 / 100) *\n" +
" (1 - contratto.perc_sco4 / 100) AS prz_vend_netto,\n" +
" contratto.cod_paga,\n" +
" ISNULL(contratto.descrizione_paga, gtb_paga.descrizione) AS descrizione_paga,\n" +
" contratto.qta_off -\n" +
" ISNULL(contratto.qta_ord, 0) -\n" +
" ISNULL(contratto.qta_doc, 0) AS qta_residua,\n" +
" ISNULL(contratto.qta_ord + contratto.qta_doc, 0) AS qta_usata,\n" +
" contratto.rap_conv_vend AS rap_conv,\n" +
" contratto.cod_vdes,\n" +
" vd.destinatario,\n" +
" vd.indirizzo AS indirizzo_dest,\n" +
" vc.cod_vlis,\n" +
" contratto.qta_fatt,\n" +
" contratto.note_riga,\n" +
" contratto.condizioni_commerciali,\n" +
" contratto.incoterms,\n" +
" gp.descrizione AS desc_incoterms,\n" +
" contratto.note_incoterms,\n" +
" contratto.data_rif_scad,\n" +
" contratto.perc_prov,\n" +
" contratto.note_carico,\n" +
" contratto.term_cons,\n" +
" gtb_tipi_paga.flag_banca_ven,\n" +
" IIF(gtb_tipi_paga.flag_banca_ven = 'C', gb.cod_banc, gba.cod_banc_azi) AS cod_banc,\n" +
" IIF(gtb_tipi_paga.flag_banca_ven = 'C', gb.descrizione, gba.descrizione) AS descr_banc\n" +
"FROM contratto\n" +
" INNER JOIN gtb_anag ON contratto.cod_anag = gtb_anag.cod_anag\n" +
" INNER JOIN vtb_clie vc ON contratto.cod_anag = vc.cod_anag\n" +
" LEFT OUTER JOIN vtb_dest vd ON contratto.cod_anag = vd.cod_anag AND contratto.cod_vdes = vd.cod_vdes\n" +
" LEFT OUTER JOIN gtb_paga ON contratto.cod_paga = gtb_paga.cod_paga\n" +
" LEFT OUTER JOIN gtb_tipi_paga ON gtb_paga.tipo_paga = gtb_tipi_paga.tipo_paga\n" +
" LEFT OUTER JOIN gtb_porto gp ON contratto.incoterms = gp.porto\n" +
" LEFT OUTER JOIN gtb_banc gb ON contratto.cod_banc = gb.cod_banc\n" +
" LEFT OUTER JOIN gtb_banc_azi gba ON contratto.cod_banc_azi = gba.cod_banc_azi\n" +
" OUTER APPLY (SELECT SUM(mtb_part.qta_esistente + mtb_part.qta_imp_lav - mtb_part.qta_imp_cli) AS qta_disp\n" +
" FROM mtb_part\n" +
" INNER JOIN mtb_depo ON mtb_part.cod_mdep = mtb_depo.cod_mdep\n" +
" WHERE mtb_depo.flag_movimentabile = 'S'\n" +
" AND mtb_part.cod_mart = contratto.cod_mart) giacenza");
createOrUpdateFunction(
"pvm_getassortimentoClientePedane",
"CREATE FUNCTION [dbo].[pvm_getassortimentoClientePedane](\n" +
" @codAnag VARCHAR(5), @codVlis VARCHAR(5), @codVdes VARCHAR(5), @dataValidita DATETIME, @viewPromo BIT,\n" +
" @pedane INT = 0\n" +
")\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN( /*\n" +
"\n" +
" declare @codAnag VARCHAR(5), @codVlis VARCHAR(5), @dataValidita DATETIME, @viewPromo BIT\n" +
" set @codAnag = 'C3355'\n" +
" set @codVlis = 'C3355'\n" +
" set @dataValidita = '2023/04/04'\n" +
" set @viewPromo = 1;\n" +
" */\n" +
" WITH assortimento AS (SELECT vtb_griglia_art.cod_mart\n" +
" FROM vtb_clie\n" +
" INNER JOIN vtb_griglia ON vtb_clie.cod_griglia = vtb_griglia.cod_griglia\n" +
" INNER JOIN vtb_griglia_art\n" +
" ON vtb_griglia.cod_griglia = vtb_griglia_art.cod_griglia AND\n" +
" vtb_griglia.data_validita = vtb_griglia_art.data_validita\n" +
" WHERE vtb_clie.cod_anag = @codAnag\n" +
" AND vtb_griglia.data_validita = (SELECT MAX(g.data_validita)\n" +
" FROM vtb_griglia g\n" +
" WHERE g.cod_griglia = vtb_clie.cod_griglia\n" +
" AND g.data_validita <= ISNULL(@dataValidita, CAST(GETDATE() AS DATE)))),\n" +
" lisv AS (SELECT cod_vlis, cod_vlis AS cod_vlis_rif\n" +
" FROM vtb_list\n" +
" WHERE cod_vlis_rif IS NULL\n" +
" UNION ALL\n" +
" SELECT cod_vlis, cod_vlis_rif\n" +
" FROM vtb_list\n" +
" WHERE cod_vlis_rif IS NOT NULL),\n" +
" listino AS (SELECT DISTINCT cod_mart, tipo_variazione\n" +
" FROM (SELECT lisv.cod_vlis,\n" +
" mtb_lisv.cod_mart,\n" +
" LAST_VALUE(CASE\n" +
" WHEN vtb_list_data.data_iniz IS NULL THEN NULL\n" +
" ELSE mtb_lisv_data.tipo_variazione END)\n" +
" OVER (PARTITION BY lisv.cod_vlis, mtb_lisv.cod_mart\n" +
" ORDER BY vtb_list_data.data_iniz, CASE WHEN vtb_list_data.cod_promo IS NULL THEN 0 ELSE 1 END, vtb_list_data.versione\n" +
" RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS tipo_variazione\n" +
" FROM lisv\n" +
" INNER JOIN mtb_lisv ON lisv.cod_vlis_rif = mtb_lisv.cod_vlis\n" +
" INNER JOIN mtb_lisv_data ON mtb_lisv.cod_vlis = mtb_lisv_data.cod_vlis AND\n" +
" mtb_lisv.cod_mart = mtb_lisv_data.cod_mart\n" +
" LEFT OUTER JOIN vtb_list_data\n" +
" ON mtb_lisv_data.cod_vlis = vtb_list_data.cod_vlis AND\n" +
" mtb_lisv_data.versione = vtb_list_data.versione AND\n" +
" vtb_list_data.data_iniz <=\n" +
" ISNULL(@dataValidita, CAST(GETDATE() AS DATE))\n" +
" WHERE lisv.cod_vlis = @codVlis\n" +
" AND NOT EXISTS(SELECT cod_mart FROM assortimento)) t\n" +
" WHERE (t.tipo_variazione IS NULL OR t.tipo_variazione <> 'D')),\n" +
" tmp_lisv AS (SELECT l.cod_mart,\n" +
" l.cod_vlis,\n" +
" ISNULL(p.data_iniz, l.data_iniz) AS data_iniz,\n" +
" p.data_fine,\n" +
" l.da,\n" +
" l.a,\n" +
" ISNULL(p.prz_vend, l.prz_vend_trasp) AS prz_vend,\n" +
" ISNULL(p.prz_vend_netto, l.prz_vend_trasp_netto) AS prz_vend_netto,\n" +
" ISNULL(p.perc_sco1, l.perc_sco1) AS perc_sco1,\n" +
" ISNULL(p.perc_sco2, l.perc_sco2) AS perc_sco2,\n" +
" ISNULL(p.perc_sco3, l.perc_sco3) AS perc_sco3,\n" +
" ISNULL(p.perc_sco4, l.perc_sco4) AS perc_sco4,\n" +
" p.perc_prov,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS qta_residua,\n" +
" CONVERT(BIGINT, NULL) AS id_contratto,\n" +
" ISNULL(p.rap_conv, l.rap_conv) AS rap_conv,\n" +
" ISNULL(p.note, l.note) AS note,\n" +
" CAST(NULL AS VARCHAR(5)) AS cod_vdes,\n" +
" l.cod_tcol_ul AS cod_tcol_ul,\n" +
" ISNULL(p.unt_mis_ven, l.unt_mis_ven) AS unt_mis_ven,\n" +
" l.colli_pedana AS colli_pedana,\n" +
" ISNULL(p.tipo_variazione, l.tipo_variazione) AS tipo_variazione,\n" +
" CONVERT(VARCHAR(1), CASE\n" +
" WHEN p.cod_promo IS NULL THEN NULL\n" +
" ELSE 'P' END) AS tipo_promo,\n" +
" CONVERT(VARCHAR(5), NULL) AS cod_paga,\n" +
" CONVERT(VARCHAR(5), NULL) AS descr_paga,\n" +
" l.porto,\n" +
" l.qta_cnf,\n" +
" NULL AS note_incoterms,\n" +
" NULL AS data_rif_scad,\n" +
" NULL AS note_carico,\n" +
" NULL AS term_cons,\n" +
" NULL AS cod_banc,\n" +
" NULL AS descr_banc\n" +
" FROM dbo.getListinoVenditaPedane(@dataValidita, @codVlis, NULL, @pedane) l\n" +
" LEFT OUTER JOIN dbo.getPromozioneVendita(@dataValidita, @dataValidita,\n" +
" @codVlis, NULL, NULL) p\n" +
" ON l.cod_vlis = p.cod_vlis AND l.cod_mart = p.cod_mart AND\n" +
" ISNULL(@viewPromo, 0) = 1\n" +
" WHERE l.cod_vlis = @codVlis\n" +
" AND l.cod_mart IN (SELECT cod_mart\n" +
" FROM assortimento\n" +
" UNION ALL\n" +
" SELECT cod_mart\n" +
" FROM listino)\n" +
" AND l.tipo_variazione <> 'D'\n" +
" AND l.tipo_variazione IS NOT NULL\n" +
" AND l.flag_attivo = 'S'\n" +
" UNION ALL\n" +
" SELECT l.cod_mart,\n" +
" l.cod_vlis,\n" +
" NULL AS data_iniz,\n" +
" NULL AS data_fine,\n" +
" NULL AS da,\n" +
" NULL AS a,\n" +
" NULL AS prz_vend,\n" +
" NULL AS prz_vend_netto,\n" +
" NULL AS perc_sco1,\n" +
" NULL AS perc_sco2,\n" +
" NULL AS perc_sco3,\n" +
" NULL AS perc_sco4,\n" +
" NULL AS perc_prov,\n" +
" NULL AS qta_residua,\n" +
" NULL AS id_contratto,\n" +
" um.rap_conv AS rap_conv,\n" +
" NULL AS note,\n" +
" CAST(NULL AS VARCHAR(5)) AS cod_vdes,\n" +
" NULL AS cod_tcol_ul,\n" +
" l.unt_mis_ven AS unt_mis_ven,\n" +
" NULL AS colli_pedana,\n" +
" NULL AS tipo_variazione,\n" +
" NULL AS tipo_promo,\n" +
" CONVERT(VARCHAR(5), NULL) AS cod_paga,\n" +
" CONVERT(VARCHAR(5), NULL) AS descr_paga,\n" +
" NULL porto,\n" +
" mtb_aart.qta_cnf,\n" +
" NULL AS note_incoterms,\n" +
" NULL AS data_rif_scad,\n" +
" NULL AS note_carico,\n" +
" NULL AS term_cons,\n" +
" NULL AS cod_banc,\n" +
" NULL AS descr_banc\n" +
" FROM mtb_lisv l\n" +
" INNER JOIN listino ON l.cod_mart = listino.cod_mart\n" +
" INNER JOIN mtb_aart ON l.cod_mart = mtb_aart.cod_mart\n" +
" CROSS APPLY dbo.getUntMisArticolo(l.cod_mart, l.unt_mis_ven) um\n" +
" WHERE l.cod_vlis = @codVlis\n" +
" AND listino.tipo_variazione IS NULL\n" +
" UNION ALL\n" +
" SELECT vvw_contratti_vendita.cod_mart,\n" +
" NULL AS cod_vlis,\n" +
" vvw_contratti_vendita.data_iniz,\n" +
" vvw_contratti_vendita.data_fine,\n" +
" NULL AS da,\n" +
" NULL AS a,\n" +
" vvw_contratti_vendita.prz_vend,\n" +
" ROUND(vvw_contratti_vendita.prz_vend *\n" +
" (1 - ISNULL(vvw_contratti_vendita.perc_sco1, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco2, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco3, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco4, 0)),\n" +
" 5) AS prz_vend_netto,\n" +
" vvw_contratti_vendita.perc_sco1,\n" +
" vvw_contratti_vendita.perc_sco2,\n" +
" vvw_contratti_vendita.perc_sco3,\n" +
" vvw_contratti_vendita.perc_sco4,\n" +
" vvw_contratti_vendita.perc_prov,\n" +
" vvw_contratti_vendita.qta_residua,\n" +
" vvw_contratti_vendita.id_contratto,\n" +
" vvw_contratti_vendita.rap_conv,\n" +
" vvw_contratti_vendita.note,\n" +
" vvw_contratti_vendita.cod_vdes,\n" +
" NULL,\n" +
" vvw_contratti_vendita.unt_mis_ven,\n" +
" NULL,\n" +
" NULL,\n" +
" 'C' AS tipo_promo,\n" +
" vvw_contratti_vendita.cod_paga,\n" +
" vvw_contratti_vendita.descrizione_paga AS descr_paga,\n" +
" vvw_contratti_vendita.incoterms AS porto,\n" +
" mtb_aart.qta_cnf,\n" +
" vvw_contratti_vendita.note_incoterms,\n" +
" vvw_contratti_vendita.data_rif_scad,\n" +
" vvw_contratti_vendita.note_carico,\n" +
" vvw_contratti_vendita.term_cons,\n" +
" vvw_contratti_vendita.cod_banc,\n" +
" vvw_contratti_vendita.descr_banc\n" +
" FROM vvw_contratti_vendita\n" +
" INNER JOIN mtb_aart ON vvw_contratti_vendita.cod_mart = mtb_aart.cod_mart\n" +
" WHERE vvw_contratti_vendita.cod_anag = @codAnag\n" +
" AND (@codVdes IS NULL OR vvw_contratti_vendita.cod_vdes IS NULL OR\n" +
" vvw_contratti_vendita.cod_vdes = @codVdes)\n" +
" AND (ISNULL(@dataValidita, CAST(GETDATE() AS DATE)) BETWEEN\n" +
" vvw_contratti_vendita.data_iniz AND vvw_contratti_vendita.data_fine)\n" +
"-- AND vvw_contratti_vendita.qta_residua >= 0\n" +
" )\n" +
"\n" +
" SELECT tmp_lisv.cod_mart,\n" +
" ISNULL(maa.cod_mart_anag, tmp_lisv.cod_mart) AS cod_mart_anag,\n" +
" cod_vlis,\n" +
" data_iniz,\n" +
" data_fine,\n" +
" da,\n" +
" a,\n" +
" prz_vend,\n" +
" prz_vend_netto,\n" +
" perc_sco1,\n" +
" perc_sco2,\n" +
" perc_sco3,\n" +
" perc_sco4,\n" +
" perc_prov,\n" +
" qta_residua,\n" +
" id_contratto,\n" +
" rap_conv,\n" +
" ISNULL(maa.note, tmp_lisv.note) AS note,\n" +
" cod_tcol_ul,\n" +
" unt_mis_ven,\n" +
" CASE\n" +
" WHEN maa.colli_pedana IS NULL OR maa.colli_pedana = 0 THEN tmp_lisv.colli_pedana\n" +
" ELSE maa.colli_pedana END AS colli_pedana,\n" +
" tipo_variazione,\n" +
" tipo_promo,\n" +
" cod_paga,\n" +
" descr_paga,\n" +
" porto,\n" +
" qta_cnf,\n" +
" CAST(CASE WHEN tmp_lisv.data_iniz IS NULL THEN 0 ELSE 1 END AS BIT) AS art_lisv,\n" +
" cod_vdes,\n" +
" note_incoterms,\n" +
" data_rif_scad,\n" +
" note_carico,\n" +
" term_cons,\n" +
" cod_banc,\n" +
" descr_banc\n" +
" FROM tmp_lisv\n" +
" LEFT OUTER JOIN mtb_aart_anag maa\n" +
" ON tmp_lisv.cod_mart = maa.cod_mart AND maa.cod_anag = @codAnag)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -102,6 +102,14 @@ public class VtbOfft extends EntityBase implements EquatableEntityInterface<VtbO
@SqlField(value = "term_cons", maxLength = 1025) @SqlField(value = "term_cons", maxLength = 1025)
private String termCons; private String termCons;
@FK(tableName = GtbBanc.ENTITY, columnName = "cod_banc")
@SqlField(value = "cod_banc", maxLength = 5)
private String codBanc;
@FK(tableName = GtbBancAzi.ENTITY, columnName = "cod_banc_azi")
@SqlField(value = "cod_banc_azi", maxLength = 5)
private String codBancAzi;
@EntityChild @EntityChild
private List<VtbOffr> vtbOffr = new ArrayList<>(); private List<VtbOffr> vtbOffr = new ArrayList<>();
@@ -304,6 +312,24 @@ public class VtbOfft extends EntityBase implements EquatableEntityInterface<VtbO
return this; return this;
} }
public String getCodBanc() {
return codBanc;
}
public VtbOfft setCodBanc(String codBanc) {
this.codBanc = codBanc;
return this;
}
public String getCodBancAzi() {
return codBancAzi;
}
public VtbOfft setCodBancAzi(String codBancAzi) {
this.codBancAzi = codBancAzi;
return this;
}
public StbActivity getStbActivity() { public StbActivity getStbActivity() {
return stbActivity; return stbActivity;
} }

View File

@@ -124,7 +124,7 @@ no-loop
when when
eval(completeRulesEnabled) eval(completeRulesEnabled)
$rLavR: JtbRLavr((ore == 0 || ore == null) && ( $rLavR: JtbRLavr((ore == 0 || ore == null) && (
!UtilityLocalDate.isNull(aOra) && !UtilityLocalDate.isNull(aOra))) !UtilityLocalDate.isNull(daOra) && !UtilityLocalDate.isNull(aOra)))
then then
BigDecimal ore= ProductionsRules.completeOre(conn, $rLavR); BigDecimal ore= ProductionsRules.completeOre(conn, $rLavR);
modify ( $rLavR ) { setOre(ore) } modify ( $rLavR ) { setOre(ore) }

View File

@@ -109,7 +109,7 @@ public class SteUPService {
private String getUserNamePv(String codMdep) throws Exception { private String getUserNamePv(String codMdep) throws Exception {
String userNamePv = null; String userNamePv = null;
String sql = "SELECT wtb_users.user_name " + String sql = "SELECT stb_user.user_name " +
"FROM mtb_depo INNER JOIN wtb_depo ON wtb_depo.cod_mdep = mtb_depo.cod_mdep " + "FROM mtb_depo INNER JOIN wtb_depo ON wtb_depo.cod_mdep = mtb_depo.cod_mdep " +
" INNER JOIN stb_user ON wtb_depo.user_name = stb_user.user_name AND " + " INNER JOIN stb_user ON wtb_depo.user_name = stb_user.user_name AND " +
" stb_user.key_group = 10 "; " stb_user.key_group = 10 ";

View File

@@ -747,15 +747,15 @@ public class OrderGeneratorService {
} }
private String sendNotification(Map<DtbOrdt, String> errors, String profileDb, String emailForLog) throws Exception { private String sendNotification(Map<DtbOrdt, String> errors, String profileDb, String emailForLog) throws Exception {
String returnMessage = ""; StringBuilder returnMessage = new StringBuilder();
if (!UtilityString.isNullOrEmpty(emailForLog)) { if (!UtilityString.isNullOrEmpty(emailForLog)) {
String mailSubject = "Errore/i durante l'esportazione degli ordini di vendita verso " + profileDb; String mailSubject = "Errore/i durante l'esportazione degli ordini di vendita verso " + profileDb;
StringBuilder sb = new StringBuilder("<strong>Durante la procedura di esportazione degli ordini sono stati riscontrati i seguenti errori: </strong><br><ul>"); StringBuilder sb = new StringBuilder("<strong>Durante la procedura di esportazione degli ordini sono stati riscontrati i seguenti errori: </strong><br><ul>");
for (DtbOrdt order : errors.keySet()) { for (Map.Entry<DtbOrdt, String> entry : errors.entrySet()) {
String orderKey = StringUtils.join(Arrays.asList(order.getGestione(), order.getDataOrd(), order.getNumOrdProvv()), " - "); String orderKey = StringUtils.join(Arrays.asList(entry.getKey().getGestione(), entry.getKey().getDataOrd(), entry.getKey().getNumOrdProvv()), " - ");
sb.append(String.format("<li>Ordine [%s]: %s</li>", orderKey, errors.get(order))); sb.append(String.format("<li>Ordine [%s]: %s</li>", orderKey, entry.getValue()));
returnMessage += String.format("Ordine [%s]: %s<br />", orderKey, errors.get(order)); returnMessage.append(String.format("Ordine [%s]: %s<br />", orderKey, entry.getValue()));
} }
sb.append("</ul>"); sb.append("</ul>");
@@ -763,7 +763,7 @@ public class OrderGeneratorService {
} }
logger.error("Riscontrati errori durante l'esportazione degli ordini di vendita"); logger.error("Riscontrati errori durante l'esportazione degli ordini di vendita");
return returnMessage; return returnMessage.toString();
} }
} }

View File

@@ -425,7 +425,7 @@ public class ProductionOrdersLifecycleService {
dtbOrdl.setPartitaMag(EmsRestConstants.NULL); dtbOrdl.setPartitaMag(EmsRestConstants.NULL);
} }
if (UtilityString.equalsIgnoreCase(ripianificaOrdineLavRequestDTO.getCodJfasNew(), ripianificaOrdineLavRequestDTO.getCodJfasOld())) { if (!UtilityString.equalsIgnoreCase(ripianificaOrdineLavRequestDTO.getCodJfasNew(), ripianificaOrdineLavRequestDTO.getCodJfasOld())) {
sql = sql =
Query.format( Query.format(
"SELECT * FROM dtb_ord_steps WHERE gestione = %s AND data_ord = %s AND num_ord = %s ORDER BY data_fine desc", "SELECT * FROM dtb_ord_steps WHERE gestione = %s AND data_ord = %s AND num_ord = %s ORDER BY data_fine desc",
@@ -441,9 +441,10 @@ public class ProductionOrdersLifecycleService {
DtbOrdSteps dtbOrdSteps = (DtbOrdSteps) lastStep.deepClone(); DtbOrdSteps dtbOrdSteps = (DtbOrdSteps) lastStep.deepClone();
dtbOrdSteps dtbOrdSteps
.setCodJfas(ripianificaOrdineLavRequestDTO.getCodJfasNew()) .setCodJfas(ripianificaOrdineLavRequestDTO.getCodJfasNew())
.setIdRiga(null) .setIdRiga(0)
.setDataIniz(null) .setDataIniz(null)
.setDataFine(null); .setDataFine(null)
.setFlagStepAttivo("S");
dtbOrdSteps.setOperation(OperationType.INSERT); dtbOrdSteps.setOperation(OperationType.INSERT);
dtbOrdl.getDtbOrdSteps().add(dtbOrdSteps); dtbOrdl.getDtbOrdSteps().add(dtbOrdSteps);
} }

View File

@@ -169,7 +169,7 @@ public class MmposServices {
List<MMPosDTO> mmPosDTOS = UtilityDB.executeSimpleQueryDTO(mmpos.getPrimaryConnection(), sql, MMPosDTO.class); List<MMPosDTO> mmPosDTOS = UtilityDB.executeSimpleQueryDTO(mmpos.getPrimaryConnection(), sql, MMPosDTO.class);
if (mmPosDTOS == null || mmPosDTOS.isEmpty()) { if (mmPosDTOS == null || mmPosDTOS.isEmpty()) {
logger.info("Nessun scontrino da importare ( whereCond:%s db: %s)", whereCond, mmpos.getPrimaryConnection().getDbName()); logger.info(String.format("Nessun scontrino da importare ( whereCond:%s db: %s)", whereCond, mmpos.getPrimaryConnection().getDbName()));
return entityReturn; return entityReturn;
} }