<?php
/*
$Id: peripheriquerebut.class.php,v 1.3 2006-11-02 13:53:53 fgiva Exp $
*/
require_once ("formulaire.class.php");
require_once ("peripherique.class.php");

class peripheriquerebut extends peripherique {

var $table="elementrebut";
var $clePrimaire= "idelement";
var $typeCle= "N";

function peripheriquerebut($id,&$db,$DEBUG) {
$this->constructeur($id,$db,$DEBUG);
} // fin constructeur

function bouton($maj,$val=null){  //surcharge pour bouton reintegrer
// suppression seule autorisée
// =======================================================================
// Bouton supprimer
// =======================================================================
// * custom *
if(file_exists("../dyn/custom/var.inc")) {
   include("../dyn/custom/var.inc");
}
else {
  include("../dyn/var.inc");
}
//*
if (!$this->correct){
  if ($maj == 2) //supprimer
    $bouton = "Réintégrer";
  if ($maj==2) //modif interdite sur rebut
    echo "<tr><td><br></td></tr><tr><td colspan=2><center><input type='submit' value='".$bouton." ".ucwords($this->table)."' style=".$styleBouton." >";
  else
    echo "<tr><td><br></td></tr><tr><td colspan=2><center>";
}
}
function setType(&$form,$maj) { 
  $form->setType('idelement', 'hiddenstatic');
  $form->setType('numero', 'hiddenstatic');
  $form->setType('nature', 'hiddenstatic');
  $form->setType('idmodele', 'hidden');             
  $form->setType('libmodele', 'hiddenstatic');
  $form->setType('dateachat', 'hiddenstaticdate');
  $form->setType('daterebut', 'hiddenstaticdate');
  $form->setType('garantie', 'hiddenstatic');
  $form->setType('idfournisseur', 'hidden');
  $form->setType('libfournisseur', 'hiddenstatic');
  $form->setType('bc', 'hiddenstatic');
  $form->setType('numserie', 'hiddenstatic');
  $form->setType('adressemac', 'hiddenstatic');
}

function setLib(&$form,$maj) {
  parent::setLib($form,$maj);
  $form->setLib('libfournisseur','Fournisseur');
  $form->setLib('bc','Bon de commande');
  $form->setLib('libmodele','Modele');
}

function setSelect(&$form,$maj,$db,$DEBUG) { //surcharge aucun select
}

function triggersupprimer($id,&$db,$val,$DEBUG) {  //surcharge de peripherique
//reintegration de element et de ses interventions avant suppression
  $stockvalF['idelement']=$db->nextID("element");//$val["idelement"];
  $stockvalF['numero'] = $val["numero"];
  $stockvalF['idmodele'] = $val["idmodele"];
if($val['dateachat']!="") $stockvalF['dateachat'] = $this->dateDB($val["dateachat"]);
  $stockvalF['dateatelier'] = date("Y-m-d");
  $stockvalF['garantie'] = $val["garantie"];
  $stockvalF['idfournisseur'] = $val["idfournisseur"];
  $stockvalF['bc'] = $val["bc"];
  $stockvalF['numserie'] = $val["numserie"];
  $stockvalF['adressemac'] = $val["adressemac"];
  $stockvalF['idetatelement'] = 4;  //en stock
  $res= $db->autoExecute("element",$stockvalF,DB_AUTOQUERY_INSERT);
  if (DB :: isError($res))
    $this->erreur_db($res->getDebugInfo(),$res->getMessage(),'');
  else{
    if ($DEBUG == 1)
      echo "La requête de mise à jour est effectuée.<br>";
  $this->msg=$this->msg."<br>Enregistrement ".
  $val['idelement']." de la table element [".$db->affectedRows()." enregistrement ajouté]" ;
  } // requete creation element
  $sql="select * from interventionrebut where idperipherique = ".$val['idelement'];  
  $res = $db->query($sql);
  if (DB :: isError($res))
    die($res->getMessage().$sql);
  else{
    if ($DEBUG == 1)
      echo " la requete ".$sql." est exécutée<br>";
    while ($row=& $res->fetchRow()){ //reintegration des interv du periph
      if ($row[3]!=$db->getOne("select idtype from typeintervention where libtype='Mise au rebut'")) { //sauf mise au rebut
        $stockelvalF="";
        $stockelvalF['idintervention']=$db->nextID("intervention");//$row[0];
        $stockelvalF['idperipherique']=$stockvalF['idelement'];//$row[2];
        $stockelvalF['idtype']=$row[3];
        $stockelvalF['iddemandeur']=$row[4];
        $stockelvalF['idintervenant']=$row[5];
        $stockelvalF['dateouverture']=$row[6];
        $stockelvalF['datecloture']=$row[7];
        $stockelvalF['observations']=$row[8];
        $stockelvalF['idetatintervention']=3;  //cloturee
        $res3= $db->autoExecute("intervention",$stockelvalF,DB_AUTOQUERY_INSERT);
        if (DB :: isError($res3))
          $this->erreur_db($res3->getDebugInfo(),$res3->getMessage(),'');
        else{
          if ($DEBUG == 1)
            echo "La requête de mise à jour est effectuée.<br>";
            $this->msg=$this->msg."<br>Enregistrement ".
    $row[0]." de la table intervention [".$db->affectedRows()." enregistrement ajouté]" ;
        }
      }
    }
  }
  //effacer interventionrebuts sans referant periphrebut
  $sql= "delete from interventionrebut where idperipherique=".$val["idelement"];
  $res= $db->query($sql);
  if (DB :: isError($res))
    $this->erreur_db($res->getDebugInfo(),$res->getMessage(),'');
  else{
    if ($DEBUG == 1)
      echo "La requête".$sql." est effectuée.<br>";
    $this->msg=$this->msg."<br>Enregistrement(s) de la table interventionrebut [".$db->affectedRows()." enregistrement supprimé]" ;
  } //enr. elementrebut sera supprime apres
}

function verifier(){//surcharge
$this->correct=true;
}

}// fin de classe
?>