* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ /** * Diese Seite dient zur Inventarisierung der Betriebsmittel. * Es kann eine Vorlage erstellt werden, damit mehrere Betriebsmittel mit den * gleichen Daten angelegt werden können. * * Es koennen neue Betriebsmittel angelegt, bearbeitet und geloescht werden. */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/person.class.php'); require_once('../../include/mitarbeiter.class.php'); require_once('../../include/ort.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/organisationseinheit.class.php'); require_once('../../include/betriebsmittel.class.php'); require_once('../../include/betriebsmitteltyp.class.php'); require_once('../../include/betriebsmittelstatus.class.php'); require_once('../../include/betriebsmittel_betriebsmittelstatus.class.php'); require_once('../../include/betriebsmittelperson.class.php'); require_once('../../include/wawi_bestelldetail.class.php'); require_once('../../include/wawi_bestellung.class.php'); require_once('../../include/wawi_kostenstelle.class.php'); require_once('../../include/wawi_bestellstatus.class.php'); if (!$uid = get_uid()) die('Keine UID gefunden ! Zurück'); // ------------------------------------------------------------------------------------------ // Variable Initialisieren // ------------------------------------------------------------------------------------------ $errormsg=array(); $berechtigung_kurzbz='wawi/inventar:begrenzt'; $recht=false; $schreib_recht=false; $default_status_vorhanden='vorhanden'; $datum_obj = new datum(); // ------------------------------------------------------------------------------------------ // Parameter Aufruf uebernehmen // ------------------------------------------------------------------------------------------ $betriebsmittel_id=trim((isset($_REQUEST['betriebsmittel_id']) ? $_REQUEST['betriebsmittel_id']:'')); $beschreibung=trim((isset($_REQUEST['beschreibung']) ? $_REQUEST['beschreibung']:'')); $betriebsmitteltyp=trim((isset($_REQUEST['betriebsmitteltyp']) ? $_REQUEST['betriebsmitteltyp']:'')); $inventarnummer=trim((isset($_REQUEST['inventarnummer']) ? $_REQUEST['inventarnummer']:'')); $reservieren=trim((isset($_REQUEST['reservieren']) ?$_REQUEST['reservieren']:false)); $ort_kurzbz=trim((isset($_REQUEST['ort_kurzbz']) ? $_REQUEST['ort_kurzbz']:'')); $oe_kurzbz=trim((isset($_REQUEST['oe_kurzbz']) ? $_REQUEST['oe_kurzbz']:'')); $person_id=trim((isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:'')); $besteller=trim((isset($_REQUEST['besteller']) ? $_REQUEST['besteller']:'')); $hersteller=trim((isset($_REQUEST['hersteller']) ? $_REQUEST['hersteller']:'')); $seriennummer=trim((isset($_REQUEST['seriennummer']) ? $_REQUEST['seriennummer']:'')); $bestellung_id=trim(isset($_REQUEST['bestellung_id'])?$_REQUEST['bestellung_id']:''); $bestelldetail_id=trim(isset($_REQUEST['bestelldetail_id'])?$_REQUEST['bestelldetail_id']:''); $bestellung_id_old=trim(isset($_REQUEST['bestellung_id_old'])?$_REQUEST['bestellung_id_old']:null); $bestelldetail_id_old=trim(isset($_REQUEST['bestelldetail_id_old'])?$_REQUEST['bestelldetail_id_old']:null); $verwendung=trim(isset($_REQUEST['verwendung']) ? $_REQUEST['verwendung']:''); $anmerkung=trim(isset($_REQUEST['anmerkung']) ? $_REQUEST['anmerkung']:''); $betriebsmittelstatus_kurzbz=trim((isset($_REQUEST['betriebsmittelstatus_kurzbz']) ? $_REQUEST['betriebsmittelstatus_kurzbz']:$default_status_vorhanden)); $firma_id=trim(isset($_REQUEST['firma_id'])?$_REQUEST['firma_id']:''); $bestellnr=trim(isset($_REQUEST['bestellnr'])?$_REQUEST['bestellnr']:''); $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:3); $leasing_bis=trim(isset($_REQUEST['leasing_bis']) ? $_REQUEST['leasing_bis']:''); $anschaffungswert=isset($_REQUEST['anschaffungswert']) ? $_REQUEST['anschaffungswert']:''; $anschaffungsdatum=isset($_REQUEST['anschaffungsdatum']) ? $_REQUEST['anschaffungsdatum']:''; $hoehe=isset($_REQUEST['hoehe'])?$_REQUEST['hoehe']:''; $breite=isset($_REQUEST['breite'])?$_REQUEST['breite']:''; $tiefe=isset($_REQUEST['tiefe'])?$_REQUEST['tiefe']:''; $verplanen=isset($_REQUEST['verplanen'])?$_REQUEST['verplanen']:false; $jahr_monat=trim(isset($_REQUEST['jahr_monat']) ? $_REQUEST['jahr_monat']:''); $inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:''); $debug=trim(isset($_REQUEST['debug']) ? $_REQUEST['debug']:false); $ajax=trim(isset($_REQUEST['ajax']) ?$_REQUEST['ajax']:false); $work=trim(isset($_REQUEST['work']) ?$_REQUEST['work']:false); $anzahl=trim(isset($_REQUEST['anzahl']) ?$_REQUEST['anzahl']:1); $vorlage=(isset($_REQUEST['vorlage'])?$_REQUEST['vorlage']:'true'); $vorlage=(isset($_REQUEST['betriebsmittel_id']) ?'false':$vorlage); // ------------------------------------------------------------------------------------------ // Berechtigung // ------------------------------------------------------------------------------------------ $oBenutzerberechtigung = new benutzerberechtigung(); $oBenutzerberechtigung->errormsg=''; $oBenutzerberechtigung->berechtigungen=array(); // read Berechtigung if (!$oBenutzerberechtigung->getBerechtigungen($uid)) die('Sie haben keine Berechtigung ! Zurück'); // Pruefen ob Schreibrechte (Anzeigen der Aenderungsmoeglichkeit) if($oBenutzerberechtigung->isBerechtigt($berechtigung_kurzbz,null,'su')) $schreib_recht=true; if (!$schreib_recht) die('Sie haben keine Berechtigung für diese Seite ! Zurück'); // ------------------------------------------------------------------------------------------ // Datenbankanbindung // ------------------------------------------------------------------------------------------ $oOrt = new ort(); $oOrt->result=array(); $oOrt->errormsg=''; $oPerson = new person(); $oPerson->result=array(); $oPerson->errormsg=''; $oStudiengang = new studiengang(); $oStudiengang->result=array(); $oStudiengang->errormsg=''; $oOrganisationseinheit = new organisationseinheit(); $oOrganisationseinheit->result=array(); $oOrganisationseinheit->errormsg=''; $oBetriebsmitteltyp = new betriebsmitteltyp(); $oBetriebsmitteltyp->result=array(); $oBetriebsmitteltyp->debug=$debug; $oBetriebsmitteltyp->errormsg=''; $oBetriebsmittel = new betriebsmittel(); $oBetriebsmittel->result=array(); $oBetriebsmittel->debug=$debug; $oBetriebsmittel->errormsg=''; $oBetriebsmittelstatus = new betriebsmittelstatus(); $oBetriebsmittelstatus->result=array(); //$oBetriebsmittelstatus->debug=$debug; $oBetriebsmittelstatus->errormsg=''; $oBetriebsmittel_betriebsmittelstatus = new betriebsmittel_betriebsmittelstatus(); $oBetriebsmittel_betriebsmittelstatus->result=array(); $oBetriebsmittel_betriebsmittelstatus->debug=$debug; $oBetriebsmittel_betriebsmittelstatus->errormsg=''; $oBetriebsmittelperson = new betriebsmittelperson(); $oBetriebsmittelperson->result=array(); //$oBetriebsmittelperson->debug=$debug; $oBetriebsmittelperson->errormsg=''; // ------------------------------------------------------------------------------------------ // Datenlesen // ------------------------------------------------------------------------------------------ // Typtable if (!$oBetriebsmitteltyp->getAll('typ_code, beschreibung')) $errormsg[]=$oBetriebsmitteltyp->errormsg; $resultBetriebsmitteltyp=$oBetriebsmitteltyp->result; // Statustable if (!$rows=$oBetriebsmittelstatus->getAll()) $errormsg[]=$oBetriebsmittelstatus->errormsg; $resultBetriebsmittelstatus=$oBetriebsmittelstatus->result; // Vorlagedaten lesen aus Betriebsmittel if ($inventarnummer!='' && empty($work) ) { $oBetriebsmittel->result=array(); $oBetriebsmittel->errormsg=''; if ($oBetriebsmittel->load_inventarnummer($inventarnummer)) { $betriebsmittel_id=$oBetriebsmittel->betriebsmittel_id; } else $errormsg[]=$oBetriebsmittel->errormsg; } if(isset($_REQUEST['anzahl_lock'])) $anzahl_lock=true; else $anzahl_lock=false; // Vorlagedaten lesen aus Betriebsmittel if ($betriebsmittel_id!='' && empty($work) ) { $oBetriebsmittel->result=array(); $oBetriebsmittel->errormsg=''; if ($oBetriebsmittel->load($betriebsmittel_id)) { $anzahl_lock=true; $anzahl=1; $betriebsmittel_id = $oBetriebsmittel->betriebsmittel_id; $beschreibung = $oBetriebsmittel->beschreibung; $betriebsmitteltyp = $oBetriebsmittel->betriebsmitteltyp; $inventarnummer = $oBetriebsmittel->inventarnummer; $reservieren = $oBetriebsmittel->reservieren; $ort_kurzbz = $oBetriebsmittel->ort_kurzbz; $updateamum = $oBetriebsmittel->updateamum; $updatevon = $oBetriebsmittel->updatevon; $insertvon = $oBetriebsmittel->insertvon; $insertamum = $oBetriebsmittel->insertamum; $ext_id = $oBetriebsmittel->ext_id; $beschreibung = $oBetriebsmittel->beschreibung; $oe_kurzbz = $oBetriebsmittel->oe_kurzbz; $hersteller = $oBetriebsmittel->hersteller; $seriennummer = $oBetriebsmittel->seriennummer; $bestellung_id = $oBetriebsmittel->bestellung_id; $bestelldetail_id = $oBetriebsmittel->bestelldetail_id; $afa = $oBetriebsmittel->afa; $verwendung = $oBetriebsmittel->verwendung; $anmerkung = $oBetriebsmittel->anmerkung; $leasing_bis = $oBetriebsmittel->leasing_bis; $anschaffungsdatum = $oBetriebsmittel->anschaffungsdatum; $anschaffungswert = $oBetriebsmittel->anschaffungswert; $hoehe = $oBetriebsmittel->hoehe; $breite = $oBetriebsmittel->breite; $tiefe = $oBetriebsmittel->tiefe; $verplanen = $oBetriebsmittel->verplanen; $bestellung_id_old=$bestellung_id; $bestelldetail_id_old=$bestelldetail_id; $oBetriebsmittel_betriebsmittelstatus->result=array(); $oBetriebsmittel_betriebsmittelstatus->errormsg=''; if ($oBetriebsmittel_betriebsmittelstatus->load_last_betriebsmittel_id($betriebsmittel_id)) { $betriebsmittelstatus_kurzbz=$oBetriebsmittel_betriebsmittelstatus->betriebsmittelstatus_kurzbz; } else $errormsg[]=$oBetriebsmittel_betriebsmittelstatus->errormsg; // suchen eine Person zum Betriebsmittel - Entliehen an eine Person $oBetriebsmittelperson->result=array(); $oBetriebsmittelperson->errormsg=''; if ($oBetriebsmittelperson->load_betriebsmittelpersonen($betriebsmittel_id)) { $person_id=($oBetriebsmittelperson->retouram?'':$oBetriebsmittelperson->person_id); } else $errormsg[]=$oBetriebsmittelperson->errormsg; } else $errormsg[]=$oBetriebsmittel->errormsg; } // Vorlagedaten lesen if ($bestellung_id!='' && empty($work) && ($bestellung_id!=$bestellung_id_old || $bestelldetail_id!=$bestelldetail_id_old ) ) { $studiengang_kurzbzlang=array(); $studiengang_kuerzel=array(); $oStudiengang->result=array(); $oStudiengang->errormsg=''; if ($oStudiengang->getAll()) { reset($oStudiengang->result); foreach($oStudiengang->result AS $key => $value) { $value->kurzbzlang=trim($value->kurzbzlang); $studiengang_kurzbzlang[$value->kurzbzlang]=$value; } reset($oStudiengang->result); foreach($oStudiengang->result AS $key => $value) { $value->kuerzel=trim($value->kuerzel); $studiengang_kuerzel[$value->kuerzel]=$value; } } else if ($oStudiengang->errormsg) $errormsg[]=$oStudiengang->errormsg; $bestelldetail = new wawi_bestelldetail(); $bestellung = new wawi_bestellung(); // Bestellposition if ($bestelldetail_id) { if(!$bestelldetail->load($bestelldetail_id)) $errormsg[]=$bestelldetail->errormsg; $bestelldetail->result[] = $bestelldetail; if($anschaffungswert=='') { $anschaffungswert = ($bestelldetail->preisprove/100*(100+$bestelldetail->mwst)); $anschaffungswert = number_format(str_replace(',','.',$anschaffungswert),2,'.',''); } } else { //if(!$bestelldetail->getAllDetailsFromBestellung($bestellung_id)) // $errormsg[]=$bestelldetail->errormsg; } //Bestellung if (!$bestellung->load($bestellung_id)) $errormsg[]=$bestellung->errormsg; else { $verwendung=trim($bestellung->titel); $besteller=$bestellung->besteller_uid; $kostenstelle = new wawi_kostenstelle(); $kostenstelle->load($bestellung->kostenstelle_id); $oe_kurzbz=$kostenstelle->oe_kurzbz; $anmerkung.=trim($bestellung->bemerkung); $bestellstatus = new wawi_bestellstatus(); $bestellstatus->getStatiFromBestellung('Lieferung', $bestellung_id); $anschaffungsdatum = $bestellstatus->datum; foreach($bestelldetail->result as $row) { if (isset($row->beschreibung)) $beschreibung.=($beschreibung?"\n":'').trim($row->beschreibung).' '.trim($row->artikelnummer); /* $verwendung=trim($row->kostenstelle_bezeichnung); if (isset($row->konto_beschreibung)) $verwendung.=($verwendung?"\n":'').trim($row->konto_beschreibung); $hersteller=trim($row->firmenname); */ if(!$anzahl_lock) $anzahl=trim(isset($row->menge)?$row->menge:$anzahl); } $beschreibung = mb_substr($beschreibung, 0, 256); } } // ------------------------------------------------------------------------------------------ // HTML Output // ------------------------------------------------------------------------------------------ ?>