* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ /** * Inventur * * Formular zur Unterstuetzung der Inventur * - Zuerst wird ein Ort oder eine Person ausgewaehlt fuer die die Inventur durchgefuehrt werden soll * - dann werden alle Betriebsmittel eingescannt. Diese werden automatisch der Person/Ort zugeteilt und das Inventurdatum wird gesetzt * - Uber den Punkt "Uebersicht" erhaelt man eine Liste mit den Betriebsmitteln die zwar zum Ort/Person zugeteilt sind, aber noch nicht gescannt wurden * - Diese koennen dann in den Dummy Raum verschoben oder auf ausgeschieden gesetzt werden */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/ort.class.php'); require_once('../../include/benutzer.class.php'); require_once('../../include/organisationseinheit.class.php'); require_once('../../include/betriebsmittel.class.php'); require_once('../../include/betriebsmittelperson.class.php'); require_once('../../include/betriebsmitteltyp.class.php'); require_once('../../include/betriebsmittelstatus.class.php'); require_once('../../include/betriebsmittel_betriebsmittelstatus.class.php'); require_once('../../include/datum.class.php'); if (!$uid = get_uid()) die('Keine UID gefunden ! Zurück'); $oBenutzerberechtigung = new benutzerberechtigung(); $oBenutzerberechtigung->errormsg=''; $oBenutzerberechtigung->berechtigungen=array(); if (!$oBenutzerberechtigung->getBerechtigungen($uid)) die('Sie haben keine Berechtigung ! Zurück'); $errormsg=array(); $recht=false; $schreib_recht=false; $datum_obj = new datum(); $ort_kurzbz=trim((isset($_REQUEST['ort_kurzbz']) ? $_REQUEST['ort_kurzbz']:'')); $person_id=trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:''); $work=trim(isset($_REQUEST['work']) ? $_REQUEST['work']:''); $personen_namen=''; if($oBenutzerberechtigung->isBerechtigt('wawi/inventar', null, 'suid') ) $schreib_recht=true; // Pruefen ob Schreibrechte (Anzeigen der Aenderungsmoeglichkeit) if($oBenutzerberechtigung->isBerechtigt('wawi/inventar:begrenzt',null,'su') ) $schreib_recht=true; if (!$schreib_recht) die('Sie haben keine Berechtigung für diese Seite ! Zurück'); if(is_numeric($person_id)) { $person_obj = new person(); if($person_obj->load($person_id)) $personen_namen = $person_obj->titelpre.' '.$person_obj->vorname.' '.$person_obj->nachname.' '.$person_obj->titelpost; } $ajax=trim(isset($_REQUEST['ajax']) ?$_REQUEST['ajax']:false); $work=trim(isset($_REQUEST['work']) ?$_REQUEST['work']:false); // Statusaenderung if ($ajax!='') { if(strtolower($ajax)=='inventarisieren') { if(isset($_REQUEST['inventarnummer']) && $_REQUEST['inventarnummer']!='') { $inventarnummer = $_REQUEST['inventarnummer']; $ort_kurzbz = $_REQUEST['ort_kurzbz']; $person_id = $_REQUEST['person_id']; $errormsg=''; $betriebsmittel_obj = new betriebsmittel(); if($betriebsmittel_obj->load_inventarnummer($inventarnummer)) { $value['beschreibung']=$betriebsmittel_obj->beschreibung; $value['verwendung']=$betriebsmittel_obj->verwendung; $value['ort_old']=$betriebsmittel_obj->ort_kurzbz; $value['inventarnummer']=$inventarnummer; $value['betriebsmittel_id']=$betriebsmittel_obj->betriebsmittel_id; //Inventarisierung speichern und ggf den Ort anpassen if($ort_kurzbz!='' && $ort_kurzbz!=$betriebsmittel_obj->ort_kurzbz) { $betriebsmittel_obj->ort_kurzbz = $ort_kurzbz; } $betriebsmittel_obj->inventuramum = date('Y-m-d H:i:s'); $betriebsmittel_obj->inventurvon = $uid; if(!$betriebsmittel_obj->save(false)) $errormsg = $betriebsmittel_obj->errormsg; if($person_id!='') { $bmp = new betriebsmittelperson(); $zuordnen=true; //Wenn das Betriebsmittel an eine andere Person ausgegeben ist, dann zurueckgeben if($bmp->load_betriebsmittelpersonen($betriebsmittel_obj->betriebsmittel_id)) { if($bmp->person_id!=$person_id) { if($bmp->retouram=='') { $bmp->retouram=date('Y-m-d'); if(!$bmp->save(false)) $errormsg = $bmp->errormsg; } } else $zuordnen=false; } if($zuordnen) { //Neue Person zuordnen $bmp = new betriebsmittelperson(); $bmp->person_id = $person_id; $bmp->betriebsmittel_id = $betriebsmittel_obj->betriebsmittel_id; $bmp->ausgegebenam = date('Y-m-d'); $bmp->updateamum = date('Y-m-d H:i:s'); $bmp->updatevon = $uid; $bmp->insertamum = date('Y-m-d H:i:s'); $bmp->insertvon = $uid; if(!$bmp->save(true)) $errormsg = $bmp->errormsg; } } $value['person_id']=$person_id; $value['errormsg']=$errormsg; echo json_encode($value); } else { echo 'ERROR LOADING:'.$inventarnummer; } } } exit; } if(isset($_POST['updateliste'])) { if(isset($_POST['work']) && $_POST['work']=='dummy') { //Eintraege in den Dummy Raum verschieben $ids = $_POST['bmid']; foreach($ids as $id) { $bm_obj = new betriebsmittel(); if($bm_obj->load($id)) { $bm_obj->ort_kurzbz='DUMMY'; if(!$bm_obj->save(false)) echo 'Fehler beim Speichern von ID:'.$id; } else { echo 'Fehler beim Laden von ID:'.$id; } } $work='uebersicht'; } if(isset($_POST['work']) && $_POST['work']=='ausscheiden') { //Eintraege auf ausgeschieden setzen $ids = $_POST['bmid']; foreach($ids as $id) { $bm_obj = new betriebsmittel_betriebsmittelstatus(); $bm_obj->betriebsmittel_id = $id; $bm_obj->betriebsmittelstatus_kurzbz = 'ausgeschieden'; $bm_obj->datum = date('Y-m-d'); $bm_obj->insertamum = date('Y-m-d H:i:s'); $bm_obj->insertvon = $uid; $bm_obj->updateamum = date('Y-m-d H:i:s'); $bm_obj->updatevon = $uid; $bm_obj->new = true; if(!$bm_obj->save()) echo 'Fehler beim Speichern von ID:'.$id; } $work='uebersicht'; } } ?> Inventar - Inventur

 Inventar - Inventur 

