Example #1
0
 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $ord = new DataObject("ordinal");
     $mbanc = new DataObject("mbanc");
     $mbanc->rel_one_to_many('itppro', 'itppro', array('id' => 'mbanc'));
     $mbanc->load($id);
     $m_codbanc = $mbanc->get('codbanc');
     $m_monto = $mbanc->get('monto');
     $banc = new DataObject("banc");
     $banc->load($m_codbanc);
     $saldo = $banc->get('saldo');
     $activo = $banc->get('activo');
     $odirect = new DataObject("odirect");
     $odirect->rel_one_to_many('pacom', 'pacom', array('numero' => 'pago'));
     $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $odirect->rel_one_to_many('islr', 'islr', array('numero' => 'odirect'));
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     //$ocompra->pointer('sprv' ,'sprv.proveed=ocompra.cod_prov','sprv.nombre as nom_prov, sprv.rif as rif_prov');
     $riva = new DataObject("riva");
     $presup = new DataObject("presupuesto");
     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
     if ($activo != 'S') {
         $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>";
     }
     //if($m_monto > $saldo )$error.="<div class='alert'><p>El Monto ($tot) del cheque es mayor al disponible ($saldo) en el banco ($banco)</p></div>";
     $sta = $mbanc->get('status');
     if ($sta == "E2") {
         $t = 0;
         if (empty($error)) {
             for ($j = 0; $j < $mbanc->count_rel('itppro'); $j++) {
                 $orden = $mbanc->get_rel('itppro', 'orden', $j);
                 $it_monto = $mbanc->get_rel('itppro', 'monto', $j);
                 $odirect->load($orden);
                 $status = $odirect->get('status');
                 $od_numero = $odirect->get('numero');
                 $od_estadmin = $odirect->get('estadmin');
                 $od_fondo = $odirect->get('fondo');
                 $od_ivag = $odirect->get('ivag');
                 $od_ivaa = $odirect->get('ivaa');
                 $od_ivar = $odirect->get('ivar');
                 $od_reten = $odirect->get('reten');
                 $od_reteiva = $odirect->get('reteiva');
                 $od_subtotal = $odirect->get('subtotal');
                 $od_pr = $od_reten * 100 / $od_subtotal;
                 if ($status == "F3") {
                     for ($g = 0; $g < $odirect->count_rel('pacom'); $g++) {
                         $p_t = $odirect->get_rel('pacom', 'total', $g);
                         $p_compra = $odirect->get_rel('pacom', 'compra', $g);
                         $ocompra->load($p_compra);
                         $oc_codigoadm = $ocompra->get('estadmin');
                         $oc_fondo = $ocompra->get('fondo');
                         $oc_status = $ocompra->get('status');
                         //$pagado=$this->datasis->dameval("SELECT SUM(a.monto) FROM itppro a JOIN mbanc d ON d.id=a.mbanc JOIN odirect b ON a.orden=b.numero JOIN pacom c ON b.numero=c.pago WHERE c.compra=$p_compra AND d.status='E2'");
                         //$pagado+=$it_monto;
                         //
                         $ivaa = $ocompra->get('ivaa');
                         $ivag = $ocompra->get('ivag');
                         $ivar = $ocompra->get('ivar');
                         //$subtotal  =  $ocompra->get('subtotal');
                         $reteiva = $ocompra->get('reteiva');
                         $reten = $ocompra->get('reten');
                         $ivan = $ivag + $ivar + $ivaa;
                         //$total     =  $subtotal+($ivan-($reteiva+$reten));
                         //if($total==$pagado){
                         $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo);
                         $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                         $pk['codigopres'] = $partidaiva;
                         $presup->load($pk);
                         $pasignacion = $presup->get("asignacion");
                         $odirect->count_rel('pacom');
                         for ($h = 0; $h < $odirect->count_rel('pacom'); $h++) {
                             for ($k = 0; $k < $ocompra->count_rel('itocompra'); $k++) {
                                 $codigopres = $ocompra->get_rel('itocompra', 'partida', $k);
                                 $importe = $ocompra->get_rel('itocompra', 'importe', $k);
                                 $islrid = $ocompra->get_rel('itocompra', 'islrid', $k);
                                 //$mont        = $importe*(($iva+100)/100);
                                 //$i_islr      = $importe*$od_pr/100;
                                 //$mont        = $importe-$i_islr;
                                 $ordinal = $ocompra->get_rel('itocompra', 'ordinal', $k);
                                 $iva = $ocompra->get_rel('itocompra', 'iva', $k);
                                 if ($pasignacion > 0) {
                                     $mont = $importe;
                                 } else {
                                     $mont = $importe + $importe * $iva / 100;
                                 }
                                 $pk['codigopres'] = $codigopres;
                                 $presup->load($pk);
                                 $pagado = $presup->get("pagado");
                                 $pagado = $pagado - $mont;
                                 $presup->set("pagado", $pagado);
                                 $presup->save();
                                 if (!empty($ordinal)) {
                                     $ord->load(array("codigoadm" => $oc_codigoadm, "fondo" => $oc_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                                     $opa = $ord->get("pagado");
                                     $opa -= $mont;
                                     $ord->set("pagado", $opa);
                                     $ord->save();
                                 }
                                 //$islr   = new DataObject("islr");
                                 //if(!empty($islrid))
                                 //	$islr->load($islrid);
                                 //
                                 //$islr->set('status' , 'A' );
                                 //$islr->save();
                             }
                             if ($pasignacion > 0) {
                                 $pk['codigopres'] = $partidaiva;
                                 $presup->load($pk);
                                 $pagado = $presup->get("pagado");
                                 $pagado -= $ivan - $reteiva;
                                 $presup->set("pagado", $pagado);
                                 $presup->save();
                             }
                             $this->sp_presucalc($oc_codigoadm);
                             $riva->load_where('ocompra', $p_compra);
                             $riva->set('status', 'A');
                             //print_r($riva->get_all());
                             $riva->save();
                         }
                         $ocompra->set('status', 'O');
                         $ocompra->save();
                         //}
                         $odirect->set('status', 'F2');
                         $odirect->save();
                     }
                     //exit('assaas');
                 } elseif ($status == "B3" || $status == "I3") {
                     $pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
                     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                     $pk['codigopres'] = $partidaiva;
                     $presup->load($pk);
                     $pasignacion = $presup->get("asignacion");
                     for ($g = 0; $g < $odirect->count_rel('itodirect'); $g++) {
                         $codigopres = $odirect->get_rel('itodirect', 'partida', $g);
                         $importe = $odirect->get_rel('itodirect', 'importe', $g);
                         $piva = $odirect->get_rel('itodirect', 'iva', $g);
                         $islrid = $odirect->get_rel('itodirect', 'islrid', $g);
                         echo $ordinal = $odirect->get_rel('itodirect', 'ordinal', $g);
                         $i_islr = $importe * $od_pr / 100;
                         //exit('12');
                         if ($pasignacion > 0) {
                             $mont = $importe;
                         } else {
                             $mont = $importe + $importe * $piva / 100;
                         }
                         $pk['codigopres'] = $codigopres;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado = $pagado - ($mont - $i_islr);
                         $presup->set("pagado", $pagado);
                         $presup->save();
                         if (!empty($ordinal)) {
                             $ord->load(array("codigoadm" => $od_estadmin, "fondo" => $od_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                             print_r($ord->get_all());
                             $opa = $ord->get("pagado");
                             $opa -= $mont - $i_islr;
                             $ord->set("pagado", $opa);
                             $ord->save();
                         }
                         //exit('ww');
                     }
                     if ($status == "B3") {
                         $riva->load_where('odirect', $od_numero);
                         $riva->set('status', 'A');
                         $riva->save();
                         $ii = $od_ivaa + $od_ivag + $od_ivar - $od_reteiva;
                         if ($pasignacion > 0) {
                             $pk['codigopres'] = $partidaiva;
                             $presup->load($pk);
                             $pagado = $presup->get("pagado");
                             $pagado -= $ii;
                             $presup->set("pagado", $pagado);
                             $presup->save();
                         }
                         $odirect->set('status', 'B2');
                         $odirect->save();
                         $this->sp_presucalc($od_estadmin);
                     }
                 } elseif ($status == 'S3') {
                     $pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
                     for ($g = 0; $g < $odirect->count_rel('islr'); $g++) {
                         $islrid = '';
                         $codigopres = $odirect->get_rel('islr', 'partida', $g);
                         $i_islr = $odirect->get_rel('islr', 'islr', $g);
                         $pk['codigopres'] = $codigopres;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado -= $i_islr;
                         $presup->set("pagado", $pagado);
                         $presup->save();
                         $codigopres = $odirect->set_rel('islr', 'status', 'B', $g);
                     }
                     $odirect->set('status', 'S2');
                     $odirect->save();
                     $this->sp_presucalc($codigoadm);
                 } elseif ($status == 'R3') {
                     $odirect->set('status', 'R2');
                 } elseif ($status == 'G3') {
                     $odirect->set('status', 'G2');
                 } else {
                     $error .= "<div class='alert'><p>No se puede realizar la operacion para la orden de pago ({$od_numero})</p></div>";
                 }
             }
             $odirect->save();
             //exit('hgghhgg');
             if ($status == "B2") {
                 $islr = new DataObject("islr");
                 $islrid = $do->get->islr('islrid');
                 if (!empty($islrid)) {
                     $islr->load($islrid);
                     $islr->set('status', 'A');
                     $islr->save();
                 }
             }
         } else {
             $error .= "<div class='alert'><p>Error aun no determinado</p></div>";
         }
     } else {
         $error .= "<div class='alert'><p>No se Puede Completar la operacion s</p></div>";
     }
     if (empty($error)) {
         $mbanc->set('status', 'E1');
         $mbanc->save();
         $saldo += $m_monto;
         $banc->set('saldo', $saldo);
         $banc->save();
         redirect($this->url . "dataedit/show/{$id}");
     } else {
         $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar');
         $data['title'] = " " . $this->t**s . " ";
         $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js");
         $this->load->view('view_ventanas', $data);
     }
 }
Example #2
0
 function duplicar($numero)
 {
     $this->rapyd->load('dataobject', 'datadetails');
     $do = new DataObject("ocompra");
     $do->order_by('itocompra', 'itocompra.id', 'desc');
     $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $do->load($numero);
     $donew = new DataObject("ocompra");
     $donew->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $campos = $do->get_all();
     unset($campos['itocompra']);
     foreach ($campos as $k => $v) {
         $donew->set($k, $v);
     }
     $ntransac = $this->datasis->fprox_numero('ntransac');
     $donew->set('numero', '_' . $ntransac);
     $donew->set('status', 'M');
     //$donew->pk    =array('numero'=>'_'.$ntransac);
     for ($i = 0; $i < $do->count_rel('itocompra'); $i++) {
         $donew->set_rel('itocompra', 'numero', '_' . $ntransac, $i);
         $donew->set_rel('itocompra', 'id', '', $i);
         $donew->set_rel('itocompra', 'descripcion', $do->get_rel('itocompra', 'descripcion', $i), $i);
         $donew->set_rel('itocompra', 'unidad', $do->get_rel('itocompra', 'unidad', $i), $i);
         $donew->set_rel('itocompra', 'cantidad', $do->get_rel('itocompra', 'cantidad', $i), $i);
         $donew->set_rel('itocompra', 'precio', $do->get_rel('itocompra', 'precio', $i), $i);
         $donew->set_rel('itocompra', 'importe', $do->get_rel('itocompra', 'importe', $i), $i);
         $donew->set_rel('itocompra', 'iva', $do->get_rel('itocompra', 'iva', $i), $i);
         $donew->set_rel('itocompra', 'usaislr', $do->get_rel('itocompra', 'usaislr', $i), $i);
         $donew->set_rel('itocompra', 'islr', $do->get_rel('itocompra', 'islr', $i), $i);
         $donew->set_rel('itocompra', 'partida', $do->get_rel('itocompra', 'partida', $i), $i);
         $donew->set_rel('itocompra', 'preten', $do->get_rel('itocompra', 'preten', $i), $i);
         $donew->set_rel('itocompra', 'codigoadm', $do->get_rel('itocompra', 'codigoadm', $i), $i);
         $donew->set_rel('itocompra', 'fondo', $do->get_rel('itocompra', 'fondo', $i), $i);
         $donew->set_rel('itocompra', 'esiva', $do->get_rel('itocompra', 'esiva', $i), $i);
     }
     $donew->save();
     redirect($this->url . 'dataedit/modify/_' . $ntransac);
 }
Example #3
0
 function actualizar($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $ord = new DataObject("ordinal");
     $mbanc = new DataObject("mbanc");
     $mbanc->rel_one_to_many('itppro', 'itppro', array('id' => 'mbanc'));
     $mbanc->load($id);
     $m_codbanc = $mbanc->get('codbanc');
     $m_monto = $mbanc->get('monto');
     $banc = new DataObject("banc");
     $banc->load($m_codbanc);
     $saldo = $banc->get('saldo');
     $activo = $banc->get('activo');
     $odirect = new DataObject("odirect");
     $odirect->rel_one_to_many('pacom', 'pacom', array('numero' => 'pago'));
     $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $odirect->rel_one_to_many('itfac', 'itfac', array('numero' => 'numero'));
     //$odirect -> rel_one_to_many('islr', 'islr', array('numero'=>'odirect'));
     //$odirect->pointer('sprv' ,'sprv.proveed = odirect.cod_prov','sprv.nomfis as nom_prov, sprv.rif as rif_prov','LEFT');
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     //$ocompra->pointer('sprv' ,'sprv.proveed=ocompra.cod_prov','sprv.nombre as nom_prov, sprv.rif as rif_prov');
     $riva = new DataObject("riva");
     $presup = new DataObject("presupuesto");
     $presupante = new DataObject("presupuestoante");
     $ordinalante = new DataObject("ordinalante");
     //$islr   = new DataObject("islr");
     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
     if ($activo != 'S') {
         $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>";
     }
     if ($m_monto > $saldo) {
         $error .= "<div class='alert'><p>El Monto ({$tot}) del cheque es mayor al disponible ({$saldo}) en el banco ({$banco})</p></div>";
     }
     $sta = $mbanc->get('status');
     if ($sta == "E1") {
         $mbanc->set('status', 'E2');
         $m_benefi = $mbanc->get('benefi');
         $t = 0;
         if (empty($error)) {
             $tislr = 0;
             for ($j = 0; $j < $mbanc->count_rel('itppro'); $j++) {
                 $orden = $mbanc->get_rel('itppro', 'orden', $j);
                 $it_monto = $mbanc->get_rel('itppro', 'monto', $j);
                 //			echo $orden;
                 $odirect->load($orden);
                 //$odirect->load_where('numero',$orden);
                 //				print_r($odirect->get_all());
                 //exit();
                 $status = $odirect->get('status');
                 $od_numero = $odirect->get('numero');
                 $od_estadmin = $odirect->get('estadmin');
                 $od_fondo = $odirect->get('fondo');
                 $od_subtotal = $odirect->get('subtotal');
                 $od_ivag = $odirect->get('ivag');
                 $od_ivaa = $odirect->get('ivaa');
                 $od_ivar = $odirect->get('ivar');
                 $od_reten = $odirect->get('reten');
                 $od_reteiva = $odirect->get('reteiva');
                 $od_fechafac = $odirect->get('fechafac');
                 $od_cod_prov = $odirect->get('cod_prov');
                 $od_creten = $odirect->get('creten');
                 $od_multiple = $odirect->get('multiple');
                 $od_pr = $od_reten * 100 / $od_subtotal;
                 //echo $od_numero;
                 //exit($status);
                 echo $status . "----";
                 if ($status == "F2") {
                     echo "F2";
                     for ($g = 0; $g < $odirect->count_rel('pacom'); $g++) {
                         $p_t = $odirect->get_rel('pacom', 'total', $g);
                         $p_compra = $odirect->get_rel('pacom', 'compra', $g);
                         //echo $p_compra;
                         $ocompra->load($p_compra);
                         //	print_r($ocompra->get_all());
                         //exit();
                         $oc_codigoadm = $ocompra->get('estadmin');
                         $oc_fondo = $ocompra->get('fondo');
                         $oc_status = $ocompra->get('status');
                         $oc_cod_prov = $ocompra->get('cod_prov');
                         $oc_creten = $ocompra->get('creten');
                         $oc_fechafac = $ocompra->get('fechafac');
                         //echo "SELECT SUM(a.monto) FROM itppro a JOIN mbanc d ON d.id=a.mbanc JOIN odirect b ON a.orden=b.numero JOIN pacom c ON b.numero=c.pago WHERE c.compra=$p_compra AND d.status='E2'";
                         $pagado = $this->datasis->dameval("SELECT SUM(a.monto) FROM itppro a JOIN mbanc d ON d.id=a.mbanc JOIN odirect b ON a.orden=b.numero JOIN pacom c ON b.numero=c.pago WHERE c.compra={$p_compra} AND d.status='E2'");
                         $pagado += $it_monto;
                         //echo $pagado;
                         $ivaa = $ocompra->get('ivaa');
                         $ivag = $ocompra->get('ivag');
                         $ivar = $ocompra->get('ivar');
                         $subtotal = $ocompra->get('subtotal');
                         $reteiva = $ocompra->get('reteiva');
                         $impmunicipal = $ocompra->get('imptimbre');
                         $imptimbre = $ocompra->get('impmunicipal');
                         $tislr = $reten = $ocompra->get('reten');
                         $ivan = $ivag + $ivar + $ivaa;
                         //$total        =  ($subtotal - $reten)+($ivan-($reteiva))-$impmunicipal -$imptimbre;
                         echo $total = $ocompra->get('total');
                         //exit();
                         //$pr = $reten*100/$subtotal;
                         echo $total . "AAAAAAAAAAAAAAAAASSSSSSSSSSSSSSSSSSSSDFDDDDDDDDDDDDDDDdd";
                         if ($total) {
                             //==$pagado
                             //	echo "entro";
                             $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo);
                             $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                             $pk['codigopres'] = $partidaiva;
                             $presup->load($pk);
                             $pasignacion = $presup->get("asignacion");
                             for ($h = 0; $h < $odirect->count_rel('pacom'); $h++) {
                                 $p_compra = $odirect->get_rel('pacom', 'compra', $h);
                                 echo $p_compra . "-----";
                                 $ocompra->load($p_compra);
                                 $oc_codigoadm = $ocompra->get('estadmin');
                                 $oc_fondo = $ocompra->get('fondo');
                                 $reteiva_prov = $ocompra->get('reteiva_prov');
                                 for ($k = 0; $k < $ocompra->count_rel('itocompra'); $k++) {
                                     $islrid = '';
                                     $codigopres = $ocompra->get_rel('itocompra', 'partida', $k);
                                     $importe = $ocompra->get_rel('itocompra', 'importe', $k);
                                     $iva = $ocompra->get_rel('itocompra', 'iva', $k);
                                     $ordinal = $ocompra->get_rel('itocompra', 'ordinal', $k);
                                     //$islr        = $ocompra->get_rel('itocompra','islr'   ,$k);
                                     //$imptimbre   = $ocompra->get_rel('itocompra','imptimbre',$k);
                                     //$impmunicipal= $ocompra->get_rel('itocompra','impmunicipal',$k);
                                     if ($pasignacion > 0) {
                                         $mont = $importe;
                                     } else {
                                         $mont = $importe + ($importe * $iva / 100 - $importe * $iva / 100 * $reteiva_prov / 100);
                                     }
                                     //-$islr-$imptimbre-$impmunicipal;
                                     $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo, 'codigopres' => $codigopres);
                                     echo "***" . $mont;
                                     $presup->load($pk);
                                     print_r($presup->get_all());
                                     $pagado = $presup->get("pagado");
                                     $pagado = $pagado + $mont;
                                     $presup->set("pagado", $pagado);
                                     $presup->save();
                                     if (!empty($ordinal)) {
                                         $arr = array("codigoadm" => $oc_codigoadm, "fondo" => $oc_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal);
                                         //print_r($arr);
                                         $ord->load($arr);
                                         print_r($ord->get_all());
                                         $pag = $ord->get("pagado");
                                         $pag += $mont;
                                         $ord->set("pagado", $pag);
                                         $ord->save();
                                     }
                                 }
                                 $ii = $ivan - $reteiva;
                                 if ($pasignacion > 0) {
                                     $pk['codigopres'] = $partidaiva;
                                     $presup->load($pk);
                                     $pagado = $presup->get("pagado");
                                     $pagado += $ii;
                                     $presup->set("pagado", $pagado);
                                     $presup->save();
                                 }
                                 $this->sp_presucalc($oc_codigoadm);
                                 if ($reteiva > 0) {
                                     $riva = new dataobject("riva");
                                     //$riva->load_where('ocompra',$p_compra);
                                     $prov = $this->datasis->damerow("SELECT nombre,rif FROM sprv WHERE proveed = '" . $ocompra->get('cod_prov') . "'");
                                     $riva->set('ocompra', $p_compra);
                                     $riva->set('odirect', $od_numero);
                                     $riva->set('emision', date('Ymd'));
                                     $riva->set('periodo', date('Ym'));
                                     $riva->set('tipo_doc', '');
                                     $riva->set('fecha', date('Ymd'));
                                     $riva->set('numero', $ocompra->get('factura'));
                                     $riva->set('ffactura', $ocompra->get('fechafac'));
                                     $riva->set('nfiscal', $ocompra->get('controlfac'));
                                     $riva->set('clipro', $ocompra->get('cod_prov'));
                                     $riva->set('nombre', $prov['nombre']);
                                     $riva->set('rif', $prov['rif']);
                                     $riva->set('exento', $ocompra->get('exento'));
                                     $riva->set('tasa', $ocompra->get('tivag'));
                                     $riva->set('general', $ocompra->get('mivag'));
                                     $riva->set('geneimpu', $ocompra->get('ivag'));
                                     $riva->set('tasaadic', $ocompra->get('tivaa'));
                                     $riva->set('adicional', $ocompra->get('mivag'));
                                     $riva->set('adicimpu', $ocompra->get('ivaa'));
                                     $riva->set('tasaredu', $ocompra->get('tivar'));
                                     $riva->set('reducida', $ocompra->get('mivar'));
                                     $riva->set('reduimpu', $ocompra->get('ivar'));
                                     $riva->set('stotal', $ocompra->get('subtotal'));
                                     $riva->set('impuesto', $ocompra->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa'));
                                     $riva->set('gtotal', $ocompra->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa') + $ocompra->get('subtotal'));
                                     $riva->set('reiva', $ocompra->get('reteiva'));
                                     $riva->set('status', 'B');
                                     $riva->set('banc', $banc->get('banco'));
                                     $riva->set('numcuent', $banc->get('numcuent'));
                                     $riva->set('codbanc', $banc->get('codbanc'));
                                     $riva->set('odirect', $od_numero);
                                     $riva->set('mbanc', $id);
                                     $riva->set('reteiva_prov', $ocompra->get('reteiva_prov'));
                                     $riva->save();
                                 }
                             }
                             $ocompra->set('status', 'E');
                             $ocompra->save();
                             //$this->db->simple_query("UPDATE ocompra SET status = 'E' WHERE numero = $ ");
                             //$ocompra->save();
                         }
                         //exit('aaaa');
                         $odirect->set('status', 'F3');
                         $odirect->save();
                     }
                     $odirect->save();
                 } elseif ($status == "B2") {
                     echo "B2" . $orden . "---";
                     $ivaa = $od_ivaa;
                     $ivag = $od_ivag;
                     $ivar = $od_ivar;
                     $subtotal = $od_subtotal;
                     $reteiva = $od_reteiva;
                     $tislr = $reten = $od_reten;
                     $ivan = $ivag + $ivar + $ivaa;
                     $total = $subtotal - $reten + ($ivan - $reteiva);
                     $pr = $reten * 100 / $subtotal;
                     $pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
                     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                     $pk['codigopres'] = $partidaiva;
                     $presup->load($pk);
                     $pasignacion = $presup->get("asignacion");
                     $reteiva_prov = $odirect->get('reteiva_prov');
                     for ($g = 0; $g < $odirect->count_rel('itodirect'); $g++) {
                         $islrid = '';
                         $codigopres = $odirect->get_rel('itodirect', 'partida', $g);
                         $importe = $odirect->get_rel('itodirect', 'importe', $g);
                         $piva = $odirect->get_rel('itodirect', 'iva', $g);
                         $islrid = $odirect->get_rel('itodirect', 'islrid', $g);
                         $ordinal = $odirect->get_rel('itodirect', 'ordinal', $g);
                         $i_islr = $importe * $od_pr / 100;
                         if ($pasignacion > 0) {
                             $mont = $importe;
                         } else {
                             $mont = $importe + ($importe * $iva / 100 - $importe * $iva / 100 * $reteiva_prov / 100);
                         }
                         $pk['codigopres'] = $codigopres;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado = $pagado + ($mont - $i_islr);
                         $presup->set("pagado", $pagado);
                         $presup->save();
                         if (!empty($ordinal)) {
                             $ord->load(array("codigoadm" => $od_estadmin, "fondo" => $od_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                             print_r($ordinal);
                             $opa = $ord->get("pagado");
                             $opa += $mont - $i_islr;
                             $ord->set("pagado", $opa);
                             $ord->save();
                         }
                         //exit('cafe');
                         //if($status == "B2"){
                         //
                         //	$islr   = new DataObject("islr");
                         //	if(!empty($islrid))
                         //		$islr->load($islrid);
                         //
                         //	$islr->set('estadmin'      , $od_estadmin        );
                         //	$islr->set('fondo'         , $od_fondo           );
                         //	$islr->set('partida'       , $codigopres         );
                         //	$islr->set('codprov'       , $od_cod_prov        );
                         //	$islr->set('fechafac'      , $od_fechafac        );
                         //	$islr->set('benefi'        , $m_benefi           );
                         //	$islr->set('porcen'        , $pr                 );
                         //	//$islr->set('sustraendo'    ,                     );
                         //	$islr->set('islr'          , $i_islr             );
                         //	$islr->set('fecha'         , date('Ymd')         );
                         //	$islr->set('creten'        , $od_creten          );
                         //	$islr->set('odirect'       , $islrid             );
                         //	$islr->set('status'        , 'B'                 );
                         //	$islr->save();
                         //	$islrid = $islr->get('id');
                         //
                         //	$odirect->set_rel('itodirect','islrid',$islrid ,$g);
                         //
                         //}
                     }
                     if ($status == 'I2') {
                         $odirect->set('status', 'I3');
                     }
                     if ($status == "B2") {
                         $prov = $this->datasis->damerow("SELECT nombre,rif FROM sprv WHERE proveed = '" . $odirect->get('cod_prov') . "'");
                         if ($odirect->get('reteiva') > 0) {
                             if ($odirect->get('multiple') == 'N') {
                                 $reteiva = $odirect->get('reteiva');
                                 if ($reteiva > 0) {
                                     //$riva->load_where('odirect',$od_numero);
                                     $riva->set('odirect', $od_numero);
                                     $riva->set('emision', date('Ymd'));
                                     $riva->set('periodo', date('Ym'));
                                     $riva->set('tipo_doc', '');
                                     $riva->set('fecha', date('Ymd'));
                                     $riva->set('numero', $odirect->get('factura'));
                                     $riva->set('ffactura', $odirect->get('fechafac'));
                                     $riva->set('nfiscal', $odirect->get('controlfac'));
                                     $riva->set('clipro', $odirect->get('cod_prov'));
                                     $riva->set('nombre', $prov['nombre']);
                                     $riva->set('rif', $prov['rif']);
                                     $riva->set('exento', $odirect->get('exento'));
                                     $riva->set('tasa', $odirect->get('tivag'));
                                     $riva->set('general', $odirect->get('mivag'));
                                     $riva->set('geneimpu', $odirect->get('ivag'));
                                     $riva->set('tasaadic', $odirect->get('tivaa'));
                                     $riva->set('adicional', $odirect->get('mivag'));
                                     $riva->set('adicimpu', $odirect->get('ivaa'));
                                     $riva->set('tasaredu', $odirect->get('tivar'));
                                     $riva->set('reducida', $odirect->get('mivar'));
                                     $riva->set('reduimpu', $odirect->get('ivar'));
                                     $riva->set('stotal', $odirect->get('subtotal'));
                                     $riva->set('impuesto', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa'));
                                     $riva->set('gtotal', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa') + $odirect->get('subtotal'));
                                     $riva->set('reiva', $odirect->get('reteiva'));
                                     $riva->set('status', 'B');
                                     $riva->set('mbanc', $id);
                                     $riva->set('reteiva_prov', $odirect->get('reteiva_prov'));
                                     $riva->set('banc', $banc->get('banco'));
                                     $riva->set('numcuent', $banc->get('numcuent'));
                                     $riva->set('codbanc', $banc->get('codbanc'));
                                     $riva->save();
                                 }
                             } elseif ($odirect->get('multiple') == 'S') {
                                 for ($l = 0; $l < $odirect->count_rel('itfac'); $l++) {
                                     //echo "----";
                                     echo $iditfac = $odirect->get_rel('itfac', 'id', $l);
                                     //echo "----";
                                     $reteiva = $odirect->get_rel('itfac', 'reteiva');
                                     if ($reteiva > 0) {
                                         $riva = new DataObject('riva');
                                         //$riva->load_where('itfac',$iditfac);
                                         //print_r($riva->get_all());
                                         $riva->set('odirect', $od_numero);
                                         $riva->set('itfac', $iditfac);
                                         $riva->set('emision', date('Ymd'));
                                         $riva->set('periodo', date('Ym'));
                                         $riva->set('tipo_doc', '');
                                         $riva->set('fecha', date('Ymd'));
                                         $riva->set('numero', $odirect->get_rel('itfac', 'factura', $l));
                                         $riva->set('ffactura', $odirect->get_rel('itfac', 'fechafac', $l));
                                         $riva->set('nfiscal', $odirect->get_rel('itfac', 'controlfac', $l));
                                         $riva->set('clipro', $odirect->get('cod_prov'));
                                         $riva->set('nombre', $prov['nombre']);
                                         $riva->set('rif', $prov['rif']);
                                         $riva->set('exento', $odirect->get_rel('itfac', 'exento', $l));
                                         $riva->set('tasa', $odirect->get('tivag'));
                                         $riva->set('general', $odirect->get_rel('itfac', 'ivag', $l) * 100 / $odirect->get('tivag'));
                                         $riva->set('geneimpu', $odirect->get_rel('itfac', 'ivag', $l));
                                         $riva->set('tasaadic', $odirect->get('tivaa'));
                                         $riva->set('adicional', $odirect->get_rel('itfac', 'ivaa', $l) * 100 / $odirect->get('tivaa'));
                                         $riva->set('adicimpu', $odirect->get_rel('itfac', 'ivaa', $l));
                                         $riva->set('tasaredu', $odirect->get('tivar'));
                                         $riva->set('reducida', $odirect->get_rel('itfac', 'ivar', $l) * 100 / $odirect->get('tivar'));
                                         $riva->set('reduimpu', $odirect->get_rel('itfac', 'ivar', $l));
                                         $riva->set('stotal', $odirect->get_rel('itfac', 'subtotal', $l));
                                         $riva->set('impuesto', $odirect->get_rel('itfac', 'ivag', $l) + $odirect->get_rel('itfac', 'ivar', $l) + $odirect->get_rel('itfac', 'ivaa', $l));
                                         $riva->set('gtotal', $odirect->get_rel('itfac', 'ivag', $l) + $odirect->get_rel('itfac', 'ivar', $l) + $odirect->get_rel('itfac', 'ivaa', $l) + $odirect->get_rel('itfac', 'subtotal', $l));
                                         $riva->set('reiva', $odirect->get_rel('itfac', 'reteiva', $l));
                                         $riva->set('status', 'B');
                                         $riva->set('mbanc', $id);
                                         $riva->set('reteiva_prov', $odirect->get('reteiva_prov'));
                                         $riva->set('banc', $banc->get('banco'));
                                         $riva->set('numcuent', $banc->get('numcuent'));
                                         $riva->set('codbanc', $banc->get('codbanc'));
                                         $riva->save();
                                     }
                                 }
                                 //echo $odirect->get('multiple');
                                 //echo $odirect->get('reteiva');
                                 //exit('-----');
                             }
                         }
                     }
                     $ii = $od_ivaa + $od_ivag + $od_ivar - $od_reteiva;
                     if ($pasignacion > 0) {
                         $pk['codigopres'] = $partidaiva;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado += $ii;
                         $presup->set("pagado", $pagado);
                         $presup->save();
                     }
                     $odirect->set('status', 'B3');
                     $this->sp_presucalc($od_estadmin);
                     $odirect->save();
                 } elseif ($status == "N2") {
                     echo "N2";
                     $ivaa = $od_ivaa;
                     $ivag = $od_ivag;
                     $ivar = $od_ivar;
                     $subtotal = $od_subtotal;
                     $reteiva = $od_reteiva;
                     $tislr = $reten = $od_reten;
                     $ivan = $ivag + $ivar + $ivaa;
                     $total = $subtotal - $reten + ($ivan - $reteiva);
                     $pr = $reten * 100 / $subtotal;
                     $pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
                     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                     $pk['codigopres'] = $partidaiva;
                     $presupante->load($pk);
                     $pasignacion = $presupante->get("asignacion");
                     $reteiva_prov = $odirect->get('reteiva_prov');
                     for ($g = 0; $g < $odirect->count_rel('itodirect'); $g++) {
                         $islrid = '';
                         $codigopres = $odirect->get_rel('itodirect', 'partida', $g);
                         $importe = $odirect->get_rel('itodirect', 'importe', $g);
                         $piva = $odirect->get_rel('itodirect', 'iva', $g);
                         $islrid = $odirect->get_rel('itodirect', 'islrid', $g);
                         $ordinal = $odirect->get_rel('itodirect', 'ordinal', $g);
                         $i_islr = $importe * $od_pr / 100;
                         if ($pasignacion > 0) {
                             $mont = $importe;
                         } else {
                             $mont = $importe + ($importe * $iva / 100 - $importe * $iva / 100 * $reteiva_prov / 100);
                         }
                         $pk['codigopres'] = $codigopres;
                         $presupante->load($pk);
                         $pagado = $presupante->get("pagado");
                         $pagado = $pagado + ($mont - $i_islr);
                         $presupante->set("pagado", $pagado);
                         $presupante->save();
                         if (!empty($ordinal)) {
                             $ordinalante->load(array("codigoadm" => $od_estadmin, "fondo" => $od_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                             print_r($ordinal);
                             $opa = $ordinalante->get("pagado");
                             $opa += $mont - $i_islr;
                             $ordinalante->set("pagado", $opa);
                             $ordinalante->save();
                         }
                         $reteiva = $odirect->get('reteiva');
                         if ($reteiva > 0) {
                             //$riva->load_where('odirect',$od_numero);
                             $riva->set('odirect', $od_numero);
                             $riva->set('emision', date('Ymd'));
                             $riva->set('periodo', date('Ym'));
                             $riva->set('tipo_doc', '');
                             $riva->set('fecha', date('Ymd'));
                             $riva->set('numero', $odirect->get('factura'));
                             $riva->set('ffactura', $odirect->get('fechafac'));
                             $riva->set('nfiscal', $odirect->get('controlfac'));
                             $riva->set('clipro', $odirect->get('cod_prov'));
                             $riva->set('nombre', $prov['nombre']);
                             $riva->set('rif', $prov['rif']);
                             $riva->set('exento', $odirect->get('exento'));
                             $riva->set('tasa', $odirect->get('tivag'));
                             $riva->set('general', $odirect->get('mivag'));
                             $riva->set('geneimpu', $odirect->get('ivag'));
                             $riva->set('tasaadic', $odirect->get('tivaa'));
                             $riva->set('adicional', $odirect->get('mivag'));
                             $riva->set('adicimpu', $odirect->get('ivaa'));
                             $riva->set('tasaredu', $odirect->get('tivar'));
                             $riva->set('reducida', $odirect->get('mivar'));
                             $riva->set('reduimpu', $odirect->get('ivar'));
                             $riva->set('stotal', $odirect->get('subtotal'));
                             $riva->set('impuesto', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa'));
                             $riva->set('gtotal', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa') + $odirect->get('subtotal'));
                             $riva->set('reiva', $odirect->get('reteiva'));
                             $riva->set('status', 'B');
                             $riva->set('mbanc', $id);
                             $riva->set('reteiva_prov', $odirect->get('reteiva_prov'));
                             $riva->set('banc', $banc->get('banco'));
                             $riva->set('numcuent', $banc->get('numcuent'));
                             $riva->set('codbanc', $banc->get('codbanc'));
                             $riva->save();
                         }
                         //exit('cafe');
                         //if($status == "B2"){
                         //
                         //	$islr   = new DataObject("islr");
                         //	if(!empty($islrid))
                         //		$islr->load($islrid);
                         //
                         //	$islr->set('estadmin'      , $od_estadmin        );
                         //	$islr->set('fondo'         , $od_fondo           );
                         //	$islr->set('partida'       , $codigopres         );
                         //	$islr->set('codprov'       , $od_cod_prov        );
                         //	$islr->set('fechafac'      , $od_fechafac        );
                         //	$islr->set('benefi'        , $m_benefi           );
                         //	$islr->set('porcen'        , $pr                 );
                         //	//$islr->set('sustraendo'    ,                     );
                         //	$islr->set('islr'          , $i_islr             );
                         //	$islr->set('fecha'         , date('Ymd')         );
                         //	$islr->set('creten'        , $od_creten          );
                         //	$islr->set('odirect'       , $islrid             );
                         //	$islr->set('status'        , 'B'                 );
                         //	$islr->save();
                         //	$islrid = $islr->get('id');
                         //
                         //	$odirect->set_rel('itodirect','islrid',$islrid ,$g);
                         //
                         //}
                     }
                     if ($status == "B2") {
                         $prov = $this->datasis->damerow("SELECT nombre,rif FROM sprv WHERE proveed = '" . $odirect->get('cod_prov') . "'");
                         if ($odirect->get('reteiva') > 0) {
                             if ($odirect->get('multiple') == 'N') {
                                 $reteiva = $odirect->get('reteiva');
                                 if ($reteiva > 0) {
                                     //$riva->load_where('odirect',$od_numero);
                                     $riva->set('odirect', $od_numero);
                                     $riva->set('emision', date('Ymd'));
                                     $riva->set('periodo', date('Ym'));
                                     $riva->set('tipo_doc', '');
                                     $riva->set('fecha', date('Ymd'));
                                     $riva->set('numero', $odirect->get('factura'));
                                     $riva->set('ffactura', $odirect->get('fechafac'));
                                     $riva->set('nfiscal', $odirect->get('controlfac'));
                                     $riva->set('clipro', $odirect->get('cod_prov'));
                                     $riva->set('nombre', $prov['nombre']);
                                     $riva->set('rif', $prov['rif']);
                                     $riva->set('exento', $odirect->get('exento'));
                                     $riva->set('tasa', $odirect->get('tivag'));
                                     $riva->set('general', $odirect->get('mivag'));
                                     $riva->set('geneimpu', $odirect->get('ivag'));
                                     $riva->set('tasaadic', $odirect->get('tivaa'));
                                     $riva->set('adicional', $odirect->get('mivag'));
                                     $riva->set('adicimpu', $odirect->get('ivaa'));
                                     $riva->set('tasaredu', $odirect->get('tivar'));
                                     $riva->set('reducida', $odirect->get('mivar'));
                                     $riva->set('reduimpu', $odirect->get('ivar'));
                                     $riva->set('stotal', $odirect->get('subtotal'));
                                     $riva->set('impuesto', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa'));
                                     $riva->set('gtotal', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa') + $odirect->get('subtotal'));
                                     $riva->set('reiva', $odirect->get('reteiva'));
                                     $riva->set('status', 'B');
                                     $riva->set('mbanc', $id);
                                     $riva->set('reteiva_prov', $odirect->get('reteiva_prov'));
                                     $riva->set('banc', $banc->get('banco'));
                                     $riva->set('numcuent', $banc->get('numcuent'));
                                     $riva->set('codbanc', $banc->get('codbanc'));
                                     $riva->save();
                                 }
                             } elseif ($odirect->get('multiple') == 'S') {
                                 for ($l = 0; $l < $odirect->count_rel('itfac'); $l++) {
                                     //echo "----";
                                     echo $iditfac = $odirect->get_rel('itfac', 'id', $l);
                                     //echo "----";
                                     $reteiva = $odirect->get_rel('itfac', 'reteiva');
                                     if ($reteiva > 0) {
                                         $riva = new DataObject('riva');
                                         //$riva->load_where('itfac',$iditfac);
                                         //print_r($riva->get_all());
                                         $riva->set('odirect', $od_numero);
                                         $riva->set('itfac', $iditfac);
                                         $riva->set('emision', date('Ymd'));
                                         $riva->set('periodo', date('Ym'));
                                         $riva->set('tipo_doc', '');
                                         $riva->set('fecha', date('Ymd'));
                                         $riva->set('numero', $odirect->get_rel('itfac', 'factura', $l));
                                         $riva->set('ffactura', $odirect->get_rel('itfac', 'fechafac', $l));
                                         $riva->set('nfiscal', $odirect->get_rel('itfac', 'controlfac', $l));
                                         $riva->set('clipro', $odirect->get('cod_prov'));
                                         $riva->set('nombre', $prov['nombre']);
                                         $riva->set('rif', $prov['rif']);
                                         $riva->set('exento', $odirect->get_rel('itfac', 'exento', $l));
                                         $riva->set('tasa', $odirect->get('tivag'));
                                         $riva->set('general', $odirect->get_rel('itfac', 'ivag', $l) * 100 / $odirect->get('tivag'));
                                         $riva->set('geneimpu', $odirect->get_rel('itfac', 'ivag', $l));
                                         $riva->set('tasaadic', $odirect->get('tivaa'));
                                         $riva->set('adicional', $odirect->get_rel('itfac', 'ivaa', $l) * 100 / $odirect->get('tivaa'));
                                         $riva->set('adicimpu', $odirect->get_rel('itfac', 'ivaa', $l));
                                         $riva->set('tasaredu', $odirect->get('tivar'));
                                         $riva->set('reducida', $odirect->get_rel('itfac', 'ivar', $l) * 100 / $odirect->get('tivar'));
                                         $riva->set('reduimpu', $odirect->get_rel('itfac', 'ivar', $l));
                                         $riva->set('stotal', $odirect->get_rel('itfac', 'subtotal', $l));
                                         $riva->set('impuesto', $odirect->get_rel('itfac', 'ivag', $l) + $odirect->get_rel('itfac', 'ivar', $l) + $odirect->get_rel('itfac', 'ivaa', $l));
                                         $riva->set('gtotal', $odirect->get_rel('itfac', 'ivag', $l) + $odirect->get_rel('itfac', 'ivar', $l) + $odirect->get_rel('itfac', 'ivaa', $l) + $odirect->get_rel('itfac', 'subtotal', $l));
                                         $riva->set('reiva', $odirect->get_rel('itfac', 'reteiva'));
                                         $riva->set('status', 'B');
                                         $riva->set('mbanc', $id);
                                         $riva->set('reteiva_prov', $odirect->get('reteiva_prov'));
                                         $riva->set('banc', $banc->get('banco'));
                                         $riva->set('numcuent', $banc->get('numcuent'));
                                         $riva->set('codbanc', $banc->get('codbanc'));
                                         $riva->save();
                                     }
                                 }
                                 //echo $odirect->get('multiple');
                                 //echo $odirect->get('reteiva');
                                 //exit('-----');
                             }
                         }
                     }
                     $ii = $od_ivaa + $od_ivag + $od_ivar - $od_reteiva;
                     if ($pasignacion > 0) {
                         $pk['codigopres'] = $partidaiva;
                         $presupante->load($pk);
                         $pagado = $presupante->get("pagado");
                         $pagado += $ii;
                         $presupante->set("pagado", $pagado);
                         $presupante->save();
                     }
                     $odirect->set('status', 'N3');
                     $this->sp_presucalc($od_estadmin);
                     $odirect->save();
                 } elseif ($status == "I2") {
                     if ($status == 'I2') {
                         $odirect->set('status', 'I3');
                     }
                     $odirect->save();
                 } elseif ($status == "M2") {
                     if ($status == 'M2') {
                         $odirect->set('status', 'M3');
                     }
                     $odirect->save();
                 } elseif ($status == 'S2') {
                     echo "S2";
                     $pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
                     for ($g = 0; $g < $odirect->count_rel('islr'); $g++) {
                         $islrid = '';
                         $codigopres = $odirect->get_rel('islr', 'partida', $g);
                         $i_islr = $odirect->get_rel('islr', 'islr', $g);
                         $pk['codigopres'] = $codigopres;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado += $i_islr;
                         $presup->set("pagado", $pagado);
                         $presup->save();
                         $this->sp_presucalc($od_estadmin);
                         $codigopres = $odirect->set_rel('islr', 'status', 'C', $g);
                     }
                     $odirect->set('status', 'S3');
                     $odirect->save();
                 } elseif ($status == 'R2') {
                     echo "R2";
                     $odirect->set('status', 'R3');
                     $odirect->save();
                 } elseif ($status == 'G2') {
                     echo "G2";
                     $odirect->set('status', 'G3');
                     $odirect->save();
                 } elseif ($status == 'H2') {
                     $odirect->set('status', 'H3');
                     $odirect->save();
                 } elseif ($status == 'O2') {
                     $obr = $odirect->get('obr');
                     $iva = $odirect->get('iva');
                     $total2 = $odirect->get('total2');
                     $amortiza = $odirect->get('amortiza');
                     $obra = new DataObject("obra");
                     $obra->load($obr);
                     $codigoadm = $obra->get('codigoadm');
                     $fondo = $obra->get('fondo');
                     $codigopres = $obra->get('codigopres');
                     $ordinal = $obra->get('ordinal');
                     $mont = $total2 - $amortiza;
                     if (empty($error)) {
                         if (!empty($ordinal)) {
                             $pk = array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal);
                             $ord->load($pk);
                             $pag = $ord->get("pagado");
                             $pag += $mont;
                             $ord->set("pagado", $pag);
                             $ord->save();
                         } else {
                             $pk = array("codigoadm" => $codigoadm, "tipo" => $fondo, "codigopres" => $codigopres);
                             $presup->load($pk);
                             $pag = $presup->get("pagado");
                             $pag += $mont;
                             $presup->set("pagado", $pag);
                             $presup->save();
                         }
                         if ($odirect->get('reteiva') > 0) {
                             $prov = $this->datasis->damerow("SELECT nombre,rif FROM sprv WHERE proveed = '" . $odirect->get('cod_prov') . "'");
                             //$riva->load_where('odirect',$od_numero);
                             $riva->set('odirect', $od_numero);
                             $riva->set('emision', date('Ymd'));
                             $riva->set('periodo', date('Ym'));
                             $riva->set('tipo_doc', 'FC');
                             $riva->set('fecha', date('Ymd'));
                             $riva->set('numero', $odirect->get('factura'));
                             $riva->set('ffactura', $odirect->get('fechafac'));
                             $riva->set('nfiscal', $odirect->get('controlfac'));
                             $riva->set('clipro', $odirect->get('cod_prov'));
                             $riva->set('nombre', $prov['nombre']);
                             $riva->set('rif', $prov['rif']);
                             $riva->set('exento', $odirect->get('exento'));
                             $riva->set('tasa', $odirect->get('tivag'));
                             $riva->set('general', $odirect->get('mivag'));
                             $riva->set('geneimpu', $odirect->get('ivag'));
                             $riva->set('tasaadic', $odirect->get('tivaa'));
                             $riva->set('adicional', $odirect->get('mivag'));
                             $riva->set('adicimpu', $odirect->get('ivaa'));
                             $riva->set('tasaredu', $odirect->get('tivar'));
                             $riva->set('reducida', $odirect->get('mivar'));
                             $riva->set('reduimpu', $odirect->get('ivar'));
                             $riva->set('stotal', $odirect->get('subtotal'));
                             $riva->set('impuesto', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa'));
                             $riva->set('gtotal', $odirect->get('ivag') + $odirect->get('ivar') + $odirect->get('ivaa') + $odirect->get('subtotal'));
                             $riva->set('reiva', $odirect->get('reteiva'));
                             $riva->set('status', 'B');
                             $riva->set('mbanc', $id);
                             $riva->set('reteiva_prov', $odirect->get('reteiva_prov'));
                             $riva->set('banc', $banc->get('banco'));
                             $riva->set('numcuent', $banc->get('numcuent'));
                             $riva->set('codbanc', $banc->get('codbanc'));
                             $riva->save();
                         }
                     }
                     $odirect->set('status', 'O3');
                     $odirect->save();
                 } else {
                     $error .= "<div class='alert'><p>N se puede realizar la operacion para la orden de pago ({$od_numero})</p></div>";
                 }
             }
             $islrid = $mbanc->get('islrid');
             $islr = new DataObject("islr");
             if (!empty($islrid)) {
                 $islr->load($islrid);
             }
             if (date('d') > 15) {
                 $q = '02';
             } else {
                 $q = '01';
             }
             $islr->set('emision', date('Ymd'));
             $islr->set('periodo', $q . date('m'));
             $islr->set('clipro', $od_cod_prov);
             $islr->set('total', $tislr);
             $islr->set('status', 'B');
             $islr->save();
             $islrid = $islr->get('nrocomp');
             $mbanc->set('islrid', $islrid);
         } else {
             $error .= "<div class='alert'><p>Error aun no determinado</p></div>";
         }
     } else {
         $error .= "<div class='alert'><p>No se Puede Completar la operacion s</p></div>";
     }
     if (empty($error)) {
         $mbanc->set('status', 'E2');
         $mbanc->save();
         $saldo -= $m_monto;
         $banc->set('saldo', $saldo);
         $banc->save();
         logusu('ppro', "Actualizo movimiento Nro {$id}");
         redirect($this->url . "dataedit/show/{$id}");
     } else {
         logusu('ppro', "Actualizo movimiento Nro {$id}");
         $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar');
         $data['title'] = " " . $this->t**s . " ";
         $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js");
         $this->load->view('view_ventanas', $data);
     }
 }
Example #4
0
 function prueba()
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("stra");
     $do->rel_one_to_many('itstra', 'itstra', 'numero');
     $do->pointer('caub', 'caub.ubica=stra.envia', 'ubides as descrip');
     $do->rel_pointer('itstra', 'sinv', 'itstra.codigo=sinv.codigo', 'sinv.descrip as sinvdescrip');
     $do->load('00000006');
     /*$do->set('envia','0001');
     		$do->set_rel('itstra', 'descrip', 'Que bonita es esta vida 1',0);
     		$do->set_rel('itstra', 'descrip', 'Que bonita es esta vida 2',1);
     		$do->set_rel('itstra', 'descrip', 'Que bonita es esta vida 3',2);*/
     print_r($do->_pointer_data);
     print_r($do->_rel_pointer_data);
     print_r($do->get_all());
     //$do->save();
 }
Example #5
0
 function prepostprocess()
 {
     $message = "";
     //prepostprocess//
     $this->rapyd->load("dataobject");
     $do = new DataObject("articles");
     $do->set("title", "New Post");
     $do->set("body", "New body");
     $do->set("public", "n");
     $do->post_process("insert", "relate_article_one");
     $saved = $do->save();
     $message = '<strong>$do->save()</strong><hr/>';
     if ($saved) {
         $art_id = $do->get("article_id");
         $message .= "record <strong>{$art_id}</strong> created.<br/>";
         $message .= nl2br(var_export($do->get_all(), true)) . "<hr/>";
         $message .= $do->post_process_result;
         $do->pre_process("delete", "remove_rel_toany_article");
         $deleted = $do->delete();
         $message .= '</div><br/><div class="note">';
         $message .= '<strong>$do->delete()</strong><hr/>';
         $message .= "<strong>remove_rel_toany_article()</strong> pre_process func.<hr/>";
         if ($deleted) {
             $message .= "OK, article {$art_id} is now not related with any article<hr/>";
             $message .= "record of article {$art_id} deleted<hr/>";
         } else {
             $message .= "pre_process fails, so article {$art_id} not deleted<hr/>";
         }
     } else {
         $message = "creation fails<br/>";
     }
     $data["content"] = $message;
     //endprepostprocess//
     $content["content"] = $this->load->view('rapyd/prepostprocess', $data, true);
     $content["rapyd_head"] = "";
     $content["code"] = highlight_code_file(THISFILE, "//prepostprocess//", "//endprepostprocess//");
     $content["code"] .= '<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF8000">//relate_article_one function<br /></span><br/>';
     $content["code"] .= highlight_code_file(THISFILE, "//relatearticleone//", "//endrelatearticleone//");
     $content["code"] .= '<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF8000">//remove_rel_toany_article function<br /></span><br/>';
     $content["code"] .= highlight_code_file(THISFILE, "//removerelarticle//", "//endremoverelarticle//");
     $this->load->view('rapyd/template', $content);
 }
Example #6
0
 function creaanti($id = '')
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("rendi");
     $do->load($id);
     $observan = "Reintegro de Rendicion de Fondo en Avance Nro ({$id})";
     foreach ($do->get_all() as $key => $value) {
         ${$key} = $value;
     }
     $ueje = $this->datasis->dameval("SELECT uejecutora FROM odirect WHERE cod_prov=" . $this->db->escape($cod_prov) . " ORDER BY fecha desc LIMIT 1");
     $data = array("codprov" => $cod_prov, "total" => $total, "subtotal" => $total, "total2" => $total, "status" => 'G1', "observa" => $observan, "fecha" => dbdate_to_human(date('Ymd')), "uejecutora" => $ueje);
     $error = http_post_fields(site_url() . "presupuesto/anti/exterin/insert", $data);
     if (strpos($error, '<p>') > 0) {
         $error = substr($error, -1 * (strlen($error) - strpos($error, '<p>')));
     } else {
         $error = '';
     }
     if (empty($error)) {
         $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
         logusu('rendi', "Creo Fondo en avance de rendicion ({$id})");
         $salida = "Se creo Fondo en Avance de la rendicion ({$id})</br>Entre por el modulo de Fondo en Avance para ejecutarlo</br>";
         $salida .= anchor($this->url . "dataedit/show/{$id}", 'Regresar') . '</br>';
         $salida .= anchor_popup("presupuesto/anti", 'Ir a Fondo en Avance', $atts);
         $data['content'] = $salida;
     } else {
         logusu('rendi', "Intento crear fondo en avance de rendicion({$id}) con error {$error}");
         $data['content'] = "<div class='alert'>" . $error . '</div>' . anchor($this->url . "dataedit/show/{$id}", 'Regresar');
     }
     $data['title'] = " {$this->t**s} ";
     $data["head"] = $this->rapyd->get_head();
     $this->load->view('view_ventanas', $data);
 }