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 @@
|