mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 01:12:17 +00:00
- Betriebsmittel Modul
- Konto: Bei Gegenbuchung wird der noch offene Betrag gebucht - Konto: offene Buchungen sind jetzt Saldo!=0
This commit is contained in:
+30
-40
@@ -12,12 +12,6 @@ Auflistung nach Priorität (höchste oben).
|
||||
<ul>
|
||||
<li> Anzahl: Anzahl stimmt nicht immer? </li>
|
||||
</ul>
|
||||
<h3>Konto</h3>
|
||||
<ul>
|
||||
<li> Gegenbuchung: Nur die Differenz gegenbuchen, nicht den
|
||||
ursprünglichen Betrag. </li>
|
||||
<li> Filter offene Buchungen: Saldo!=0 </li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2>Dokumente</h2>
|
||||
<ul>
|
||||
@@ -46,21 +40,10 @@ Studiengang und optional Semester muss gewählt sein. </li>
|
||||
das nächste. </li>
|
||||
<li> ->Student: Wenn Bewerber zum Studenten gemacht wird kommt er
|
||||
automatisch ins 1. Semester. </li>
|
||||
<li> Lehrverband: In der Liste und in den Details wird die
|
||||
Lehrverbandsgruppe des aktiven Studiensemesters angezeigt, nicht die
|
||||
aktuelle. (tbl_student_lehrverband) <br>
|
||||
Wenn das Studiensemesert das aktuelle ist, wird bei Änderung auch
|
||||
die Tabelle tbl_student geändert. </li>
|
||||
<li> Student/Interessent: Automatische Auswahl des Reiters
|
||||
"Studenten" wenn LV-Gruppe gewählt wird und der Reiter
|
||||
"Interessenten" aktiv ist. Und umgekehrt. </li>
|
||||
|
||||
<li> Incoming/Outgoing: Zusätzliche Daten müssen
|
||||
gespeichert werden. Karteireiter beim Studenten? </li>
|
||||
<li> Noten: Karteireiter (Tab) für die Notenverwaltung. </li>
|
||||
<li> Betriebsmittel: Karteireiter (Tab) für die Verwaltung der
|
||||
Betriebsmittel. </li>
|
||||
<li> Abbrecher/Unterbrecher: Buttons beim Studenten die eine neue
|
||||
Rolle anlegen (wie bei ->Bewerber/Interessent). </li>
|
||||
<li> Wunsch: SVNR 4stellig: gesamte Nummer wird dann aus dem
|
||||
Geburtsdatum konstruiert. </li>
|
||||
</ul>
|
||||
@@ -90,14 +73,7 @@ die Firma anzeigen wenn die betreffende Person die Zustelladresse in
|
||||
einer Firma hat<br>
|
||||
</li>
|
||||
</ul>
|
||||
<b>LVA-Modul</b>
|
||||
<ul>
|
||||
<li>Bei partizipierung von Lehreinheiten eines anderen Studienganges
|
||||
kommt es zu Problemen<br>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
</ul>
|
||||
<hr>
|
||||
<br>
|
||||
<b>FAS V2</b><br>
|
||||
<ul>
|
||||
@@ -111,21 +87,35 @@ moeglich nicht nur nach Lektor</li>
|
||||
Assistentinen gemacht werden können (Protokoll wer schon
|
||||
vorgerrückt ist)</li>
|
||||
</ul>
|
||||
<span style="font-weight: bold;"></span>
|
||||
<h2>Erledigte Anforderungen<br>
|
||||
</h2>
|
||||
<hr>
|
||||
<h2>Erledigte Anforderungen</h2>
|
||||
<ul>
|
||||
<li> Lehrverband: In der Liste und in den Details wird die
|
||||
Lehrverbandsgruppe des aktiven Studiensemesters angezeigt, nicht die
|
||||
aktuelle. (tbl_student_lehrverband) <br>
|
||||
Wenn das Studiensemesert das aktuelle ist, wird bei Änderung auch
|
||||
die Tabelle tbl_student geändert.<br>
|
||||
29.5.2007 oesi<br>
|
||||
</li>
|
||||
<li> Student/Interessent: Automatische Auswahl des Reiters
|
||||
"Studenten" wenn LV-Gruppe gewählt wird und der Reiter
|
||||
"Interessenten" aktiv ist. Und umgekehrt.<br>
|
||||
29.05.2007 oesi<br>
|
||||
<li> Gegenbuchung: Nur die Differenz gegenbuchen, nicht den
|
||||
ursprünglichen Betrag.
|
||||
<br>31.05.2007 oesi<br><br>
|
||||
</li>
|
||||
<li> Filter offene Buchungen: Saldo!=0
|
||||
<br>31.05.2007 oesi<br><br>
|
||||
</li>
|
||||
<li> Betriebsmittel: Karteireiter (Tab) für die Verwaltung der
|
||||
Betriebsmittel.
|
||||
<br>31.05.2007 oesi <br><br>
|
||||
</li>
|
||||
<li> Abbrecher/Unterbrecher: Buttons beim Studenten die eine neue
|
||||
Rolle anlegen (wie bei ->Bewerber/Interessent).
|
||||
<br>31.05.2007 oesi <br><br>
|
||||
</li>
|
||||
<li> Lehrverband: In der Liste und in den Details wird die
|
||||
Lehrverbandsgruppe des aktiven Studiensemesters angezeigt, nicht die
|
||||
aktuelle. (tbl_student_lehrverband) <br>
|
||||
Wenn das Studiensemesert das aktuelle ist, wird bei Änderung auch
|
||||
die Tabelle tbl_student geändert.
|
||||
<br>29.5.2007 oesi<br><br>
|
||||
</li>
|
||||
<li> Student/Interessent: Automatische Auswahl des Reiters
|
||||
"Studenten" wenn LV-Gruppe gewählt wird und der Reiter
|
||||
"Interessenten" aktiv ist. Und umgekehrt.
|
||||
<br>29.05.2007 oesi<br><br>
|
||||
</li>
|
||||
<li style="color: rgb(0, 0, 0);">Neben den Funktionen soll es einen
|
||||
Knopf geben zum anzeigen aller Funktionen (aus allen Studiensemestern)<br>
|
||||
|
||||
@@ -43,6 +43,7 @@ require_once('../../include/akte.class.php');
|
||||
require_once('../../include/konto.class.php');
|
||||
require_once('../../include/dokument.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/betriebsmittel.class.php');
|
||||
require_once('../../include/betriebsmittelperson.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
@@ -720,7 +721,9 @@ if(!$error)
|
||||
{
|
||||
if($buchung->buchungsnr_verweis=='')
|
||||
{
|
||||
$buchung->betrag = $buchung->betrag*(-1);
|
||||
$kto = new konto($conn, null, true);
|
||||
//$buchung->betrag*(-1);
|
||||
$buchung->betrag = $kto->getDifferenz($_POST['buchungsnr']);
|
||||
$buchung->buchungsdatum = date('Y-m-d');
|
||||
$buchung->mahnspanne = '0';
|
||||
$buchung->buchungsnr_verweis = $buchung->buchungsnr;
|
||||
@@ -912,6 +915,112 @@ if(!$error)
|
||||
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='savebetriebsmittel')
|
||||
{
|
||||
//Speichert eine Betriebsmittelzuordnung
|
||||
$bm = new betriebsmittel($conn, null, true);
|
||||
|
||||
//Nachschauen ob dieses Betriebsmittel schon existiert
|
||||
if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummer']))
|
||||
{
|
||||
if(count($bm->result)>0)
|
||||
{
|
||||
//Wenn ein Eintrag gefunden wurde, dann wird die Beschreibung aktualisiert
|
||||
if($bm->load($bm->result[0]->betriebsmittel_id))
|
||||
{
|
||||
$bm->beschreibung = $_POST['beschreibung'];
|
||||
if(!$bm->save(false))
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Speichern des Betriebsmittels';
|
||||
}
|
||||
else
|
||||
{
|
||||
$betriebsmittel_id = $bm->betriebsmittel_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Gefundener Eintrag konnte nicht geladen werden!?!?';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Wenn kein Eintrag gefunden wurde, dann wird ein neuer Eintrag angelegt
|
||||
$bm->betriebsmitteltyp = $_POST['betriebsmitteltyp'];
|
||||
$bm->nummer = $_POST['nummer'];
|
||||
$bm->beschreibung = $_POST['beschreibung'];
|
||||
$bm->reservieren = false;
|
||||
$bm->ort_kurzbz = null;
|
||||
$bm->insertamum = date('Y-m-d H:i:s');
|
||||
$bm->insertvon = $user;
|
||||
|
||||
if($bm->save(true))
|
||||
{
|
||||
$betriebsmittel_id = $bm->betriebsmittel_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Fehler beim Anlegen des Betriebsmittels';
|
||||
}
|
||||
}
|
||||
|
||||
//Zuordnung Betriebsmittel-Person anlgegen
|
||||
$bmp = new betriebsmittelperson($conn, null, null, true);
|
||||
if($_POST['neu']!='true')
|
||||
{
|
||||
if($bmp->load($betriebsmittel_id, $_POST['person_id']))
|
||||
{
|
||||
$bmp->updateamum = date('Y-m-d H:i:s');
|
||||
$bmp->updatevon = $user;
|
||||
$bmp->new = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Fehler beim laden der Betriebmittelperson Zuordnung';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bmp->insertamum = date('Y-m-d H:i:s');
|
||||
$bmp->insertvon = $user;
|
||||
$bmp->new = true;
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$bmp->person_id = $_POST['person_id'];
|
||||
$bmp->betriebsmittel_id=$betriebsmittel_id;
|
||||
$bmp->anmerkung = $_POST['anmerkung'];
|
||||
$bmp->kaution = str_replace(',','.',$_POST['kaution']);
|
||||
$bmp->ausgegebenam = $_POST['ausgegebenam'];
|
||||
$bmp->retouram = $_POST['retouram'];
|
||||
|
||||
if($bmp->save())
|
||||
{
|
||||
$return = true;
|
||||
$data = $betriebsmittel_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $bmp->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = 'Fehler:'.$bm->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
|
||||
@@ -120,7 +120,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<textbox id="student-betriebsmittel-textbox-betriebsmittel_id" disabled="true"/>
|
||||
<label value="person_id" control="student-betriebsmittel-textbox-person_id"/>
|
||||
<textbox id="student-betriebsmittel-textbox-person_id" disabled="true"/>
|
||||
<label value="person_id" control="student-betriebsmittel-checkbox-neu"/>
|
||||
<label value="Neu" control="student-betriebsmittel-checkbox-neu"/>
|
||||
<checkbox id="student-betriebsmittel-checkbox-neu" disabled="true" checked="false"/>
|
||||
</vbox>
|
||||
<groupbox id="student-betriebsmittel-groupbox" flex="1">
|
||||
|
||||
@@ -60,6 +60,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentbetriebsmitteloverl
|
||||
<toolbarbutton id="student-toolbar-refresh" label="Aktualisieren" oncommand="StudentTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
|
||||
<toolbarbutton id="student-toolbar-buchung" label="Neue Buchung" oncommand="StudentKontoNeu()" disabled="false" tooltiptext="neue Buchung anlegen"/>
|
||||
<toolbarbutton id="student-toolbar-zeugnis" label="Zeugnis erstellen" oncommand="StudentCreateZeugnis()" disabled="false" tooltiptext="Zeugnis erstellen"/>
|
||||
<toolbarbutton id="student-toolbar-abbrecher" label="-> Abbrecher" oncommand="StudentAddRolle('Abbrecher')" disabled="false" tooltiptext="Student zum Abbrecher machen"/>
|
||||
<toolbarbutton id="student-toolbar-unterbrecher" label="-> Unterbrecher" oncommand="StudentAddRolle('Unterbrecher')" disabled="false" tooltiptext="Student zum Unterbrecher machen"/>
|
||||
<spacer flex="1"/>
|
||||
<label id="student-toolbar-label-anzahl"/>
|
||||
</toolbar>
|
||||
|
||||
@@ -951,7 +951,7 @@ function StudentAnmeldungreihungstestHeute()
|
||||
var now = new Date();
|
||||
var jahr = now.getFullYear();
|
||||
|
||||
monat = now.getMonth();
|
||||
monat = now.getMonth()+1;
|
||||
if(monat<10) monat='0'+monat;
|
||||
tag = now.getDate();
|
||||
if(tag<10) tag='0'+tag;
|
||||
@@ -1497,6 +1497,34 @@ function StudentBetriebsmittelDetailDisableFields(val)
|
||||
document.getElementById('student-betriebsmittel-textbox-ausgegebenam').disabled=val;
|
||||
document.getElementById('student-betriebsmittel-textbox-retouram').disabled=val;
|
||||
document.getElementById('student-betriebsmittel-button-speichern').disabled=val;
|
||||
|
||||
if(val)
|
||||
StudentBetriebsmittelDetailResetFields();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Resetet die Betriebsmitteldetail Felder
|
||||
// ****
|
||||
function StudentBetriebsmittelDetailResetFields()
|
||||
{
|
||||
var now = new Date();
|
||||
var jahr = now.getFullYear();
|
||||
|
||||
var monat = now.getMonth()+1;
|
||||
|
||||
if(monat<10)
|
||||
monat='0'+monat;
|
||||
var tag = now.getDate();
|
||||
if(tag<10)
|
||||
tag='0'+tag;
|
||||
|
||||
document.getElementById('student-betriebsmittel-menulist-betriebsmitteltyp').value='Zutrittskarte';
|
||||
document.getElementById('student-betriebsmittel-textbox-nummer').value='';
|
||||
document.getElementById('student-betriebsmittel-textbox-beschreibung').value='';
|
||||
document.getElementById('student-betriebsmittel-textbox-kaution').value='';
|
||||
document.getElementById('student-betriebsmittel-textbox-anmerkung').value='';
|
||||
document.getElementById('student-betriebsmittel-textbox-ausgegebenam').value=jahr+'-'+monat+'-'+tag;
|
||||
document.getElementById('student-betriebsmittel-textbox-retouram').value='';
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -1593,9 +1621,63 @@ function StudentBetriebsmittelDetailSpeichern()
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentBetriebsmittelSelectBetriebsmittel_id=betriebsmittel_id;
|
||||
StudentBetriebsmittelSelectBetriebsmittel_id=val.dbdml_data;
|
||||
StudentBetriebsmittelSelectPerson_id=person_id;
|
||||
StudentBetriebsmittelTreeDatasource.Refresh(false); //non blocking
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Neues Betriebsmittel anlegen
|
||||
// ****
|
||||
function StudentBetriebsmittelNeu()
|
||||
{
|
||||
document.getElementById('student-betriebsmittel-checkbox-neu').checked=true;
|
||||
StudentBetriebsmittelDetailDisableFields(false);
|
||||
StudentBetriebsmittelDetailResetFields();
|
||||
document.getElementById('student-betriebsmittel-textbox-person_id').value = document.getElementById('student-prestudent-textbox-person_id').value;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Fuegt eine Rolle zu einem Studenten hinzu
|
||||
// ****
|
||||
function StudentAddRolle(rolle)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
|
||||
if (tree.currentIndex==-1) return;
|
||||
|
||||
//Ausgewaehlte ID holen
|
||||
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
|
||||
var prestudent_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
if(confirm('Diesen Studenten zum '+rolle+' machen?'))
|
||||
{
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'addrolle');
|
||||
|
||||
req.add('prestudent_id', prestudent_id);
|
||||
req.add('rolle_kurzbz', rolle);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response);
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
SetStatusBarText('Rolle hinzugefuegt');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ class betriebsmittel
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result;
|
||||
var $done=false; // @var boolean
|
||||
|
||||
//Tabellenspalten
|
||||
@@ -66,14 +67,58 @@ class betriebsmittel
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt das Betriebsmittel mit der ID $betriebsmittel_id
|
||||
* @param $betriebsmittel_id ID des zu ladenden Betriebsmittel
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
// **************************************************************
|
||||
// * Laedt das Betriebsmittel mit der ID $betriebsmittel_id
|
||||
// * @param $betriebsmittel_id ID des zu ladenden Betriebsmittel
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ***************************************************************
|
||||
function load($betriebsmittel_id)
|
||||
{
|
||||
//noch nicht implementiert
|
||||
if(!is_numeric($betriebsmittel_id))
|
||||
{
|
||||
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='$betriebsmittel_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->betriebsmitteltyp = $row->betriebsmitteltyp;
|
||||
$this->nummer = $row->nummer;
|
||||
$this->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->udpatevon = $row->updatevon;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->ext_id = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Betriebsmittel wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *************************************
|
||||
// * Prueft die Daten vor dem Speichern
|
||||
// * auf Gueltigkeit
|
||||
// *************************************
|
||||
function validate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
@@ -86,23 +131,26 @@ class betriebsmittel
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
|
||||
// *******************************************************************************
|
||||
// * Speichert den aktuellen Datensatz in die Datenbank
|
||||
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************************************************
|
||||
function save($new=null)
|
||||
{
|
||||
$this->done=false;
|
||||
|
||||
if($this->new)
|
||||
if($new==null)
|
||||
$new=$this->new;
|
||||
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='INSERT INTO public.tbl_betriebsmittel (betriebsmittel_id, beschreibung, betriebsmitteltyp, nummer, reservieren, ort_kurzbz,
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='INSERT INTO public.tbl_betriebsmittel (beschreibung, betriebsmitteltyp, nummer, reservieren, ort_kurzbz,
|
||||
ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
|
||||
$this->addslashes($this->betriebsmittel_id).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
$this->addslashes($this->nummer).', '.
|
||||
@@ -115,71 +163,53 @@ class betriebsmittel
|
||||
}
|
||||
else
|
||||
{
|
||||
$qryz="SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='$this->betriebsmittel_id';";
|
||||
if($resultz = pg_query($this->conn, $qryz))
|
||||
if(!is_numeric($this->betriebsmittel_id))
|
||||
{
|
||||
while($rowz = pg_fetch_object($resultz))
|
||||
$this->errormsg = 'Betriebsmittel_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry='UPDATE public.tbl_betriebsmittel SET '.
|
||||
'betriebsmitteltyp='.$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
//'nummer='.$this->addslashes($this->nummer).', '.
|
||||
'reservieren='.($this->reservieren?'true':'false').', '.
|
||||
'ort_kurzbz='.$this->addslashes($this->ort_kurzbz).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('public.tbl_betriebsmittel_betriebsmittel_id_seq') as id;";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$update=false;
|
||||
if($rowz->beschreibung!=$this->beschreibung) $update=true;
|
||||
if($rowz->betriebsmitteltyp!=$this->betriebsmitteltyp) $update=true;
|
||||
//if($rowz->nummer!=$this->nummer) $update=true;
|
||||
if($rowz->reservieren!=$this->reservieren) $update=true;
|
||||
if($rowz->ort_kurzbz!=$this->ort_kurzbz) $update=true;
|
||||
|
||||
if($update)
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$qry='UPDATE public.tbl_betriebsmittel SET '.
|
||||
'betriebsmitteltyp='.$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
//'nummer='.$this->addslashes($this->nummer).', '.
|
||||
'reservieren='.($this->reservieren?'true':'false').', '.
|
||||
'ort_kurzbz='.$this->addslashes($this->ort_kurzbz).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).';';
|
||||
$this->done=true;
|
||||
$this->betriebsmittel_id = $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if ($this->done)
|
||||
{
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
//Log schreiben
|
||||
/*$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
$this->errormsg = 'Fehler beim lesen der Sequence';
|
||||
return false;
|
||||
} */
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "*****\nFehler beim Speichern des Betriebsmittel-Datensatzes: ID:".$this->betriebsmittel_id." Schlüsseltyp: ".$this->betriebsmitteltyp."\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
$this->errormsg = "Fehler beim Speichern des Betriebsmittel-Datensatzes";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,5 +222,37 @@ class betriebsmittel
|
||||
{
|
||||
//noch nicht implementiert!
|
||||
}
|
||||
|
||||
function getBetriebsmittel($betriebsmitteltyp, $nummer)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmitteltyp='".addslashes($betriebsmitteltyp)."' AND nummer='".addslashes($nummer)."' ORDER BY updateamum DESC";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$bm = new betriebsmittel($this->conn, null, null);
|
||||
|
||||
$bm->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$bm->beschreibung = $row->beschreibung;
|
||||
$bm->betriebsmitteltyp = $row->betriebsmitteltyp;
|
||||
$bm->nummer = $row->nummer;
|
||||
$bm->reservieren = $row->reservieren;
|
||||
$bm->ort_kurzbz = $row->ort_kurzbz;
|
||||
$bm->updateamum = $row->updateamum;
|
||||
$bm->updatevon = $row->updatevon;
|
||||
$bm->insertamum = $row->insertamum;
|
||||
$bm->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $bm;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -131,6 +131,35 @@ class betriebsmittelperson
|
||||
}
|
||||
}
|
||||
|
||||
function validate()
|
||||
{
|
||||
if(!is_numeric($this->kaution))
|
||||
{
|
||||
$this->errormsg = 'Kaution ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->ausgegebenam!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->ausgegebenam))
|
||||
{
|
||||
$this->errormsg = 'Ausgegeben am Datum ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->retouram!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->retouram))
|
||||
{
|
||||
$this->errormsg = 'Ausgegeben am Datum ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * wenn $var '' ist wird "null" zurueckgegeben
|
||||
// * wenn $var !='' ist werden datenbankkritische
|
||||
@@ -146,13 +175,18 @@ class betriebsmittelperson
|
||||
// * Speichert den aktuellen Datensatz in die Datenbank
|
||||
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert
|
||||
// * @param $new
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ******************************************************************************************
|
||||
function save()
|
||||
function save($new=null)
|
||||
{
|
||||
$this->done=false;
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
@@ -167,87 +201,38 @@ class betriebsmittelperson
|
||||
$this->addslashes($this->ext_id).', now(), '.
|
||||
$this->addslashes($this->insertvon).', now(), '.
|
||||
$this->addslashes($this->updatevon).');';
|
||||
$this->done=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Pruefen ob betriebsmittel_id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->betriebsmittel_id))
|
||||
{
|
||||
$this->errormsg = "betriebsmittel_id muss eine gueltige Zahl sein: ".$this->betriebsmittel_id." (".$this->person_id.")\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
$qryz="SELECT * FROM public.tbl_betriebsmittelperson WHERE betriebsmittel_id='$this->betriebsmittel_id' AND person_id='$this->person_id';";
|
||||
if($resultz = pg_query($this->conn, $qryz))
|
||||
{
|
||||
while($rowz = pg_fetch_object($resultz))
|
||||
{
|
||||
$update=false;
|
||||
if($rowz->betriebsmittel_id!=$this->betriebsmittel_id) $update=true;
|
||||
if($rowz->person_id!=$this->person_id) $update=true;
|
||||
if($rowz->anmerkung!=$this->anmerkung) $update=true;
|
||||
if($rowz->kaution!=$this->kaution) $update=true;
|
||||
if($rowz->ausgegebenam!=$this->ausgegebenam) $update=true;
|
||||
if($rowz->retouram!=$this->retouram) $update=true;
|
||||
if($rowz->ext_id!=$this->ext_id) $update=true;
|
||||
|
||||
if($update)
|
||||
{
|
||||
$qry='UPDATE public.tbl_betriebsmittelperson SET '.
|
||||
'betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).', '.
|
||||
'person_id='.$this->addslashes($this->person_id).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkung).', '.
|
||||
'kaution='.$this->addslashes($this->kaution).', '.
|
||||
'ausgegebenam='.$this->addslashes($this->ausgegebenam).', '.
|
||||
'retouram='.$this->addslashes($this->retouram).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).
|
||||
' AND person_id='.$this->addslashes($this->person_id).';';
|
||||
$this->done=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if(!is_numeric($this->betriebsmittel_id) || !is_numeric($this->person_id))
|
||||
{
|
||||
$this->errormsg = "betriebsmittel_id und Person_id muessen gueltige Zahlen sein: ".$this->betriebsmittel_id." (".$this->person_id.")\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry='UPDATE public.tbl_betriebsmittelperson SET '.
|
||||
'betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).', '.
|
||||
'person_id='.$this->addslashes($this->person_id).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkung).', '.
|
||||
'kaution='.$this->addslashes($this->kaution).', '.
|
||||
'ausgegebenam='.$this->addslashes($this->ausgegebenam).', '.
|
||||
'retouram='.$this->addslashes($this->retouram).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).
|
||||
' AND person_id='.$this->addslashes($this->person_id).";";
|
||||
}
|
||||
if ($this->done)
|
||||
{
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
//Log schreiben
|
||||
/*$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
} */
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "*****\nFehler beim Speichern des Betriebsmittelperson-Datensatzes: ID:".$this->person_id." Betriebsmittel-ID: ".$this->betriebsmittel_id."\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n";
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
$this->errormsg = "Fehler beim Speichern der Betriebsmittelperson";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+29
-4
@@ -336,14 +336,14 @@ class konto
|
||||
//Alle Buchungen und 'darunterliegende' holen die noch offen sind
|
||||
$qry = "SELECT * FROM public.tbl_konto
|
||||
WHERE buchungsnr in (SELECT buchungsnr FROM public.tbl_konto as konto_a WHERE
|
||||
betrag*(-1)>(SELECT CASE WHEN sum(betrag) is null THEN 0
|
||||
(betrag + (SELECT CASE WHEN sum(betrag) is null THEN 0
|
||||
ELSE sum(betrag) END
|
||||
FROM public.tbl_konto WHERE buchungsnr_verweis=konto_a.buchungsnr)
|
||||
FROM public.tbl_konto WHERE buchungsnr_verweis=konto_a.buchungsnr))<>0
|
||||
AND person_id='$person_id') OR
|
||||
buchungsnr_verweis in (SELECT buchungsnr FROM public.tbl_konto as konto_a WHERE
|
||||
betrag*(-1)>(SELECT CASE WHEN sum(betrag) is null THEN 0
|
||||
(betrag + (SELECT CASE WHEN sum(betrag) is null THEN 0
|
||||
ELSE sum(betrag) END
|
||||
FROM public.tbl_konto WHERE buchungsnr_verweis=konto_a.buchungsnr)
|
||||
FROM public.tbl_konto WHERE buchungsnr_verweis=konto_a.buchungsnr))<>0
|
||||
AND person_id='$person_id') ORDER BY buchungsdatum";
|
||||
}
|
||||
else
|
||||
@@ -416,5 +416,30 @@ class konto
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ******************************
|
||||
// * Berechnet den offenen Betrag
|
||||
// * einer Buchung
|
||||
// ******************************
|
||||
function getDifferenz($buchungsnr)
|
||||
{
|
||||
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='$buchungsnr' OR buchungsnr_verweis='$buchungsnr'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
return $row->differenz*(-1);
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim ermitteln der Differenz';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim ermitteln der Differenz';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -372,6 +372,33 @@ class student extends benutzer
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ****************************************
|
||||
// * Laedt die UID anhand der Prestudent_id
|
||||
// * @param prestudent_id
|
||||
// * @return uid wenn ok, false wenn Fehler
|
||||
// ****************************************
|
||||
function getUid($prestudent_id)
|
||||
{
|
||||
$qry = "SELECT student_uid FROM public.tbl_student WHERE prestudent_id='$prestudent_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
return $row->student_uid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Student nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user