diff --git a/ems-engine/src/main/java/it/integry/ems/retail/service/GrigliaAcquistoService.java b/ems-engine/src/main/java/it/integry/ems/retail/service/GrigliaAcquistoService.java index 2457706083..d50b13752b 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/service/GrigliaAcquistoService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/service/GrigliaAcquistoService.java @@ -32,9 +32,10 @@ public class GrigliaAcquistoService { public List consolidaGriglieAcquisto(Date dataVar, String whereCondDepo) throws Exception { String sql = "SELECT DISTINCT cod_mdep, cod_alis\n" + "FROM atb_griglie\n" + - "WHERE data_validita < " + UtilityDB.valueDateToString(dataVar, CommonConstants.DATE_FORMAT_YMD); + "WHERE data_validita < " + UtilityDB.valueDateToString(dataVar, CommonConstants.DATE_FORMAT_YMD) + " \n" + + "ORDER BY cod_mdep, cod_alis"; - if (!UtilityString.isNullOrEmpty(whereCondDepo)){ + if (!UtilityString.isNullOrEmpty(whereCondDepo)) { sql += " " + whereCondDepo; } @@ -47,24 +48,27 @@ public class GrigliaAcquistoService { try { sql = String.format( "SELECT * \n" + - "FROM dbo.getGrigliaAcquisto(%s, %s, %s, NULL, NULL)", + "FROM dbo.getGrigliaAcquisto(%s, %s, %s, NULL, NULL) \n" + + "WHERE tipo_variazione <> 'D'", UtilityDB.valueDateToString(dataVar, CommonConstants.DATE_FORMAT_YMD), UtilityDB.valueToString(codAlis), UtilityDB.valueToString(codMdep) ); - List atbGriglieArt = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, AtbGriglieArt.class); + List atbGriglieArt = new ResultSetMapper().mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, AtbGriglieArt.class, OperationType.INSERT_OR_UPDATE); - AtbGriglie atbGriglie = new AtbGriglie(); - atbGriglie.setCodAlis(codAlis); - atbGriglie.setCodMdep(codMdep); - atbGriglie.setDataValidita(dataVar); - atbGriglie.setAtbGriglieArt(atbGriglieArt); - atbGriglie.setNote("Generato automaticamente"); - atbGriglie.setOperation(OperationType.INSERT_OR_UPDATE); + if (atbGriglieArt != null && !atbGriglieArt.isEmpty()) { + AtbGriglie atbGriglie = new AtbGriglie(); + atbGriglie.setCodAlis(codAlis); + atbGriglie.setCodMdep(codMdep); + atbGriglie.setDataValidita(dataVar); + atbGriglie.setAtbGriglieArt(atbGriglieArt); + atbGriglie.setNote("Generato automaticamente"); + atbGriglie.setOperation(OperationType.INSERT_OR_UPDATE); - entityProcessor.processEntity(atbGriglie, true, multiDBTransactionManager); - UtilityEntity.throwEntityException(atbGriglie); + entityProcessor.processEntity(atbGriglie, true, multiDBTransactionManager); + UtilityEntity.throwEntityException(atbGriglie); + } sql = String.format( "SELECT *\n" + @@ -77,7 +81,7 @@ public class GrigliaAcquistoService { List atbGriglieDelete = new ResultSetMapper().mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, AtbGriglie.class, OperationType.DELETE); - for (AtbGriglie atbDelete : atbGriglieDelete){ + for (AtbGriglie atbDelete : atbGriglieDelete) { entityProcessor.processEntity(atbDelete, true, multiDBTransactionManager); UtilityEntity.throwEntityException(atbDelete); }