<?php
/*
$Id: station.class.php,v 1.24 2008-04-04 14:58:42 fgiva Exp $
*/
require_once ("formulaireparc.class.php");//parc fred
require_once ("dbformparc.class.php");
//les formulaires générés en ajax ne reconnaissent pas les fonctions java
//internes à ces formulaires d'où la necessité de les déclarer ici 
require_once ("intervention.class.php");
require_once ("element.class.php");

class station extends dbFormparc {

    var $table="station";
    var $clePrimaire= "idstation";
    var $typeCle= "N" ;
    var $numero;

function station($id,&$db,$DEBUG,$nature) {
  $this->constructeur($id,$db,$DEBUG);
  if (isset($nature)) $this->nature=$nature;
  else $this->nature='tout';
} // fin constructeur

function bouton($maj,$val=null){  //surcharge pour mettre au rebut
// =======================================================================
// Bouton Ajouter, modifier, 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 = "Supprimer/Mettre au rebut";
  else
    if ($maj == 1) // modifier   
      $bouton = "Modifier";
    else // ajouter
      $bouton = "Ajouter";
  echo "<tr><td><br></td></tr><tr><td colspan=2><center><input type='submit' value='".$bouton." ".ucwords($this->table)."' style=".$styleBouton." >";
}}

function ajouter($val,&$db,$DEBUG){  //surcharge pour verifier($db)
// parametrage
$this->msg="";
// valF
    $this->setValFAjout($val);
    $this->setValF($val);
    $this->verifier($db);  
    $this->verifierAjout();
if ($this->correct){
    $this->setId($db); // id automatique
    $this->triggerajouter(0/*$id*/,$db,$val,$DEBUG);
    $res= $db->autoExecute($this->table,$this->valF,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 ".
           $this->valF[$this->clePrimaire]." de la table ".
           $this->table." [".$db->affectedRows().
              " enregistrement ajouté]" ;
           } // requete maj
}
else
$this->msg=$this->msg. "<br> non enregistré";
}

function modifier($val,&$db,$DEBUG){  //surcharge pour verifier($db)
 // valF
    $id=$val[$this->clePrimaire];
    $this->setValF($val);
    $this->verifier($db); 
 if ($this->correct){
    $this->triggermodifier($id,$db,$val,$DEBUG);
    if($this->typeCle=="A")
           $cle= $this->clePrimaire." = '".$id."'";
    else
           $cle= $this->clePrimaire." = ".$id;
    $res= $db->autoExecute($this->table,$this->valF,DB_AUTOQUERY_UPDATE,$cle);
        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."Enregistrement ".$id." de la table ".
              $this->table." [".$db->affectedRows().
              " enregistrement mis à jour]" ;
              } // requete maj
}}

function setvalF($val){
$this->valF['idstation'] = $val['idstation'];
$this->valF['numero'] = $val['numero'];
$this->valF['idmarque'] = $val['idmarque'];
$this->valF['nomstation'] = $val['nomstation'];
$this->valF['ipecole'] = $val['ipecole'];
$this->valF['idutilisateur'] = $val['idutilisateur'];
$this->valF['idorganisme'] = $val['idorganisme'];
$this->valF['idtypestation'] = $val['idtypestation'];
$this->valF['idmodele'] = $val['idmodele'];
$this->valF['idsysteme'] = $val['idsysteme'];
$this->valF['seriesysteme'] = $val['seriesysteme'];
if($val['dateatelier']!="")
    $this->valF['dateatelier'] = $this->dateDB($val['dateatelier']); //==
if($val['dateachat']!="")
    $this->valF['dateachat'] = $this->dateDB($val['dateachat']); //==
$this->valF['numserie'] = $val['numserie'];
$this->valF['notag'] = $val['notag'];
$this->valF['garantie'] = $val['garantie'];
$this->valF['idfournisseur'] = $val['idfournisseur'];
$this->valF['idservice'] = $val['idservice'];
$this->valF['idbatiment'] = $val['idbatiment'];
$this->valF['bc'] = $val['bc'];
$this->valF['idetatstation'] = $val['idetatstation'];
}
// pas d initialisation valF pour la cle primaire
function setValFAjout($val){
}
// initialisation valF pour la cle primaire

function setId($db){
// id automatique nextid
$this->valF['idstation'] = $db->nextId($this->table);
}

function verifierAjout(){
}

function verifier(&$db){
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  $this->correct = true; //$this->valF["numero"]!="" ; //ajoute a cause bug vidant formulaire avant enregistrement
  if ($this->correct) {
    // obligatoire
    if ($this->valF["idetatstation"]==1) { //si affecté
      $ecoles=false;
      if ($this->valF["idservice"]!=0) {
        $sql="select libservice from service where idservice = ".$this->valF["idservice"];
        $res = $db->getOne($sql);
        if (DB :: isError($res))
          die($res->getMessage().$sql);
        else
          if ($DEBUG == 1)
              echo " la requete ".$sql." est exécutée<br>";
        $ecoles=stristr($res,"ecoles"); //insensitive
        $nouser=stristr($res,"(") && stristr($res,")"); //service sans user 
        if (!($ecoles || $nouser || $this->valF['idutilisateur']!=0)) {
          $this->correct=False;
          $this->msg= $this->msg."<br>Utilisateur obligatoire!";
        }
      } else {
        $this->correct=false;
        $this->msg= $this->msg."<br>Service obligatoire!";
      } 
      if ($this->valF['idbatiment']==0){
        $this->correct=false;
        $this->msg= $this->msg."<br>Batiment obligatoire";
      }
      $oldnumero=$db->getOne("select numero from station where idstation='".$this->valF['idstation']."'");
      //recherche doublon nomstation
      $numero=$db->getOne("select numero from station where nomstation='".$this->valF['nomstation']."'");
      $nomOK=true;
      if (!is_null($numero))
        $nomOK=($numero==$oldnumero);
      //autoriser doublon nomstation pour ecoles et nomstation vide
      if (!$nomOK && !$ecoles && $this->valF['nomstation']){
        $this->correct=false;
        $this->msg= $this->msg."<br>Nom déjà utilisé par la station $numero!";
      }
    } else { //non affecté
      if ($this->nature=="stock")
        if (!($this->valF['idutilisateur']==0 && $this->valF['idservice']==0 && $this->valF['idbatiment']==0)) {
          $this->correct=false;
          $this->msg= $this->msg."<br>Vous avez choisi une affectation!";
        }
    }
  } else {
    $this->msg= $this->msg."<br>Numero de station invalide!";
  }
}//verifier

