public function procesarEstructuras() { global $conexionbd; $this->mensaje = 'Proceso la actualización de las estructuras presupuestarias'; $conexionbd->StartTrans(); try { $consulta = " SELECT ep1origen, ep2origen, ep3origen, ep4origen, ep5origen, ep1destino, ep2destino, ep3destino, ep4destino, ep5destino " . " FROM apr_estructurapresupuestaria "; $resultestructura = $conexionbd->Execute($consulta); if ($resultestructura === false) { $this->valido = false; $cadena = 'Error al Seleccionar las las Estructuras Presupuestarias.' . '' . $conexionbd->ErrorMsg(); } else { while (!$resultestructura->EOF) { $ep1ant = validarTexto($resultestructura->fields['ep1origen'], 0, 20, ''); $ep2ant = validarTexto($resultestructura->fields['ep2origen'], 0, 6, ''); $ep3ant = validarTexto($resultestructura->fields['ep3origen'], 0, 3, ''); $ep4ant = validarTexto($resultestructura->fields['ep4origen'], 0, 2, ''); $ep5ant = validarTexto($resultestructura->fields['ep5origen'], 0, 2, ''); $ep1act = validarTexto($resultestructura->fields['ep1destino'], 0, 20, ''); $ep2act = validarTexto($resultestructura->fields['ep2destino'], 0, 6, ''); $ep3act = validarTexto($resultestructura->fields['ep3destino'], 0, 3, ''); $ep4act = validarTexto($resultestructura->fields['ep1destino'], 0, 2, ''); $ep5act = validarTexto($resultestructura->fields['ep1destino'], 0, 2, ''); $consulta = " UPDATE saf_activo " . " SET codestpro1='" . $ep1act . "'," . " codestpro2='" . $ep2act . "', " . " codestpro3='" . $ep3act . "', " . " codestpro4='" . $ep4act . "', " . " codestpro5='" . $ep5act . "' " . " WHERE codestpro1='" . $ep1ant . "' " . " AND codestpro2='" . $ep2ant . "' " . " AND codestpro3='" . $ep3ant . "' " . " AND codestpro4='" . $ep4ant . "' " . " AND codestpro5='" . $ep5ant . "' "; $result = $conexionbd->Execute($consulta); if (is_object($result)) { $consulta = " UPDATE sno_asignacioncargo " . " SET codproasicar='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE codproasicar='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sigesp_cargos " . " SET codestpro='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE codestpro='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sno_concepto " . " SET codpro='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE codpro='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sno_hconcepto " . " SET codpro='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE codpro='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sno_proyecto " . " SET estproproy='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE estproproy='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sno_hproyecto " . " SET estproproy='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE estproproy='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sno_unidadadmin " . " SET codprouniadm='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE codprouniadm='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE sno_hunidadadmin " . " SET codprouniadm='" . $ep1act . $ep2act . $ep3act . $ep4act . $ep5act . "'" . " WHERE codprouniadm='" . $ep1ant . $ep2ant . $ep3ant . $ep4ant . $ep5ant . "'"; $result = $conexionbd->Execute($consulta); } if (is_object($result)) { $consulta = " UPDATE spg_unidadadministrativa " . " SET codestpro1='" . $ep1act . "'," . " codestpro2='" . $ep2act . "', " . " codestpro3='" . $ep3act . "', " . " codestpro4='" . $ep4act . "', " . " codestpro5='" . $ep5act . "' " . " WHERE codestpro1='" . $ep1ant . "' " . " AND codestpro2='" . $ep2ant . "' " . " AND codestpro3='" . $ep3ant . "' " . " AND codestpro4='" . $ep4ant . "' " . " AND codestpro5='" . $ep5ant . "' "; $result = $conexionbd->Execute($consulta); } $resultestructura->MoveNext(); } } } catch (exception $e) { $this->valido = false; $this->mensaje = 'Ocurrio un error en la Transferencia. ' . $conexionbd->ErrorMsg(); escribirArchivo($this->archivo, '* Ocurrio un error en la Transferencia. '); escribirArchivo($this->archivo, '* Error ' . $conexionbd->ErrorMsg()); escribirArchivo($this->archivo, '*******************************************************************************************************'); } $conexionbd->CompleteTrans(); $this->incluirSeguridad('PROCESAR', $this->valido); }
function descargarSeñal($anot, $tabla, $indice1, $incremento, $nombreArchivo) { #Instanciamos el objeto para generar la respuesta con ajax. $output = new xajaxResponse(); conectar(); #Parámetros de subsecuencia_arr: (NombreCampo, ValorInicial, NumDeValoresAconsultar) $result4 = pg_query("SELECT (subsecuencia_arr(signal,{$indice1},{$incremento})).f1,(subsecuencia_arr(signal,{$indice1},{$incremento})).f2 FROM derivacion WHERE id={$tabla}"); if ($anot) { $result5 = pg_query("SELECT indice, nota FROM anotacion WHERE indice IN (SELECT (subsecuencia_arr(signal,{$indice1},{$incremento})).f1 FROM derivacion WHERE id={$tabla}) AND id_derivacion={$tabla}"); } desconectar(); #Guardar señal en un array. $i = 0; while ($row = pg_fetch_assoc($result4)) { #Guardar los datos en un array bidimensional. $s[$i][0] = (int) $row['f1']; #Índice. $s[$i][1] = (double) $row['f2']; #Voltaje. $i++; } if ($anot) { #Guardar anotaciones. $i = 0; while ($row = pg_fetch_assoc($result5)) { #Guardar los datos en un array bidimensional. $a[$i][0] = (int) $row['indice']; $a[$i][1] = $row['nota']; $i++; } #Guarda en un arreglo el resultado de ambas consultas. for ($i = 0; $i < count($s); $i++) { for ($k = 0; $k < count($a); $k++) { #Si el índice actual coincide con el de una anotación: if ($s[$i][0] == $a[$k][0]) { $s[$i][2] = obtenerAnotacion($a[$k][1]); #Nota. break; } else { #En caso de no haber anotación, escribe "-". $s[$i][2] = "-"; } } } } escribirArchivo($s, $anot, $nombreArchivo); #$output->alert("OK!"); #Retornamos la salida XAJAX. $output->setReturnValue(true); return $output; }
public function insertarMovimientoInicial() { global $conexionbd; //$conexionbd->debug = 1; $conexionbdorigen = conectarBD($_SESSION['sigesp_servidor'], $_SESSION['sigesp_usuario'], $_SESSION['sigesp_clave'], $_SESSION['sigesp_basedatos'], $_SESSION['sigesp_gestor']); $this->mensaje = 'Inserto el movimiento inicial de existencias de inventario'; //$conexionbd->StartTrans(); try { //$this->seleccionarConexion(&$conexionbd); $consulta = " SELECT codemp,codart,codalm,SUM(existencia) AS existencia, \t\t\t\t" . "\t\t(SELECT ultcosart FROM siv_articulo \t\t\t\t\t\t\t\t" . " WHERE siv_articuloalmacen.codemp=siv_articulo.codemp \t\t\t\t" . " AND siv_articuloalmacen.codart=siv_articulo.codart) AS ultcosart \t" . " FROM siv_articuloalmacen \t\t\t\t\t\t\t\t\t\t\t\t\t" . " WHERE existencia > 0 \t\t\t\t\t\t\t\t\t\t\t\t\t\t" . " GROUP BY codemp,codart,codalm \t\t\t\t\t\t\t\t\t\t\t"; $result = $conexionbdorigen->Execute($consulta); if ($result === false) { escribirArchivo($this->archivo, '* Error al Seleccionar los Artículos por Almacen. ' . $conexionbd->ErrorMsg()); $this->valido = false; } elseif (!$result->EOF) { $comprobante = '000000000000001'; //$fecha = ''; $this->periodo = ''; $solicitante = 'Apertura'; /*$this->servidor = $_SESSION['sigesp_servidor']; $this->usuario = $_SESSION['sigesp_usuario']; $this->clave = $_SESSION['sigesp_clave']; $this->basedatos = $_SESSION['sigesp_basedatos']; $this->gestor = $_SESSION['sigesp_gestor']; $this->tipoconexionbd = 'ALTERNA';*/ $this->seleccionarPeriodo(); //$this->seleccionarConexion(&$conexionbd); $conexionbd->StartTrans(); $consultamov = " INSERT INTO siv_movimiento (nummov,fecmov,nomsol,codusu) " . " VALUES ('" . $comprobante . "','" . $this->periodo . "','" . $solicitante . "','" . $this->codusu . "')"; $resultmov = $conexionbd->Execute($consultamov); if (!is_object($resultmov)) { escribirArchivo($this->archivo, '* Error al Insertar el Movimiento Inicial ' . $conexionbd->ErrorMsg()); $this->valido = false; } } while (!$result->EOF) { $codemp = validarTexto($result->fields['codemp'], 0, 4, ''); $nummov = $comprobante; $fecmov = $this->periodo; $codart = validarTexto($result->fields['codart'], 0, 20, ''); $codalm = validarTexto($result->fields['codalm'], 0, 10, ''); $opeinv = 'ENT'; $codprodoc = 'APR'; $numdoc = $comprobante; $canart = $result->fields['existencia']; //validar monto!!!! $cosart = $result->fields['ultcosart']; $promov = 'APE'; $numdocori = $comprobante; $candesart = $result->fields['existencia']; $fecdesart = $this->periodo; $cosart = $result->fields['ultcosart']; if ($canart > 0) { $consulta = " INSERT INTO siv_dt_movimiento (codemp, nummov, fecmov, codart, \t" . "\t\tcodalm, opeinv, codprodoc, numdoc, canart, cosart, \t\t\t" . "\t\tpromov, numdocori, candesart, fecdesart) \t\t\t\t\t" . " VALUES ('" . $codemp . "','" . $nummov . "','" . $fecmov . "','" . $codart . "', \t" . "\t\t'" . $codalm . "','" . $opeinv . "','" . $codprodoc . "','" . $numdoc . "', " . "\t\t" . $canart . "," . $cosart . ",'" . $promov . "','" . $numdocori . "', \t" . "\t\t" . $candesart . ",'" . $fecdesart . "')\t\t\t\t\t\t\t"; $resultdt = $conexionbd->Execute($consulta); if (!is_object($resultdt)) { escribirArchivo($this->archivo, '* Error al Insertar los Detalles del movimiento inicial ' . $conexionbd->ErrorMsg()); $this->valido = false; } $consulta = " INSERT INTO siv_articuloalmacen (codemp, codart, codalm, existencia) " . " VALUES ('" . $codemp . "','" . $codart . "','" . $codalm . "'," . $canart . ") "; $resultdt = $conexionbd->Execute($consulta); if (!is_object($resultdt)) { escribirArchivo($this->archivo, '* Error al Insertar los Artículos por almacén. ' . $conexionbd->ErrorMsg()); $this->valido = false; } } $result->MoveNext(); } escribirArchivo($this->archivo, '*******************************************************************************************************'); escribirArchivo($this->archivo, 'El Movimiento Inicial de Inventario se Creo con Exito'); escribirArchivo($this->archivo, '*******************************************************************************************************'); } catch (exception $e) { $this->valido = false; $this->mensaje = 'Ocurrio un error en la Transferencia. ' . $conexionbd->ErrorMsg(); escribirArchivo($this->archivo, '* Ocurrio un error en la Transferencia. '); escribirArchivo($this->archivo, '* Error ' . $conexionbd->ErrorMsg()); escribirArchivo($this->archivo, '*******************************************************************************************************'); } $conexionbd->CompleteTrans(); $this->incluirSeguridad('PROCESAR', $this->valido); }
function guardarBitacora($mensaje, $ip) { date_default_timezone_set("America/Mexico_City"); escribirArchivo("bitacora.log", date("Y-M-D H:m:s") . " " . $mensaje . " " . $ip, "a"); }
public function procesarAperturaEjercicio() { global $conexionbd; //$conexionbd->debug = 1; $conexionbdorigen = conectarBD($_SESSION['sigesp_servidor'], $_SESSION['sigesp_usuario'], $_SESSION['sigesp_clave'], $_SESSION['sigesp_basedatos'], $_SESSION['sigesp_gestor']); $this->mensaje = 'Proceso la apertura del ejercicio contable'; $fecdesde = convertirFechaBd($this->periodo); $fecdesde = substr($fecdesde, 0, 10); $anno = substr($this->periodo, 0, 4); $fechasta = '31/12/' . $anno; $fechasta = convertirFechaBd($fechasta); $conexionbd->StartTrans(); try { //$this->seleccionarConexion(&$conexionbd); $consulta = " SELECT curbb.*,scta.status " . " FROM ( SELECT DISTINCT B.sc_cuenta as sc_cuenta,B.denominacion as denominacion,B.saldo_Ant as saldo_ant, " . " B.debe as debe,B.haber as haber,B.saldo_act as saldo_act,C.T_DEBE_MES as t_debe_mes, " . " C.T_HABER_MES as t_haber_mes,COALESCE(C.T_DEBE_MES,0) as BalDebe, " . " COALESCE(C.T_HABER_MES,0) as BalHABER " . " FROM ( SELECT A.sc_cuenta,A.denominacion,saldo_ant,COALESCE(curSACT.T_DEBE_MES,0) as Debe, " . " COALESCE(curSACT.T_HABER_MES,0) as Haber, " . " (COALESCE(Saldo_Ant,0)+COALESCE(curSACT.T_DEBE_MES,0) - COALESCE(curSACT.T_HABER_MES,0)) as Saldo_Act " . " FROM (SELECT CCT.sc_cuenta,CCT.denominacion,CCT.nivel,COALESCE(curSANT.SANT,0) as Saldo_Ant " . " FROM scg_cuentas CCT " . " LEFT OUTER JOIN ( SELECT CSD.sc_cuenta,SUM(debe_mes-haber_mes) AS SANT " . " FROM scg_saldos CSD " . " WHERE CSD.codemp='" . $this->codemp . "' AND CSD.fecsal < '" . $fecdesde . "' " . " GROUP BY CSD.sc_cuenta ) curSANT " . " ON CCT.sc_cuenta=curSANT.sc_cuenta ) A " . " LEFT OUTER JOIN ( SELECT CSD.sc_cuenta, COALESCE(SUM(debe_mes),0) As T_DEBE_MES, " . " COALESCE(SUM(haber_mes),0) As T_HABER_MES " . " FROM scg_saldos CSD " . " WHERE CSD.codemp='" . $this->codemp . "' AND " . " CSD.fecsal between '" . $fecdesde . "' AND '" . $fechasta . "' " . " GROUP BY CSD.sc_cuenta ) curSACT ON A.sc_cuenta=curSACT.sc_cuenta " . " WHERE (A.nivel<=7)) B, " . " ( SELECT COALESCE(sum(DEBE_MES),0) as T_DEBE_MES, COALESCE(sum(HABER_MES),0) as T_HABER_MES " . " FROM scg_cuentas CCT, scg_saldos CSD " . " WHERE CCT.codemp='" . $this->codemp . "' AND (CCT.sc_cuenta=CSD.sc_cuenta) AND " . " CSD.fecsal between '" . $fecdesde . "' AND '" . $fechasta . "' AND (CCT.nivel=1) ) C " . " ORDER BY B.sc_cuenta ) as curbb, scg_cuentas scta " . " WHERE curbb.sc_cuenta=scta.sc_cuenta AND scta.status='C' "; $resultSCG = $conexionbdorigen->Execute($consulta); if ($resultSCG === false) { escribirArchivo($this->archivo, '* Error al Seleccionar los saldos de la origen ' . '' . $conexionbd->ErrorMsg()); $this->valido = false; } else { $this->arrSaldosContables = array('sccuenta' => array(), 'denominacion' => array(), 'saldoant' => array(), 'debe' => array(), 'haber' => array(), 'saldoact' => array()); $i = 0; while (!$resultSCG->EOF) { $this->arrSaldosContables['sccuenta'][$i] = $resultSCG->fields['sc_cuenta']; $this->arrSaldosContables['denominacion'][$i] = $resultSCG->fields['denominacion']; $this->arrSaldosContables['saldoant'][$i] = $resultSCG->fields['saldo_ant']; $this->arrSaldosContables['debe'][$i] = $resultSCG->fields['debe']; $this->arrSaldosContables['haber'][$i] = $resultSCG->fields['haber']; $this->arrSaldosContables['saldoact'][$i] = $resultSCG->fields['saldo_act']; $i++; $resultSCG->MoveNext(); } $this->valido = true; } if ($this->valido) { $periodo = ''; $this->seleccionarPeriodo(); $anno = substr($this->periodo, 0, 4); $periodo = '31/12/2008'; $fecdesde = convertirFechaBd($periodo); $autoconta = true; if ($this->tipo == 'B') { $fuente = $this->ced_ben; } if ($this->tipo == 'P') { $fuente = $this->cod_prov; } if ($this->tipo == '-') { $fuente = '----------'; } $codban = '---'; $ctaban = '-------------------------'; $this->objInt = new class_sigesp_int_int(); if ($this->valido) { //Insertar los Saldos Contables Iniciales $this->valido = $this->objInt->uf_int_init($this->codemp, $this->procede, $this->comprobante, $fecdesde, $this->descripcion, $this->tipo, $fuente, $autoconta, $codban, $ctaban, $this->tipo_cmp); } if ($this->valido) { $total = count($this->arrSaldosContables['sccuenta']); $j = 0; while ($j < $total && $this->valido) { $sccuenta = $this->arrSaldosContables['sccuenta'][$j]; $denominacion = $this->arrSaldosContables['denominacion'][$j]; $saldoant = $this->arrSaldosContables['saldoant'][$j]; $debe = $this->arrSaldosContables['debe'][$j]; $haber = $this->arrSaldosContables['haber'][$j]; $saldoact = $this->arrSaldosContables['saldoact'][$j]; if ($saldoact != 0) { if ($saldoact > 0) { $operacion = 'D'; } if ($saldoact < 0) { $operacion = 'H'; } $monto = abs($saldoact); $this->valido = $this->objInt->uf_scg_insert_datastore($this->codemp, $sccuenta, $operacion, $monto, $this->comprobante, $this->procede, $this->descripcion); } $j++; } } if ($this->valido) { $this->valido = $this->objInt->uf_init_end_transaccion_integracion(''); } $this->objInt->uf_sql_transaction($this->valido); } if ($this->valido) { escribirArchivo($this->archivo, '*******************************************************************************************************'); escribirArchivo($this->archivo, 'La Apertura de Contabilidad se Creo con Exito'); escribirArchivo($this->archivo, '*******************************************************************************************************'); } else { escribirArchivo($this->archivo, '*******************************************************************************************************'); escribirArchivo($this->archivo, '' . $this->objInt->is_msg_error); escribirArchivo($this->archivo, '*******************************************************************************************************'); } } catch (exception $e) { $this->valido = false; $this->mensaje = 'Ocurrio un error en la Transferencia. ' . $conexionbd->ErrorMsg(); escribirArchivo($this->archivo, '* Ocurrio un error en la Transferencia. '); escribirArchivo($this->archivo, '* Error ' . $conexionbd->ErrorMsg()); escribirArchivo($this->archivo, '*******************************************************************************************************'); } $conexionbd->CompleteTrans(); $this->incluirSeguridad('PROCESAR', $this->valido); }
public function copiarDetallePresupuestario() { global $conexionbd; //$codestpro = $conexionbd->Concat($this->codestpro1,$this->codestpro2,$this->codestpro3,$this->codestpro4,$this->codestpro5); $codestpro = $this->codestpro1 . $this->codestpro2 . $this->codestpro3 . $this->codestpro4 . $this->codestpro5; $consulta = " INSERT INTO cxp_rd_spg(codemp, numrecdoc, codtipdoc, ced_bene, cod_pro, " . "\t\t\tprocede_doc, numdoccom, codestpro,estcla,spg_cuenta, codfuefin, monto) " . " VALUES ('{$this->codemp}','{$this->numrecdoc}','{$this->codtipodoc}'," . "\t\t'{$this->cedbene}','{$this->codpro}','CXPSOP','{$this->numrecdoc}', " . " \t\t'{$codestpro}','{$this->estcla}','{$this->cuenta}','--',{$this->nuevomonto}) "; $result = $conexionbd->Execute($consulta); if ($result === false) { $this->valido = false; $this->mensaje = 'No se incluyo el detalle presupuestario a la base de datos destino '; escribirArchivo($this->archivo, '* Error: No se incluyo el detalle presupuestario a la base de datos destino ' . $conexionbd->ErrorMsg()); escribirArchivo($this->archivo, '*******************************************************************************************************'); } }
function guardarBitacora($string, $ip) { date_default_timezone_set("America/Mexico_City"); escribirArchivo("bitacora.log", date("Y-m-d H:m:s") . " " . $string . " " . $ip, "a"); }
function guardarBitacora($string) { date_default_timezone_set("America/Mexico_City"); escribirArchivo("bitacora.log", "[" . date("Y/m/d H:i:s") . "] " . $string . " " . getIp(), "a"); }
public function verificarMovimientoColocacion() { global $conexionbd; $consulta = " SELECT numcol " . " FROM scb_movcol " . " WHERE codemp='{$this->codemp}' " . " AND codban='{$this->codban}' AND ctaban='{$this->ctaban}' " . " AND numcol='{$this->numcol}' AND numdoc='{$this->numdoc}' " . " AND codope='{$this->codope}' AND estcol='{$this->estcol}' "; $result = $conexionbd->Execute($consulta); if ($result == false) { escribirArchivo($this->archivo, '* Error al Verificar Movimiento de Colocación. ' . $conexionbd->ErrorMsg()); $this->valido = false; } elseif (!$result->EOF) { return true; } else { return false; } }
function guardarBitacora($string) { escribirArchivo("bitacora.log", "[" . date("Y/m/d H:i:s") . "] " . $string . " " . getIp(), "a"); }
function generarHistoricosAdicionales($conexionbdorigen) { global $conexionbd; // Se ubican todos los períodos Adicionales de la Base de datos Origen $consulta = " SELECT sno_periodo.fecdesper, sno_periodo.fechasper, sno_periodo.codperi, " . "\t \t sno_periodo.totper, sno_nomina.anocurnom " . " FROM sno_nomina " . " INNER JOIN sno_periodo " . " ON sno_periodo.peradi = 1 " . " AND sno_periodo.cerper = 1 " . " AND sno_nomina.codemp = sno_periodo.codemp " . " AND sno_nomina.codnom = sno_periodo.codnom " . " WHERE sno_nomina.codnom = '" . $this->valoractual . "' "; $result = $conexionbdorigen->Execute($consulta); while (!$result->EOF) { $anocurnom = $result->fields['anocurnom']; $totper = $result->fields['totper']; $fecdesper = substr($result->fields['fecdesper'], 0, 10); $fechasper = substr($result->fields['fechasper'], 0, 10); $codperiadi = $result->fields['codperi']; // Actualizo según la fecha de Inicio y Fin los periodos Adicionales $consulta = " UPDATE sno_periodo " . " SET cerper = 1, " . " totper = " . $totper . " " . " WHERE codnom = '" . $this->valornuevo . "' " . " AND fecdesper = '" . $fecdesper . "' " . " AND fechasper = '" . $fechasper . "' "; $resultdestino = $conexionbd->Execute($consulta); $resultdestino->Close(); // Obtengo el Código del periodo Cerrado $consulta = " SELECT codperi " . " FROM sno_periodo " . "\t WHERE codnom = '" . $this->valornuevo . "' " . " AND cerper = 1 " . " AND fecdesper = '" . $fecdesper . "' " . "\t AND fechasper = '" . $fechasper . "' "; $resultdestino = $conexionbd->Execute($consulta); $resultdestino->Close(); if (!$resultdestino->EOF) { $peractnom = $resultdestino->fields['codperi']; $this->periodo = $peractnom; $peractnom = intval($resultdestino->fields['codperi']) + 1; $peractnom = str_pad($peractnom, 3, '0', 0); // Se actualiza el período actual de la nómina al periodo Cerrado mas 1 $consulta = " UPDATE sno_nomina " . " SET peractnom = '" . $peractnom . "' " . " WHERE codnom='" . $this->valornuevo . "' "; $resultdestino = $conexionbd->Execute($consulta); $resultdestino->Close(); } // Se recorre el arreglo de tablas de los históricos. $total = count($this->historicos); for ($contador = 0; $contador < $total && $this->valido; $contador++) { $this->_table = $this->historicos[$contador]['tabla']; $this->tipo = $this->historicos[$contador]['tipo']; $this->criterio = " WHERE codnom = '" . $this->valoractual . "' AND codperi = '" . $codperiadi . "' AND anocur ='" . $anocurnom . "'"; if ($this->_table == 'sno_hnomina') { $this->criterio = " WHERE codnom = '" . $this->valoractual . "' AND peractnom = '" . $codperiadi . "' AND anocurnom ='" . $anocurnom . "'"; } if ($this->_table == 'sno_banco') { $this->criterio = " WHERE codnom = '" . $this->valoractual . "' AND codperi = '" . $codperiadi . "'"; } $totalorigen = 0; $totaldestino = 0; escribirArchivo($this->archivo, '*******************************************************************************************************'); escribirArchivo($this->archivo, '* Conversión tabla Historica ' . $this->_table); escribirArchivo($this->archivo, '*******************************************************************************************************'); // Verifico que la tabla Exista en el origen. $this->verificarExistenciaTabla($conexionbdorigen); if ($this->valido && $this->existe) { // Obtengo los datos de la base de datos de origen según la configuració cargada $resultdestino = $this->obtenerDatosOrigen($conexionbdorigen); if (!$resultdestino->EOF && $this->valido) { $this->estructura1 = false; // para validar el presupuesto de gasto cuando sea BSF $resultdestino->MoveFirst(); $this->cargarCampos($resultdestino, $conexionbd); $resultdestino->MoveFirst(); $totcolumna = count($resultdestino->FetchRow()); $resultdestino->MoveFirst(); while (!$resultdestino->EOF && $this->valido) { $totalorigen++; $cadenacampos = ''; $cadenavalores = ''; $consulta = ''; for ($columna = 0; $columna < $totcolumna && $this->valido; $columna++) { $tipodato = ''; $valor = ''; $objeto = $resultdestino->FetchField($columna); $campo = $objeto->name; $tipodato = $resultdestino->MetaType($objeto->type); $valor = $resultdestino->fields[$objeto->name]; $clave = array_search($campo, $this->campos); if (is_numeric($clave)) { // Actualizo el valor según el tipo de dato $this->actualizarValor($tipodato, &$valor); // Aplico Criterios de Conversión en caso de ser necesario $this->criterioConversion($columna, &$valor); switch ($this->tipo) { case 'INSERT': $cadenacampos .= ',' . $this->campos[$columna]; $cadenavalores .= ',' . $valor; break; case 'UPDATE': $cadenavalores .= ',' . $this->campos[$columna] . '=' . $valor; break; } } } // para validar el presupuesto de gasto cuando sea BSF if ($this->estructura1 && $this->campos[$columna] == 'estcla') { $this->estructura1 = str_pad($resultdestino->fields['codestpro1'], 25, '0', 0); $valor = "'" . $this->obtenerEstatusClasificacion() . "'"; switch ($this->tipo) { case 'INSERT': $cadenacampos .= ',' . $this->campos[$columna]; $cadenavalores .= ',' . $valor; break; case 'UPDATE': $cadenavalores .= ',' . $this->campos[$columna] . '=' . $valor; break; } } switch ($this->tipo) { case 'INSERT': $consulta = 'INSERT INTO ' . $this->_table . ' (' . substr($cadenacampos, 1) . ')' . ' VALUES (' . substr($cadenavalores, 1) . ')'; break; case 'UPDATE': $consulta = 'UPDATE ' . $this->_table . ' ' . ' SET ' . substr($cadenavalores, 1) . ' ' . $this->criterio; break; } if ($consulta != '') { // Ejecuto la Consulta en la Base de Datos Destino. escribirArchivo($this->archivo, $consulta); $resultado = $conexionbd->Execute($consulta); } $resultdestino->MoveNext(); $totaldestino++; } } $resultdestino->Close(); } escribirArchivo($this->archivo, '* Registros Origen ' . $this->valornuevo . '-> ' . $totalorigen); escribirArchivo($this->archivo, '* Registros Destino ' . $this->valornuevo . '-> ' . $totaldestino); escribirArchivo($this->archivo, '*******************************************************************************************************'); escribirArchivo($this->archivo, ''); } $result->moveNext(); } }