This commit is contained in:
Mike Phares 2024-10-23 20:54:14 -07:00
parent 6e79c658b4
commit fcfb936956
32 changed files with 334 additions and 81 deletions

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -37,7 +37,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -37,7 +37,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -39,7 +39,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid body-content" style="margin-top: 10px;"> <div class="container-fluid body-content" style="margin-top: 30px;">
<div style="height: 550px;" id="HeaderGridDiv"> <div style="height: 550px;" id="HeaderGridDiv">
<table id="HeaderGrid"></table> <table id="HeaderGrid"></table>

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -177,7 +182,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -177,7 +182,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -177,7 +182,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -177,7 +182,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -177,7 +182,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -177,7 +182,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -113,10 +113,15 @@ function getPollValue(description, priority, priorityDisplay, pollValue) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }

View File

@ -113,10 +113,15 @@ function getPollValue(description, priority, priorityDisplay, pollValue) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -179,7 +184,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -179,7 +184,6 @@ function initIndex(url) {
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" }, { headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" }, { headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -113,10 +113,15 @@ function getPollValue(description, priority, priorityDisplay, pollValue) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }

View File

@ -113,10 +113,15 @@ function getPollValue(description, priority, priorityDisplay, pollValue) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }

View File

@ -79,10 +79,15 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem.Effort === null)
workItem["CoD"] === 0; workItem.Effort = 10123;
else if (workItem.BusinessValue === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem.BusinessValue = 99999;
if (workItem.TimeCriticality === null)
workItem.TimeCriticality = 99999;
if (workItem.RiskReductionMinusOpportunityEnablement === null)
workItem.RiskReductionMinusOpportunityEnablement = 99999;
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablement + workItem.TimeCriticality + workItem.BusinessValue;
} }
} }
@ -171,7 +176,6 @@ function initIndex(url) {
{ key: "State", dataType: "string" }, { key: "State", dataType: "string" },
{ key: "ParentTitle", dataType: "string", hidden: true }, { key: "ParentTitle", dataType: "string", hidden: true },
{ key: "AreaPath", dataType: "string", hidden: true }, { key: "AreaPath", dataType: "string", hidden: true },
{ key: "AssignedTo", dataType: "string", hidden: true },
{ key: "ChangedDate", dataType: "string", hidden: true }, { key: "ChangedDate", dataType: "string", hidden: true },
{ key: "CommentCount", dataType: "number", hidden: true }, { key: "CommentCount", dataType: "number", hidden: true },
{ key: "CreatedDate", dataType: "string", hidden: true }, { key: "CreatedDate", dataType: "string", hidden: true },

View File

@ -1,7 +1,23 @@
var _apiUrl = null; var _apiUrl = null;
function compareFunction(a, b) { function compareFunction(a, b) {
return a.WeightedShortestJobFirst - b.WeightedShortestJobFirst || b.ParentId - a.ParentId || a.Id - b.Id; return b.WeightedShortestJobFirst - a.WeightedShortestJobFirst || b.ParentId - a.ParentId || a.Id - b.Id;
}
function compareEffortFunction(a, b) {
return a.Effort - b.Effort || b.ParentId - a.ParentId || a.Id - b.Id;
}
function compareBusinessValueFunction(a, b) {
return a.BusinessValue - b.BusinessValue || b.ParentId - a.ParentId || a.Id - b.Id;
}
function compareTimeCriticalityFunction(a, b) {
return a.TimeCriticality - b.TimeCriticality || b.ParentId - a.ParentId || a.Id - b.Id;
}
function compareRiskReductionMinusOpportunityEnablementFunction(a, b) {
return b.RiskReductionMinusOpportunityEnablement - b.RiskReductionMinusOpportunityEnablement || b.ParentId - a.ParentId || a.Id - b.Id;
} }
function showOne(rowData) { function showOne(rowData) {
@ -77,16 +93,63 @@ function getPriority(workItemType, priority) {
function updateRecordCoD(workItem) { function updateRecordCoD(workItem) {
if (workItem !== null) { if (workItem !== null) {
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null) if (workItem["Effort"] === null)
workItem["CoD"] === 0; workItem["Effort"] = 1;
else if (workItem["BusinessValue"] === null)
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"]; workItem["BusinessValue"] = 99999;
if (workItem["TimeCriticality"] === null)
workItem["TimeCriticality"] = 99999;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null)
workItem["RiskReductionMinusOpportunityEnablement"] = 99999;
} }
} }
function updateRecordWSJF(workItem) { function getFibonacci(length) {
if (workItem["WeightedShortestJobFirst"] === null) var results = [];
workItem["WeightedShortestJobFirst"] = 9999999; var i;
var fib = [0, 1];
for (i = 2; i <= length + 1; i++) {
fib[i] = fib[i - 2] + fib[i - 1];
results.push(fib[i]);
}
return results;
}
function updateCoD(records) {
var workItem;
var fibonacci = getFibonacci(records.length);
records.sort(compareEffortFunction);
for (var i = 0; i < records.length; i++) {
workItem = records[i];
workItem.EffortRank = i + 1;
workItem.EffortFibonacci = fibonacci[i];
}
records.sort(compareBusinessValueFunction);
for (var i = 0; i < records.length; i++) {
workItem = records[i];
workItem.BusinessValueRank = i + 1;
workItem.BusinessValueFibonacci = fibonacci[i];
}
records.sort(compareTimeCriticalityFunction);
for (var i = 0; i < records.length; i++) {
workItem = records[i];
workItem.TimeCriticalityRank = i + 1;
workItem.TimeCriticalityFibonacci = fibonacci[i];
}
records.sort(compareRiskReductionMinusOpportunityEnablementFunction);
for (var i = 0; i < records.length; i++) {
workItem = records[i];
workItem.RiskReductionMinusOpportunityEnablementRank = i + 1;
workItem.RiskReductionMinusOpportunityEnablementFibonacci = fibonacci[i];
}
for (var i = 0; i < records.length; i++) {
workItem = records[i];
workItem.CoD = workItem.RiskReductionMinusOpportunityEnablementFibonacci + workItem.TimeCriticalityFibonacci + workItem.BusinessValueFibonacci;
if (workItem.Priority[0] !== '1')
workItem.WeightedShortestJobFirst = 0.000001;
else
workItem.WeightedShortestJobFirst = workItem.CoD / workItem.EffortFibonacci;
}
} }
function updateRecordOther(workItem) { function updateRecordOther(workItem) {
@ -118,24 +181,26 @@ function getRecords(data) {
workItem = data[i].WorkItem; workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'Feature') if (workItem.WorkItemType !== 'Feature')
continue; continue;
if (workItem.State !== 'New' && workItem.State !== 'Active')
continue;
if (workItem.Tags != null && workItem.Tags.includes("Ignore")) if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue; continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES')) if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue; continue;
updateRecordCoD(parent); updateRecordCoD(parent);
updateRecordCoD(workItem); updateRecordCoD(workItem);
updateRecordWSJF(workItem);
updateRecordOther(workItem); updateRecordOther(workItem);
updateRecordParent(parent, workItem); updateRecordParent(parent, workItem);
records.push(workItem); records.push(workItem);
} }
updateCoD(records);
records.sort(compareFunction); records.sort(compareFunction);
return records; return records;
} }
function setRecords(workItems) { function setRecords(workItems) {
var record; var record;
var html = "<tr><th>Parent Id</th><th>Parent Title</th><th>Id</th><th>Requester</th><th>Title</th><th>Assigned To</th><th>System(s)</th><th>WSJF</th><th>Value</th><th>Up</th><th>Down</th></tr>"; var html = "<tr><th>Parent Id</th><th>Parent Title</th><th>Id</th><th>Requester</th><th>Title</th><th>Assigned To</th><th>System(s)</th><th>State</th><th>Priority</th><th>Risk Reduction and/or Opportunity Enablement</th><th>Time Criticality</th><th>Business Value</th><th>CoD</th><th>Effort</th><th>WSJF</th><th>Up</th><th>Down</th></tr>";
const element = document.getElementById("HeaderGrid"); const element = document.getElementById("HeaderGrid");
for (var i = 0; i < workItems.length; i++) { for (var i = 0; i < workItems.length; i++) {
record = workItems[i]; record = workItems[i];
@ -146,8 +211,14 @@ function setRecords(workItems) {
"</td><td>" + record.Title + "</td><td>" + record.Title +
"</td><td>" + record.AssignedTo + "</td><td>" + record.AssignedTo +
"</td><td>" + record.Tags + "</td><td>" + record.Tags +
"</td><td>" + record.State +
"</td><td>" + record.Priority +
"</td><td>" + record.RiskReductionMinusOpportunityEnablement + '-' + record.RiskReductionMinusOpportunityEnablementRank + '-' + record.RiskReductionMinusOpportunityEnablementFibonacci +
"</td><td>" + record.TimeCriticality + '-' + record.TimeCriticalityRank + '-' + record.TimeCriticalityFibonacci +
"</td><td>" + record.BusinessValue + '-' + record.BusinessValueRank + '-' + record.BusinessValueFibonacci +
"</td><td>" + record.CoD +
"</td><td>" + record.Effort + '-' + record.EffortRank + '-' + record.EffortFibonacci +
"</td><td>" + record.WeightedShortestJobFirst + "</td><td>" + record.WeightedShortestJobFirst +
"</td><td>&nbsp;" +
"</td><td><a href='#' class='up'>Up</a></td><td><a href='#' class='down'>Down</a></td></tr>"; "</td><td><a href='#' class='up'>Up</a></td><td><a href='#' class='down'>Down</a></td></tr>";
} }
element.innerHTML = html.replaceAll(">null<", ">&nbsp;<"); element.innerHTML = html.replaceAll(">null<", ">&nbsp;<");

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }

View File

@ -1,12 +1,26 @@
#HeaderGridDiv, #HeaderGridDiv,
#DetailsGridDiv { #DetailsGridDiv {
font-size: 12px; font-size: 12px;
height: 550px;
min-width: 1200px;
max-width: 1200px;
} }
#HeaderGrid { #HeaderGrid {
font-family: monospace; font-family: monospace;
} }
#HeaderGrid tr td {
max-width: 200px;
padding: 5px;
}
#AllGrid { #AllGrid {
font-family: monospace; font-family: monospace;
}
.navbar-brand {
min-width: 1200px;
margin-left: 15px;
background-color: whitesmoke;
} }