public static String getQuery(Map params) { if (params.containsKey("param1")) { params = (Map) params.get("param1"); } Boolean disaggregated = StringHelper.isBlank(params, "disaggregated") ? false : Boolean.parseBoolean(StringHelper.getValue(params, "disaggregated")); return (disaggregated) ? getDisaggregatedSelect() + getPredicates(params) + getDisAggregatedGroupBy() : getAggregateSelect() + getPredicates(params) + getAggregateGroupBy(); }
private static String getPredicates(Map params) { String predicate = " WHERE r.status in ('APPROVED','RELEASED') "; String facilityTypeId = StringHelper.isBlank(params, "facilityType") ? null : ((String[]) params.get("facilityType"))[0]; String facilityName = StringHelper.isBlank(params, "facilityName") ? null : ((String[]) params.get("facilityName"))[0]; String period = StringHelper.isBlank(params, "period") ? null : ((String[]) params.get("period"))[0]; String productCategory = StringHelper.getValue(params, "productCategory"); String program = StringHelper.isBlank(params, "program") ? null : ((String[]) params.get("program"))[0]; String product = StringHelper.isBlank(params, "product") ? null : ((String[]) params.get("product"))[0]; String zone = StringHelper.isBlank(params, "zone") ? null : ((String[]) params.get("zone"))[0]; String schedule = StringHelper.isBlank(params, "schedule") ? null : ((String[]) params.get("schedule"))[0]; String facilityId = StringHelper.isBlank(params, "facility") ? null : ((String[]) params.get("facility"))[0]; predicate += " and r.periodId = " + period; predicate += " and r.programId = " + program; if (productCategory != null && !productCategory.equals("undefined") && !productCategory.isEmpty() && !productCategory.equals("0") && !productCategory.equals("-1")) { predicate += "and pps.productCategoryId = " + productCategory; } if (product != null && !product.equals("undefined") && !product.isEmpty() && !product.equals("0") && !product.equals("-1")) { predicate += " and products.id = " + product; } if (schedule != null && !schedule.equals("undefined") && !schedule.isEmpty() && !schedule.equals("0") && !schedule.equals("-1")) { predicate += " and processing_schedules.id = " + schedule; } if (zone != null && !zone.equals("0") && !zone.isEmpty() && !zone.endsWith("undefined")) { predicate += (" and (gz.district_id = " + zone + " or gz.zone_id = " + zone + " or gz.region_id = " + zone + " or gz.parent = " + zone + " )"); } if (facilityTypeId != null && !facilityTypeId.equals("undefined") && !facilityTypeId.isEmpty() && !facilityTypeId.equals("0") && !facilityTypeId.equals("-1")) { predicate += " and facilities.typeid = " + facilityTypeId; } if (facilityName != null && !facilityName.equals("undefined") && !facilityName.isEmpty()) { predicate += " and facilities.name = '" + facilityName + "'"; } if (facilityId != null && !facilityId.equals("") && !facilityId.equals("undefined") && !facilityId.equals("0")) { predicate += " and facilities.id = " + facilityId + ""; } return predicate; }