Name
global.TriageBoardService
Description
No description available
Script
var TriageBoardService = Class.create();
TriageBoardService._getTriageDefinition = function(table, query, sysId) {
var gr = new GlideRecord(table);
if (!JSUtil.nil(sysId))
gr.addQuery('sys_id', sysId);
else {
gr.addEncodedQuery(query);
gr.orderBy('table');
gr.setLimit(1);
}
gr.query();
return gr.next() && gr.isValidRecord() ? gr : null;
};
TriageBoardService._getItemsToBeTriaged = function (gr) {
var result= 0;
var counter= new GlideAggregate(gr.getValue('table'));
counter.addEncodedQuery(gr.getValue('filter'));
counter.addAggregate('COUNT');
counter.query();
if (counter.next())
result= counter.getAggregate('COUNT');
return result;
};
TriageBoardService.getTriageDefinitionListWithTriageRecordCount = function(table, query, limit) {
var gr;
var items = [];
var totalItemsToBeTriaged = 0;
var response = {};
if (JSUtil.notNil(table)) {
gr = new GlideRecord(table);
gr.addEncodedQuery(query);
gr.orderBy('name');
if(JSUtil.notNil(limit))
gr.chooseWindow(0, limit);
gr.query();
response.triageItemsCount = gr.getRowCount();
while(gr.next()) {
var itemsToBeTriaged = this._getItemsToBeTriaged(gr);
var item = {
sys_id: gr.getValue('sys_id'),
name: gr.getValue('name'),
table: gr.getValue('table'),
filter: gr.getValue('filter'),
itemsToBeTriaged: itemsToBeTriaged
};
items.push(item);
totalItemsToBeTriaged += parseInt(itemsToBeTriaged, 10);
}
response.results = items;
response.totalItemsToBeTriaged = totalItemsToBeTriaged;
return response;
}
};
Sys ID
8cb6eb0d87200300de96de05b7cb0b89