Beispiel #1
0
 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 RCTTSavedButtonClicked($sender, $param)
 {
     if ($this->RCedstammdatenlink_edit_status->Text == 0) {
         $StammdatenLink = new StammdatenLinkRecord();
     } else {
         $StammdatenLink = StammdatenLinkRecord::finder()->findByPK($this->RCTDedidta_stammdaten_link->Text);
     }
     $StammdatenLink->idta_stammdaten_link = $this->RCTDedidta_stammdaten_link->Text;
     $StammdatenLink->idtm_stammdaten_from = $this->RCTDedidtm_stammdaten_from->Text;
     $StammdatenLink->idtm_stammdaten_to = $this->RCTDedidtm_stammdaten_to->Text;
     $StammdatenLink->idta_stammdaten_group = $this->RCTDedidta_stammdaten_group->Text;
     $StammdatenLink->idta_feldfunktion_from = $this->RCTDedidta_feldfunktion_from->Text;
     $StammdatenLink->save();
     $this->bindList_StammdatenLink($sender, $param);
     $this->RCedstammdatenlink_edit_status->Text = 1;
 }