Пример #1
0
 public static function InitDBValues($idtm_struktur, $idta_variante, $idta_perioden = '10001')
 {
     //Step One, find all relevant IDs
     $StartRecord = StrukturRecord::finder()->findByidtm_struktur($idtm_struktur);
     if (count($StartRecord) == 1) {
         $sql = "SELECT idta_struktur_type FROM tm_struktur WHERE struktur_lft BETWEEN " . $StartRecord->struktur_lft . " AND " . $StartRecord->struktur_rgt . " GROUP BY idta_struktur_type";
         //here I recieve the array of values containing the elements to be changed
         $GroupsToChange = StrukturRecord::finder()->findAllBySQL($sql);
         foreach ($GroupsToChange as $Group) {
             $checker = FeldfunktionRecord::finder()->count("idta_struktur_type = ?", $Group->idta_struktur_type);
             if ($checker > 0) {
                 $sqlElemente = "SELECT idtm_struktur,idta_struktur_type FROM tm_struktur WHERE (struktur_lft BETWEEN " . $StartRecord->struktur_lft . " AND " . $StartRecord->struktur_rgt . ") AND idta_struktur_type=" . $Group->idta_struktur_type;
                 $ElementsToChange = StrukturRecord::finder()->findAllBySQL($sqlElemente);
                 foreach ($ElementsToChange as $Element) {
                     echo $Element->idtm_struktur;
                     $ObjSaver = new PFBackCalculator();
                     $ObjSaver->setStartPeriod($idta_perioden);
                     $ObjSaver->setVariante($idta_variante);
                     $ObjSaver->setStartNode($Element->idtm_struktur);
                     $ObjSaver->build_DIMKEY($Element->idtm_struktur);
                     $ObjSaver->initTTWerte($Element->idtm_struktur, $Element->idta_struktur_type);
                     unset($ObjSaver);
                 }
                 empty($checker);
             }
         }
         unset($ElementsToChange);
     }
 }