/[openfoncier]/trunk/obj/instruction.class.php
ViewVC logotype

Diff of /trunk/obj/instruction.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 46 by fraynaud, Tue Aug 2 15:14:06 2011 UTC revision 208 by atreal, Tue Oct 18 07:38:52 2011 UTC
# Line 39  class instruction extends instruction_ge Line 39  class instruction extends instruction_ge
39          $this->valF['complement'] = $val['complement'];          $this->valF['complement'] = $val['complement'];
40          $this->valF['complement2'] = $val['complement2'];          $this->valF['complement2'] = $val['complement2'];
41          $this->valF['evenement'] = $val['evenement'];          $this->valF['evenement'] = $val['evenement'];
42            $this->valF['delai'] = $val['delai']; // necessaire pour maj datecourrier
43      }      }
44    
45    
46      function cleSecondaire($id,&$db,$val,$DEBUG) {      function cleSecondaire($id,&$db,$val,$DEBUG) {
47      // controle suppression cle secondaire [secondary key delete control]          parent::cleSecondaire($id,$db,$val,$DEBUG);
48      // ------------------------------------------------------------------------------------          // controle suppression cle secondaire [secondary key delete control]
49      // specifique detruire que le dernier   [specific instruction : delete the last event ]          // ------------------------------------------------------------------------------------
50      // ------------------------------------------------------------------------------------          // specifique detruire que le dernier   [specific instruction : delete the last event ]
51            // ------------------------------------------------------------------------------------
52          $dernierevenement='';          $dernierevenement='';
53          $sql="select max(instruction) from instruction where dossier ='".          $sql="select max(instruction) from instruction where dossier ='".
54          $this->idxformulaire."'";          $this->idxformulaire."'";
# Line 65  class instruction extends instruction_ge Line 67  class instruction extends instruction_ge
67          $this->correct=True;          $this->correct=True;
68          $imgv="";          $imgv="";
69          $f="&nbsp!    ";          $f="&nbsp!    ";
70          $imgv="<img src='../img/punaise.png' style='vertical-align:middle' hspace='2' border='0'>";          $imgv="<img src='../app/img/punaise.png' style='vertical-align:middle' hspace='2' border='0'>";
71          // obligatoire          // obligatoire
72          if ($this->valF['destinataire']==""){          if ($this->valF['destinataire']==""){
73             $this->correct=false;             $this->correct=false;
# Line 162  class instruction extends instruction_ge Line 164  class instruction extends instruction_ge
164          }else{ // modify          }else{ // modify
165              $form->setType('instruction', 'hiddenstatic');              $form->setType('instruction', 'hiddenstatic');
166              $form->setType('evenement', 'hiddenstatic');              $form->setType('evenement', 'hiddenstatic');
167              $form->setType('datecourrier', 'hiddenstaticdate');              //$form->setType('datecourrier', 'hiddenstaticdate');
168                $form->setType('datecourrier', 'date2');
169                // necessaire pour calcul de date en modification
170                $form->setType('delai', 'hiddenstatic');
171          }          }
172      }else{ // supprimer  [delete]      }else{ // supprimer  [delete]
173          $form->setType('instruction', 'hiddenstatic');          $form->setType('instruction', 'hiddenstatic');
# Line 207  class instruction extends instruction_ge Line 212  class instruction extends instruction_ge
212              // recherche des evenement de transition              // recherche des evenement de transition
213              $sql= $sql_transition." where transition.etat ='".$etat_dossier."' and (evenement.nature ='".              $sql= $sql_transition." where transition.etat ='".$etat_dossier."' and (evenement.nature ='".
214                    $nature_dossier."' or (nature ='T' and nature !='CU')) order by evenement.action";                    $nature_dossier."' or (nature ='T' and nature !='CU')) order by evenement.action";
215              //$sql= $sql_transition." where (evenement.nature ='".              // *** attention en dur le CU
             //      $nature_dossier."' or (nature ='T' and nature !='CU')) order by evenement.action";  
216                            
217    
218              $res = $db->query($sql);              $res = $db->query($sql);
# Line 257  class instruction extends instruction_ge Line 261  class instruction extends instruction_ge
261          $form->setRegroupe('libelle','G','');          $form->setRegroupe('libelle','G','');
262          $form->setRegroupe('datecourrier','G','');          $form->setRegroupe('datecourrier','G','');
263          $form->setRegroupe('lettretype','F','');          $form->setRegroupe('lettretype','F','');
264          $form->setRegroupe('complement','D',_('complement'), "startClosed");          $form->setRegroupe('complement','D',_('complement'), "collapsible");
265          $form->setRegroupe('bible_auto','G','');          $form->setRegroupe('bible_auto','G','');
266          $form->setRegroupe('bible','F','');          $form->setRegroupe('bible','F','');
267          $form->setRegroupe('complement2','D',_('complement2'), "startClosed");          $form->setRegroupe('complement2','D',_('complement2'), "startClosed");
# Line 286  class instruction extends instruction_ge Line 290  class instruction extends instruction_ge
290          // [modify instruction with evenement]          // [modify instruction with evenement]
291          $sql= "select * from evenement where evenement =".$this->valF['evenement'];          $sql= "select * from evenement where evenement =".$this->valF['evenement'];
292          $res = $db->query($sql);          $res = $db->query($sql);
293          if (database::isError($res))          if (database::isError($res)) die($res->getMessage());
             die($res->getMessage());  
294          if ($DEBUG == 1)          if ($DEBUG == 1)
295              echo " la requete ".$sql." est exécutée<br>";              echo " la requete ".$sql." est exécutée<br>";
296          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
# Line 338  class instruction extends instruction_ge Line 341  class instruction extends instruction_ge
341          }          }
342      }      }
343            
344        function regle($regle){
345            $temp = explode ("+",$regle);
346            //echo '|'.$regle;
347            // cas rejet
348            if($regle=="null") // 1 dimension -> null
349                return null;
350            if(sizeof($temp)==1) // 1 dimension
351                if($temp[0]=="archive_date_depot") // initialisation avec le depot
352                    return $this->$regle;
353                else // cas general
354                    return $this->valF[$regle];
355            if(sizeof($temp)==2){ // 2 dimensions
356                if($temp[0]=="archive_date_depot") //initialisation avec le depot
357                    if(is_numeric($temp[1]))
358                        return  $this->moisdate($this->$temp[0], $temp[1]);  
359                    else
360                        return  $this->moisdate($this->$temp[0], $this->valF[$temp[1]]);
361                if($temp[0]=="archive_delai") // majoration de delai
362                    return  $this->valF[$temp[0]]+$this->valF[$temp[1]];
363                // cas general 2 dimensions
364                if(is_numeric($temp[1]))
365                    return $this->moisdate($this->valF[$temp[0]], $temp[1]);
366                else              
367                   return  $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]);
368            }
369            if(sizeof($temp)==3){ // 3 dimensions
370                // cas date de validite de sursis
371                if(is_numeric($temp[1]))
372                    $temp1 = $this->moisdate($this->valF[$temp[0]], $temp[1]);
373                else              
374                    $temp1 = $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]);
375                if(is_numeric($temp[2]))
376                    return $this->moisdate($temp1, $temp[2]);
377                else
378                    return $this->moisdate($temp1, $this->valF[$temp[2]]);
379            }
380        }
381        
382        
383        
384      // ==================================================================      // ==================================================================
385      // valeur dossier  apres modification   [values dossier after action]      // valeur dossier  apres modification   [values dossier after action]
386      // ==================================================================      // ==================================================================
387      function triggerajouterapres($id,&$db,$val,$DEBUG) {      function triggerajouterapres($id,&$db,$val,$DEBUG) {
388            // mise a null au lieu de "" / voir compatibilite mysql
389            // voir parametrage CU en dur
390            // voir parametrage des actions en dur
391            $param=1;
392            if($param==1){
393            $sql="select * from action where action = '".$this->valF['action']."'";
394            $res = $db->query($sql);
395            if (database::isError($res))
396                die($res->getMessage());
397            while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
398                if($row['regle_etat']!=''){
399                    $valF['etat']= $this->regle($row['regle_etat']);
400                }
401                if($row['regle_delai']!=''){
402                    $valF['delai']= $this->regle($row['regle_delai']);
403                }
404                if($row['regle_accord_tacite']!=''){
405                    $valF['accord_tacite']= $this->regle($row['regle_accord_tacite']);
406                }
407                if($row['regle_avis']!=''){
408                    $valF['avis']= $this->regle($row['regle_avis']);
409                }
410                if($row['regle_date_limite']!=''){
411                    $valF['date_limite']= $this->regle($row['regle_date_limite']);
412                }
413                if($row['regle_date_complet']!=''){
414                    $valF['date_complet']= $this->regle($row['regle_date_complet']);
415                }
416                if($row['regle_date_notification_delai']!=''){
417                    $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']);
418                }
419                if($row['regle_date_decision']!=''){
420                    $valF['date_decision']= $this->regle($row['regle_date_decision']);
421                }
422                if($row['regle_date_rejet']!=''){
423                    $valF['date_rejet']= $this->regle($row['regle_date_rejet']);
424                }
425               if($row['regle_date_validite']!=''){
426                    $valF['date_validite']= $this->regle($row['regle_date_validite']);
427                }
428               if($row['regle_date_chantier']!=''){
429                    $valF['date_chantier']= $this->regle($row['regle_date_chantier']);
430                }
431               if($row['regle_date_achevement']!=''){
432                    $valF['date_achevement']= $this->regle($row['regle_date_achevement']);
433                }
434               if($row['regle_date_conformite']!=''){
435                    $valF['date_conformite']= $this->regle($row['regle_date_conformite']);
436                }
437            }
438            }else{
439          switch ($this->valF['action']) {          switch ($this->valF['action']) {
440          case "initialisation" :          case "initialisation" :
441              $valF['delai']= $this->valF['delai'];              $valF['delai']= $this->valF['delai'];
442              $valF['etat']= $this->valF['etat'];              $valF['etat']= $this->valF['etat'];
443              $valF['accord_tacite']= $this->valF['accord_tacite'];              $valF['accord_tacite']= $this->valF['accord_tacite'];
444              // la date_complet est la date de depot              // la date_complet est la date de depot
445              $valF['date_complet']= $this->archive_date_depot;              $valF['date_complet']= $this->archive_date_depot; // ****
446              $valF['date_limite'] =  $this->moisdate($valF['date_complet'],$valF['delai']);              $valF['date_limite'] =  $this->moisdate($valF['date_complet'],$valF['delai']);
447              $valF['date_notification_delai'] =  $this->moisdate($valF['date_complet'],1);              $valF['date_notification_delai'] =  $this->moisdate($valF['date_complet'],1);
448              break;              break;
# Line 383  class instruction extends instruction_ge Line 477  class instruction extends instruction_ge
477              // la date rejet est initialisee              // la date rejet est initialisee
478              $valF['date_rejet']= $this->valF['datecourrier'];              $valF['date_rejet']= $this->valF['datecourrier'];
479              // les dates de depart et fin d instruction sont annulées              // les dates de depart et fin d instruction sont annulées
480              $valF['date_limite'] ="";              $valF['date_limite'] =null;
481              $valF['date_notification_delai'] ="";              $valF['date_notification_delai'] =null;
482              $valF['date_complet']="";              $valF['date_complet']=null;
483              break;              break;
484          case "majoration" :          case "majoration" :
485              $valF['delai']= $this->valF['archive_delai']+$this->valF['delai'];              $valF['delai']= $this->valF['archive_delai']+$this->valF['delai'];
# Line 424  class instruction extends instruction_ge Line 518  class instruction extends instruction_ge
518              $valF['date_decision']= $this->valF['datecourrier'];              $valF['date_decision']= $this->valF['datecourrier'];
519              $temp = $valF['date_limite'];              $temp = $valF['date_limite'];
520              $valF['date_validite']= $this->moisdate($temp,2);              $valF['date_validite']= $this->moisdate($temp,2);
             echo  $valF['date_limite']."vvv" ;  
521              break;              break;
522          case "execution" :          case "execution" :
523              $valF['etat']= $this->valF['etat'];              $valF['etat']= $this->valF['etat'];
524              $valF['date_chantier'] =  $this->valF['datecourrier'];              $valF['date_chantier'] =  $this->valF['datecourrier'];
525              echo $this->msg=$this->msg.$valF['date_chantier']."***";              //echo $this->msg=$this->msg.$valF['date_chantier']."";
526              break;              break;
527          case "achevement" :          case "achevement" :
528              $valF['etat']= $this->valF['etat'];              $valF['etat']= $this->valF['etat'];
# Line 439  class instruction extends instruction_ge Line 532  class instruction extends instruction_ge
532              $valF['etat']= $this->valF['etat'];              $valF['etat']= $this->valF['etat'];
533              $valF['date_conformite'] = $this->valF['datecourrier'];              $valF['date_conformite'] = $this->valF['datecourrier'];
534              break;              break;
535          /*  
536            case "abandon" :          default:
             $valF['etat']= $this->valF['etat'];  
                break;  
         */  
        default:  
537          if ($this->valF['etat']!="")          if ($this->valF['etat']!="")
538             $valF['etat']= $this->valF['etat'];             $valF['etat']= $this->valF['etat'];
539          }// end switch          }// end switch
540                } // end param
541          // mise à jour dossier [modify dossier]          // mise à jour dossier [modify dossier]
542            //if($param==1){ // parametrage en table
543            //    echo "<br>";
544            //    print_r($valF);
545            //}
546          if($valF!=""){          if($valF!=""){
547              $cle= " dossier = '".$this->valF['dossier']."'";              $cle= " dossier = '".$this->valF['dossier']."'";
548              $res1= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);              $res1= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
# Line 463  class instruction extends instruction_ge Line 556  class instruction extends instruction_ge
556              " "._('mis_a_jour')."]" ;              " "._('mis_a_jour')."]" ;
557          }          }
558      }      }
559    
560        function triggermodifierapres($id,&$db,$val,$DEBUG) {
561            /*
562             * cette fonction apour objet de permettre de modifier la date courrier
563            */
564            $valF=array();
565            $sql= "select action from evenement where evenement =".$this->valF['evenement'];
566            $action = $db->getOne($sql);
567            if (database::isError($action)) die($action->getMessage().$sql);
568            $sql="select * from action where action = '".$action."'";
569            $res = $db->query($sql);
570            if (database::isError($res)) die($res->getMessage().$sql);
571            while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
572                // application des regles sur le courrier + delai
573                if(preg_match("/datecourrier/",$row['regle_date_limite'])){
574                    $valF['date_limite']= $this->regle($row['regle_date_limite']);
575                }
576                if(preg_match("/datecourrier/",$row['regle_date_complet'])){
577                    $valF['date_complet']= $this->regle($row['regle_date_complet']);
578                }
579                if(preg_match("/datecourrier/",$row['regle_date_notification_delai'])){
580                    $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']);
581                }
582                if(preg_match("/datecourrier/",$row['regle_date_decision'])){
583                    $valF['date_decision']= $this->regle($row['regle_date_decision']);
584                }
585                if(preg_match("/datecourrier/",$row['regle_date_rejet'])){
586                    $valF['date_rejet']= $this->regle($row['regle_date_rejet']);
587                }
588                if(preg_match("/datecourrier/",$row['regle_date_validite'])){
589                    $valF['date_validite']= $this->regle($row['regle_date_validite']);
590                }
591                if(preg_match("/datecourrier/",$row['regle_date_chantier'])){
592                    $valF['date_chantier']= $this->regle($row['regle_date_chantier']);
593                }
594                if(preg_match("/datecourrier/",$row['regle_date_achevement'])){
595                    $valF['date_achevement']= $this->regle($row['regle_date_achevement']);
596                }
597                if(preg_match("/datecourrier/",$row['regle_date_conformite'])){
598                    $valF['date_conformite']= $this->regle($row['regle_date_conformite']);
599                }
600            } // while
601            if($valF!=array()){
602                $cle= " dossier = '".$this->valF['dossier']."'";
603                $res1= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
604                if (database::isError($res1))
605                    die($res->getMessage());
606                if ($DEBUG == 1)
607                  echo "La requête de mise à jour est effectuée.<br>";
608                $this->msg=$this->msg."<br>"._('enregistrement')." ".
609                $this->valF['dossier']." "._('table')." dossier [".
610                $db->affectedRows()." "._('enregistrement').
611                " "._('mis_a_jour')."]" ;
612            }
613        }
614    
615    
616            
617      // trigger before delete      // trigger before delete
618      function triggersupprimer($id,&$db,$val,$DEBUG) {      function triggersupprimer($id,&$db,$val,$DEBUG) {
# Line 470  class instruction extends instruction_ge Line 620  class instruction extends instruction_ge
620          $valF['delai']=$val['archive_delai'];          $valF['delai']=$val['archive_delai'];
621          $valF['accord_tacite']=$val['archive_accord_tacite'];          $valF['accord_tacite']=$val['archive_accord_tacite'];
622          $valF['etat']=$val['archive_etat'];          $valF['etat']=$val['archive_etat'];
623          $valF['avis']=$val['archive_avis'];          if($val['archive_avis']=='')
624                $valF['avis']= null;
625            else
626                $valF['avis']=$val['archive_avis'];
627          // if= compatibilite pgsql          // if= compatibilite pgsql
628          if($val['archive_date_complet']!='')          if($val['archive_date_complet']!='')
629              $valF['date_complet']=$val['archive_date_complet'];              $valF['date_complet']=$val['archive_date_complet'];
# Line 490  class instruction extends instruction_ge Line 643  class instruction extends instruction_ge
643              $valF['date_chantier']= $val['archive_date_chantier'];              $valF['date_chantier']= $val['archive_date_chantier'];
644          if($val['archive_date_conformite']!='')          if($val['archive_date_conformite']!='')
645              $valF['date_conformite']= $val['archive_date_conformite'];              $valF['date_conformite']= $val['archive_date_conformite'];
646            
647          $cle= " dossier = '".$val['dossier']."'";          $cle= " dossier = '".$val['dossier']."'";
648          $res= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);          $res= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
649          if (database::isError($res))          if (database::isError($res))
# Line 551  class instruction extends instruction_ge Line 705  class instruction extends instruction_ge
705      }      }
706    
707  }// fin classe  }// fin classe
 ?>  
708    ?>

Legend:
Removed from v.46  
changed lines
  Added in v.208

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26