diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index 8b509940b..fd2bc6812 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -141,6 +141,31 @@ class betriebsmittel extends basis_db return true; } + /** + * Prueft ob die Inventarnummer schon existiert + * + * @param $inventarnummer + * @param $betriebsmittel_id + * @return boolean + */ + public function inventarnummer_exists($inventarnummer, $betriebsmittel_id=null) + { + $qry = "SELECT * FROM wawi.tbl_betriebsmittel WHERE inventarnummer='$this->inventarnummer'"; + if($betriebsmittel_id!='') + $qry.=" AND tbl_betriebsmittel_id<>'$this->betriebsmittel_id'"; + if($result = $this->db_query($qry)) + { + if($this->db_num_rows($result)>0) + return true; + else + return false; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt @@ -157,7 +182,13 @@ class betriebsmittel extends basis_db if ($this->nummer) $this->nummer=trim($this->nummer); - + $this->inventarnummer = str_replace('`','+',$this->inventarnummer); + + if($this->inventarnummer_exists($this->inventarnummer,($new?null:$this->betriebsmittel_id))) + { + $this->errormsg = 'Diese Inventarnummer existiert bereits'; + return false; + } $this->afa=(!isset($this->afa) || empty($this->afa)?$this->default_afa_jahre:$this->afa); if($new) @@ -706,7 +737,7 @@ class betriebsmittel extends basis_db $order = ' ORDER BY '.$order; // Select und Bedingung zusammen fuehren zu SQL Abfrage $qry.=$where.$order.(!$where?' limit 100 ':' limit 300 '); - + //echo $qry; if(!$result=$this->db_query($qry)) { $this->errormsg ='Probleme beim Lesen der Betriebsmittel '.($this->debug?$this->db_last_error() ."
$qry
":'') ; @@ -938,7 +969,7 @@ class betriebsmittel extends basis_db $where.=" and not afa is null and trim(to_char(date_part('year', tbl_betriebsmittel_betriebsmittelstatus.datum) + tbl_betriebsmittel.afa ,'9999')) <= '".Date('Y')."'"; if (is_null($betriebsmittelstatus_kurzbz) || $betriebsmittelstatus_kurzbz=='' ) $betriebsmittelstatus_kurzbz=mb_strtoupper('vorhanden'); - $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus ".($betriebsmittelstatus_kurzbz?" where not betriebsmittelbetriebsmittelstatus_id is null and upper(tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz) = ".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." ) "; + $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus ".($betriebsmittelstatus_kurzbz?" where not betriebsmittelbetriebsmittelstatus_id is null and upper(tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz) = ".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." group by betriebsmittel_id ) "; } elseif (!is_null($inventur_jahr) && $inventur_jahr!='') @@ -948,13 +979,13 @@ class betriebsmittel extends basis_db { $where.=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY') = '".($inventur_jahr)."'"; $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null - and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY')='".$inventur_jahr."' ".($betriebsmittelstatus_kurzbz?" and upper(trim(betriebsmittelstatus_kurzbz))=".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." ) "; + and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY')='".$inventur_jahr."' ".($betriebsmittelstatus_kurzbz?" and upper(trim(betriebsmittelstatus_kurzbz))=".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." group by betriebsmittel_id) "; } else { $inventur_jahr=($inventur_jahr * -1); $where.=" and not tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null - and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY')='".$inventur_jahr."' ".($betriebsmittelstatus_kurzbz?" and upper(trim(betriebsmittelstatus_kurzbz))=".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." ) "; + and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY')='".$inventur_jahr."' ".($betriebsmittelstatus_kurzbz?" and upper(trim(betriebsmittelstatus_kurzbz))=".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." group by betriebsmittel_id) "; $betriebsmittelstatus_kurzbz='vorhanden'; } } @@ -969,10 +1000,10 @@ class betriebsmittel extends basis_db elseif (!is_null($jahr_monat) && !empty($jahr_monat)) $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY') = '".$jahr_monat."' "; $where.=$jm; - $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." ) "; + $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) "; } else if (!is_null($betriebsmittelstatus_kurzbz) && $betriebsmittelstatus_kurzbz!='') - $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ) "; + $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null group by betriebsmittel_id) "; // Bestellnummer if (!is_null($bestellnr) && !empty($bestellnr) ) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 1e911786a..815af4ceb 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -133,7 +133,7 @@ $menu=array ), 'Wartung'=> array ( - 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'edit-clear.png', + 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/firma'), 'image'=>'edit-clear.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav', 'Vorrueckung'=> array ( @@ -163,7 +163,7 @@ $menu=array ), 'Inventar'=> array ( - 'name'=>'Inventar', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','wawi','support'), 'image'=>'edit-paste.png', + 'name'=>'Inventar', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','wawi','support','wawi/inventar'), 'image'=>'edit-paste.png', 'link'=>'left.php?categorie=Inventar', 'target'=>'nav', 'Inventar'=> array ( diff --git a/vilesci/inventar/inventar.php b/vilesci/inventar/inventar.php index 6b6b905bb..a2f4730b6 100644 --- a/vilesci/inventar/inventar.php +++ b/vilesci/inventar/inventar.php @@ -439,7 +439,7 @@   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,$seriennummer,$person_id,$betriebsmittel_id)) $errormsg[]=$oBetriebsmittel->errormsg; + echo '
+ + + + + + + + + + + + + + + + + + + +
+ '; // Inventardatenliste if ( is_array($oBetriebsmittel->result) && count($oBetriebsmittel->result)==1) echo output_inventarposition($debug,$oBetriebsmittel->result,$resultBetriebsmittelstatus,$schreib_recht,$delete_recht,$schreib_recht_administration); @@ -800,14 +822,14 @@ function output_inventar($debug=false,$resultBetriebsmittel=null,$resultBetriebs $resultBetriebsmittel[$pos]->firmenname=trim($resultBetriebsmittel[$pos]->firmenname); $htmlstring.=' - '.($resultBetriebsmittel[$pos]->inventarnummer?$resultBetriebsmittel[$pos]->inventarnummer:$resultBetriebsmittel[$pos]->betriebsmittel_id).'  + '.($resultBetriebsmittel[$pos]->inventarnummer?$resultBetriebsmittel[$pos]->inventarnummer:$resultBetriebsmittel[$pos]->betriebsmittel_id).'  '.StringCut((!empty($resultBetriebsmittel[$pos]->beschreibung)?$resultBetriebsmittel[$pos]->beschreibung:$resultBetriebsmittel[$pos]->betriebsmitteltyp),20).'  '.$resultBetriebsmittel[$pos]->seriennummer.'  '.$resultBetriebsmittel[$pos]->ort_kurzbz.'  '; if (!$schreib_recht || !empty($resultBetriebsmittel[$pos]->bestellung_id) ) - $htmlstring.=''.$resultBetriebsmittel[$pos]->bestellung_id.' '; + $htmlstring.=''.$resultBetriebsmittel[$pos]->bestellung_id.' '; else $htmlstring.=' diff --git a/vilesci/inventar/inventar_pflege.php b/vilesci/inventar/inventar_pflege.php index 4b023a523..f177d22b0 100644 --- a/vilesci/inventar/inventar_pflege.php +++ b/vilesci/inventar/inventar_pflege.php @@ -586,7 +586,7 @@ } } else if ($besteller) - $personen_namen='$besteller'; + $personen_namen=''.$besteller.''; ?>    @@ -600,9 +600,7 @@ matchSubset:1,matchContains:1, width:400, formatItem:formatItem, - extraParams:{'work':'person' - ,'oe_kurzbz':$("#oe_kurzbz").val() - } + extraParams:{'work':'person'} }); }); diff --git a/vilesci/inventar/inventarliste.php b/vilesci/inventar/inventarliste.php new file mode 100644 index 000000000..1bef20797 --- /dev/null +++ b/vilesci/inventar/inventarliste.php @@ -0,0 +1,193 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzer.class.php'); +require_once('../../include/benutzerberechtigung.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/person.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'); + +$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']:'')); +$betriebsmittel_id=trim((isset($_REQUEST['betriebsmittel_id']) ? $_REQUEST['betriebsmittel_id']:'')); +$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']:''); +$order = trim(isset($_REQUEST['order']) ? $_REQUEST['order']:''); +$person_id = trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:''); + +$debug = false; +$schreib_recht_administration=false; +$schreib_recht=false; +$delete_recht=false; +$default_status_vorhanden='vorhanden'; + +$oBetriebsmittelstatus = new betriebsmittelstatus(); +$oBetriebsmittelstatus->result=array(); + +$resultBetriebsmittelstatus=$oBetriebsmittelstatus->result; + +echo ' + + + + Inventar - Betriebsmittel - Suche + + + + + + + +'; +$oBetriebsmittel = new betriebsmittel(); +if (!$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,$seriennummer,$person_id,$betriebsmittel_id)) + $errormsg[]=$oBetriebsmittel->errormsg; + + +echo output_inventar($debug,$oBetriebsmittel->result,$resultBetriebsmittelstatus,$schreib_recht,$delete_recht,$schreib_recht_administration,$default_status_vorhanden); + +/** + * Ausgabe der Bestellungen in Listenform + * + * @param unknown_type $debug + * @param unknown_type $resultBetriebsmittel + * @param unknown_type $resultBetriebsmittelstatus + * @param unknown_type $schreib_recht + * @param unknown_type $delete_recht + * @param unknown_type $schreib_recht_administration + * @return unknown + */ +function output_inventar($debug=false,$resultBetriebsmittel=null,$resultBetriebsmittelstatus=array(),$schreib_recht=false,$delete_recht=false,$schreib_recht_administration=2) +{ + $datum_obj=new datum(); + + $htmlstring=''; + if (is_null($resultBetriebsmittel) || !is_array($resultBetriebsmittel) || count($resultBetriebsmittel)<1) + return $htmlstring; + $htmlstring.=' + '; + if (is_array($resultBetriebsmittel) && count($resultBetriebsmittel)>1) + $htmlstring.=''; + $htmlstring.=' + + + + + + + + + + + + '; + + for ($pos=0;$posoe_kurzbz=trim($resultBetriebsmittel[$pos]->oe_kurzbz); + if (empty($resultBetriebsmittel[$pos]->oe_kurzbz)) + { + $resultBetriebsmittel[$pos]->oe_kurzbz='Fehlt'; + $oBetriebsmittelOrganisationseinheit = new betriebsmittel(); + if ($oBetriebsmittelOrganisationseinheit->load_betriebsmittel_oe($resultBetriebsmittel[$pos]->betriebsmittel_id)) + $resultBetriebsmittel[$pos]->oe_kurzbz=$oBetriebsmittelOrganisationseinheit->oe_kurzbz; + else if ($oBetriebsmittelOrganisationseinheit->errormsg) + $resultBetriebsmittel[$pos]->oe_kurzbz=$oBetriebsmittelOrganisationseinheit->errormsg; + } + + $oOrganisationseinheit->bezeichnung=''; + $oOrganisationseinheit = new organisationseinheit($resultBetriebsmittel[$pos]->oe_kurzbz); + // String - Daten Leerzeichen am Ende entfernen + $resultBetriebsmittel[$pos]->bestellnr=trim($resultBetriebsmittel[$pos]->bestellnr); + + $resultBetriebsmittel[$pos]->titel=trim($resultBetriebsmittel[$pos]->titel); + $resultBetriebsmittel[$pos]->beschreibung=trim($resultBetriebsmittel[$pos]->beschreibung); + + $resultBetriebsmittel[$pos]->firma_id=trim($resultBetriebsmittel[$pos]->firma_id); + $resultBetriebsmittel[$pos]->firmenname=trim($resultBetriebsmittel[$pos]->firmenname); + + $htmlstring.=' + + + + + + '; + + $htmlstring.=''; + + $htmlstring.=' + '; + + $htmlstring.=''; + $htmlstring.=''; + + $htmlstring.=''; + + $htmlstring.=' + + '; + if ($resultBetriebsmittel[$pos]->bestellung_id && !$resultBetriebsmittel[$pos]->bestellnr) + $htmlstring.=''; + } + $htmlstring.='
'.count($resultBetriebsmittel).' Einträge gefundenen
Inv.nr.BezeichnungVerwendungSer.nr.OrtBestell IDDatumOrg.Status
'.($resultBetriebsmittel[$pos]->inventarnummer?$resultBetriebsmittel[$pos]->inventarnummer:$resultBetriebsmittel[$pos]->betriebsmittel_id).' '.StringCut((!empty($resultBetriebsmittel[$pos]->beschreibung)?$resultBetriebsmittel[$pos]->beschreibung:$resultBetriebsmittel[$pos]->betriebsmitteltyp),20).' '.$resultBetriebsmittel[$pos]->verwendung.' '.$resultBetriebsmittel[$pos]->seriennummer.' '.$resultBetriebsmittel[$pos]->ort_kurzbz.' '.$resultBetriebsmittel[$pos]->bestellung_id.' '; + $htmlstring.=$resultBetriebsmittel[$pos]->bestelldetail_id; + $htmlstring.=' '.$datum_obj->formatDatum($resultBetriebsmittel[$pos]->betriebsmittelstatus_datum,'d.m.Y').' '.StringCut(($oOrganisationseinheit->bezeichnung?$oOrganisationseinheit->bezeichnung:$resultBetriebsmittel[$pos]->oe_kurzbz),20).' '; + // mit Berechtigung ist der Status zum bearbeiten + $betriebsmittelstatus_kurzbz_select=trim($resultBetriebsmittel[$pos]->betriebsmittelstatus_kurzbz); + $htmlstring.=$betriebsmittelstatus_kurzbz_select; + + $htmlstring.=' 
Achtung! Bestellung nicht mehr vorhanden!
'; + return $htmlstring; +} +?> + + \ No newline at end of file