invio tracciabilità gastronimia
This commit is contained in:
@@ -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_20250513173451 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement("UPDATE stb_gest_setup SET TIPO_SETUP = 'DTB_TIPI' where key_section = 'DAYS_TO_EXP'");
|
||||
|
||||
if (isCustomer(IntegryCustomer.Carelli)) {
|
||||
executeStatement(
|
||||
"INSERT INTO stb_gest_setup_det " +
|
||||
"select gest_name, section, key_section, tipo_setup, DOC.value_string, value " +
|
||||
"from stb_gest_setup " +
|
||||
"CROSS APPLY (SELECT value_STRING FROM dbo.ParseStringIntoArray((SELECT DBO.GETGESTSETUP('PVM','DOC_INTERNI', 'COD_DTIP_RESO')), '|')) DOC " +
|
||||
"where key_section = 'DAYS_TO_EXP' ",
|
||||
"INSERT INTO stb_gest_setup_det " +
|
||||
"select gest_name, section, key_section, tipo_setup, 'TAGLI', 3 from stb_gest_setup where key_section = 'DAYS_TO_EXP' ");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -155,6 +155,9 @@ public class VariazioniDettaglioDTO {
|
||||
private String posizioneArticolo;
|
||||
@MapToTable (value = "intercode_xml_variazioni")
|
||||
private String intercodeXmlVariazioni;
|
||||
@MapToTable (value = "partita_mag")
|
||||
private String partitaMag;
|
||||
|
||||
public Date getDataVariazione() {
|
||||
return dataVariazione;
|
||||
}
|
||||
@@ -820,4 +823,13 @@ public class VariazioniDettaglioDTO {
|
||||
this.intercodeXmlVariazioni = intercodeXmlVariazioni;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPartitaMag() {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setPartitaMag(String partitaMag) {
|
||||
this.partitaMag = partitaMag;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,8 @@ public enum VariazioniReportType {
|
||||
VARIAZIONI("V"),
|
||||
GRIGLIA("G"),
|
||||
PROMOZIONI("P"),
|
||||
LISTINO("L");
|
||||
LISTINO("L"),
|
||||
TRACCIABILITA("T");
|
||||
|
||||
private String text;
|
||||
|
||||
|
||||
@@ -418,7 +418,7 @@ public class VariazioniPvService {
|
||||
inviaIngrOpz = invioIngredientiSetup;
|
||||
}
|
||||
String ingredienti = UtilityString.streNull(var.getIngredienti());
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), variazioniPvInputDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), variazioniPvInputDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti, var.getPartitaMag());
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIngredienti(ingredientiType));
|
||||
|
||||
//COMPONENTI
|
||||
@@ -519,7 +519,10 @@ public class VariazioniPvService {
|
||||
|
||||
String queryAssortimento = getQueryAssortimento(variazioniPvDTO, setup, codVlis, selezionaGriglie);
|
||||
String query =
|
||||
"SELECT listino.cod_vlis,\n" +
|
||||
(variazioniPvDTO.getTipoReportEnum() == VariazioniReportType.TRACCIABILITA ?
|
||||
queryAssortimento :
|
||||
"WHIT assortimento (" + queryAssortimento + ")") +
|
||||
"SELECT listino.cod_vlis,\n" +
|
||||
" listino.descrizione AS 'descr_lisv',\n" +
|
||||
" listino.flag_list_iva_inclusa,\n" +
|
||||
" ISNULL(assortimento.cod_mart_view, listino.cod_mart) AS 'cod_mart',\n" +
|
||||
@@ -616,8 +619,9 @@ public class VariazioniPvService {
|
||||
" THEN listino.cod_vlis + '_' + CAST(promozione.versione AS VARCHAR)\n" +
|
||||
" ELSE NULL END AS 'id_promo',\n" +
|
||||
" mtb_aart.posizione AS 'posizione_art',\n" +
|
||||
" promozione.intercode_xml_variazioni AS 'intercode_xml_variazioni'\n" +
|
||||
"FROM (" + queryAssortimento + ") assortimento\n" +
|
||||
" promozione.intercode_xml_variazioni AS 'intercode_xml_variazioni',\n" +
|
||||
" assortimento.partita_mag \n" +
|
||||
"FROM assortimento\n" +
|
||||
" INNER JOIN dbo.getlistinovendita('[DATA_VARIAZIONE]', '[COD_VLIS]', NULL) listino\n" +
|
||||
" ON assortimento.cod_vlis = listino.cod_vlis AND assortimento.cod_mart = listino.cod_mart and listino.data_iniz is not null\n" +
|
||||
" INNER JOIN mtb_aart ON listino.cod_mart = mtb_aart.cod_mart\n" +
|
||||
@@ -669,7 +673,7 @@ public class VariazioniPvService {
|
||||
String queryAssortimento = null;
|
||||
|
||||
LocalDateTime dataInvioPrec = null;
|
||||
if (!UtilityString.isNullOrEmpty(variazioniPvDTO.getOraInvioPrec() )){
|
||||
if (!UtilityString.isNullOrEmpty(variazioniPvDTO.getOraInvioPrec())) {
|
||||
dataInvioPrec = UtilityLocalDate.addHourToLocalDate(LocalDate.now(), variazioniPvDTO.getOraInvioPrec());
|
||||
}
|
||||
|
||||
@@ -684,7 +688,8 @@ public class VariazioniPvService {
|
||||
" lisv.cod_mart, " +
|
||||
" 'A' as tipo_variazione, " +
|
||||
" Convert(varchar(15), null ) as 'cod_mart_view', " +
|
||||
" 'N' as 'fine_promo' " +
|
||||
" 'N' as 'fine_promo', " +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
" FROM mtb_lisv lisv " +
|
||||
" WHERE lisv.cod_vlis = %s ",
|
||||
codVlis);
|
||||
@@ -697,7 +702,8 @@ public class VariazioniPvService {
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" 'P' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS 'cod_mart_view',\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
" 'N' AS 'fine_promo',\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
"FROM vtb_list_data\n" +
|
||||
" INNER JOIN mtb_lisv_data\n" +
|
||||
" ON ISNULL(vtb_list_data.cod_vlis_rif, vtb_list_data.cod_vlis) = mtb_lisv_data.cod_vlis AND\n" +
|
||||
@@ -705,13 +711,14 @@ public class VariazioniPvService {
|
||||
"WHERE vtb_list_data.data_iniz = '[DATA_VALIDITA]'\n" +
|
||||
" AND vtb_list_data.cod_vlis = '[COD_VLIS]'\n" +
|
||||
" AND vtb_list_data.cod_promo IS NULL\n" +
|
||||
(variazioniPvDTO.getOraInvioPrec() ==null?"":"AND mtb_lisv_data.data_agg_prz > " + UtilityDB.valueToString(dataInvioPrec)) +
|
||||
(variazioniPvDTO.getOraInvioPrec() == null ? "" : "AND mtb_lisv_data.data_agg_prz > " + UtilityDB.valueToString(dataInvioPrec)) +
|
||||
"UNION\n" +
|
||||
"SELECT vtb_list_data.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" 'P' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS 'cod_mart_view',\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
" 'N' AS 'fine_promo',\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
"FROM vtb_list_data\n" +
|
||||
" INNER JOIN mtb_lisv_data ON vtb_list_data.cod_vlis = mtb_lisv_data.cod_vlis AND\n" +
|
||||
" vtb_list_data.versione = mtb_lisv_data.versione\n" +
|
||||
@@ -723,28 +730,32 @@ public class VariazioniPvService {
|
||||
" mtb_lisv_data.cod_mart = vr.cod_mart\n" +
|
||||
"WHERE '[DATA_VALIDITA]' BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine\n" +
|
||||
" AND vtb_list_data.cod_vlis = '[COD_VLIS]'\n" +
|
||||
(variazioniPvDTO.getOraInvioPrec() ==null?"":"AND mtb_lisv_data.data_agg_prz > " + UtilityDB.valueToString(dataInvioPrec)) +
|
||||
(variazioniPvDTO.getOraInvioPrec() == null ? "" : "AND mtb_lisv_data.data_agg_prz > " + UtilityDB.valueToString(dataInvioPrec)) +
|
||||
"UNION\n" +
|
||||
"SELECT lisv.cod_vlis\n" +
|
||||
" , lisv.cod_mart\n" +
|
||||
" , tipo_variazione\n" +
|
||||
" , cod_mart_new\n" +
|
||||
" , 'N' AS 'fine_promo'\n" +
|
||||
" , 'N' AS 'fine_promo',\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
"FROM (SELECT mtb_aart.cod_mart,\n" +
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new,\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
" FROM mtb_aart\n" +
|
||||
" WHERE mtb_aart.data_ult_var BETWEEN dateAdd( day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'\n" +
|
||||
" UNION\n" +
|
||||
" SELECT jtb_cicl.cod_prod,\n" +
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new,\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
" FROM jtb_cicl\n" +
|
||||
" WHERE jtb_cicl.data_ult_var BETWEEN dateAdd( day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'\n" +
|
||||
" UNION\n" +
|
||||
" SELECT mtb_cambio_art.codice_nuovo,\n" +
|
||||
" 'C' AS tipo_variazione,\n" +
|
||||
" mtb_cambio_art.codice_vecchio\n" +
|
||||
" mtb_cambio_art.codice_vecchio,\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
" FROM mtb_cambio_art\n" +
|
||||
" WHERE CAST(mtb_cambio_art.dataora_cambio AS DATE) BETWEEN dateAdd( day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]') art\n" +
|
||||
" INNER JOIN (SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
@@ -765,7 +776,8 @@ public class VariazioniPvService {
|
||||
" atb_griglie_art.cod_mart,\n" +
|
||||
" 'G' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_view,\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
" 'N' AS 'fine_promo',\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
"FROM atb_griglie_art\n" +
|
||||
" INNER JOIN mtb_depo ON atb_griglie_art.cod_mdep = mtb_depo.cod_mdep\n" +
|
||||
"WHERE atb_griglie_art.data_validita BETWEEN DateAdd(day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'";
|
||||
@@ -785,7 +797,8 @@ public class VariazioniPvService {
|
||||
" CASE\n" +
|
||||
" WHEN MAX(vtb_list_data.data_iniz) = '[DATA_VALIDITA]' THEN 'N'\n" +
|
||||
" WHEN vtb_promo.flag_tipo_promo = 'P' THEN 'N'\n" +
|
||||
" ELSE 'S' END AS 'fine_promo'\n" +
|
||||
" ELSE 'S' END AS 'fine_promo',\n" +
|
||||
" Convert(varchar(25), null ) as lotto\n" +
|
||||
"FROM vtb_list_data\n" +
|
||||
" INNER JOIN mtb_lisv_data\n" +
|
||||
" ON ISNULL(vtb_list_data.cod_vlis_rif, vtb_list_data.cod_vlis) = mtb_lisv_data.cod_vlis AND\n" +
|
||||
@@ -809,6 +822,58 @@ public class VariazioniPvService {
|
||||
queryAssortimento = UtilityDB.addwhereCond(queryAssortimento, filtroPromoOrto, false);
|
||||
}
|
||||
break;
|
||||
case TRACCIABILITA:
|
||||
queryAssortimento =
|
||||
"WITH doc AS (SELECT wdtb_doct.data_reg,\n" +
|
||||
" wdtb_docr.cod_mart,\n" +
|
||||
" wdtb_docr.partita_mag,\n" +
|
||||
" wdtb_doct.cod_mdep,\n" +
|
||||
" wdtb_doct.data_ins\n" +
|
||||
" FROM wdtb_doct\n" +
|
||||
" INNER JOIN wdtb_docr ON wdtb_doct.cod_anag = wdtb_docr.cod_anag AND\n" +
|
||||
" wdtb_doct.cod_dtip = wdtb_docr.cod_dtip AND\n" +
|
||||
" wdtb_doct.data_doc = wdtb_docr.data_doc AND\n" +
|
||||
" wdtb_doct.ser_doc = wdtb_docr.ser_doc AND\n" +
|
||||
" wdtb_doct.num_doc = wdtb_docr.num_doc\n" +
|
||||
" UNION ALL\n" +
|
||||
" SELECT dtb_doct.data_reg, dtb_docr.cod_mart, dtb_docr.partita_mag, dtb_doct.cod_mdep, dtb_doct.data_ins\n" +
|
||||
" FROM dtb_doct\n" +
|
||||
" INNER JOIN dtb_docr\n" +
|
||||
" ON dtb_doct.cod_anag = dtb_docr.cod_anag AND dtb_doct.cod_dtip = dtb_docr.cod_dtip AND\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc AND dtb_doct.ser_doc = dtb_docr.ser_doc AND\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc\n" +
|
||||
" INNER JOIN dtb_tipi ON dtb_doct.cod_dtip = dtb_docr.cod_dtip\n" +
|
||||
" WHERE dtb_tipi.gestione = 'A' AND dtb_tipi.tipo_emissione = 'DIRETTA' AND dtb_tipi.segno_qta_car = 1 and flag_chk_tracciabilita = 1),\n" +
|
||||
"tmp_assortimento as (" +
|
||||
"SELECT mtb_depo.cod_vlis,\n" +
|
||||
" kit.cod_comp as cod_mart,\n" +
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_view,\n" +
|
||||
" 'N' AS 'fine_promo',\n" +
|
||||
" Convert(varchar(25), doc.partita_mag ) as lotto\n" +
|
||||
"FROM doc\n" +
|
||||
" INNER JOIN mtb_aart ON doc.cod_mart = mtb_aart.cod_mart\n" +
|
||||
" INNER JOIN (SELECT cod_mart, cod_mart AS cod_comp\n" +
|
||||
" FROM mtb_aart\n" +
|
||||
" UNION ALL\n" +
|
||||
" SELECT cod_mart, cod_comp\n" +
|
||||
" FROM mtb_comp) kit ON mtb_aart.cod_mart = kit.cod_mart\n" +
|
||||
" INNER JOIN mtb_depo ON doc.cod_mdep = mtb_depo.cod_mdep\n" +
|
||||
"WHERE CAST(doc.data_ins AS DATE) = DATEADD(DD, -1, '[DATA_VALIDITA]')\n" +
|
||||
" AND doc.partita_mag IS NOT NULL\n" +
|
||||
" AND mtb_depo.cod_vlis = '[COD_VLIS]'\n" +
|
||||
" AND NOT EXISTS (SELECT *\n" +
|
||||
" FROM doc d\n" +
|
||||
" WHERE d.data_ins < DATEADD(DD, -1, '[DATA_VALIDITA]')\n" +
|
||||
" AND d.data_reg > doc.data_reg\n" +
|
||||
" AND d.cod_mart = doc.cod_mart\n" +
|
||||
" AND d.cod_mdep = doc.cod_mdep))\n";
|
||||
|
||||
queryAssortimento =
|
||||
queryAssortimento
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[DATA_VALIDITA]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -819,17 +884,23 @@ public class VariazioniPvService {
|
||||
|
||||
String whereCond = variazioniPvDTO.getWhereCondArt();
|
||||
String query =
|
||||
"SELECT Convert(varchar(5), assortimento.cod_vlis) as cod_vlis,\n " +
|
||||
(variazioniPvDTO.getTipoReportEnum() == VariazioniReportType.TRACCIABILITA ?
|
||||
queryAssortimento :
|
||||
"WHIT tmp_assortimento (" + queryAssortimento + ")") + ", " +
|
||||
"assortimento as (" +
|
||||
"SELECT Convert(varchar(5), assortimento.cod_vlis) as cod_vlis,\n " +
|
||||
"Convert(varchar(15), assortimento.cod_mart) as cod_mart,\n " +
|
||||
"Convert(varchar(1), max(assortimento.tipo_variazione)) as tipo_variazione,\n " +
|
||||
"Convert(varchar(15), assortimento.cod_mart_view) as cod_mart_view,\n " +
|
||||
"Convert(varchar(1), max(assortimento.fine_promo)) as fine_promo\n " +
|
||||
" FROM (\n" + queryAssortimento + "\n) assortimento inner join mtb_aart on assortimento.cod_mart = mtb_aart.cod_mart\n " +
|
||||
"Convert(varchar(1), max(assortimento.fine_promo)) as fine_promo,\n " +
|
||||
"Convert(varchar(25), max(assortimento.lotto)) as partita_mag\n " +
|
||||
" FROM tmp_assortimento assortimento inner join mtb_aart on assortimento.cod_mart = mtb_aart.cod_mart\n " +
|
||||
" WHERE mtb_aart.flag_incl_listino = 'S' AND\n " +
|
||||
" EXISTS ( SELECT cod_barre from mvw_barcode WHERE mvw_barcode.cod_mart = mtb_aart.cod_mart )\n " +
|
||||
(UtilityString.isNullOrEmpty(whereCond) ? "" : " AND " + whereCond) +
|
||||
(UtilityString.isNullOrEmpty(filtroMenu) ? "" : " AND " + filtroMenu) +
|
||||
" GROUP BY assortimento.cod_vlis, assortimento.cod_mart, assortimento.cod_mart_view";
|
||||
" GROUP BY assortimento.cod_vlis, assortimento.cod_mart, assortimento.cod_mart_view )";
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
@@ -887,8 +958,11 @@ public class VariazioniPvService {
|
||||
return flagMxnType;
|
||||
}
|
||||
|
||||
private IngredientiType getIngredienti(ObjectFactory objectFactory, String codMart, Date dataVariazioni, VariazioniReportType tipoReport, String tipoVariazioneLisv, String invioIngOpz, String ingredientiArt) throws Exception {
|
||||
private IngredientiType getIngredienti(ObjectFactory objectFactory, String codMart, Date dataVariazioni,
|
||||
VariazioniReportType tipoReport, String tipoVariazioneLisv, String invioIngOpz, String ingredientiArt,
|
||||
String partitaMag) throws Exception {
|
||||
IngredientiType ingredientiType = objectFactory.createIngredientiType();
|
||||
String ingredientiLotto = "%s - Lotto: %s";
|
||||
if (UtilityString.isNullOrEmpty(ingredientiArt)) {
|
||||
String whereCond = "";
|
||||
String query =
|
||||
@@ -899,8 +973,9 @@ public class VariazioniPvService {
|
||||
" jtb_cicl.cod_prod = jtb_dist_mate.cod_prod " +
|
||||
" ORDER BY jtb_dist_mate.id_riga";
|
||||
|
||||
if ("S".equalsIgnoreCase(invioIngOpz)) {
|
||||
if ("S".equalsIgnoreCase(invioIngOpz) || tipoReport == VariazioniReportType.TRACCIABILITA) {
|
||||
if (tipoReport.compareTo(VariazioniReportType.LISTINO) != 0 &&
|
||||
tipoReport != VariazioniReportType.TRACCIABILITA &&
|
||||
!"I".equalsIgnoreCase(tipoVariazioneLisv)) {
|
||||
whereCond = "jtb_cicl.data_ult_var = " + UtilityDB.valueDateToString(dataVariazioni, CommonConstants.DATE_FORMAT_YMD);
|
||||
query = UtilityDB.addwhereCond(query, whereCond, false);
|
||||
@@ -913,6 +988,9 @@ public class VariazioniPvService {
|
||||
IngredientiArticoloType ingredientiArticoloType = objectFactory.createIngredientiArticoloType();
|
||||
String descrIngr = UtilityString.streNull(i);
|
||||
ingredientiArticoloType.setIdRiga(String.valueOf(contatore));
|
||||
if (tipoReport == VariazioniReportType.TRACCIABILITA && !UtilityString.isNullOrEmpty(partitaMag) && contatore == ingredienti.size()) {
|
||||
descrIngr = String.format(ingredientiLotto, descrIngr, partitaMag);
|
||||
}
|
||||
ingredientiArticoloType.setValue(descrIngr);
|
||||
ingredientiType.getIngredientiArticolo().add(ingredientiArticoloType);
|
||||
contatore++;
|
||||
@@ -920,6 +998,9 @@ public class VariazioniPvService {
|
||||
} else {
|
||||
IngredientiArticoloType ingredientiArticoloType = objectFactory.createIngredientiArticoloType();
|
||||
ingredientiArticoloType.setIdRiga("1");
|
||||
if (tipoReport == VariazioniReportType.TRACCIABILITA && !UtilityString.isNullOrEmpty(partitaMag) ) {
|
||||
ingredientiArt = String.format(ingredientiLotto, ingredientiArt, partitaMag);
|
||||
}
|
||||
ingredientiArticoloType.setValue(ingredientiArt);
|
||||
ingredientiType.getIngredientiArticolo().add(ingredientiArticoloType);
|
||||
}
|
||||
@@ -1203,7 +1284,7 @@ public class VariazioniPvService {
|
||||
false, null);
|
||||
}
|
||||
}
|
||||
}catch (Exception e ){
|
||||
} catch (Exception e) {
|
||||
if (!UtilityString.isNullOrEmpty(emailForLog)) {
|
||||
mailService.sendMailPrimary(multiDBTransactionManager,
|
||||
null, null,
|
||||
@@ -1334,7 +1415,7 @@ public class VariazioniPvService {
|
||||
|
||||
String emailForLog = setupGest.getExportSetup(multiDBTransactionManager.getPrimaryConnection(), exportType, formatFile, "EMAIL_FOR_OK");
|
||||
int numVariazioni = variazioniPvInputDTO.getVariazioni().size();
|
||||
if (!UtilityString.isNullOrEmpty(emailForLog) && numVariazioni > 0 ) {
|
||||
if (!UtilityString.isNullOrEmpty(emailForLog) && numVariazioni > 0) {
|
||||
String oggetto =
|
||||
"Esportazione " +
|
||||
variazioniPvInputDTO.getTipoReportEnum().toString() +
|
||||
|
||||
@@ -1950,14 +1950,21 @@ public class PvmService {
|
||||
chkTracciabilita = true;
|
||||
}
|
||||
}
|
||||
if (UtilityDebug.isDebugExecution()) {
|
||||
chkTracciabilita = true;
|
||||
checkResi = true;
|
||||
}
|
||||
// if (UtilityDebug.isDebugExecution()) {
|
||||
// chkTracciabilita = true;
|
||||
// checkResi = true;
|
||||
// }
|
||||
|
||||
if (chkTracciabilita) {
|
||||
String gg = setupGest.getSetup("PVM", "DOC_INTERNI", "DAYS_TO_EXP");
|
||||
List<HashMap<String, Object>> setupSectionDet = setupGest.getSetupSectionDet(multiDBTransactionManager.getPrimaryConnection(), "PVM", "DOC_INTERNI", "DAYS_TO_EXP", "dtb_tipi");
|
||||
|
||||
String gg ="";
|
||||
if (setupSectionDet != null && !setupSectionDet.isEmpty()) {
|
||||
gg = setupSectionDet
|
||||
.stream()
|
||||
.filter(x -> x.get("val_col_rif") != null && ((String) x.get("val_col_rif")).equalsIgnoreCase(codDtip))
|
||||
.findFirst().map(x -> (String) x.get("value")).orElse(null);
|
||||
}
|
||||
sql =
|
||||
Query.format(
|
||||
"WITH " +
|
||||
@@ -2113,6 +2120,11 @@ public class PvmService {
|
||||
if (qtaAcq != null && UtilityBigDecimal.greaterThan(UtilityHashMap.getValueIfExists(lotto, "qta_col"), qtaAcq)) {
|
||||
anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, String.format("Quantità resa maggiore di quantità acquistata %s", qtaAcq)));
|
||||
}
|
||||
} else if (!UtilityString.isNullOrEmpty(gg)) {
|
||||
if (UtilityDate.DaysAfter(UtilityDate.getTodayWithoutTime(), dataScad) > Integer.parseInt(gg)) {
|
||||
anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, String.format("Impossibile effetture un %S di un articolo con scadenza %s.", codDtip, UtilityDate.formatDate(dataScad, CommonConstants.DATE_FORMAT_DMY))));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user