function setType(&$form,$maj,&$db,$idx) {
  if ($maj < 2) { //ajouter et modifier
    if ($maj==0) {
        $form->setType('numero', 'hiddenstatic'); //numero obligatoire et non personnalisable
        $form->setType('idstationtransfert', 'hidden');
        $form->setType('description', 'hidden');
        $form->setType('modelestation', 'select');
    } else {
        $form->setType('description', 'hiddenstatic');
        if (!strstr($form->val['numero'],"WMI"))  //sinon text par défaut: possibilité de donner un numero mairie
          $form->setType('numero', 'hiddenstatic');
        $form->setType('modelestation', 'hidden');
//        if (is_a($this,"stationnonaffectee"))
//        if ($this->nature=='stock') //non affecté
        if ($db->getOne("select idetatstation from station where idstation='".$idx."'")>1) //non affecté
          $form->setType('idstationtransfert', 'hidden');
        else
          $form->setType('idstationtransfert', 'select');
    }
//    $form->setType('ipecole', 'text');
//    $form->setType('utilisateur', 'text');  
    $form->setType('idutilisateur','selectliste');
    $form->setType('idorganisme', 'select');
    $form->setType('idservice', 'select');
    $form->setType('idbatiment', 'select');
    $form->setType('dateachat','date');
    $form->setType('garantie','select');
    $form->setType('idfournisseur','select');
    $form->setType('idmarque','select');
    $form->setType('idtypestation','select');
    $form->setType('idmodele','select');
    $form->setType('idsysteme','select');
//    $form->setType('seriesysteme','text');
    $form->setType('dateatelier','date');
    $form->setType('datescan', 'hiddenstaticdate');
    $form->setType('idetatstation','select');
  } else { // solder
    $form->setType('modelestation', 'hidden');
    $form->setType('description', 'hiddenstatic');
    $form->setType('ipecole','hidden');
    $form->setType('utilisateur', 'hidden');
    $form->setType('idorganisme','hidden');
    $form->setType('idutilisateur','hidden');
    $form->setType('idservice', 'hidden');
    $form->setType('idbatiment', 'hidden');
    $form->setType('idsysteme','hidden');
    $form->setType('seriesysteme','hidden');
    $form->setType('dateatelier','hidden');
    $form->setType('datescan','hidden');
    $form->setType('numserie','hidden');
    $form->setType('notag','hidden');
    $form->setType('bc','hidden');
    $form->setType('dateachat','hidden');
    $form->setType('garantie','hidden');
    $form->setType('idfournisseur','hidden');
    $form->setType('idmarque','hidden');
    $form->setType('idtypestation','hidden');
    $form->setType('idmodele','hidden');
    $form->setType('numero', 'hiddenstatic');
    $form->setType('idetatstation','hidden');
    $form->setType('idstationtransfert', 'hidden');
  }
  $form->setType('idstation', 'hidden');
}

function setVal(&$form,$maj,$validation,&$db,$idx){
include ("../dyn/connexion.php");
include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");

//a renseigner avec db
if ($maj>0) {
  $table="modeleelement inner join element on modeleelement.idmodele=element.idmodele";
  $sql="select libmodele from ".$table." where idstation=";
  $processeur=$db->getOne($sql.$idx." and nature='processeur'");
  $description=$processeur;
  $sqlsum="select concat(typecomp,' ',sum(taille),' Mo') from ".$table." where idstation=".$idx." and nature='memoire' 
  and typecomp <>'0' and datescan>0 group by typecomp";
  $memoire=$db->getOne($sqlsum);
  if (is_null($memoire)) { //pas de scan realisé
  $sqlsum="select concat(typecomp,' ',sum(taille),' Mo') from ".$table." where idstation=".$idx." and nature='memoire' 
  and typecomp <>'0' group by typecomp";
    $memoire=$db->getOne($sqlsum);
    if (is_null($memoire)) { //pas de memoire saisie avec type
      $memoire=$db->getOne($sql.$idx." and nature='memoire'");
      if (is_null($memoire))
        $description.="-RAM0";
      else 
        $description.="-".$memoire;
    } else  //memoire saisie avec type 
      $description.="-".$memoire;
  } else  //memoire scannée par wmi avec type
    $description.="-".$memoire;
  $sqlsum="select concat('HD ',sum(taille),' Mo') from ".$table." where idstation=".$idx." and nature='disquedur' and datescan>0";
  $disquedur=$db->getOne($sqlsum);
  if ($disquedur=="") { //pas de scan realisé 
    $sqlsum="select concat('HD ',sum(taille),' Mo') from ".$table." where idstation=".$idx." and nature='disquedur'";
    $disquedur=$db->getOne($sqlsum);
    if ($disquedur=="HD 0 Mo") { //pas de disque dur saisi avec taille
      $disquedur=$db->getOne($sql.$idx." and nature='disquedur'");
      if (is_null($disquedur)) 
        $description.="-HD0";
      else 
        $description.="-".$disquedur;
    } else   
      $description.="-".$disquedur;
  } else  
    $description.="-".$disquedur;
  $ecran=$db->getOne($sql.$idx." and nature='ecran'");
  if (is_null($ecran))
    $description.="-Ecran0";
  else 
    $description.="-".$ecran;
  $sqlCD="select typecomp from ".$table." where idstation = ".$idx." and nature='lecteuroptique'";
  $res = $db->query($sqlCD);
  while ($row=& $res->fetchRow()){
    $description.="-".$row[0];
  }
  $form->setVal('description',$description);
} 
$numero=date("ym")."%'";
$temp = $db->getone($sql_numerostation.$numero);
$temp2= $db->getone($sql_numeroelement.$numero);
$temp=max($temp,$temp2);
if (is_null($temp))
  $this->numero=date("ym001");
else 
  $this->numero=date("ym").sprintf("%03u",intval(substr($temp,4))+1);
if ($validation==0) {
  if ($maj == 0){
    $form->setVal('idetatstation',1); //affecté
    switch ($this->nature) {
      case 'interco':
      $form->setVal('idorganisme',2);
      break;
      case 'ecoles':
      $form->setVal('idorganisme',3);
      break;
      default:
      $form->setVal('idorganisme',1);
    }
    $form->setVal('numero',$this->numero);  
  }
}
}

