Nell'invio delle variazioni aggiunta procedura di invio variazioni Griglia di acquisto
This commit is contained in:
@@ -103,6 +103,7 @@ public class VariazioniPvInputDTO {
|
||||
public enum Type {
|
||||
VARIAZIONI("V"),
|
||||
PROMOZIONI("P"),
|
||||
GRIGLIA("G"),
|
||||
LISTINO("L");
|
||||
|
||||
private String text;
|
||||
|
||||
@@ -123,7 +123,14 @@ public class VariazioniPVService {
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, codVlis, getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
List<HashMap<String, Object>> elencoVar = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
if (getSetupSectionDepo.get("SELEZIONA_GRIGLIE") != null && getSetupSectionDepo.get("SELEZIONA_GRIGLIE").equalsIgnoreCase("S")) {
|
||||
boolean getVariazioneGriglia = false;
|
||||
|
||||
if ((variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.GRIGLIA ||
|
||||
variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.LISTINO) &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE") != null &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE").equalsIgnoreCase("S")) {
|
||||
|
||||
getVariazioneGriglia = true;
|
||||
grigliaAcquisto = grigliaAcquistoHandlerService.getGrigliaAcquisto();
|
||||
grigliaAcquisto = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getDataValidita().equals(variazioniPvDTO.getDataValidita()) &&
|
||||
@@ -135,7 +142,7 @@ public class VariazioniPVService {
|
||||
CodMartType codMart = fillArticoloData(objectFactory,
|
||||
variazioni, variazioniPvDTO, invioIngredienti, getSetupSectionDepo, codMdep, colNameDescrEstesa,
|
||||
setup.get("LIBERO1"),
|
||||
setup.get("LIBERO2"));
|
||||
setup.get("LIBERO2"), getVariazioneGriglia);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeCodMart(codMart));
|
||||
}
|
||||
}
|
||||
@@ -156,7 +163,8 @@ public class VariazioniPVService {
|
||||
String codMdep,
|
||||
String colNameDescrEstesa,
|
||||
String valLibero1,
|
||||
String valLibero2) throws Exception {
|
||||
String valLibero2,
|
||||
boolean getVariazioneGriglia) throws Exception {
|
||||
CodMartType codMartType = objectFactory.createCodMartType();
|
||||
String codMart = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_mart"));
|
||||
String flagTipoPromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_tipo_promo"));
|
||||
@@ -325,7 +333,7 @@ public class VariazioniPVService {
|
||||
|
||||
//DATI GRIGLIA DI ACQUISTO
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("SELEZIONA_GRIGLIE"))) {
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvDTO.getDataValidita(), codMartType);
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
}
|
||||
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("ABILITA_CAMPI_LIBERI"))) {
|
||||
@@ -612,6 +620,22 @@ public class VariazioniPVService {
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[DATA_VALIDITA]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD));
|
||||
break;
|
||||
case GRIGLIA:
|
||||
queryAssortimento =
|
||||
"SELECT mtb_depo.cod_vlis,\n" +
|
||||
" 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" +
|
||||
"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]'";
|
||||
|
||||
queryAssortimento =
|
||||
queryAssortimento
|
||||
.replace("'[COD_VLIS]'", UtilityDB.valueToString(codVlis))
|
||||
.replace("'[DATA_VALIDITA]'", UtilityDB.valueDateToString(variazioniPvDTO.getDataValidita(), CommonConstants.DATE_FORMAT_YMD));
|
||||
break;
|
||||
case PROMOZIONI:
|
||||
String filtroPromoOrto = setup.get("FILTRO_ART_ORTOFRUTTA");
|
||||
queryAssortimento =
|
||||
@@ -853,82 +877,87 @@ public class VariazioniPVService {
|
||||
return codiciABarreType;
|
||||
}
|
||||
|
||||
private void getDatiGriglia(ObjectFactory objectFactory, String codMart, String codMdep, Date dataValidita, CodMartType codMartType) throws Exception {
|
||||
private void getDatiGriglia(ObjectFactory objectFactory, String codMart, String codMdep, Date dataValidita, CodMartType codMartType, boolean getVariazioneGriglia) throws Exception {
|
||||
CodAlisType codAlisType = objectFactory.createCodAlisType();
|
||||
|
||||
List<GrigliaAcquistoDTO> grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(codMart) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
String tipoAssortimento = "",
|
||||
tipoVariazioneGriglia = "",
|
||||
codAlis = "",
|
||||
descrList = "";
|
||||
|
||||
|
||||
String query = "select cod_mart from mtb_comp where cod_comp = " + UtilityDB.valueToString(codMart) + " \n" +
|
||||
"union all\n" +
|
||||
"select cod_comp from mtb_comp where cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
if (getVariazioneGriglia) {
|
||||
List<GrigliaAcquistoDTO> grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(codMart) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
List<String> kits = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
|
||||
for (String kit : kits) {
|
||||
grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(kit) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (!grigliaArticolo.isEmpty()) {
|
||||
break;
|
||||
String query = "select cod_mart from mtb_comp where cod_comp = " + UtilityDB.valueToString(codMart) + " \n" +
|
||||
"union all\n" +
|
||||
"select cod_comp from mtb_comp where cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
|
||||
List<String> kits = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
for (String kit : kits) {
|
||||
grigliaArticolo = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(kit) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||
x.getDataValidita().equals(dataValidita))
|
||||
.toList();
|
||||
|
||||
if (!grigliaArticolo.isEmpty()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
kits.add(codMart);
|
||||
|
||||
query =
|
||||
"SELECT TOP 1 griglia.data_validita, " +
|
||||
" griglia.cod_mdep, " +
|
||||
" griglia.cod_mart, " +
|
||||
" griglia.tipo_variazione, " +
|
||||
" ISNULL(griglia.tipo_assortimento, '') AS tipo_assortimento, " +
|
||||
" griglia.cod_alis, " +
|
||||
" atb_list.descrizione AS descr_list " +
|
||||
" FROM atb_list\n" +
|
||||
"INNER JOIN dbo.getGrigliaAcquisto(" + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ", NULL, " +
|
||||
UtilityDB.valueToString(codMdep) + ", NULL, NULL) griglia ON atb_list.cod_alis = griglia.cod_alis\n" +
|
||||
" WHERE griglia.tipo_variazione <> 'D' AND " +
|
||||
" griglia.cod_mart IN (" + UtilityDB.listValueToString(kits) + ")\n " +
|
||||
" ORDER BY griglia.data_validita DESC ";
|
||||
|
||||
grigliaArticolo = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, GrigliaAcquistoDTO.class);
|
||||
}
|
||||
}
|
||||
|
||||
if (grigliaArticolo.isEmpty()) {
|
||||
kits.add(codMart);
|
||||
if (grigliaArticolo != null && !grigliaArticolo.isEmpty()) {
|
||||
codAlis = grigliaArticolo.get(0).getCodAlis();
|
||||
tipoAssortimento = UtilityString.streNull(grigliaArticolo.get(0).getTipoAssortimento());
|
||||
tipoVariazioneGriglia = grigliaArticolo.get(0).getTipoVariazione();
|
||||
|
||||
query =
|
||||
"SELECT TOP 1 griglia.data_validita, " +
|
||||
" griglia.cod_mdep, " +
|
||||
" griglia.cod_mart, " +
|
||||
" griglia.tipo_variazione, " +
|
||||
" ISNULL(griglia.tipo_assortimento, '') AS tipo_assortimento, " +
|
||||
" griglia.cod_alis, " +
|
||||
" atb_list.descrizione AS descr_list " +
|
||||
" FROM atb_list\n" +
|
||||
"INNER JOIN dbo.getGrigliaAcquisto(" + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ", NULL, " +
|
||||
UtilityDB.valueToString(codMdep) + ", NULL, NULL) griglia ON atb_list.cod_alis = griglia.cod_alis\n" +
|
||||
" WHERE griglia.tipo_variazione <> 'D' AND " +
|
||||
" griglia.cod_mart IN (" + UtilityDB.listValueToString(kits) + ")\n " +
|
||||
" ORDER BY griglia.data_validita DESC ";
|
||||
descrList = listini.get(codAlis);
|
||||
if (descrList == null) {
|
||||
String sql = "SELECT descrizione\n" +
|
||||
"FROM atb_list\n" +
|
||||
"WHERE cod_alis = " + UtilityDB.valueToString(codAlis);
|
||||
|
||||
grigliaArticolo = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, GrigliaAcquistoDTO.class);
|
||||
descrList = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
listini.put(codAlis, descrList);
|
||||
}
|
||||
|
||||
} else {
|
||||
codAlis = "NO GRIGLIA";
|
||||
descrList = codAlis;
|
||||
tipoAssortimento = "F.A.";
|
||||
tipoVariazioneGriglia = "";
|
||||
}
|
||||
}
|
||||
|
||||
String tipoAssortimento, tipoVariazioneGriglia, codAlis, descrList = null;
|
||||
|
||||
if (grigliaArticolo != null && !grigliaArticolo.isEmpty()) {
|
||||
codAlis = grigliaArticolo.get(0).getCodAlis();
|
||||
tipoAssortimento = UtilityString.streNull(grigliaArticolo.get(0).getTipoAssortimento());
|
||||
tipoVariazioneGriglia = grigliaArticolo.get(0).getTipoVariazione();
|
||||
|
||||
descrList = listini.get(codAlis);
|
||||
if (descrList == null) {
|
||||
String sql = "SELECT descrizione\n" +
|
||||
"FROM atb_list\n" +
|
||||
"WHERE cod_alis = " + UtilityDB.valueToString(codAlis);
|
||||
|
||||
descrList = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
listini.put(codAlis, descrList);
|
||||
}
|
||||
|
||||
} else {
|
||||
codAlis = "NO GRIGLIA";
|
||||
descrList = codAlis;
|
||||
tipoAssortimento = "F.A.";
|
||||
tipoVariazioneGriglia = "";
|
||||
}
|
||||
|
||||
codAlisType.setValue(codAlis);
|
||||
codAlisType.setDescrizione(descrList);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoAssortimento(tipoAssortimento));
|
||||
|
||||
Reference in New Issue
Block a user