public function agregaExcepcion($index) { $detComp = explode(",", $this->excepciones[$index]["e_row_referencia" . $index]); $detallesComprobacion = array_pop($detComp); for ($i = 0; $i < count($detallesComprobacion); $i++) { if ($detallesComprobacion[$i] == "") { $detallesComprobacion[$i] = "0"; } Add_excepcion($this->excepciones[$index]["e_row_mensaje" . $index], $this->excepciones[$index]["e_row_diferencia" . $index], 0, $this->comprobacion["comprobacion"], $detallesComprobacion[$i], $this->excepciones[$index]["e_row_concepto" . $index], 0, 0); } }
function generaExcepcion($idTramite, $presupuesto) { $presupuesto = json_decode($presupuesto); if ($presupuesto->excedePresupuesto) { $solicitud = 0; $comprobacion = 0; $total = 0; $tramites = new Tramite(); $tramites->Load_Tramite($idTramite); $flujoTramite = $tramites->Get_dato('t_flujo'); switch ($flujoTramite) { case FLUJO_SOLICITUD: $tipoTramite = "Solicitud de Viaje"; $query = sprintf("SELECT sv_id AS idSolicitud FROM solicitud_viaje WHERE sv_tramite = %s", $idTramite); $rst = parent::consultar($query); $solicitud = mysql_result($rst, 0, "idSolicitud"); break; case FLUJO_SOLICITUD_GASTOS: $tipoTramite = "Solicitud de Gastos"; $query = sprintf("SELECT sg_id AS idSolicitud FROM solicitud_gastos WHERE sg_tramite = %s", $idTramite); $rst = parent::consultar($query); $solicitud = mysql_result($rst, 0, "idSolicitud"); break; case FLUJO_COMPROBACION: $tipoTramite = "Comprobación de Viaje"; $query = sprintf("SELECT co_id AS idComprobacion FROM comprobaciones WHERE co_mi_tramite = %s", $idTramite); $rst = parent::consultar($query); $comprobacion = mysql_result($rst, 0, "idComprobacion"); break; case FLUJO_COMPROBACION_GASTOS: $tipoTramite = "Comprobación de Gastos"; $query = sprintf("SELECT co_id AS idComprobacion FROM comprobacion_gastos WHERE co_mi_tramite = %s", $idTramite); $rst = parent::consultar($query); $comprobacion = mysql_result($rst, 0, "idComprobacion"); break; } $diferencia = abs($presupuesto->diferenciaPresupuesto); $mensaje = sprintf("La %s <strong>%05s</strong> ha excedido el presupuesto.", $tipoTramite, $idTramite); Add_excepcion($mensaje, $diferencia, $solicitud, $comprobacion, 0, 0, 0, 0, 1); } }
} } // Limpiar Excepciones $cnn = new conexion(); $query = sprintf("DELETE excepciones FROM excepciones WHERE ex_solicitud = %s", $idSolicitud); $cnn->ejecutar($query); if (!isset($_REQUEST['guardarprevSol'])) { // Guardado de las Excepciones for ($j = 1; $j <= $_POST['totalExcepciones']; $j++) { $e_concepto = $_POST['e_row_concepto' . $j]; $e_mensaje = $_POST['e_row_mensaje' . $j]; $e_fecha = $_POST['e_row_fecha' . $j]; $e_referencia = 0; $e_totalPartida = $_POST['e_row_totalPartida' . $j]; $e_diferencia = $_POST['e_row_diferencia' . $j]; Add_excepcion($e_mensaje, $e_diferencia, $idSolicitud, 0, $e_referencia, $e_concepto, 0, 0); } $rutaAutorizacion = new RutaAutorizacion(); /** * Validacion y guardado de excepcion de presupuesto **/ $rutaAutorizadores = $rutaAutorizacion->generarRutaAutorizacion($idTramite, $_SESSION['idrepresentante']); // Obtener Autorizador $aprobador = $rutaAutorizacion->getSiguienteAprobador($idTramite, $iniciador); // Creamos el texto de las observaciones que serán enviadas if ($observaciones != '') { $observaciones = $notificacion->anotaObservacion($iniciador, $historialObservaciones, $observaciones, FLUJO_SOLICITUD_GASTOS, SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, $_SESSION['idrepresentante']); } else { $observaciones = ''; } // Actualizar las observaciones de la solicitud de gastos
/** * Funcion para ingresar la excepcion a nivel detalle */ function ingresarExcepcionDetalle($conceptoId, $excepcion, $diferencia, $detalleComprobacionId, $comprobacionId) { $concepto = new Concepto(); if ($excepcion != "") { if ($conceptoId == $concepto->GetIdAlimentos()) { Add_excepcion($excepcion, $diferencia, '0', $comprobacionId, $detalleComprobacionId); } else { if ($conceptoId == $concepto->GetIdHotel()) { Add_excepcion($excepcion, $diferencia, '0', $comprobacionId, $detalleComprobacionId); } else { if ($conceptoId == $concepto->GetIdLavanderia()) { Add_excepcion($excepcion, $diferencia, '0', $comprobacionId, $detalleComprobacionId); } } } } }
$IDitinerario = $idItinerario; $idConcepto_detalle = $CViaje->add_conceptos_detalle($IDitinerario, $idTramite, $tramite->truncate($MontoU, 2), $DivisaU, $MontoTotalU, $MontoTotalMxnU, $DiasConceptoU, $IDconcepto); $conceptoItinerarioId = $CViaje->add_concepto_itinerario($IDconcepto, $idConcepto_detalle, $IDitinerario); $conceptoItinerarioId2[] = $conceptoItinerarioId; } } } if ($_POST["totalExcepciones"] != "") { $exceptions = explode(",", $_POST["totalExcepciones"]); foreach ($exceptions as $exc) { $_POST["itinerarios_cbx" . $exc]; $mensaje = $_POST["e_row_mensaje" . $exc]; $diferencia = $_POST["e_row_diferencia" . $exc]; $concepto = $_POST["e_row_concepto" . $exc]; $conceptoItinerarioID = $conceptoItinerarioId2[$exc - 1]; Add_excepcion($mensaje, $diferencia, $idSolViaje, 0, 0, $concepto, $conceptoItinerarioID, 0); } } if ($tramite->Get_dato('t_etapa_actual') == SOLICITUD_ETAPA_RECHAZADA || $tramite->Get_dato('t_etapa_actual') == SOLICITUD_ETAPA_RECHAZADA_POR_DIRECTOR || $tramite->Get_dato('t_autorizaciones_historial') != "") { $HObser = $_POST['historial_obser']; } else { $HObser = ""; } if (!isset($_POST['guardarprevComp'])) { //reestablecemos los valores de avion si es que la solicitud esta en etapa rechazada if ($tramite->Get_dato('t_etapa_actual') == SOLICITUD_ETAPA_RECHAZADA || $tramite->Get_dato('t_etapa_actual') == SOLICITUD_ETAPA_RECHAZADA_POR_DIRECTOR) { $query_Avion = "UPDATE sv_itinerario SET\n\t \t\tsvi_aerolinea = '" . $svi_aerolinea . "',\n\t \t\tsvi_monto_vuelo = '" . $svi_monto_vuelo . "',\n\t \t\tsvi_iva = '" . $svi_iva . "',\n\t \t\tsvi_tua = '" . $svi_tua . "',\n\t \t\tsvi_monto_vuelo_total = '" . $svi_monto_vuelo_total . "',\n\t \t\tsvi_fecha_salida_avion = '" . $fecha_salida . "',\n\t \t\tsvi_fecha_regreso_avion = '" . $fecha_llegada . "',\n\t \t\tsvi_tipo_aerolinea = '" . $svi_tipo_aerolinea . "',\n\t \t\tsvi_monto_vuelo_cotizacion = '" . $svi_monto_vuelo_cotizacion . "'\n\t \t\tWHERE svi_solicitud = '{$idSolViaje}'"; $cnn->ejecutar($query_Avion); } if (isset($_POST['autorizar_cotizacion'])) { $iniciador = $tramite->Get_dato("t_iniciador");