Example #1
0
    function dataedit($status = '', $id = '', $id2 = '')
    {
        $this->rapyd->load("dataobject", "dataedit");
        $id = radecode($id);
        $id2 = radecode($id2);
        $link = site_url('inventario/seriales/ultimo');
        $link2 = site_url('inventario/seriales/sugerir');
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		
		function ultimo(){
			$.ajax({
				url: "' . $link . '",
				success: function(msg){
				  alert( "El ultimo codigo ingresado fue: " + msg );
				}
			});
		}
		
		function sugerir(){
			$.ajax({
					url: "' . $link2 . '",
					success: function(msg){
						if(msg){
							$("#depto").val(msg);
						}
						else{
							alert("No es posible generar otra sugerencia. Coloque el código manualmente");
						}
					}
				});
		}';
        $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'clienten'), 'titulo' => 'Buscar Cliente');
        $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'grupo' => 'Grupo', 'descrip' => 'Descripción'), 'filtro' => array('codigo' => 'Código', 'grupo' => 'Grupo', 'descrip' => 'Descripción'), 'retornar' => array('cliente' => 'clienten'), 'titulo' => 'Buscar Cliente');
        $bsclid = $this->datasis->modbus($mSCLId);
        $boton = $this->datasis->modbus($modbus);
        $do = new DataObject("seri");
        if ($status == "create" && !empty($id) && !empty($id2)) {
            $do->load($id);
            $do->load_where("serial", $id2);
        }
        $edit = new DataEdit("Seriales", $do);
        $edit->back_url = site_url("inventario/seriales/filteredgrid");
        $edit->script($script, "create");
        $edit->script($script, "modify");
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->codigo = new inputField("Código", "codigo");
        $edit->codigo->mode = "autohide";
        $edit->codigo->size = 20;
        $edit->codigo->maxlength = 15;
        $edit->codigo->rule = "trim|required|callback_chexiste";
        $edit->serial = new inputField("Serial", "serial");
        $edit->serial->size = 40;
        $edit->serial->maxlength = 35;
        $edit->serial->rule = "required";
        $edit->descrip = new inputField("Descripción", "descrip");
        $edit->descrip->size = 50;
        $edit->descrip->maxlength = 40;
        $edit->descrip->rule = "trim|strtoupper";
        $edit->descrip->when = array("show");
        $edit->modelo = new inputField("Modelo", "modelo");
        $edit->modelo->size = 25;
        $edit->modelo->maxlength = 20;
        $edit->modelo->rule = "trim|strtoupper";
        $edit->modelo->when = array("show");
        $edit->marca = new inputField("Marca", "marca");
        $edit->marca->size = 23;
        $edit->marca->maxlength = 20;
        $edit->marca->rule = "trim|strtoupper";
        $edit->marca->when = array("show");
        $edit->clave = new inputField("Clave", "clave");
        $edit->clave->size = 12;
        $edit->clave->maxlength = 8;
        $edit->clave->rule = "trim|strtoupper";
        $edit->clave->when = array("show");
        $edit->unidad = new inputField("Unidad", "unidad");
        $edit->unidad->size = 12;
        $edit->unidad->maxlength = 8;
        $edit->unidad->rule = "trim|strtoupper";
        $edit->unidad->when = array("show");
        $edit->fechac = new DateField("Fecha de Compra", "fechac");
        $edit->fechac->size = 12;
        $edit->compra = new inputField("Compra", "compra");
        $edit->compra->size = 10;
        $edit->compra->maxlength = 8;
        $edit->compra->rule = "trim|strtoupper";
        $edit->proveed = new inputField("Proveedor", "proveed");
        $edit->proveed->size = 8;
        $edit->proveed->maxlength = 5;
        $edit->proveed->rule = "trim|strtoupper";
        $edit->proveed->append($boton);
        $edit->fechav = new DateField("Fecha de Venta", "fechav");
        $edit->fechav->size = 12;
        $edit->venta = new inputField("Venta", "venta");
        $edit->venta->size = 10;
        $edit->venta->maxlength = 8;
        $edit->venta->rule = "trim|strtoupper";
        $edit->cliente = new inputField("Cliente", "cliente");
        $edit->cliente->size = 8;
        $edit->cliente->maxlength = 5;
        $edit->cliente->rule = "trim|strtoupper";
        $edit->cliente->append($bsclid);
        $edit->buttons("modify", "save", "undo", "delete", "back");
        $edit->build();
        $data['content'] = $edit->output;
        $data['title'] = "<h1>Seriales</h1>";
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
 function _validafac($do)
 {
     $this->rapyd->load('dataobject');
     $factura = $do->get('factura');
     $controlfac = $do->get('controlfac');
     $fechafac = $do->get('fechafac');
     $numero = $do->get('numero');
     $cod_prov = $do->get('cod_prov');
     $this->chexiste_factura($numero, $factura, $controlfac, $cod_prov, 'B', $e);
     $error = $e;
     $riva = new DataObject("riva");
     $riva->load_where(array('odirect' => $numero, 'status <>' => 'A', 'status <>' => 'AN'));
     $status = $riva->get('status');
     $nrocomp = $riva->get('nrocomp');
     if (!empty($nrocomp) && !($status == 'B' || $status == 'A')) {
         $error .= "No se puede cambiar el numero de factura debido a que la retencion de iva ({$nrocomp}) ya fue declarada";
     }
     if (empty($error)) {
         $riva->set('numero', $factura);
         $riva->set('nfiscal', $controlfac);
         $riva->set('ffactura', $fechafac);
         $riva->save();
     } else {
         $do->error_message_ar['pre_ins'] = $error;
         $do->error_message_ar['pre_upd'] = $error;
         logusu('odirect', "Cambio datos Factura {$factura} Nro {$controlfac} fecha {$fechafac},orden de pago {$numero} con error {$error}");
         return false;
     }
 }
