...
Code Block | ||
---|---|---|
| ||
if (quoteProcessor.isPostPhase()) {
getFolderDealScore("ROOT")
}
def getFolderDealScore(folderId) {
def qp = quoteProcessor
def h = qp.getHelper()
def folderScore = 0
def numItems = 0
def folder = null
if(folderId == "ROOT")
folder = h.getRoot()
else
folder = h.findByLineId(folderId)
if(folder == null) return 0
for(line in folder.getChildren()) {
def lineScore = 0
if(line.isFolder()) {
lineScore = getFolderDealScore(line.getLineId())
} else {
def outputMap = line.getOutputByName("DealScore")
lineScore = outputMap?.result
}
numItems++
folderScore = folderScore + (lineScore == null ? 0 : lineScore)
}
if(numItems == 0) return 0
else {
folderScore = folderScore/numItems
qp.addOrUpdateOutput(folderId, ["resultName": "DealScore", "resultLabel": "Deal Score", "result" : folderScore])
return folderScore
}
} |
...