Sistemare val premio nell'importazione dei listini di apulia e aggiunta possibilità di importare la percentuale del premio
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240410173200 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createSetup("IMPORT_LISTINI ACQUISTO", "APULIA_CARREFOUR", "SET_PERC_PREMIO", null, "inserisce sul listino al percentuale del premio prensente nella setup solo se viene importato il prezzo lordo e quindi riscontriamo nella tabella del prezzo netto un prezzo diverso", false, "SI_NO", false, false, false, false, false, null, false);
|
||||
createSetup("IMPORT_LISTINI ACQUISTO", "APULIA_CARREFOUR", "PERC_PREMIO", null, null, false, null, false, false, false, false, false, null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -126,7 +126,7 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
+ " apulia.unt_mis_acq AS unt_mis_acq,"
|
||||
+ " apulia.qta_cnf AS qta_cnf,"
|
||||
+ " apulia.colli_x_pedane AS colli_x_pedane,"
|
||||
+ " CASE WHEN lisa.cod_art_for IS NULL THEN apulia.prz_ven_sugg ELSE NULL END AS prz_ven_sug,"
|
||||
+ " CASE WHEN lisa.cod_art_for IS NULL THEN apulia.prz_base_prop ELSE NULL END AS prz_ven_sug,"
|
||||
+ " CASE WHEN lisa.cod_art_for IS NULL AND apulia.cod_art_for is not null THEN 'I' "
|
||||
+ "WHEN lisa.cod_art_for IS NOT NULL AND apulia.cod_art_for is null THEN 'D' "
|
||||
+ "ELSE 'U' END AS tipo_variazione, "
|
||||
@@ -138,12 +138,11 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
+ " apulia.cod_aliq, "
|
||||
+ " apulia.prz_base_prop, "
|
||||
+ " apulia.perc_premio as prec_promo,"
|
||||
+ " apulia.val_premio as val_promo "
|
||||
+ " ISNULL(apulia.val_premio, 0) as val_promo "
|
||||
+ "FROM (SELECT DISTINCT mtb_lisa_apulia_succ.cod_alis, "
|
||||
+ " mtb_lisa_apulia_succ.data_prz_acq,"
|
||||
+ " mtb_lisa_apulia_succ.cod_art_for AS cod_art_for,"
|
||||
+ " mtb_lisa_apulia_succ.prz_acq AS prz_acq, "
|
||||
+ " CONVERT(numeric(20,5), ISNULL(mtb_lisa_apulia_succ.prz_acq, 0) ) AS val_promo,"
|
||||
+ " mtb_lisa_apulia_succ.descrizione,"
|
||||
+ " mtb_lisa_apulia_succ.barcode,"
|
||||
+ " mtb_lisa_apulia_succ.descrizione_divisione_forn,"
|
||||
@@ -238,7 +237,6 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
" mtb_lisa_apulia_succ.data_prz_acq AS data_iniz,\n" +
|
||||
" mtb_lisa_apulia_succ.cod_art_for AS cod_art_for,\n" +
|
||||
" mtb_lisa_apulia_succ.prz_acq AS prz_acq,\n" +
|
||||
" CONVERT(NUMERIC(20, 5), ISNULL(mtb_lisa_apulia_succ.prz_acq, 0)) AS val_promo,\n" +
|
||||
" mtb_lisa_apulia_succ.descrizione AS descr_art_forn,\n" +
|
||||
" mtb_lisa_apulia_succ.barcode AS cod_barre,\n" +
|
||||
" mtb_lisa_apulia_succ.unt_mis_acq,\n" +
|
||||
@@ -249,7 +247,7 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
" mtb_lisa_apulia_succ.cod_aliq,\n" +
|
||||
" mtb_lisa_apulia_succ.prz_base_prop as prz_vend_sug,\n" +
|
||||
" mtb_lisa_apulia_succ.perc_premio as perc_promo,\n" +
|
||||
" mtb_lisa_apulia_succ.val_premio as val_promo\n" +
|
||||
" IsNull(mtb_lisa_apulia_succ.val_premio, 0) as val_promo\n" +
|
||||
"FROM mtb_lisa_apulia_succ\n" +
|
||||
"WHERE mtb_lisa_apulia_succ.data_prz_acq > " + UtilityDB.valueDateToString(dataImport, CommonConstants.DATE_FORMAT_YMD) + "\n" +
|
||||
" AND mtb_lisa_apulia_succ.cod_alis NOT IN (SELECT value_string AS cod_alis\n" +
|
||||
@@ -260,7 +258,7 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
" '|'))";
|
||||
|
||||
List<MtbLisaData> mtbLisaData = new ResultSetMapper()
|
||||
.mapQuerySetToList(conn, sql, MtbLisaData.class, OperationType.INSERT);
|
||||
.mapQuerySetToList(conn, sql, MtbLisaData.class, OperationType.INSERT_OR_UPDATE);
|
||||
if (mtbLisaData != null) {
|
||||
Stream.of(mtbLisaData)
|
||||
.forEach(
|
||||
@@ -337,6 +335,9 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
|
||||
for (Map.Entry<AtbListData, List<MtbLisaData>> listino : listini) {
|
||||
AtbListData atbListData = listino.getKey();
|
||||
if ( UtilityLocalDate.isAfterToday(UtilityLocalDate.localDateTimeFromDate(atbListData.getDataIniz())))
|
||||
atbListData.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
atbListData.setMtbLisaData(listino.getValue());
|
||||
entityProcessor.processEntity(atbListData, multiDBTransactionManager);
|
||||
try{
|
||||
@@ -562,7 +563,7 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
String columnPrzAcq = "CAST(REPLACE(tabp.prz_acq, ',', '.') AS NUMERIC(20, 5)) ";
|
||||
String columnValPremio = "CAST(0 AS NUMERIC)";
|
||||
if (!importPrezzoNetto)
|
||||
columnValPremio = "case when premi.cod_art_for IS not null then [COLUMN_PRZ_ACQ] - premi.prz_acq_netto ELSE 0 END ";
|
||||
columnValPremio = "case when premi.cod_art_for IS not null AND premi.prz_acq_netto <> 0 then [COLUMN_PRZ_ACQ] - premi.prz_acq_netto ELSE 0 END ";
|
||||
|
||||
sql =
|
||||
"INSERT INTO mtb_lisa_apulia_succ\n" +
|
||||
|
||||
Reference in New Issue
Block a user