// Datos del tramite $idTramite = $_POST["idTramite"]; $observaciones = $_POST["observaciones"]; // Carga datos del tramite $Tramite = new Tramite(); $Tramite->Load_Tramite($idTramite); $fecha_Comprobacion = $Tramite->Get_dato("t_fecha_registro"); $aprobador = $Tramite->Get_dato("t_dueno"); $t_etapa_actual = $Tramite->Get_dato("t_etapa_actual"); $t_flujo = $Tramite->Get_dato("t_flujo"); $iniciador = $Tramite->Get_dato("t_iniciador"); // Carga datos de la comprobacion $Comprobacion = new Comprobacion(); $Comprobacion->Load_Comprobacion($idTramite); $TipoComp = $Comprobacion->Get_dato("co_tipo"); // Tipo de comprobacion: 1: Viaje, 2: Amex, 3: Caja Chica $cc_id_comprobacion = $Comprobacion->Get_dato("co_cc_clave"); // El ceco se captura en el alta de la comprobacion $co_fecha_registro = $Comprobacion->Get_dato("co_fecha_registro"); // Fecha de la comprobacion $co_id = $Comprobacion->Get_dato("co_id"); $co_total = $Comprobacion->Get_dato("co_total"); $co_total_aprobado = $Comprobacion->Get_dato("co_total_aprobado"); $co_pendiente = $co_total - $co_total_aprobado; // Cuanto falta por aprobar // Datos del aprobador $Usuario = new Usuario(); $DatosAprobador = $Usuario ->Load_Usuario_By_ID($aprobador); $NumAprobador = $Usuario ->Get_dato("u_usuario"); // Actualiza las observaciones de la comprobacion
$pdf->AddFont('consola', 'I', 'consolai.php'); $pdf->AliasNbPages(); $pdf->AddPage(); $cnn = new conexion(); $idTramite = $_GET['id']; //Se cargan los comensales de la comprobacion de invitacion $comensales = new Comensales(); $invitados = $comensales->Load_comensales_by_tramite($idTramite); // Carga datos de autorizadores $rutaAutorizacion = new RutaAutorizacion(); $autorizadores = $rutaAutorizacion->getNombreAutorizadores($idTramite); //Se carga el tramite de la comprobacion $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); //Se carga la comprobacion $comp_inv = new Comprobacion(); $comp_inv->Load_Comprobacion_Invitacion_By_co_mi_tramite($idTramite); //Se obtiene el id del tramite de la solicitud de invitacion $id_tramite_sol_inv = $comp_inv->Get_dato("co_tramite"); //Se carga la solicitud de invitacion a la que hace referencia la comprobacion $sol_inv = new C_SV(); $sol_inv->Load_Solicitud_Invitacion_Tramite($id_tramite_sol_inv); //Datos de la comprobacion $idComprobacion = $comp_inv->Get_dato("co_id"); $co_fecha_registro = cambiarFormatoFecha($comp_inv->Get_dato("co_fecha_registro")); $co_tipo = $comp_inv->Get_dato("co_tipo"); $motivo = $comp_inv->Get_dato("co_motivo"); $ciudad = $comp_inv->Get_dato("co_ciudad"); $co_tramite = $comp_inv->Get_dato("co_tramite"); $co_cc_clave = $comp_inv->Get_dato("co_cc_clave"); $subtotal_comp = number_format($comp_inv->Get_dato("co_subtotal"), 2, ".", ",");
/** * Enter description here... * * @param unknown_type $tramite */ public function Notificar($tramite, $comentario = "Ninguna", $TipoSolicitud, $etapaComp = "", $coTipo = "") { //Se agrego $etapaComp para las comprobaciones ya autorizadas. //session_start(); $cad_iniciador = ""; $cad_grupo = ""; $cad_usuario = ""; $U = new Usuario(); file_put_contents("setsion.txt", $_SESSION["idusuario"]); $U->Load_usuario($_SESSION["idusuario"]); //echo $_SESSION["idusuario"]." dso"; $NameUser = $U->Get_dato("u_nombre") . " " . $U->Get_dato("u_paterno") . " " . $U->Get_dato("u_materno"); $T = new Tramite(); $F = new Flujo(); $C = new Comprobacion(); //$E = new Etapa(); $T->Load_Tramite($tramite); //$F->Load($T->Get_dato("t_flujo")); //$E->Load_Etapa($T->Get_dato("t_etapa_actual")); //$nombre_tramite=$F->Get_dato("f_nombre"); $cad_grupo = "La " . $TipoSolicitud . " No. <strong>" . sprintf("%05s", $tramite) . "</strong>"; $cad_iniciador = $cad_grupo; $cad_usuario = $cad_grupo; $etapa = ""; if ($T->Get_dato("t_cerrado") == 1) { //SI EL TRAMITE SE CERRO if ($T->Get_dato("t_cancelado") == 0) { $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y <strong>Cerrada Correctamente</strong> "; $etapa = "AUTORIZADA"; $cad_usuario = ""; $cad_grupo = ""; } else { $etapa = "CANCELADA"; $cad_iniciador .= " ha sido <strong>Cancelada</strong> por <strong>{$NameUser}</strong> "; $cad_grupo = ""; $cad_usuario = ""; } } else { //PASA A UNA ETAPA DETERMINADA //$et_ant=$this->etapa_anterior($T->Get_dato("t_etapa_actual")); if ($T->Get_dato("t_etapa_actual") == 2) { //SE ACABA DE CAPTURAR $cad_usuario .= " ha sido <strong>Generada</strong>"; $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente"; $etapa = "GENERADA"; } elseif ($T->Get_dato("t_etapa_actual") == 3 && $etapaComp == "") { $cad_usuario .= " ha sido <strong>Generada</strong>"; $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente"; $etapa = "GENERADA"; } elseif ($T->Get_dato("t_etapa_actual") == 3 && isset($etapaComp) && !empty($etapaComp)) { $cad_usuario .= " ha sido <strong>Generada</strong>"; $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y pasa a la siguiente etapa para su aprobación"; $etapa = "APROBADA"; } else { $cad_iniciador .= " ha sido <strong>APROBADA</strong> por <strong>{$NameUser}</strong> y pasa a la siguiente Etapa para su Aprobación."; $etapa = "APROBADA"; } /*if($T->Get_dato("t_grupo")>0){//ES UN GRUPO $G = new Grupo(); $G->Load_data($T->Get_dato("t_grupo")); //$cad_grupo .=" ha sido asignada al Grupo: <strong>" . $G->Get_dato("g_nombre") . "</strong> y queda en espera de su aprobacion"; $cad_grupo .=" ha sido asignada a tu Grupo para su Aprobación"; //MANDAMOS NOTIFICACION PARA TODO EL GRUPO $this->Notifica_grupo($T->Get_dato("t_id"),$cad_grupo,$T->Get_dato("t_grupo"),$comentario); $cad_usuario =""; } else{*/ $cad_grupo = ""; $cad_usuario .= " y te ha sido Asignada para su Aprobación."; //MANDAMOS A INSERTAR LA NOTIFICACION //} } $U_Iniciador = new Usuario(); $U_Iniciador->Load_usuario($T->Get_dato("t_iniciador")); if ($T->Get_dato("t_iniciador") != $T->Get_dato("t_owner")) { $this->Add($cad_iniciador, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario")); $this->envia_mail_iniciador($T->Get_dato("t_id"), $T->Get_dato("t_iniciador"), $etapa, $TipoSolicitud, $comentario); } if ($TipoSolicitud == "Comprobacion") { if ($coTipo != "2") { $C->Load_Comprobacion($tramite); $co_id = $C->Get_dato("co_id"); $query = sprintf("SELECT * FROM detalle_comprobacion where dc_comprobacion=%s", $co_id); $rst = parent::consultar($query); if ($fila = mysql_fetch_assoc($rst)) { if (trim($cad_usuario != "")) { $U_Iniciador->Load_usuario($fila['dc_responsable']); $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dc_responsable']); $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario); } } } else { $C->Load_Comprobacion_Amex($tramite); $co_id = $C->Get_dato_amx("co_id"); $query = sprintf("SELECT * FROM detalle_comprobacion_amex where dca_comprobacion=%s", $co_id); $rst = parent::consultar($query); if ($fila = mysql_fetch_assoc($rst)) { if (trim($cad_usuario != "")) { $U_Iniciador->Load_usuario($fila['dca_responsable']); $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dca_responsable']); $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario); } } } } else { if (trim($cad_usuario != "")) { $U_Iniciador->Load_usuario($T->Get_dato("t_owner")); $this->Add($cad_usuario, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario")); $this->envia_mail_usuario($T->Get_dato("t_id"), $T->Get_dato("t_owner"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario); } } }
echo $queryActualizaE = sprintf("UPDATE periodo_presupuestal SET pp_presupuesto_disponible='%s',pp_presupuesto_utilizado='%s' WHERE pp_id='%s'", $DPPdisponible, $DPPutilizado, $idPP); $cnn->ejecutar($queryActualizaE); } exit(header("Location: ./index.php?okAut")); } if ($modo == "enviarSupervisor") { $montoToleranciaSupervisorFnanzas = ULT_APROBACION; $anticipoComprobado = $_POST["anticipoComprobado"]; $personalComprobado = $_POST["personalComprobado"]; $amexComprobado = $_POST["amexComprobado"]; $efectivoComprobado = $_POST["efectivoComprobado"]; $amexExternoComprobado = $_POST["amexExternoComprobado"]; $montoDescotar = $_POST["montoDescotar"]; $montoReembolsar = $_POST["montoReembolsar"]; $totalComprobado = $totalComprobado; $comprobacion = new Comprobacion(); $comprobacion->Load_Comprobacion_By_co_mi_tramite($idTramite); $comprobacion->ActualizarResumenFinanzas($idTramite, $anticipoComprobado, $personalComprobado, $amexExternoComprobado, $efectivoComprobado, $montoDescotar, $montoReembolsar, $amexExternoComprobado, $totalComprobado); $idComprobacion = $comprobacion->Get_dato("co_id"); $usuario = new Usuario(); $siguienteDueno = $totalComprobado <= $montoToleranciaSupervisorFnanzas ? $usuario->getGerenteSFinanzas(SUPERVISOR_FINANZAS) : $usuario->getGerenteSFinanzas(GERENTE_FINANZAS); $sql = "DELETE \n\t\t\t\t\tFROM detalle_comprobacion \n\t\t\t\t\tWHERE dc_comprobacion = '{$idComprobacion}'"; $cnn->ejecutar($sql); for ($i = 1; $i <= $rows; $i++) { $tipoComprobacion = $_POST['row_tipoComprobacion' . $i]; $noTransaccion = $_POST['row_noTransaccion' . $i] == "N/A" ? 0 : $_POST['row_noTransaccion' . $i]; $cargoTarjeta = $_POST['row_cargoTarjeta' . $i]; $concepto = $_POST['row_concepto' . $i]; $tipoComida = $_POST['row_tipoComida' . $i] == "N/A" ? 0 : $_POST['row_tipoComida' . $i]; $comentario = $_POST['row_comentario' . $i]; $asistentes = $_POST['row_asistentes' . $i];
function obtener_ruta_de_autorizacion_de_comprobacion_viaje($id_tramite) { $t_ruta_autorizacion = ""; $id_agencia = ""; $id_director_de_area = ""; $id_director_general = ""; $id_controlling = ""; $id_finanzas = ""; $agencia = true; $dir_area = true; $dir_gral = true; $controlling = true; $finanzas = true; //Cargamos la comprobacion de viaje en base al tramite $compViaje = new Comprobacion(); $compViaje->Load_Comprobacion_By_co_mi_tramite($id_tramite); //Se obtiene el ID del usuario de agencia $usuario_aux = new Usuario(); $id_agencia = $usuario_aux->Get_Id_by_Tipo("4"); //El 4 es el ID del tipo agencia actualmente 16/abr/2012 //El primer autorizador es el "Gerente de area", //osea el responsable del centro de costos de la comprobacion de invitacion. $cc_id = $compViaje->Get_dato("co_cc_clave"); $cc = new CentroCosto(); $cc->Load_CeCo($cc_id); $id_gerente_de_area = $cc->Get_Dato("cc_responsable"); /* //Se checa si el usuario es de "BMW Financial Services". $tramite = new Tramite(); $tramite->Load_Tramite($id_tramite); $id_iniciador = $tramite->Get_dato("t_iniciador"); $usuario = new Usuario(); $usuario->Load_Usuario_By_ID($id_iniciador); $usu_empresa = $usuario->Get_dato("u_empresa"); if($usu_empresa == "2"){ $dir_gral = true; }else{ //Se checa si existe un invitado de tipo "Gobierno". $comensales = new Comensales(); $comensales_array = $comensales->Load_comensales_by_tramite($id_tramite); $no_invitados = count($comensales_array); for($i=0;$i<$no_invitados;$i++){ if($comensales_array[$i]['dci_tipo_invitado'] == "Gobierno"){ $dir_gral = true; break; } } if($dir_gral == true){ }else{ //Se checa si el monto solicitado por persona es mayor a 50 EUR. $si_monto_pesos = $sol_inv->Get_dato("si_monto_pesos"); $divisa = new Divisa(); $divisa->Load_data("3"); //div_id de EUR = 3 $tasa_eur = $divisa->Get_dato("div_tasa"); $monto_x_persona = $si_monto_pesos/$tasa_eur/$no_invitados; if($monto_x_persona > 50){ $dir_gral = true; } } } */ $usuario = new Usuario(); //El segundo autorizador es el "Director de area". if ($dir_area == true) { $id_director_de_area = $cc->Get_Dato("cc_director_de_area"); } $agrup_usu = new AgrupacionUsuarios(); //El cuarto autorizador es el "Controlling". if ($controlling == true) { $agrup_usu->Load_Grupo_de_Usuario_By_Nombre('Controlling'); $id_controlling = $agrup_usu->Get_dato("au_id"); } //El quinto autorizador es el "Finanzas". if ($finanzas == true) { $agrup_usu->Load_Grupo_de_Usuario_By_Nombre('Finanzas'); $id_finanzas = $agrup_usu->Get_dato("au_id"); } //Se arma la ruta de autorizacion $t_ruta_autorizacion = $id_agencia . "|" . $id_gerente_de_area; if ($dir_area == true && $id_director_de_area != "") { if (existe_substr($t_ruta_autorizacion, $id_director_de_area, "|") == false) { $t_ruta_autorizacion .= "|" . $id_director_de_area; } } if ($dir_gral == true && $id_director_general != "") { if (existe_substr($t_ruta_autorizacion, $id_director_general, "|") == false) { $t_ruta_autorizacion .= "|" . $id_director_general; } } if ($controlling == true && $id_controlling != "") { if (existe_substr($t_ruta_autorizacion, $id_controlling, "|") == false) { $t_ruta_autorizacion .= "|" . $id_controlling; } } if ($finanzas == true && $id_finanzas != "") { if (existe_substr($t_ruta_autorizacion, $id_finanzas, "|") == false) { $t_ruta_autorizacion .= "|" . $id_finanzas; } } return $t_ruta_autorizacion; }
public function agregaAutorizadoresExcedentes($idTramite, $excepciones) { $autorizadoresExcedentes = ''; $excepciones = json_decode($excepciones); //error_log("Excepciones por politica: ".$excepciones->noExcepcionesPoliticas); //error_log("Excepciones por presupuesto: ".$excepciones->noExcepcionesPresupuesto); $tramites = new Tramite(); $tramites->Load_Tramite($idTramite); $rutaAutorizacion = $tramites->Get_dato('t_ruta_autorizacion'); $flujoTramite = $tramites->Get_dato('t_flujo'); $autorizador = $this->get_administrador(); $bandera_Anticipo = $this->requiereAnticipo($idTramite); switch ($flujoTramite) { case FLUJO_SOLICITUD: $autorizadoresExcedentes = $excepciones->noExcepcionesPresupuesto != 0 ? "|" . $this->get_controller() : ''; $autorizadoresExcedentes .= !$this->requiereAgencia($idTramite) ? "|" . $this->get_administrador() : ''; $autorizadoresExcedentes .= $this->requiereAgencia($idTramite) && $bandera_Anticipo == true ? "|" . $this->get_administrador() : ''; break; case FLUJO_SOLICITUD_GASTOS: $autorizadoresExcedentes = $excepciones->noExcepcionesPoliticas != 0 ? "|" . $this->get_controlInterno() : ''; $autorizadoresExcedentes .= "|" . $this->get_administrador(); break; case FLUJO_COMPROBACION: $comprobaciones = new Comprobacion(); $comprobaciones->Load_Comprobacion_By_co_mi_tramite($idTramite); $tramiteSolicitud = $comprobaciones->Get_dato('co_tramite'); $autorizadoresExcedentes = $excepciones->noExcepcionesPoliticas != 0 ? "|" . $this->get_controlInterno() : ''; $autorizadoresExcedentes .= $tramiteSolicitud == -1 && $excepciones->noExcepcionesPresupuesto != 0 ? "|" . $this->get_controller() : ''; $autorizadoresExcedentes .= "|" . $this->get_administrador(); break; case FLUJO_COMPROBACION_GASTOS: $autorizadoresExcedentes = $excepciones->noExcepcionesPoliticas != 0 ? "|" . $this->get_controlInterno() : ''; $autorizadoresExcedentes .= "|" . $this->get_administrador(); break; } $query = sprintf("UPDATE tramites SET t_ruta_autorizacion = CONCAT(t_ruta_autorizacion, '%s') WHERE t_id = '%s'", $autorizadoresExcedentes, $idTramite); parent::ejecutar($query); }
$idcargoAmex = $_POST['idcargoAmex']; //Id del concepto personal $concepto = new Concepto(); $concepto->Load_Concepto_By_Nombre($conceptoPersonal); $conceptoP = $concepto->Get_Dato("dc_id"); error_log("Id Concepto: " . $conceptoP); //conversion de divisa if ($divisa == "MXN") { $divisaId = 1; } elseif ($divisa == "USD") { $divisaId = 2; } elseif ($divisa == "EUR") { $divisaId = 3; } $comentarioCodificado = utf8_decode($comentario); $comprobacion = new Comprobacion(); $comprobacion->ActualizarCamposAprobados($idtramitefin, $tipoAnticipo, $notransaccion, $fecha, $comentarioCodificado, $monto, $propina, $iva, $imphospedaje, $total, $divisaId, $conceptoP, $detalleProcedente, $idcargoAmex); } if (isset($_POST['tramitePersonales'])) { $cnn = new conexion(); $idtramitefin = $_POST['tramitePersonales']; $dc_id = 0; $query = sprintf("SELECT dc_id FROM detalle_comprobacion\n\t\t\tINNER JOIN comprobaciones ON co_id = dc_comprobacion\n\t\t\tWHERE dc_concepto = '31' AND co_mi_tramite = '%s'", $idtramitefin); //error_log($query); $rst = $cnn->consultar($query); while ($arr = mysql_fetch_assoc($rst)) { $dc_id = $arr['dc_id']; $query = sprintf("DELETE FROM detalle_comprobacion WHERE dc_id = '%s'", $dc_id); //error_log($query); $cnn->ejecutar($query); }
} else { $cTipo_id = 3; } $co_subtotal = $_POST['co_subtotal']; $co_iva = $_POST['co_iva']; $observ = $_POST['observ']; $invitacionLug = $_POST['lugar_inv']; $fecha_inv = $_POST['fechainvitacion']; $excedente = $_POST['banderavalida']; $tot_invitados = $_POST['numInvitados']; $co_ciudad = $_POST['co_ciudad_data']; $sesionDelegado = $_POST['delegado']; $co_amex_comprobado = $_POST['t_amex_comprobado']; $co_efectivo_comprobado = $_POST['t_reembolso']; // Registra nueva comprobacion $comprobacion = new Comprobacion(); $concepto = new Concepto(); $concepto->Load_Concepto_By_Nombre("Comidas Invitacion"); // Guarda los detalles de la comprobacion $cDate = $_POST['fecha']; $cConc = $concepto->Get_Dato("dc_id"); if (isset($_POST['moneda'])) { $cExch = $_POST['moneda']; } else { $cExch = "1"; } // Guardar campo del IVA if ($cExch == "1") { $cImp = str_replace(",", "", $_POST['impuesto']); $cImp_porc = 0; if ($cImp != 0) {
function CreateComprobacionAmex3($bu, $depto, $usuario, $fecha, $concepto1, $subtotal1, $iva1, $tasa1, $concepto2, $subtotal2, $iva2, $tasa2, $concepto3, $subtotal3, $iva3, $tasa3) { $comprobacion = new Comprobacion(); $comprobacion->TRAMITE_ID = getNextTramiteID(); $comprobacion->BUSINESS_UNIT = $bu; $comprobacion->ID_DEPTO = $depto; $comprobacion->ID_USUARIO = $usuario['vendor']; $comprobacion->ID_PRODUCTO = $usuario['producto']; $comprobacion->ID_VENDOR = $usuario['vendor']; $comprobacion->FECHA = $fecha; $comprobacion->AgregaLineaDeConcepto($concepto1['nombre'], $concepto1['cuenta'], $subtotal1, $iva1, $tasa1); $comprobacion->AgregaLineaDeConcepto($concepto2['nombre'], $concepto2['cuenta'], $subtotal2, $iva2, $tasa2); $comprobacion->AgregaLineaDeConcepto($concepto3['nombre'], $concepto3['cuenta'], $subtotal3, $iva3, $tasa3); $conn = new ConexionERP(); $conn->Conectar(); error_log(''); error_log('// --------- ComprobacionAmex'); $conn->Registra_ComprobacionAmex($comprobacion); $conn->Desconectar(); }
function GuardaComprobacionesAmex($valida = false) { #Leer todas las comprobaciones sencillas cuyo STATUS_ERP = 1 y co_tipo = 2 (AMEX) $VConn = new conexion(); $VSql = "SELECT * FROM comprobaciones inner join tramites on (t_id = co_mi_tramite) inner join usuario on (t_iniciador = u_id) inner join empresas on (u_empresa = e_id) inner join cat_cecos on (cc_id = co_cc_clave) WHERE (co_tipo = 2) AND co_status_erp = 1"; $VRes = $VConn->consultar($VSql); $Filas = mysql_num_rows($VRes); #Por cada comprobacion se guarda en el ERP un registro $conn = new ConexionERP(); $conn->Conectar(); for($i=0; $i<$Filas; $i++) { #tramite de la comprobacion $TRAMITE_ID = mysql_result($VRes,$i,"t_id"); #leer los datos por cada fila que saque el query e insertar una fila por cada registro... $MONTO_TOTAL = mysql_result($VRes,$i,"co_total"); #monto total de la comprobacion $BUSINESS_UNIT = mysql_result($VRes,$i,"e_codigo"); $FECHA = mysql_result($VRes,$i,"t_fecha_cierre"); $ID_USUARIO = mysql_result($VRes,$i,"t_iniciador"); $ID_PRODUCTO = mysql_result($VRes,$i,"u_producto"); $ID_VENDOR = mysql_result($VRes,$i,"u_proveedor"); $ID_ANTICIPO_RELACIONADO = mysql_result($VRes,$i,"co_tramite"); $TIPO = mysql_result($VRes,$i,"co_tipo"); $ID_COMPROBACION = mysql_result($VRes,$i,"co_id"); #sacar los centros de costo a los cuales se guardaron los montos de la comprobacion $Ceco = "SELECT * FROM ceco_detalle INNER JOIN cat_cecos ON (ceco_detalle_ceco = cc_id) WHERE ceco_detalle_tramite = $TRAMITE_ID"; $ResCeco = $VConn->consultar($Ceco); $NumCecosEnComprovacion = mysql_num_rows($ResCeco); # # convertimos los valores de los centros de costos a porcentajes # # 1. Sacamos el porcentaje por ceco. $porcentajePorCECO = Array(); while($CentroCostos = mysql_fetch_assoc($ResCeco)) { $MontoCeco = $CentroCostos["ceco_detalle_cantidad"]; $Ceco = $CentroCostos["cc_centrocostos"]; $porcentajePorCECO[$Ceco] = ($MontoCeco * 100) / $MONTO_TOTAL; } //error_log(print_r($porcentajePorCECO, True)); # 2. Creamos una comprobacion por cada centro de costos # $BANDERA = false; $contadorCeco = 0; $TRAMITE_ID = getTramiteID($TRAMITE_ID); foreach ($porcentajePorCECO as $ceco => $porcentaje) { $TRAMITE_ID = $TRAMITE_ID + $contadorCeco; $contadorCeco = $contadorCeco + 1; # Saca los conceptos de la comprobacion $LineaComprobacion = " SELECT d.dc_id AS ID, d.dc_concepto, d.dc_monto, d.dc_iva, d.dc_total, d.dc_porcentaje_iva, c.dc_id AS IdConcepto, c.cp_concepto, c.cp_cuenta FROM detalle_comprobacion d, cat_conceptos c WHERE d.dc_concepto = c.dc_id AND dc_comprobacion = $ID_COMPROBACION"; //array_push($arr, $ID_COMPROBACION); #crear el objeto de la clase de comprobacion $Comprobacion = new Comprobacion(); //echo "<BR>"; $ResLineas = $VConn->consultar($LineaComprobacion); $FilLineas = mysql_num_rows($ResLineas); #if(!$BANDERA) for($l=0; $l<$FilLineas; $l++) { #$BANDERA = TRUE; #se sacan los datos de los detalles de la comprobacion por cada comprobacion $ID_CONCEPTO = mysql_result($ResLineas, $l, "IdConcepto"); $CONCEPTO = mysql_result($ResLineas, $l, "cp_concepto"); $CUENTA = mysql_result($ResLineas, $l, "cp_cuenta"); $MONTO_SUBTOTAL = mysql_result($ResLineas, $l, "dc_monto"); $MONTO_IVA = mysql_result($ResLineas, $l, "dc_iva"); $MONTO_TOTAL = mysql_result($ResLineas, $l, "dc_total"); $TASA_IVA = mysql_result($ResLineas, $l, "dc_porcentaje_iva"); $linea = new LineaComprobacion(); $linea->ID_CONCEPTO = $ID_CONCEPTO; $linea->CONCEPTO = $CONCEPTO; $linea->CUENTA = $CUENTA; $linea->MONTO_SUBTOTAL = ($MONTO_SUBTOTAL * $porcentaje) / 100; $linea->MONTO_IVA = ($MONTO_IVA * $porcentaje) / 100; $linea->MONTO_TOTAL = $MONTO_SUBTOTAL + $MONTO_IVA; $linea->TASA_IVA = $TASA_IVA / 100; $Comprobacion->AgregaLinea($linea); } #asignar datos a variables de la comprobacion $Comprobacion->TIPO = $TIPO; $Comprobacion->TRAMITE_ID = $TRAMITE_ID; $Comprobacion->BUSINESS_UNIT = $BUSINESS_UNIT; $Comprobacion->ID_USUARIO = $ID_USUARIO; $Comprobacion->ID_PRODUCTO = $ID_PRODUCTO; $Comprobacion->ID_DEPTO = $ceco; $Comprobacion->FECHA = $FECHA; $Comprobacion->MONTO_TOTAL = $MONTO_TOTAL; $Comprobacion->ID_VENDOR = $ID_VENDOR; //$Comprobacion->ID_ANTICIPO_RELACIONADO = getTramiteID($ID_ANTICIPO_RELACIONADO); if($valida){ global $VALIDACIONES; $VALIDACIONES = $VALIDACIONES . "Comprobante Amex: $TRAMITE_ID\n"; $Comprobacion->Valida(); $VALIDACIONES = $VALIDACIONES . "------------------------------\n"; } else { #Guardar la comprobacion $conn->Registra_ComprobacionAmex($Comprobacion); } } if (!$valida){ #Modificar el status_erp del tramite a enviado a ERP ($ESTATUS_ERP_ENVIADO = 2) $VUpdt = "UPDATE comprobaciones SET co_status_erp = 2 WHERE co_id = $ID_COMPROBACION"; $VExecute = $VConn->insertar($VUpdt); #echo "Comprobacion $TRAMITE_ID realizada...."; } } $conn->Desconectar(); }