public function testGenerateSemesterList() { $liste = generateSemesterList('WS2013', 3); $this->assertEquals(4, count($liste)); $this->assertEquals('WS2013', $liste[0]); $this->assertEquals('SS2014', $liste[1]); $this->assertEquals('WS2014', $liste[2]); $this->assertEquals('SS2015', $liste[3]); }
/** * Liefert Array mit GPZ und NPZ für die FÖBis relevanten Orgformen (BB, VZ, VBB). * Dient als Ersatz für load_studiengang_studiensemester_orgform weil hiermit * alle Daten mit einer Abfrage geholt werden können. * @param string $studienjahr z.B: 2013 * @param int $zeitraum z.B: 10 [Semester] * @return boolean|array false bei Fehler */ public function getAnzahlAlleOrgformen($studienjahr, $zeitraum) { // Semesterliste für where klausel erzeugen: $startSemester = 'WS' . substr($studienjahr, 0, 4); $semesterList = generateSemesterList($startSemester, $zeitraum * 2 - 1); $semesterList_comma_separated = "'" . join("','", $semesterList) . "'"; //Lesen der Daten aus der Datenbank $qry = "SELECT studiensemester_kurzbz,studiengang_kz,\n\t\t\t\tsum(case when orgform_kurzbz='VZ' then npz else 0 end) as npz_vz,\n\t\t\t\tsum(case when orgform_kurzbz='BB' then npz else 0 end) as npz_bb,\n\t\t\t\tsum(case when orgform_kurzbz='VBB' then npz else 0 end) as npz_vbb,\n\t\t\t\tsum(npz) as npz_gesamt,\n\t\t\t\tsum(case when orgform_kurzbz='VZ' then gpz else 0 end) as gpz_vz,\n\t\t\t\tsum(case when orgform_kurzbz='BB' then gpz else 0 end) as gpz_bb,\n\t\t\t\tsum(case when orgform_kurzbz='VBB' then gpz else 0 end) as gpz_vbb,\n\t\t\t\tsum(gpz) as gpz_gesamt \n\t\t\t\tFROM lehre.tbl_studienplatz \n\t\t\t\tWHERE ausbildungssemester is null and studiensemester_kurzbz IN ({$semesterList_comma_separated}) \n\t\t\t\tgroup by studiensemester_kurzbz,studiengang_kz"; $this->result = array(); if (!$this->db_query($qry)) { return false; } $result = array(); while ($row = $this->db_fetch_object()) { $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb; $result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt; } return $result; }