diff --git a/server/AyaNova/kpi/CSROpenList.cs b/server/AyaNova/kpi/CSROpenList.cs index 2be6528e..89bf29f7 100644 --- a/server/AyaNova/kpi/CSROpenList.cs +++ b/server/AyaNova/kpi/CSROpenList.cs @@ -27,28 +27,21 @@ AuthorizationRoles.TechRestricted; public void BuildQuery(KPIRequestOptions options, long userId) { - //build data and meta queries var custtags = options.Criteria["custtags"].ToObject>(); - - //optional tags - string custTagsWhere = null; - if (custtags.Count > 0) - custTagsWhere = " AND " + DataListSqlFilterCriteriaBuilder.TagDataFilterToColumnCriteria("acustomer.tags", DataListFilterComparisonOperator.Contains, string.Join(",", custtags)); - - - + bool custtagsany = options.Criteria["custtagsany"].ToObject(); + string custTagsWhere = DataListSqlFilterCriteriaBuilder.KPITagFilterToSqlCriteria("acustomer.tags", custtags, custtagsany); ; _dataQuery = @$"SELECT row_to_json(t) as res from ( -SELECT ACUSTOMERSERVICEREQUEST.DATEREQUESTED, - ACUSTOMER.NAME AS CUSTOMERNAME, - ACUSTOMERSERVICEREQUEST.NAME AS CSRNAME, - ACUSTOMERSERVICEREQUEST.ID, - ACUSTOMERSERVICEREQUEST.PRIORITY -FROM ACUSTOMERSERVICEREQUEST -LEFT JOIN ACUSTOMER ON (ACUSTOMERSERVICEREQUEST.CUSTOMERID = ACUSTOMER.ID) -WHERE (ACUSTOMERSERVICEREQUEST.STATUS = 0) {custTagsWhere} -ORDER BY ACUSTOMERSERVICEREQUEST.DATEREQUESTED ASC -) t"; + SELECT ACUSTOMERSERVICEREQUEST.DATEREQUESTED, + ACUSTOMER.NAME AS CUSTOMERNAME, + ACUSTOMERSERVICEREQUEST.NAME AS CSRNAME, + ACUSTOMERSERVICEREQUEST.ID, + ACUSTOMERSERVICEREQUEST.PRIORITY + FROM ACUSTOMERSERVICEREQUEST + LEFT JOIN ACUSTOMER ON (ACUSTOMERSERVICEREQUEST.CUSTOMERID = ACUSTOMER.ID) + WHERE (ACUSTOMERSERVICEREQUEST.STATUS = 0) {custTagsWhere} + ORDER BY ACUSTOMERSERVICEREQUEST.DATEREQUESTED ASC + ) t"; _metaQuery = string.Empty; // @"SELECT row_to_json(t) as res from ( // select name from auser where id = 10