function setSelect(&$form, $maj,$db,$debug) {
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  if($maj<2){
    switch ($this->nature) {
      case 'mairie':
      case 'interco':
      $form->setSelect("idservice",$this->selectArray($db,$sql_service,0," Choisir un service "));
      break;
      case 'ecoles':
      $form->setSelect("idservice",$this->selectArray($db,$sql_lieu,0," Choisir un lieu "));
      break;
      default:
      $form->setSelect("idservice",$this->selectArray($db,$sql_toutservice,0," Choisir un service/lieu "));
    }
    $form->setSelect("idorganisme",$this->selectArray($db,$sql_organisme));
    if ($maj==1) {
      $idutilisateur=$this->val[array_search("idutilisateur",$this->champs)];
      if ($idutilisateur) {
        $sql_utilisateur.=$idutilisateur;
        $form->setSelect("idutilisateur",$this->selectArray($db,$sql_utilisateur));
      }
      $form->setSelect("idstationtransfert",$this->selectArray($db,$sql_transfert,0," Choisir une station "));
    } else {
      $form->setSelect("modelestation",$this->selectArray($db,$sql_modelestation,0," Choisir une station type "));
    }      
    $form->setSelect("idbatiment",$this->selectArray($db,$sql_batiment,0," Choisir un batiment "));
    $form->setSelect("idfournisseur",$this->selectArray($db,$sql_fournisseur,0," Choisir un fournisseur "));
    $form->setSelect("idmarque",$this->selectArray($db,$sql_marque,0," GENERIQUE "));
    $contenu=array();
    $contenu[0]=array('1','2','3','4','5');
    $contenu[1]=array('1','2','3','4','5');
    $form->setSelect("garantie",$contenu);
    $form->setSelect("idmodele",$this->selectArray($db,$sql_modele,0," Choisir un modèle "));
    $form->setSelect("idsysteme",$this->selectArray($db,$sql_systeme,0," Choisir un système "));
    $form->setSelect("idtypestation",$this->selectArray($db,$sql_typestation,0," Choisir un type "));
/*    if ($this->nature=='interv' && $form->val['idetatstation']>1)
      $form->setSelect("idetatstation",$this->selectArray($db,$sql_etat_limite,0," Choisir un état"));
    else*/ //plus necessaire depuis test etat avec $db depuis setType
      $form->setSelect("idetatstation",$this->selectArray($db,$sql_etat,0," Choisir un état"));
  }
}

function setTaille(&$form,$maj){
  $form->setGroupe('description',100);
  $form->setTaille('idutilisateur', 3);
  $form->setTaille('utilisateur', 30);
}

function setGroupe(&$form,$maj,&$db,$idx){
  if ($maj>0) {
    $form->setGroupe('nomstation','D');
    $form->setGroupe('description','F');
  } else {
    $form->setGroupe('nomstation','D');
    $form->setGroupe('modelestation','F');
  }
  $form->setGroupe('ipecole','D');
  $form->setGroupe('idorganisme','F');
  $form->setGroupe('numserie','D');
  $form->setGroupe('notag','F');

  if ($maj<2) {
    $form->setGroupe('utilisateur','D');
    $form->setGroupe('idservice','F');
    $form->setGroupe('idutilisateur','D');
    $form->setGroupe('idbatiment','F');
//    if ($maj==1 && $this->nature!='stock') {
    if ($maj==1 && $db->getOne("select idetatstation from station where idstation='".$idx."'")<2) { //affecté
      $form->setGroupe('idetatstation','D');
      $form->setGroupe('idstationtransfert','F');
    }
  }

  $form->setGroupe('idmodele','D');
  $form->setGroupe('idmarque','F');
  $form->setGroupe('idtypestation','D');
  $form->setGroupe('idsysteme','F');
//  $form->setGroupe('seriesysteme','F');
  $form->setGroupe('dateatelier','D');
  $form->setGroupe('datescan','F');

  $form->setGroupe('dateachat','D');
  $form->setGroupe('idfournisseur','F');
  $form->setGroupe('bc','D');
  $form->setGroupe('garantie','F');
}

