STRY0837900. For all closed REQ/RITM and CTASK,
correct closing date should be updated and active = false
SCRIPT INCLUDE
var AZAutoUpdateClosedDate = Class.create();
AZAutoUpdateClosedDate.prototype = {
initialize:
function() {},
updateClosedDate: function(sysId, c_date) {
var
gr_screq = new GlideRecord('sc_req_item');
gr_screq.addQuery('request', sysId);
gr_screq.query();
while
(gr_screq.next()) {
if
(gs.nil(gr_screq.closed_at)) {
gr_screq.closed_at = c_date;
gr_screq.setWorkflow(false);
gr_screq.update();
}
var
gr_task = new GlideRecord('sc_task');
gr_task.addQuery('request_item', gr_screq.sys_id);
gr_task.query();
while (gr_task.next()) {
if (gs.nil(gr_task.closed_at)) {
gr_task.closed_at = c_date;
gr_task.setWorkflow(false);
gr_task.update();
}
}
}
},
type:
'AZAutoUpdateClosedDate'
};
FIX SCRIPT
var date1 =
new GlideDateTime("2020-12-31 20:59:59");
var date2 =
new GlideDateTime("2019-12-31 20:59:59");
var date3 =
new GlideDateTime("2018-12-31 20:59:59");
var date4 =
new GlideDateTime("2017-12-31 20:59:59");
var date5 =
new GlideDateTime("2016-12-31 20:59:59");
var gr_req
= new GlideRecord('sc_request');
gr_req.addEncodedQuery('closed_atISEMPTY^active=false^sys_created_onONOne
year ago@javascript:gs.beginningOfOneYearAgo()@javascript:gs.endOfOneYearAgo()');
gr_req.query();
while(gr_req.next()){
if(new GlideTime("2020-01-01
00:00:00") <= gr_req.sys_created_on && new
GlideTime("2020-12-31 23:59:59") >= gr_req.sys_created_on)
{
gr_req.closed_at
= date1;
gr_req.setWorkflow(false);
gr_req.update();
new
AZAutoUpdateClosedDate().updateClosedDate(gr_req.sys_id.toString(), date1);
}
else if(new
GlideTime("2019-01-01 00:00:00") <= gr_req.sys_created_on
&& new GlideTime("2019-12-31 23:59:59") >= gr_req.sys_created_on)
{
gr_req.closed_at
= date2;
gr_req.setWorkflow(false);
gr_req.update();
new
AZAutoUpdateClosedDate().updateClosedDate(gr_req.sys_id.toString(), date2);
}
}