public function linkStammdaten($sender, $param) { $MultiDimension = 0; $Usersql = "SELECT idtm_stammdaten, stammdaten_name FROM tm_stammdaten WHERE idta_stammdaten_group = '" . $this->dim_idta_stammdaten_group->Text . "'"; $Userdata = PFH::convertdbObjectArray(StammdatenRecord::finder()->findAllBySql($Usersql), array("idtm_stammdaten", "stammdaten_name")); $this->fields_idtm_stammdaten->DataSource = $Userdata; $this->fields_idtm_stammdaten->dataBind(); $LABEL_AVAILABLE_VALUES = ""; $Records = StammdatenGroupView::finder()->findAll("parent_idta_stammdaten_group = ? AND idta_stammdatensicht = ?", $this->dim_idta_stammdaten_group->Text, $this->dim_idta_stammdatensicht->Text); $counter = 0; if (count($Records) > 0) { $SQLINStatement = "("; foreach ($Records as $Record) { $counter == 0 ? $SQLINStatement .= "'" . $Record->idta_stammdaten_group . "' " : ($SQLINStatement .= ",'" . $Record->idta_stammdaten_group . "'"); $counter == 0 ? $LABEL_AVAILABLE_VALUES .= " " . $Record->stammdaten_group_name : ($LABEL_AVAILABLE_VALUES .= ", " . $Record->stammdaten_group_name); $counter++; if ($Record->stammdaten_group_multi == 1) { $MultiDimension = 1; } } $SQLINStatement .= ") "; } else { $SQLINStatement = "('-1') "; } $this->LABEL_AVAILABLE_VALUES->Text = $LABEL_AVAILABLE_VALUES; $TTRecords = TTStammdatenStammdatenRecord::finder()->findAll(); $counter = 0; if (count($TTRecords) >= 1 and $MultiDimension == 0) { $TTSQLINStatement = "("; foreach ($TTRecords as $TTRecord) { $counter == 0 ? $TTSQLINStatement .= "'" . $TTRecord->idtm_stammdaten . "' " : ($TTSQLINStatement .= ",'" . $TTRecord->idtm_stammdaten . "'"); $counter++; } $TTSQLINStatement .= ") "; } else { $TTSQLINStatement = "('-1') "; } $Usersql = "SELECT idtm_stammdaten, stammdaten_name FROM tm_stammdaten WHERE idta_stammdaten_group IN " . $SQLINStatement . "AND idtm_stammdaten NOT IN " . $TTSQLINStatement; $Userdata = PFH::convertdbObjectArray(StammdatenRecord::finder()->findAllBySql($Usersql), array("idtm_stammdaten", "stammdaten_name")); if (count($Userdata) < 1) { $Userdata = array("0" => "leer"); } $this->fields_children_idtm_stammdaten->DataSource = $Userdata; $this->fields_children_idtm_stammdaten->dataBind(); }
public function PFStrukturGenerator($OnlyNested = 0, $planungssicht = 1) { //als erstes suchen wir die ebenen der obersten ebene //das parent elment ist NULL if ($OnlyNested == 0) { $rootsql = "SELECT * FROM vv_stammdaten_group WHERE parent_idta_stammdaten_group = 0 AND stammdaten_group_original = 0 AND idta_stammdatensicht = " . $planungssicht . " AND sts_stammdaten_group_use = 1"; $BaseGroupElements = StammdatenGroupView::finder()->findAllBySQL($rootsql); foreach ($BaseGroupElements as $RootElement) { $LevelOne = StammdatenRecord::finder()->findAllByidta_stammdaten_group($RootElement->idta_stammdaten_group); foreach ($LevelOne as $LOElement) { //check, ob der knoten schon existiert, wenn ja, wird er automatisch umgeordnet $new_parent_idtm_struktur = $this->ifNodeExists($LOElement->idtm_stammdaten, $LOElement->stammdaten_name, 0, $RootElement->idta_struktur_type, 1, $planungssicht); //jetzt schauen wir, ob bei den Kindern Informationen aus der Zuordnung existieren... $this->addChildElmenents($LOElement, $new_parent_idtm_struktur, $planungssicht); } } } $this->rebuild_NestedInformation(0, 1); }