function setRegroupe(&$form,$maj,&$db,$idx){
//  $form->setRegroupe('numero','D',' Identification ');
  if ($maj>0) {
    $form->setRegroupe('nomstation','D',' Identification ');
    $form->setRegroupe('description','G','');
  } else {
    $form->setRegroupe('nomstation','D',' Identification ');
    $form->setRegroupe('modelestation','G','');
  }    
  $form->setRegroupe('ipecole','G','');
  $form->setRegroupe('idorganisme','G','');
  $form->setRegroupe('numserie','G','');
  $form->setRegroupe('notag','F','');

  if ($maj<2) {
    $form->setRegroupe('utilisateur','D',' Affectation ');
    $form->setRegroupe('idservice','G','');
    $form->setRegroupe('idutilisateur','G','');
//    if ($maj==1 && $this->nature!='stock') {
    if ($maj==1 && $db->getOne("select idetatstation from station where idstation='".$idx."'")<2) { //affecté
      $form->setRegroupe('idbatiment','G','');
      $form->setRegroupe('idetatstation','G','');
      $form->setRegroupe('idstationtransfert','F','');
    } else {
      $form->setRegroupe('idbatiment','G','');
      $form->setRegroupe('idetatstation','F','');
    }
  }

  $form->setRegroupe('idmodele','D',' Modèle ');
  $form->setRegroupe('idmarque','G','');
  $form->setRegroupe('idtypestation','G','');
  $form->setRegroupe('idsysteme','G','');
  $form->setRegroupe('seriesysteme','G','');
  $form->setRegroupe('dateatelier','G','');
  $form->setRegroupe('datescan','F','');

  $form->setRegroupe('dateachat','D',' Informations administratives ');
  $form->setRegroupe('idfournisseur','G','');
  $form->setRegroupe('bc','G','');
  $form->setRegroupe('garantie','F','');
}

function setLib(&$form,$maj) {
  $form->setLib('nomstation','Nom Station');
  $form->setLib('ipecole','Adresse Workgroup');
  $form->setLib('idutilisateur','');
  $form->setLib('idservice','Service');
  $form->setLib('idbatiment','Batiment');
  $form->setLib('idtypestation','Type station');
  $form->setLib('idetatstation','Etat');
  $form->setLib('description','');
  $form->setLib('idmodele','Modèle marque');
  $form->setLib('idmarque','Marque');
  $form->setLib('idsysteme','Sytème exploitation');
  $form->setLib('seriesysteme','No série système');
  $form->setLib('idfournisseur','Fournisseur');
  $form->setLib('bc','Bon de commande');
  $form->setLib('dateatelier','Date installation/stock');
  $form->setLib('datescan','Dernier scan');
  $form->setLib('idstationtransfert','Migration vers:');
  $form->setLib('idorganisme','Organisme');
}

function setOnkeyup(&$form,$maj) {
$form->setOnkeyup("utilisateur","peuplerliste(this)");
?>
<script language="javascript">
function peuplerliste(t1) {
  var xhr_object = null;   
          
  if(window.XMLHttpRequest) // Firefox   
    xhr_object = new XMLHttpRequest();   
  else if(window.ActiveXObject) // Internet Explorer   
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");   
  else { // XMLHttpRequest non supporté par le navigateur   
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
    return;   
  }   
 
  var data = "nom="+escape(t1.value)+"&form="+f1.name+"&select=idutilisateur";   

  xhr_object.open("POST", "../spg/dynselectutilisateur.php", true);   
     
  xhr_object.onreadystatechange = function() {   
    if(xhr_object.readyState == 4) {   
      eval(xhr_object.responseText);
     //alert("transfert fini"+l2(0).value);
     }   
  }   
  xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");   
  xhr_object.send(data);   
}
</script>
<?php
}

//     non definie ds cl filles
function setOnchange(&$form,$maj){
// mise en majuscule ***********************************************************
$form->setOnchange("nomstation","this.value=this.value.toUpperCase()");
$form->setOnchange("dateachat","fdate(this)");
$form->setOnchange("modelestation","peuplerform(this)");
?>
<script language="javascript">
function majuser(l1) {
  var t1 = document.getElementsByName("utilisateur");   
  t1[0].value=l1.options[l1.selectedIndex].text
}

/*function fdate(champ){
if(champ.value.lastIndexOf("/")==-1){
if (champ.value.substring(0,2)>32){
   champ.value="";
   alert("jour > 32")
   return
}
if (champ.value.substring(2,4)>13){
   champ.value="";
   alert("mois > 12")
   return
}
if(champ.value.length==6)
champ.value=champ.value.substring(0,2)+"/"+champ.value.substring(2,4)+"/19"+champ.value.substring(4,6);
if(champ.value.length==8)
champ.value=champ.value.substring(0,2)+"/"+champ.value.substring(2,4)+"/"+champ.value.substring(4,8);
}
} // fin fonction 
*/

function peuplerform(l1) {
  var index = l1.selectedIndex;   
  if(index >0) {  
    var xhr_object = null;   
            
    if(window.XMLHttpRequest) // Firefox   
      xhr_object = new XMLHttpRequest();   
    else if(window.ActiveXObject) // Internet Explorer   
      xhr_object = new ActiveXObject("Microsoft.XMLHTTP");   
    else { // XMLHttpRequest non supporté par le navigateur   
      alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
      return;   
    }   
   
    var data = "modele="+escape(l1.options[index].value)+"&form="+f1.name;   

    xhr_object.open("POST", "../spg/dynselectmodelestation.php", true);   
       
    xhr_object.onreadystatechange = function() {   
      if(xhr_object.readyState == 4) {   
        eval(xhr_object.responseText);
       }   
    }   
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");   
    xhr_object.send(data);   
  }   
}
</script>
<?php
}

