mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merged V4.0-BUG-FIX to HEAD
37124: ALF-14220: Parallel reviews now takes into account maximum percentage of approval rate possible when deciding to add new task git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@37125 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -13,7 +13,11 @@
|
||||
<activiti:field name="script">
|
||||
<activiti:string>
|
||||
execution.setVariable('wf_approveCount', 0);
|
||||
execution.setVariable('wf_rejectCount', 0);
|
||||
|
||||
execution.setVariable('wf_actualPercent', 0);
|
||||
execution.setVariable('wf_actualRejectPercent', 0);
|
||||
|
||||
execution.setVariable('wf_requiredPercent', wf_requiredApprovePercent);
|
||||
</activiti:string>
|
||||
</activiti:field>
|
||||
@@ -62,11 +66,17 @@
|
||||
<activiti:field name="script">
|
||||
<activiti:string>
|
||||
if(task.getVariableLocal('wf_reviewOutcome') == 'Approve') {
|
||||
var newApprovedCount = wf_approveCount + 1;
|
||||
var newApprovedCount = wf_approveCount + 1;
|
||||
var newApprovedPercentage = (newApprovedCount / wf_reviewerCount) * 100;
|
||||
|
||||
execution.setVariable('wf_approveCount', newApprovedCount);
|
||||
execution.setVariable('wf_actualPercent', newApprovedPercentage);
|
||||
} else {
|
||||
var newRejectCount = wf_rejectCount + 1;
|
||||
var newRejectPercentage = (newRejectCount / wf_reviewerCount) * 100;
|
||||
|
||||
execution.setVariable('wf_rejectCount', newRejectCount);
|
||||
execution.setVariable('wf_actualRejectPercent', newRejectPercentage);
|
||||
}
|
||||
</activiti:string>
|
||||
</activiti:field>
|
||||
@@ -83,7 +93,7 @@
|
||||
<multiInstanceLoopCharacteristics isSequential="false">
|
||||
<loopDataInputRef>wf_groupMembers</loopDataInputRef>
|
||||
<inputDataItem name="reviewAssignee" />
|
||||
<completionCondition>${wf_actualPercent >= wf_requiredApprovePercent}</completionCondition>
|
||||
<completionCondition>${wf_actualPercent >= wf_requiredApprovePercent || wf_requiredApprovePercent > (100 - wf_actualRejectPercent)}</completionCondition>
|
||||
</multiInstanceLoopCharacteristics>
|
||||
</userTask>
|
||||
|
||||
@@ -118,6 +128,8 @@
|
||||
task.setVariableLocal('wf_requiredPercent', wf_requiredPercent);
|
||||
task.setVariableLocal('wf_actualPercent', wf_actualPercent);
|
||||
task.setVariableLocal('wf_approveCount', wf_approveCount);
|
||||
task.setVariableLocal('wf_rejectCount', wf_rejectCount);
|
||||
task.setVariableLocal('wf_actualRejectPercent', wf_actualRejectPercent);
|
||||
</activiti:string>
|
||||
</activiti:field>
|
||||
</activiti:taskListener>
|
||||
@@ -146,6 +158,8 @@
|
||||
task.setVariableLocal('wf_requiredPercent', wf_requiredPercent);
|
||||
task.setVariableLocal('wf_actualPercent', wf_actualPercent);
|
||||
task.setVariableLocal('wf_approveCount', wf_approveCount);
|
||||
task.setVariableLocal('wf_rejectCount', wf_rejectCount);
|
||||
task.setVariableLocal('wf_actualRejectPercent', wf_actualRejectPercent);
|
||||
</activiti:string>
|
||||
</activiti:field>
|
||||
</activiti:taskListener>
|
||||
|
@@ -13,7 +13,11 @@
|
||||
<activiti:field name="script">
|
||||
<activiti:string>
|
||||
execution.setVariable('wf_approveCount', 0);
|
||||
execution.setVariable('wf_actualPercent', 0);
|
||||
execution.setVariable('wf_rejectCount', 0);
|
||||
|
||||
execution.setVariable('wf_actualPercent', 0);
|
||||
execution.setVariable('wf_actualRejectPercent', 0);
|
||||
|
||||
execution.setVariable('wf_reviewerCount', bpm_assignees.size());
|
||||
execution.setVariable('wf_requiredPercent', wf_requiredApprovePercent);
|
||||
</activiti:string>
|
||||
@@ -44,11 +48,17 @@
|
||||
<activiti:field name="script">
|
||||
<activiti:string>
|
||||
if(task.getVariableLocal('wf_reviewOutcome') == 'Approve') {
|
||||
var newApprovedCount = wf_approveCount + 1;
|
||||
var newApprovedCount = wf_approveCount + 1;
|
||||
var newApprovedPercentage = (newApprovedCount / wf_reviewerCount) * 100;
|
||||
|
||||
execution.setVariable('wf_approveCount', newApprovedCount);
|
||||
execution.setVariable('wf_actualPercent', newApprovedPercentage);
|
||||
} else {
|
||||
var newRejectCount = wf_rejectCount + 1;
|
||||
var newRejectPercentage = (newRejectCount / wf_reviewerCount) * 100;
|
||||
|
||||
execution.setVariable('wf_rejectCount', newRejectCount);
|
||||
execution.setVariable('wf_actualRejectPercent', newRejectPercentage);
|
||||
}
|
||||
</activiti:string>
|
||||
</activiti:field>
|
||||
@@ -65,7 +75,7 @@
|
||||
<multiInstanceLoopCharacteristics isSequential="false">
|
||||
<loopDataInputRef>bpm_assignees</loopDataInputRef>
|
||||
<inputDataItem name="reviewAssignee" />
|
||||
<completionCondition>${wf_actualPercent >= wf_requiredApprovePercent}</completionCondition>
|
||||
<completionCondition>${wf_actualPercent >= wf_requiredApprovePercent || wf_requiredApprovePercent > (100 - wf_actualRejectPercent)}</completionCondition>
|
||||
</multiInstanceLoopCharacteristics>
|
||||
</userTask>
|
||||
|
||||
|
Reference in New Issue
Block a user