function terminada($id) { $this->rapyd->load('dataobject'); $do = new DataObject("otrabajo"); $do->rel_one_to_many('itotrabajo', 'itotrabajo', array('numero' => 'numero')); $do->load($id); $numero = $do->get('numero'); if (strpos($numero, '_') === 0) { $contador = $this->datasis->fprox_numero('notrabajo'); $do->set('numero', $contador); for ($i = 0; $i < $do->count_rel('itotrabajo'); $i++) { $do->set_rel('itotrabajo', 'id', '', $i); $do->set_rel('itotrabajo', 'numero', $contador, $i); } $this->db->query("DELETE FROM itotrabajo WHERE numero='{$numero}'"); } else { $contador = $id; } if (empty($error)) { $do->set('status', 'C'); $do->save(); } if (empty($error)) { logusu('otrabajo', "Marco como terminada orden de trabajo Nro {$id}"); redirect("presupuesto/otrabajo/dataedit/show/{$contador}"); } else { logusu('otrabajo', "Marco como terminada orden de trabajo Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor("presupuesto/otrabajo/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Orden de Trabajo "; $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 = ''; $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 actualizar($id) { $this->rapyd->load('dataobject'); $this->db->query("UPDATE mbanc x\n JOIN (\n SELECT a.id,GROUP_CONCAT(1*c.pago) opago\n FROM mbanc a\n JOIN desem b ON a.desem=b.numero\n JOIN pades c ON b.numero=c.desem\n JOIN odirect d ON c.pago=d.numero\n WHERE a.desem={$id}\n GROUP BY a.id\n )y ON x.id=y.id\n SET x.observa2 =y.opago"); $error = ''; $do = new DataObject("desem"); $do->rel_one_to_many('mbanc', 'mbanc', array('numero' => 'desem')); $do->load($id); $banc = new DataObject("banc"); $b = array(); 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); $this->chexiste_cheque($codbanc, $cheque, $tipo_doc, $mid, $e); $error .= $e; $error .= $this->chbanse($codbanc, $fecha); //print_r($b); if (in_array($codbanc, $b)) { $b[$codbanc] += $monto; } else { $b[$codbanc] = $monto; } } if (empty($error) && $mstatus == 'E1') { foreach ($b as $codbanc => $monto) { $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 ($monto > $saldo) { $error .= "<div class='alert'><p>La suma de los Montos de los cheques ({$monto}) es mayor al disponible ({$saldo}) en el banco ({$banco})</p></div>"; } } } if (empty($error)) { $error .= $this->actpresup($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', 'mid', $i); $do->set_rel('mbanc', 'status', 'E2', $i); $banc->load($codbanc); $saldo = $banc->get('saldo'); $saldo -= $monto; $banc->set('saldo', $saldo); $banc->save(); } } if (empty($error)) { $do->set('status', 'D2'); $do->save(); logusu('desem', "Actualizo desembolso Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('desem', "Actualizo desembolso 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(); $this->load->view('view_ventanas', $data); } }
function termina($numero) { $this->rapyd->load('dataobject'); $error = ''; $do = new DataObject("anoprox"); $do->rel_one_to_many('itanoprox', 'itanoprox', array('numero' => 'numero')); $do->load($numero); $status = $do->get('status'); if ($status == 'H1') { } else { $error .= "<div class='alert'>No se puede realizar la operacion para el certificado</div>"; } if (empty($error)) { $numero = $ncdisp = $this->datasis->fprox_numero('nanoprox'); $do->set('numero', $ncdisp); //$do->pk =array('numero'=>$ncdisp); for ($i = 0; $i < $do->count_rel('itanoprox'); $i++) { $do->set_rel('itanoprox', 'id', '', $i); $do->set_rel('itanoprox', 'numero', $ncdisp, $i); } } //print_r($do->get_all()); if (empty($error)) { $do->set('status', 'H2'); $do->save(); logusu('canoprox', "Marco como terminado documento nro {$numero}"); redirect($this->url . "dataedit/show/{$numero}"); } else { logusu('anoprox', "Marco como terminado dosumento 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 itfac2($data, $numero, $retorna) { //print_r($data); // exit(); $this->rapyd->load("dataobject"); $do = new DataObject("ocompra"); $do->rel_one_to_many('itfac', 'itfac', array('numero' => 'nocompra')); $do->load($numero); $reteiva_prov = $do->get('reteiva_prov'); $creten = $do->get('creten'); $total2 = $do->get('total2'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $ivaa = $do->get('ivaa'); $i = $ttotal2 = $ttemp = 0; $error = ''; $ivaplica = $this->datasis->ivaplica(); foreach ($data as $row) { $temp = array(); foreach ($row as $cols) { $temp[] = $cols; } if (strlen($temp[3]) > 0) { $do->set_rel('itfac', 'nocompra', $numero, $i); $do->set_rel('itfac', 'factura', $temp[3], $i); $do->set_rel('itfac', 'controlfac', $temp[4], $i); $do->set_rel('itfac', 'fechafac', human_to_dbdate($temp[2]), $i); $temp[11] = 1 * $temp[11]; $do->set_rel('itfac', 'exento', 0, $i); $do->set_rel('itfac', 'ivar', 0, $i); $do->set_rel('itfac', 'ivaa', 0, $i); $do->set_rel('itfac', 'ivag', 0, $i); $do->set_rel('itfac', 'uivar', 'N', $i); $do->set_rel('itfac', 'uivaa', 'N', $i); $do->set_rel('itfac', 'uivag', 'N', $i); $do->set_rel('itfac', 'ureten', 'N', $i); $do->set_rel('itfac', 'uimptimbre', 'N', $i); $ttemp = $temp[11] + round($ttemp, 2); $temp[9] = str_replace(',', '', $temp[9]); $temp[11] = str_replace(',', '', $temp[11]); switch (1 * $temp[10] * 100) { case $ivaplica['redutasa']: $do->set_rel('itfac', 'ivar', 1 * $temp[11], $i); $do->set_rel('itfac', 'uivar', 'S', $i); break; case $ivaplica['tasa']: $do->set_rel('itfac', 'ivag', 1 * $temp[11], $i); $do->set_rel('itfac', 'uivag', 'S', $i); break; case $ivaplica['sobretasa']: $do->set_rel('itfac', 'ivaa', 1 * $temp[11], $i); $do->set_rel('itfac', 'uivag', 'S', $i); break; } $reteiva = 1 * $temp[11] * $reteiva_prov / 100; $total2_t = 1 * $temp[9] + 1 * $temp[11]; $ttotal2 = $total2_t + round($ttotal2, 2); $do->set_rel('itfac', 'reteiva', $reteiva, $i); $do->set_rel('itfac', 'subtotal', 1 * $temp[9], $i); $do->set_rel('itfac', 'total2', $total2_t, $i); $rete = $this->datasis->damerow("SELECT base1,tari1,pama1 FROM rete WHERE codigo='{$creten}'"); if (substr($creten, 0, 1) == '1') { $reten = round($temp[9] * $rete['base1'] * $rete['tari1'] / 10000, 2); } else { $reten = round(($temp[9] - $rete['pama1']) * $rete['base1'] * $rete['tari1'] / 10000, 2); } if ($reten < 0) { $reten = 0; } $do->set_rel('itfac', 'reten', $reten, $i); $do->set_rel('itfac', 'ureten', 'S', $i); $do->set_rel('itfac', 'total', $total2_t - $reten - $reteiva, $i); $i++; } } //exit("ttotal2:".$ttemp); //if(abs($ttotal2-$total2)>=0.4) //$error.="El monto total cargado ($ttotal2) es diferente al Comprometido ($total2) "; //if(((round((round($s,2) -round($subtotal,2)),2) > 0.02))|| (round(round($subtotal,2)-(round($s ,2)),2) > 0.02) )$error.="<div class='alert'><p>La Suma de los Subtotales ($subtotal) de las facturas es diferente al subtotal ($s) de la orden de pago</p></div>"; if (empty($error)) { $do->save(); redirect("presupuesto/{$retorna}/dataedit/modify/{$numero}"); } else { //logusu('ocompra',"Comprometio Orden de Compra Nro $id. con ERROR:$error "); $data['content'] = "<div class='alert'>" . $error . "</div>" . anchor("presupuesto/{$retorna}/load/{$numero}", 'Regresar'); $data['title'] = " Error al cargar archivo de facturas "; $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($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 terminada($numero, $retorna = 'ocompra') { $this->rapyd->load('dataobject'); $do = new DataObject("ocompra"); $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $do->load($numero); $numeroa = $numero; //echo ">>>>>".$numero.strpos($numero,'_')."<<<<<"; //exit(); if (strpos($numero, '_') === 0) { //exit('Por aqui paso'); $tipo = $do->get('tipo'); switch ($tipo) { case 'Compra': $tabla = 'nocompra'; $prefijo = 'OC'; break; case 'Servicio': $tabla = 'nocompraservi'; $prefijo = 'OS'; break; case 'Compromiso': $tabla = 'nocompracom'; $prefijo = 'CO'; break; case 'Contrato': $tabla = 'nocompracom'; $prefijo = 'CO'; break; case 'Trabajo': $tabla = 'nocompratra'; $prefijo = 'OT'; break; case 'Ejec.Obra': $tabla = 'nocompraobra'; $prefijo = 'EO'; break; case 'Cont.Marco': $tabla = 'nocompramarco'; $prefijo = 'CM'; break; } $contador = $this->datasis->fprox_numero($tabla); $do->set('numero', $prefijo . $contador); //$do->pk=array('numero'=>$prefijo.$contador); for ($i = 0; $i < $do->count_rel('itocompra'); $i++) { $do->set_rel('itocompra', 'id', '', $i); $do->set_rel('itocompra', 'numero', $prefijo . $contador, $i); } $this->db->query("DELETE FROM itocompra WHERE numero='{$numero}'"); $numero = $prefijo . $contador; $this->db->query("UPDATE itfac SET nocompra='" . $prefijo . $contador . "' WHERE nocompra='{$numeroa}'"); } $status = $do->get('status'); if ($status == 'M') { $do->set('status', 'P'); $do->save(); } logusu('ocompra', "Marco Orden de Compra como Terminada Nro {$numero}"); redirect("presupuesto/{$retorna}/dataedit/show/{$numero}"); }
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 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 _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 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 cd_precomprometer($numero, $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 == 'P' || $status == 'F') { $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); $disponible = $this->datasis->dameval("SELECT saldo FROM v_presaldo WHERE codigoadm='{$codigoadm}' AND fondo='{$fondo}' AND codigo='{$codigopres}'"); $do->set_rel('itcdisp', 'disp', $disponible, $i); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $soli; } else { $importes[$cadena] = $soli; } } if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $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] . ') '); } } //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 ($status == 'P') { $numero = $ncdisp = $this->datasis->fprox_numero('ncdisp'); $do->set('numero', $ncdisp); //$do->pk =array('numero'=>$ncdisp); for ($i = 0; $i < $do->count_rel('itcdisp'); $i++) { $do->set_rel('itcdisp', 'id', '', $i); $do->set_rel('itcdisp', 'numero', $ncdisp, $i); } } } //print_r($do->get_all()); if (empty($error)) { $do->set('status', 'C'); $do->save(); logusu('cdisp', "Marco como terminado certificado nro {$numero}"); if ($redirect) { redirect("presupuesto/cdisp/dataedit/show/{$numero}"); } } else { logusu('cdisp', "Marco como terminado 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 actualizar($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 == 'P') { 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(($comprometido-$causado),2)', "El Monto ({$monto}) es mayor al MONTO DE COMPROMETIDO POR CAUSAR 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')); } } } else { $error .= "<div class='alert'><p>No se puede realizar la operacion para esta economia</p></div>"; } if (empty($error)) { if (strpos($numero, '_') === 0) { $contador = $this->datasis->fprox_numero('necono'); $do->set('numero', $contador); for ($i = 0; $i < $do->count_rel('itecono'); $i++) { $do->set_rel('itecono', 'id', '', $i); $do->set_rel('itecono', 'numero', $contador, $i); } $this->db->query("DELETE FROM itecono WHERE numero='{$numero}'"); $numero = $contador; } if (empty($error)) { $do->set('status', 'C'); $do->save(); } logusu('econo', "actualizo economia numero {$numero}"); redirect($this->url . "/dataedit/show/{$numero}"); } else { logusu('econo', "actualizo 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); } }
function actualizar($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')); $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $odirect->pointer('sprv', 'sprv.proveed=odirect.cod_prov', 'sprv.nombre as nom_prov, sprv.rif as rif_prov'); $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"); $islr = new DataObject("islr"); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); if ($activo != 'S') { $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>"; } if ($m_monto > $saldo) { $error .= "<div class='alert'><p>El Monto ({$tot}) del cheque es mayor al disponible ({$saldo}) en el banco ({$banco})</p></div>"; } $sta = $mbanc->get('status'); if ($sta == "E1") { $mbanc->set('status', 'E2'); $m_benefi = $mbanc->get('benefi'); $t = 0; if (empty($error)) { 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_subtotal = $odirect->get('subtotal'); $od_ivag = $odirect->get('ivag'); $od_ivaa = $odirect->get('ivaa'); $od_ivar = $odirect->get('ivar'); $od_reten = $odirect->get('reten'); $od_reteiva = $odirect->get('reteiva'); $od_fechafac = $odirect->get('fechafac'); $od_cod_prov = $ocompra->get('cod_prov'); $od_creten = $ocompra->get('creten'); $od_pr = $od_reten * 100 / $od_subtotal; if ($status == "F2") { for ($g = 0; $g < $odirect->count_rel('pacom'); $g++) { $p_t = $odirect->get_rel('pacom', 'total', $g); $p_compra = $odirect->get_rel('pacom', 'compra', $g); $ocompra->load($p_compra); $oc_codigoadm = $ocompra->get('estadmin'); $oc_fondo = $ocompra->get('fondo'); $oc_status = $ocompra->get('status'); $oc_cod_prov = $ocompra->get('cod_prov'); $oc_creten = $ocompra->get('creten'); $oc_fechafac = $ocompra->get('fechafac'); $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 - $reten + ($ivan - $reteiva); if ($total == $pagado) { $pr = $reten * 100 / $subtotal; echo "pr" . $pr; $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++) { $islrid = ''; $codigopres = $ocompra->get_rel('itocompra', 'partida', $g); $importe = $ocompra->get_rel('itocompra', 'importe', $g); $iva = $ocompra->get_rel('itocompra', 'iva', $g); $islrid = $ocompra->get_rel('itocompra', 'islrid', $g); //$mont = $importe*(($iva+100)/100); echo "i_islr" . ($i_islr = $importe * $pr / 100); echo "mont" . ($mont = $importe - $i_islr); $pk['codigopres'] = $codigopres; $presup->load($pk); $pagado = $presup->get("pagado"); $pagado = $pagado + $mont; $presup->set("pagado", $pagado); $presup->save(); if (!empty($islrid)) { $islr->load($islrid); } $islr->set('estadmin', $oc_codigoadm); $islr->set('fondo', $oc_fondo); $islr->set('partida', $codigopres); $islr->set('codprov', $oc_cod_prov); $islr->set('fechafac', $oc_fechafac); $islr->set('benefi', $m_benefi); $islr->set('porcen', $od_pr); //$islr->set('sustraendo' , ); $islr->set('islr', $i_islr); $islr->set('fecha', date('Ymd')); $islr->set('creten', $oc_creten); $islr->set('ocompra', $islrid); $islr->save(); $islrid = $islr->get('id'); $ocompra->set_rel('itocompra', 'islrid', $islrid, $g); } $ii = $ivan - $reteiva; $pk['codigopres'] = $partidaiva; $presup->load($pk); $pagado = $presup->get("pagado"); $pagado += $ii; $presup->set("pagado", $pagado); $presup->save(); $riva->load_where('ocompra', $p_compra); $riva->set('ocompra', $p_compra); $riva->set('emision', date('Ymd')); $riva->set('periodo', date('Ym')); $riva->set('tipo_doc', ''); $riva->set('fecha', date('Ymd')); $riva->set('numero', $ocompra->get('factura')); $riva->set('ffactura', $ocompra->get('fechafac')); $riva->set('nfiscal', $ocompra->get('controlfac')); $riva->set('clipro', $ocompra->get('cod_prov')); $riva->set('nombre', $ocompra->get_pointer('nom_prov')); $riva->set('rif', $ocompra->get_pointer('rif_prov')); $riva->set('exento', $ocompra->get('exento')); $riva->set('tasa', $ocompra->get('tivag')); $riva->set('general', $ocompra->get('mivag')); $riva->set('geneimpu', $ocompra->get('ivag')); $riva->set('tasaadic', $ocompra->get('tivaa')); $riva->set('adicional', $ocompra->get('mivag')); $riva->set('adicimpu', $ocompra->get('ivaa')); $riva->set('tasaredu', $ocompra->get('tivar')); $riva->set('reducida', $ocompra->get('mivar')); $riva->set('reduimpu', $ocompra->get('ivar')); $riva->set('stotal', $ocompra->get('subtotal')); $riva->set('impuesto', $ocompra->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa')); $riva->set('gtotal', $ocompra->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa') + $ocompra->get('subtotal')); $riva->set('reiva', $ocompra->get('reteiva')); $riva->set('status', 'B'); $riva->save(); } $ocompra->set('status', 'E'); $ocompra->save(); } $odirect->set('status', 'F3'); } } elseif ($status == "B2" || $status == "I2") { $pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo); for ($g = 0; $g < $odirect->count_rel('itodirect'); $g++) { $islrid = ''; $codigopres = $odirect->get_rel('itodirect', 'partida', $g); $importe = $odirect->get_rel('itodirect', 'importe', $g); $islrid = $ocompra->get_rel('itocompra', 'islrid', $g); $i_islr = $importe * $od_pr / 100; $pk['codigopres'] = $codigopres; $presup->load($pk); $pagado = $presup->get("pagado"); $pagado = $pagado + ($importe - $i_islr); $presup->set("pagado", $pagado); $presup->save(); if ($status == "B2") { if (!empty($islrid)) { $islr->load($islrid); } $islr->set('estadmin', $od_estadmin); $islr->set('fondo', $od_fondo); $islr->set('partida', $codigopres); $islr->set('codprov', $od_cod_prov); $islr->set('fechafac', $od_fechafac); $islr->set('benefi', $m_benefi); $islr->set('porcen', $pr); //$islr->set('sustraendo' , ); $islr->set('islr', $i_islr); $islr->set('fecha', date('Ymd')); $islr->set('creten', $od_creten); $islr->set('odirect', $islrid); $islr->save(); $islrid = $islr->get('id'); $odirect->set_rel('itoodirect', 'islrid', $islrid, $g); } } if ($status == 'I2') { $odirect->set('status', 'I3'); } if ($status == "B2") { $riva->load_where('odirect', $od_numero); $riva->set('odirect', $od_numero); $riva->set('emision', date('Ymd')); $riva->set('periodo', date('Ym')); $riva->set('tipo_doc', ''); $riva->set('fecha', date('Ymd')); $riva->set('numero', $odirect->get('factura')); $riva->set('ffactura', $odirect->get('fechafac')); $riva->set('nfiscal', $odirect->get('controlfac')); $riva->set('clipro', $odirect->get('cod_prov')); $riva->set('nombre', $odirect->get_pointer('nom_prov')); $riva->set('rif', $odirect->get_pointer('rif_prov')); $riva->set('exento', $odirect->get('exento')); $riva->set('tasa', $odirect->get('tivag')); $riva->set('general', $odirect->get('mivag')); $riva->set('geneimpu', $odirect->get('ivag')); $riva->set('tasaadic', $odirect->get('tivaa')); $riva->set('adicional', $odirect->get('mivag')); $riva->set('adicimpu', $odirect->get('ivaa')); $riva->set('tasaredu', $odirect->get('tivar')); $riva->set('reducida', $odirect->get('mivar')); $riva->set('reduimpu', $odirect->get('ivar')); $riva->set('stotal', $odirect->get('subtotal')); $riva->set('impuesto', $odirect->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa')); $riva->set('gtotal', $ocompra->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa') + $odirect->get('subtotal')); $riva->set('reiva', $odirect->get('reteiva')); $riva->set('status', 'B'); $riva->save(); $ii = $od_ivaa + $od_ivag + $od_ivar - $od_reteiva; $pk['codigopres'] = $partidaiva; $presup->load($pk); $pagado = $presup->get("pagado"); $pagado += $ii; $presup->set("pagado", $pagado); $presup->save(); $odirect->set('status', 'B3'); } } elseif ($status == 'R2') { $odirect->set('status', 'R3'); } elseif ($status == 'G2') { $odirect->set('status', 'G3'); } else { $error .= "<div class='alert'><p>N se puede realizar la operacion para la orden de pago ({$od_numero})</p></div>"; } echo "actualizar" . $status . "--"; } $odirect->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', 'E2'); $mbanc->save(); $saldo -= $m_monto; $banc->set('saldo', $saldo); $banc->save(); redirect($this->url . "dataedit/show/{$id}"); } else { exit; $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 reserv($id) { $error = ''; $PFACRESERVA = $this->datasis->traevalor('PFACRESERVA', 'indica si un pedido descuenta de inventario los producto'); if ($PFACRESERVA == 'S') { $usr = $this->session->userdata('usuario'); $vd['vendedor'] = $this->datasis->dameval("SELECT vendedor FROM usuario WHERE us_codigo='{$usr}'"); $vd['almacen'] = $this->datasis->dameval("SELECT almacen FROM usuario WHERE us_codigo='{$usr}'"); $this->rapyd->load('dataobject'); $do = new DataObject('pfac'); $do->rel_one_to_many('itpfac', 'itpfac', array('numero' => 'numa')); $do->load($id); $sinv = $this->db->query("SELECT * FROM sinv"); $sinv = $sinv->result_array(); $sinv2 = array(); $sinviva = array(); foreach ($sinv as $k => $v) { $sinv2[$v['codigo']] = $v; } $sinv = $sinv2; unset($sinv2); $iva = $totals = 0; for ($i = 0; $i < $do->count_rel('itpfac'); $i++) { $codigoa = $do->get_rel('itpfac', 'codigoa', $i); $cana = $do->get_rel('itpfac', 'cana', $i); $existen = $this->datasis->dameval("SELECT existen FROM itsinv WHERE alma='" . $vd['almacen'] . "' AND codigo='{$codigoa}'"); if ($cana > $existen) { $error .= "ERROR. La cantidad solicitada(" . nformat($cana) . ") es mayor a la existente (" . nformat($existen) . ") para ({$codigoa}).</br>"; } $codigoae = $this->db->escape($codigoa); $sinv = $this->datasis->damerow("SELECT precio1,iva FROM sinv WHERE codigo={$codigoae}"); $precio1 = $sinv['precio1']; $itiva = $sinv['iva']; $do->set_rel('itpfac', 'preca', $precio1, $i); $ittota = $precio1 * $cana; $do->set_rel('itpfac', 'tota', $ittota, $i); $iva += $ittota * ($itiva / 100); $totals += $ittota; $do->set_rel('itpfac', 'mostrado', $iva + $ittota, $i); } $totalg = $totals + $iva; $do->set('totals', round($totals, 2)); $do->set('totalg', round($totalg, 2)); $do->set('iva', round($iva, 2)); if (empty($error)) { for ($i = 0; $i < $do->count_rel('itpfac'); $i++) { $codigoa = $do->get_rel('itpfac', 'codigoa', $i); $cana = $do->get_rel('itpfac', 'cana', $i); $this->datasis->sinvcarga($codigoa, $vd['almacen'], -1 * $cana); $this->datasis->sinvcarga($codigoa, 'PEDI', $cana); } } $fenvia = date('Ymd'); $do->set('reserva', 'S'); $do->set('fenvia', $fenvia); if (empty($error)) { $do->save(); } else { return $error; } } }