//     non definie ds cl filles
function setOnclick(&$form,$maj){
$form->setOnclick("numero","proposernumero(this)");
$form->setOnclick("idutilisateur","majuser(this)");  
?>
<script language="javascript">
function proposernumero(t1) {
  if (confirm("Enregistrer la station avec le numéro: <?=$this->numero?> ?")==true) {
    t1.value="<?=$this->numero?>";
    t1.disabled=true;
  }
}
function majuser(l1) {
  var t1 = document.getElementsByName("utilisateur");   
  t1[0].value=l1.options[l1.selectedIndex].text;
}
</script>
<?php
}

function triggerajouter($id,&$db,$val,$DEBUG) { //controle du numero et eventuellement correction
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  $numero=date("ym")."%'";
  $temp = $db->getone($sql_numerostation.$numero);
  $temp2= $db->getone($sql_numeroelement.$numero);
  $temp=max($temp,$temp2);
  if (is_null($temp))
    $numero=date("ym001");
  else 
    $numero=date("ym").sprintf("%03u",intval(substr($temp,4))+1);
  if ($this->valF["numero"]<>$numero) {
    $this->valF["numero"]=$numero;
    $this->msg= $this->msg."<br>Numero mis à jour: ".$numero; 
  }
  //ajouter interv enregistrement
  $this->ajouterIntervention($db,$this->valF["idstation"],"Enregistrement");
  if ($val["idetatstation"]==1) { //affectation 
    //ajouter interv mise en place
    $this->ajouterIntervention($db,$this->valF["idstation"],"Mise en place",$val["idutilisateur"]);
  }
  if ($val["modelestation"]>0) {  //ajouter comp,logi et peri du modele
    $comp=$db->getone("select idscomp from modelestation where idmodelestation=".$val["modelestation"]);
    if ($comp) {
      $comp=explode(",",$comp);
      foreach ($comp as $elem) {
        $elemvalF="";
        $elemvalF['idelement']=$db->nextID("element");
        $elemvalF['idstation']=$this->valF['idstation'];
        $elemvalF['idmodele']=$elem;
        $res= $db->autoExecute("element",$elemvalF,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 de la table element [".$db->affectedRows()." enregistrement ajouté]" ;
        }
      }        
    }
    //if ($val["idetatstation"]==1) {
    //si station affectee ajouter logiciels du modele maj 01/01/08 ajout meme si station non affectee
      $logi=$db->getone("select idslogi from modelestation where idmodelestation=".$val["modelestation"]);
      if ($logi) {
        $logi=explode(",",$logi);
        foreach ($logi as $elem) {
          $elemvalF="";
          $elemvalF['idelement']=$db->nextID("element");
          $elemvalF['idstation']=$this->valF['idstation'];
          $elemvalF['idmodele']=$elem;
          $res= $db->autoExecute("element",$elemvalF,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 de la table elementrebut [".$db->affectedRows()." enregistrement ajouté]" ;
          }
        }        
      }
    //}
    $peri=$db->getone("select idsperi from modelestation where idmodelestation=".$val["modelestation"]);
    if ($peri) {
      $peri=explode(",",$peri);
      foreach ($peri as $elem) {
        $elemvalF="";
        $elemvalF['idelement']=$db->nextID("element");
        $elemvalF['idstation']=$this->valF['idstation'];
        $elemvalF['idorganisme']=$this->valF['idorganisme'];
        $elemvalF['idmodele']=$elem;
        $elemvalF['dateachat']=$this->valF["dateachat"];
        $elemvalF['garantie']=$this->valF["garantie"];
        $elemvalF['idfournisseur']=$this->valF["idfournisseur"];
        $elemvalF['bc']=$this->valF["bc"];
        $elemvalF['idetatelement']=1;  //affecté
        $res= $db->autoExecute("element",$elemvalF,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 de la table elementrebut [".$db->affectedRows()." enregistrement ajouté]" ;
        }
      }        
    }
    $this->msg= $this->msg."<br>Création de la station suivant le modèle."; 
  }
}

