Merge branch 'refs/heads/develop' into feature/Feature-variazioni2
This commit is contained in:
@@ -7,6 +7,10 @@
|
||||
<option name="HOST" value="localhost" />
|
||||
<option name="PORT" value="8000" />
|
||||
<option name="AUTO_RESTART" value="false" />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="8000" />
|
||||
<option name="LOCAL" value="false" />
|
||||
</RunnerSettings>
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
@@ -94,7 +94,7 @@ public class MenuConfigurationService {
|
||||
final Azienda azienda = Azienda.getDefaultAzienda(connection);
|
||||
int lastMenuUpd = Integer.parseInt(azienda.getLastUpgDbMenu().replace("QM", ""));
|
||||
|
||||
if (menuConfig.getVersion() < lastMenuUpd)
|
||||
if (lastMenuUpd >= menuConfig.getVersion())
|
||||
return;
|
||||
|
||||
executeStatement(connection, "DELETE FROM stb_menu",
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240510172417 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement(
|
||||
"alter table mtb_lisv add flag_add_ric_spese bit default 0 not null",
|
||||
"alter table mtb_lisv add flag_add_val_spese bit default 0 not null",
|
||||
"alter table mtb_lisv add flag_add_sco_spese bit default 0 not null");
|
||||
|
||||
if (isCustomerDb(
|
||||
IntegryCustomerDB.RossoGargano_RossoGargano)) {
|
||||
|
||||
executeStatement("UPDATE mtb_lisv set flag_add_ric_spese = 1, flag_add_val_spese = 1, flag_add_sco_spese = 1");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
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_20240514115827 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isCustomer(IntegryCustomer.Carelli))
|
||||
createOrUpdateFunction("steup_getEntriesRilevazione", "CREATE FUNCTION [dbo].[steup_getEntriesRilevazione]()\n" +
|
||||
" RETURNS TABLE AS return\n" +
|
||||
"WITH steup_ispezioni AS (SELECT * FROM steup_getRilevazioni()),\n" +
|
||||
"\n" +
|
||||
" steup_activities AS (SELECT stb_activity.activity_id,\n" +
|
||||
" stb_activity.activity_type_id,\n" +
|
||||
" stb_activity.data_ins_act,\n" +
|
||||
" ISNULL(stb_activity.effective_time, stb_activity.ora_ins_act) AS effective_time,\n" +
|
||||
" stb_activity.cod_mart,\n" +
|
||||
" mtb_aart.descrizione AS descr_art,\n" +
|
||||
" stb_activity.activity_play_counter,\n" +
|
||||
" stb_activity.note,\n" +
|
||||
" stb_activity.cod_jfas,\n" +
|
||||
" stb_activity.flag_tipologia,\n" +
|
||||
" stb_activity.persona_rif,\n" +
|
||||
" stb_activity.priorita,\n" +
|
||||
" wtb_depo.cod_mdep,\n" +
|
||||
" jtb_fasi.descrizione AS descr_fase,\n" +
|
||||
" stb_activity.parent_activity_id,\n" +
|
||||
" stb_activity.indice_gradimento,\n" +
|
||||
" stb_activity.user_creator,\n" +
|
||||
" jtb_fasi.max_allocazione,\n" +
|
||||
" SUM(indice_gradimento)\n" +
|
||||
" OVER ( PARTITION BY parent_activity_id,wtb_depo.cod_mdep,jtb_fasi.cod_jfas ) AS gradimento_reparto,\n" +
|
||||
" steup_ispezioni.effective_time AS data_isp\n" +
|
||||
" FROM winact.dbo.stb_activity\n" +
|
||||
" INNER JOIN steup_ispezioni ON parent_activity_id = steup_ispezioni.activity_id\n" +
|
||||
" LEFT OUTER JOIN winact.dbo.jtb_fasi ON stb_activity.cod_jfas = jtb_fasi.cod_jfas\n" +
|
||||
" LEFT OUTER JOIN winact.dbo.mtb_aart ON stb_activity.cod_mart = mtb_aart.cod_mart\n" +
|
||||
" LEFT OUTER JOIN winact.dbo.wtb_depo ON stb_activity.user_name = wtb_depo.user_name\n" +
|
||||
" WHERE ISNULL(cod_jcom, '') <> 'MODEL'\n" +
|
||||
" and stb_activity.cod_mart is null\n" +
|
||||
" AND stb_activity.flag_tipologia = 'A')\n" +
|
||||
" ,\n" +
|
||||
"\n" +
|
||||
"\n" +
|
||||
"\n" +
|
||||
"\n" +
|
||||
" gradimento_reparto AS (SELECT DISTINCT parent_activity_id,\n" +
|
||||
" cod_jfas,\n" +
|
||||
" cod_mdep,\n" +
|
||||
" data_isp,\n" +
|
||||
" gradimento_reparto,\n" +
|
||||
" LAG(gradimento_reparto, 1, 0)\n" +
|
||||
" OVER (PARTITION BY cod_mdep,cod_jfas ORDER BY data_isp ) AS grad_1,\n" +
|
||||
" LAG(gradimento_reparto, 2, 0)\n" +
|
||||
" OVER (PARTITION BY cod_mdep,cod_jfas ORDER BY data_isp ) AS grad_2\n" +
|
||||
"\n" +
|
||||
" FROM (SELECT DISTINCT parent_activity_id, cod_mdep, cod_jfas, gradimento_reparto, data_isp\n" +
|
||||
" FROM steup_activities) acti)\n" +
|
||||
"\n" +
|
||||
"\n" +
|
||||
"SELECT steup_activities.*,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN gradimento_reparto.grad_1 > max_allocazione AND gradimento_reparto.grad_2 > max_allocazione THEN 1\n" +
|
||||
" ELSE 0 END AS recidiva,\n" +
|
||||
" ((SELECT COUNT(*)\n" +
|
||||
" FROM stb_activity art\n" +
|
||||
" WHERE steup_activities.activity_id = art.parent_activity_id) + (SELECT COUNT(*)\n" +
|
||||
" FROM mtb_colt\n" +
|
||||
" INNER JOIN mtb_colr\n" +
|
||||
" ON mtb_colt.gestione =\n" +
|
||||
" mtb_colr.gestione AND\n" +
|
||||
" mtb_colt.data_collo =\n" +
|
||||
" mtb_colr.data_collo AND\n" +
|
||||
" mtb_colt.ser_collo =\n" +
|
||||
" mtb_colr.ser_collo AND\n" +
|
||||
" mtb_colt.num_collo =\n" +
|
||||
" mtb_colr.num_collo\n" +
|
||||
" WHERE mtb_colt.activity_id = steup_activities.activity_id)) AS count_art\n" +
|
||||
"FROM steup_activities\n" +
|
||||
" left outer JOIN gradimento_reparto ON steup_activities.parent_activity_id = gradimento_reparto.parent_activity_id\n" +
|
||||
" AND steup_activities.cod_mdep = gradimento_reparto.cod_mdep\n" +
|
||||
" AND steup_activities.cod_jfas = gradimento_reparto.cod_jfas");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240515124626 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement(
|
||||
"exec sp_rename 'mtb_lisv.flag_add_ric_spese', 'add_ric_spese'",
|
||||
"exec sp_rename 'mtb_lisv.flag_add_val_spese', 'add_val_spese'",
|
||||
"exec sp_rename 'mtb_lisv.flag_add_sco_spese', 'add_sco_spese'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240515151737 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
executeStatement("ALTER TABLE dtb_docr ADD flag_sezione integer;");
|
||||
executeStatement("ALTER TABLE dtb_difr ADD flag_sezione integer;");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240516144054 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createOrUpdateFunction("getListinoVendita", "/*declare @dataValidita DATETIME, @codVlis VARCHAR(5), @codMart VARCHAR(15)\n" +
|
||||
"\n" +
|
||||
"set @dataValidita = '2024/01/01'\n" +
|
||||
"--set @codVlis = '01' */\n" +
|
||||
"CREATE FUNCTION [dbo].[getListinoVendita](@dataValidita DATETIME, @codVlis VARCHAR(5), @codMart VARCHAR(15))\n" +
|
||||
" RETURNS TABLE AS\n" +
|
||||
" RETURN\n" +
|
||||
" SELECT vtb_list.cod_vlis,\n" +
|
||||
" vtb_list.descrizione,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN tmp_list.max_lisv IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(DATETIME, LEFT(tmp_list.max_lisv, 10)) END AS data_iniz,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN tmp_list.max_lisv IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(INT, RIGHT(tmp_list.max_lisv, 4)) END AS versione,\n" +
|
||||
" vtb_list.cod_divi,\n" +
|
||||
" vtb_list.cambio,\n" +
|
||||
" vtb_list.flag_arr_prz_iva,\n" +
|
||||
" vtb_list.arr_ric,\n" +
|
||||
" vtb_list.flag_list_iva_inclusa,\n" +
|
||||
" vtb_list.flag_lisv_margine,\n" +
|
||||
" vtb_list.flag_add_trasp,\n" +
|
||||
" tmp_list.cod_mart AS 'cod_mart',\n" +
|
||||
" mtb_lisv_data.unt_mis_ven AS unt_mis_ven,\n" +
|
||||
" ISNULL(mtb_lisv_data.rap_conv, 1) AS rap_conv,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_base, 0) AS prz_base,\n" +
|
||||
" ISNULL(mtb_lisv_data.ricarica, 0) AS ricarico,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_lisv_data.prz_vend IS NOT NULL AND mtb_lisv_data.prz_vend <> 0 THEN\n" +
|
||||
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
|
||||
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend, 0) * 100, 2)\n" +
|
||||
" ELSE 0 END AS margine_eff,\n" +
|
||||
" --dbo.f_calcMargineEffettivo(IsNull(mtb_lisv_data.prz_base, 0), IsNull(mtb_lisv_data.prz_vend, 0), mtb_aart.perc_sfrido) as margine_eff,\n" +
|
||||
" --dbo.f_calcRicaricoEffettivo(IsNull(mtb_lisv_data.prz_base, 0), IsNull(mtb_lisv_data.prz_vend, 0), mtb_aart.perc_sfrido) ricarico_eff, \n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_lisv_data.prz_base IS NOT NULL AND mtb_lisv_data.prz_base <> 0 THEN\n" +
|
||||
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
|
||||
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
|
||||
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100)) * 100, 2)\n" +
|
||||
" ELSE 0 END AS ricarico_eff,\n" +
|
||||
"\n" +
|
||||
" ISNULL(mtb_lisv_data.magg_prz_vend, 0) AS magg_prz_vend,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend, 0) AS prz_vend,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend_iva, 0) AS prz_vend_iva,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco1, 0) AS perc_sco1,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco2, 0) AS perc_sco2,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco3, 0) AS perc_sco3,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco4, 0) AS perc_sco4,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_prov, 0) AS perc_prov,\n" +
|
||||
" ISNULL(mtb_lisv_data.fisso_prov, 0) AS fisso_prov,\n" +
|
||||
" ISNULL(mtb_lisv_data.posizione, '') AS posizione,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_gest, 0) AS perc_gest,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_gest, 0) AS val_gest,\n" +
|
||||
" mtb_lisv_data.data_agg_prz AS data_agg_prz,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_ispe, 0) AS perc_ispe,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_ispe, 0) AS val_ispe,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_promo, 0) AS perc_promo,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_promo, 0) AS val_promo,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_oneri, 0) AS perc_oneri,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_oneri, 0) AS val_oneri,\n" +
|
||||
" mtb_lisv_data.tipo_variazione AS tipo_variazione,\n" +
|
||||
" mtb_lisv_data.note AS note,\n" +
|
||||
" mtb_lisv_data.aggiornato_da AS aggiornato_da,\n" +
|
||||
" mtb_lisv_data.prz_vend * (1 - mtb_lisv_data.perc_sco1 / 100) * (1 - mtb_lisv_data.perc_sco2 / 100) *\n" +
|
||||
" (1 - mtb_lisv_data.perc_sco3 / 100) *\n" +
|
||||
" (1 - mtb_lisv_data.perc_sco4 / 100) AS prz_vend_netto,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN ISNULL(mtb_lisv_data.colli_pedana, 0) <> 0 THEN mtb_lisv_data.colli_pedana\n" +
|
||||
" ELSE mtb_aart.colli_pedana END AS colli_pedana,\n" +
|
||||
" mtb_lisv_data.cod_tcol_ul AS cod_tcol_ul,\n" +
|
||||
" mtb_lisv_data.cod_tcol_ui AS cod_tcol_ui,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend_sug, 0) AS prz_vend_sug,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN ISNULL(mtb_lisv_data.qta_cnf, 0) <> 0\n" +
|
||||
" /*AND dbo.getGestSetup('VTB_LIST', 'SETUP', 'QTA_CNF_LISTINO') = 'S' */\n" +
|
||||
" THEN mtb_lisv_data.qta_cnf\n" +
|
||||
" ELSE mtb_aart.qta_cnf END AS qta_cnf,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN ISNULL(mtb_lisv_data.colli_strato, 0) <> 0 THEN mtb_lisv_data.colli_strato\n" +
|
||||
" ELSE mtb_aart.colli_strato END AS colli_strato,\n" +
|
||||
" mtb_lisv_data.descrizione_html AS descrizione_html,\n" +
|
||||
" mtb_lisv_data.colli_pedana AS colli_pedana_lisv,\n" +
|
||||
" mtb_lisv_data.qta_cnf AS qta_cnf_lisv,\n" +
|
||||
" mtb_lisv_data.colli_strato AS colli_strato_lisv,\n" +
|
||||
" mtb_lisv_data.sconto_cartoni,\n" +
|
||||
" mtb_lisv_data.sconto_strato,\n" +
|
||||
" mtb_lisv_data.sconto_pedane,\n" +
|
||||
" vtb_list.flag_attivo,\n" +
|
||||
" vtb_list_data.note AS note_testata,\n" +
|
||||
" ISNULL(mtb_lisv_data.flag_prz_bloccato, 'N') AS flag_prz_bloccato,\n" +
|
||||
" vtb_list_data.porto AS porto,\n" +
|
||||
" mtb_lisv_data.system_note,\n" +
|
||||
" mtb_lisv.add_val_spese,\n" +
|
||||
" mtb_lisv.add_ric_spese,\n" +
|
||||
" mtb_lisv.add_sco_spese\n" +
|
||||
" FROM (SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN vtb_list_data.versione IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(VARCHAR(10), vtb_list_data.data_iniz, 111) + ' ' +\n" +
|
||||
" REPLICATE('0', 5 - LEN(vtb_list_data.versione)) +\n" +
|
||||
" CONVERT(VARCHAR(5), vtb_list_data.versione) END) AS max_lisv,\n" +
|
||||
" vtb_list.cod_vlis AS 'cod_vlis_rif'\n" +
|
||||
" FROM vtb_list,\n" +
|
||||
" mtb_lisv_data\n" +
|
||||
" LEFT OUTER JOIN vtb_list_data 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.cod_promo IS NULL AND\n" +
|
||||
" vtb_list_data.data_iniz <= ISNULL(@dataValidita, GETDATE())\n" +
|
||||
" WHERE vtb_list.cod_vlis = mtb_lisv_data.cod_vlis\n" +
|
||||
" AND vtb_list.cod_vlis_rif IS NULL\n" +
|
||||
" GROUP BY vtb_list.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart\n" +
|
||||
" UNION\n" +
|
||||
" SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN vtb_list_data.versione IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(VARCHAR(10), vtb_list_data.data_iniz, 111) + ' ' +\n" +
|
||||
" REPLICATE('0', 5 - LEN(vtb_list_data.versione_rif)) +\n" +
|
||||
" CONVERT(VARCHAR(5), vtb_list_data.versione_rif) END) AS max_lisv,\n" +
|
||||
" vtb_list.cod_vlis_rif AS 'cod_vlis_rif'\n" +
|
||||
" FROM vtb_list,\n" +
|
||||
" mtb_lisv_data,\n" +
|
||||
" vtb_list_data,\n" +
|
||||
" vtb_list_data vtb_list_data_rif\n" +
|
||||
" WHERE vtb_list.cod_vlis = vtb_list_data.cod_vlis\n" +
|
||||
" AND vtb_list.cod_vlis_rif = vtb_list_data_rif.cod_vlis\n" +
|
||||
" AND vtb_list_data.versione_rif = vtb_list_data_rif.versione\n" +
|
||||
" AND vtb_list_data_rif.cod_vlis = mtb_lisv_data.cod_vlis\n" +
|
||||
" AND vtb_list_data_rif.versione = mtb_lisv_data.versione\n" +
|
||||
" AND vtb_list_data.data_iniz <= ISNULL(@dataValidita, GETDATE())\n" +
|
||||
" AND vtb_list.cod_vlis_rif IS NOT NULL\n" +
|
||||
" GROUP BY vtb_list.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" vtb_list.cod_vlis_rif) tmp_list\n" +
|
||||
" inner join mtb_lisv on tmp_list.cod_vlis = mtb_lisv.cod_vlis and tmp_list.cod_mart = mtb_lisv.cod_mart\n" +
|
||||
" LEFT OUTER JOIN mtb_lisv_data ON tmp_list.cod_vlis_rif = mtb_lisv_data.cod_vlis AND\n" +
|
||||
" tmp_list.cod_mart = mtb_lisv_data.cod_mart AND\n" +
|
||||
" CONVERT(INT, RIGHT(tmp_list.max_lisv, 5)) = mtb_lisv_data.versione\n" +
|
||||
" LEFT OUTER JOIN vtb_list_data ON tmp_list.cod_vlis = vtb_list_data.cod_vlis AND\n" +
|
||||
" CONVERT(INT, RIGHT(tmp_list.max_lisv, 5)) = vtb_list_data.versione,\n" +
|
||||
" vtb_list,\n" +
|
||||
" mtb_aart\n" +
|
||||
" WHERE vtb_list.cod_vlis = tmp_list.cod_vlis\n" +
|
||||
" AND (@codMart IS NULL OR tmp_list.cod_mart = @codMart)\n" +
|
||||
" AND (@codVlis IS NULL OR tmp_list.cod_vlis = @codVlis)\n" +
|
||||
" AND tmp_list.cod_mart = mtb_aart.cod_mart");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -967,16 +967,27 @@ public class SalesRules extends QueryRules {
|
||||
" WHERE cod_vlis = " + UtilityDB.valueToString(mtbLisvData.getCodVlis()) + " AND " +
|
||||
"cod_mart = " + UtilityDB.valueToString(mtbLisvData.getCodMart());
|
||||
boolean existLiv = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
MtbLisv mtbLisv = new MtbLisv()
|
||||
.setCodMart(mtbLisvData.getCodMart())
|
||||
.setCodVlis(mtbLisvData.getCodVlis());
|
||||
mtbLisv.setOperation(OperationType.NO_OP);
|
||||
if (!existLiv) {
|
||||
MtbLisv mtbLisv = new MtbLisv()
|
||||
.setCodMart(mtbLisvData.getCodMart())
|
||||
.setCodVlis(mtbLisvData.getCodVlis())
|
||||
mtbLisv
|
||||
.setUntMisVen(mtbLisvData.getUntMisVen())
|
||||
.setDataAggPrz(new Date())
|
||||
.setAggiornatoDa(mtbLisvData.getAggiornatoDa());
|
||||
mtbLisv.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
mtbLisvData.setMtbLisv(mtbLisv);
|
||||
}
|
||||
|
||||
if (mtbLisvData.getAddRicSpese() != null || mtbLisvData.getAddScoSpese() !=null || mtbLisvData.getAddValSpese() != null){
|
||||
mtbLisv
|
||||
.setAddRicSpese(mtbLisvData.getAddRicSpese())
|
||||
.setAddScoSpese(mtbLisvData.getAddScoSpese())
|
||||
.setAddValSpese(mtbLisvData.getAddValSpese());
|
||||
mtbLisv.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
}
|
||||
|
||||
mtbLisvData.setMtbLisv(mtbLisv);
|
||||
}
|
||||
|
||||
public static void updArtEqui(Connection conn, VtbListData testata) throws Exception {
|
||||
|
||||
@@ -1377,7 +1377,13 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
UniqueKeyRules.chkConstraint(connection, this);
|
||||
|
||||
List<EntityHierarchy.Field> fields = getEntityHolder()
|
||||
.getEntitySqlFields(this.getClass());
|
||||
.getEntityFields(this.getClass(), field ->
|
||||
field.isObjectStorage() ||
|
||||
field.isSqlField() ||
|
||||
field.isClob() ||
|
||||
field.isBlob() ||
|
||||
field.isIdentity()
|
||||
);
|
||||
|
||||
final List<kotlin.Triple<String, Object, Boolean>> preparedFieldsToQuery = prepareFieldsToQuery(fields);
|
||||
// preparedField: 1 = sql_field_name, 2 = value_to_save, 3 = is_identity
|
||||
@@ -1391,7 +1397,7 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
if(identityData != null) {
|
||||
if (identityData != null) {
|
||||
containsIdentity = true;
|
||||
identityFieldName = identityData.getFirst();
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
import java.sql.Connection;
|
||||
import java.util.*;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.reflections.scanners.Scanners.SubTypes;
|
||||
@@ -248,11 +249,12 @@ public class EntityPropertyHolder {
|
||||
}
|
||||
|
||||
|
||||
public List<EntityHierarchy.Field> getEntityFields(Class<? extends EntityBase> clazz) {
|
||||
public List<EntityHierarchy.Field> getEntityFields(Class<? extends EntityBase> clazz, Predicate<EntityHierarchy.Field> filterCondition) {
|
||||
return this.entityHierarchyMap.stream()
|
||||
.filter(x -> x.getClazz().equals(clazz))
|
||||
.map(EntityHierarchy::getFields)
|
||||
.flatMap(Collection::stream)
|
||||
.filter(filterCondition)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
@@ -187,6 +187,9 @@ public class DtbDocr extends DtbBaseDocR {
|
||||
@SqlField(value = "id_contratto")
|
||||
private Long idContratto;
|
||||
|
||||
/*Flag_sezione vale 1 per le righe dei riepilogo INTRa, mentre per tutte le altre righe vale null */
|
||||
@SqlField(value = "flag_sezione")
|
||||
private Integer flagSezione;
|
||||
@JsonProperty(value = "pesoNetto")
|
||||
private BigDecimal pesoNetto;
|
||||
private int rigaKit;
|
||||
@@ -1053,6 +1056,14 @@ public class DtbDocr extends DtbBaseDocR {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getFlagSezione() {
|
||||
return flagSezione;
|
||||
}
|
||||
|
||||
public void setFlagSezione(Integer flagSezione) {
|
||||
this.flagSezione = flagSezione;
|
||||
}
|
||||
|
||||
public String getReso() {
|
||||
return reso;
|
||||
}
|
||||
|
||||
@@ -203,8 +203,8 @@ public class DtbTipi extends EntityBase {
|
||||
@SqlField(value = "flag_cons_consumi", nullable = false, defaultObjectValue = "0")
|
||||
private Boolean flagConsConsumi;
|
||||
|
||||
@SqlField(value = "flag_sezione", nullable = false)
|
||||
private String flagSezione;
|
||||
@SqlField(value = "flag_calc_peso_intra", nullable = false, defaultObjectValue = "N")
|
||||
private String flagCalcPesoIntra;
|
||||
|
||||
@EntityChild
|
||||
private List<DtbTipiAnag> dtbTipiAnag;
|
||||
@@ -715,12 +715,12 @@ public class DtbTipi extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagSezione() {
|
||||
return flagSezione;
|
||||
public String getFlagCalcPesoIntra() {
|
||||
return flagCalcPesoIntra;
|
||||
}
|
||||
|
||||
public DtbTipi setFlagSezione(String flagSezione) {
|
||||
this.flagSezione = flagSezione;
|
||||
public DtbTipi setFlagCalcPesoIntra(String flagCalcPesoIntra) {
|
||||
this.flagCalcPesoIntra = flagCalcPesoIntra;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -118,6 +118,13 @@ public class MtbLisv extends EntityBase {
|
||||
@SqlField(value = "val_promo", defaultObjectValue = "0")
|
||||
private BigDecimal valPromo;
|
||||
|
||||
@SqlField(value = "add_ric_spese", defaultObjectValue = "false", nullable = false)
|
||||
private Boolean addRicSpese;
|
||||
@SqlField(value = "flag_add_val_spese", defaultObjectValue = "false", nullable = false)
|
||||
private Boolean addValSpese;
|
||||
@SqlField(value = "add_soc_spese", defaultObjectValue = "false", nullable = false)
|
||||
private Boolean addScoSpese;
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
@@ -387,4 +394,31 @@ public class MtbLisv extends EntityBase {
|
||||
this.valPromo = valPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getAddRicSpese() {
|
||||
return addRicSpese;
|
||||
}
|
||||
|
||||
public MtbLisv setAddRicSpese(Boolean addRicSpese) {
|
||||
this.addRicSpese = addRicSpese;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getAddValSpese() {
|
||||
return addValSpese;
|
||||
}
|
||||
|
||||
public MtbLisv setAddValSpese(Boolean addValSpese) {
|
||||
this.addValSpese = addValSpese;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getAddScoSpese() {
|
||||
return addScoSpese;
|
||||
}
|
||||
|
||||
public MtbLisv setAddScoSpese(Boolean addScoSpese) {
|
||||
this.addScoSpese = addScoSpese;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,6 +161,10 @@ public class MtbLisvData extends EntityBase {
|
||||
|
||||
private String flagEquiPrezzo;
|
||||
|
||||
private Boolean addRicSpese;
|
||||
private Boolean addValSpese;
|
||||
private Boolean addScoSpese;
|
||||
|
||||
@ImportFromParent
|
||||
@MapToTable("data_iniz")
|
||||
private Date dataIniz;
|
||||
@@ -643,6 +647,33 @@ public class MtbLisvData extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getAddRicSpese() {
|
||||
return addRicSpese;
|
||||
}
|
||||
|
||||
public MtbLisvData setAddRicSpese(Boolean addRicSpese) {
|
||||
this.addRicSpese = addRicSpese;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getAddValSpese() {
|
||||
return addValSpese;
|
||||
}
|
||||
|
||||
public MtbLisvData setAddValSpese(Boolean addValSpese) {
|
||||
this.addValSpese = addValSpese;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getAddScoSpese() {
|
||||
return addScoSpese;
|
||||
}
|
||||
|
||||
public MtbLisvData setAddScoSpese(Boolean addScoSpese) {
|
||||
this.addScoSpese = addScoSpese;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<TtbLisvTaglieData> getTtbLisvTaglieData() {
|
||||
return ttbLisvTaglieData;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
@requestMapping = auth
|
||||
@authUrl = {{protocol}}{{url}}{{port}}/{{baseEndPoint}}/{{requestMapping}}
|
||||
|
||||
### Auth login
|
||||
POST {{authUrl}}/login?profileDb={{profileDb}}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"username": "adminrossogargano",
|
||||
"password": "integry",
|
||||
"deviceId": "test"
|
||||
}
|
||||
> {%
|
||||
client.global.set("JWTAccessToken", response.body.dto.accessToken)
|
||||
%}
|
||||
### Auth logout
|
||||
PUT {{authUrl}}/logout?profileDb={{profileDb}}
|
||||
Authorization: Bearer {{JWTAccessToken}}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"username": "adminrossogargano"
|
||||
|
||||
}
|
||||
@@ -201,7 +201,7 @@ then
|
||||
}
|
||||
end
|
||||
|
||||
rule "completeCodArtForMtbLisa"
|
||||
rule "completeCodArtForMtbLisaData"
|
||||
no-loop
|
||||
when
|
||||
eval(completeRulesEnabled)
|
||||
@@ -211,6 +211,18 @@ then
|
||||
modify ( $entity ) { setCodArtFor(codArtFor) }
|
||||
end
|
||||
|
||||
|
||||
|
||||
rule "completeCodArtForMtbLisa"
|
||||
no-loop
|
||||
when
|
||||
eval(completeRulesEnabled)
|
||||
$entity : MtbLisa(codArtFor == null && codAlis != null && codMart != null)
|
||||
then
|
||||
String codArtFor = PurchasesRules.completeCodArtFor(conn, $entity.getCodAlis(), $entity.getCodMart());
|
||||
modify ( $entity ) { setCodArtFor(codArtFor) }
|
||||
end
|
||||
|
||||
rule "completeModificatoDaLisa"
|
||||
no-loop
|
||||
when
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package it.integry.ems.activity.dto;
|
||||
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
|
||||
public class DescrizioneTipiAttivitaDTO {
|
||||
@SqlField("activity_type_id")
|
||||
private String activityTypeId;
|
||||
@SqlField("activity_type_description")
|
||||
private String activityTypeDescription;
|
||||
|
||||
public String getActivityTypeId() {
|
||||
return activityTypeId;
|
||||
}
|
||||
|
||||
public DescrizioneTipiAttivitaDTO setActivityTypeId(String activityTypeId) {
|
||||
this.activityTypeId = activityTypeId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getActivityTypeDescription() {
|
||||
return activityTypeDescription;
|
||||
}
|
||||
|
||||
public DescrizioneTipiAttivitaDTO setActivityTypeDescription(String activityTypeDescription) {
|
||||
this.activityTypeDescription = activityTypeDescription;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,8 @@ public class SteUPEntryDTO {
|
||||
private String dataCreation;
|
||||
|
||||
private String codCmac;
|
||||
private String personaRif;
|
||||
private Integer priorita;
|
||||
|
||||
private List<HashMap<String, Object>> colli = new ArrayList<>();
|
||||
|
||||
@@ -101,4 +103,22 @@ public class SteUPEntryDTO {
|
||||
this.colli = colli;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPersonaRif() {
|
||||
return personaRif;
|
||||
}
|
||||
|
||||
public SteUPEntryDTO setPersonaRif(String personaRif) {
|
||||
this.personaRif = personaRif;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getPriorita() {
|
||||
return priorita;
|
||||
}
|
||||
|
||||
public SteUPEntryDTO setPriorita(Integer priorita) {
|
||||
this.priorita = priorita;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.ems.activity.service;
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.activity.dto.DescrizioneTipiAttivitaDTO;
|
||||
import it.integry.ems.activity.dto.ModellinoDTO;
|
||||
import it.integry.ems.activity.dto.SteUPEntryDTO;
|
||||
import it.integry.ems.activity.dto.SteUpScoreDTO;
|
||||
@@ -47,6 +48,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static it.integry.ems.order.dto.UserGroupENUM.RILEVATORE;
|
||||
import static it.integry.ems.order.dto.UserGroupENUM.TECNICO;
|
||||
@@ -166,8 +168,10 @@ public class SteUPService {
|
||||
}
|
||||
toReturn.put("repo", repo);
|
||||
|
||||
sql = "SELECT LTRIM(RTRIM(stb_activity_type.activity_type_id)) AS activity_type_id " +
|
||||
sql = "SELECT LTRIM(RTRIM(stb_activity_type.activity_type_id)) AS activity_type_id, activity_type_description " +
|
||||
"FROM stb_activity_type INNER JOIN srl_activity_type_user ON stb_activity_type.activity_type_id = srl_activity_type_user.activity_type_id " +
|
||||
"LEFT OUTER JOIN stb_activity_typer ON stb_activity_type.activity_type_id = stb_activity_typer.activity_type_id\n " +
|
||||
" and stb_activity_type.flag_tipologia = stb_activity_typer.flag_tipologia " +
|
||||
" INNER JOIN srl_user ON srl_activity_type_user.user_name = srl_user.user_name1 " +
|
||||
" INNER JOIN wtb_users ON srl_user.user_name2 = wtb_users.user_name " +
|
||||
"WHERE stb_activity_type.flag_tipologia = 'A' AND " +
|
||||
@@ -175,10 +179,13 @@ public class SteUPService {
|
||||
" stb_activity_type.cod_jfas = 'STEUP' AND " +
|
||||
" wtb_users.user_name = " + UtilityDB.valueToString(userName) +
|
||||
"ORDER BY 1";
|
||||
List<Object> reas = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
if (reas == null || reas.size() == 0) {
|
||||
List<DescrizioneTipiAttivitaDTO> listaReasConDescrizione = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(),sql,DescrizioneTipiAttivitaDTO.class);
|
||||
if (listaReasConDescrizione == null || listaReasConDescrizione.isEmpty()) {
|
||||
throw new Exception("La lista delle motivazioni è vuota");
|
||||
}
|
||||
toReturn.put("descrAttivita",listaReasConDescrizione);
|
||||
List<String> reas = listaReasConDescrizione.stream().map(DescrizioneTipiAttivitaDTO::getActivityTypeId).distinct().collect(Collectors.toList());
|
||||
|
||||
toReturn.put("reas", reas);
|
||||
|
||||
|
||||
@@ -534,6 +541,8 @@ public class SteUPService {
|
||||
if (!UtilityString.isNullOrEmpty(codCmac)) {
|
||||
activityItem.setCodCmac(codCmac);
|
||||
}
|
||||
activityItem.setPersonaRif(entry.getPersonaRif());
|
||||
activityItem.setPriorita(entry.getPriorita());
|
||||
activityItem.setEffectiveDate(dataCreation);
|
||||
activityItem.setEffectiveTime(dataCreation);
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
@requestMapping = steup
|
||||
@url = {{protocol}}{{url}}{{port}}/{{baseEndPoint}}/{{requestMapping}}
|
||||
|
||||
### Service status
|
||||
GET {{url}}/status?profileDb={{profileDb}}
|
||||
Authorization: Bearer {{JWTAccessToken}}
|
||||
@@ -72,6 +72,9 @@ public class RossoGarganoSyncService {
|
||||
savePdc(rgExchange.getConnection());
|
||||
logger.info("Importazione agenti: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
deleteCtbMovt(rgExchange.getConnection());
|
||||
logger.info("Cancellazione movimenti contabili: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
String sql =
|
||||
"SELECT CAST(FORMAT(DATEPART(YEAR, data_iniz), '0000') +\n" +
|
||||
" FORMAT(DATEPART(MONTH, data_iniz), '00') +\n" +
|
||||
@@ -109,6 +112,26 @@ public class RossoGarganoSyncService {
|
||||
logger.info("Importazione altri movimenti contabili: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
}
|
||||
|
||||
private void deleteCtbMovt(Connection sourceData) throws Exception {
|
||||
String sql =
|
||||
"SELECT m.num_cmov\n" +
|
||||
"FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.rg_crl_movt m\n" +
|
||||
"WHERE NOT EXISTS (SELECT *\n" +
|
||||
" FROM pnota\n" +
|
||||
" WHERE pnota.pn_data_competenza = m.pn_data_competenza AND pnota.pn_nro_reg = m.pn_nro_reg)\n";
|
||||
|
||||
List<Integer> listNumCmov = UtilityDB.executeSimpleQueryOnlyFirstColumn(sourceData, sql);
|
||||
|
||||
for ( Integer numCmov : listNumCmov) {
|
||||
CtbMovt ctbMovt =
|
||||
new CtbMovt().setNumCmov(numCmov);
|
||||
ctbMovt.setOperation(OperationType.DELETE);
|
||||
|
||||
entityProcessor.processEntity(ctbMovt, true, multiDBTransactionManager);
|
||||
UtilityEntity.throwEntityException(ctbMovt);
|
||||
}
|
||||
}
|
||||
|
||||
private void saveCtbMovt(Connection sourceData, String whereCond, BigDecimal dataIniz, BigDecimal dataFine) throws Exception {
|
||||
String sql =
|
||||
Query.format(
|
||||
@@ -705,21 +728,17 @@ public class RossoGarganoSyncService {
|
||||
" , conti AS (SELECT *\n" +
|
||||
" FROM mov\n" +
|
||||
" WHERE pn_cod_anag NOT IN (SELECT diacod\n" +
|
||||
" FROM rossogargano.dbo.ctb_cont\n" +
|
||||
" FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.ctb_cont\n" +
|
||||
" WHERE diacod IS NOT NULL\n" +
|
||||
" UNION\n" +
|
||||
" SELECT diacod\n" +
|
||||
" FROM rossogargano.dbo.gtb_anag\n" +
|
||||
" FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.gtb_anag\n" +
|
||||
" WHERE diacod IS NOT NULL))\n" +
|
||||
" , conti_new AS (SELECT SUBSTRING(cl_codice, 2, 4) AS cod_cmas,\n" +
|
||||
" SUBSTRING(cl_codice, 2, 2) AS cod_cgrp,\n" +
|
||||
" cl_ragione_soc AS descrizione,\n" +
|
||||
" NULL AS tipo_riep,\n" +
|
||||
" 0 AS saldo_att,\n" +
|
||||
" 'N' AS flag_cont_att,\n" +
|
||||
" NULL AS cod_biva,\n" +
|
||||
" NULL AS cod_jfas,\n" +
|
||||
" NULL AS cod_csct,\n" +
|
||||
" 'N' AS flag_risconto,\n" +
|
||||
" 0 AS perc_ded,\n" +
|
||||
" cl_codice AS diacod\n" +
|
||||
|
||||
@@ -524,19 +524,19 @@ public class InventarioService {
|
||||
nomeCampo = ls_cond[0];
|
||||
valoreCampo = ls_cond[1];
|
||||
|
||||
if (nomeCampo.compareTo("sle_mtb_aart-cod_mgrp") == 0) {
|
||||
if (nomeCampo.equalsIgnoreCase("sle_mtb_aart-cod_mgrp")) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("mtb_aart", "cod_mgrp", valoreCampo, "V");
|
||||
} else if (nomeCampo.compareTo("sle_mtb_aart-cod_msgr") == 0) {
|
||||
} else if (nomeCampo.equalsIgnoreCase("sle_mtb_aart-cod_msgr") ) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("mtb_aart", "cod_msgr", valoreCampo, "V");
|
||||
} else if (nomeCampo.compareTo("sle_mtb_aart-cod_mtip") == 0) {
|
||||
} else if (nomeCampo.equalsIgnoreCase("sle_mtb_aart-cod_mtip") ) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("mtb_aart", "cod_mtip", valoreCampo, "V");
|
||||
} else if (nomeCampo.compareTo("sle_mtb_aart-cod_mstp") == 0) {
|
||||
} else if (nomeCampo.equalsIgnoreCase("sle_mtb_aart-cod_mstp")) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("mtb_aart", "cod_mstp", valoreCampo, "V");
|
||||
} else if (nomeCampo.compareTo("sle_mtb_aart-cod_mart") == 0) {
|
||||
} else if (nomeCampo.equalsIgnoreCase("sle_mtb_aart-cod_mart")) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("mtb_aart", "cod_mart", valoreCampo, "V");
|
||||
} else if (nomeCampo.compareTo("sle_ttb_style-cod_line") == 0) {
|
||||
} else if (nomeCampo.equalsIgnoreCase("sle_ttb_style-cod_line")) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("ttb_style", "cod_line", valoreCampo, "V");
|
||||
} else if (nomeCampo.compareTo("ddlb_anno_stag") == 0) {
|
||||
} else if (nomeCampo.equalsIgnoreCase("ddlb_anno_stag")) {
|
||||
condCampo = SqlFieldHolder.getSqlCond("ttb_style", "anno_stag", valoreCampo, "V");
|
||||
}
|
||||
whereCond = SqlFieldHolder.andCond(whereCond + ";" + condCampo, ";");
|
||||
|
||||
@@ -227,7 +227,9 @@ public class CrmService {
|
||||
ptbPrevt.setCambio(BigDecimal.ONE);
|
||||
ptbPrevt.setCodVage(codVage);
|
||||
ptbPrevt.setStatoOfferta("CONTATTO");
|
||||
ptbPrevt.setOggetto(Base64.encodeBase64String(note.getBytes()));
|
||||
if (note.getBytes() != null){
|
||||
ptbPrevt.setOggetto(Base64.encodeBase64String(note.getBytes()));
|
||||
}
|
||||
if (pathFolderPrevt.compareTo("") != 0 && nameFileCheckList.compareTo("") != 0) {
|
||||
ls_nextNumFile = getNextNumFile();
|
||||
|
||||
|
||||
@@ -376,10 +376,12 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
" mtb_grup.cod_mgrp =\n" +
|
||||
" stb_gest_setup_det.val_col_rif) oneri\n" +
|
||||
" ON apulia.tipo_listino = oneri.tipo_listino AND mtb_aart.cod_mgrp = oneri.cod_mgrp\n" +
|
||||
"WHERE (apulia.data_prz_acq >= [DATA_INIZ_VAR] AND (ISNULL(lisa.prz_acq, 0) <> ISNULL(apulia.prz_acq, 0) OR\n" +
|
||||
" ISNULL(lisa.perc_oneri, 0) <> [COLUMN_PERC_ONERI] OR\n" +
|
||||
" ISNULL(lisa.val_promo, 0) <> ISNULL(apulia.val_premio, 0) OR\n" +
|
||||
" ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '')))")
|
||||
"WHERE (apulia.data_prz_acq >= [DATA_INIZ_VAR] OR \n " +
|
||||
" ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '')) AND \n"+
|
||||
" (ISNULL(lisa.prz_acq, 0) <> ISNULL(apulia.prz_acq, 0) OR\n" +
|
||||
" ISNULL(lisa.perc_oneri, 0) <> [COLUMN_PERC_ONERI] OR\n" +
|
||||
" ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '') OR\n" +
|
||||
" ISNULL(lisa.val_promo, 0) <> ISNULL(apulia.val_premio, 0))")
|
||||
.replace("[COLUMN_DATA_INIZ]", calcDataIniz)
|
||||
.replace("[TYPE]", type)
|
||||
.replace("[FORMAT]", format)
|
||||
|
||||
@@ -26,6 +26,9 @@ public class RowInventarioDTO {
|
||||
@SqlField("data_ora_inv")
|
||||
private Date dataOraInv;
|
||||
|
||||
@SqlField("user_name")
|
||||
private String userName;
|
||||
|
||||
private String profileDb;
|
||||
|
||||
public Integer getIdInventario() {
|
||||
@@ -89,6 +92,14 @@ public class RowInventarioDTO {
|
||||
this.dataOraInv = dataOraInv;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getProfileDb() {
|
||||
return profileDb;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class GiacenzaService {
|
||||
" ELSE mtb_aart.cod_mart END AS cod_mart_mov,\n" +
|
||||
" ISNULL(mtb_comp.qta_std, 1) AS qta_std\n" +
|
||||
"FROM mtb_aart\n" +
|
||||
" LEFT OUTER JOIN mtb_comp ON mtb_aart.cod_mart = mtb_comp.cod_mart";
|
||||
" LEFT OUTER JOIN mtb_comp ON mtb_aart.cod_mart = mtb_comp.cod_mart and mtb_aart.articolo_composto = 'S'";
|
||||
|
||||
String sql =
|
||||
"SELECT cod_mdep\n" +
|
||||
|
||||
@@ -3615,25 +3615,27 @@ public class PvmService {
|
||||
" FROM (SELECT id_inventario,\n" +
|
||||
" data_inventario,\n" +
|
||||
" filtro,\n" +
|
||||
" cod_mdep,\n" +
|
||||
" mtb_invent.cod_mdep,\n" +
|
||||
" righe.num_righe,\n" +
|
||||
" righe.data_ora_inv" +
|
||||
" righe.data_ora_inv,\n" +
|
||||
" wtb_users.user_name\n" +
|
||||
" FROM mtb_invent\n" +
|
||||
" OUTER APPLY (SELECT COUNT(*) AS num_righe, MIN(CAST(mtb_invenr.data_ora_inv AS DATE)) AS data_ora_inv\n" +
|
||||
" FROM mtb_invenr\n" +
|
||||
" WHERE mtb_invent.id_inventario = mtb_invenr.id_inventario\n" +
|
||||
" AND mtb_invent.cod_mdep = mtb_invenr.cod_mdep) AS righe" +
|
||||
" AND mtb_invent.cod_mdep = mtb_invenr.cod_mdep) AS righe\n" +
|
||||
" LEFT OUTER JOIN wtb_depo ON wtb_depo.cod_mdep = mtb_invent.cod_mdep\n" +
|
||||
" LEFT OUTER JOIN wtb_users ON wtb_users.user_name = wtb_depo.user_name\n" +
|
||||
" WHERE " + whereCond + "\n" +
|
||||
" AND data_inventario >= DATEADD(MONTH, -2, GETDATE())) t),\n" +
|
||||
" AND wtb_users.key_group = 10\n" +
|
||||
" AND ctrl_state = 'S'\n" +
|
||||
" AND data_inventario >= DATEADD(MONTH, -2, GETDATE())) t),\n" +
|
||||
" TempCount AS (SELECT COUNT(*) AS rows_count\n" +
|
||||
" FROM TempResult)\n" +
|
||||
"SELECT TempResult.*,\n" +
|
||||
" TempCount.*\n" +
|
||||
"FROM TempResult,\n" +
|
||||
" TempCount\n"
|
||||
// +
|
||||
// "OFFSET (" + UtilityDB.valueToString(pageNum) + " - 1) * " + UtilityDB.valueToString(pageSize) + " ROWS FETCH NEXT " + UtilityDB.valueToString(pageSize) + " ROWS ONLY"
|
||||
;
|
||||
" TempCount\n";
|
||||
|
||||
List<RowInventarioDTO> inventari = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import it.integry.ems_model.entity.NtbDoctChk;
|
||||
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;
|
||||
@@ -24,10 +25,7 @@ import java.io.FileOutputStream;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
@@ -82,77 +80,75 @@ public class ScontriniImportService {
|
||||
|
||||
query = UtilityDB.addwhereCond(query, whereCond, false);
|
||||
|
||||
PreparedStatement ps = multiDBTransactionManager.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
List<HashMap<String, Object>> listDepo = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
while (rs.next()) {
|
||||
String codMdep = rs.getString("cod_mdep");
|
||||
String codCassa = rs.getString("cod_cassa");
|
||||
for (HashMap<String, Object> depo: listDepo){
|
||||
String codMdep = UtilityHashMap.getValueIfExists(depo, "cod_mdep");
|
||||
String codCassa = UtilityHashMap.getValueIfExists(depo, "cod_cassa");
|
||||
|
||||
Calendar currentDate = (Calendar) dataIniz.clone();
|
||||
while (currentDate.before(dataFine) || currentDate.equals(dataFine)) {
|
||||
String dataString = new SimpleDateFormat("yyyy/MM/dd").format(currentDate.getTime());
|
||||
String queryPV =
|
||||
"SELECT Cast('" + profileDb + "' as varchar) as profileDb, " +
|
||||
"Cast('" + codMdep + "' as varchar) as codMdep, " +
|
||||
"Cast('" + codCassa + "' as varchar) as codCassa, " +
|
||||
"Cast('" + dataString + "' as varchar) as dataDoc, " +
|
||||
" Cast(rowId as varchar) as idScontr " +
|
||||
" from ( select case when charIndex('-', value_string) > 0 then left(value_string, charIndex('-', value_string) - 1) else rtrim(ltrim(value_string)) end valMin, " +
|
||||
"case when charIndex('-', value_string) > 0 then right(value_string, len(value_string) - charIndex('-', value_string)) else rtrim(ltrim(value_string)) end valMax " +
|
||||
" from dbo.ParseStringIntoArray(dbo.f_listaScontriniMancanti('" + codMdep + "', '" + codCassa + "', '" + dataString + "'), ',') ) scontrini cross apply " +
|
||||
"dbo.getTableRowByNumber(valMin, valMax) " +
|
||||
" UNION ALL " +
|
||||
"SELECT '" + profileDb + "', " +
|
||||
"'" + codMdep + "', " +
|
||||
"'" + codCassa + "', " +
|
||||
"'" + dataString + "', " +
|
||||
"'>' + Cast(IsNull(max(id_scontr), 0) as varchar) " +
|
||||
"FROM ntb_doct " +
|
||||
"WHERE ntb_doct.cod_mdep = '" + codMdep + "' AND " +
|
||||
" ntb_doct.cod_cassa = '" + codCassa + "' AND " +
|
||||
" ntb_doct.date_only_doc = '" + dataString + "' AND " +
|
||||
" ntb_doct.causale = 'C' " +
|
||||
" GROUP BY ntb_doct.cod_mdep, ntb_doct.cod_cassa, ntb_doct.date_only_doc, ntb_doct.causale " +
|
||||
" UNION ALL " +
|
||||
"SELECT '" + profileDb + "', " +
|
||||
"'" + codMdep + "', " +
|
||||
"'" + codCassa + "', " +
|
||||
"'" + dataString + "', " +
|
||||
"'>' + Cast(IsNull(s.max_id_scontr, 0) as varchar) " +
|
||||
" FROM (SELECT cod_mdep, " +
|
||||
" cod_cassa," +
|
||||
" data_rapp, " +
|
||||
" num_scontr_fiscali " +
|
||||
" FROM ntb_rapt " +
|
||||
" WHERE cod_mdep = " + UtilityDB.valueToString(codMdep) + " AND " +
|
||||
" data_rapp = " + UtilityDB.valueToString(dataString) + " AND " +
|
||||
" cod_cassa = " + UtilityDB.valueToString(codCassa) + " AND " +
|
||||
" flag_chiusura_fiscale = 'S' ) r FULL OUTER JOIN " +
|
||||
" ( SELECT mtb_depo_casse.cod_mdep, " +
|
||||
" mtb_depo_casse.cod_cassa, " +
|
||||
UtilityDB.valueToString(dataString) + " as date_only_doc, " +
|
||||
" isNull(MAX(id_scontr),0) as max_id_scontr " +
|
||||
" FROM mtb_depo_casse left outer join ntb_doct on mtb_depo_casse.cod_mdep = ntb_doct.cod_mdep and " +
|
||||
" mtb_depo_casse.cod_cassa = ntb_doct.cod_cassa AND " +
|
||||
" ntb_doct.date_only_doc = " + UtilityDB.valueToString(dataString) + " AND " +
|
||||
" ntb_doct.causale = 'V' " +
|
||||
" WHERE mtb_depo_casse.cod_mdep = " + UtilityDB.valueToString(codMdep) + " AND " +
|
||||
" mtb_depo_casse.cod_cassa = " + UtilityDB.valueToString(codCassa) +
|
||||
"GROUP BY mtb_depo_casse.cod_mdep, mtb_depo_casse.cod_cassa) s ON " +
|
||||
" r.cod_mdep = s.cod_mdep AND " +
|
||||
" r.data_rapp = s.date_only_doc and" +
|
||||
" r.cod_cassa = s.cod_cassa " +
|
||||
" WHERE (IsNull(num_scontr_fiscali, -1) > IsNull(s.max_id_scontr, 0) ) OR " +
|
||||
" num_scontr_fiscali is null ";
|
||||
"SELECT CAST('[profileDb]' AS VARCHAR) AS profiledb,\n" +
|
||||
" CAST('[codMdep]' AS VARCHAR) AS codmdep,\n" +
|
||||
" CAST('[codCassa]' AS VARCHAR) AS codcassa,\n" +
|
||||
" CAST('[dataDoc]' AS VARCHAR) AS datadoc,\n" +
|
||||
" CAST(rowid AS VARCHAR) AS idscontr\n" +
|
||||
"FROM stb_counter\n" +
|
||||
"WHERE NOT EXISTS (SELECT id_scontr AS id\n" +
|
||||
" FROM ntb_doct\n" +
|
||||
" WHERE ntb_doct.date_only_doc = '[dataDoc]'\n" +
|
||||
" AND ntb_doct.causale = 'V'\n" +
|
||||
" AND ntb_doct.cod_mdep = '[codMdep]'\n" +
|
||||
" AND ntb_doct.cod_cassa = '[codCassa]'\n" +
|
||||
" AND id_scontr = rowid)\n" +
|
||||
" AND stb_counter.rowid < (SELECT MAX(id_scontr) AS id\n" +
|
||||
" FROM ntb_doct\n" +
|
||||
" WHERE ntb_doct.date_only_doc = '[dataDoc]'\n" +
|
||||
" AND ntb_doct.causale = 'V'\n" +
|
||||
" AND ntb_doct.cod_mdep = '[codMdep]'\n" +
|
||||
" AND ntb_doct.cod_cassa = '[codCassa]') \n" +
|
||||
"UNION ALL\n" +
|
||||
"SELECT '[profileDb]', '[codMdep]', '[codCassa]', '[dataDoc]', '>' + CAST(ISNULL(MAX(id_scontr), 0) AS VARCHAR)\n" +
|
||||
"FROM ntb_doct\n" +
|
||||
"WHERE ntb_doct.cod_mdep = '[codMdep]'\n" +
|
||||
" AND ntb_doct.cod_cassa = '[codCassa]'\n" +
|
||||
" AND ntb_doct.date_only_doc = '[dataDoc]'\n" +
|
||||
" AND ntb_doct.causale = 'C'\n" +
|
||||
"GROUP BY ntb_doct.cod_mdep, ntb_doct.cod_cassa, ntb_doct.date_only_doc, ntb_doct.causale\n" +
|
||||
"UNION ALL\n" +
|
||||
"SELECT '[profileDb]', '[codMdep]', '[codCassa]', '[dataDoc]', '>' + CAST(ISNULL(s.max_id_scontr, 0) AS VARCHAR)\n" +
|
||||
"FROM (SELECT cod_mdep, cod_cassa, data_rapp, num_scontr_fiscali\n" +
|
||||
" FROM ntb_rapt\n" +
|
||||
" WHERE cod_mdep = '[codMdep]'\n" +
|
||||
" AND data_rapp = '[dataDoc]'\n" +
|
||||
" AND cod_cassa = '[codCassa]'\n" +
|
||||
" AND flag_chiusura_fiscale = 'S') r\n" +
|
||||
" FULL OUTER JOIN (SELECT mtb_depo_casse.cod_mdep,\n" +
|
||||
" mtb_depo_casse.cod_cassa,\n" +
|
||||
" '[dataDoc]' AS date_only_doc,\n" +
|
||||
" ISNULL(MAX(id_scontr), 0) AS max_id_scontr\n" +
|
||||
" FROM mtb_depo_casse\n" +
|
||||
" LEFT OUTER JOIN ntb_doct ON mtb_depo_casse.cod_mdep = ntb_doct.cod_mdep AND\n" +
|
||||
" mtb_depo_casse.cod_cassa = ntb_doct.cod_cassa AND\n" +
|
||||
" ntb_doct.date_only_doc = '[dataDoc]' AND\n" +
|
||||
" ntb_doct.causale = 'V'\n" +
|
||||
" WHERE mtb_depo_casse.cod_mdep = '[codMdep]'\n" +
|
||||
" AND mtb_depo_casse.cod_cassa = '[codCassa]'\n" +
|
||||
" GROUP BY mtb_depo_casse.cod_mdep, mtb_depo_casse.cod_cassa) s\n" +
|
||||
" ON r.cod_mdep = s.cod_mdep AND r.data_rapp = s.date_only_doc AND r.cod_cassa = s.cod_cassa\n" +
|
||||
"WHERE (ISNULL(num_scontr_fiscali, -1) > ISNULL(s.max_id_scontr, 0))\n" +
|
||||
" OR num_scontr_fiscali IS NULL";
|
||||
|
||||
PreparedStatement psPv = multiDBTransactionManager.prepareStatement(queryPV);
|
||||
ResultSet rsPv = psPv.executeQuery();
|
||||
ResultSetMapper rsIntegRetailDTO = new ResultSetMapper();
|
||||
String stringFile = rsIntegRetailDTO.mapResultSetToCSV(rsPv, IntegRetailDTO.class, '\t', false, true);
|
||||
rsPv.close();
|
||||
psPv.close();
|
||||
queryPV =
|
||||
queryPV.replace("[profileDb]", profileDb)
|
||||
.replace("[codMdep]", codMdep)
|
||||
.replace("[codCassa]", codCassa)
|
||||
.replace("[dataDoc]", dataString);
|
||||
|
||||
|
||||
String stringFile = new ResultSetMapper().mapQueryToCSV(multiDBTransactionManager.getPrimaryConnection(), queryPV, IntegRetailDTO.class, '\t', false, true);
|
||||
if (!UtilityString.isNullOrEmpty(stringFile)) {
|
||||
//Salvare il file
|
||||
String fileName = profileDb + "_" + codMdep + "_" + codCassa + "_" +
|
||||
@@ -164,15 +160,11 @@ public class ScontriniImportService {
|
||||
IOUtils.write(stringFile.getBytes(), fos);
|
||||
fos.flush();
|
||||
IOUtils.closeQuietly(fos);
|
||||
rsPv.close();
|
||||
psPv.close();
|
||||
}
|
||||
|
||||
currentDate.add(Calendar.DATE, 1);
|
||||
}
|
||||
}
|
||||
rs.close();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public List<EntityBase> receiptChecked(Date dataScontrini, String whereCond) throws Exception {
|
||||
|
||||
@@ -903,9 +903,9 @@ public class WMSGenericService {
|
||||
orderClone.getCodJcom().equalsIgnoreCase(x.getCodJcom()))
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
|
||||
if (!UtilityBigDecimal.greaterThan(qtaColPerCommessa, orderClone.getQtaOrd().subtract(orderDto.getQtaArrivo()))) {
|
||||
orderClone.setQtaOrd(orderClone.getQtaOrd().subtract(orderDto.getQtaArrivo()));
|
||||
BigDecimal qtaInArrivo = UtilityBigDecimal.isNull(orderDto.getQtaArrivo(), BigDecimal.ZERO);
|
||||
if (!UtilityBigDecimal.greaterThan(qtaColPerCommessa, orderClone.getQtaOrd().subtract(qtaInArrivo))) {
|
||||
orderClone.setQtaOrd(orderClone.getQtaOrd().subtract(qtaInArrivo));
|
||||
}
|
||||
|
||||
pickingListToReturn.add(new PickingObjectDTO()
|
||||
|
||||
23
http_client/env/http-client.env.json
vendored
Normal file
23
http_client/env/http-client.env.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"local": {
|
||||
"protocol": "http://",
|
||||
"url": "localhost",
|
||||
"port": ":8080",
|
||||
"baseEndPoint": "ems-api",
|
||||
"profileDb": "ROSSOGARGANO"
|
||||
},
|
||||
"prod": {
|
||||
"protocol": "https://",
|
||||
"url": "services.studioml.it",
|
||||
"port": "",
|
||||
"baseEndPoint": "ems-api",
|
||||
"profileDb": "ROSSOGARGANO"
|
||||
},
|
||||
"dev": {
|
||||
"protocol": "https://",
|
||||
"url": "devservices.studioml.it",
|
||||
"port": "",
|
||||
"baseEndPoint": "ems-api",
|
||||
"profileDb": "ROSSOGARGANO"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user