This commit is contained in:
2022-03-02 19:51:46 +00:00
parent bd0ff206e4
commit f5e073fe42

View File

@@ -28,39 +28,25 @@ AuthorizationRoles.TechRestricted;
public string ErrorMessage => _errorMessage;
public void BuildQuery(KPIRequestOptions options, long userId)
{
//build data and meta queries
//validate criteria exists
{
if (!options.Criteria.ContainsKey("wostatus"))
{
_errorMessage = "Missing 'wostatus' criteria";
return;
}
var wostatus = (int?)options.Criteria["wostatus"];
var wotags = options.Criteria["wotags"].ToObject<List<string>>();
var woitemtags = options.Criteria["woitemtags"].ToObject<List<string>>();
// var dateWhere = DataListSqlFilterCriteriaBuilder.DataFilterToColumnCriteria("aworkorderitemlabor.servicestopdate", UiFieldDataType.DateTime, "no-operator", timeSpan, options.ClientTimeStamp);
var wostatus = (int?)options.Criteria["wostatus"];
string statusWhere = string.Empty;
if (wostatus != null)
{
statusWhere = $"AND LASTSTATUSID = {wostatus}";
}
//optional tags
string woTagsWhere = null;
if (wotags.Count > 0)
woTagsWhere = " AND " + DataListSqlFilterCriteriaBuilder.TagDataFilterToColumnCriteria("aworkorder.tags", DataListFilterComparisonOperator.Contains, string.Join(",", wotags));
string woItemTagsWhere = null;
if (woitemtags.Count > 0)
woItemTagsWhere = " AND " + DataListSqlFilterCriteriaBuilder.TagDataFilterToColumnCriteria("aworkorderitem.tags", DataListFilterComparisonOperator.Contains, string.Join(",", woitemtags));
var wotags = options.Criteria["wotags"].ToObject<List<string>>();
bool wotagsany = options.Criteria["wotagsany"].ToObject<bool>();
var woitemtags = options.Criteria["woitemtags"].ToObject<List<string>>();
bool woitemtagsany = options.Criteria["woitemtagsany"].ToObject<bool>();
string woTagsWhere = DataListSqlFilterCriteriaBuilder.KPITagFilterToSqlCriteria("aworkorder.tags", wotags, wotagsany);
string woItemTagsWhere = DataListSqlFilterCriteriaBuilder.KPITagFilterToSqlCriteria("aworkorderitem.tags", woitemtags, woitemtagsany); ;