function triggersupprimer($id,&$db,$val,$DEBUG) { //solder station
  if (!strstr($db->getOne("select numero from station where idstation='".$id."'"),"WMI")) { //station normale à mettre au rebut
    //ajouter interv mise au rebut
    $this->ajouterIntervention($db,$val["idstation"],"Mise au rebut");
    //liberation periph avec numserie ou numero, supp periphs sans
    //no et adressesip
    $this->desaffecterstation($id,$db,$val,$DEBUG);
    //creation station rebut
    $rebutvalF="";
    $idstarebut=$db->nextID("stationrebut");
    $rebutvalF['idstation']=$idstarebut;
    $rebutvalF['numero'] = $val["numero"];
    $rebutvalF['idtypestation'] = $val["idtypestation"];
    $rebutvalF['numserie'] = $val["numserie"];
  /*if($val["dateachat"]!="")*/ $rebutvalF['dateachat'] = /*$this->dateDB(*/$val["dateachat"]/*)*/;
    $rebutvalF['daterebut'] = date("Y-m-d");
    $rebutvalF['garantie'] = $val["garantie"];
    $rebutvalF['idfournisseur'] = $val["idfournisseur"];
    $rebutvalF['idmodele'] = $val["idmodele"];
    $rebutvalF['idmarque'] = $val["idmarque"];
    $rebutvalF['bc'] = $val["bc"];
    $res= $db->autoExecute("stationrebut",$rebutvalF,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 ".
    $idstarebut." de la table stationrebut [".$db->affectedRows()." enregistrement ajouté]" ;
    } 
    //archivage des composants de la station
    $sql="select element.idmodele,adressemac from element inner join modeleelement on element.idmodele=modeleelement.idmodele where classe='composant' and idstation = ".$val['idstation']; //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()){ //archivage des composants de la station
        $rebutelvalF="";
        $rebutelvalF['idelement']=$db->nextID("elementrebut");//$row[0];
        $rebutelvalF['idstation']=$idstarebut;
        $rebutelvalF['idmodele']=$row[0];
        $rebutelvalF['adressemac']=$row[1];
        $res3= $db->autoExecute("elementrebut",$rebutelvalF,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 elementrebut [".$db->affectedRows()." enregistrement ajouté]" ;
        }
      }
    }
    //archivage des interventions de la station
    $sql="select * from intervention where idstation=".$val['idstation'];    
    $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()){ //archivage des interv de la station
        $rebutelvalF="";
        $rebutelvalF['idintervention']=$db->nextID("interventionrebut");
        $rebutelvalF['idstation']=$idstarebut;
  //      $rebutvalF['idperipherique']=$row[2];
        $rebutelvalF['idtype']=$row[3];
        $rebutelvalF['iddemandeur']=$row[4];
        $rebutelvalF['idintervenant']=$row[5];
        $rebutelvalF['dateouverture']=$row[6];
        $rebutelvalF['datecloture']=$row[7];
        $rebutelvalF['observations']=$row[8];
        $res3= $db->autoExecute("interventionrebut",$rebutelvalF,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 interventionrebut [".$db->affectedRows()." enregistrement ajouté]" ;
        }
      }
    }
  } else { //station WMI
    //suppression des adressesip attaches à la station
    //rem: fait ds desaffecterstation() pour les stations normales
    $sql= "delete from tcpip where idstation=".$val["idstation"];
    $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 tcpip [".$db->affectedRows()." enregistrement supprimé]" ;
    } 
  }
  //Partie commune station normale Mairie ou WMI
  //effacer elements restants de la station
  $sql= "delete from element where idstation=".$val["idstation"];
  $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 element [".$db->affectedRows()." enregistrement supprimé]" ;
  } // requete maj
  //effacer interventions restantes de la station
  $sql= "delete from intervention where idstation=".$val["idstation"];
  $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 intervention [".$db->affectedRows()." enregistrement supprimé]<br>" ;
  } // requete maj
//suppression de station vient apres  
}

function triggermodifier($id,&$db,$val,$DEBUG) { 
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  //test si enregistrement station WMI en numero mairie et verif numero
  if (strstr($db->getOne("select numero from station where idstation='".$this->valF['idstation']."'"),"WMI") && !strstr($this->valF["numero"],"WMI")) {
    $numero=date("ym")."%'";
    $temp = $db->getone($sql_numerostation.$numero);
    $temp2= $db->getone($sql_numeroelement.$numero);
    $temp=max($temp,$temp2);
    if (is_null($temp))
      $numero=date("ym001");
    else 
      $numero=date("ym").sprintf("%03u",intval(substr($temp,4))+1);
    if ($this->valF["numero"]<>$numero) {
      $this->valF["numero"]=$numero;
      $this->msg= $this->msg."<br>Numero mis à jour: ".$numero; 
    }
  }
  if ($val["idetatstation"]>1 && $db->getOne("select idetatstation from station where idstation='".$this->valF['idstation']."'")==1) {
  //retrait du poste
    switch ($val["idetatstation"]) { 
    case 2: //panne
      $this->ajouterIntervention($db,$val["idstation"],"Retour en atelier",$val["idutilisateur"],$val["idstationtransfert"]);
      break;
    case 3: //reparation
      $this->ajouterIntervention($db,$val["idstation"],"Dépot pour réparation",$val["idutilisateur"],$val["idstationtransfert"]);
      break;
    case 4: //stock
      $this->ajouterIntervention($db,$val["idstation"],"Retour en stock",$val["idutilisateur"],$val["idstationtransfert"]);
    }
    if ($val["idstationtransfert"]!=0) {  //transfert user sur autre station
      $this->ajouterIntervention($db,$val["idstationtransfert"],"Mise en place",$val["idutilisateur"],$val["idstation"]);
      $this->migrerversstation($id,$db,$val,$DEBUG);
    } else { //pas de transfert
      $this->desaffecterstation($id,$db,$val,$DEBUG);
    }
    //desaffecter station
    $this->valF['dateatelier'] = date("Y-m-d");
    $this->valF["idutilisateur"] = 0;   //chps non mis à 0 par java lors selection etat non affecté
    $this->valF["idservice"] = 0;       //comme pour periph car valeurs necessaires si transfert user
    $this->valF["idbatiment"] = 0;
    $this->valF["nomstation"] = "";
    //la station desaffecté conserve ses composants et interventions non attachées à ces ex-periphs
  }
  if ($val["idetatstation"]==1 && $db->getOne("select idetatstation from station where idstation='".$this->valF['idstation']."'")>1) {
  //affectation   rien de particulier à faire
  //user, service, batiment deja changes et verifies ds stationnonaffectee
    //ajouter interv mise en place
    $this->ajouterIntervention($db,$val["idstation"],"Mise en place",$val["idutilisateur"]);
  }
}

