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

<?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;
}
}