public function validaDelegado($user, $delegado, $empresa, $etapa, $flujo, $motivo) { $tramite = new Tramite(); $existeDelegado = $this->existenciaDelegado($user, $delegado); if ($existeDelegado) { $etapaTramite = $this->obtenerEtapaDelegados($flujo); $tramiteId = $tramite->Crea_Tramite($user, $empresa, $etapaTramite, $flujo, $motivo, $delegado); } else { $tramiteId = $tramite->Crea_Tramite($iduser, $empresa, $etapa, $flujo, $motivo, $delegado); } return $tramiteId; }
$idempresa = $_POST['empresa']; $motivoComprobacion = $_POST['motive']; // Datos de la Solicitud $refacturar = $_POST['Cecos_refacturado'] == 1 ? "1" : "0"; $idSolicitud = $_POST["sol_select"]; $cnn = new conexion(); $Vsql = "SELECT * FROM solicitud_viaje WHERE sv_tramite = {$idSolicitud}"; $Res_Vsql = $cnn->consultar($Vsql); $IdSolc = mysql_result($Res_Vsql, 0, "sv_id"); $MontoSolc = mysql_result($Res_Vsql, 0, "sv_anticipo"); $centroCosto = mysql_result($Res_Vsql, 0, "sv_ceco_paga"); // Registra nuevo tramite $tramite = new Tramite(); mysql_query("BEGIN"); if ($actualizacion_comp == 0) { $idTramite = $tramite->Crea_Tramite($iduser, COMPROBACION_ETAPA_SOLICITUD, FLUJO_COMPROBACION, $motivoComprobacion); } if ($idTramite == 0) { mysql_query("ROLLBACK"); header("Location: ./index.php?errorsave"); die; } $orden_estadistica = isset($_POST['orden_estadistica']) != "" ? intval($_POST['orden_estadistica']) : 0; if ($idSolicitud > 0) { // Agrega nueva comprobacion if ($actualizacion_comp == 1) { $idComprobacion = updateComprobacion($idTramite, $t_Anticipo_Comprobado, $t_Anticipo_Amex, $mnt_Reembolso, $mnt_Descuento, $total_anticipo, $idSolicitud, $refacturar, $observ, $orden_estadistica); limpiar_detalles($idComprobacion); } else { $idComprobacion = Add_new_comprobacion($t_Anticipo_Comprobado, $t_Anticipo_Amex, $mnt_Reembolso, $mnt_Descuento, $total_anticipo, $idTramite, $idSolicitud, $refacturar, $observ, $orden_estadistica); }
$idSolicitud = $_POST["sol_select"]; $cnn = new conexion(); $Vsql = "SELECT * FROM solicitud_viaje WHERE sv_tramite = {$idSolicitud}"; $Res_Vsql = $cnn->consultar($Vsql); $IdSolc = mysql_result($Res_Vsql, 0, "sv_id"); $MontoSolc = mysql_result($Res_Vsql, 0, "sv_anticipo"); $centroCosto = mysql_result($Res_Vsql, 0, "sv_ceco_paga"); // Busca aprobador para la solicitud en caso que sea necesario $Usu = new Usuario(); $fecha = date("Y-m-d"); $ruta_autorizadores = $Usu->buscaAprobadorParaComprobacion($centroCosto, $tTotal, $total_anticipo, $fecha); $aprobador = $ruta_autorizadores[0]; // Registra nuevo tramite $tramite = new Tramite(); $tramite->insertar("BEGIN WORK"); $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, COMPROBACION_ETAPA_COMPROBACION, FLUJO_COMPROBACION, $cMotive); // Agrega nueva comprobacion $idComprobacion = Add_new($idTramite, $idSolicitud, $tAmnt, $tIVA, $tTotal, $montoexc, $motivoComprobacion, $centroCosto, 1, $CreditCard, $refacturar, $observ, $MontoSolc); // Guarda los detalles de la comprobacion $totalComprobado = 0; $status_c = 1; for ($i = 1; $i <= $_POST['rowCount']; $i++) { //Partidas $cNo = $_POST['row' . $i]; $cDate = $_POST['fecha' . $i]; $cCargo = ""; $cConc = $_POST['concepto' . $i]; $cRef = $_POST['referencia' . $i]; $cProv = $_POST['proveedor' . $i]; $cP_RFC = $_POST['rfc' . $i]; $cAmt = $_POST['mnt' . $i];
if ($t_etapa == 4 || $t_etapa == 6 || $t_autorizaciones_historial != "") { $HObser = $_POST['historial_observaciones']; } else { $HObser = ""; } // Agregamos el nombre del usuario al campo de Observaciones if ($observaciones_solicitud != "") { $observaciones_solicitud = $notificacion->anotaObservacion($delegado, $HObser, $observaciones_solicitud, FLUJO_SOLICITUD_INVITACION, SOLICITUD_INVITACION_ETAPA_APROBACION); } else { $observaciones_solicitud = $HObser; } limpiar_invitados($idTramite); $invitacionID = $Solicitud_invitacion->Edit_invitacion($motivo, $no_invitados, $monto_solicitud, $monto_pesos_solicitud, $divisa_solicitud_final, $cecos_solicitud, $ciudad_solicitud, $observaciones_solicitud, "", $fechainvit, $inv_lugar, $inv_hubo_exedente, $idTramite); } else { // Registra nuevo tramite $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, SOLICITUD_INVITACION_ETAPA_EN_APROBACION_POR_DIRECTOR, FLUJO_SOLICITUD_INVITACION, $motivo, $delegado); // Agregamos el nombre del usuario al campo de Observaciones if ($observaciones_solicitud != "") { $HObser = ""; $observaciones_solicitud = $notificacion->anotaObservacion($delegado, $HObser, $observaciones_solicitud, FLUJO_SOLICITUD_INVITACION, SOLICITUD_INVITACION_ETAPA_APROBACION); } else { $observaciones_solicitud = $HObser; } $invitacionID = $Solicitud_invitacion->Add_invitacion($motivo, $no_invitados, $monto_solicitud, $monto_pesos_solicitud, $divisa_solicitud_final, $cecos_solicitud, $idTramite, $ciudad_solicitud, $observaciones_solicitud, "", $fechainvit, $inv_lugar, $inv_hubo_exedente); } //Inserción del solicitante for ($i = 1; $i <= $_POST['rowCount']; $i++) { $sNombre = $_POST['nombre' . $i]; $sPuesto = $_POST['puesto' . $i]; $sTipo = $_POST['tipo' . $i]; $sEmpresa = $_POST['empresa' . $i];
$numempleado = $_POST['ne']; $idempresa = $_POST["empresa"]; $Empleado = new Usuario(); $Empleado->Load_Usuario_By_No_Empleado($numempleado); $CreditCard = ""; $motivoComprobacion = $_POST["motive"]; $cMotive = "Comprobacion de Caja Chica"; // Datos del aprobador $Usu = new Usuario(); $fecha = date('Y-m-d'); $ruta_autorizadores = $Usu->buscaAprobadorParaComprobacion($cat_cecos_cargado, $tTotal, 0, $fecha); $aprobador = $ruta_autorizadores[0]; // Registra nuevo tramite $tramite = new Tramite(); $tramite->insertar("BEGIN WORK"); $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, COMPROBACION_CAJA_CHICA_ETAPA_COMPROBACION_CAJA_CHICA, FLUJO_REEMBOLSO_CAJA_CHICA, $cMotive); // OJO: El tipo de comprobacion 3 es de caja chica $idSolicitud = -1; $refacturar = ""; $idComprobacion = Add_new($idTramite, $idSolicitud, $tAmnt, $tIVA, $tTotal, $montoexc, $motivoComprobacion, $cat_cecos_cargado, 3, $CreditCard, $refacturar, $sObser, 0); $status_c = 1; for ($i = 1; $i <= $_POST['rowCount']; $i++) { //Partidas $cNo = $_POST['row' . $i]; $cDate = $_POST['fecha' . $i]; $cCargo = ""; $cConc = $_POST['concepto' . $i]; $cRef = $_POST['referencia' . $i]; $cProv = $_POST['proveedor' . $i]; $cP_RFC = $_POST['rfc' . $i]; $cAmt = $_POST['mnt' . $i];
$FechaMySQL = fecha_to_mysql($sFecha); //objeto creado (services/C_SV.php) $CViaje = new C_SV(); //Datos del empleado $iduser = $_POST["idusuario"]; $numempleado = $_POST["empleado"]; $idempresa = $_POST["empresa"]; $cnn = new conexion(); // Buscamos quien debe aprobar esta solicitud $Us = new Usuario(); $Us->Load_Usuario_By_No_Empleado($numempleado); $aprobador = $Us->buscaAgenciaViajesParaSolicitud($cat_cecos_cargado); // Registra nuevo tramite $tramite = new Tramite(); $tramite->insertar("BEGIN WORK"); $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, ANTICIPO_AMEX_ETAPA_SOLICITUD, FLUJO_AMEX, $motivo); // Registramos la solicitud Amex $amexID = $CViaje->Add_amex($TotalDias, $sObser, $motivo, $cat_cecos_cargado, $cat_cecos_beneficiado, $FechaMySQL, $idTramite); if ($amexID <= 0) { $CViaje->insertar("ROLL BACK"); echo "Error al Registrar el Viaje"; exit; } // Registra los conceptos if (isset($_POST['rowCountConceptos']) && $_POST['rowCountConceptos'] != "") { for ($i = 1; $i <= $_POST['rowCountConceptos']; $i++) { $concepto = $_POST['Concepto' . $i]; $CViaje->add_conceptos_detalle($concepto, $idTramite, 0); } } // Registra las partidas del itinerario
$tipoUsuario = $_POST['tipo_tarjeta_usuario']; $iduser = $_POST["idusuario"]; $sMotivo = $_POST['motive']; $tipoPasaje = $_POST['select_tipo_viaje_pasaje']; $sObser = $_POST['observ']; /*$query = "SELECT cc_id FROM cecos JOIN empleado WHERE cc_id = idcentrocosto AND idfwk_usuario = '".$iduser."'"; $rst2 = $cnn->consultar($query); $filaa = @mysql_fetch_assoc($rst2); $sCat_cecos_original = $filaa['cc_id']; */ $sCat_cecos = $_POST['cat_cecos_cargado_id']; //$sCat_cecos_cambiado = ($sCat_cecos_original!=$sCat_cecos) ? 1 : 0;*/ $Us = new Usuario(); $ruta_autorizadores = $Us->buscaAprobadorParaSolicitud($iduser, FLUJO_SOLICITUD); $string_ruta_autorizacion = "0" . "|" . $ruta_autorizadores[0] . "|" . $ruta_autorizadores[1]; $tramite = new Tramite(); $idTramite = $tramite->Crea_Tramite($iduser, SOLICITUD_ETAPA_SOLICITUD, FLUJO_SOLICITUD, $sMotivo); if ($sObser != "") { $query = "INSERT INTO observaciones(ob_id,ob_texto,ob_fecha,ob_tramite,ob_usuario)\n\t\t\t\t\t\t\tVALUES(default,'{$sObser}',now(),'{$idTramite}','{$iduser}')"; $ob_id = $cnn->insertar($query); } else { $ob_id = 0; } switch ($tipoPasaje) { case 1: $tipoPasaje = "Solo Ida"; break; case 2: $tipoPasaje = "Ida y Vuelta"; break; case 3: $tipoPasaje = "Multidestino";
$HObser = $_POST['historial_observaciones']; } else { $HObser = ""; } // Agregamos el nombre del usuario al campo de Observaciones if ($observ != "") { $notificacion = new Notificacion(); $observ = $notificacion->anotaObservacion($delegado, $HObser, $observ, FLUJO_COMPROBACION_INVITACION, COMPROBACION_INVITACION_ETAPA_EN_APROBACION_POR_DIRECTOR); } else { $observ = $HObser; } $idComprobacion = $comprobacion->edita_Comprobacion_Invitacion2($t_Total_Comprobacion, $Sol_Invitacion, $co_subtotal, $co_iva, $centroCosto, $cMotive, $cTipo_id, $observ, "", $tot_invitados, $invitacionLug, $fecha_inv, $excedente, $co_ciudad, $co_amex_comprobado, $co_efectivo_comprobado, $idTramite); limpiar_detalles($idComprobacion); limpiar_invitados($idTramite); } else { $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, COMPROBACION_INVITACION_ETAPA_EN_APROBACION_POR_DIRECTOR, FLUJO_COMPROBACION_INVITACION, $cMotive, $delegado); $idComprobacion = $comprobacion->Crea_Comprobacion_Invitacion2($t_Total_Comprobacion, $Sol_Invitacion, $co_subtotal, $co_iva, $idTramite, $centroCosto, $cMotive, $cTipo_id, $observ, "", $tot_invitados, $invitacionLug, $fecha_inv, $excedente, $co_ciudad, $co_amex_comprobado, $co_efectivo_comprobado); } if (isset($_POST['tipo']) && $_POST['tipo'] == "amex") { $t_Anticipo_Amex = $_POST['t_amex_comprobado']; $t_Total_Comprobacion = $_POST['t_comprobado']; if ($_POST['select_tarjeta_cargo'] != 0) { $cCargo_asociado_amex = $_POST['select_tarjeta_cargo']; $cnn3 = new conexion(); $id_cargo_amex_anterior = $_POST['select_tarjeta_cargo']; $query3 = sprintf("UPDATE amex SET estatus = '1', comprobacion_id = '%s' WHERE idamex = '%s'", $idComprobacion, $cCargo_asociado_amex); //error_log($query3); $rst3 = $cnn3->ejecutar($query3); } else { $cCargo_asociado_amex = 0; }
$tramite->ejecutar("BEGIN"); // Verificar las observaciones anotadas anteriormente if ($_POST['tramiteId'] != 0) { $solicitud->cargaGastoporTramite($_POST['tramiteId']); $historialObservaciones = $solicitud->Get_dato('sg_observaciones'); } // Verificamos si contamos con un ID de Tramite entonces solo realizaremos actualizaciones, de lo contrario realizaremos las inserciones de los datos. if ($_POST['tramiteId'] != 0) { $idTramite = $_POST['tramiteId']; // Actualizar los datos del tramite $tramite->actualizarInfoTramite($idTramite, $motivo, $_SESSION['idrepresentante']); // Actualizamos la Solicitud de Gastos $solicitud->Edita_Gasto($motivo, $montoSolicitado, $totalPesos, $divisa, $ceco, $ciudad, $historialObservaciones, $observaciones, $fechaGasto, $lugarGasto, $req_anticipo, $concepto, $idTramite); } else { // Creamos el tramite $idTramite = $tramite->Crea_Tramite($iniciador, $empresa, SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, FLUJO_SOLICITUD_GASTOS, $motivo, $_SESSION['idrepresentante']); if ($idTramite == 0 || $idTramite == null) { header("Location: ./index.php?docs=docs&type=2&errsave"); } // Creamos la Solicitud de Gastos $solicitudGastos = $solicitud->Crea_Gasto($motivo, $montoSolicitado, $totalPesos, $divisa, $ceco, $idTramite, $ciudad, '', $observaciones, $fechaGasto, $lugarGasto, $req_anticipo, $concepto); if ($solicitudGastos == 0 || $solicitudGastos == null) { header("Location: ./index.php?docs=docs&type=2&errsave"); } } $tramite->Load_Tramite($idTramite); // Boraremos los invitados previamente cargados para evitar la inconsistencia de los datos $solicitud->cargaGastoporTramite($idTramite); $idSolicitud = $solicitud->Get_dato('sg_id'); $comensales->Eliminar_Comensal_de_Solicitud($idSolicitud); // Inserción de los invitados
//query que eliminara la solicitud de viaje con la que este ligado a el tramite seleccionado $query_elimina_sv = "DELETE FROM solicitud_viaje WHERE sv_id=" . $id_sv . ""; $cnn->ejecutar($query_elimina_sv); $sql = "DELETE FROM excepciones \n\t\t\t\t\tWHERE ex_solicitud = " . $id_sv; $cnn->ejecutar($sql); //query que eliminara los conceptos de el tramite seleccionado $query_elimina_obsv = "DELETE FROM sv_conceptos_detalle WHERE svc_detalle_tramite=" . $tramiteID . ""; $cnn->ejecutar($query_elimina_obsv); //***************************************************************************** //Actualizar tramite $idTramite = $tramiteID; $tramite->Modifica_Etapa($idTramite, SOLICITUD_ETAPA_SIN_ENVIAR, FLUJO_SOLICITUD, "106", ""); $query = sprintf("update tramites set t_fecha_ultima_modificacion = now() where t_id ='%s'", $tramiteID); $cnn->ejecutar($query); } else { $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, SOLICITUD_ETAPA_SIN_ENVIAR, FLUJO_SOLICITUD, $sMotivo, $delegado); if ($idTramite <= 0) { $CViaje->insertar("ROLL BACK"); header("Location: ./index.php?errsave"); } } if (isset($_POST['observ']) && $_POST['observ'] != "") { $sObservaciones = $_POST['observ']; } else { $sObservaciones = ""; } if (isset($_POST['Accion']) == 'true') { $check = 1; } else { $check = 0; }