Name
sn_risk_advanced.setAppetiteValuesForRiskAssessment
Description
Implements extension point sn_risk_advanced.setAppetiteValues
Script
var setAppetiteValuesForRiskAssessment = Class.create();
setAppetiteValuesForRiskAssessment.prototype = {
initialize: function() {},
_getActiveRiskAssessmentState: function() {
return new sn_risk_advanced.RiskAssessmentUtils().getActiveRiskAssessmentState();
},
setAppetiteValues: function(appetiteInfo) {
var appetiteStatusFields = appetiteInfo.appetiteStatusFields;
var assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
if (!gs.nil(appetiteInfo.assessmentQuery))
assessment.addEncodedQuery(appetiteInfo.assessmentQuery);
for (var column in appetiteStatusFields) {
assessment.setValue(column, appetiteStatusFields[column]);
}
// For target risk
var projectedAppetiteStatusFields = appetiteInfo.projectedAppetiteStatusFields;
for (var projColumn in projectedAppetiteStatusFields) {
assessment.setValue(projColumn, projectedAppetiteStatusFields[projColumn]);
}
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setWorkflow(false);
assessment.updateMultiple();
},
copyOverallAppetitStatus: function(appetiteStatusColumn) {
var appetiteUtils = new sn_risk_advanced.RiskAppetiteUtils();
var assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
assessment.addQuery(appetiteStatusColumn, appetiteUtils.withInAppetiteStatusId);
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setValue('overall_appetite_status', appetiteUtils.withInAppetiteStatusId);
assessment.setWorkflow(false);
assessment.updateMultiple();
assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
assessment.addQuery(appetiteStatusColumn, appetiteUtils.outsideAppetiteStautusId);
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setValue('overall_appetite_status', appetiteUtils.outsideAppetiteStautusId);
assessment.setWorkflow(false);
assessment.updateMultiple();
assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
assessment.addQuery(appetiteStatusColumn, appetiteUtils.outsideToleranceStautusId);
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setValue('overall_appetite_status', appetiteUtils.outsideToleranceStautusId);
assessment.setWorkflow(false);
assessment.updateMultiple();
// For target risk.
var projectedStatusColumn = "projected_" + appetiteStatusColumn;
assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
assessment.addQuery(projectedStatusColumn, appetiteUtils.withInAppetiteStatusId);
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setValue('projected_appetite_status', appetiteUtils.withInAppetiteStatusId);
assessment.setWorkflow(false);
assessment.updateMultiple();
assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
assessment.addQuery(projectedStatusColumn, appetiteUtils.outsideAppetiteStautusId);
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setValue('projected_appetite_status', appetiteUtils.outsideAppetiteStautusId);
assessment.setWorkflow(false);
assessment.updateMultiple();
assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
assessment.addQuery(projectedStatusColumn, appetiteUtils.outsideToleranceStautusId);
assessment.addQuery('state', 'IN', this._getActiveRiskAssessmentState());
assessment.setValue('projected_appetite_status', appetiteUtils.outsideToleranceStautusId);
assessment.setWorkflow(false);
assessment.updateMultiple();
},
type: 'setAppetiteValuesForRiskAssessment'
};
Sys ID
939be39653261110bad1ddeeff7b1260