function migrerversstation($id,&$db,$val,$DEBUG) {   //à mettre en private
  //maj propriétés autre station
  $cle = " idstation = ".$val['idstationtransfert'];
  $tranfertvalF["idutilisateur"]=$val["idutilisateur"];
  $tranfertvalF["idservice"]=$val["idservice"];
  $tranfertvalF["idbatiment"]=$val["idbatiment"];
  $tranfertvalF["nomstation"]=$val["nomstation"];
  $tranfertvalF["idorganisme"]=$val["idorganisme"];
  $tranfertvalF["ipecole"]=$val["ipecole"];
  $tranfertvalF["idetatstation"]=1; //affecté
  $res= $db->autoExecute('station',$tranfertvalF,DB_AUTOQUERY_UPDATE,$cle);
  if (DB :: isError($res))
    die($res->getMessage()." échec maj");
  else{
    if ($DEBUG == 1)
      echo "La requête de mise à jour est effectuée.<br>";
    $this->msg=$this->msg."<br>Enregistrement ".$val['idstationtransfert']." de la table station"." [".$db->affectedRows()." enregistrement mis à jour]" ;
  }
  //maj des idstation dans interventions des periph allant être reaffectés sur autre station
  //seul les periph ayant numserie ou numero (ex:prn) peuvent avoir des interv
  //les periphs sous garantie restent attachés à la station
  $sql="select idperipherique from intervention left join element on intervention.idperipherique
  =element.idelement where element.idstation = ".$val['idstation']." and DATE_SUB(CURDATE(),INTERVAL element.garantie YEAR)>element.dateachat";  
  $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>";
    $count=0;
    while ($row=& $res->fetchRow()){ 
      $cle= " idperipherique  = ".$row[0]; 
      $tranfertvalF="";
      $tranfertvalF['idstation']= $val['idstationtransfert'];
      $res_i= $db->autoExecute('intervention',$tranfertvalF,DB_AUTOQUERY_UPDATE,$cle);
      if (DB :: isError($res_i))
        die($res_i->getMessage()." échec maj");
      else{
        if ($DEBUG == 1)
          echo "La requête de mise à jour est effectuée.<br>";
        $count+=1;  
      }
    }
    $this->msg=$this->msg."<br>Enregistrement(s) de la table intervention"." [".$count." enregistrement mis à jour]" ;
  }
  //transfert des periph avec numserie ou numero + logiciels avec
  //datescan à 0 et suppression autres periph et logiciels de element
  //les periphs sous garantie restent attachés à la station
  $sql= "select idelement,numserie,numero,classe,datescan from element inner join modeleelement on element.idmodele=modeleelement.idmodele 
  where idstation=".$val["idstation"]." and classe<>'composant' and DATE_SUB(CURDATE(),INTERVAL element.garantie YEAR)>element.dateachat";
  $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>";
    $count_maj=0;
    $count_sup=0;
    while ($row=& $res->fetchRow()){ 
      if ((($row[1]!="" || $row[2]!="") && $row[3]=="peripherique")|| ($row[4]=="0000-00-00" && $row[3]=="logiciel")) { //reaffectation de periph avec numserie ou numero et de log avec datescan à 0
        if ($row[3]=="peripherique") $this->ajouterInterventionPeriph($db,$row[0],"Mise en place",$val["idutilisateur"],$val["idstationtransfert"]);
        $cle= " idelement = ".$row[0];
        $tranfertvalF="";
        $tranfertvalF["idstation"]=$val["idstationtransfert"];
        $res_i= $db->autoExecute('element',$tranfertvalF,DB_AUTOQUERY_UPDATE,$cle);
        if (DB :: isError($res_i))
          die($res_i->getMessage()." échec maj");
        else{
          if ($DEBUG == 1)
            echo "La requête de mise à jour est effectuée.<br>";
          $count_maj+=1;
        }
      } else { //periph (sans numero ou numserie)
        if ($row[3]=="peripherique") {  //modif le 09/10 logiciels conservés
          $sql_i="delete from element where idelement = ".$row[0];
          $res_i= $db->query($sql_i);
          if (DB :: isError($res_i))
            $this->erreur_db($res_i->getDebugInfo(),$res_i->getMessage(),'');
          else {
            if ($DEBUG == 1)
              echo "La requête".$sql_i." est effectuée.<br>";
            $count_sup+=1;
          }
        }
      }
    }
    $this->msg=$this->msg."<br>Enregistrement(s) de la table element"." [".$count_maj." enregistrement mis à jour]" ;
    $this->msg=$this->msg."<br>Enregistrement(s) de la table element"." [".$count_sup." enregistrement(s) supprimé(s)]" ;
  }
  //transfert des adressesip de tcpip
  $cle = " idstation = ".$val['idstation'];
  $tranfertvalF="";
  $tranfertvalF["idstation"]=$val["idstationtransfert"];
  $res= $db->autoExecute('tcpip',$tranfertvalF,DB_AUTOQUERY_UPDATE,$cle);
  if (DB :: isError($res))
    die($res->getMessage()." échec maj");
  else{
    if ($DEBUG == 1)
      echo "La requête de mise à jour est effectuée.<br>";
    $this->msg=$this->msg."<br>Enregistrement(s) ".$val['idstation']." de la table tcpip"." [".$db->affectedRows()." enregistrement mis à jour]<br>" ;
  }
  //fin operation transfert user vers autre station 
}

