Name
sn_slm_timer.SLATimerConfigMappingSNC
Description
No description available
Script
var SLATimerConfigMappingSNC = Class.create();
SLATimerConfigMappingSNC.LOG_PROP = SLATimerSNC.LOG_PROP;
SLATimerConfigMappingSNC.SLA_TIMER_SOURCE = 2;
SLATimerConfigMappingSNC.prototype = {
initialize: function(_gr, _gs) {
this._log = new global.GSLog(SLATimerConfigMappingSNC.LOG_PROP, this.type);
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug('[initialize] type: ' + this.type);
this._gr = _gr;
this._gs = _gs || gs;
},
isDuplicate: function() {
if (!this._gr || !this._gr.getUniqueValue())
return false;
var mappingGr = new GlideRecord('sla_timer_config_mapping');
mappingGr.addQuery('config', this._gr.getValue('config'));
mappingGr.addQuery('table', this._gr.getValue('table'));
mappingGr.addQuery('sla', this._gr.getValue('sla')).addOrCondition('order', this._gr.getValue('order'));
mappingGr.addNotNullQuery('config');
mappingGr.addNotNullQuery('table');
mappingGr.addNotNullQuery('sla');
mappingGr.addNotNullQuery('order');
mappingGr.query();
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[isDuplicate] encodedQuery: " + mappingGr.getEncodedQuery());
var isDuplicate = false;
while (mappingGr.next()) {
if (mappingGr.getUniqueValue() !== this._gr.getUniqueValue())
isDuplicate = true;
}
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[isDuplicate] isDuplicate: " + isDuplicate);
return isDuplicate;
},
getNextOrder: function() {
if (!this._gr || !this._gr.getUniqueValue())
return -1;
return this._getMaxOrder() + 10;
},
_getMaxOrder: function() {
if (!this._gr || !this._gr.getUniqueValue())
return -1;
var mappingGa = new GlideAggregate('sla_timer_config_mapping');
mappingGa.addQuery('config', this._gr.getValue('config'));
mappingGa.addQuery('table', this._gr.getValue('table'));
mappingGa.addNotNullQuery('order');
mappingGa.orderByAggregate('MAX', 'order');
mappingGa.addAggregate('MAX', 'order');
mappingGa.query();
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[_getMaxOrder] encodedQuery: " + mappingGa.getEncodedQuery());
var order = 0;
if (mappingGa.next())
order = parseInt(mappingGa.getAggregate('MAX', 'order'));
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[_getMaxOrder] order: " + order);
return order;
},
limitByTable: function(table) {
table = table || current.table || '';
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[limitByTable] table: " + table);
if (!table)
return '';
var refQual = 'collection=' + table;
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[limitByTable] refQual: " + refQual);
return refQual;
},
limitByMapping: function() {
var refQual = 'sla_timer_source=' + SLATimerConfigMappingSNC.SLA_TIMER_SOURCE;
if (this._log.atLevel(global.GSLog.DEBUG))
this._log.debug("[limitByMapping] refQual: " + refQual);
return refQual;
},
type: 'SLATimerConfigMappingSNC'
};
Sys ID
2b9d298353be0010a393ddeeff7b1217