/[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 14541 by softime, Thu Feb 16 22:52:47 2023 UTC revision 14542 by softime, Thu Apr 20 13:21:47 2023 UTC
# Line 62  class task extends task_gen { Line 62  class task extends task_gen {
62      );      );
63    
64      /**      /**
65         * Liste des types de tâche pouvant avoir des documents associés
66         */
67        const TASK_WITH_DOCUMENT = array(
68            'add_piece',
69            'avis_consultation',
70            'pec_metier_consultation'
71        );
72    
73        /**
74       * Catégorie de la tâche       * Catégorie de la tâche
75       */       */
76      var $category = PLATAU;      var $category = PLATAU;
# Line 1128  class task extends task_gen { Line 1137  class task extends task_gen {
1137          // Si la tâche est de type ajout_piece et de stream input alors on ajoute le fichier          // Si la tâche est de type ajout_piece et de stream input alors on ajoute le fichier
1138          // et on ajoute l'uid dans le champ json_payload avant l'ajout de la tâche          // et on ajoute l'uid dans le champ json_payload avant l'ajout de la tâche
1139          if (isset($params['val']['type'])          if (isset($params['val']['type'])
1140              && ($params['val']['type'] == "add_piece" || $params['val']['type'] == "avis_consultation")              && in_array($params['val']['type'], self::TASK_WITH_DOCUMENT)
1141              && isset($params['val']['stream'])              && isset($params['val']['stream'])
1142              && $params['val']['stream'] == "input" ) {              && $params['val']['stream'] == "input" ) {
1143              //              //
# Line 1205  class task extends task_gen { Line 1214  class task extends task_gen {
1214              $search_values_specifics = array(              $search_values_specifics = array(
1215                  sprintf('object_id = \'%s\'', $valF['object_id']),                  sprintf('object_id = \'%s\'', $valF['object_id']),
1216              );              );
1217    
1218                // Recherche multi-critères sur les tâches
1219                // Si l'object id/dossier à des tâches de type $valF['type'] qui lui est associé
1220                // Et que ces tâches ont des statut différents de canceled et done
1221                // Alors on récupère ces tâches
1222                // Sinon return false
1223              $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_others));              $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_others));
1224    
1225                // S'il n'existe pas de tâche de type 'modification DI' pour l'object id/dossier
1226              if ($valF['type'] === 'modification_DI' && $task_exists === false) {              if ($valF['type'] === 'modification_DI' && $task_exists === false) {
1227                    // On se réfère à la tâche de type 'creation DI' de l'object id
1228                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'creation_DI'")));                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'creation_DI'")));
1229              }              }
1230                // S'il n'existe pas de tâche de type 'modification DA' pour l'object id/dossier
1231              if ($valF['type'] === 'modification_DA' && $task_exists === false) {              if ($valF['type'] === 'modification_DA' && $task_exists === false) {
1232                    // On se réfère à la tâche de type 'creation DA' de l'object id
1233                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'creation_DA'")));                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'creation_DA'")));
1234              }              }
1235              if ($valF['type'] === 'ajout_piece') {              if ($valF['type'] === 'ajout_piece') {
1236                    // On se réfère à la tâche de type 'ajout piece' de l'object id
1237                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'ajout_piece'")));                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'ajout_piece'")));
1238              }              }
1239              if ($valF['type'] === 'creation_consultation') {              if ($valF['type'] === 'creation_consultation') {
1240                    // On se réfère à la tâche de type 'creation consultation' de l'object id
1241                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'creation_consultation'")));                  $task_exists = $this->task_exists_multi_search(array_merge($search_values_common, $search_values_specifics, array("type = 'creation_consultation'")));
1242              }              }
1243              // En cas de l'existance d'une tâches pour l'objet concerné, pas d'ajout de nouvelle              // S'il existe une tâche pour l'objet concerné, pas d'ajout de nouvelle
1244              // tâche mais mise à jour de l'existante              // tâche mais mise à jour de l'existante
1245              if ($task_exists !== false) {              if ($task_exists !== false) {
1246                  // Plusieurs tâches pourraient exister, elles sont contôler par ordre croissant                  // Plusieurs tâches pourraient exister, elles sont contôler par ordre croissant
# Line 1232  class task extends task_gen { Line 1254  class task extends task_gen {
1254                          $update_state = $params['update_val']['state'];                          $update_state = $params['update_val']['state'];
1255                      }                      }
1256                      $object_id = $inst_task->getVal('object_id');                      $object_id = $inst_task->getVal('object_id');
1257                      if ($valF['object_id'] !== '') {                      if (!empty($valF['object_id'])) {
1258                          $object_id = $valF['object_id'];                          $object_id = $valF['object_id'];
1259                      }                      }
1260                      // Pour être mise à jour, la tâche existante ne doit pas être en cours de traitement                      // Pour être mise à jour, la tâche existante ne doit pas être en cours de traitement
# Line 1514  class task extends task_gen { Line 1536  class task extends task_gen {
1536              if (isset($val_dt['tax_ext_pret']) === true              if (isset($val_dt['tax_ext_pret']) === true
1537                  && $val_dt['tax_ext_pret'] === 'f') {                  && $val_dt['tax_ext_pret'] === 'f') {
1538                  //                  //
1539                  $val_dt['tax_su_princ_surf1'] = $val_dt['tax_surf_tot_cstr'];                  $val_dt['tax_su_princ_surf1'] = isset($val_dt['tax_surf_tot_cstr']) === true ? $val_dt['tax_surf_tot_cstr'] : '';
1540                  $val_dt['tax_su_princ_surf_stat1'] = $val_dt['tax_surf_loc_stat'];                  $val_dt['tax_su_princ_surf_stat1'] = isset($val_dt['tax_surf_loc_stat']) === true ? $val_dt['tax_surf_loc_stat'] : '';
1541              }              }
1542              if (isset($val_dt['tax_ext_pret']) === true              if (isset($val_dt['tax_ext_pret']) === true
1543                  && $val_dt['tax_ext_pret'] === 't') {                  && $val_dt['tax_ext_pret'] === 't') {
# Line 1524  class task extends task_gen { Line 1546  class task extends task_gen {
1546                      if (preg_match('/[pP].*[lL].*[aA].*[iI]/', $val_dt['tax_ext_desc']) === 1                      if (preg_match('/[pP].*[lL].*[aA].*[iI]/', $val_dt['tax_ext_desc']) === 1
1547                          || preg_match('/[lL].*[lL].*[tT].*[sS]/', $val_dt['tax_ext_desc']) === 1) {                          || preg_match('/[lL].*[lL].*[tT].*[sS]/', $val_dt['tax_ext_desc']) === 1) {
1548                          //                          //
1549                          $val_dt['tax_su_princ_surf2'] = $val_dt['tax_surf_tot_cstr'];                          $val_dt['tax_su_princ_surf2'] = isset($val_dt['tax_surf_tot_cstr']) === true ? $val_dt['tax_surf_tot_cstr'] : '';
1550                          $val_dt['tax_su_princ_surf_stat2'] = $val_dt['tax_surf_loc_stat'];                          $val_dt['tax_su_princ_surf_stat2'] = isset($val_dt['tax_surf_loc_stat']) === true ? $val_dt['tax_surf_loc_stat'] : '';
1551                      }                      }
1552                      // if (preg_match('/[pP].*[tT].*[zZ]/', $val_dt['tax_ext_desc']) === 1) {                      // if (preg_match('/[pP].*[tT].*[zZ]/', $val_dt['tax_ext_desc']) === 1) {
1553                      //     $val_dt['tax_su_princ_surf4'] = $val_dt['tax_surf_tot_cstr'];                      //     $val_dt['tax_su_princ_surf4'] = $val_dt['tax_surf_tot_cstr'];
# Line 2450  class task extends task_gen { Line 2472  class task extends task_gen {
2472          )) === true) {          )) === true) {
2473              $tables = array('instruction', );              $tables = array('instruction', );
2474          }          }
2475            if (in_array($type, array('envoi_CL', )) === true) {
2476                $objects = array('instruction', );
2477            }
2478          if (in_array($type, array('pec_metier_consultation', )) === true          if (in_array($type, array('pec_metier_consultation', )) === true
2479              && $stream === 'output') {              && $stream === 'output') {
2480              $tables = array('instruction', );              $tables = array('instruction', );
# Line 2511  class task extends task_gen { Line 2536  class task extends task_gen {
2536       */       */
2537      protected function does_referenced_object_exist($taskObjectId, string $taskType, string $taskStream = 'output') {      protected function does_referenced_object_exist($taskObjectId, string $taskType, string $taskStream = 'output') {
2538          $refTables = $this->get_tables_by_task_type($taskType, $taskStream);          $refTables = $this->get_tables_by_task_type($taskType, $taskStream);
2539            if (empty($refTables) === true) {
2540                $this->f->addToLog(
2541                    sprintf(
2542                        __("Impossible de vérifier si l'objet de référence existe, car le type de task '%s' n'a pas de correspondance avec une table dans la méthode %s."),
2543                        $taskType,
2544                        "get_tables_by_task_type()"
2545                    ),
2546                    DEBUG_MODE
2547                );
2548                return true;
2549            }
2550          foreach ($refTables as $table) {          foreach ($refTables as $table) {
2551              $inst = $this->f->get_inst__om_dbform(array(              $inst = $this->f->get_inst__om_dbform(array(
2552                  'obj' => $table,                  'obj' => $table,

Legend:
Removed from v.14541  
changed lines
  Added in v.14542

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26