Example #3
0
 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $ord = new DataObject("ordinal");
     $mbanc = new DataObject("mbanc");
     $mbanc->rel_one_to_many('itppro', 'itppro', array('id' => 'mbanc'));
     $mbanc->load($id);
     $m_codbanc = $mbanc->get('codbanc');
     $m_monto = $mbanc->get('monto');
     $banc = new DataObject("banc");
     $banc->load($m_codbanc);
     $saldo = $banc->get('saldo');
     $activo = $banc->get('activo');
     $odirect = new DataObject("odirect");
     $odirect->rel_one_to_many('pacom', 'pacom', array('numero' => 'pago'));
     $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $odirect->rel_one_to_many('islr', 'islr', array('numero' => 'odirect'));
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $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);
     }
 }
Example #4
0
 function siva($id)
 {
     $this->rapyd->load('dataobject');
     $riva = new DataObject("riva");
     $riva->load_where('mbanc', $id);
     $rivaid = $riva->get('nrocomp');
     redirect('formatos/ver/RIVA/' . $rivaid);
 }
Example #5
0
 function _valida($do)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $numero = $do->get('numero');
     $itodirect = new DataObject('itodirect');
     $tot = 0;
     for ($i = 0; $i < $do->count_rel('itoreinte'); $i++) {
         $partida = $do->get_rel('itoreinte', 'partida', $i);
         $reinte = $do->get_rel('itoreinte', 'reinte', $i);
         $itodirect->load_where('numero', $numero);
         $itodirect->load_where('partida', $partida);
         $importe = $itodirect->get('importe');
         if ($importe < $reinte) {
             $error .= "<div class='alert'><p>Partida ({$partida}): El monto del reintegro ({$reinte}) es mayor a el pagado ({$importe})</p></div>";
         }
         $tot += $reinte;
     }
     if (empty($error)) {
         $itodirect->set('total', $tot);
     } else {
         $do->error_message_ar['pre_ins'] = $error;
         $do->error_message_ar['pre_upd'] = $error;
         return false;
     }
 }
Example #6
0
 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $ppro = new DataObject("ppro");
     $ppro->rel_one_to_many('itppro', 'itppro', array('numero' => 'numero'));
     $ppro->load($id);
     $odirect = new DataObject("odirect");
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $error = "";
     $presup = new DataObject("presupuesto");
     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
     //$pk['codigopres'] = $partidaiva;
     //$presup->load($pk);
     if (empty($error)) {
         $sta = $ppro->get('status');
         if ($sta == "C") {
             // AND $status=="T"
             //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 ($j = 0; $j < $ppro->count_rel('itppro'); $j++) {
                     $orden = $ppro->get_rel('itppro', 'orden', $j);
                     $odirect->load($orden);
                     $ocompra->load_where('odirect', $orden);
                     $codigoadm = $ocompra->get('estadmin');
                     $fondo = $ocompra->get('fondo');
                     $numero = $ocompra->get('numero');
                     $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo);
                     //$status = $odirect->get('status');
                     for ($i = 0; $i < $ocompra->count_rel('itocompra'); $i++) {
                         $codigopres = $ocompra->get_rel('itocompra', 'partida', $i);
                         $importe = $ocompra->get_rel('itocompra', 'importe', $i);
                         $iva = $ocompra->get_rel('itocompra', 'iva', $i);
                         //$mont        = $importe*(($iva+100)/100);
                         $mont = $importe;
                         $pk['codigopres'] = $codigopres;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado = $pagado - $mont;
                         $presup->set("pagado", $pagado);
                         $presup->save();
                     }
                     $ivaa = $ocompra->get('ivaa');
                     $ivag = $ocompra->get('ivag');
                     $ivar = $ocompra->get('ivar');
                     $ivan = $ivag + $ivar + $ivaa;
                     $pk['codigopres'] = $partidaiva;
                     $presup->load($pk);
                     $pagado = $presup->get("pagado");
                     $pagado -= $ivan;
                     $presup->set("pagado", $pagado);
                     $presup->save();
                     //print_r($presup->get_all());
                     //exit;
                     $ocompra->set('status', 'O');
                     $ocompra->save();
                     $odirect->set('status', 'O');
                     $odirect->save();
                 }
                 $ppro->set('status', 'P');
                 $ppro->save();
             } else {
                 $error .= "<div class='alert'><p>No se Puede Completar la operacion</p></div>";
             }
         } else {
             $error .= "<div class='alert'><p>No se Puede Completar la operacion s</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);
     }
 }
