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);
 }
Ejemplo n.º 2
0
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);
 }
Ejemplo n.º 4
0
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, '*******************************************************************************************************');
     }
 }
Ejemplo n.º 7
0
function guardarBitacora($string, $ip)
{
    date_default_timezone_set("America/Mexico_City");
    escribirArchivo("bitacora.log", date("Y-m-d H:m:s") . " " . $string . " " . $ip, "a");
}
Ejemplo n.º 8
0
function guardarBitacora($string)
{
    date_default_timezone_set("America/Mexico_City");
    escribirArchivo("bitacora.log", "[" . date("Y/m/d H:i:s") . "] " . $string . " " . getIp(), "a");
}
Ejemplo n.º 9
0
 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;
     }
 }
Ejemplo n.º 10
0
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();
     }
 }