Activitiä¸æä¾äºå¤å®ä¾ä»»å¡ï¼for-eachï¼å°å¤å®ä¾åºå°å°UserTaskä¸å¯ä»¥å®ç°ä¼ç¾åè½ã
ä¸.å¤å®ä¾ç¨æ·ä»»å¡çXML表示ï¼
Xml代ç
<userTask id="task" name="å¤å®ä¾ä»»å¡">
<multiInstanceLoopCharacteristics isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<userTask id="task" name="å¤å®ä¾ä»»å¡">
<multiInstanceLoopCharacteristics isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
å¨æ¯ä¸ªå¤å®ä¾å建åé½ä¼æ3个åé
nrOfInstances å®ä¾æ»æ°
nrOfActiveInstances å½åè¿æ²¡æå®æçå®ä¾
nrOfCompleteInstances å·²ç»å®æçå®ä¾ä¸ªæ°
multiInstanceLoopCharacteristics æ¯ç¨äºæå®ç¨æ·ä»»å¡ä¸ºå¤å®ä¾ä»»å¡ï¼isSequential
æå®å¤å®ä¾æ¯æç
§å¹¶è¡æè
串è¡çæ¹å¼è¿è¡ï¼å¦æ使ç¨ä¸²è¡æ¹å¼nrOfActiveInstances åéå§ç»æ¯1.
loopDataInputRef
æå®ä¸ä¸ªæµç¨åéçå¼ç¨ï¼è¯¥åéæ¯ä¸ä¸ªListï¼å¯ä»¥å¨åèµ·æè¿æ§è¡ä»»å¡ä¹åä½ä¸ºæµç¨åéæ¾å°å¼æä¸ï¼è¯¥listä¸çæ¯ä¸ä¸ªå
ç´ å°å建ä¸ä¸ªä»»å¡ãå
ç´ çå¼éè¿
inputDataItem å
ç´ çæå®çåéæ¥è·å
å¦ å¨è¿ä¸ªå®ä¾ä¸ assigneeList =
Arrays.asList("liyagn","cooperay","other"); è¿ä¼å建3个ç¨æ·ä»»å¡ï¼æ¯ä¸ªç¨æ·ä»»å¡ä¸é½æä¸ä¸ª assignee
çåéï¼æ¥åå«å¾å°listä¸çå¼ã
completionCondition ç»æä»»å¡çæ¡ä»¶ï¼è¯¥ç¤ºä¾ä¸æ¯ä»»å¡å®æ 60% ç»æ
äº.ç»ç¨æ·ä»»å¡æå®ä»£ç人
xml表示ï¼
Xml代ç
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>liyang</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>liyang</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
ä¸é¢çæè¿°å°è¯¥ç¨æ·ä»»å¡åé
ç»ç¨æ· liyang å¯ä»¥éè¿
taskService.createTaskQuery.taskAssignee("liyang").list();æ¥è·å该任å¡
ä¸.éè¿ä¸é¢ä¸¤é¨ å° ç¨æ·ä»»å¡åæäºå¤ä»»å¡ï¼ä¹å¯ä»¥å° ä»»å¡åé
ç»æå®ç代ç人ï¼ç°å¨åªç¨å°ä¸é¢ä¸¤ä¸ªæ¥éª¤è¿è¡ç»å
å¨ç¬¬ä¸æ¥ä¸æ们ç¥éåé assignee æ¯ ä¼ç¾äººåçæ è¯ï¼åªéè¦å°æå®ä»£ç人çå°æ¹ç¨è¡¨è¾¾å¼æ¥æå® assignee åéå°±è¡äº
å®æ´XMLï¼
Xml代ç
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${assignee}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
<multiInstanceLoopCharacteristics isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask><SPAN style="WHITE-SPACE: pre"> </SPAN>
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${assignee}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
<multiInstanceLoopCharacteristics isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
å®å·¥ã
温馨提示:内容为网友见解,仅供参考