public function SyncWithDimension($sender, $param) { $cleanmodul = ''; $SQL = "SELECT * FROM " . $this->Tedsend_tabelle->Text . " WHERE parent_id" . $this->Tedsend_tabelle->Text . " = " . $this->Tedsend_id->Text; $cleanmodul = preg_replace("/(^t[a-z]\\_)/", "", $this->Tedsend_tabelle->Text); preg_match("/(_[a-z])/", $cleanmodul, $matches); if (count($matches) >= 1) { $cleanmodul = preg_replace("/(_[a-z])/", ucfirst(substr($matches[1], 1, 1)), $cleanmodul); } $finderclass = ucfirst($cleanmodul) . "Record"; $AllRecordsToWrite = TActiveRecord::finder($finderclass)->findAllBySql($SQL); $fieldToTransfer = $this->Tedsend_field->Text; if (count($AllRecordsToWrite) > 0) { foreach ($AllRecordsToWrite as $SingleRecord) { $criteria = new TActiveRecordCriteria(); $criteria->Condition = 'idta_stammdaten_group = :stammdaten_group AND stammdaten_key_extern = :key_extern'; $criteria->Parameters[':stammdaten_group'] = $this->Tedidta_stammdaten_group->Text; $criteria->Parameters[':key_extern'] = $this->Tedsend_tabelle->Text . $SingleRecord->{'id' . $this->Tedsend_tabelle->Text}; $RecordToChange = StammdatenRecord::finder()->find($criteria); if (count($RecordToChange) == 0) { $RecordToChange = new StammdatenRecord(); } $RecordToChange->idta_stammdaten_group = $this->Tedidta_stammdaten_group->Text; $RecordToChange->stammdaten_key_extern = $this->Tedsend_tabelle->Text . $SingleRecord->{'id' . $this->Tedsend_tabelle->Text}; $RecordToChange->stammdaten_name = $SingleRecord->{$fieldToTransfer}; $RecordToChange->save(); unset($RecordToChange); } } }
public function onInit($param) { parent::onInit($param); //Globale definition f�r dieses Dokument $this->finder = StrukturRecord::finder(); $this->MASTERRECORD = new StrukturRecord(); if (!$this->isPostBack && !$this->isCallback) { switch ($this->Request['modus']) { case 0: $sql = "SELECT idta_struktur_type, struktur_type_name FROM ta_struktur_type"; $data = PFH::convertdbObjectArray(StrukturTypeRecord::finder()->findAllBySql($sql), array("idta_struktur_type", "struktur_type_name")); $this->idta_struktur_type->DataSource = $data; $this->idta_struktur_type->dataBind(); $HRKEYTest = new PFHierarchyPullDown(); $HRKEYTest->setStructureTable("tm_struktur"); $HRKEYTest->setRecordClass(StrukturRecord::finder()); $HRKEYTest->setPKField("idtm_struktur"); $HRKEYTest->setField("struktur_name"); $HRKEYTest->letsrun(); $this->parent_idtm_struktur->DataSource = $HRKEYTest->myTree; $this->parent_idtm_struktur->dataBind(); $this->idtm_stammdaten->DataSource = PFH::build_SQLPullDown(StammdatenRecord::finder(), "tm_stammdaten", array("idtm_stammdaten", "stammdaten_name")); $this->idtm_stammdaten->dataBind(); break; case 1: $sql = "SELECT idta_struktur_type, struktur_type_name FROM ta_struktur_type"; $data = PFH::convertdbObjectArray(StrukturTypeRecord::finder()->findAllBySql($sql), array("idta_struktur_type", "struktur_type_name")); $this->edidta_struktur_type->DataSource = $data; $this->edidta_struktur_type->dataBind(); if ($this->Request[$this->primarykey] != 1) { $HRKEYTest = new PFHierarchyPullDown(); $HRKEYTest->setStructureTable("tm_struktur"); $HRKEYTest->setRecordClass(StrukturRecord::finder()); $HRKEYTest->setPKField("idtm_struktur"); $HRKEYTest->setField("struktur_name"); $HRKEYTest->letsrun(); $data = $HRKEYTest->myTree; } else { $data = array(); $data[0] = "START"; } $this->edparent_idtm_struktur->DataSource = $data; $this->edparent_idtm_struktur->dataBind(); $this->fillValues($this->getSelected($this->Request[$this->primarykey])); $this->edidtm_stammdaten->DataSource = PFH::build_SQLPullDown(StammdatenRecord::finder(), "tm_stammdaten", array("idtm_stammdaten", "stammdaten_name")); $this->edidtm_stammdaten->dataBind(); $Usersql = "SELECT idtm_user, user_name FROM tm_user"; $Userdata = PFH::convertdbObjectArray(UserRecord::finder()->findAllBySql($Usersql), array("idtm_user", "user_name")); $this->idtm_user->DataSource = $Userdata; $this->idtm_user->dataBind(); $this->loadBerechtigung(); break; default: break; } $this->viewPanel->ActiveViewIndex = $this->Request['modus']; $this->StrukturStammdatenGroupContainer->RCedidtm_struktur->Text = $this->Request[$this->primarykey]; } }
public function onPreInit($param) { parent::onPreInit($param); $docname = "tempXML"; $ext = "xml"; $header = "application/xml"; $doc = new TXmlDocument('1.0', 'ISO-8859-1'); $doc->TagName = 'menu'; $doc->setAttribute('id', "0"); $QVFile = new TXmlElement('item'); $QVFile->setAttribute('id', "new_Element"); $QVFile->setAttribute('img', "plus5.gif"); $QVFile->setAttribute('text', "new element"); $StrukturElements = StrukturTypeRecord::finder()->findAll(); foreach ($StrukturElements as $Strukturtype) { $ST = new TXmlElement('item'); $ST->setAttribute('id', 'idta_struktur_type_' . $Strukturtype->idta_struktur_type); $ST->setAttribute('img', 's' . $Strukturtype->idta_struktur_type . ".gif"); $ST->setAttribute('text', $Strukturtype->struktur_type_name); //hier muss die logik fuer die basiswerte aus den dimensionen hin... //hier hole ich mir die Dimensionsgruppen $fstsql = "SELECT stammdaten_group_name, (ta_stammdaten_group.idta_stammdaten_group) AS parent_idta_stammdaten_group FROM ta_stammdaten_group INNER JOIN tm_stammdaten ON tm_stammdaten.idta_stammdaten_group = ta_stammdaten_group.idta_stammdaten_group WHERE idta_struktur_type = " . $Strukturtype->idta_struktur_type . " GROUP BY stammdaten_group_name, parent_idta_stammdaten_group"; $BaseGroupElements = StammdatenGroupRecord::finder()->findAllBySQL($fstsql); foreach ($BaseGroupElements as $BaseGroupElement) { $BGE = new TXmlElement('item'); $BGE->setAttribute('id', 'idta_stammdaten_group_' . $BaseGroupElement->parent_idta_stammdaten_group); $BGE->setAttribute('img', 's' . $Strukturtype->idta_struktur_type . ".gif"); $BGE->setAttribute('text', $BaseGroupElement->stammdaten_group_name); //zuerst hole ich alle Basiselement, die den aktuellen Strukturtypen haben $sql = "SELECT idtm_stammdaten,stammdaten_name, tm_stammdaten.idta_stammdaten_group FROM tm_stammdaten INNER JOIN ta_stammdaten_group ON tm_stammdaten.idta_stammdaten_group = ta_stammdaten_group.idta_stammdaten_group WHERE idta_struktur_type = " . $Strukturtype->idta_struktur_type . " AND ta_stammdaten_group.idta_stammdaten_group = " . $BaseGroupElement->parent_idta_stammdaten_group . " ORDER BY idta_stammdaten_group"; $BaseElements = StammdatenRecord::finder()->findAllBySQL($sql); foreach ($BaseElements as $BaseElement) { $BE = new TXmlElement('item'); $BE->setAttribute('id', 'idtm_stammdaten_' . $BaseElement->idtm_stammdaten); $BE->setAttribute('img', 'str' . $Strukturtype->idta_struktur_type . ".gif"); $BE->setAttribute('text', $BaseElement->stammdaten_name); $BGE->Elements[] = $BE; } $ST->Elements[] = $BGE; } $QVFile->Elements[] = $ST; } $doc->Elements[] = $QVFile; $CMdelete = new TXmlElement('item'); $CMdelete->setAttribute('id', "delete_Element"); $CMdelete->setAttribute('img', "minus.gif"); $CMdelete->setAttribute('text', "delete element"); $doc->Elements[] = $CMdelete; $docName = "temp"; $this->getResponse()->appendHeader("Content-Type:" . $header); $this->getResponse()->appendHeader("Content-Disposition:inline;filename=" . $docName . '.' . $ext); $doc->saveToFile('php://output'); exit; }
public function onPreInit($param) { //error_reporting(E_ALL ^ E_NOTICE); $request_user = $_GET['user']; $request_password = $_GET['pass']; $authManager = $this->Application->getModule('auth'); if (!$authManager->login($request_user, $request_password)) { exit; } $this->getResponse()->appendHeader("Content-Type:" . $this->header); echo '<?xml version="1.0" ?><tm_stammdaten>'; $SQL = "SELECT * FROM tm_stammdaten"; $Results = StammdatenRecord::finder()->findAllBySQL($SQL); foreach ($Results as $Result) { echo "<row idtm_stammdaten='" . $Result->idtm_stammdaten . "'>"; echo "<stammdaten_name>" . $Result->stammdaten_name . "</stammdaten_name>"; echo "<idta_stammdaten_group>" . $Result->idta_stammdaten_group . "</idta_stammdaten_group>"; echo "</row>"; } echo '</tm_stammdaten>'; exit; }
public function get_PivotChildren($Node) { $SQL = "SELECT * FROM tm_stammdaten WHERE idta_stammdaten_group = '" . $Node->idta_stammdaten_group . "'"; $Result = count(StammdatenRecord::finder()->findAllBySQL($SQL)); $SSQL = "SELECT * FROM tm_stammdaten WHERE "; $counter = 0; if ($Result >= 1) { foreach (StammdatenRecord::finder()->findAllBySQL($SQL) as $Results) { $counter == 0 ? $SSQL .= "idtm_stammdaten = '" . $Results->idtm_stammdaten . "'" : ($SSQL .= " OR idtm_stammdaten = '" . $Results->idtm_stammdaten . "'"); $counter++; } } else { $SSQL .= "idtm_stammdaten = '0'"; } return StammdatenRecord::finder()->findAllBySQL($SSQL); }
public function buildStrukturBerichtZeilenPullDown() { $this->SBZedidta_feldfunktion->DataSource = PFH::build_SQLPullDown(FeldfunktionRecord::finder(), "ta_feldfunktion", array("idta_feldfunktion", "ff_name")); $this->SBZedidta_feldfunktion->DataBind(); $this->SBZedidtm_stammdaten->DataSource = PFH::build_SQLPullDown(StammdatenRecord::finder(), "tm_stammdaten", array("idtm_stammdaten", "stammdaten_name")); $this->SBZedidtm_stammdaten->DataBind(); $data = array('0' => "Liste", "1" => "Dimension", "3" => "Berechnung", "4" => "Graph"); $this->SBZedsbz_type->DataSource = $data; $this->SBZedsbz_type->DataBind(); }
public static function initStrukturLink() { //als erstes holen wir uns die Definitionen aus ta_stammdaten_link $StammdatenLinks = StammdatenLinkRecord::finder()->findAll(); foreach ($StammdatenLinks as $StammdatenLink) { //als nächstes hole ich mit die Werte der Dimensionsgruppe in der gesucht werden soll, diese gilt dann als suchkriterium... $StammdatenGroups = StammdatenRecord::finder()->findAllByidta_stammdaten_group($StammdatenLink->idta_stammdaten_group); foreach ($StammdatenGroups as $StammdatenGroup) { //als nächstes muss ich in der Struktur suchen, welcher Bereich für die jeweiligen Kennungen gilt... $StrukturWechselKnoten = StrukturRecord::finder()->findByidtm_stammdaten($StammdatenGroup->idtm_stammdaten); if (is_object($StrukturWechselKnoten)) { //da lft und rgt jetzt bekannt sind, kann ich mit dem folgenden SQL die entsprechenden Elemente fuer idtm_str_from und idtm_str_to finden $SQL = "SELECT idtm_struktur FROM tm_struktur WHERE (struktur_lft BETWEEN " . $StrukturWechselKnoten->struktur_lft . " AND " . $StrukturWechselKnoten->struktur_rgt . ") AND idtm_stammdaten='" . $StammdatenLink->idtm_stammdaten_from . "'"; $idtm_struktur_from = StrukturRecord::finder()->findBySql($SQL)->idtm_struktur; $SQL = "SELECT idtm_struktur FROM tm_struktur WHERE (struktur_lft BETWEEN " . $StrukturWechselKnoten->struktur_lft . " AND " . $StrukturWechselKnoten->struktur_rgt . ") AND idtm_stammdaten='" . $StammdatenLink->idtm_stammdaten_to . "'"; $idtm_struktur_to = StrukturRecord::finder()->findBySql($SQL)->idtm_struktur; //jetzt haben wir alle informationen um den Datensatz zu schreiben $TestRecord = StrukturStrukturRecord::finder()->count("idtm_struktur_from = ? AND idtm_struktur_to = ? AND idta_feldfunktion = ?", $idtm_struktur_from, $idtm_struktur_to, $StammdatenLink->idta_feldfunktion_from); if ($TestRecord == 1) { $ChangeRecord = StrukturStrukturRecord::finder()->find("idtm_struktur_from = ? AND idtm_struktur_to = ? AND idta_feldfunktion = ?", $idtm_struktur_from, $idtm_struktur_to, $StammdatenLink->idta_feldfunktion_from); } else { $ChangeRecord = new StrukturStrukturRecord(); } $ChangeRecord->idtm_struktur_from = $idtm_struktur_from; $ChangeRecord->idtm_struktur_to = $idtm_struktur_to; $ChangeRecord->idta_feldfunktion = $StammdatenLink->idta_feldfunktion_from; $ChangeRecord->save(); unset($TestRecord); unset($ChangeRecord); } } unset($StammdatenGroups); } }
public function RCDeleteButtonClicked($sender, $param) { $tempus = 'RCed' . $this->RCprimarykey; if ($this->RCedstammdaten_group_edit_status->Text == '1') { StammdatenRecord::finder()->deleteByidta_stammdaten_group($this->{$tempus}->Text); $StammdatenRecord = StammdatenRecord::finder()->findAllByidta_stammdaten_group($this->{$tempus}->Text); if (count($StammdatenRecord) >= 1) { foreach ($StammdatenRecord as $StammRecord) { $TTStammdatenRecords = TTStammdatenRecord::finder()->findAllByidtm_stammdaten($StammRecord->idtm_stammdaten); foreach ($TTStammdatenRecords as $TTStammdatenRecord) { TTStammdatenRecord::finder()->delteByidtm_stammdaten($TTStammdatenRecord->idtt_stammdaten); } TTStammdatenStammdatenRecord::finder()->deleteByidtm_stammdaten_group($StammRecord->idtm_stammdaten); } } $RCEditRecord = StammdatenGroupRecord::finder()->findByPK($this->{$tempus}->Text); $RCEditRecord->delete(); } $this->buildStammdatenGroupPullDown(); $this->bindListStammdatenGroupValue(); }
public function transferCSVFile($sender, $param) { //check ob dimension schon besteht if ($sender->Id == "CSVUploadFile") { $idta_stammdaten_group = StammdatenGroupRecord::finder()->findBy_parent_idta_stammdaten_group($this->dim_idta_stammdaten_group->Text)->idta_stammdaten_group; } else { $idta_stammdaten_group = StammdatenGroupRecord::finder()->findBy_idta_stammdaten_group($this->dim_idta_stammdaten_group->Text)->idta_stammdaten_group; } //laden des Wertearrays foreach ($this->ImportedValues as $row) { foreach ($row as $key => $value) { $MyCheckRecord = StammdatenRecord::finder()->findAll('stammdaten_name = ? AND idta_stammdaten_group = ?', $value, $idta_stammdaten_group); if (count($MyCheckRecord) == 0) { $NewStammdatenRecord = new StammdatenRecord(); $NewStammdatenRecord->idta_stammdaten_group = $idta_stammdaten_group; $NewStammdatenRecord->stammdaten_name = $value; $NewStammdatenRecord->stammdaten_key_extern = $value; $NewStammdatenRecord->save(); } } } $this->linkStammdaten($sender, $param); }
public function saveSplashingValue($sender, $param) { //holen der perioden $Taschenrechner = new PFCalculator(); $Taschenrechner->setStartPeriod($this->DWH_idta_perioden->Text); $MyRecords = StammdatenRecord::finder()->findAllByidta_stammdaten_group($this->to_idta_stammdaten_group->Text); foreach ($Taschenrechner->Perioden as $Periode) { $PerMonat = $Periode[0]; $PerJahr = $Taschenrechner->getYearByMonth($Periode[0]); foreach ($MyRecords as $StammdatenRC) { $TTWerteRecord = TTSplasherRecord::finder()->find('spl_jahr = ? AND spl_monat=? AND idta_variante = ? AND idta_feldfunktion = ? AND idtm_stammdaten = ? AND to_idtm_stammdaten = ?', $PerJahr, $PerMonat, $this->DWH_idta_variante->Text, $this->to_idta_feldfunktion->Text, $this->From_idtm_stammdaten->Text, $StammdatenRC->idtm_stammdaten); $UniqueID = 'xxx' . $PerJahr . 'xxx' . $PerMonat . 'xxx' . $this->From_idtm_stammdaten->Text . 'xxx' . $StammdatenRC->idtm_stammdaten; if (count($TTWerteRecord) == 1) { $TTWerteRecord->spl_faktor = number_format($this->page->ACTPanel->FindControl($UniqueID)->Text, 2, '.', ''); $TTWerteRecord->save(); $this->RAMRecord[$UniqueID] = number_format($TTWerteRecord->spl_faktor, 2, '.', ''); } } } $sender->Text = "saved"; }
public function createDimension($sender, $param) { $NewDimension = new StammdatenRecord(); $NewDimension->idta_stammdaten_group = $this->idta_stammdaten_group->Text; $NewDimension->stammdaten_name = AutoMappingRecord::finder()->findByPK($sender->CommandParameter)->ti_label; $NewDimension->save(); $this->bindListStammdatenValue(); }
public function bindList_StammdatenLink($sender, $param) { $idtm_stammdaten = $this->RCedidtm_stammdaten->Text; $this->RCedstammdatenlink_edit_status->Text = 0; $this->StammdatenLinkListe->DataSource = StammdatenLinkRecord::finder()->findAllByidtm_stammdaten_from($idtm_stammdaten); $this->StammdatenLinkListe->dataBind(); $this->RCTDedidtm_stammdaten_from->Text = $idtm_stammdaten; $this->RCTDedidtm_stammdaten_from_label->Text = StammdatenRecord::finder()->findByidtm_stammdaten($idtm_stammdaten)->stammdaten_name; }
public function create_StammdatenAll($sender, $param) { $StammdatenGroupRecord = StammdatenGroupRecord::finder()->findByidta_stammdaten_group($this->RCedidta_stammdaten_group->Text); $AllStammdatenRecord = StammdatenRecord::finder()->findAllByidta_stammdaten_group($this->RCedidta_stammdaten_group->Text); foreach ($AllStammdatenRecord as $SRecord) { $StammdatenRecord = StammdatenRecord::finder()->findByidtm_stammdaten($SRecord->idtm_stammdaten); if (count(StrukturRecord::finder()->find("idtm_stammdaten = ? AND parent_idtm_struktur = ?", $StammdatenRecord->idtm_stammdaten, $this->RCedidtm_struktur->Text)) < 1) { $StrukturRecord = new StrukturRecord(); $StrukturRecord->idta_struktur_type = $StammdatenGroupRecord->idta_struktur_type; $StrukturRecord->idtm_stammdaten = $StammdatenRecord->idtm_stammdaten; $StrukturRecord->struktur_name = $StammdatenRecord->stammdaten_name; $StrukturRecord->parent_idtm_struktur = $this->RCedidtm_struktur->Text; $StrukturRecord->struktur_lft = 2; $StrukturRecord->struktur_rgt = 2; $StrukturRecord->save(); } } $this->bindListStammdatenValue($this->RCedidta_stammdaten_group->Text); }
private function calc_splasher($local_ff, $local_monat, $local_jahr, $local_id, $newValue) { //die eingabe erfolgt auf monatsebene //Holen der Stammdateninfo $StrukturWechselKnoten = StrukturRecord::finder()->findByPK($local_id); $StammdatenID = $StrukturWechselKnoten->idtm_stammdaten; //Ermitteln des Gesamtwertes der entsprechenden Verteilung $sql = "SELECT spl_monat, sum(spl_faktor) AS spl_faktor FROM tt_splasher WHERE idta_variante = '" . $this->GLOBALVARIANTE . "' AND idtm_stammdaten='" . $StammdatenID . "' AND spl_monat='" . $local_monat . "'"; $Gesamtwert = TTSplasherRecord::finder()->findBySql($sql)->spl_faktor; //Ermitteln der Faktoren für die Verteilung, dabei holen wir auch die Zieldimension $sql = "SELECT to_idtm_stammdaten,spl_monat,idta_feldfunktion, sum(spl_faktor) AS spl_faktor FROM tt_splasher WHERE idta_variante = " . $this->GLOBALVARIANTE . " AND idtm_stammdaten=" . $StammdatenID . " AND spl_monat=" . $local_monat . " GROUP BY to_idtm_stammdaten,spl_monat,idta_feldfunktion"; $Einzelwerte = TTSplasherRecord::finder()->findAllBySql($sql); //wenn wir einen treffer haben, koennen wir nach der standardverteilung arbeiten if (is_array($Einzelwerte) and $Gesamtwert != 0) { foreach ($Einzelwerte as $Einzelwert) { $sql = "SELECT idtm_struktur FROM tm_struktur WHERE idtm_stammdaten = '" . $Einzelwert->to_idtm_stammdaten . "'"; $sql .= " AND (struktur_lft BETWEEN " . $StrukturWechselKnoten->struktur_lft . " AND " . $StrukturWechselKnoten->struktur_rgt . ")"; $UpdateStrukturId = StrukturRecord::finder()->findBySQL($sql)->idtm_struktur; $Einzelfaktor = $Einzelwert->spl_faktor; $td_startvalue = $Einzelfaktor / $Gesamtwert * $newValue; //hier startet jetzt der Part, wo ich nur eine Periode habe -> entweder SubJahr oder Jahr... $PFBackCalculator = new PFBackCalculator(); /* Folgende Parameter sind zur Berechnung der Werte notwendig... * @param idta_periode -> die interne Periodenbezeichnung -> 10001 für 1. Jahr oder 1 für 1 Monat (Bsp) * @param idtm_struktur -> die Struktur ID, auf der die Werte nachher gespreichert werden sollen * @param w_dimkey -> der Schlüssel, der angehängt werden soll... * @param assoc_array(feldbezug=>wert) -> array mit den Werten, die als "neu" betrachtet werden sollen... */ $PFBackCalculator->setStartPeriod($Einzelwert->spl_monat); $PFBackCalculator->setStartNode($UpdateStrukturId); //vorbereiten des Wertearrays, damit die bestehenden Werte in der Datenbank, mit den neuen Uerberschrieben werden koennen //jetzt laden wir die einzelnen Werte $w_wert[$Einzelwert->idta_feldfunktion] = $td_startvalue; $PFBackCalculator->setNewValues($w_wert); $PFBackCalculator->setVariante($this->GLOBALVARIANTE); $PFBackCalculator->run(); unset($PFBackCalculator); unset($UpdateStrukturId); } } else { unset($EinzelWerte); //zuerst muss ich die Anzahl der Knoten ermitteln, die in der Zieldimensionsgruppe vorhanden sind... $idta_stammdaten_group = StammdatenRecord::finder()->findByPK($StammdatenID)->idta_stammdaten_group; $SplasherInfo = SplasherRecord::finder()->find('from_idta_stammdaten_group = ? AND from_idta_feldfunktion = ?', $idta_stammdaten_group, $local_ff); $to_idta_stammdaten_group = $SplasherInfo->to_idta_stammdaten_group; $to_idta_feldfunktion = $SplasherInfo->to_idta_feldfunktion; //hier ermitteln wir die anzahl der zielwerte $AnzahlZielWerte = StammdatenRecord::finder()->count('idta_stammdaten_group = ?', $to_idta_stammdaten_group); $sql = "SELECT idtm_stammdaten FROM tm_stammdaten WHERE idta_stammdaten_group = '" . $to_idta_stammdaten_group . "'"; $Einzelwerte = StammdatenRecord::finder()->findAllBySql($sql); if (is_array($Einzelwerte)) { foreach ($Einzelwerte as $Einzelwert) { $sql = "SELECT idtm_struktur FROM tm_struktur WHERE idtm_stammdaten = '" . $Einzelwert->idtm_stammdaten . "'"; $sql .= " AND (struktur_lft BETWEEN " . $StrukturWechselKnoten->struktur_lft . " AND " . $StrukturWechselKnoten->struktur_rgt . ")"; $UpdateStrukturId = StrukturRecord::finder()->findBySQL($sql)->idtm_struktur; $Einzelfaktor = 1 / $AnzahlZielWerte; $td_startvalue = $Einzelfaktor * $newValue; //hier startet jetzt der Part, wo ich nur eine Periode habe -> entweder SubJahr oder Jahr... $PFBackCalculator = new PFBackCalculator(); /* Folgende Parameter sind zur Berechnung der Werte notwendig... * @param idta_periode -> die interne Periodenbezeichnung -> 10001 für 1. Jahr oder 1 für 1 Monat (Bsp) * @param idtm_struktur -> die Struktur ID, auf der die Werte nachher gespreichert werden sollen * @param w_dimkey -> der Schlüssel, der angehängt werden soll... * @param assoc_array(feldbezug=>wert) -> array mit den Werten, die als "neu" betrachtet werden sollen... */ $PFBackCalculator->setStartPeriod($local_monat); $PFBackCalculator->setStartNode($UpdateStrukturId); //vorbereiten des Wertearrays, damit die bestehenden Werte in der Datenbank, mit den neuen Uerberschrieben werden koennen //jetzt laden wir die einzelnen Werte $w_wert[$to_idta_feldfunktion] = $td_startvalue; $PFBackCalculator->setNewValues($w_wert); $PFBackCalculator->setVariante($this->GLOBALVARIANTE); $PFBackCalculator->run(); unset($PFBackCalculator); unset($UpdateStrukturId); } } } }
public function initPullDowns($sender, $param) { $this->idta_variante->DataSource = VarianteRecord::finder()->findAll(); $this->idta_variante->dataBind(); $this->idta_perioden->DataSource = PeriodenRecord::finder()->findAll(); $this->idta_perioden->dataBind(); $this->idta_feldfunktion->DataSource = FeldfunktionRecord::finder()->findAll(); $this->idta_feldfunktion->dataBind(); $this->cuf_numberformat->DataSource = array("0" => "Ganzzahl", "1" => "Prozent", "2" => "Zahl"); $this->cuf_numberformat->dataBind(); $criteria = new TActiveRecordCriteria(); $criteria->OrdersBy['idta_stammdaten_group'] = 'desc'; $this->idtm_stammdaten->DataSource = StammdatenRecord::finder()->findAll($criteria); $this->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); }