You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1017 B
43 lines
1017 B
<?php
|
|
|
|
class MergeNode extends Node
|
|
{
|
|
|
|
|
|
function __construct($param)
|
|
{
|
|
parent::__construct($param);
|
|
}
|
|
|
|
/**
|
|
* 获取合并选项
|
|
* @return mixed
|
|
*/
|
|
public function getMergeOption()
|
|
{
|
|
return $this->nodeProperty['mergeOption'];
|
|
}
|
|
|
|
/**
|
|
* 1.检查逻辑节点下层节点,并获取下层节点的assigner
|
|
* @param WorkFlowParser $workFlowParser
|
|
* @return array
|
|
*/
|
|
public function getAssignerList(WorkFlowParser $workFlowParser)
|
|
{
|
|
|
|
$nodes = $workFlowParser->getNextLevelNodes(parent::getNodeId());
|
|
$assigner = array();
|
|
foreach (Node::$nodeTypes as $type) {
|
|
if (!array_key_exists($type, $nodes)) continue;
|
|
foreach ($nodes[$type] as $node) {
|
|
if (method_exists($node, 'getAssignerList')) {
|
|
$assigner = array_merge((array)$assigner, $node->getAssignerList($workFlowParser));
|
|
}
|
|
}
|
|
}
|
|
return $assigner;
|
|
}
|
|
|
|
|
|
}
|