Ottimizzazione dati per estrazione ordini di acquisto

This commit is contained in:
2024-11-25 12:56:03 +01:00
parent 4a063f6bd8
commit fb51505aa7
3 changed files with 22 additions and 19 deletions

View File

@@ -114,15 +114,15 @@ public class ListiniAcquistoHandlerService {
public List<ListiniOrdiniAcquistoDTO> getListini() throws Exception { public List<ListiniOrdiniAcquistoDTO> getListini() throws Exception {
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class); MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
if (!saveCache()) { String dbName = multiDBTransactionManager.getPrimaryDatasource().getDbName();
return getListini(multiDBTransactionManager); HashMap<String, List<ListiniOrdiniAcquistoDTO>> inputMap = ListiniCachedData;
} else { List<ListiniOrdiniAcquistoDTO> listini = inputMap.get(dbName);
HashMap<String, List<ListiniOrdiniAcquistoDTO>> inputMap = ListiniCachedData; if (listini == null) {
String dbName = multiDBTransactionManager.getPrimaryDatasource().getDbName(); listini = getListini(multiDBTransactionManager);
List<ListiniOrdiniAcquistoDTO> setupList = inputMap.get(dbName); ListiniCachedData.put(dbName, listini);
if (setupList == null)
return getListini(multiDBTransactionManager);
return setupList;
} }
return listini;
} }
} }

View File

@@ -2,6 +2,7 @@ package it.integry.ems.retail.wms.ordini_acquisto.service;
import it.integry.annotations.PostWebServerConstruct; import it.integry.annotations.PostWebServerConstruct;
import it.integry.ems.looper.service.LooperService; import it.integry.ems.looper.service.LooperService;
import it.integry.ems.retail.dto.ListiniOrdiniAcquistoDTO;
import it.integry.ems.retail.wms.ordini_acquisto.dto.BarcodeOrdiniAcquistoDTO; import it.integry.ems.retail.wms.ordini_acquisto.dto.BarcodeOrdiniAcquistoDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
@@ -121,15 +122,15 @@ public class WMSBarcodeOrdiniAcquistoHandlerService {
public List<BarcodeOrdiniAcquistoDTO> getBarcode() throws Exception { public List<BarcodeOrdiniAcquistoDTO> getBarcode() throws Exception {
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class); MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
if (!saveCache()) { HashMap<String, List<BarcodeOrdiniAcquistoDTO>> inputMap = BarcodeCachedData;
return getBarcode(multiDBTransactionManager); String dbName = multiDBTransactionManager.getPrimaryDatasource().getDbName();
} else { List<BarcodeOrdiniAcquistoDTO> listaBarcode = inputMap.get(dbName);
HashMap<String, List<BarcodeOrdiniAcquistoDTO>> inputMap = BarcodeCachedData; if (listaBarcode == null){
String dbName = multiDBTransactionManager.getPrimaryDatasource().getDbName(); listaBarcode = getBarcode(multiDBTransactionManager);
List<BarcodeOrdiniAcquistoDTO> setupList = inputMap.get(dbName); BarcodeCachedData.put(dbName, listaBarcode);
if (setupList == null)
return getBarcode(multiDBTransactionManager);
return setupList;
} }
return listaBarcode;
} }
} }

View File

@@ -116,8 +116,10 @@ public class WMSMerceOrdiniAcquistoHandlerService {
String dbName = multiDBTransactionManager.getPrimaryDatasource().getDbName(); String dbName = multiDBTransactionManager.getPrimaryDatasource().getDbName();
list = inputMap.get(dbName); list = inputMap.get(dbName);
if (list == null) if (list == null) {
list = getMerce(multiDBTransactionManager); list = getMerce(multiDBTransactionManager);
MerceCachedData.put(dbName, list);
}
} }
if (list != null) { if (list != null) {