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."'"; |
67 |
$this->correct=True; |
$this->correct=True; |
68 |
$imgv=""; |
$imgv=""; |
69 |
$f=" ! "; |
$f=" ! "; |
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; |
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'); |
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); |
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"); |
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)){ |
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; |
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']; |
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']; |
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); |
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) { |
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']; |
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)) |
705 |
} |
} |
706 |
|
|
707 |
}// fin classe |
}// fin classe |
|
?> |
|
708 |
|
?> |