function anular($numero) { $this->rapyd->load('dataobject'); $error = ''; $do = new DataObject("bi_trasla"); $do->rel_one_to_many('bi_ittrasla', 'bi_ittrasla', array('numero' => 'numero')); $do->load($numero); $tipo = $do->get('tipo'); $alma = $do->get('alma'); if ($tipo == 'I') { $recibe = '0000'; } elseif ($tipo == 'D') { $recibe = $alma; } $recibe = $this->db->escape($recibe); $sta = $do->get('status'); if ($sta == 'C') { for ($i = 0; $i < $do->count_rel('bi_ittrasla'); $i++) { $bien = $do->get_rel('bi_ittrasla', 'bien', $i); $tabla = substr($bien, 0, 1); $bien = $this->db->escape($bien); $this->db->query("UPDATE " . $this->tablas[$tabla] . " SET alma={$recibe} WHERE id={$bien}"); } } else { $error .= "<div class='alert'><p>No se puede realizar la operacion para la transferencia {$numero} </p></div>"; } if (empty($error)) { $do->set('status', 'A'); $do->save(); logusu('bi_trasla', "Anulo bi_traslado {$numero}"); redirect($this->url . "/dataedit/show/{$numero}"); } else { $data['content'] = $error . anchor($this->url . "/dataedit/show/{$numero}", 'Regresar'); $data['title'] = $this->t**s; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function actualizar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("ocompra"); $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $do->load($id); $error = ''; $factura = $do->get('factura'); $numero = $do->get('numero'); $cod_prov = $do->get('cod_prov'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $imptimbre = $do->get('imprtimbre'); $reten = $do->get('reten'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $ivaa = $do->get('ivaa'); $iva = $ivar + $ivaa + $ivag; $ide = $this->db->escape($id); if ($iva > 0 || $reten > 0 || $imptimbre > 0) { if (empty($factura) || empty($controlfac)) { $cant = $this->db->simple_query("SELECT COUNT(*) FROM itfac WHERE numero={$ide}"); if ($cant == 0) { $error .= "<div class='alert'><p>Los Campos Factura, Control Fiscal y Fecha de Factura, no pueden estar en blanco</p></div>"; } } else { $this->chexiste_factura($numero, $factura, $controlfac, $cod_prov, 'F', $e); $error .= $e; } } if (empty($error)) { $sta = $do->get('status'); if ($sta == 'C') { $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $ivan = 0; $importes = array(); $ivas = array(); $admfondo = array(); for ($i = 0; $i < $do->count_rel('itocompra'); $i++) { $codigoadm = $do->get_rel('itocompra', 'codigoadm', $i); $fondo = $do->get_rel('itocompra', 'fondo', $i); $codigopres = $do->get_rel('itocompra', 'partida', $i); $importe = $do->get_rel('itocompra', 'importe', $i); $iva = $do->get_rel('itocompra', 'iva', $i); $ordinal = $do->get_rel('itocompra', 'ordinal', $i); $ivan = $importe * $iva / 100; $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; //.'_._'.$ordinal.'_._'.$iva; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $importe; //$ivas[$cadena] =$iva; } else { $importes[$cadena] = $importe; //$ivas[$cadena] =$iva; } $cadena2 = $codigoadm . '_._' . $fondo; $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan); } if (empty($error)) { //foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($comprometido-$causado),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para causar para la partida de IVA, ('.$temp[0].')('.$temp[1].') '); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); $iva = $ivas[$cadena]; $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ' (' . $temp[1] . ') (' . $temp[2] . ')'); } } if (empty($error)) { //$ivan=0; //for($i=0;$i < $do->count_rel('itocompra');$i++){ // $codigopres = $do->get_rel('itocompra','partida',$i); // $importe = $do->get_rel('itocompra','importe',$i); // $iva = $do->get_rel('itocompra','iva' ,$i); // $ordinal = $do->get_rel('itocompra','ordinal',$i); // $ivan += $importe*$iva/100; // // $error.=$this->afectapresup($codigoadm,$fondo,$codigopres,$ordinal,$importe,$iva, 1 ,array("causado")); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado")); } //if(empty($error)){ // foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->afectapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0, 1 ,array("causado")); // } //} if (empty($error)) { $do->set('status', 'T'); $do->set('fcausado', date('Ymd')); $do->save(); } } } else { $error .= "<div class='alert'><p>No se puede Causar esta orden de pago</p></div>"; } } if (empty($error)) { redirect("presupuesto/causacion/dataedit/show/{$id}"); logusu('causacion', "Causo Orden de Compra Nro {$id}"); } else { logusu('causacion', "Causo Orden de Compra Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor("presupuesto/causacion/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Causar Orden de Compra "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function actualizar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $multiple = $do->get('multiple'); $factura = $do->get('factura'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $reteiva = $do->get('reteiva'); //if($multiple == 'N'){ // if($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac))) // $error.="<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>"; //}else{ // $facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero=$id "); // if($facs <= 0) // $error.="<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>"; //} if (empty($error)) { $sta = $do->get('status'); if ($sta == "C1") { $importes = array(); $ivas = array(); $admfondo = array(); $ordenes = array(); for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigoadm = $do->get_rel('itodirect', 'codigoadm', $i); $fondo = $do->get_rel('itodirect', 'fondo', $i); $codigopres = $do->get_rel('itodirect', 'partida', $i); $iva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); $ocompra = $do->get_rel('itodirect', 'ocompra', $i); $ivan = $importe * $iva / 100; $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $importe; } else { $importes[$cadena] = $importe; } $cadena2 = $codigoadm . '_._' . $fondo; $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan); $cadena3 = $ocompra . '_._' . $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena3, $ordenes)) { $ordenes[$cadena3] += $importe; } else { $ordenes[$cadena3] = $importe; } } if (empty($error)) { //foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($presupuesto-$comprometido),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para la partida de IVA, ('.$temp[0].')('.$temp[1].') '); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') '); } } if (empty($error)) { foreach ($ordenes as $k => $v) { $temp = explode('_._', $v); $query = "SELECT SUM(a.importe) \n\t\t\t\t\t\tFROM itodirect a\n\t\t\t\t\t\tJOIN odirect b ON a.numero=b.numero\n\t\t\t\t\t\tWHERE a.ocompra='" . $temp[0] . "' AND a.codigoadm='" . $temp[1] . "' AND a.fondo='" . $temp[2] . "' AND a.partida='" . $temp[3] . "' \n\t\t\t\t\t\tAND b.status IN ('C2','C3')\n\t\t\t\t\t\t"; $totcau = $this->datasis->dameval($query); } } if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado", "opago")); } if (empty($error)) { $do->set('fopago', date('Ymd')); $do->set('status', 'C2'); $do->save(); } } } } if (empty($error)) { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}. con ERROR:{$error} "); $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); } }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("pmov"); $do->rel_one_to_many('itpmov', 'itpmov', array('numero' => 'numero')); $do->load($id); $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $error = ''; $tot = 0; $sta = $do->get('status'); if ($sta == "T") { for ($i = 0; $i < $do->count_rel('itpmov'); $i++) { $codigopres = $do->get_rel('itpmov', 'partida', $i); $monto = $do->get_rel('itpmov', 'monto', $i); $tot += $monto; $pk['codigopres'] = $codigopres; $presup->load($pk); $recibido = $presup->get("recibido"); if ($recibido < 0) { $error .= "<div class='alert'><p>partida ({$codigopre}):El monto debe ser positivo</p></div>"; } } if (empty($error)) { $tot = 0; for ($i = 0; $i < $do->count_rel('itpmov'); $i++) { $codigopres = $do->get_rel('itpmov', 'partida', $i); $monto = $do->get_rel('itpmov', 'monto', $i); $tot += $monto; $pk['codigopres'] = $codigopres; $presup->load($pk); $recibido = $presup->get("recibido"); $recibido -= $monto; $presup->set("recibido", $recibido); $presup->save(); } $do->set('status', 'C'); $do->save(); } } if (empty($error)) { 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); } }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("opago"); $do->rel_one_to_many('itopago', 'itopago', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'C') { $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $ordc = new DataObject("ocompra"); $ordc->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $error = ''; for ($i = 0; $i < $do->count_rel('itopago'); $i++) { $orden = $do->get_rel('itopago', 'orden', $i); $pago = $do->get_rel('itopago', 'pago', $i); $pk2 = array('numero' => $orden); $ordc->load($pk2); $debe = $ordc->get('total'); $status = $ordc->get('status'); if ($status != 'R') { $error .= "<div class='alert'><p>Orden Compra ({$orden}): No ha sido Procesada</p></div>"; } } } if (empty($error)) { $presup = new DataObject("presupuesto"); for ($i = 0; $i < $do->count_rel('itopago'); $i++) { $orden = $do->get_rel('itopago', 'orden', $i); $pago = $do->get_rel('itopago', 'pago', $i); $pk2 = array('numero' => $orden); $ordc->load($pk2); $debe = $ordc->get('total'); $codigoadm = $ordc->get('estadmin'); $fondo = $ordc->get('fondo'); $abono = $ordc->get('abono'); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); for ($i = 0; $i < $ordc->count_rel('itocompra'); $i++) { $codigopres = $ordc->get_rel('itocompra', 'partida', $i); $importe = $ordc->get_rel('itocompra', 'importe', $i); $iva = $ordc->get_rel('itocompra', 'iva', $i); $mont = $importe * (($iva + 100) / 100); $pk['codigopres'] = $codigopres; $presup->load($pk); $causado = $presup->get("causado"); $causado -= $mont; $presup->set("opago", $causado); $presup->save(); } $ordc->set('status', 'T'); $ordc->save(); $do->set('status', 'P'); $do->save(); } redirect("presupuesto/opago2/dataedit/show/{$id}"); } else { $data['content'] = $error . anchor("presupuesto/opago2/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Orden de Pago "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function reversar($id) { $this->rapyd->load('dataobject'); $error = ''; $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $id_mbanc = $do->get('mbanc'); $monto = $do->get('monto'); $abonado = $do->get('abonado'); //$observa = $do->get('observa'); //$fecha = $do->get('fecha'); //$benefi = $do->get('benefi'); $row = $this->datasis->damerow("SELECT monto,abonado,codbanc FROM mbanc WHERE id={$id_mbanc}"); $m_abonado = $row['abonado']; $m_monto = $row['monto']; //$a=$m_monto-$m_abonado; //if(($monto)>($a)) // $error.="<div class='alert'><p>El monto del $this->t**s ($monto) es mayor que el monto adeudado ($a) del Anticipo ($devo)</p></div>"; $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $tiva = 0; $tmont = 0; $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $sta = $do->get('status'); if ($sta == "C") { $tiva = $tsub = $ttot = 0; /*for($i=0;$i < $do->count_rel('itodirect');$i++){ $codigopres = $do->get_rel('itodirect','partida',$i); $subtotal = $do->get_rel('itodirect','subt' ,$i); $total = $do->get_rel('itodirect','total' ,$i); $numfac = $do->get_rel('itodirect','numfac' ,$i); $tiva += $total-$subtotal; $tsub += $subtotal; $ttot += $total; $pk['codigopres'] = $codigopres; $presup->load($pk); $asignacion = $presup->get("asignacion"); $aumento = $presup->get("aumento"); $disminucion = $presup->get("disminucion"); $traslados = $presup->get("traslados"); $comprometido = $presup->get("comprometido"); $disponible=(($asignacion+$aumento-$disminucion)+($traslados))-$comprometido; if($subtotal > $disponible) $error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto del $this->t**s ($subtotal) es mayor al monto disponible ($disponible) para la partida: $codigopres y factura ($numfac)</p></div>"; } $pk['codigopres'] = $partidaiva; $presup->load($pk); $asignacion = $presup->get("asignacion"); $aumento = $presup->get("aumento"); $disminucion = $presup->get("disminucion"); $traslados = $presup->get("traslados"); $comprometido = $presup->get("comprometido"); $disponible=(($asignacion+$aumento-$disminucion)+($traslados))-$comprometido; if($tiva > $disponible) $error.="<div class='alert'><p>El monto de iva ($tiva) de la orden de compra, es mayor al monto disponible ($disponible) para la partida de iva ($partidaiva)</p></div>"; $c=$m_monto-$m_abonado; if($ttot > $m_monto-$m_abonado) $error.="<div class='alert'><p>El monto ($ttot) de la orden de pago directa, es mayor al monto disponible ($c) para el anticipo ($id_mbanc)</p></div>"; */ if (empty($error)) { $tiva = $tsub = $ttot = 0; for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $subtotal = $do->get_rel('itodirect', 'subt', $i); $total = $do->get_rel('itodirect', 'total', $i); $numfac = $do->get_rel('itodirect', 'numfac', $i); $tiva += $total - $subtotal; $tsub += $subtotal; $ttot += $total; $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $pagado = $presup->get("pagado"); $comprometido -= $subtotal; $causado -= $subtotal; $opago -= $subtotal; $pagado -= $subtotal; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->set("pagado", $pagado); $presup->save(); } $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $pagado = $presup->get("pagado"); $comprometido -= $tiva; $causado -= $tiva; $opago -= $tiva; $pagado -= $tiva; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->set("pagado", $pagado); $presup->save(); $m_abonado -= $ttot; $this->db->simple_query("UPDATE mbanc SET abonado={$m_abonado} WHERE id={$id_mbanc}"); $mbanc = new DataObject("mbanc"); $mbanc->set('monto', $ttot); $mbanc->set('tipo', 'B'); $mbanc->set('status', 'B2'); $mbanc->set('numero', $id); //$mbanc->set('observa',$observa); //$mbanc->set('fecha' ,$fecha); //$mbanc->set('benefi' ,$benefi); $mbanc->save(); //$id_mbanc=$mbanc->get('id'); //$do->set('mbanc' ,$id_mbanc); $do->set('status', 'P'); $do->save(); } } if (empty($error)) { 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); } }
function reversar($id) { $this->rapyd->load('dataobject'); $error = ''; $odirect = new DataObject("odirect"); $odirect->load($id); $status = $odirect->get('status'); $compra = $odirect->get('compra'); $pago = $odirect->get('pago'); //print_r($odirect->get_all()); // //echo "-".$status; //exit; if ($status == 'O') { $ocompra = new DataObject("ocompra"); $ocompra->rel_one_to_many('odirect', 'odirect', array('numero' => 'compra')); $ocompra->load($compra); $o_subtotal = $ocompra->get('subtotal'); $o_ivag = $ocompra->get('ivag'); $o_ivar = $ocompra->get('ivar'); $o_ivaa = $ocompra->get('ivaa'); $o_reten = $ocompra->get('reten'); $o_reteiva = $ocompra->get('reteiva'); $o_abonado = $ocompra->get('abonado'); $o_iva = $o_ivaa + $o_ivag + $o_ivar; $o_debe = $o_subtotal + ($o_iva - ($o_reten + $o_reteiva)); $tot = 0; for ($i = 0; $i < $ocompra->count_rel('odirect'); $i++) { $r_pago = $ocompra->get_rel('odirect', 'pago', $i); $tot += $r_pago; } //$a = $o_debe-($tot-$pago); //if($pago > $a) // $error.="<div class='alert'><p>El monto de la orden de pago($pago) es mayor al monto adeudado ($a)</p></div>"; } else { $error .= "<div class='alert'><p>No se Puede Completar la operacion</p></div>"; } if (empty($error)) { $ocompra->set('abonado', $tot - $pago); $odirect->set('status', 'T'); if ($tot = $o_debe) { $odirect->set('ivag', 0); $odirect->set('ivar', 0); $odirect->set('ivaa', 0); $odirect->set('reten', 0); $odirect->set('creten', 0); $odirect->set('reteiva', 0); $odirect->set('exento', 0); } $ocompra->save(); $odirect->save(); } else { //$odirect -> delete(); } if (empty($error)) { 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); } }
function convertir($numero) { $this->rapyd->load('dataobject'); $requi = new DataObject("requi"); $requi->rel_one_to_many('itrequi', 'itrequi', array('numero' => 'numero')); $requi->load($numero); $ocompra = $requi->get('ocompra'); $do = new DataObject("ocompra"); $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); if (!empty($ocompra)) { redirect("presupuesto/ocompra/dataedit/show/{$ocompra}"); } $do->set('uejecutora', $requi->get('uejecuta')); $do->set('observa', $requi->get('objetivo')); //$do->set('responsable' ,$requi->get('responsable' )); $iva = $this->datasis->dameval("SELECT tasa FROM civa ORDER BY fecha DESC LIMIT 1"); for ($i = 0; $i < $requi->count_rel('itrequi'); $i++) { $do->set_rel('itocompra', 'cantidad', $requi->get_rel('itrequi', 'cantidad', $i), $i); $do->set_rel('itocompra', 'unidad', $requi->get_rel('itrequi', 'unidad', $i), $i); $do->set_rel('itocompra', 'descripcion', $requi->get_rel('itrequi', 'descrip', $i), $i); $do->set_rel('itocompra', 'precio', $requi->get_rel('itrequi', 'precio', $i), $i); $do->set_rel('itocompra', 'importe', $requi->get_rel('itrequi', 'importe', $i), $i); $do->set_rel('itocompra', 'partida', $requi->get_rel('itrequi', 'partida', $i), $i); $do->set_rel('itocompra', 'iva', $iva, $i); } $do->set('estadmin', $requi->get('estadmin')); $do->set('fondo', $requi->get('fondo')); $do->set('fecha', date('Ymd')); $do->save(); $numero = $do->get('numero'); $requi->set('ocompra', $numero); $requi->set('status', 'X'); $requi->save(); redirect("presupuesto/ocompra/dataedit/modify/{$numero}"); }
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')); $riva = new DataObject("riva"); $presup = new DataObject("presupuesto"); $presupante = new DataObject("presupuestoante"); $ordinalante = new DataObject("ordinalante"); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); if ($activo != 'S') { $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</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'); $reteiva_prov = $ocompra->get('reteiva_prov'); $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++) { $p_compra = $odirect->get_rel('pacom', 'compra', $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); $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 - $importe * $iva / 100 * $reteiva_prov / 100); } $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo, '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(); } } 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); if ($reteiva > 0) { $riva->load_where('ocompra', $p_compra); $riva->set('status', 'AN'); $riva->save(); } } $ocompra->set('status', 'O'); $ocompra->save(); $odirect->set('status', 'F2'); $odirect->save(); } if ($this->anular) { $this->op_anular($orden, false); } //echo $this->anular.'*'; //exit('helloword'); } 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"); $reteiva_prov = $odirect->get('reteiva_prov'); 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); $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 - $importe * $piva / 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)); $opa = $ord->get("pagado"); $opa -= $mont - $i_islr; $ord->set("pagado", $opa); $ord->save(); } } if ($status == "B3") { 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('status', 'AN'); $riva->save(); } } elseif ($odirect->get('multiple') == 'S') { for ($l = 0; $l < $odirect->count_rel('itfac'); $l++) { $iditfac = $odirect->get_rel('itfac', 'id', $l); $reteiva = $odirect->get_rel('itfac', 'reteiva'); if ($reteiva > 0) { $riva = new DataObject('riva'); $riva->load_where('itfac', $iditfac); $riva->set('status', 'AN'); $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); //exit('holamundo'); } $this->pd_anular($orden, false); } elseif ($status == 'N3') { $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++) { $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 * $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)); $opa = $ordinalante->get("pagado"); $opa -= $mont - $i_islr; $ordinalante->set("pagado", $opa); $ordinalante->save(); } } if ($odirect->get('reteiva') > 0) { if ($odirect->get('multiple') == 'N') { $riva->load_where('odirect', $od_numero); $riva->set('status', 'AN'); $riva->save(); } elseif ($odirect->get('multiple') == 'S') { for ($l = 0; $l < $odirect->count_rel('itfac'); $l++) { $iditfac = $odirect->get_rel('itfac', 'id', $l); $riva = new DataObject('riva'); $riva->load_where('itfac', $iditfac); $riva->set('status', 'AN'); $riva->save(); } } } $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', 'N2'); $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 == "M3") { if ($status == 'M3') { $odirect->set('status', 'M2'); } $odirect->save(); } elseif ($status == 'R3') { $odirect->set('status', 'R2'); } elseif ($status == 'H3') { $odirect->set('status', 'H2'); } elseif ($status == 'G3') { $odirect->set('status', 'G2'); } elseif ($status == 'O3') { $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) { $riva->load_where('odirect', $od_numero); $riva->set('status', 'AN'); $riva->save(); } } $odirect->set('status', 'O2'); $odirect->save(); $this->po_anular($orden, false); } else { $error .= "<div class='alert'><p>No se puede realizar la operacion para la orden de pago ({$od_numero})</p></div>"; } } $odirect->save(); } else { $error .= "<div class='alert'><p>Error aun no determinado</p></div>"; } } else { $error .= "<div class='alert'><p>No se Puede Coersar({$id});mpletar la operacion s</p></div>"; } if (empty($error)) { $mbanc->set('status', 'E1'); $mbanc->save(); $saldo += $m_monto; $banc->set('saldo', $saldo); $banc->save(); logusu('ppro', "Reverso movimiento Nro {$id}"); if ($this->redirect) { redirect($this->url . "dataedit/show/{$id}"); } } else { logusu('ppro', "Reverso movimiento Nro {$id} con ERROR:{$error}"); $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); } }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("audis"); $do->rel_one_to_many('itaudis', 'itaudis', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'C') { $tipo = $do->get('tipo'); $campo = $tipo == 'AUMENTO' ? 'aumento' : 'disminucion'; $factor = 1; $error = ''; if ($tipo == 'AUMENTO') { for ($i = 0; $i < $do->count_rel('itaudis'); $i++) { $codigopres = $do->get_rel('itaudis', 'codigopres', $i); $monto = $do->get_rel('itaudis', 'monto', $i); $ordinal = $do->get_rel('itaudis', 'ordinal', $i); $codigoadm = $do->get_rel('itaudis', 'codigoadm', $i); $fondo = $do->get_rel('itaudis', 'fondo', $i); $error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, '$monto > ($presupuesto-$comprometido)', "El Monto ({$monto}) es mayor al disponible para la partida ({$codigoadm}) ({$fondo}) ({$codigopres})"); } if (empty($error)) { $factor = -1; } } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itaudis'); $i++) { $codigopres = $do->get_rel('itaudis', 'codigopres', $i); $monto = $do->get_rel('itaudis', 'monto', $i); $ordinal = $do->get_rel('itaudis', 'ordinal', $i); $codigoadm = $do->get_rel('itaudis', 'codigoadm', $i); $fondo = $do->get_rel('itaudis', 'fondo', $i); $error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, 1 * $factor, array($campo)); } if (empty($error)) { $do->set('status', 'A'); $do->save(); $this->sp_presucalc($codigoadm); } } } else { $error .= "<div class='alert'><p>No se puede realizar la operacion para este aumento � disminucion</p></div>"; } if (empty($error)) { logusu('audis', "reverso {$campo} numero {$id}"); redirect("presupuesto/audis/dataedit/show/{$id}"); } else { logusu('audis', "reverso {$campo} numero {$id} con error {$error}"); $data['content'] = $error . anchor("presupuesto/audis/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Aumentos y Disminuciones "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function actualizar($numero) { $this->rapyd->load('dataobject'); $do = new DataObject("casi"); $do->rel_one_to_many('itcasi', 'itcasi', array('comprob' => 'comprob')); $do->load($numero); $error = ''; $fecha = $do->get('fecha'); $error .= $this->chcasise($fecha); $tdebe = $thaber = 0; for ($i = 0; $i < $do->count_rel('itcasi'); $i++) { $cuenta = $do->get_rel('itcasi', 'cuenta', $i); $debe = $do->get_rel('itcasi', 'debe', $i); $haber = $do->get_rel('itcasi', 'haber', $i); $tdebe += $debe; $thaber += $haber; if ($debe != 0 && $haber != 0) { $error .= "<div class='alert'><p>Error en la cuenta {$cuenta}: Uno de los campos debe o haber debe contener un valor positivo y el otro cero(0)</p></div>"; } } if ($this->datasis->traevalor('CASIDESCUDRADO', 'N', 'PERMITE ACTURALIZAR UN ASIENTO DESCUADRADO') != 'S') { if (round($tdebe, 2) != round($thaber, 2)) { $error .= "<div class='alert'><p>Asiento Descuadrado</p></div>"; } } if (empty($error)) { $do->set('debe', $tdebe); $do->set('haber', $thaber); $do->set('total', $tdebe - $thaber); $do->set('status', 'C2'); $do->save(); } if (empty($error)) { $fecha = $do->get('fecha'); $mes = str_pad(date('m', strtotime($fecha)), 2, '0', STR_PAD_LEFT); $this->cal_nrocomp($mes); logusu('CASI', 'Actualizo Asiento Contable ' . $numero); redirect($this->url . "dataedit/show/{$numero}"); } else { $data['content'] = "<div class='alert'>" . $error . "</div>" . anchor($this->url . "dataedit/show/{$numero}", 'Regresar'); $data['title'] = "{$this->t**s}"; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); return false; } }
function cd_reversar($numero, $anular = false, $redirect = true) { $this->rapyd->load('dataobject'); $error = ''; $do = new DataObject("cdisp"); $do->rel_one_to_many('itcdisp', 'itcdisp', array('numero' => 'numero')); $do->load($numero); $status = $do->get('status'); if ($status == 'C') { $importes = array(); for ($i = 0; $i < $do->count_rel('itcdisp'); $i++) { $codigoadm = $do->get_rel('itcdisp', 'codigoadm', $i); $fondo = $do->get_rel('itcdisp', 'fondo', $i); $codigopres = $do->get_rel('itcdisp', 'codigopres', $i); $importe = $do->get_rel('itcdisp', 'importe', $i); $soli = $do->get_rel('itcdisp', 'soli', $i); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $soli; } else { $importes[$cadena] = $soli; } } if (empty($error) && $status == 'C') { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($apartado),2)', 'El Monto ($monto) es mayor al apartado ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') '); } } //print_r($importes); //exit('Hello World'.$error); if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, -1, array("apartado")); } } } else { $error .= "<div class='alert'>No se puede realizar la operacion para el certificado</div>"; } if (empty($error)) { if ($anular) { $do->set('fanulado', date('Ymd')); $do->set('status', 'A'); logusu('cdisp', "Marco como anulado certificado nro {$numero}"); } else { $do->set('ffinal', date('Ymd')); if ($status == 'F') { $do->set('status', 'C'); } else { $do->set('status', 'F'); } logusu('cdisp', "Marco como finalizado certificado nro {$numero}"); } $do->save(); if ($redirect) { redirect($this->url . "dataedit/show/{$numero}"); } } else { logusu('cdisp', "Marco como anulado certificado nro {$numero} con ERROR {$error}"); $data['content'] = $error . anchor($this->url . "dataedit/show/{$numero}", 'Regresar'); $data['title'] = " {$this->t**s}"; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function actpresup2($id, $apartar = null) { $this->rapyd->load('dataobject'); $do = new DataObject("trasla"); $do->rel_one_to_many('ittrasla', 'ittrasla', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'P' || $sta == 'H') { $tdisminucion = $do->get('tdisminucion'); $taumento = $do->get('taumento'); $error = ''; if ($tdisminucion == $taumento) { $montos = array(); for ($i = 0; $i < $do->count_rel('ittrasla'); $i++) { $ordinal = $do->get_rel('ittrasla', 'ordinal', $i); $codigopres = $do->get_rel('ittrasla', 'codigopres', $i); $codigoadm = $do->get_rel('ittrasla', 'codigoadm', $i); $fondo = $do->get_rel('ittrasla', 'fondo', $i); $disminucion = $do->get_rel('ittrasla', 'disminucion', $i); $aumento = $do->get_rel('ittrasla', 'aumento', $i); $monto = $aumento - $disminucion; if ($sta == 'H') { $monto = -1 * $monto; } $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres . '_._' . $ordinal; if (array_key_exists($cadena, $montos)) { $montos[$cadena] += $monto; } else { $montos[$cadena] = $monto; } } if (empty($error)) { foreach ($montos as $cadena => $monto) { $temp = explode('_._', $cadena); if ($monto < 0) { $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], $temp[3], abs($monto), 0, 'round($monto,2) > $disponible=round(($presupuesto-($comprometido+$apartado)),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') (' . $temp[3] . ')'); } } } if (empty($error)) { foreach ($montos as $cadena => $monto) { $temp = explode('_._', $cadena); if ($sta == 'P') { if ($monto < 0) { $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], $temp[3], abs($monto), 0, 1, array("apartado")); } } elseif ($sta == 'H') { if ($monto > 0) { $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], $temp[3], abs($monto), 0, -1, array("apartado")); } } } } } else { $error .= "<div class='alert'><p>No se puede realizar la Transferencia si El total de Disminuciónes ({$tdisminucion}) es Diferente al total de Aumentos ({$taumento}) </p></div>"; } if (empty($error)) { if ($sta == 'P') { $do->set('status', 'H'); logusu('trasla', "Aparto traslado {$id}"); } if ($sta == 'H') { $do->set('status', 'P'); logusu('trasla', "desaparto traslado {$id}"); } $do->save(); } } else { $error .= "<div class='alert'><p>No se puede realizar la operacion para la transferencia {$id} </p></div>"; } if (empty($error)) { redirect("presupuesto/trasla/dataedit/show/{$id}"); } else { $data['content'] = $error . anchor("presupuesto/trasla/dataedit/show/{$id}", 'Regresar'); $data['title'] = "Traslados"; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function creariva($id) { $this->rapyd->load('dataobject'); $error = ''; $do = new DataObject("rendi"); $do->pointer('sprv', 'sprv.proveed=rendi.cod_prov', 'sprv.reteiva as reteivap'); $do->rel_one_to_many('itrendi', 'itrendi', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); $cod_prov = $do->get('cod_prov'); $reteiva_prov = $do->get_pointer('reteivap'); $qq = $this->db->query("SELECT tasa, redutasa, sobretasa FROM civa ORDER BY fecha DESC LIMIT 1"); $ivaplica = $qq->row_array(); $ivaplica['redutasa']; $ivaplica['tasa']; $ivaplica['sobretasa']; if ($sta == "C") { for ($i = 0; $i < $do->count_rel('itrendi'); $i++) { $codigoadm = $do->get_rel('itrendi', 'codigoadm', $i); $fondo = $do->get_rel('itrendi', 'fondo', $i); $subtotal = $do->get_rel('itrendi', 'subtotal', $i); $iva = $do->get_rel('itrendi', 'iva', $i); $factura = $do->get_rel('itrendi', 'factura', $i); $controlfac = $do->get_rel('itrendi', 'controlfac', $i); $fechafac = $do->get_rel('itrendi', 'fechafac', $i); $tivag = $mivag = $tivaa = $ivaa = $tivar = $mivar = 0; $tasaiva = $iva * 100 / $subtotal; if (round($tasaiva, 2) == round($ivaplica['redutasa'], 2)) { $tivar = $ivaplica['redutasa']; $mivar = $iva; } elseif (round($tasaiva, 2) == round($ivaplica['sobretasa'], 2)) { $tivaa = $ivaplica['sobretasa']; $mivaa = $iva; } elseif (round($tasaiva, 2) == round($ivaplica['tasa'], 2)) { $tivag = $ivaplica['tasa']; $mivag = $iva; } else { $error = "El Monto de IVA no corresponde con alguno de las tasas actuales"; } } $ide = $this->db->query($id); $r = $this->datasis->dameval("SELECT SUM(iva*(SELECT reteiva_prov FROM sprv WHERE proveed=(SELECT cod_prov FROM rendi WHERE numero={$ide}))/100) FROM itrendi WHERE numero={$ide}"); if ($r > 0) { $nriva = $this->datasis->fprox_numero('nriva'); } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itrendi'); $i++) { $codigoadm = $do->get_rel('itrendi', 'codigoadm', $i); $fondo = $do->get_rel('itrendi', 'fondo', $i); $subtotal = $do->get_rel('itrendi', 'subtotal', $i); $iva = $do->get_rel('itrendi', 'iva', $i); $factura = $do->get_rel('itrendi', 'factura', $i); $controlfac = $do->get_rel('itrendi', 'controlfac', $i); $fechafac = $do->get_rel('itrendi', 'fechafac', $i); $tivag = $mivag = $tivaa = $ivaa = $tivar = $mivar = 0; $tasaiva = $iva * 100 / $subtotal; if (round($tasaiva, 2) == round($ivaplica['redutasa'], 2)) { $tivar = $ivaplica['redutasa']; $mivar = $iva; } elseif (round($tasaiva, 2) == round($ivaplica['sobretasa'], 2)) { $tivaa = $ivaplica['sobretasa']; $mivaa = $iva; } elseif (round($tasaiva, 2) == round($ivaplica['tasa'], 2)) { $tivag = $ivaplica['tasa']; $mivag = $iva; } $reteiva = $iva * $reteiva_prov / 100; if ($reteiva > 0) { $error = $this->riva($nriva, $codigoadm, $fondo, '', '', '', $factura, $controlfac, $fechafac, $cod_prov, 0, $tivag, $mivag, $tivaa, $ivaa, $tivar, $mivar, $reteiva, '', '', $reteiva_prov, $id); } } } } if (1 * $error > 0) { $salida = "Se creo retencion de IVA numero {$error}"; } else { $salida = $error; } $data['content'] = $salida . "</br>" . anchor($this->url . "dataedit/show/{$id}", 'Regresar'); $data['title'] = ' Crear Retencion de IVA '; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("opago"); $do->rel_one_to_many('itopago', 'itopago', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'C') { $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); for ($i = 0; $i < $do->count_rel('itopago'); $i++) { $codigopres = $do->get_rel('itopago', 'partida', $i); $pago = $do->get_rel('itopago', 'pago', $i); $pk['codigopres'] = $codigopres; $presup->load($pk); $pagado = $presup->get("pagado"); if ($sta == "C") { $pagado = $pagado - $pago; } $presup->set("pagado", $pago); $presup->save(); } if ($sta == "P") { $do->set('status', 'C'); } if ($sta == "C") { $do->set('status', 'P'); } $do->save(); } if (empty($error)) { redirect("presupuesto/opago/dataedit/show/{$id}"); } else { $data['content'] = $error . anchor("presupuesto/opago/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Orden de Pago "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function _actsumi($id, $oper, $status) { $this->rapyd->load('dataobject'); $error = ''; $do = new DataObject("sumine"); $do->rel_one_to_many('itsumine', 'itsumine', array('numero' => 'numero')); $do->load($id); $caub = $do->get('caub'); $caube = $this->db->escape($caub); $sta = $do->get('sta'); $sumi = new DataObject("sumi"); if ($sta != $status) { for ($i = 0; $i < $do->count_rel('itsumine'); $i++) { $codigo = $do->get_rel('itsumine', 'codigo', $i); $cantidad = $do->get_rel('itsumine', 'cantidad', $i); $cantidad = 1 * $cantidad; $codigoe = $this->db->escape($codigo); if ($oper == '-') { $sumi->load($codigo); $existen = $sumi->get('existen'); //exit("SELECT cantidad FROM su_itsumi WHERE codigo=$codigoe AND alma=$caube"); $existen2 = $this->datasis->dameval("SELECT cantidad FROM view_sumi_saldo WHERE codigo={$codigoe} AND caub={$caube}"); if ($existen2 < $cantidad || $existen2 < $cantidad) { $existen = number_format($existen2, 2, ",", "."); $error .= "<div class='alert'><p>No se puede entregar la cantidad de {$cantidad} suministros de codigo {$codigo}, porque solo hay {$existen} disponibles </p></div>"; } } } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itsumine'); $i++) { $codigo = $do->get_rel('itsumine', 'codigo', $i); $cantidad = $do->get_rel('itsumine', 'cantidad', $i); $cantidad = 1 * $cantidad; $sumi->load($codigo); $existen = $sumi->get('existen'); $codigo = $this->db->escape($codigo); $costo = $this->datasis->dameval("SELECT (pond/existen) FROM sumi WHERE codigo={$codigo}"); $do->set_rel('itsumine', 'costo', $costo, $i); if (is_numeric($cantidad)) { $this->db->simple_query("UPDATE sumi SET pond=pond {$oper} ((pond/existen)*{$cantidad}),existen=existen {$oper} {$cantidad} WHERE codigo={$codigo}"); $this->db->simple_query("UPDATE su_itsumi SET cantidad=cantidad {$oper} {$cantidad} WHERE codigo={$codigo} AND alma={$caube}"); } } } } else { $error .= "No se puede realizar la operacion para la nota de entrega"; } if (empty($error)) { $do->set('status', $status); $do->save(); logusu('sumine', "Marco nota de entrega Nro {$id} como {$status}"); redirect($this->url . "/dataedit/show/{$id}"); } else { logusu('sumine', "Marco nota de entrega Nro {$id} como {$status} . con ERROR:{$error}"); $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = $this->t**s; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function reversar($numero) { $this->rapyd->load('dataobject'); $do = new DataObject("nomi"); $do->rel_one_to_many('asignomi', 'asignomi', array('numero' => 'numero')); $do->rel_one_to_many('retenomi', 'retenomi', array('numero' => 'numero')); $do->load($numero); $status = $do->get('status'); $tasig = 0; $b = array(); $error = ''; if ($status == "C") { for ($i = 0; $i < $do->count_rel('asignomi'); $i++) { $ordinal = $do->get_rel('asignomi', 'ordinal', $i); $codigopres = $do->get_rel('asignomi', 'codigopres', $i); $codigoadm = $do->get_rel('asignomi', 'codigoadm', $i); $fondo = $do->get_rel('asignomi', 'fondo', $i); $monto = $do->get_rel('asignomi', 'monto', $i); $error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, 'round($monto,2) > round(($comprometido-$causado),2)', "El Monto ({$monto}) es mayor al disponible para descomprometer para la partida ({$codigopres})"); } if (empty($error)) { for ($i = 0; $i < $do->count_rel('asignomi'); $i++) { $ordinal = $do->get_rel('asignomi', 'ordinal', $i); $codigopres = $do->get_rel('asignomi', 'codigopres', $i); $codigoadm = $do->get_rel('asignomi', 'codigoadm', $i); $fondo = $do->get_rel('asignomi', 'fondo', $i); $monto = $do->get_rel('asignomi', 'monto', $i); $error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, -1, array("comprometido")); } if (empty($error)) { $do->set('status', 'P'); //$do->set('fcomprome',date('Ymd')); $do->save(); for ($i = 0; $i < $do->count_rel('retenomi'); $i++) { $do->set_rel('retenomi', 'status', 'P', $i); } $do->save(); } } } else { $error .= "No se puede realizar la operacion para la nomina {$numero}"; } //$this->sp_presucalc($codigoadm); if (empty($error)) { logusu('nomi', "Descomprometio nomina Nro {$numero}"); redirect($this->url . "dataedit/show/{$numero}"); } else { logusu('nomi', "Descomprometio nomina Nro {$numero} ERROR:{$error} "); $data['content'] = $error . anchor($this->url . "dataedit/show/{$numero}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
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); }
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); } }
function reversar($numero, $anular = 'N') { $this->rapyd->load('dataobject'); $error = ''; $odirect = new DataObject("odirect"); $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $odirect->load($numero); $nnumero = $odirect->get('numero'); if ($nnumero != $numero) { $error .= "<div class='alert'>No se pudo cargar la orden de pago</div>"; } $ostatus = $odirect->get('status'); if ($ostatus != 'K2') { $error .= "<div class='alert'>No es Posible Realizar la operación para la orden de pago </div>"; } $nomina = $odirect->get('nomina'); if (empty($nomina)) { $error .= "<div class='alert'>La orden de pago no tiene asignada alguna nomina asignada</div>"; } $do = new DataObject("nomi"); $do->rel_one_to_many('asignomi', 'asignomi', array('numero' => 'numero')); $do->rel_one_to_many('retenomi', 'retenomi', array('numero' => 'numero')); $do->load($nomina); echo "--" . ($status = $do->get('status')); if ($status != 'O') { $error .= "<div class='alert'>No es Posible Realizar la operación para la nómina </div>"; } $status = $do->get('status'); if (empty($error)) { $tasig = 0; $b = array(); $error = ''; if ($status == "O") { for ($i = 0; $i < $do->count_rel('asignomi'); $i++) { $codigopres = $do->get_rel('asignomi', 'codigopres', $i); $codigoadm = $do->get_rel('asignomi', 'codigoadm', $i); $fondo = $do->get_rel('asignomi', 'fondo', $i); $monto = $do->get_rel('asignomi', 'monto', $i); $error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, 'round($monto,2) > round(($opago-$pagado),2)', "El Monto ({$monto}) es mayor al disponible para la partida ({$codigoadm}) ({$fondo}) ({$codigopres})"); // } if (empty($error)) { for ($i = 0; $i < $do->count_rel('asignomi'); $i++) { $codigopres = $do->get_rel('asignomi', 'codigopres', $i); $codigoadm = $do->get_rel('asignomi', 'codigoadm', $i); $fondo = $do->get_rel('asignomi', 'fondo', $i); $monto = $do->get_rel('asignomi', 'monto', $i); $error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, -1, array("causado", "opago")); } if (empty($error)) { if ($anular == 'S') { $odirect->set('status', 'KA'); $odirect->set('fanulado', date('Ymd')); $do->set('opago', ''); $do->set('status', 'C'); } else { $odirect->set('status', 'K1'); $do->set('status', 'D'); } $odirect->save(); for ($i = 0; $i < $do->count_rel('retenomi'); $i++) { $do->set_rel('retenomi', 'status', 'C', $i); } $do->save(); } } } else { $error .= "No se puede realizar la operacion para la nomina {$numero}"; } } if (empty($error)) { logusu('nomi', "Reverso Orden de Pago de nomina Nro {$numero}"); redirect($this->url . "dataedit/show/{$numero}"); } else { logusu('nomi', "Reverso Orden de Pago de nomina Nro {$numero} ERROR:{$error} "); $data['content'] = $error . anchor($this->url . "dataedit/show/{$numero}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function _actsumi($id, $oper, $status) { $this->rapyd->load('dataobject'); $error = ""; $do = new DataObject("suminr"); $do->rel_one_to_many('itsuminr', 'itsuminr', array('numero' => 'numero')); $do->load($id); $caub = $do->get('caub'); $caube = $this->db->escape($caub); $sta = $do->get('sta'); if ($sta != $status) { for ($i = 0; $i < $do->count_rel('itsuminr'); $i++) { $codigo = $do->get_rel('itsuminr', 'codigo', $i); $cantidad = $do->get_rel('itsuminr', 'cantidad', $i); $precio = $do->get_rel('itsuminr', 'precio', $i); $cantidad = 1 * $cantidad; $codigo = $this->db->escape($codigo); $this->db->query("INSERT IGNORE INTO su_itsumi (`codigo`,`alma`) value ({$codigo},{$caube})"); if (is_numeric($cantidad)) { $this->db->query("UPDATE sumi SET existen=existen {$oper} {$cantidad},pond=pond {$oper} ({$precio}*{$cantidad}) WHERE codigo={$codigo}"); $this->db->simple_query("UPDATE su_itsumi SET cantidad=cantidad {$oper} {$cantidad} WHERE codigo={$codigo} AND alma={$caube}"); } else { $error .= 'La cantidad no es numerica'; } //echo "UPDATE sumi SET existen=existen $oper $cantidad,pond=pond $oper $precio WHERE codigo=$codigo"; //exit($precio); } logusu('suminr', "Marco nota de recepcion Nro {$id} como {$status}"); } else { $error .= "No se puede realizar la operacion para la nota de recepcion"; } if (empty($error)) { $do->set('status', $status); $do->save(); logusu('suminr', "Marco nota de recepcion Nro {$id} como {$status}"); redirect($this->url . "/dataedit/show/{$id}"); } else { logusu('sumine', "Marco nota de recepcion Nro {$id} como {$status} . con ERROR:{$error}"); $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = $this->t**s; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function actualizar($id) { $this->rapyd->load('dataobject'); $odirect = new DataObject("odirect"); $odirect->rel_one_to_many('pacom', 'pacom', array('numero' => 'pago')); $odirect->load($id); $ocompra = new DataObject("ocompra"); $ocompra->rel_one_to_many('pacom', 'pacom', array('numero' => 'compra')); $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $error = ""; $sta = $odirect->get('status'); if ($sta == "F1") { $ivan = 0; $importes = array(); $ivas = array(); $ordenes = array(); $p_ivaa = $p_ivag = $p_ivar = $p_reteiva = $p_reten = $p_total = $p_exento = 0; for ($i = 0; $i < $odirect->count_rel('pacom'); $i++) { $compra = $odirect->get_rel('pacom', 'compra', $i); $ordenes[] = $compra; $ocompra->load($compra); $status = $ocompra->get('status'); if ($status != 'T') { $error .= "<div class='alert'><p>No se puede ordenar el pago de la orden de compra (" . str_pad($compra, 8, '0', STR_PAD_LEFT) . ") debido a que no esta causada</p></div>"; } if (empty($error)) { $p_ivaa += $ivaa = $ocompra->get('ivaa'); $p_ivag += $ivag = $ocompra->get('ivag'); $p_ivar += $ivar = $ocompra->get('ivar'); $p_reteiva += $reteiva = $ocompra->get('reteiva'); $p_reten += $reten = $ocompra->get('reten'); $p_exento += $exento = $ocompra->get('exento'); $reteiva_prov = $ocompra->get('reteiva_prov'); $creten = $ocompra->get('creten'); $status = $ocompra->get('status'); $total = $ocompra->get('total'); $subtotal = $ocompra->get('subtotal'); //$ivan = $ivag+$ivar+$ivaa; $ivan = 0; $admfondo = array(); for ($j = 0; $j < $ocompra->count_rel('itocompra'); $j++) { $codigoadm = $ocompra->get_rel('itocompra', 'codigoadm', $j); $fondo = $ocompra->get_rel('itocompra', 'fondo', $j); $codigopres = $ocompra->get_rel('itocompra', 'partida', $j); $importe = $ocompra->get_rel('itocompra', 'importe', $j); $iva = $ocompra->get_rel('itocompra', 'iva', $j); $ordinal = $ocompra->get_rel('itocompra', 'ordinal', $j); $ivan = $importe * $iva / 100; $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $importe; //$ivas[$cadena] =$iva; } else { $importes[$cadena] = $importe; //$ivas[$cadena] =$iva; } $cadena2 = $codigoadm . '_._' . $fondo; $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan); } } } //print_r($importes); //print_r($ivas); if (empty($error)) { //foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($causado-$opago),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para ordenar pago para la partida de IVA, ('.$temp[0].')('.$temp[1].') '); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); $iva = $ivas[$cadena]; $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, '', 'round($monto,2) > $disponible=round(($causado-$opago),2)', 'El Monto ($monto) es mayor al posible a ordenar pago ($disponible) para la partida (' . $temp[0] . ' (' . $temp[1] . ') (' . $temp[2] . ')'); } } if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("opago")); } //if(empty($error)){ // foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->afectapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0, 1 ,array("opago")); // } //} } if (empty($error)) { $odirect->set('ivag', $p_ivag); $odirect->set('ivar', $p_ivar); $odirect->set('ivaa', $p_ivaa); $odirect->set('reten', $p_reten); $odirect->set('creten', $creten); $odirect->set('reteiva', $p_reteiva); $odirect->set('exento', $p_exento); $odirect->set('status', 'F2'); $odirect->set('fopago', date('Ymd')); $odirect->save(); $ordenes = implode("','", $ordenes); $this->db->simple_query("UPDATE ocompra SET status='O' WHERE numero IN ('{$ordenes}')"); } } elseif ($sta == "H1") { for ($i = 0; $i < $odirect->count_rel('pacom'); $i++) { $compra = $odirect->get_rel('pacom', 'compra', $i); $monto = $odirect->get_rel('pacom', 'monto', $i); $ocompra->load($compra); $status = $ocompra->get('status'); $total = $ocompra->get('total'); $abonado = $ocompra->get('abonado'); if ($monto > $total - $abonado) { $error .= "<div class='alert'><p>El monto adeudado para la orden de Compra (" . str_pad($compra, 8, '0', STR_PAD_LEFT) . ") es menor al monto a abonar en la orden de pago</p></div>"; } if ($status != 'C') { $error .= "<div class='alert'><p>No se pueder ordenar el pago de la orden de compra (" . str_pad($compra, 8, '0', STR_PAD_LEFT) . ") debido a que no esta comprometida</p></div>"; } } if (empty($error)) { for ($i = 0; $i < $odirect->count_rel('pacom'); $i++) { $compra = $odirect->get_rel('pacom', 'compra', $i); $monto = $odirect->get_rel('pacom', 'monto', $i); $ocompra->load($compra); $status = $ocompra->get('status'); $abonado = $ocompra->get('abonado'); $this->db->simple_query("UPDATE ocompra SET abonado=abonado+{$monto} WHERE numero={$compra}"); //$ocompra->save(); } } $odirect->set('status', 'H2'); $odirect->set('fopago', date('Ymd')); $odirect->save(); } else { $error .= "<div class='alert'><p>No se Puede Completar la operacion s</p></div>"; } if (empty($error)) { logusu('opago', "Actualizo Orden de Pago (de Compra) Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('opago', "Actualizo Orden de Pago (de Compra) Nro {$id}. con ERROR:{$error} "); $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); } }
function anular($id) { $this->rapyd->load('dataobject'); $error = ''; //exit('as'); $do = new DataObject("desem"); $do->rel_one_to_many('mbanc', 'mbanc', array('numero' => 'desem')); $do->load($id); $status = $do->get('status'); if ($status == 'D1') { $do->set('status', 'DA'); $do->save(); logusu('desem', "Anulo desembolso Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } $cod_prov = $do->get('cod_prov'); $banc = new DataObject("banc"); $existecaja = $this->datasis->traevalor('EXISTECAJA'); for ($i = 0; $i < $do->count_rel('mbanc'); $i++) { $mstatus = $do->get_rel('mbanc', 'status', $i); $codbanc = $do->get_rel('mbanc', 'codbanc', $i); $tipo_doc = $do->get_rel('mbanc', 'tipo_doc', $i); $fecha = $do->get_rel('mbanc', 'fecha', $i); $monto = $do->get_rel('mbanc', 'monto', $i); $cheque = $do->get_rel('mbanc', 'cheque', $i); $mid = $do->get_rel('mbanc', 'id', $i); $concilia = $do->get_rel('mbanc', 'concilia', $i); //if($concilia=='S')$error.=''.($tipo_doc=='CH'?"Cheque:$cheque ya conciliado":($tipo_doc=='ND'?"Nota de Debito:$cheque ya conciliada":'')).". Por favor informe de la accion a realizar a la persona encargada de conciliaciones bancarias"; if ($existecaja == "S") { $fcajrecibe = $do->get_rel('mbanc', 'fcajrecibe', $i); $fcajdevo = $do->get_rel('mbanc', 'fcajdevo', $i); if (!empty($fcajrecibe) && empty($fcajdevo)) { $error .= "ERROR: el cheque ({$cheque}) del banco ({$codbanc}) se encuentra en caja"; } } if (empty($error) && $mstatus == 'E2') { $banc->load($codbanc); $saldo = $banc->get('saldo'); $activo = $banc->get('activo'); $banco = $banc->get('banco'); if ($activo != 'S') { $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>"; } } } if (empty($error)) { $error .= $this->reverpresup($id); } if (empty($error)) { for ($i = 0; $i < $do->count_rel('mbanc'); $i++) { $mstatus = $do->get_rel('mbanc', 'status', $i); $codbanc = $do->get_rel('mbanc', 'codbanc', $i); $tipo_doc = $do->get_rel('mbanc', 'tipo_doc', $i); $fecha = $do->get_rel('mbanc', 'fecha', $i); $monto = $do->get_rel('mbanc', 'monto', $i); $cheque = $do->get_rel('mbanc', 'cheque', $i); $mid = $do->get_rel('mbanc', 'id', $i); $benefi = $do->get_rel('mbanc', 'benefi', $i); $relch = $do->get_rel('mbanc', 'relch', $i); if (($tipo_doc == 'CH' || $tipo_doc == 'ND') && $mstatus == 'E2') { if ($this->datasis->traevalor('CREANCDIA') == 'S') { if (1 * date('Ymd') != 1 * date('Ymd', strtotime($fecha))) { $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N'); } $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}"); } elseif ($this->datasis->traevalor('CREANCRELCH') == 'S' and strlen($relch) > 0) { $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N'); $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}"); } elseif (1 * date('m') != 1 * date('m', strtotime($fecha))) { $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N'); $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}"); } else { $this->db->query("UPDATE mbanc SET status='AN',anulado='" . date('Ymd') . "' WHERE id={$mid}"); } //$do->set_rel('mbanc','status' ,'AN' ,$i ); //$do->set_rel('mbanc','anulado',date('Ymd') ,$i ); $banc->load($codbanc); $saldo = $banc->get('saldo'); $saldo += $monto; $banc->set('saldo', $saldo); $banc->save(); } } //exit('hello world'); } if (empty($error)) { //$do->set('status','DA'); //$do->save(); $this->db->simple_query("UPDATE desem SET status='DA' WHERE numero={$id}"); logusu('desem', "Anulo desembolso Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('desem', "anulo desembolso Nro {$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); } }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("ocompra"); $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $do->load($id); $odirect = $do->get("odirect"); $do2 = new DataObject("odirect"); $do2->load($odirect); $status = $do2->get('status'); $error = ""; $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $numero = $do->get('numero'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $pk['codigopres'] = $partidaiva; $presup->load($pk); if (empty($error)) { $sta = $do->get('status'); if ($sta == "O" and $status == "O") { //for($i=0;$i < $do->count_rel('itocompra');$i++){ // $codigopres = $do->get_rel('itocompra','partida',$i); // $importe = $do->get_rel('itocompra','importe',$i); // // $pk['codigopres'] = $codigopres; // $presup->load($pk); // // $causado =$presup->get("causado"); // // //if($importe > $causado) // // $error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto de la orden de pago ($importe) es mayor al monto causado($causado) para la partida: $codigopres</p></div>"; //} if (empty($error)) { for ($i = 0; $i < $do->count_rel('itocompra'); $i++) { $codigopres = $do->get_rel('itocompra', 'partida', $i); $importe = $do->get_rel('itocompra', 'importe', $i); $iva = $do->get_rel('itocompra', 'iva', $i); //$mont = $importe*(($iva+100)/100); $mont = $importe; $pk['codigopres'] = $codigopres; $presup->load($pk); $opago = $presup->get("opago"); $opago = $opago - $mont; $presup->set("opago", $opago); $presup->save(); } $ivaa = $do->get('ivaa'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $ivan = $ivag + $ivar + $ivaa; $pk['codigopres'] = $partidaiva; $presup->load($pk); $opago = $presup->get("opago"); $opago -= $ivan; $presup->set("opago", $opago); $presup->save(); $do->set('status', 'T'); $do->save(); $do2->set('status', 'T'); $do2->save(); } } else { $error .= "<div class='alert'><p>No se Puede Completar la operacion</p></div>"; } } if (empty($error)) { 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); } }
function actualizar($id) { $this->rapyd->load('dataobject'); $ord = new DataObject("ordinal"); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $multiple = $do->get('multiple'); $factura = $do->get('factura'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $reteiva = $do->get('reteiva'); if ($multiple == 'N') { if ($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac))) { $error .= "<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>"; } } else { $facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero={$id} "); if ($facs <= 0) { $error .= "<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>"; } } $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $pk['codigopres'] = $partidaiva; $presup->load($pk); $asignacion = $presup->get("asignacion"); $pasignacion = $presup->get("asignacion"); $aumento = $presup->get("aumento"); $disminucion = $presup->get("disminucion"); $traslados = $presup->get("traslados"); $comprometido = $presup->get("comprometido"); //print_r($presup->get_all()); // //echo $pasignacion; //exit('assasa'); if ($pasignacion > 0) { $disp = $asignacion + $aumento - $disminucion + $traslados - $comprometido; $ivaa = $do->get('ivaa'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $iva = $do->get('iva'); $reteiva = $do->get('reteiva'); $ivan = $ivag + $ivar + $ivaa + $iva; if ($ivan > $disp) { $error .= "<div class='alert'><p>El monto de iva ({$ivan}) de la orden de pago directa, es mayor al monto disponible ({$disp}) para la partida de iva ({$partidaiva})</p></div>"; } } if (empty($error)) { $sta = $do->get('status'); if ($sta == "B1") { for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $piva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); if ($pasignacion > 0) { $mont = $importe; } else { $mont = $importe + $importe * $piva / 100; } //echo $mont; //exit(); $pk['codigopres'] = $codigopres; $presup->load($pk); $asignacion = $presup->get("asignacion"); $aumento = $presup->get("aumento"); $disminucion = $presup->get("disminucion"); $traslados = $presup->get("traslados"); $comprometido = $presup->get("comprometido"); $disponible = $asignacion + $aumento - $disminucion + $traslados - $comprometido; //if($mont > $disponible){ // $error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto de la $this->t**s ($mont) es mayor al monto disponible($disponible) para la partida: $codigopres</p></div>"; //} if (!empty($ordinal)) { //echo "codigoadm:".$codigoadm." fondo:".$fondo." codigopres:".$codigopres." ordinal:".$ordinal."</br>"; $ord->load(array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal)); //print_r($ord->get_all()); $asignacion = $ord->get("asignacion"); $aumento = $ord->get("aumento"); $disminucion = $ord->get("disminucion"); $traslados = $ord->get("traslados"); $comprometido = $ord->get("comprometido"); $disponible = $asignacion + $aumento - $disminucion + $traslados - $comprometido; if ($mont > $disponible) { $error .= "<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto ({$mont}) de la orden de pago directo ({$id}) es mayor al monto disponible({$disponible}) para la partida: {$codigopres} y el ordinal ({$ordinal})</p></div>"; } } } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $piva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); if ($pasignacion > 0) { $mont = $importe; } else { $mont = $importe + $importe * $piva / 100; } //exit($mont); $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido += $mont; $causado += $mont; $opago += $mont; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->save(); if (!empty($ordinal)) { $ord->load(array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal)); $compr = $ord->get("comprometido"); $cau = $ord->get("causado"); $opa = $ord->get("opago"); $compr += $mont; $cau += $mont; $opa += $mont; $ord->set("comprometido", $compr); $ord->set("causado", $cau); $ord->set("opago", $opa); $ord->save(); } } if ($pasignacion > 0) { $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido += $ivan - $reteiva; $causado += $ivan - $reteiva; $opago += $ivan - $reteiva; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); //echo "aca"; $presup->save(); } $do->set('status', 'B2'); $do->save(); } } } $this->sp_presucalc($codigoadm); if (empty($error)) { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}. con ERROR:{$error} "); $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); } }
function presup($id, $accion) { $this->rapyd->load('dataobject'); $do = new DataObject("reinte"); $do->rel_one_to_many('itreinte', 'itreinte', array('numero' => 'numero')); $do->load($id); $status = $do->get('status'); $error = ''; $factor = 1; $formula = 'round($monto,2) > $disponible = '; switch ($accion) { case 'F2': $factor = -1; $campo = array('pagado', 'opago', 'causado', 'comprometido'); $formula .= 'round($pagado,2)'; if ($status != 'P') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'E2': $factor = -1; $campo = array('pagado'); $formula .= 'round($pagado,2)'; if ($status != 'P') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'O2': $factor = -1; $campo = array('opago'); $formula .= 'round($opago-$pagado,2)'; if ($status != 'E2' && $status != 'O1') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'T2': $factor = -1; $campo = array('causado'); $formula .= 'round($causado-$opago,2)'; if ($status != 'O2' && $status != 'T1') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'C2': $factor = -1; $campo = array('comprometido'); $formula .= 'round($comprometido-$causado,2)'; if ($status != 'T2' && $status != 'C1') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'E1': $factor = 1; $campo = array('pagado'); $formula .= 'round($opago-$pagado)'; if ($status != 'E2' && $status != 'O1') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'O1': $factor = 1; $campo = array('opago'); $formula .= 'round($causado-$opago,2)'; if ($status != 'O2' && $status != 'T1') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'T1': $factor = 1; $campo = array('causado'); $formula .= 'round($comprometido-$causado,2)'; if ($status != 'T2' && $status != 'C1') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'C1': $factor = 1; $campo = array('comprometido'); $formula .= 'round($presupuesto-$comprometido,2)'; if ($status != 'C2') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; case 'F1': $factor = 1; $campo = array('pagado', 'opago', 'causado', 'comprometido'); $formula .= 'round($presupuesto-$comprometido,2)'; if ($status != 'C2') { $error .= 'ERROR. No puede realizar la operacion para el documento en este momento.'; } break; } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itreinte'); $i++) { $codigopres = $do->get_rel('itreinte', 'codigopres', $i); $monto = $do->get_rel('itreinte', 'monto', $i); $ordinal = $do->get_rel('itreinte', 'ordinal', $i); $codigoadm = $do->get_rel('itreinte', 'codigoadm', $i); $fondo = $do->get_rel('itreinte', 'fondo', $i); $error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, $formula, $formula . " {$fondo} {$codigoadm} {$codigopres}"); } if (empty($error)) { if ($accion == 'E2' || $accion == 'F2') { if (strpos($id, '_') === 0) { $contador = $this->datasis->fprox_numero('nreinte'); $do->set('numero', $contador); $id = $contador; } } for ($i = 0; $i < $do->count_rel('itreinte'); $i++) { if ($accion == 'E2' || $accion == 'F2') { $do->set_rel('itreinte', 'id', '', $i); $do->set_rel('itreinte', 'numero', $contador, $i); } $codigopres = $do->get_rel('itreinte', 'codigopres', $i); $monto = $do->get_rel('itreinte', 'monto', $i); $ordinal = $do->get_rel('itreinte', 'ordinal', $i); $codigoadm = $do->get_rel('itreinte', 'codigoadm', $i); $fondo = $do->get_rel('itreinte', 'fondo', $i); $error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, $factor, $campo); } if (empty($error)) { if ($accion == 'F2') { $accion = 'C2'; } elseif ($accion == 'F1') { $accion = 'C1'; } $do->set('status', $accion); $do->save(); } } } else { $error = "<div class='alert'><p>{$error}</p></div>"; } if (empty($error)) { logusu('audis', "actualizo {$campo} numero {$id}"); redirect($this->url . "/dataedit/show/{$id}"); } else { logusu('audis', "actualizo {$campo} numero {$id} con error {$error}"); $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Aumentos y Disminuciones "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); //$pk['codigopres'] = $partidaiva; //$presup->load($pk); // //$asignacion =$presup->get("asignacion"); //$aumento =$presup->get("aumento"); //$disminucion =$presup->get("disminucion"); //$traslados =$presup->get("traslados"); //$comprometido =$presup->get("comprometido"); //$disp=(($asignacion+$aumento-$disminucion)+($traslados))-$comprometido; // $ivaa = $do->get('ivaa'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $iva = $do->get('iva'); $ivan = $ivag + $ivar + $ivaa + $iva; //if($ivan > $disp) // $error.="<div class='alert'><p>El monto de iva ($ivan) de la orden de pago directa, es mayor al monto disponible ($disp) para la partida de iva ($partidaiva)</p></div>"; if (empty($error)) { $sta = $do->get('status'); if ($sta == "B2") { //for($i=0;$i < $do->count_rel('itodirect');$i++){ // // $codigopres = $do->get_rel('itodirect','partida',$i); // $piva = $do->get_rel('itodirect','iva' ,$i); // // if($piva=2222){ // $subt = $do->get_rel('itodirect','subt' ,$i); // $mont = $subt; // }else{ // $importe = $do->get_rel('itodirect','importe',$i); // $mont = $importe; // } // // $pk['codigopres'] = $codigopres; // // $presup->load($pk); // $asignacion =$presup->get("asignacion"); // $aumento =$presup->get("aumento"); // $disminucion =$presup->get("disminucion"); // $traslados =$presup->get("traslados"); // $comprometido =$presup->get("comprometido"); // // $disponible=(($asignacion+$aumento-$disminucion)+($traslados))-$comprometido; // if($mont > $disponible){ // $error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto de la $this->t**s ($mont) es mayor al monto disponible($disponible) para la partida: $codigopres</p></div>"; // } //} if (empty($error)) { for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $piva = $do->get_rel('itodirect', 'iva', $i); if ($piva == 2222) { $subt = $do->get_rel('itodirect', 'subt', $i); $mont = $subt; } else { $importe = $do->get_rel('itodirect', 'importe', $i); $mont = $importe; } $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido -= $mont; $causado -= $mont; $opago -= $mont; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->save(); } $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido -= $ivan; $causado -= $ivan; $opago -= $ivan; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->save(); $do->set('status', 'B1'); $do->save(); } } } if (empty($error)) { 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); } }
function reverpresup($pago) { $this->rapyd->load('dataobject'); $error = ''; $ord = new DataObject("ordinal"); //$mbanc = new DataObject("mbanc"); //$mbanc -> rel_one_to_many('pambanc', 'pambanc', array('id'=>'mbanc')); //$mbanc -> load($id); //$pago = $mbanc->get_rel('pambanc','pago' ); //$codbanc = $mbanc->get_rel('pambanc','codbanc'); $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->load($pago); $status = $odirect->get('status'); $fechafac = $odirect->get('fechafac'); $controlfac = $odirect->get('controlfac'); $cod_prov = $odirect->get('cod_prov'); $exento = $odirect->get('exento'); $tivag = $odirect->get('tivag'); $mivag = $odirect->get('mivag'); $ivag = $odirect->get('ivag'); $tivaa = $odirect->get('tivaa'); $mivag = $odirect->get('mivag'); $ivaa = $odirect->get('ivaa'); $tivar = $odirect->get('tivar'); $mivar = $odirect->get('mivar'); $ivar = $odirect->get('ivar'); $subtotal = $odirect->get('subtotal'); $reteiva = $odirect->get('reteiva'); $reteiva_prov = $odirect->get('reteiva_prov'); $codigoadm = $odirect->get('estadmin'); $fondo = $odirect->get('fondo'); $ocompra = new DataObject("ocompra"); $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $presup = new DataObject("presupuesto"); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); if ($status == "F3") { $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->load($pago); 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); $codigoadm = $ocompra->get('estadmin'); $fondo = $ocompra->get('fondo'); $status = $ocompra->get('status'); $creten = $ocompra->get('creten'); $fechafac = $ocompra->get('fechafac'); $factura = $ocompra->get('factura'); $controlfac = $ocompra->get('contofac'); $exento = $ocompra->get('exento'); $tivaa = $ocompra->get('tivaa'); $tivag = $ocompra->get('tivag'); $tivar = $ocompra->get('tivar'); $ivaa = $ocompra->get('ivaa'); $ivag = $ocompra->get('ivag'); $ivar = $ocompra->get('ivar'); $mivaa = $ocompra->get('mivaa'); $mivag = $ocompra->get('mivag'); $mivar = $ocompra->get('mivar'); $subtotal = $ocompra->get('subtotal'); $reteiva = $ocompra->get('reteiva'); $tislr = $reten = $ocompra->get('reten'); $total = $ocompra->get('total'); $reteiva_prov = $ocompra->get('reteiva_prov'); $ivan = $ivag + $ivar + $ivaa; if (true) { //$total==$pagado $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo, 'codigopres' => $partidaiva); $presup->load($pk); $pasignacion = $presup->get("asignacion"); $totiva = 0; 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); if ($pasignacion > 0) { $mont = $importe; $totiva += $importe * $iva / 100; } else { $mont = $importe + $importe * $iva / 100; } $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo, 'codigopres' => $codigopres); $presup->load($pk); $pagado = $presup->get("pagado"); $pagado = $pagado - $mont; $presup->set("pagado", $pagado); $presup->save(); if (!empty($ordinal)) { $apk = array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal); $ord->load($pk); $pagago = $ord->get("pagado"); $pagago -= $mont; $ord->set("pagado", $pagado); $ord->save(); } } if ($pasignacion > 0) { $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo, 'codigopres' => $partidaiva); $presup->load($pk); $pagado = $presup->get("pagado"); $pagado -= $totiva; $presup->set("pagado", $pagado); $presup->save(); } if ($reteiva > 0) { $this->riva_an($p_compra, $pago, $itfact = ''); } $ocompra->set('status', 'O'); $ocompra->save(); $this->sp_presucalc($codigoadm); } } $odirect->set('status', 'F2'); $odirect->save(); //$this->po_anular($pago,false); } elseif ($status == "B3") { //$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 ->load($pago); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo, 'codigopres' => $partidaiva); $presup->load($pk); $pasignacion = $presup->get("asignacion"); $totiva = 0; for ($g = 0; $g < $odirect->count_rel('itodirect'); $g++) { $codigopres = $odirect->get_rel('itodirect', 'partida', $g); $importe = $odirect->get_rel('itodirect', 'importe', $g); $iva = $odirect->get_rel('itodirect', 'iva', $g); $ordinal = $odirect->get_rel('itodirect', 'ordinal', $g); if ($pasignacion > 0) { $mont = $importe; $totiva += $importe * $iva / 100; } else { $mont = $importe + $importe * $iva / 100; } $pk = array("codigoadm" => $codigoadm, "tipo" => $fondo, "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" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal)); $pagado = $ord->get("pagado"); $pagado -= $mont; $ord->set("pagado", $pagado); $ord->save(); } } if ($reteiva > 0) { if ($odirect->get('multiple') == 'N') { $this->riva_an('', $pago, $itfact = ''); } elseif ($odirect->get('multiple') == 'S') { //$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 ->load($pago); for ($l = 0; $l < $odirect->count_rel('itfac'); $l++) { $iditfac = $odirect->get_rel('itfac', 'id', $l); $factura = $odirect->get_rel('itfac', 'factura', $l); $fechafac = $odirect->get_rel('itfac', 'fechafac', $l); $controlfac = $odirect->get_rel('itfac', 'controlfac', $l); $exento = $odirect->get_rel('itfac', 'exento', $l); $ivag = $odirect->get_rel('itfac', 'ivag', $l); $ivaa = $odirect->get_rel('itfac', 'ivaa', $l); $ivar = $odirect->get_rel('itfac', 'ivar', $l); $reteiva = $odirect->get_rel('itfac', 'reteiva', $l); $mivag = $ivag * 100 / $tivag; $mivar = $ivar * 100 / $tivar; $mivaa = $ivaa * 100 / $tivaa; if ($reteiva > 0) { $this->riva_an('', $pago, $iditfac); } } } } if ($pasignacion > 0) { $pk['codigopres'] = $partidaiva; $presup->load($pk); $pagado = $presup->get("pagado"); $pagado -= $totiva; $presup->set("pagado", $pagado); $presup->save(); } $odirect->set('status', 'B2'); $odirect->save(); //$this->op_anular($pago,false); $this->sp_presucalc($codigoadm); } elseif ($status == "I3") { $odirect->set('status', 'I2'); $odirect->save(); } elseif ($status == "M3") { $odirect->set('status', 'M2'); $odirect->save(); } elseif ($status == 'S3') { $odirect->set('status', 'S2'); $odirect->save(); } elseif ($status == 'R3') { $odirect->set('status', 'R2'); $odirect->save(); } elseif ($status == 'G3') { $odirect->set('status', 'G2'); $odirect->save(); } elseif ($status == 'H3') { $odirect->set('status', 'H2'); $odirect->save(); } elseif ($status == 'O3') { $obr = $odirect->get('obr'); $iva = $odirect->get('iva'); $total2 = $odirect->get('total2'); $amortiza = $odirect->get('amortiza'); $mont = $total2 - $amortiza; $obra = new DataObject("obra"); $obra->load($obr); $codigoadm = $obra->get('codigoadm'); $fondo = $obra->get('fondo'); $codigopres = $obra->get('codigopres'); $ordinal = $obra->get('ordinal'); $pk = array("codigoadm" => $codigoadm, "tipo" => $fondo, "codigopres" => $codigopres); $presup->load($pk); $pag = $presup->get("pagado"); $pag -= $mont; $presup->set("pagado", $pag); $presup->save(); if (!empty($ordinal)) { $pk = array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal); $ord->load($pk); $pagado = $ord->get("pagado"); $pagado -= $mont; $ord->set("pagado", $pagado); $ord->save(); } if ($reteiva > 0) { $this->riva_an('', $pago, $itfact = ''); } $odirect->set('status', 'O2'); $odirect->save(); //$this->po_anular($pago,false); } else { } //$this->sp_presucalc($codigoadm); }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'C') { $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $error = ''; $tiva = 0; for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $iva = $do->get_rel('itodirect', 'iva', $i); $m = $importe * (($iva + 100) / 100) - $importe; $tiva += $m; $mont = $importe; $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $pagado = $presup->get("pagado"); $comprometido -= $mont; $causado -= $mont; $opago -= $mont; $pagado -= $mont; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->set("pagado", $pagado); $presup->save(); } $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $pagado = $presup->get("pagado"); $comprometido -= $tiva; $causado -= $tiva; $opago -= $tiva; $pagado -= $tiva; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->set("pagado", $pagado); $presup->save(); $do->set('status', 'P'); $do->save(); } redirect($this->url . "/dataedit/show/{$id}"); }
function reversar($numero) { $this->rapyd->load('dataobject'); $do = new DataObject("econo"); $do->rel_one_to_many('itecono', 'itecono', array('numero' => 'numero')); $do->load($numero); $sta = $do->get('status'); $error = ''; if ($sta == 'C') { for ($i = 0; $i < $do->count_rel('itecono'); $i++) { $codigopres = $do->get_rel('itecono', 'codigopres', $i); $monto = $do->get_rel('itecono', 'monto', $i); $codigoadm = $do->get_rel('itecono', 'codigoadm', $i); $fondo = $do->get_rel('itecono', 'fondo', $i); $error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, null, $monto, 0, 'round($monto,2) > round(($presupuesto-$comprometido),2)', "El Monto ({$monto}) es mayor al MONTO DISPONIBLE para la partida ({$codigoadm}) ({$fondo}) ({$codigopres})"); } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itecono'); $i++) { $codigopres = $do->get_rel('itecono', 'codigopres', $i); $monto = $do->get_rel('itecono', 'monto', $i); $codigoadm = $do->get_rel('itecono', 'codigoadm', $i); $fondo = $do->get_rel('itecono', 'fondo', $i); $error .= $this->afectapresup($codigoadm, $fondo, $codigopres, null, $monto, 0, 1, array('comprometido')); } if (empty($error)) { $do->set('status', 'P'); $do->save(); } } } else { $error .= "<div class='alert'><p>No se puede realizar la operacion para esta economia</p></div>"; } if (empty($error)) { logusu('econo', "reverso economia numero {$numero}"); redirect($this->url . "/dataedit/show/{$numero}"); } else { logusu('econo', "reverso economia numero {$numero} con error {$error}"); $data['content'] = $error . anchor($this->url . "/dataedit/show/{$numero}", 'Regresar'); $data['title'] = " Economias "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }