From 41e42d9d925672b866bc14330492552cbdca3f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 28 Jun 2010 15:29:46 +0000 Subject: [PATCH] Inventur Tool --- include/betriebsmittel.class.php | 37 +- vilesci/inventar/inventar.php | 17 +- vilesci/inventar/inventar_inventur.php | 1223 +++++++----------------- 3 files changed, 386 insertions(+), 891 deletions(-) diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index cb324f300..9b947d360 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -58,6 +58,9 @@ class betriebsmittel extends basis_db public $verwendung; // string public $anmerkung; // string public $leasing_bis; // date + + public $inventuramum; // timestamp + public $inventurvon; // string /** @@ -117,7 +120,9 @@ class betriebsmittel extends basis_db $this->verwendung = $row->verwendung; $this->anmerkung = $row->anmerkung; $this->leasing_bis = $row->leasing_bis; - + $this->inventuramum = $row->inventuramum; + $this->inventurvon = $row->inventurvon; + return true; } else @@ -197,7 +202,7 @@ class betriebsmittel extends basis_db $qry='INSERT INTO wawi.tbl_betriebsmittel (beschreibung, betriebsmitteltyp, nummer , inventarnummer, reservieren, ort_kurzbz ,ext_id, insertamum, insertvon, updateamum, updatevon,oe_kurzbz,hersteller,seriennummer - ,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis) VALUES('. + ,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis, inventuramum, inventurvon) VALUES('. $this->addslashes($this->beschreibung).', '. $this->addslashes($this->betriebsmitteltyp).', '. $this->addslashes($this->nummer).', '. @@ -217,7 +222,9 @@ class betriebsmittel extends basis_db $this->addslashes($this->afa).', '. $this->addslashes($this->verwendung).', '. $this->addslashes($this->anmerkung) .', '. - ($this->leasing_bis?$this->addslashes($this->leasing_bis):'null') .');' ; + ($this->leasing_bis?$this->addslashes($this->leasing_bis):'null') .', '. + $this->addslashes($this->inventuramum) .', '. + $this->addslashes($this->inventurvon) .');' ; } else @@ -246,7 +253,9 @@ class betriebsmittel extends basis_db 'afa='.($this->afa && is_numeric($this->afa)?$this->afa:$this->default_afa_jahre).', '. 'verwendung='.$this->addslashes($this->verwendung).', '. 'anmerkung='.$this->addslashes($this->anmerkung).', '. - 'leasing_bis='.($this->leasing_bis?$this->addslashes($this->leasing_bis):'null').' '. + 'leasing_bis='.($this->leasing_bis?$this->addslashes($this->leasing_bis):'null').', '. + 'inventuramum='.$this->addslashes($this->inventuramum).', '. + 'inventurvon='.$this->addslashes($this->inventurvon).' '. 'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).';'; } @@ -349,6 +358,8 @@ class betriebsmittel extends basis_db $bm->verwendung = $row->verwendung; $bm->anmerkung = $row->anmerkung; $bm->leasing_bis = $row->leasing_bis; + $bm->inventuramum = $row->inventuramum; + $bm->inventurvon = $row->inventurvon; $this->result[] = $bm; } @@ -400,6 +411,9 @@ class betriebsmittel extends basis_db $bm->verwendung = $row->verwendung; $bm->anmerkung = $row->anmerkung; $bm->leasing_bis = $row->leasing_bis; + $bm->inventuramum = $row->inventuramum; + $bm->inventurvon = $row->inventurvon; + $this->result[] = $bm; } return true; @@ -452,6 +466,8 @@ class betriebsmittel extends basis_db $obj->verwendung = $row->verwendung; $obj->anmerkung = $row->anmerkung; $obj->leasing_bis = $row->leasing_bis; + $obj->inventuramum = $row->inventuramum; + $obj->inventurvon = $row->inventurvon; $this->result[] = $obj; } @@ -474,7 +490,7 @@ class betriebsmittel extends basis_db // Initialisieren $this->result=array(); $this->errormsg = ''; - + $inventarnummer = mb_str_replace('`','+',$inventarnummer); $qry=' SELECT * FROM wawi.tbl_betriebsmittel WHERE inventarnummer='.$this->addslashes($inventarnummer); if($this->db_query($qry)) @@ -503,6 +519,8 @@ class betriebsmittel extends basis_db $this->verwendung = $row->verwendung; $this->anmerkung = $row->anmerkung; $this->leasing_bis = $row->leasing_bis; + $this->inventuramum = $row->inventuramum; + $this->inventurvon = $row->inventurvon; return true; } @@ -522,6 +540,8 @@ class betriebsmittel extends basis_db /** * Laedt die Organisation des Betriebsmittels $bestellung_id + * Wenn keine Organisationseinheit zugeteilt ist, dann wird die Organisationseinheit der zugeteilten Person + * geladen * @param $bestellung_id Bestellnummer des zu ladenden Betriebsmittel * @return true wenn ok, false im Fehlerfall */ @@ -565,6 +585,8 @@ class betriebsmittel extends basis_db $this->anmerkung = $row->anmerkung; $this->leasing_bis = $row->leasing_bis; $this->oe_kurzbz = trim($row->oe_kurzbz); + $this->inventuramum = $row->inventuramum; + $this->inventurvon = $row->inventurvon; if (empty($this->oe_kurzbz)) { @@ -657,6 +679,8 @@ class betriebsmittel extends basis_db $this->verwendung = $row->verwendung; $this->anmerkung = $row->anmerkung; $this->leasing_bis = $row->leasing_bis; + $this->inventuramum = $row->inventuramum; + $this->inventurvon = $row->inventurvon; return $this->result=$row; } @@ -709,7 +733,7 @@ class betriebsmittel extends basis_db $qry.=',tbl_betriebsmittel_betriebsmittelstatus.datum as betriebsmittelstatus_datum '; $qry.=',tbl_betriebsmittelstatus.beschreibung as betriebsmittelstatus_beschreibung '; $qry.=',tbl_betriebsmitteltyp.beschreibung as betriebsmitteltyp_beschreibung '; - $qry.=', CASE WHEN betriebsmittelperson_id is not null AND retouram is null THEN \'t\' ELSE \'f\' END ausgegeben'; + $qry.=', CASE WHEN EXISTS(SELECT retouram FROM wawi.tbl_betriebsmittelperson WHERE betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id AND retouram is NULL) THEN \'t\' ELSE \'f\' END ausgegeben'; $qry.=', tbl_betriebsmittel.*'; $qry.=', wawi_be.*'; @@ -917,6 +941,7 @@ class betriebsmittel extends basis_db $pWhere.=" or UPPER(trim(nachname || ' ' || vorname)) like '%".addslashes($matchcode)."%' "; $pWhere.=" or UPPER(trim(vorname || ' ' || nachname)) like '%".addslashes($matchcode)."%' ) )"; } + $pWhere.=" AND retouram is null"; $where.=$pWhere; if (!is_null($oe_kurzbz) && $oe_kurzbz!='') diff --git a/vilesci/inventar/inventar.php b/vilesci/inventar/inventar.php index 55b88b879..7ebcc049f 100644 --- a/vilesci/inventar/inventar.php +++ b/vilesci/inventar/inventar.php @@ -779,15 +779,15 @@ function output_inventar($debug=false,$resultBetriebsmittel=null,$resultBetriebs if (is_array($resultBetriebsmittel) && count($resultBetriebsmittel)>1) $htmlstring.='Bitte ein Inventar aus den '.count($resultBetriebsmittel).' gefundenen auswählen'; $htmlstring.=' - Inv.nr. + Inv.nr. Bezeichnung Verwendung - Ser.nr. + Ser.nr. Ort - Bestellnummer + Bestellnr Datum - Org. - Entlehnt + Org. + Entl. Status @@ -956,7 +956,7 @@ function output_inventar($debug=false,$resultBetriebsmittel=null,$resultBetriebs return $htmlstring; } // =========================================================================================== -// Ausgabe der Bestellungen in Listenform +// Ausgabe der Bestellung Detail function output_inventarposition($debug=false,$resultBetriebsmittel=null,$resultBetriebsmittelstatus=array(),$schreib_recht=false,$delete_recht=false,$schreib_recht_administration=2) { global $datum_obj; @@ -1151,6 +1151,11 @@ function output_inventarposition($debug=false,$resultBetriebsmittel=null,$result Leasing bis :  '.$datum_obj->formatDatum($resBetriebsmittel->leasing_bis,'d.m.Y').' '; + $htmlstring.=' + + Letzte Inventur :  + '.$datum_obj->formatDatum($resBetriebsmittel->inventuramum,'d.m.Y').' '.$resBetriebsmittel->inventurvon.' + '; $htmlstring.=' '; // Inventardaten Benutzer - Anlage und Aenderung diff --git a/vilesci/inventar/inventar_inventur.php b/vilesci/inventar/inventar_inventur.php index 67e4d6d30..6c24fa660 100644 --- a/vilesci/inventar/inventar_inventur.php +++ b/vilesci/inventar/inventar_inventur.php @@ -20,197 +20,192 @@ * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ - require_once('../../config/vilesci.config.inc.php'); - require_once('../../include/functions.inc.php'); - require_once('../../include/benutzerberechtigung.class.php'); - require_once('../../include/benutzer.class.php'); - require_once('../../include/mitarbeiter.class.php'); - require_once('../../include/ort.class.php'); - require_once('../../include/organisationseinheit.class.php'); - require_once('../../include/wawi.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'); +/** + * 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'); - $oBenutzerberechtigung = new benutzerberechtigung(); - $oBenutzerberechtigung->errormsg=''; - $oBenutzerberechtigung->berechtigungen=array(); - if (!$oBenutzerberechtigung->getBerechtigungen($uid)) - die('Sie haben keine Berechtigung ! Zurück'); +if (!$uid = get_uid()) + die('Keine UID gefunden ! Zurück'); -// ------------------------------------------------------------------------------------------ -// Initialisierung -// ------------------------------------------------------------------------------------------ - $errormsg=array(); - $default_status_vorhanden='Inventur'; - $berechtigung_kurzbz='wawi/inventar:begrenzt'; - $recht=false; - $schreib_recht=false; - $datum_obj = new datum(); +$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(); -// ------------------------------------------------------------------------------------------ -// Parameter Aufruf uebernehmen -// ------------------------------------------------------------------------------------------ - $inventarnummer=trim((isset($_REQUEST['inventarnummer']) ? $_REQUEST['inventarnummer']:'')); - $seriennummer=trim((isset($_REQUEST['seriennummer']) ? $_REQUEST['seriennummer']:'')); - $ort_kurzbz=trim((isset($_REQUEST['ort_kurzbz']) ? $_REQUEST['ort_kurzbz']:'')); - $oe_kurzbz=trim((isset($_REQUEST['oe_kurzbz']) ? $_REQUEST['oe_kurzbz']:'')); - $beschreibung=trim((isset($_REQUEST['beschreibung']) ? $_REQUEST['beschreibung']:'')); - $betriebsmitteltyp=trim((isset($_REQUEST['betriebsmitteltyp']) ? $_REQUEST['betriebsmitteltyp']:'')); - $betriebsmittelstatus_kurzbz=trim((isset($_REQUEST['betriebsmittelstatus_kurzbz']) ? $_REQUEST['betriebsmittelstatus_kurzbz']:'')); - $firma_id=trim(isset($_REQUEST['firma_id'])?$_REQUEST['firma_id']:''); - $bestellnr=trim(isset($_REQUEST['bestellnr'])?$_REQUEST['bestellnr']:''); - $bestellung_id=trim(isset($_REQUEST['bestellung_id'])?$_REQUEST['bestellung_id']:''); - $bestelldetail_id=trim(isset($_REQUEST['bestelldetail_id'])?$_REQUEST['bestelldetail_id']:''); - $hersteller=trim((isset($_REQUEST['hersteller']) ? $_REQUEST['hersteller']:'')); - $jahr_monat=trim(isset($_REQUEST['jahr_monat']) ? $_REQUEST['jahr_monat']:''); - $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:''); - $inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:''); +$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=''; - $debug=trim(isset($_REQUEST['debug']) ? $_REQUEST['debug']:false); - $extend_search=trim(isset($_REQUEST['extend_search']) ?$_REQUEST['extend_search']:'false'); - $check=$firma_id.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$betriebsmitteltyp.$beschreibung.$oe_kurzbz; - $extend_search=($check?'true':$extend_search); +if($oBenutzerberechtigung->isBerechtigt('wawi/inventar', null, 'suid') ) + $schreib_recht=true; - 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'); - // 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'); +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); -// ------------------------------------------------------------------------------------------ -// Verarbeitung - Ajax oder Work -// ------------------------------------------------------------------------------------------ - $ajax=trim(isset($_REQUEST['ajax']) ?$_REQUEST['ajax']:false); - $work=trim(isset($_REQUEST['work']) ?$_REQUEST['work']:false); - - if (($ajax && strtolower($ajax)=='set_status') - || ($work && strtolower($work)=='set_status') ) +// Statusaenderung +if ($ajax!='') +{ + if(strtolower($ajax)=='inventarisieren') { - if ($schreib_recht) + if(isset($_REQUEST['inventarnummer']) && $_REQUEST['inventarnummer']!='') { - $betriebsmittel_id=trim(isset($_REQUEST['betriebsmittel_id']) ? $_REQUEST['betriebsmittel_id']:''); - $oBetriebsmittel = new betriebsmittel($betriebsmittel_id); - $oBetriebsmittel->result=array(); - $oBetriebsmittel->debug=$debug; - $oBetriebsmittel->updatevon=$uid; - $oBetriebsmittel->updateamum=null; - if ($oBetriebsmittel->save()) + $inventarnummer = $_REQUEST['inventarnummer']; + $ort_kurzbz = $_REQUEST['ort_kurzbz']; + $person_id = $_REQUEST['person_id']; + $errormsg=''; + + $betriebsmittel_obj = new betriebsmittel(); + if($betriebsmittel_obj->load_inventarnummer($inventarnummer)) { - $oBetriebsmittel_betriebsmittelstatus = new betriebsmittel_betriebsmittelstatus(); - $oBetriebsmittel_betriebsmittelstatus->result=array(); - $oBetriebsmittel_betriebsmittelstatus->errormsg=''; - $oBetriebsmittel_betriebsmittelstatus->debug=$debug; - - $oBetriebsmittel_betriebsmittelstatus->new=true; - - $oBetriebsmittel_betriebsmittelstatus->betriebsmittelbetriebsmittelstatus_id=trim(isset($_REQUEST['betriebsmittelbetriebsmittelstatus_id']) ? $_REQUEST['betriebsmittelbetriebsmittelstatus_id']:''); - $oBetriebsmittel_betriebsmittelstatus->betriebsmittel_id=$oBetriebsmittel->betriebsmittel_id; - $oBetriebsmittel_betriebsmittelstatus->datum=date('Ymd'); - $oBetriebsmittel_betriebsmittelstatus->updatevon=$uid; - $oBetriebsmittel_betriebsmittelstatus->updateamum=''; - $oBetriebsmittel_betriebsmittelstatus->insertvon=$uid; - $oBetriebsmittel_betriebsmittelstatus->insertamum=''; - $oBetriebsmittel_betriebsmittelstatus->betriebsmittelstatus_kurzbz=trim((isset($_REQUEST['betriebsmittelstatus_kurzbz']) ? $_REQUEST['betriebsmittelstatus_kurzbz']:'')); - if ($oBetriebsmittel_betriebsmittelstatus->save()) - $errormsg[]='Neuanlage '.$oBetriebsmittel_betriebsmittelstatus->betriebsmittelstatus_kurzbz.' erfolgreich'; - else - $errormsg[]=$oBetriebsmittel_betriebsmittelstatus->errormsg; - } - else - $errormsg[]=$oBetriebsmittel->errormsg; - } - else - $errormsg[]='sie haben keine Rechte fuer Datenbearbeitung'; + $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; - // Fehlerausgabe bzw. Informationen ueber den Status der Verarbeitung - } - - if (($ajax && strtolower($ajax)=='set_position') - || ($work && strtolower($work)=='set_position') ) - { - if ($schreib_recht) - { - $betriebsmittel_id=trim(isset($_REQUEST['betriebsmittel_id']) ? $_REQUEST['betriebsmittel_id']:''); - $oBetriebsmittel = new betriebsmittel($betriebsmittel_id); - $oBetriebsmittel->result=array(); - $oBetriebsmittel->debug=$debug; - - $oBetriebsmittel->bestelldetail_id=$bestelldetail_id; - $oBetriebsmittel->updatevon=$uid; - $oBetriebsmittel->updateamum=null; - - if (!$oBetriebsmittel->save()) - $errormsg[]=$oBetriebsmittel->errormsg; + //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; + } } - else - $errormsg[]='sie haben keine Rechte fuer Datenbearbeitung'; - // Fehlerausgabe bzw. Informationen ueber den Status der Verarbeitung } - if (!empty($ajax)) + exit; +} +if(isset($_POST['updateliste'])) +{ + if(isset($_POST['work']) && $_POST['work']=='dummy') { - if (is_array($errormsg) && count($errormsg)>0) - exit(implode(", ",$errormsg)); - elseif (!is_array($errormsg)) - exit($errormsg); - else - exit('ok '.$ajax.''); + //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'; } - -// ------------------------------------------------------------------------------------------ -// Datenbankanbindung -// ------------------------------------------------------------------------------------------ - - $oOrt = new ort(); - $oOrt->result=array(); - - $oOrganisationseinheit = new organisationseinheit(); - $oOrganisationseinheit->result=array(); - - $oBetriebsmittel = new betriebsmittel(); - $oBetriebsmittel->result=array(); - $oBetriebsmittel->debug=$debug; - - $oBetriebsmitteltyp = new betriebsmitteltyp(); - $oBetriebsmitteltyp->result=array(); - - $oBetriebsmittelstatus = new betriebsmittelstatus(); - $oBetriebsmittelstatus->result=array(); - -// ------------------------------------------------------------------------------------------ -// Datenlesen -// ------------------------------------------------------------------------------------------ - // Organisation - Inventarverwalter - - $oes=new organisationseinheit(); - if (!$oOrganisationseinheit->loadArray($oBenutzerberechtigung->getOEkurzbz($berechtigung_kurzbz),'oe_kurzbz')) - $errormsg[]=$oOrganisationseinheit->errormsg; - - $resultOrganisationseinheit=$oOrganisationseinheit->result; - - // Typtable - if (!$oBetriebsmitteltyp->getAll()) - $errormsg[]=$oBetriebsmitteltyp->errormsg; - $resultBetriebsmitteltyp=$oBetriebsmitteltyp->result; - - // Statustable - if (!$rows=$oBetriebsmittelstatus->getAll()) - $errormsg[]=$oBetriebsmittelstatus->errormsg; - $resultBetriebsmittelstatus=$oBetriebsmittelstatus->result; - -// ------------------------------------------------------------------------------------------ -// HTML Output -// ------------------------------------------------------------------------------------------ + 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'; + } +} ?> @@ -218,53 +213,72 @@ Inventar - Inventur - - - + @@ -273,61 +287,6 @@
- - - - - - - - -
- - - -
-
-
- - - - - -
-
- -
- -
+ + + load($ort_kurzbz)) + die('Der eingetragene Ort ist ungueltig'); +} - // Eingabe - Plausib - $check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$inventur_jahr.$firma_id.$beschreibung.$oe_kurzbz; - // Datenabfrage - $order=null; - if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz)) - $errormsg[]=$oBetriebsmittel->errormsg; - $resultBetriebsmittel=$oBetriebsmittel->result; - - // Inventardatenliste - if (is_array($oBetriebsmittel->result) && count($oBetriebsmittel->result)==1) +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 output_inventarposition($debug,$oBetriebsmittel->result,$resultBetriebsmittelstatus,$schreib_recht); + echo ' + Inventur für '.$ort_kurzbz.' '.$personen_namen.' +
+
+   +   +
+
+
+
'; + } - else if (is_array($oBetriebsmittel->result) && count($oBetriebsmittel->result)>1) + else { - echo output_inventar($debug,$oBetriebsmittel->result,$resultBetriebsmittelstatus,$schreib_recht); + echo 'Ort oder Person muss angegeben werden'; } - else +} +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!='') { - if ($check!='' ) - $errormsg[]='keine Daten gefunden'; - else - $errormsg[]='Auswahl fehlt'; + //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)."' + )"; } - - // Error - Meldungen ausgeben - if (is_array($errormsg) && count($errormsg)>0) - echo ''. implode("
",$errormsg).'
'; - elseif (!is_array($errormsg)) - echo '
'.$errormsg.'
'; + //$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')"; + + $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 '
Inv.NrBeschreibungVerwendungInventur
'.$row->inventarnummer.'',$row->beschreibung,'',$row->verwendung,'',$row->inventuramum,'',$row->inventurvon,'

'; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'; + } +} ?> - - - '; - if (is_array($resultBetriebsmittel) && count($resultBetriebsmittel)>1) - $htmlstring.='Bitte ein Inventar aus den '.count($resultBetriebsmittel).' gefundenen auswählen'; - $htmlstring.=' - Inv.nr. - Standort - Bestell ID - Org. - Bezeichnung - Ser.nr. - Status - - - '; - - for ($pos=0;$posbezeichnung=''; - $oOrganisationseinheit = new organisationseinheit($resultBetriebsmittel[$pos]->oe_kurzbz); - - $htmlstring.=' - bestellung_id.'&bestelldetail_id'.$resultBetriebsmittel[$pos]->bestelldetail_id.'&inventur_jahr'.trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:'').'">'.$resultBetriebsmittel[$pos]->inventarnummer.'  - '.$resultBetriebsmittel[$pos]->ort_kurzbz.'  - '.$resultBetriebsmittel[$pos]->bestellung_id.'  - '; - - if ($schreib_recht && $resultBetriebsmittel[$pos]->bestellung_id && empty($resultBetriebsmittel[$pos]->bestelldetail_id)) - { - $htmlstring.=' - - - '; - } - else - $htmlstring.=' - '.$resultBetriebsmittel[$pos]->bestelldetail_id.' - '; - $htmlstring.=' -   - '; - - $htmlstring.=' - '.($oOrganisationseinheit->bezeichnung?$oOrganisationseinheit->bezeichnung:$resultBetriebsmittel[$pos]->oe_kurzbz).'  - '.StringCut($resultBetriebsmittel[$pos]->beschreibung,25).'  - '.$resultBetriebsmittel[$pos]->seriennummer.'  - - '; - // mit Berechtigung ist der Status zum bearbeiten - - $betriebsmittelstatus_kurzbz_select=trim($resultBetriebsmittel[$pos]->betriebsmittelstatus_kurzbz); - if (!$schreib_recht) - $htmlstring.=$betriebsmittelstatus_kurzbz_select; - else - { - $htmlstring.=''; - } - $htmlstring.='  - - '; - } - $htmlstring.=''; - return $htmlstring; -} - -// Ausgabe der Bestellungen in Listenform -function output_inventarposition($debug=false,$resultBetriebsmittel=null,$resultBetriebsmittelstatus=array(),$schreib_recht=false) -{ - global $datum_obj; - - // Verarbeitungs Array ermitteln aus der Uebergabe - if (isset($resultBetriebsmittel[0])) - $resBetriebsmittel=$resultBetriebsmittel[0]; - else - $resBetriebsmittel=$resultBetriebsmittel; - - $htmlstring=''; - if (is_null($resBetriebsmittel) || ( !is_object($resBetriebsmittel) && !is_array($resBetriebsmittel) ) || count($resBetriebsmittel)<1) - return $htmlstring; - - // Organisation - Inventarverwalter - $oOrganisationseinheit = new organisationseinheit($resBetriebsmittel->oe_kurzbz); - $OrgBezeichnung=(isset($oOrganisationseinheit->bezeichnung) && $oOrganisationseinheit->bezeichnung?$oOrganisationseinheit->bezeichnung:'*'.$resultBetriebsmittel[0]->oe_kurzbz); - $OrgTitel=(isset($oOrganisationseinheit->bezeichnung) && $oOrganisationseinheit->bezeichnung?$oOrganisationseinheit->bezeichnung.' '.$oOrganisationseinheit->organisationseinheittyp_kurzbz:$resultBetriebsmittel[0]->oe_kurzbz.' Kontrolle'); - - // Ort - Inventarstandort - $oOrt = new ort($resBetriebsmittel->ort_kurzbz); - $OrtBezeichnung=(isset($oOrt->bezeichnung) && $oOrt->bezeichnung?$oOrt->ort_kurzbz:'*'.$resBetriebsmittel->ort_kurzbz); - $OrtTitel=(isset($oOrt->bezeichnung) && $oOrt->bezeichnung?$oOrt->ort_kurzbz.' '.($oOrt->bezeichnung?$oOrt->bezeichnung:'').' '.$OrtBezeichnung.' '.($oOrt->telefonklappe?'Kl.'.$oOrt->telefonklappe:''):$resBetriebsmittel->ort_kurzbz.' Kontrolle'); - - $htmlstring.='
Inventar '.$resBetriebsmittel->inventarnummer.''; - $htmlstring.='
Kopfdaten'; - $htmlstring.=''; - $htmlstring.=' - - - - - - - - - '; - - $htmlstring.=' - - - - - - - - '; - if ($schreib_recht && $resBetriebsmittel->bestellung_id) - { - $htmlstring.=' - - '; - } - else - $htmlstring.=''; - - $htmlstring.=''; - - $htmlstring.=' - - - - - '; - - $htmlstring.=' - - - - - '; - - if ($info=$resBetriebsmittel->verwendung.($resBetriebsmittel->verwendung?'
':'').$resBetriebsmittel->anmerkung) - { - $htmlstring.=' - - - '; - } - - $htmlstring.=''; - - $htmlstring.=''; - $htmlstring.=' - - - - - '; - $htmlstring.=' - - - - - '; - - $htmlstring.=''; - - // Inventardaten Benutzer - Anlage und Aenderung - $htmlstring.=''; - - $htmlstring.=''; - $htmlstring.='
Betriebsmitteltyp : '.$resBetriebsmittel->betriebsmitteltyp.'Ort : '.$OrtBezeichnung.'Organisation : '.$OrgTitel.'
Bestellnr. : '.$resBetriebsmittel->bestellnr.'Bestell ID. : '.$resBetriebsmittel->bestellung_id.'Bestellpos. ID. : 
- - - - - - - '.$resBetriebsmittel->bestelldetail_id.'
Beschreibung : '.$resBetriebsmittel->beschreibung.'Seriennummer : '.$resBetriebsmittel->seriennummer.'
Lieferant : '.$resBetriebsmittel->firmenname.'Hersteller : '.$resBetriebsmittel->hersteller.'
Verwendung : '.$info.'
 
