Conjunto 84b0fd1 en sipes


Ignorar:
Fecha y hora:
08/02/2017 15:38:22 (hace 7 años)
Autor:
Cenditel <root@…>
Branches:
version-3.0
Children:
8cfc4df
Parents:
0207ec1
Mensaje:

se agrego la estructura que permite trabajar el seguimiento del proyecto por periodos

Fichero:
1 editado

Leyenda

No modificado
Añadido
Eliminado
  • 0.3-modules/proyectos_operativos_seguimiento/includes/proyecto/seguimiento_proyecto.pages.inc

    r303fae2 r84b0fd1  
    3636 
    3737  drupal_set_title(t('Seguimiento y Control de Proyecto Operativo'));
    38  
     38  $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node);
     39  if (_proyecto_seguimiento_mes_mover_estado_access($node, $mes_fase_seg, $message = true));
     40
    3941  $output = '';
    4042  $output .= '<br>';
     
    5456 */
    5557function _mostrar_datos_proyecto($node) {
     58  $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node);
     59  $seguimiento_proyecto = _seguimiento_mesactual_proyecto_load($node, $mes_fase_seg);
     60  $state_name = t("Por ingresar");
     61  if (workflow_get_state_name($seguimiento_proyecto['segmes']['estado'])) {
     62    $state_name = workflow_get_state_name($seguimiento_proyecto['segmes']['estado']);
     63  }
     64//print_r($seguimiento_proyecto);
     65
     66
    5667  $output = '';
    57  
    58   $output .= '<fieldset><legend>Datos del Proyecto Operativo</legend>';
    59   $output .= '<b>Codigo del Proyecto:</b> '.$node->field_proyecto_codigo[0]['value'].'<br>';
    60   $output .= '<b>Nombre del Proyecto:</b> '.$node->titulo_asignado.'<br>';
     68  $opciones = array(t('SI'), t('NO'));
     69  $node_type = content_types('proyectos_operativos');
     70  $fields = $node_type['fields'];
     71  $output .= '<fieldset><legend>' . t('Datos del Proyecto Operativo') . '</legend>';
     72  $output .= '<b>' . $fields['field_proyecto_codigo']['widget']['label'] . ':</b> '.$node->field_proyecto_codigo[0]['value'].'<br>';
     73  $output .= '<b>' . t('Nombre del Proyecto') . ':</b> '.$node->titulo_asignado.'<br>';
     74  $acumulativo = $opciones[$node->es_acumulativo] ? $opciones[$node->es_acumulativo] : 'N/D';
     75  $output .= '<b>' . t('Es acumulativo: ') . '</b> '. $acumulativo . '<br>';
     76  $output .= '<b>' . t('Estado del Seguimiento: ') . '</b>' . $state_name . '<br>';
    6177  $id_field1 = 'field_proyecto_fecha_i';
    6278  $fecha = explode(' ', $node->{$id_field1}[0]['value']);
    63   $output .= '<b>Fecha de Inicio:</b> '.$fecha[0].'<br>';
     79  $fecha = explode('-', $fecha[0]);
     80  $output .= '<b>' . $fields[$id_field1]['widget']['label'] . ':</b> '.$fecha[2] . '/' . $fecha[1] . '/' . $fecha[0].'<br>';
    6481  $id_field1 = 'field_proyecto_fecha_f';
    6582  $fecha = explode(' ', $node->{$id_field1}[0]['value']);
    66   $output .= '<b>Fecha Fin:</b> ' . $fecha[0] . '<br>';
    67   $term = taxonomy_get_term($node->field_proyecto_pndes[0]['value']);
    68   $output .= '<b>Estrategia MCTI:</b> '.$term->name.'<br>';
    69   $output .= '<b>Objetivo PNDES:</b> '.'<br>';
    70   $output .= '<b>Estrategia PNDES:</b> '.'<br>';
    71   $output .= '<b>Politica PNDES:</b> '.'<br>';
     83  $fecha = explode('-', $fecha[0]);
     84  $output .= '<b>' . $fields[$id_field1]['widget']['label'] . ':</b> '.$fecha[2] . '/' . $fecha[1] . '/' . $fecha[0].'<br>';
     85  if (variable_get('proyectos_operativos_muestra_mcti', TRUE)) {
     86    $term = taxonomy_get_term($node->field_proyecto_mcti[0]['value']);
     87    $output .= '<b>' . $fields['field_proyecto_mcti']['widget']['label'] . ':</b> '.$term->name.'<br>';
     88  }
     89  if (variable_get('proyectos_operativos_muestra_pndes', TRUE)) {
     90    //$term = taxonomy_get_term($node->field_proyecto_pndes[0]['value']);
     91    $PP = array_reverse(taxonomy_get_parents_all($node->field_proyecto_pndes[0]['value']));
     92    //$PP = explode('.', $term->name);
     93    if (isset($PP[0])) {
     94      $output .= '<b>' . t('Objetivo Histórico') . ':</b> '. $PP[0]->name . ' - ' . $PP[0]->description . '<br>';
     95    }
     96    if (isset($PP[1])) {
     97      $output .= '<b>' . t('Objetivo Nacional') . ':</b> '. $PP[1]->name . ' - ' . $PP[1]->description . '<br>';
     98    }
     99    if (isset($PP[2])) {
     100      $output .= '<b>' . t('Objetivo Estratégico') . ':</b> '. $PP[2]->name . ' - ' . $PP[2]->description . '<br>';
     101    }
     102    if (isset($PP[3])) {
     103      $output .= '<b>' . t('Objetivo General') . ':</b> '. $PP[3]->name . ' - ' . $PP[3]->description . '<br>';
     104    }
     105  }
    72106  $output .= '</fieldset>';
    73107 
     
    81115function _mostrar_indicadores_metafisica_seg_proyecto($node) {
    82116  $output = '';
    83   $meses = array(
    84     0 => t('January'),
    85     1 => t('February'),
    86     2 => t('March'),
    87     3 => t('April'),
    88     4 => t('May'),
    89     5 => t('June'),
    90     6 => t('July'),
    91     7 => t('August'),
    92     8 => t('September'),
    93     9 => t('Octuber'),
    94     10 => t('November'),
    95     11 => t('December'),
    96   );
     117  $years = variable_get('accion_especifica_de_proyecto_seguimiento_anho_seguimiento', 0);
     118  $mess = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0) - 1;
     119  $meses = json_decode(MESES);
    97120  $format_number = array(
    98121    'decimals' => variable_get('proyectos_operativos_number_decimals', 0),
     
    100123    'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'),
    101124  );
    102   //tabla de indicadores financieros de la accion especifica
     125  //tabla de indicadores financieros de la accion especific
     126  $seg_metafisica_todos = _seguimiento_metafisica_todosmes_proyecto_load($node);
    103127  $tablas = array();
    104128 
    105129  $header = array();
    106130  $header[] = array('data' => t('Mes'));
    107   $header[] = array('data' => t('Planificado')); 
    108   $header[] = array('data' => t('Ejecutado')); 
     131  $header[] = array('data' => t('Planificado'));
     132  $header[] = array('data' => t('Ejecutado'));
    109133  $header[] = array('data' => t('% de Logro'));
    110134  $header[] = array('data' => t('Estatus de Ejecución'));
    111135  $header[] = array('data' => t('Información Complementaria'));
    112136  $header[] = array('data' => t('Opciones Disponibles'),);
    113  
    114   $seg_metafisica_todos = _seguimiento_metafisica_todosmes_proyecto_load($node);
    115137   
    116138  $rows = array();
    117   for($i=0; $i<12; $i++){
    118    
     139  $acumulativo = TRUE;
     140  for($i=0; $i<12; $i++) {
    119141    //calcular variacion por reformulacion
    120142    $variacion_planificado_mes = _seguimiento_mesactual_metafisica_proyecto_reformulaciones_load($node, $i);
    121      
    122143    $planificadoMes = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['planificadoMes'] + $variacion_planificado_mes;
    123144    $Ejecutado = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['ejecutadoMes'];
     
    138159      $row[] = array('data' => $textozona, 'style' => 'font-weight: bold;background:' . $colorzona . '; color:' . $colorfontzona);
    139160      $row[] = array('data' => $infocomplementaria_metafisica,);
    140            
    141       if(($node->_workflow == $estado_aprobado && _mes_habilitado_para_seguimiento($i))&&(_periodo_de_seguimiento_proyecto_y_aes_esta_activo())){
     161
     162      $seguimiento_proyecto = _seguimiento_mesactual_proyecto_load($node, $i);
     163      if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)){
     164
     165        $title = ' ' . t('Agregar');
     166        if ($seguimiento_proyecto['segmes']['estado']) {
     167          $title = ' ' . t('Modificar');
     168        }
     169
    142170        $links = array();
    143         $links[] = '<b>'.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_proyecto/mes/' . $i . '/edit').'</b>';
     171        $links[] = '<b>'.l( $title, 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . $i . '/edit/comentario_metafisica').'</b>';
    144172        $row[] = array('data' => theme('item_list', $links),);
    145173      }else{
     
    159187  $AcumuladoEjecutado = $seg_metafisica_todos['acum']['acumuladoEjecutado'];
    160188  $row = array();
    161   $row[] = array('data' => t('Acumulado'),);
     189
     190  if (is_numeric($node->es_acumulativo) && !$node->es_acumulativo) {
     191    $row[] = array('data' => t('Acumulado'),);
     192  }
     193
    162194  $row[] = array('data' => number_format($acumuladoPlanificado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);
    163   $row[] = array('data' => number_format($AcumuladoEjecutado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total ejecutado
     195
     196  if (is_numeric($node->es_acumulativo) && !$node->es_acumulativo) {
     197    $row[] = array('data' => number_format($AcumuladoEjecutado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total ejecutado
     198  }
     199
    164200  $row[] = array('data' => '', 'colspan' => 4);
    165201  $rows[] = $row;
     
    188224  $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL);
    189225  $seguimiento_todos_meses_financiero = _seguimiento_financiero_todosmes_proyecto_load($node);
    190  
     226  $years = variable_get('accion_especifica_de_proyecto_seguimiento_anho_seguimiento', 0);
    191227  $meses = array(
    192228    0 => t('January'),
     
    252288      $row[] = array('data' => $infocomplementaria_financiera,);
    253289      $links = array();
    254       if(($node->_workflow == $estado_aprobado && _mes_habilitado_para_seguimiento($mes))&&(_periodo_de_seguimiento_proyecto_y_aes_esta_activo())){
    255         $links[] = '<b>'.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_proyecto/mes/' . $mes . '/edit').'</b>';
     290      if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $mes)){
     291        $title = ' ' . t('Modificar');
     292        if (!_proyecto_seguimiento_mes_mover_estado_access($node, $mes)) {
     293          $transiciones = _obtener_transiciones_disponibles_proyecto($node, $mes);
     294          if (!count($transiciones['transic']) && $transiciones['estado_actual']<0){
     295            $title = ' ' . t('Agregar');
     296            $sn++;
     297          }
     298        }
     299        $links[] = '<b>'.l(t($title), 'proyectosop/' . $node->nid . '/seguimiento/proyecto/' . ($mes) . '/edit/comentario_informacionfinanciera').'</b>';
    256300      }
    257301      $row[] = array('data' => theme('item_list', $links),);
     
    322366  $header[] = array('data' => t('NOV'));
    323367  $header[] = array('data' => t('DIC'));
    324   $header[] = array('data' => t('TOTAL'),);
    325  
    326  
     368  $header[] = array('data' => t('TOTAL'),);   
    327369  $rows = array();
    328370  foreach($seguimiento_todos_meses_beneficiario as $seg_benef){
     
    343385         
    344386  if (count($tablas)) {
    345     $output .= '<fieldset><legend>Beneficiarios del Proyecto (Durante la Ejecución)</legend>' . implode('', $tablas);
     387    $output .= '<fieldset><legend>' . t('Beneficiarios del Proyecto (Durante la Ejecución)') . '</legend>' . implode('', $tablas);
    346388    $output .= '</fieldset>';
    347389  }
     
    356398
    357399  drupal_set_title(t('Seguimiento y Control del Proyecto y sus Acciones Específicas'));
    358  
     400 /*
    359401  $output = '';
    360402  $output .= '<br>';
    361403 
    362404  //acciones especificas
    363   $output .= '<h4>Acciones Específicas</h4>';
     405  $output .= '<h4>' . t('Acciones Específicas') . '</h4>';
    364406  $header = array();
    365407  $header[] = array('data' => t('Nombre de la Acción Específica'));
     
    374416      $links = array();
    375417      $row[] = array('data' => $accion_esp_load->titulo_asignado,);
    376       $links[] = '<b>'.l(t('Seguimiento de la AE'), 'node/' . $accion_esp_load->nid . '/seguimiento_aeproyecto').'</b>';
     418      $links[] = '<b>'.l(t('Seguimiento de la AE'), 'proyectosop/' . $node->nid . '/seguimiento/ae/' . $accion_esp_load->nid . '/view') . '</b>';
    377419      $row[] = array('data' => theme('item_list', $links),);
    378420      $rows[] = $row;
     
    383425 
    384426  //proyecto
    385   $output .= '<h4>Proyecto Operativo</h4>';
     427  $output .= '<h4>' . t('Proyecto Operativo') . '</h4>';
    386428  $header = array();
    387429  $header[] = array('data' => t('Nombre del Proyecto'));
     
    393435  $links = array();
    394436  $row[] = array('data' => $node->titulo_asignado,);
    395   $links[] = '<b>'.l(t('Seguimiento del Proyecto'), 'node/' . $node->nid . '/seguimiento_proyecto').'</b>';
     437  $links[] = '<b>'.l(t('Seguimiento del Proyecto'), 'proyectosop/' . $node->nid . '/seguimiento/proyecto').'</b>';
    396438  $row[] = array('data' => theme('item_list', $links),);
    397439  $rows[] = $row;
    398440 
    399441  $output .= theme('table', $header, $rows);
    400  
     442*/
    401443 
    402444  //$nodo_proyecto = node_load($proyecto->nid);
    403   if(_proyectooperativo_esta_aprobado($node)){
    404    
    405     $meses = array(
    406       0 => t('January'),
    407       1 => t('February'),
    408       2 => t('March'),
    409       3 => t('April'),
    410       4 => t('May'),
    411       5 => t('June'),
    412       6 => t('July'),
    413       7 => t('August'),
    414       8 => t('September'),
    415       9 => t('Octuber'),
    416       10 => t('November'),
    417       11 => t('December'),
    418     );
    419    
     445  if (_proyectooperativo_esta_aprobado($node)) {
     446
     447  $output .= '<br>' . t('Estimado(a) Usuario(a), para ingresar el <b>Seguimiento del Proyecto Operativo</b> debe <i>ingresar primero</i> los <b>Seguimiento de las Acciones Específicas</b> del mismo, los cuales se muestran a continuación.<br>');
     448
    420449    $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node);
    421     $enlace_fase_seg = '<b>'.l(t('Fase de Seguimiento ').'('.$meses[$mes_fase_seg].')', 'node/' . $node->nid."/fase_de_seguimiento_proyecto_y_aes/mes/".$mes_fase_seg).'</b>';
    422     $output .= '<br><br>';
    423     $output .= 'También puede consultar la <i>fase de seguimiento</i> del mes actual para este proyecto operativo a través del siguiente enlace '.$enlace_fase_seg.'.';
    424     $output .= '<br>';
     450    $transiciones_dispo = _obtener_transiciones_disponibles($form['#node'], $form['#mes']);
     451
     452    $seguimiento_proyecto = _seguimiento_mesactual_proyecto_load($node, $mes_fase_seg);
     453    $state_name = t("Por ingresar");
     454    if (workflow_get_state_name($seguimiento_proyecto['segmes']['estado'])) {
     455      $state_name = workflow_get_state_name($seguimiento_proyecto['segmes']['estado']);
     456    }
     457    $output .= '<h4>' . t('Estado del Seguimiento: ') . $state_name . '</h4><hr>';
     458    $meses = json_decode(MESES);
     459    $cnt = variable_get('seguimiento_proyectos_cantidad_meses_seguimiento', 0);
     460    $mes_seguimiento_proyecto_y_aes = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0);
     461    //proyectosop/%proyectosop/seguimiento/proyecto_aes
     462    if ($mes_seguimiento_proyecto_y_aes < ($mes_fase_seg+1)) {
     463      $output = t('No se puede realizar el seguimiento, Estara disponible a partir de @mes, fecha de inicio del proyecto.', array('@mes' => $meses[$mes_fase_seg]));
     464      $output .= '<br>';
     465      return '<br><div class="messages warning">' . $output . '</div>';
     466    }
     467    else {
     468      $output .= '<div style="background: #eee; padding: 10px; margin: -10px;"><h4><b>' . t('Acciones Especificas:', array('@mes' => $meses[$i])) . '</b>';
     469      foreach($node->field_proyecto_accion_esp as $accion) {
     470        $k++;
     471        $accion_nid = (object) $accion;
     472        $accion = node_load($accion_nid->nid);
     473        $output .= "<h3> $k-) " . $accion->field_accion_titulo[0]['value'] . "</h3>";
     474        $output .= "<ul>";
     475
     476        for ($i=$mes_fase_seg; $i<=$cnt; $i++) {
     477          if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)) {
     478            $title = ' Modificar';
     479            if (!_proyecto_seguimiento_mes_mover_estado_access($accion, $i)) {
     480              $transiciones = _obtener_transiciones_disponibles($accion, $i);
     481              if (!count($transiciones['transic']) && $transiciones['estado_actual']<0) {
     482                $title =  ' Agregar';
     483                $sn++;
     484              }
     485            }
     486            $enlace_fase_seg = '<b>' . l(t('Fase de Seguimiento del mes de @mes', array('@mes' => $meses[$i])), 'proyectosop/' . $node->nid. "/seguimiento/ae/$accion_nid->nid/$i/edit") . '</b>';
     487            $output .= '<li>' . t("$title la ") . ' ' . $enlace_fase_seg . '</li>';
     488          }
     489
     490        }
     491        $output .= '</ul>';
     492        if (!_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)) {
     493          $enlace_fase_seg = '<b>'.l(t('Fase de Seguimiento'), 'proyectosop/' . $node->nid. "/seguimiento/ae/$accion_nid->nid/view") . '</b>';
     494          $output .= t("Consultar el resumen de la ") . ' ' . $enlace_fase_seg;
     495        }
     496      }
     497      $output .= '<b>' . l(t('Consultar el Resumen General de las Acciones Especificas', array('@mes' => $meses[$i])), 'proyectosop/' . $node->nid. "/seguimiento/ae") . '</b></div>';
     498
     499      $output .= '<h4>' . t('Proyecto:') . '</h4>';
     500      $output .= '<h3>' . $node->field_proyecto_titulo[0]['value'] . '</h3>';
     501      $output .= t("Consultar ") . '<b>' . l(t('el resumen general del proyecto y reportar el seguimiento.'), 'proyectosop/' . $node->nid. "/seguimiento/proyecto") . '</b>';
     502      if (_proyecto_seguimiento_mes_mover_estado_access($node, $mes_fase_seg, true)) {
     503        $output .= '<br><b>'.l(t('Enviar el Seguimiento'), 'proyectosop/' . $node->nid. "/seguimiento/workflow") . '.</b> (' . t("Haga Click Para reportar el seguimiento del proyecto") . ')<br>';
     504      }
     505      $output .= '<ul>';
     506      for ($i=$mes_fase_seg; $i<=$cnt; $i++) {
     507        if (_proyecto_operativo_seguimiento_modificar_mes_access($node, $i)) {
     508          if ($transiciones_dispo = _obtener_transiciones_disponibles_proyecto($node, $i)) {
     509            $title = t(' Modificar');
     510            if (!count($transiciones_dispo['transic'])  && $transiciones_dispo['estado_actual']<0) {
     511               $title = t(' Agregar');
     512            }
     513             $output .= '<li>'. $title . '<b>' . l(t(" el Seguimiento y Control de Proyecto Operativo de @mes", array('@mes' => $meses[$i])), 'proyectosop/' . $node->nid. "/seguimiento/proyecto/$i/edit/full") . '</b></li>';
     514          }
     515        }
     516      }
     517      $output .= '</ul>';
     518
     519    }
    425520  }
    426521
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.