function desaffecterstation($id,&$db,$val,$DEBUG) {
  //Attention: les logiciels sont conserves lors des desaffectations
  //maj des idstation dans interventions des periph allant être libérés
  //seul les periph ayant numserie ou numero (ex:prn) peuvent avoir des interv
  //les periphs sous garantie restent attachés à la station
  $sql="select idperipherique from intervention left join element on intervention.idperipherique
  =element.idelement where element.idstation = ".$val['idstation']." and DATE_SUB(CURDATE(),INTERVAL element.garantie YEAR)>element.dateachat";  
  $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>";
    $count=0;
    while ($row=& $res->fetchRow()){ 
      $cle= " idperipherique  = ".$row[0]; 
      $tranfertvalF="";
      $tranfertvalF['idstation']= 0;
      $res_i= $db->autoExecute('intervention',$tranfertvalF,DB_AUTOQUERY_UPDATE,$cle);
      if (DB :: isError($res_i))
        die($res_i->getMessage()." échec maj aaa");
      else{
        if ($DEBUG == 1)
          echo "La requête de mise à jour est effectuée.<br>";
        $count+=1;  
      }
    }
    $this->msg=$this->msg."<br>Enregistrement(s) de la table intervention"." [".$count." enregistrement mis à jour]" ;
  }
  //libération periph avec numserie ou numero (ex:prn sans numserie - rare)
  //suppression des periph non transferes tjrs attaches à la station
  //les periphs sous garantie restent attachés à la station     modif le 09/10 logiciels conservés
  $sql= "select idelement,numserie,numero,classe from element inner join modeleelement on element.idmodele=modeleelement.idmodele 
  where idstation=".$val["idstation"]." and classe='peripherique' and DATE_SUB(CURDATE(),INTERVAL element.garantie YEAR)>element.dateachat";
  $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>";
    $count_lib=0;
    $count_sup=0;
    while ($row=& $res->fetchRow()){ 
      if (($row[1]!="" || $row[2]!="") && $row[3]=="peripherique") { //mise en stock de periph avec numserie ou numero
        $this->ajouterInterventionPeriph($db,$row[0],"Retour en stock",$val["idutilisateur"]);
        $cle = " idelement = ".$row[0];
        $tranfertvalF="";
        $tranfertvalF["idstation"]=0;
        $tranfertvalF["dateatelier"]=date("Y-m-d");
        $tranfertvalF["idetatelement"]=4;  //en stock
        $res_i= $db->autoExecute('element',$tranfertvalF,DB_AUTOQUERY_UPDATE,$cle);
        if (DB :: isError($res))
          die($res_i->getMessage()." échec maj");
        else{
          if ($DEBUG == 1)
            echo "La requête de mise à jour est effectuée.<br>";
          $count_lib+=1;
        }
      } else { //periph (sans numero ou numserie) ou logiciel
        $sql_i="delete from element where idelement = ".$row[0];
        $res_i= $db->query($sql_i);   
        if (DB :: isError($res_i))
          $this->erreur_db($res_i->getDebugInfo(),$res_i->getMessage(),'');
        else{
          if ($DEBUG == 1)
            echo "La requête".$sql_i." est effectuée.<br>";
          $count_sup+=1;
        }
      }
    }
    $this->msg=$this->msg."<br>Enregistrement(s) de la table element"." [".$count_lib." enregistrement mis à jour]" ;
    $this->msg=$this->msg."<br>Enregistrement(s) de la table element"." [".$count_sup." enregistrement(s) supprimé(s)]" ;
  }
  //suppression des adressesip non transferes tjrs attaches à la station
  $sql= "delete from tcpip where idstation=".$val["idstation"];
  $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 tcpip [".$db->affectedRows()." enregistrement supprimé]" ;
  } 
}

function ajouterIntervention(&$db,$idstation,$type,$iddemandeur=0,$idstation2=0) {
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  //ajouter interv station
  $intervalF="";
  $intervalF['idintervention']=$db->nextID("intervention");
  $intervalF['idstation']=$idstation;
  $intervalF['observations']="$type du poste";
  if ($iddemandeur) {
    $intervalF['iddemandeur']=$iddemandeur;
    if ($type=="Mise en place") 
      $intervalF['observations'].=" chez ".$db->getOne("select concat(prenom,' ',nom) from personnel where idutilisateur=$iddemandeur");
  }
  if ($idstation2)
    if ($type=="Mise en place")
      $intervalF['observations'].=" en échange du ";
    else
      $intervalF['observations'].=". Poste remplacé par ";
    $intervalF['observations'].=$db->getOne("select numero from station where idstation=$idstation2");
  $intervalF['observations'].=".";
  $intervalF['idtype']=$db->getOne("select idtype from typeintervention where libtype='$type'");
  $intervalF['dateouverture']=date("Y-m-d");
  $intervalF['datecloture']=date("Y-m-d");
  if (strstr($type,"Enregistrement"))
    $intervalF['idetatintervention']=3;  //cloturée
  else
    $intervalF['idetatintervention']=2;  //en cours
  $res= $db->autoExecute("intervention",$intervalF,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 ".
$intervalF['idintervention']." de la table intervention [".$db->affectedRows()." enregistrement ajouté]" ;
  }
}

function ajouterInterventionPeriph(&$db,$idperipherique,$type,$iddemandeur=0,$idstation=0) {
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  //ajouter interv periph
  $intervalF="";
  $intervalF['idintervention']=$db->nextID("intervention");
  $intervalF['idperipherique']=$idperipherique;
  $intervalF['iddemandeur']=$iddemandeur;
  if ($idstation) {
    $intervalF['idstation']=$idstation;
    $intervalF['observations']="$type du périphérique et affectation à la station ".$db->getOne("select numero from station where idstation=$idstation").".";
  } else {
    $intervalF['observations']="$type du périphérique.";
  }
  $intervalF['idtype']=$db->getOne("select idtype from typeintervention where libtype='$type'");
  $intervalF['dateouverture']=date("Y-m-d");
  $intervalF['datecloture']=date("Y-m-d");
  $intervalF['idetatintervention']=3;  //cloturee
  $res= $db->autoExecute("intervention",$intervalF,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 ".
$intervalF['idintervention']." de la table intervention [".$db->affectedRows()." enregistrement ajouté]" ;
  }
}

}// fin de classe
?>