Status : 
- - - - - - - - - '; - // mit Berechtigung ist der Status zum bearbeiten - $betriebsmittelstatus_kurzbz_select=trim($resBetriebsmittel->betriebsmittelstatus_kurzbz); - if (!$schreib_recht) - $htmlstring.=$betriebsmittelstatus_kurzbz_select; - else - { - $htmlstring.=' '; - } - $htmlstring.='AfA Ende : '.$datum_obj->formatDatum($resBetriebsmittel->betriebsmittelstatus_datum_afa,'d.m.Y').'Leasing bis : '.$datum_obj->formatDatum($resBetriebsmittel->leasing_bis,'d.m.Y').'
 
'; - $oUpdateBenutzer = new benutzer($resBetriebsmittel->insertvon); - $htmlstring.=' - - - '; - $oUpdateBenutzer = new benutzer($resBetriebsmittel->updatevon); - $htmlstring.=' - - - '; - $htmlstring.='
 
Anlage : '.(isset($oUpdateBenutzer->person_id)?(isset($oUpdateBenutzer->anrede) && !empty($oUpdateBenutzer->anrede)?$oUpdateBenutzer->anrede.' ':''). - (isset($oUpdateBenutzer->titelpre) && !empty($oUpdateBenutzer->titelpre)?$oUpdateBenutzer->titelpre.' ':''). - $oUpdateBenutzer->vorname.' '.$oUpdateBenutzer->nachname.'':$resBetriebsmittel->insertvon).' '.$datum_obj->formatDatum($resBetriebsmittel->insertamum,'d.m.Y H:i:s').'  - letzte Änderung : '.(isset($oUpdateBenutzer->person_id)?(isset($oUpdateBenutzer->anrede) && !empty($oUpdateBenutzer->anrede)?$oUpdateBenutzer->anrede.' ':''). - (isset($oUpdateBenutzer->titelpre) && !empty($oUpdateBenutzer->titelpre)?$oUpdateBenutzer->titelpre.' ':''). - $oUpdateBenutzer->vorname.' '.$oUpdateBenutzer->nachname.'':$resBetriebsmittel->updatevon).' '.$datum_obj->formatDatum($resBetriebsmittel->updateamum,'d.m.Y H:i:s').'  -
'; - $htmlstring.='
'; - - $htmlstring.='
History'; - - // Betriebsmittel STATUS - History - $oBetriebsmittel_betriebsmittelstatus = new betriebsmittel_betriebsmittelstatus(); - $oBetriebsmittel_betriebsmittelstatus->result=array(); - $oBetriebsmittel_betriebsmittelstatus->debug=$debug; - $oBetriebsmittel_betriebsmittelstatus->errormsg=''; - if (!$oBetriebsmittel_betriebsmittelstatus->load_betriebsmittel_id($resBetriebsmittel->betriebsmittel_id)) - $htmlstring.='
'.$oBetriebsmittel_betriebsmittelstatus->errormsg; - - if (is_array($oBetriebsmittel_betriebsmittelstatus->result) && count($oBetriebsmittel_betriebsmittelstatus->result)>0) - { - $htmlstring.=''; - $htmlstring.=' - - - - - - - '; - for ($pos=0;$posresult);$pos++) - { - $row=$oBetriebsmittel_betriebsmittelstatus->result[$pos]; - $oInsertBenutzer = new benutzer($row->insertvon); - $oUpdateBenutzer = new benutzer($row->updatevon); - if ($pos%2) - $classe='liste1'; - else - $classe='liste0'; - $htmlstring.=' - - - - - - - - - '; - } - } - $htmlstring.='
Statusab DatumAnlageÄnderung
'.$row->betriebsmittelstatus_kurzbz.''.$datum_obj->formatDatum($row->datum,'d.m.Y').''.(isset($oInsertBenutzer->person_id)?(isset($oInsertBenutzer->anrede) && !empty($oInsertBenutzer->anrede)?$oInsertBenutzer->anrede.' ':''). - (isset($oInsertBenutzer->titelpre) && !empty($oInsertBenutzer->titelpre)?$oInsertBenutzer->titelpre.' ':''). - $oInsertBenutzer->vorname.' '.$oInsertBenutzer->nachname.'':$row->insertvon).''.$datum_obj->formatDatum($row->insertamum,'d.m.Y H:i:s').''.(isset($oUpdateBenutzer->person_id)?(isset($oUpdateBenutzer->anrede) && !empty($oUpdateBenutzer->anrede)?$oUpdateBenutzer->anrede.' ':''). - (isset($oUpdateBenutzer->titelpre) && !empty($oUpdateBenutzer->titelpre)?$oUpdateBenutzer->titelpre.' ':''). - $oUpdateBenutzer->vorname.' '.$oUpdateBenutzer->nachname.'':$row->updatevon).''.$datum_obj->formatDatum($row->updateamum,'d.m.Y H:i:s').'
'; - - // Betriebsmittel Personen - $oBetriebsmittelperson = new betriebsmittelperson(); - $oBetriebsmittelperson->result=array(); - $oBetriebsmittelperson->debug=$debug; - $oBetriebsmittelperson->errormsg=''; - if (!$oBetriebsmittelperson->load_betriebsmittelpersonen($resBetriebsmittel->betriebsmittel_id)) - $htmlstring.='
'.$oBetriebsmittelperson->errormsg; - - if (is_array($oBetriebsmittelperson->result) && count($oBetriebsmittelperson->result)>0) - { - $htmlstring.='
Anlage - Änderung - - '; - for ($pos=0;$posresult);$pos++) - { - $row=$oBetriebsmittelperson->result[$pos]; - if ($pos%2) - $classe='liste1'; - else - $classe='liste0'; - $htmlstring.=' - '.$row->person_id.' - - '.$datum_obj->formatDatum($row->ausgegebenam,'d.m.Y').' - '.$datum_obj->formatDatum($row->retouram,'d.m.Y').' - - '.$row->insertvon.' - '.$datum_obj->formatdatum($row->insertamum,'d.m.Y H:i:s').' - - '.$row->updatevon.' - '.$datum_obj->formatDatum($row->updateamum,'d.m.Y H:i:s').' - '; - } - $htmlstring.=''; - $htmlstring.='
'; - } - $htmlstring.='
'; - $htmlstring.='
schliessen zurück 
'; - return $htmlstring; -} -?> \ No newline at end of file + \ No newline at end of file