" method="post" enctype="application/x-www-form-urlencoded">
load($ort_kurzbz)) die('Der eingetragene Ort ist ungueltig'); } if($person_id!='') { $person_obj = new person(); if(!$person_obj->load($person_id)) die('Die eingetragene Person ist ungueltig'); } $oBetriebsmittel = new betriebsmittel(); if($work=='inventarisieren') { if($ort_kurzbz!='' || $person_id!='') { echo ' Inventur für '.$ort_kurzbz.' '.$personen_namen.'
   
'; } else { echo 'Ort oder Person muss angegeben werden'; } } elseif($work=='uebersicht') { echo '
Die folgenden Betriebsmittel wurden in den letzten 20 Wochen nicht inventarisiert und sind zugeordnet:

'; $qry = "SELECT * FROM wawi.tbl_betriebsmittel WHERE (inventuramum is null OR inventuramum < now()-'20 weeks'::interval)"; if($ort_kurzbz!='') $qry.=" AND ort_kurzbz='".addslashes($ort_kurzbz)."'"; if($person_id!='') { //Letzte zugeteilte Person filtern $qry.=" AND EXISTS ( SELECT person_id FROM wawi.tbl_betriebsmittelperson WHERE retouram IS NULL AND betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id AND person_id='".addslashes($person_id)."' )"; } //$qry.=" AND wawi.get_status_betriebsmittel(betriebsmittel_id) IN ('Aenderung','Inventar Extern','Inventur','Reparatur','vorhanden','keineZuordnung')"; $qry.=" AND (SELECT betriebsmittelstatus_kurzbz FROM wawi.tbl_betriebsmittel_betriebsmittelstatus WHERE betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ORDER BY datum desc,insertamum desc, betriebsmittelbetriebsmittelstatus_id desc LIMIT 1) IN ('Aenderung','Inventar Extern','Inventur','Reparatur','vorhanden','keineZuordnung') AND betriebsmitteltyp NOT IN('Zutrittskarte','Schluessel')"; $db = new basis_db(); if($result = $db->db_query($qry)) { echo '
'; echo 'Anzahl:'.$db->db_num_rows($result); echo ''; echo ''; $i=0; while($row = $db->db_fetch_object($result)) { $i++; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
Inv.Nr Beschreibung Verwendung Typ Inventur
'.$row->inventarnummer.'',$row->beschreibung,'',$row->verwendung,'',$row->betriebsmitteltyp,'',$row->inventuramum,'',$row->inventurvon,'

'; echo ''; echo ''; echo ''; echo ''; echo '
'; } } ?>