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

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

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

revision 9414 by softime, Mon Jun 22 16:59:22 2020 UTC revision 9625 by softime, Fri Oct 23 16:23:23 2020 UTC
# Line 21  class task extends task_gen { Line 21  class task extends task_gen {
21          );          );
22      }      }
23    
24        public function setvalF($val = array()) {
25            parent::setvalF($val);
26            //
27            if (array_key_exists('timestamp_log', $val) === true) {
28                $this->valF['timestamp_log'] = str_replace("'", '"', $val['timestamp_log']);
29            }
30        }
31    
32        /**
33         *
34         * @return array
35         */
36        function get_var_sql_forminc__champs() {
37            return array(
38                "task",
39                "type",
40                "state",
41                "object_id",
42                "dossier",
43                "json_payload",
44                "timestamp_log",
45            );
46        }
47    
48        function setType(&$form, $maj) {
49            parent::setType($form, $maj);
50            // Récupération du mode de l'action
51            $crud = $this->get_action_crud($maj);
52    
53            if ($maj < 2) {
54                $form->setType("state", "select");
55                $form->setType("json_payload", "textarea");
56            }
57            if ($maj == 3){
58                $form->setType('dossier', 'link');
59                $form->setType('json_payload', 'jsonprettyprint');
60            }
61    
62        }
63    
64        /**
65         *
66         */
67        function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) {
68            if($maj < 2) {
69                $contenu=array();
70    
71                $contenu[0][0]="draft";
72                $contenu[1][0]=_('draft');
73                $contenu[0][1]="new";
74                $contenu[1][1]=_('new');
75                $contenu[0][2]="pending";
76                $contenu[1][2]=_('pending');
77                $contenu[0][3]="done";
78                $contenu[1][3]=_('done');
79                $contenu[0][4]="archived";
80                $contenu[1][4]=_('archived');
81                $contenu[0][5]="error";
82                $contenu[1][5]=_('error');
83                $contenu[0][6]="debug";
84                $contenu[1][6]=_('debug');
85    
86                $form->setSelect("state", $contenu);
87            }
88    
89            if ($maj == 3) {
90                $inst_dossier = $this->f->get_inst__om_dbform(array(
91                    "obj" => "dossier",
92                    "idx" => $form->val['dossier'],
93                ));
94                
95                if($form->val['type'] == "creation_DA"){
96                    $obj_link = 'dossier_autorisation';
97                } else {
98                    $obj_link = 'dossier_instruction';
99                }
100    
101                $params = array();
102                $params['obj'] = $obj_link;
103                $params['libelle'] = $inst_dossier->getVal('dossier');
104                $params['title'] = "Consulter le dossier";
105                $params['idx'] = $form->val['dossier'];
106                $form->setSelect("dossier", $params);
107            }
108        }
109    
110        /**
111         * SETTER_FORM - setVal (setVal).
112         *
113         * @return void
114         */
115        function setVal(&$form, $maj, $validation, &$dnu1 = null, $dnu2 = null) {
116            // parent::setVal($form, $maj, $validation);
117            //
118            $form->setVal('json_payload', $this->view_form_json(true));
119        }
120    
121        public function verifier($val = array(), &$dnu1 = null, $dnu2 = null) {
122            parent::verifier($val, $dnu1, $dnu2);
123            //
124            if (array_key_exists('timestamp_log', $this->valF) === true
125                && is_array(json_decode($this->valF['timestamp_log'], true)) === false) {
126                //
127                $this->correct = false;
128                $this->addToMessage(sprintf(
129                    __("Le champ %s doit être dans un format JSON valide."),
130                    sprintf('<span class="bold">%s</span>', $this->getLibFromField('timestamp_log'))
131                ));
132            }
133        }
134    
135      protected function task_exists(string $type, string $object_id) {      protected function task_exists(string $type, string $object_id) {
136          $query = sprintf('          $query = sprintf('
137              SELECT task              SELECT task
# Line 60  class task extends task_gen { Line 171  class task extends task_gen {
171              'timestamp_log' => $timestamp_log,              'timestamp_log' => $timestamp_log,
172              'state' => isset($params['val']['state']) === true ? $params['val']['state'] : 'new',              'state' => isset($params['val']['state']) === true ? $params['val']['state'] : 'new',
173              'object_id' => $params['val']['object_id'],              'object_id' => $params['val']['object_id'],
174                'dossier' => $params['val']['dossier'],
175                'json_payload' => '{}',
176          );          );
177          $task_exists = $this->task_exists($valF['type'], $valF['object_id']);          $task_exists = $this->task_exists($valF['type'], $valF['object_id']);
178            if ($valF['type'] === 'modification_DI' && $task_exists === false) {
179                $task_exists = $this->task_exists('creation_DI', $valF['object_id']);
180            }
181          if ($task_exists !== false) {          if ($task_exists !== false) {
182              $inst_task = $this->f->get_inst__om_dbform(array(              $inst_task = $this->f->get_inst__om_dbform(array(
183                  "obj" => "task",                  "obj" => "task",
# Line 112  class task extends task_gen { Line 228  class task extends task_gen {
228              'timestamp_log' => $timestamp_log,              'timestamp_log' => $timestamp_log,
229              'state' => $params['val']['state'],              'state' => $params['val']['state'],
230              'object_id' => $this->getVal('object_id'),              'object_id' => $this->getVal('object_id'),
231                'dossier' => $this->getVal('dossier'),
232          );          );
233          $update = $this->modifier($valF);          $update = $this->modifier($valF);
234          if ($update === false) {          if ($update === false) {
# Line 170  class task extends task_gen { Line 287  class task extends task_gen {
287                  *                  *
288              FROM %1$stask              FROM %1$stask
289              %2$s              %2$s
290                ORDER BY task ASC
291              ',              ',
292              DB_PREFIXE,              DB_PREFIXE,
293              $where              $where
# Line 181  class task extends task_gen { Line 299  class task extends task_gen {
299          $list_tasks = array();          $list_tasks = array();
300          foreach ($res['result'] as $task) {          foreach ($res['result'] as $task) {
301              $task['timestamp_log'] = json_decode($task['timestamp_log'], true);              $task['timestamp_log'] = json_decode($task['timestamp_log'], true);
302                $task['dossier'] = $task['object_id'];
303                if ($this->get_lien_objet_by_type($task['type']) === 'document_numerise') {
304                    $val_dn = $this->get_document_numerise_data($task['object_id']);
305                    $task['dossier'] = $val_dn['dossier'];
306                }
307              $list_tasks[$task['task']] = $task;              $list_tasks[$task['task']] = $task;
308          }          }
309          printf(json_encode($list_tasks));          printf(json_encode($list_tasks));
# Line 270  class task extends task_gen { Line 393  class task extends task_gen {
393          $particular_case = false;          $particular_case = false;
394          $fields_tab_crea_loc_hab = $inst_dt->get_fields_tab_crea_loc_hab();          $fields_tab_crea_loc_hab = $inst_dt->get_fields_tab_crea_loc_hab();
395          foreach ($fields_tab_crea_loc_hab as $field) {          foreach ($fields_tab_crea_loc_hab as $field) {
396              if (isset($field) === false              if (isset($val_dt[$field]) === false
397                  || (isset($field) === true                  || (isset($val_dt[$field]) === true
398                      && $field !== null                      && ($val_dt[$field] === null
399                      && $field !== '')) {                          || $val_dt[$field] === ''))) {
400                  //                  //
401                  $particular_case = true;                  $particular_case = true;
402              }              }
# Line 347  class task extends task_gen { Line 470  class task extends task_gen {
470              ));              ));
471              $val_demandeur[$demandeur['demandeur']] = $inst_demandeur->get_json_data();              $val_demandeur[$demandeur['demandeur']] = $inst_demandeur->get_json_data();
472              $val_demandeur[$demandeur['demandeur']]['petitionnaire_principal'] = $demandeur['petitionnaire_principal'];              $val_demandeur[$demandeur['demandeur']]['petitionnaire_principal'] = $demandeur['petitionnaire_principal'];
             // Valeur par défaut pour expériementation sequence 1  
             $val_demandeur[$demandeur['demandeur']]['commerciale'] = 'f';  
473          }          }
474          return $val_demandeur;          return $val_demandeur;
475      }      }
# Line 367  class task extends task_gen { Line 488  class task extends task_gen {
488          return $val_architecte;          return $val_architecte;
489      }      }
490    
491      protected function get_instruction_data(string $dossier) {      protected function get_instruction_data(string $dossier, $type = 'decision') {
492          $val_instruction = null;          $val_instruction = null;
493            $instruction_with_doc = null;
494          $inst_di = $this->f->get_inst__om_dbform(array(          $inst_di = $this->f->get_inst__om_dbform(array(
495              "obj" => "dossier",              "obj" => "dossier",
496              "idx" => $dossier,              "idx" => $dossier,
497          ));          ));
498            $idx = null;
499            if ($type === 'decision') {
500                $idx = $inst_di->get_last_instruction_decision();
501            }
502            if ($type === 'incompletude') {
503                $idx = $inst_di->get_last_instruction_incompletude();
504            }
505          $inst_instruction = $this->f->get_inst__om_dbform(array(          $inst_instruction = $this->f->get_inst__om_dbform(array(
506              "obj" => "instruction",              "obj" => "instruction",
507              "idx" => $inst_di->get_last_instruction_decision(),              "idx" => $idx,
508          ));          ));
509          if (count($inst_instruction->val) > 0) {          if (count($inst_instruction->val) > 0) {
510              $val_instruction[$inst_instruction->getVal($inst_instruction->clePrimaire)] = $inst_instruction->get_json_data();              $val_instruction = array();
511                $instruction_data = $inst_instruction->get_json_data();
512                $val_instruction = $this->sort_instruction_data($instruction_data, $val_instruction);
513                if ($instruction_data['om_fichier_instruction'] !== null
514                    && $instruction_data['om_fichier_instruction'] !== '') {
515                    //
516                    $instruction_with_doc = $inst_instruction->getVal($inst_instruction->clePrimaire);
517                }
518              $inst_ev = $this->f->get_inst__om_dbform(array(              $inst_ev = $this->f->get_inst__om_dbform(array(
519                  "obj" => "evenement",                  "obj" => "evenement",
520                  "idx" => $inst_instruction->getVal('evenement'),                  "idx" => $inst_instruction->getVal('evenement'),
# Line 386  class task extends task_gen { Line 522  class task extends task_gen {
522              if ($inst_ev->getVal('retour') === 't') {              if ($inst_ev->getVal('retour') === 't') {
523                  $instructions_related = $inst_instruction->get_related_instructions();                  $instructions_related = $inst_instruction->get_related_instructions();
524                  foreach ($instructions_related as $instruction) {                  foreach ($instructions_related as $instruction) {
525                      $inst_related_instruction = $this->f->get_inst__om_dbform(array(                      if ($instruction !== null && $instruction !== '') {
526                          "obj" => "instruction",                          $inst_related_instruction = $this->f->get_inst__om_dbform(array(
527                          "idx" => $instruction,                              "obj" => "instruction",
528                      ));                              "idx" => $instruction,
529                      $val_instruction[$instruction] = $inst_related_instruction->get_json_data();                          ));
530                            $instruction_data = $inst_related_instruction->get_json_data();
531                            $val_instruction = $this->sort_instruction_data($instruction_data, $val_instruction);
532                            if ($instruction_data['om_fichier_instruction'] !== null
533                                && $instruction_data['om_fichier_instruction'] !== '') {
534                                //
535                                $instruction_with_doc = $inst_related_instruction->getVal($inst_related_instruction->clePrimaire);
536                            }
537                        }
538                  }                  }
539              }              }
540                if ($instruction_with_doc !== null) {
541                    //
542                    $val_instruction['path'] = sprintf('%s&snippet=%s&obj=%s&champ=%s&id=%s', 'app/index.php?module=form', 'file', 'instruction', 'om_fichier_instruction', $instruction_with_doc);
543                }
544          }          }
545          return $val_instruction;          return $val_instruction;
546      }      }
547    
548        protected function sort_instruction_data(array $values, array $res) {
549            $fields = array(
550                "date_envoi_signature",
551                "date_retour_signature",
552                "date_envoi_rar",
553                "date_retour_rar",
554                "date_envoi_controle_legalite",
555                "date_retour_controle_legalite",
556                "signataire_arrete",
557                "om_fichier_instruction",
558                "tacite",
559                "lettretype",
560            );
561            foreach ($values as $key => $value) {
562                if (in_array($key, $fields) === true) {
563                    if (array_key_exists($key, $res) === false
564                        && $value !== null
565                        && $value !== '') {
566                        //
567                        $res[$key] = $value;
568                    } elseif ($key === 'tacite'
569                        && $value === 't') {
570                        //
571                        $res[$key] = $value;
572                    }
573                }
574            }
575            return $res;
576        }
577    
578      protected function get_document_numerise_data(string $dn) {      protected function get_document_numerise_data(string $dn) {
579          $val_dn = array();          $val_dn = array();
580          $inst_dn = $this->f->get_inst__om_dbform(array(          $inst_dn = $this->f->get_inst__om_dbform(array(
# Line 404  class task extends task_gen { Line 582  class task extends task_gen {
582              "idx" => $dn,              "idx" => $dn,
583          ));          ));
584          $val_dn = $inst_dn->get_json_data();          $val_dn = $inst_dn->get_json_data();
585          $val_dn['path'] = sprintf('%s/%s&snippet=%s&obj=%s&champ=%s&id=%s', $_SERVER['HTTP_HOST'], 'openads/app/index.php?module=form', 'file', 'document_numerise', 'uid', $this->getVal('object_id'));          $val_dn['path'] = sprintf('%s&snippet=%s&obj=%s&champ=%s&id=%s', 'app/index.php?module=form', 'file', 'document_numerise', 'uid', $this->getVal('object_id'));
586          // Correspond à la nomenclature Plat'AU NATURE_PIECE          // Correspond à la nomenclature Plat'AU NATURE_PIECE
587          $val_dn['nature'] = 'Initiale';          $val_dn['nature'] = $val_dn['document_numerise_nature_libelle'];
588          return $val_dn;          return $val_dn;
589      }      }
590    
# Line 429  class task extends task_gen { Line 607  class task extends task_gen {
607          return $val_dp;          return $val_dp;
608      }      }
609    
610      protected function view_form_json() {      protected function view_form_json($in_field = false) {
611          // Mise à jour des valeurs          // Mise à jour des valeurs
612          if ($this->f->get_submitted_post_value('valid') === 'true'          if ($this->f->get_submitted_post_value('valid') === 'true'
613              && $this->f->get_submitted_post_value('state') !== null) {              && $this->f->get_submitted_post_value('state') !== null) {
# Line 504  class task extends task_gen { Line 682  class task extends task_gen {
682              }              }
683              //              //
684              if ($this->getVal('type') === 'creation_DI'              if ($this->getVal('type') === 'creation_DI'
685                  || $this->getVal('type') === 'modification_DI') {                  || $this->getVal('type') === 'modification_DI'
686                    || $this->getVal('type') === 'depot_DI') {
687                  //                  //
688                  $val['dossier'] = $this->get_dossier_data($this->getVal('object_id'));                  $val['dossier'] = $this->get_dossier_data($this->getVal('object_id'));
689                  $val['donnees_techniques'] = $this->get_donnees_techniques_data($this->getVal('object_id'), 'dossier_instruction');                  $val['donnees_techniques'] = $this->get_donnees_techniques_data($this->getVal('object_id'), 'dossier_instruction');
# Line 544  class task extends task_gen { Line 723  class task extends task_gen {
723                  $val_external_uid['dossier'] = $this->get_external_uid($val['dossier']['dossier'], 'dossier');                  $val_external_uid['dossier'] = $this->get_external_uid($val['dossier']['dossier'], 'dossier');
724                  $val['external_uid'] = $val_external_uid;                  $val['external_uid'] = $val_external_uid;
725              }              }
726                //
727                if ($this->getVal('type') === 'incompletude_DI') {
728                    $val['dossier'] = $this->get_dossier_data($this->getVal('object_id'));
729                    $val['instruction'] = $this->get_instruction_data($val['dossier']['dossier'], 'incompletude');
730                    $val_external_uid = array();
731                    $val_external_uid['dossier_autorisation'] = $this->get_external_uid($val['dossier']['dossier_autorisation'], 'dossier_autorisation');
732                    $val_external_uid['dossier'] = $this->get_external_uid($val['dossier']['dossier'], 'dossier');
733                    $val['external_uid'] = $val_external_uid;
734                }
735                //
736                if ($this->getVal('type') === 'completude_DI') {
737                    $val['dossier'] = $this->get_dossier_data($this->getVal('object_id'));
738                    $val['instruction'] = $this->get_instruction_data($val['dossier']['dossier'], 'completude');
739                    $val_external_uid = array();
740                    $val_external_uid['dossier_autorisation'] = $this->get_external_uid($val['dossier']['dossier_autorisation'], 'dossier_autorisation');
741                    $val_external_uid['dossier'] = $this->get_external_uid($val['dossier']['dossier'], 'dossier');
742                    $val['external_uid'] = $val_external_uid;
743                }
744    
745              // Liste des valeurs affichée en JSON              if ($in_field === true) {
746              printf(json_encode($val));                  return json_encode($val, JSON_PRETTY_PRINT ,JSON_UNESCAPED_SLASHES);
747                } else {
748                    // Liste des valeurs affichée en JSON
749                    printf(json_encode($val, JSON_UNESCAPED_SLASHES));
750                }
751          }          }
752      }      }
753    
# Line 557  class task extends task_gen { Line 758  class task extends task_gen {
758              $objet = 'dossier_autorisation';              $objet = 'dossier_autorisation';
759          }          }
760          if ($type === 'creation_DI'          if ($type === 'creation_DI'
761                || $type === 'depot_DI'
762              || $type === 'modification_DI'              || $type === 'modification_DI'
763              || $type === 'qualification_DI'              || $type === 'qualification_DI'
764              || $type === 'decision_DI') {              || $type === 'decision_DI'
765                || $type === 'incompletude_DI'
766                || $type === 'completude_DI') {
767              //              //
768              $objet = 'dossier';              $objet = 'dossier';
769          }          }
# Line 568  class task extends task_gen { Line 772  class task extends task_gen {
772          }          }
773          return $objet;          return $objet;
774      }      }
775    
776        function setLayout(&$form, $maj) {
777            $form->setBloc('json_payload', 'D', '', 'col_6');
778                $form->setFieldset('json_payload', 'DF', _("json_payload"), "collapsible, startClosed");
779            $form->setBloc('json_payload', 'F');
780            $form->setBloc('timestamp_log', 'DF', '', 'col_9');
781        }
782    
783  }  }

Legend:
Removed from v.9414  
changed lines
  Added in v.9625

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26