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
-
-
+
+
+
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 '';
+ }
+}
?>
-