diff --git a/src/main/java/com/divudi/bean/common/ReportsController.java b/src/main/java/com/divudi/bean/common/ReportsController.java index a7a6fe2d81..5b6f7b14ee 100644 --- a/src/main/java/com/divudi/bean/common/ReportsController.java +++ b/src/main/java/com/divudi/bean/common/ReportsController.java @@ -3272,7 +3272,7 @@ private ReportTemplateRowBundle generateExternalLaboratoryWorkloadBillItems(List System.out.println("jpql = " + jpql); System.out.println("parameters = " + parameters); - List rs = (List) paymentFacade.findLightsByJpql(jpql, parameters, TemporalType.TIMESTAMP); + List rs = (List) paymentFacade.findLightsByJpqlWithoutCache(jpql, parameters, TemporalType.TIMESTAMP); ReportTemplateRowBundle b = new ReportTemplateRowBundle(); b.setReportTemplateRows(rs); diff --git a/src/main/java/com/divudi/facade/AbstractFacade.java b/src/main/java/com/divudi/facade/AbstractFacade.java index 06f00c4800..ca0ef2db43 100644 --- a/src/main/java/com/divudi/facade/AbstractFacade.java +++ b/src/main/java/com/divudi/facade/AbstractFacade.java @@ -459,6 +459,34 @@ public List findLightsByJpql(String jpql, Map parameters, Tem return resultList; } + public List findLightsByJpqlWithoutCache(String jpql, Map parameters, TemporalType tt) { + Query qry = getEntityManager().createQuery(jpql); + + qry.setHint("javax.persistence.cache.storeMode", "REFRESH"); + + Set> entries = parameters.entrySet(); + + for (Map.Entry entry : entries) { + String paramName = entry.getKey(); + Object paramValue = entry.getValue(); + + if (paramValue instanceof Date) { + qry.setParameter(paramName, (Date) paramValue, tt); + } else { + qry.setParameter(paramName, paramValue); + } + } + + List resultList; + try { + resultList = qry.getResultList(); + } catch (Exception e) { + resultList = new ArrayList<>(); + } + + return resultList; + } + public List findLightsByJpql(String jpql, Map parameters, TemporalType tt, int maxRecords) { Query qry = getEntityManager().createQuery(jpql); Set> entries = parameters.entrySet();