Example #7
0
 function _valida($do)
 {
     $this->rapyd->load('dataobject');
     $odirect = new DataObject("odirect");
     $total = 0;
     for ($i = 0; $i < $do->count_rel('retenomi'); $i++) {
         $total += $monto = $do->get_rel('retenomi', 'monto', $i);
     }
     $nomi = $do->get('nomi');
     $error = '';
     if (empty($error)) {
         $odirect->load_where('nomina', $nomi);
         $totala = $odirect->get('total');
         $statusa = $odirect->get('status');
         if (substr($statusa, 1, 1) == '3') {
             $error .= "<div class='alert'><p>No se pude modificar las retenciones, debido a que ya este desembolsada</p></div>";
         }
         if (empty($error)) {
             $odirect->set('retenomina', $total);
             $odirect->set('total', $totala - $total);
             $odirect->save();
         }
     }
     if (!empty($error)) {
         $do->error_message_ar['pre_ins'] = $error;
         $do->error_message_ar['pre_upd'] = $error;
         return false;
     }
 }
Example #8
0
 function reversar2($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $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'));
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $riva = new DataObject("riva");
     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);
                 $odirect->load($orden);
                 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 odirect b ON a.orden=b.numero JOIN pacom c ON b.numero=c.pago WHERE c.compra={$p_compra}");
                     $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 - $reten + ($ivan - $reteiva);
                     $riva->load_where('ocompra', $p_compra);
                     $riva->set('status', 'A');
                     $riva->save();
                     if ($oc_status == 'E') {
                         $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                         $presup = new DataObject("presupuesto");
                         $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo);
                         for ($h = 0; $h < $odirect->count_rel('pacom'); $h++) {
                             for ($g = 0; $g < $ocompra->count_rel('itocompra'); $g++) {
                                 $codigopres = $ocompra->get_rel('itocompra', 'partida', $g);
                                 $importe = $ocompra->get_rel('itocompra', 'importe', $g);
                                 $iva = $ocompra->get_rel('itocompra', 'iva', $g);
                                 //$mont        = $importe*(($iva+100)/100);
                                 $mont = $importe;
                                 $pk['codigopres'] = $codigopres;
                                 $presup->load($pk);
                                 $pagado = $presup->get("pagado");
                                 $pagado = $pagado - $mont;
                                 $presup->set("pagado", $pagado);
                                 $presup->save();
                             }
                         }
                         $pk['codigopres'] = $partidaiva;
                         $presup->load($pk);
                         $pagado = $presup->get("pagado");
                         $pagado -= $ivan;
                         $presup->set("pagado", $pagado);
                         $presup->save();
                         $ocompra->set('status', 'O');
                         $ocompra->save();
                     }
                 }
                 if ($status == 'F3') {
                     $odirect->set('status', 'F2');
                 } elseif ($status == 'B3') {
                     $odirect->set('status', 'B2');
                 } elseif ($status == 'R3') {
                     $odirect->set('status', 'R2');
                 } elseif ($status == 'G3') {
                     $odirect->set('status', 'G2');
                 } elseif ($status == 'I3') {
                     $odirect->set('status', 'I2');
                 }
                 $odirect->save();
             }
             $saldo += $m_monto;
             $banc->set('saldo', $saldo);
             $banc->save();
             $mbanc->set('status', 'E1');
             $mbanc->save();
         }
     } else {
         $error .= "<div class='alert'><p>No se Puede Completar la operacion s</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);
     }
 }
Example #9
0
 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("pmov");
     $do->load($id);
     $codbanc = $do->get('codbanc');
     $status = $do->get('status');
     $deposito = $do->get('deposito');
     $monto = $do->get('monto');
     $do2 = new DataObject("banc");
     $do2->load($codbanc);
     $saldo = $do2->get('saldo');
     $activo = $do2->get('activo');
     $error = '';
     if ($activo != 'S') {
         $error .= "<div class='alert'><p>El Banco ({$codbanc}) esta inactivo</p></div>";
     }
     if ($status != 'C') {
         $error .= "<div class='alert'><p>No se puede Realizar la operaci&oacute;n</p></div>";
     }
     if ($monto > $saldo) {
         $error .= "<div class='alert'><p>El monto del anticipo ({$monto}) es mayor que el saldo ({$saldo}) del banco ({$codbanc})</p></div>";
     }
     //if(empty($deposito))
     //	$error.="<div class='alert'><p>El campo deposito no puede estar en blanco</p></div>";
     if (empty($error)) {
         $saldo -= $monto;
         $do->set('status', 'P');
         $do->save();
         $do2->set('saldo', $saldo);
         $do2->save();
         $mbanc = new DataObject("mbanc");
         $mbanc->load_where('numero', $id);
         $mbanc->set('monto', $monto);
         $mbanc->set('numero', $id);
         $mbanc->set('tipo', 'A');
         $mbanc->set('status', 'A1');
         $mbanc->set('fecha', $do->get('fecha2'));
         $mbanc->set('codbanc', $do->get('codbanc'));
         $mbanc->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);
     }
 }