function negrita2($descrip, $monto) { if ($descrip == 'TOTALES') { return "<span style='font-size:1.2em'><strong>" . nformat($monto) . "</strong></span>"; } elseif (strlen($monto) > 0) { return nformat($monto); } else { return ''; } }
function _pre_insert($do) { $ttipo = $do->get('tipo'); $clipro = $do->get('clipro'); $estampa = $do->get('estampa'); $hora = $do->get('hora'); $usuario = $do->get('usuario'); $reinte = $do->get('reinte'); $observa = $do->get('observa1'); $dbclipro = $this->db->escape($clipro); $preinte = $this->input->post('preinte'); $do->rm_get('preinte'); //Calcula los movimientos aplicables $arr_apl = array(); $i = $aplicar = 0; while (true) { $ind = 'itnumero_' . $i; $numero = $this->input->post($ind); $ind = 'ittipo_' . $i; $tipo = $this->input->post($ind); $ind = 'itfecha_' . $i; $fecha = $this->input->post($ind); if ($numero === false || $tipo === false || $fecha === false) { break; } if (empty($numero) || empty($tipo) || empty($fecha)) { break; } $ind = 'itsaldo_' . $i; $itsaldo = floatval($this->input->post($ind)); $ind = 'itmonto_' . $i; $monto = $this->input->post($ind); $ind = 'itid_' . $i; $id = intval($this->input->post($ind)); if ($ttipo == 'C') { $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM smov WHERE id={$id}")); } else { $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM sprm WHERE id={$id}")); } if (!empty($monto)) { if (!is_numeric($monto)) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto ' . $tipo . $numero . ' no es numérico.'; return false; break; } $monto = floatval($monto); if ($monto > $rsaldo) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto ' . $tipo . $numero . ' es mayor al saldo disponible ' . nformat($rsaldo) . '.'; return false; break; } $aplicar += $monto; $arr_apl[] = array('id' => $id, 'numero' => $numero, 'tipo' => $tipo, 'fecha' => $fecha, 'monto' => $monto); } $i++; } //Fin de los aplicables $arr_efe = array(); //Chequea si se reintegra if ($preinte != 'S') { //Calcula los efectos a los que se aplica $i = $efectos = 0; while (true) { $ind = 'itenumero_' . $i; $numero = $this->input->post($ind); $ind = 'itetipo_' . $i; $tipo = $this->input->post($ind); $ind = 'itefecha_' . $i; $fecha = $this->input->post($ind); if ($numero === false || $tipo === false || $fecha === false) { break; } if (empty($numero) || empty($tipo) || empty($fecha)) { break; } $ind = 'iteaplicar_' . $i; $abono = floatval($this->input->post($ind)); $ind = 'itemonto_' . $i; $monto = floatval($this->input->post($ind)); $ind = 'iteid_' . $i; $id = $this->input->post($ind); if ($ttipo == 'C') { $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM smov WHERE id={$id}")); } else { $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM sprm WHERE id={$id}")); } if (!empty($abono)) { if (!is_numeric($abono)) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto a aplicar ' . $tipo . $numero . ' no es numérico.'; return false; break; } $abono = floatval($abono); if ($abono > $rsaldo) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto a aplicar ' . $tipo . $numero . ' es mayor al saldo disponible ' . nformat($rsaldo) . '.'; return false; break; } $efectos += $abono; if ($abono > $monto) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto a aplicar ' . $tipo . $numero . ' no puede exceder su saldo.'; return false; break; } $arr_efe[] = array('id' => $id, 'numero' => $numero, 'tipo' => $tipo, 'fecha' => $fecha, 'abono' => $abono, 'monto' => $monto); } $i++; } if ($efectos <= 0) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto de los efectos a aplicar debe ser mayor a cero.'; return false; } //Fin de los efectos if (round($aplicar - $efectos, 2) != 0.0) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto a aplicar es diferente al aplicado. ' . "{$aplicar}-{$efectos}"; return false; } } $dbreinte = $this->db->escape($reinte); if ($preinte == 'S') { if (empty($reinte)) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'Si es un reintegro debe seleccionar a quien se le reintegra.'; return false; } else { if ($ttipo == 'P') { $can = intval($this->datasis->dameval("SELECT COUNT(*) AS cana FROM scli WHERE cliente={$dbreinte}")); if ($can <= 0) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El cliente elegido para el reintegro no existe.'; return false; } } else { $can = intval($this->datasis->dameval("SELECT COUNT(*) AS cana FROM sprv WHERE proveed={$dbreinte}")); if ($can <= 0) { $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El proveedor elegido para el reintegro no existe.'; return false; } } } } $transac = $this->datasis->fprox_numero('ntransa'); $numero = $this->datasis->fprox_numero('napan'); $do->set('transac', $transac); $do->set('numero', $numero); $fecha = $do->get('fecha'); if (empty($fecha)) { $fecha = date('Y-m-d'); $do->set('fecha', $fecha); } $mSQLs = array(); if ($preinte == 'S') { if ($ttipo == 'P') { //Aplica a proveedor $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed=' . $dbclipro); $mNUMERO = $this->datasis->fprox_numero('num_nd'); $data = array(); $data['cod_prv'] = $clipro; $data['nombre'] = $mNOMBRE; $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $aplicar; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = substr($observa, 0, 50); $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : ''; $data['tipo_ref'] = 'AP'; $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $transac; $data['num_ref'] = $numero; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); $iid = $this->db->insert_id(); $arr_efe[] = array('id' => $iid, 'numero' => $mNUMERO, 'tipo' => 'ND', 'fecha' => $fecha, 'abono' => $aplicar, 'monto' => $aplicar); $mNUMERO = $this->datasis->fprox_numero('ndcli'); $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM scli WHERE cliente=' . $dbreinte); $data = array(); $data['cod_cli'] = $reinte; $data['nombre'] = $mNOMBRE; $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $aplicar; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = substr($observa, 0, 50); $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : ''; $data['impuesto'] = 0; $data['tipo_ref'] = 'AP'; $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $transac; $data['num_ref'] = $numero; $mSQLs[] = $this->db->insert_string('smov', $data); } else { //Aplica a cliente $mNUMERO = $this->datasis->fprox_numero('ndcli'); $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM scli WHERE cliente=' . $dbclipro); $data = array(); $data['cod_cli'] = $clipro; $data['nombre'] = $mNOMBRE; $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $aplicar; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = substr($observa, 0, 50); $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : ''; $data['tipo_ref'] = 'AP'; $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $transac; $data['num_ref'] = $numero; $sql = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($sql); $iid = $this->db->insert_id(); $arr_efe[] = array('id' => $iid, 'numero' => $mNUMERO, 'tipo' => 'ND', 'fecha' => $fecha, 'abono' => $aplicar, 'monto' => $aplicar); $mNUMERO = $this->datasis->fprox_numero('num_nd'); $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed=' . $dbreinte); $data = array(); $data['cod_prv'] = $reinte; $data['nombre'] = $mNOMBRE; $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $aplicar; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = substr($observa, 0, 50); $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : ''; $data['impuesto'] = 0; $data['tipo_ref'] = 'AP'; $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $transac; $data['num_ref'] = $numero; $mSQLs[] = $this->db->insert_string('sprm', $data); } } $data = array(); $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['ppago'] = $data['reteiva'] = $data['reten'] = $data['cambio'] = $data['mora'] = 0; $saldoefe = 0; $centi = ''; foreach ($arr_apl as $apl) { $saldoapl = $apl['monto']; do { if ($saldoefe <= 0) { $efe = array_shift($arr_efe); if (empty($efe)) { break; } $saldoefe = $efe['abono']; } $data['numero'] = $efe['numero']; $data['tipo_doc'] = $efe['tipo']; $data['fecha'] = $efe['fecha']; $data['monto'] = $efe['monto']; if ($saldoapl >= $saldoefe) { $data['abono'] = $saldoefe; $saldoapl = $saldoapl - $saldoefe; $saldoefe = 0; } else { $data['abono'] = $saldoapl; $saldoefe = $saldoefe - $saldoapl; $saldoapl = 0; } if ($ttipo == 'C') { $data['numccli'] = $apl['numero']; $data['tipoccli'] = $apl['tipo']; $data['cod_cli'] = $clipro; $data['reteiva'] = ''; $data['nroriva'] = ''; $data['emiriva'] = ''; $data['recriva'] = ''; $mSQLs[] = $this->db->insert_string('itccli', $data); $mSQLs[] = 'UPDATE smov SET abonos=abonos+' . $data['abono'] . ' WHERE id=' . $this->db->escape($efe['id']); } elseif ($ttipo == 'P') { $data['numppro'] = $apl['numero']; $data['tipoppro'] = $apl['tipo']; $data['cod_prv'] = $clipro; $data['preten'] = ''; $data['creten'] = ''; $data['breten'] = ''; $mSQLs[] = $this->db->insert_string('itppro', $data); $mSQLs[] = 'UPDATE sprm SET abonos=abonos+' . $data['abono'] . ' WHERE id=' . $this->db->escape($efe['id']); } } while ($saldoapl > 0); if ($ttipo == 'C') { $mSQLs[] = 'UPDATE smov SET abonos=abonos+' . $apl['monto'] . ' WHERE id=' . $this->db->escape($apl['id']); } elseif ($ttipo == 'P') { $mSQLs[] = 'UPDATE sprm SET abonos=abonos+' . $apl['monto'] . ' WHERE id=' . $this->db->escape($apl['id']); } } $do->set('observa1', substr($observa, 0, 50)); $do->set('observa2', strlen($observa) >= 50 ? substr($observa, 50) : ''); //$obs = wordwrap($observa, 50,"\n"); $this->_sqls = $mSQLs; return true; }
/** * build (only) the field (widhout labels or borders) * * @access public * @return string the field output */ function build() { $this->_getValue(); switch ($this->status) { case 'show': if (substr_count($this->showformat, 'decimal') > 0) { $output = nformat($this->value); } else { $output = $this->value; } break; default: } $out = $output . $this->extra_output . "\n"; if (!empty($this->valid_error)) { $out .= br() . $this->valid_error; } return $this->output = $out; }
function chpreca($preca, $ind) { $codigo = $this->input->post('codigo_' . $ind); $precio4 = $this->datasis->dameval('SELECT base4 FROM sinv WHERE codigo=' . $this->db->escape($codigo)); if ($precio4 < 0) { $precio4 = 0; } if ($preca < $precio4) { $this->validation->set_message('chpreca', 'El artículo ' . $codigo . ' debe contener un precio de al menos ' . nformat($precio4)); return false; } else { return true; } }
function actualizar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $multiple = $do->get('multiple'); $factura = $do->get('factura'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $reteiva = $do->get('reteiva'); //if($multiple == 'N'){ // if($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac))) // $error.="<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>"; //}else{ // $facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero=$id "); // if($facs <= 0) // $error.="<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>"; //} if (empty($error)) { $sta = $do->get('status'); if ($sta == "C1") { $importes = array(); $ivas = array(); $admfondo = array(); $ordenes = array(); for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigoadm = $do->get_rel('itodirect', 'codigoadm', $i); $fondo = $do->get_rel('itodirect', 'fondo', $i); $codigopres = $do->get_rel('itodirect', 'partida', $i); $iva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); $ocompra = $do->get_rel('itodirect', 'ocompra', $i); $ivan = $importe * $iva / 100; $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $importe; } else { $importes[$cadena] = $importe; } $cadena2 = $codigoadm . '_._' . $fondo; $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan); $cadena3 = $ocompra . '_._' . $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena3, $ordenes)) { $ordenes[$cadena3] += $importe; } else { $ordenes[$cadena3] = $importe; } } if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') '); } } if (empty($error)) { $iteracion = 0; foreach ($ordenes as $k => $v) { $iteracion++; $temp = explode('_._', $k); if (substr($temp[0], 0, 1) != 'N') { $query = "SELECT SUM(a.xcausar) \n\t\t\t\t\t\t\tFROM v_comproxcausar a\n\t\t\t\t\t\t\tWHERE a.ocompra='" . $temp[0] . "' AND a.codigoadm='" . $temp[1] . "' AND a.fondo='" . $temp[2] . "' AND a.codigopres='" . $temp[3] . "' \n\t\t\t\t\t\t\t"; $totcau = $this->datasis->dameval($query); $v = 1 * round($v); $totcau = 1 * round($totcau); if ($v > $totcau) { $error .= "<div class='alert'><p> {$iteracion} ERROR. El monto (" . nformat($v) . ") es Mayor al por causar (" . nformat($totcau) . ") para la partida " . $temp[1] . "" . $temp[3] . " " . $temp[2] . " y el Compromiso " . $temp[0] . "</p></div>"; } } else { $query = "SELECT status FROM nomi WHERE numero=" . 1 * str_replace('NO', '', $temp[0]); $sta = $this->datasis->dameval($query); if ($sta != 'D') { $error .= "<div class='alert'><p> {$iteracion} ERROR. La nomina " . $k[0] . " no puede ser causada, porque el estado no es orden asignada</p></div>"; } } } } if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado", "opago")); } if (empty($error)) { $do->set('fopago', date('Ymd')); $do->set('status', 'C2'); $do->save(); } } } } if (empty($error)) { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor($this->url . "dataedit/show/{$id}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function cargar($control) { $this->rapyd->uri->keep_persistence(); $this->rapyd->load('dataform'); $dbcontrol = $this->db->escape($control); $farmaxDB = $this->load->database('farmax', TRUE); $farmaxdb = $farmaxDB->database; $localdb = $this->db->database; $msj = ''; $block = trim($this->datasis->traevalor('SCSTACTIVABLOQUEO', 'Activa la bloque al cargar compras, P:por promedio,M:por valor maximo')); if ($block == 'P' || $block == 'M') { $mSQL = "SELECT COALESCE(c.abarras,b.codigo) AS codigo,a.descrip, a.cantidad\n\t\t\tFROM {$farmaxdb}.itscst AS a\n\t\t\tLEFT JOIN {$localdb}.sinv AS b ON a.codigo=b.codigo\n\t\t\tLEFT JOIN {$localdb}.farmaxasig AS c ON a.codigo=c.barras AND c.proveed=a.proveed\n\t\t\tWHERE a.control={$dbcontrol}"; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if (empty($row->codigo)) { continue; } $cana = intval($row->cantidad); $fdesde = date('Ymd', mktime(0, 0, 0, date('n') - 2, 1, date('Y'))); $fhasta = date('Ymd', mktime(0, 0, 0, date('n'), 0, date('Y'))); if ($block == 'P') { $sql = "SELECT SUM(cana) AS cana FROM sitems WHERE fecha BETWEEN {$fdesde} AND {$fhasta} AND codigoa=" . $this->db->escape($row->codigo); $venta = $this->datasis->dameval($sql); if (empty($venta)) { $venta = 0; } else { $venta = ceil($venta / 2); } $fdesde = date('Ymd', mktime(0, 0, 0, date('n'), 1, date('Y'))); $fhasta = date('Ymd'); $sql = "SELECT SUM(IF(b.tipo_doc IN ('FC','NE'),1,-1)*a.cantidad) AS cana FROM itscst AS a JOIN scst AS b ON a.control=b.control WHERE b.recep BETWEEN {$fdesde} AND {$fhasta} AND a.codigo=" . $this->db->escape($row->codigo); $compra = $this->datasis->dameval($sql); if (empty($compra)) { $compra = 0; } $lim = $cana + $compra; if ($lim > $venta) { $msj .= ' -' . $row->codigo . '-' . $row->descrip . ', Cantidad: <b>' . nformat($cana) . '</b>, Compra en el mes: <b>' . nformat($compra) . '</b>, Límite: <b>' . nformat($venta) . '</b>' . br(); } } else { $sql = "SELECT COUNT(*) FROM sinv WHERE existen+{$cana} > exmax AND codigo=" . $this->db->escape($row->codigo); $ch = $this->datasis->dameval($sql); if ($ch > 0) { $msj .= $row->codigo . '-' . $row->descrip . ', Se esta comprando mas del máximo establecido.' . br(); } } } } $form = new DataForm("farmacia/scst/cargar/{$control}/process"); $form->title('Carga de compra proveniente de droguería'); $form->nfiscal = new inputField('Control Físcal', 'nfiscal'); $form->nfiscal->rule = 'required|strtoupper'; $form->nfiscal->autocomplete = false; $form->nfiscal->rows = 10; $cana = $this->datasis->dameval("SELECT COUNT(*) AS val FROM caub WHERE gasto='N' and invfis='N'"); $form->almacen = new dropdownField('Almacén', 'almacen'); if ($cana > 1) { $form->almacen->option('', 'Seleccionar'); } $form->almacen->options("SELECT ubica,CONCAT_WS('-',ubica,ubides) AS val FROM caub WHERE gasto='N' and invfis='N' ORDER BY ubides"); $form->almacen->insertValue = $this->datasis->traevalor('ALMACEN'); $form->almacen->rule = 'required'; $proveed = $this->_traesprv($control); $dias = $this->datasis->dameval('SELECT b.dcredito FROM sprv AS b WHERE b.proveed=' . $this->db->escape($proveed)); $form->dias = new inputField('Días de crédito', 'dias'); $form->dias->insertValue = $dias > 0 ? $dias : 21; $form->dias->rule = 'required|integer'; $form->dias->css_class = 'inputnum'; $form->dias->size = 5; if (strlen($msj) > 0) { $form->free = new containerField('', '<p class="alert">Se ha detectado sobre existencia en los siguientes productos:' . br() . $msj . 'Es necesaria la clave de aprobación para continuar</p>'); $form->clavef = new inputField('Clave de aprobación', 'clavef'); $form->clavef->rule = 'callback_chclavef|required'; $form->clavef->size = 10; $form->clavef->autocomplete = false; $form->clavef->type = 'password'; } $action = "javascript:window.location='" . site_url('farmacia/scst/dataedit/show/' . $control) . "'"; $form->button('btn_regresa', 'Regresar', $action, 'TR'); $form->submit('btnsubmit', 'Guardar'); $form->build_form(); if ($form->on_success()) { $nfiscal = $form->nfiscal->newValue; $almacen = $form->almacen->newValue; $dias = $form->dias->newValue; $data['content'] = $this->_cargar($control, $nfiscal, $almacen, $dias) . br() . anchor('farmacia/scst/dataedit/show/' . $control, 'Regresar'); } else { $data['content'] = $form->output; } $script = '<script type="text/javascript" > $(function() { $(".inputnum").numeric("."); }); </script>'; $data['script'] = $script; $data['head'] = $this->rapyd->get_head() . script('jquery.js') . script('plugins/jquery.numeric.pack.js'); $data['title'] = '<h1>Cargar compra ' . $control . '</h1>'; $this->load->view('view_ventanas', $data); }
</td> </tr> </table> <p style='text-align:center;font-size:2em'> <?php if ($form->_status != 'show') { ?> <span style='font-size:1.2em;color:#1900FF' id='tconcil'>0,0</span> <br><span style='font-size:0.5em;color:#1900FF'>Monto por conciliar</span><br> <?php } ?> <span style='font-size:1.8em;' id='conciliado'><?php $tota = $form->deposito->value + $form->credito->value - $form->cheque->value - $form->debito->value; echo $form->_status == 'show' ? nformat($tota) : nformat(0); ?> </span> <br><span style='font-size:0.5em;'>Monto conciliado</span> </p> <?php if ($form->_status != 'show') { ?> <div id='traconsul' style='border: 1px solid #9AC8DA;background: #FAFAFA;overflow-y: auto;max-height:100px;'> <p style="text-align:center">Seleccione cualquier efecto liable para ver los detalles.</p> </div> <?php } ?> </td> </tr>
function retirohecho($cajero, $monto, $id = 0) { $nombre = $this->datasis->dameval('SELECT nombre FROM scaj WHERE cajero=' . $this->db->escape($cajero)); if ($id != 0) { $descarga = anchor('formatos/descargar/RRET/' . $id, 'Imprimir'); } else { $descarga = ''; } $data['content'] = "<h1>Retiro realizado al cajero <b>{$cajero} - {$nombre}</b></h1>"; $data['content'] .= '<p>por un monto de <b>' . nformat($monto) . '</b> ' . $descarga . '</p>'; $data['content'] .= '<center>' . anchor('ventas/rret', 'Regresar') . '</center>'; $data['title'] = '<h1>Retiros de Cajero</h1>'; $data['head'] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function tabla($id = 0) { $id = intval($id); $transac = $this->datasis->dameval("SELECT transac FROM ssal WHERE id='{$id}'"); $salida = ''; // Revisa formas de pago sfpa $mSQL = "SELECT * from gser WHERE transac='{$transac}' "; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $salida .= "<br><table width='100%' border='1'>"; $salida .= "<tr bgcolor='#e7e3e7'><td colspan='3'>Gasto</td></tr>"; $salida .= "<tr bgcolor='#e7e3e7'><td>Tipo</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>"; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['tipo_doc'] . '</td>'; $salida .= '<td>' . $row['numero'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['totneto']) . '</td>'; $salida .= '</tr>'; } $salida .= "</table>"; } // Cuentas por Cobrar $mSQL = "SELECT * FROM otin WHERE transac='{$transac}' "; $query = $this->db->query($mSQL); $saldo = 0; if ($query->num_rows() > 0) { $salida .= "<br><table width='100%' border=1>"; $salida .= "<tr bgcolor='#e7e3e7'><td colspan=3>Otros Ingresos</td></tr>"; $salida .= "<tr bgcolor='#e7e3e7'><td>Tp</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>"; $i = 1; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['tipo_doc'] . '</td>'; $salida .= '<td>' . $row['numero'] . '</td>'; $salida .= "<td align='right'>" . nformat($row['totalg']) . '</td>'; $salida .= '</tr>'; } $salida .= '</table>'; } $query->free_result(); echo $salida; }
function formacierre() { $id = $this->uri->segment($this->uri->total_segments()); $reg = $this->datasis->damereg("SELECT a.numero, a.fecha, a.monto, a.codbanc, a.envia, b.banco, a.efectivo, a.cheques FROM bcaj a JOIN banc b ON a.codbanc=b.codbanc WHERE a.id={$id}"); $salida = ''; if (empty($reg)) { echo "Error Leyendo Tabla ::SELECT a.numero, a.fecha, a.monto, a.codbanc, a.envia, b.banco, a.efectivo, a.cheques FROM bcaj a JOIN banc b ON a.codbanc=b.codbanc WHERE a.id={$id}"; return; } if ($reg['cheques'] > 0) { $salida = ' <script type="text/javascript"> jQuery("#aceptados").jqGrid({ datatype: "local", height: 190, colNames:["id","Banco","Numero","Cuenta", "Monto"], colModel:[ {name:"id", index:"id", width:10, hidden:true}, {name:"banco", index:"banco", width:40}, {name:"numero", index:"numero", width:90}, {name:"cuenta", index:"cuenta", width:150}, {name:"monto", index:"monto", width:80, align:"right"}, ], multiselect: true, onSelectRow: sumadepo, onSelectAll: sumadepo }); var mcheques = [ '; $mSQL = "SELECT id, banco, num_ref, cuentach, monto FROM sfpa WHERE deposito='" . $reg['numero'] . "'"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $salida .= '{id:"' . $row->id . '",'; $salida .= 'banco:"' . $row->banco . '",'; $salida .= 'numero:"' . $row->num_ref . '",'; $salida .= 'cuenta:"' . $row->cuentach . '",'; $salida .= 'monto:"' . $row->monto . '"},'; } } $salida .= ' ]; for(var i=0;i<=mcheques.length;i++) jQuery("#aceptados").jqGrid(\'addRowData\',i+1,mcheques[i]); $("#ffecha").datepicker({dateFormat:"dd/mm/yy"}); function sumadepo() { var grid = jQuery("#aceptados"); var s; var total = 0; var meco = ""; var rowcells=new Array(); s = grid.getGridParam(\'selarrrow\'); $("#fsele").html(""); if(s.length) { for(var i=0; i<s.length; i++) { var entirerow = grid.jqGrid(\'getRowData\',s[i]); total += Number(entirerow["monto"]); meco = meco+entirerow["id"]+","; } total = Math.round(total*100)/100; $("#grantotal").html(nformat(total,2)); $("input#fsele").val(meco); $("input#fmonto").val(total); montotal = total; } else { total = 0; $("#grantotal").html(" "+nformat(total,2)); $("input#fsele").val(""); $("input#fmonto").val(total); montotal = total; } }; </script> <p class="validateTips"></p> <h1 style="text-align:center">Cierre de Deposito Nro. ' . $reg['numero'] . '</h1> <p style="text-align:center;font-size:12px;">Fecha: ' . $reg['fecha'] . ' Banco: ' . $reg['codbanc'] . ' ' . $reg['banco'] . '</p> <form id="cierreforma"> <table width="80%" align="center"><tr> <td class="CaptionTD" align="right">Numero</td> <td><input type="text" name="fdeposito" id="fdeposito" class="text ui-widget-content ui-corner-all" maxlengh="12" size="12" value="" /></td> <td class="CaptionTD" align="right">Fecha</td> <td> <input name="ffecha" id="ffecha" type="text" value="' . date('d/m/Y') . '" maxlengh="10" size="10" /></td> </tr></table> <input id="fmonto" name="fmonto" type="hidden"> <input id="fsele" name="fsele" type="hidden"> <input id="fnumbcaj" name="fnumbcaj" type="hidden" value="' . $reg['numero'] . '"> <input id="fid" name="fid" type="hidden" value="' . $id . '"> <input id="ftipo" name="ftipo" type="hidden" value="C"> </form> <br> <center><table id="aceptados"><table></center> <table width="80%"> <td>Monto en Transito: <div style="font-size:20px;font-weight:bold">' . nformat($reg['monto']) . '</div></td><td> Depositado:<div id="grantotal" style="font-size:20px;font-weight:bold">0.00</div> </td></table> '; } elseif ($reg['efectivo'] > 0) { ////////////////////////////////////////////////////////////////// // DEPOSITOS EFECTIVO // $salida = ' <script type="text/javascript"> $("#ffecha").datepicker({dateFormat:"dd/mm/yy"}); </script> <p class="validateTips"></p> <h1 style="text-align:center">Cierre de Deposito Nro. ' . $reg['numero'] . '</h1> <p style="text-align:center;font-size:12px;">Fecha: ' . $reg['fecha'] . ' Banco: ' . $reg['codbanc'] . ' ' . $reg['banco'] . '</p> <form id="cierreforma"> <table width="80%" align="center"> <tr> <td class="CaptionTD" align="right">Numero</td> <td><input type="text" name="fdeposito" id="fdeposito" class="text ui-widget-content ui-corner-all" maxlengh="12" size="12" value="" /></td> <td class="CaptionTD" align="right">Fecha</td> <td> <input name="ffecha" id="ffecha" type="text" value="' . date('d/m/Y') . '" maxlengh="10" size="10" /></td> </tr> </table> <input id="fmonto" name="fmonto" type="hidden" value="' . $reg['monto'] . '"> <input id="fnumbcaj" name="fnumbcaj" type="hidden" value="' . $reg['numero'] . '"> <input id="fsele" name="fsele" type="hidden" valus=""> <input id="fid" name="fid" type="hidden" value="' . $id . '"> <input id="ftipo" name="ftipo" type="hidden" value="E"> </form> <br> <table width="80%"> <tr> <td align="right">Monto en Efectivo: </td><td style="font-size:20px;font-weight:bold">' . nformat($reg['monto']) . '</td> </tr> </table> '; } echo $salida; }
function tabla() { $id = $this->uri->segment($this->uri->total_segments()); $row = $this->datasis->damereg("SELECT clipro, tipo_op, numero, estampa, transac FROM bmov WHERE id={$id}"); $transac = $row['transac']; $numero = $row['numero']; $tipo_doc = $row['tipo_op']; $estampa = $row['estampa']; $td1 = "<td style='border-style:solid;border-width:1px;border-color:#78FFFF;' valign='top' align='center'>\n"; $td1 .= "<table width='98%'>\n<caption style='background-color:#5E352B;color:#FFFFFF;font-style:bold'>"; $mSQL = "SELECT cod_prv, MID(nombre,1,25) nombre, tipo_doc, numero, monto, abonos\n\t\t\tFROM sprm WHERE transac='{$transac}' ORDER BY cod_prv "; $query = $this->db->query($mSQL); $codcli = 'XXXXXXXXXXXXXXXX'; $salida = '<table width="100%"><tr>'; $saldo = 0; if ($query->num_rows() > 0) { $salida .= $td1; $salida .= "Movimiento en Proveedores</caption>"; $salida .= "<tr bgcolor='#E7E3E7'><td>Nombre</td><td>Tp</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>"; foreach ($query->result_array() as $row) { if ($row['tipo_doc'] == 'FC') { $saldo = $row['monto'] - $row['abonos']; } $salida .= "<tr>"; $salida .= "<td>" . $row['cod_prv'] . '-' . $row['nombre'] . "</td>"; $salida .= "<td>" . $row['tipo_doc'] . "</td>"; $salida .= "<td>" . $row['numero'] . "</td>"; $salida .= "<td align='right'>" . nformat($row['monto']) . "</td>"; $salida .= "</tr>"; } $salida .= "<tr bgcolor='#d7c3c7'><td colspan='4' align='center'>Saldo : " . nformat($saldo) . "</td></tr>"; $salida .= "</table></td>"; } $mSQL = "SELECT cod_cli, MID(nombre,1,25) nombre, tipo_doc, numero, monto, abonos\n\t\t\tFROM smov WHERE transac='{$transac}' ORDER BY cod_cli "; $query = $this->db->query($mSQL); $codcli = 'XXXXXXXXXXXXXXXX'; $saldo = 0; if ($query->num_rows() > 0) { $salida .= $td1; $salida .= "Movimiento en Clientes</caption>"; $salida .= "<tr bgcolor='#e7e3e7'><td>Nombre</td><td>Tp</td><td align='center'>Número</td><td align='center'>Monto</td></tr>"; foreach ($query->result_array() as $row) { if ($row['tipo_doc'] == 'FC') { $saldo = $row['monto'] - $row['abonos']; } $salida .= "<tr>"; $salida .= "<td>" . $row['cod_cli'] . '-' . $row['nombre'] . "</td>"; $salida .= "<td>" . $row['tipo_doc'] . "</td>"; $salida .= "<td>" . $row['numero'] . "</td>"; $salida .= "<td align='right'>" . nformat($row['monto']) . "</td>"; $salida .= "</tr>"; } //$salida .= "<tr bgcolor='#d7c3c7'><td colspan='4' align='center'>Saldo : ".nformat($saldo). "</td></tr>"; $salida .= "</table></td>"; } echo $salida . '</tr></table>'; }
function tabla() { $id = $this->uri->segment($this->uri->total_segments()); $dbid = $this->db->escape($id); $transac = $this->datasis->dameval("SELECT transac FROM gser WHERE id={$dbid}"); $dbtransac = $this->db->escape($transac); $mSQL = "SELECT cod_prv, MID(CONCAT(TRIM(cod_prv),' ',nombre),1,25) nombre, tipo_doc, numero, monto, abonos FROM sprm WHERE transac={$dbtransac} ORDER BY cod_prv"; $query = $this->db->query($mSQL); $codprv = 'XXXXXXXXXXXXXXXX'; $salida = ''; $saldo = 0; $tercero = $this->datasis->dameval('SELECT COUNT(*) FROM gser WHERE tercero!="" AND id=' . $dbid); if ($query->num_rows() > 0) { if ($tercero > 0) { $tislr = $this->datasis->dameval('SELECT COUNT(*) FROM gereten WHERE tercero!="" AND idd=' . $dbid); if ($tislr > 0) { $salida = '<button onclick="impislr()" style="width:100%;font-size:12pt;background:#0099FF;" >Retencion ISLR a Terceros </button>'; } else { $salida = ''; } $salida = '<button onclick="teriva()" style="width:100%;font-size:12pt;background:#00FF00;" >Retencion IVA a Terceros </button>'; } $salida .= '<br><table width=\'100%\' border=\'1\'>'; $salida .= '<tr bgcolor=\'#e7e3e7\'><td>Tp</td><td align=\'center\'>Numero</td><td align=\'center\'>Monto</td></tr>'; foreach ($query->result_array() as $row) { if ($codprv != $row['cod_prv']) { $codprv = $row['cod_prv']; $salida .= '<tr bgcolor=\'#c7d3c7\'>'; $salida .= '<td colspan=\'4\'>' . trim($row['nombre']) . '</td>'; $salida .= '</tr>'; } if ($row['tipo_doc'] == 'FC') { $saldo = $row['monto'] - $row['abonos']; } $salida .= '<tr>'; $salida .= '<td>' . $row['tipo_doc'] . '</td>'; $salida .= '<td>' . $row['numero'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>'; $salida .= '</tr>'; } $salida .= '<tr bgcolor=\'#d7c3c7\'><td colspan=\'4\' align=\'center\'>Saldo : ' . nformat($saldo) . '</td></tr>'; $salida .= '</table>'; } $mSQL = "SELECT codbanc, banco, tipo_op tipo_doc, numero, monto FROM bmov WHERE transac={$dbtransac} ORDER BY codbanc"; $query = $this->db->query($mSQL); $salida .= "\n"; if ($query->num_rows() > 0) { $salida .= '<br><table width=\'100%\' border=\'1\'>'; $salida .= '<tr bgcolor=\'#e7e3e7\'><td>Tp</td><td align=\'center\'>Banco</td><td align=\'center\'>Monto</td></tr>'; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['codbanc'] . '</td>'; $salida .= '<td>' . $row['banco'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>'; $salida .= '</tr>'; } $salida .= '</table>'; } echo $salida; }
function formato($id) { $this->load->plugin('numletra'); $sel = array('a.numero', 'a.reserva', 'a.fecha', 'b.nombre', 'b.rifci', 'a.formap1', 'a.banco1', 'a.nummp1', 'a.pfecha1', 'a.formap2', 'a.banco2', 'a.nummp2', 'a.pfecha2', 'a.formap3', 'a.banco3', 'a.nummp3', 'a.pfecha3', 'CONCAT(b.dire11,b.dire12) AS direc', 'b.telefono', 'c.codigo AS inmueble', 'd.descripcion AS ubicacion', 'e.uso'); $this->db->select($sel); $this->db->from('edres AS a'); $this->db->join('scli AS b', 'a.cliente=b.cliente'); $this->db->join('edinmue AS c', 'c.id=a.inmueble'); $this->db->join('edifubica AS d', 'd.id=c.ubicacion'); $this->db->join('eduso AS e', 'e.id=c.uso'); $this->db->where('a.id', $id); $query = $this->db->get(); //echo $this->db->last_query(); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $data = array(); $data['numero'] = $row->numero; $data['fecha'] = dbdate_to_human($row->fecha); $data['monto'] = nformat($row->reserva); $data['montolet'] = strtoupper(numletra($row->reserva)); $data['nom_scli'] = $row->nombre; $data['rif_scli'] = $row->rifci; $data['direc_scli'] = $row->direc; $data['telef_scli'] = $row->telefono; $data['inmueble'] = $row->inmueble; $data['ubicacion'] = $row->ubicacion; $data['uso'] = $row->uso; $data['fpagos'] = ''; for ($i = 1; $i < 4; $i++) { $pago = 'pago' . $i; $formap = 'formap' . $i; $pfecha = 'pfecha' . $i; $banco = 'banco' . $i; $nummp = 'nummp' . $i; $banco = 'banco' . $i; $data[$pago] = ''; if (!empty($row->{$formap})) { if ($row->{$formap} == 'CH') { $data[$pago] .= 'Cheque'; } elseif ($row->{$formap} == 'DE') { $data[$pago] .= 'Depósito'; } elseif ($row->{$formap} == 'NC') { $data[$pago] .= 'Transferencia'; } $dbcodbanc = $this->db->escape($row->{$banco}); $nombanc = $this->datasis->dameval("SELECT nomb_banc FROM tban WHERE cod_banc={$dbcodbanc}"); $data[$pago] .= ' del Banco '; $data[$pago] .= ucwords($nombanc); $data[$pago] .= ', Número ' . $row->{$nummp}; $data[$pago] .= ' de fecha ' . dbdate_to_human($row->{$pfecha}) . '.'; } else { $data[$pago] = ''; } } formams::_msxml('reservacion', $data); } } }
function tabla() { $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 0; $cliente = $this->datasis->dameval("SELECT cod_cli FROM snot WHERE id='{$id}'"); $mSQL = "SELECT cod_cli, MID(nombre,1,25) nombre, tipo_doc, numero, monto, abonos FROM smov WHERE cod_cli='{$cliente}' AND abonos<>monto AND tipo_doc<>'AB' ORDER BY fecha "; $query = $this->db->query($mSQL); $salida = ''; $saldo = 0; if ($query->num_rows() > 0) { $salida = "<br><table width='100%' border=1>"; $salida .= "<tr bgcolor='#e7e3e7'><td colspan=3>Movimiento en Cuentas X Cobrar</td></tr>"; $salida .= "<tr bgcolor='#e7e3e7'><td>Tp</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>"; foreach ($query->result_array() as $row) { $salida .= "<tr>"; $salida .= "<td>" . $row['tipo_doc'] . "</td>"; $salida .= "<td>" . $row['numero'] . "</td>"; $salida .= "<td align='right'>" . nformat($row['monto'] - $row['abonos']) . "</td>"; $salida .= "</tr>"; if ($row['tipo_doc'] == 'FC' or $row['tipo_doc'] == 'ND' or $row['tipo_doc'] == 'GI') { $saldo += $row['monto'] - $row['abonos']; } else { $saldo -= $row['monto'] - $row['abonos']; } } $salida .= "<tr bgcolor='#d7c3c7'><td colspan='4' align='center'>Saldo : " . nformat($saldo) . "</td></tr>"; $salida .= "</table>"; } $query->free_result(); echo $salida; }
function index() { $this->rapyd->load('datafilter', 'datagrid'); $link = site_url('supervisor/sfacfiscal/arreglaserial'); $linkd = site_url('supervisor/sfacfiscal/arreglaserialdev'); $link2 = site_url('supervisor/sfacfiscal/arreglanfiscal'); $link4 = site_url('supervisor/sfacfiscal/arreglanfiscaldev'); $link3 = site_url('supervisor/sfacfiscal/traereferen'); $jquery = ' function riega(id){ if(confirm("Esta seguro que regar el serial para las facturas?")){ if(confirm("Desea cambiar solo los registros vacios?")) resp=0; else resp=1; $.post("' . $link . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), serial:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()}, function(data){ alert(data); }); } } function riegadev(id){ if(confirm("Esta seguro que regar el serial por las devoluciones?")){ if(confirm("Desea cambiar solo los registros vacios?")) resp=0; else resp=1; $.post("' . $linkd . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), serial:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()}, function(data){ alert(data); }); } } function nfiscal(id){ if(confirm("Esta seguro que regar el numero fiscal?")){ if(confirm("Desea cambiar solo los registros vacios?")) resp=0; else resp=1; $.post("' . $link2 . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), numero:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()}, function(data){ alert(data); }); } } function nfiscaldev(id){ if(confirm("Esta seguro que regar el numero fiscal?")){ if(confirm("Desea cambiar solo los registros vacios?")) resp=0; else resp=1; $.post("' . $link4 . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), numero:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()}, function(data){ alert(data); }); } } function buscaref(){ referenc = prompt("Introduce una referencia"); $.post("' . $link3 . '",{ referen: referenc }, function(data){ alert(data); }); }'; function exissinv($cen, $t, $tipo_doc) { if (!empty($cen)) { if ($t == 1) { if ($tipo_doc == 'F') { $rt = form_button('asignar', $cen, 'onclick="riega(\'' . $cen . '\');"'); } else { $rt = form_button('asignar', $cen, 'onclick="riegadev(\'' . $cen . '\');"'); } } else { if ($tipo_doc == 'F') { $rt = form_button('asignar', $cen, 'onclick="nfiscal(\'' . $cen . '\');"'); } else { $rt = form_button('asignar', $cen, 'onclick="nfiscaldev(\'' . $cen . '\');"'); } } } else { $rt = '--'; } return $rt; } $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0'); $filter = new DataFilter('', 'sfac'); //$filter->db->where('tipo_doc','F'); $filter->script($jquery); $filter->fecha = new dateonlyField('Desde', 'fecha'); $filter->fecha->clause = 'where'; $filter->fecha->db_name = 'fecha'; $filter->fecha->insertValue = date('Y-m-d'); $filter->fecha->operator = '='; $filter->fecha->rule = 'required|chfecha'; $filter->fecha->append("<a onclick='buscaref()'>Traer de referencia</a>"); $filter->cajero = new dropdownField('Cajero', 'cajero'); $filter->cajero->option('', 'Seleccionar'); $filter->cajero->option(' ', 'Creditos'); $filter->cajero->options('SELECT cajero, CONCAT_WS("-",cajero,nombre) FROM scaj ORDER BY cajero'); $filter->usuario = new dropdownField('Usuario', 'usuario'); $filter->usuario->option('', 'Todos'); $filter->usuario->options('SELECT us_codigo AS cod,us_codigo FROM usuario ORDER BY us_codigo'); $filter->usuario->rule = 'condi_required|callback_chusuario'; $filter->tipo_doc = new dropdownField('Tipo Doc.', 'tipo_doc'); $filter->tipo_doc->option('F', 'Facturas'); $filter->tipo_doc->option('D', 'Devoluciones'); $filter->tipo_doc->rule = 'required|enum[D,F]'; $filter->nulos = new dropdownField('Filtrar seriales nulos', 'nulos'); $filter->nulos->option('s', 'Si'); $filter->nulos->option('n', 'No'); $filter->nulos->clause = ''; $filter->nulos->group = 'No afecta el filtro'; $filter->nulos->append('Si se activa esta opcion no se riega el número en los campos donde el serial de la máquina fiscal es nulo'); $filter->nulos->rule = 'enum[s,n]'; $filter->buttons('reset', 'search'); $filter->build(); if ($this->rapyd->uri->is_set('search') && $filter->is_valid()) { $fecha = $filter->fecha->newValue; $dbfecha = $this->db->escape($fecha); $fields = $this->db->field_data('sfac'); $ppk = array(); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; } } $llink = anchor('supervisor/sfacfiscal/editsfac/modify/' . implode('/', $ppk), '<#tipo_doc#><#numero#>'); $uri2 = anchor_popup('formatos/verhtml/FACTURA/<#tipo_doc#>/<#numero#>', 'Ver HTML', $atts); $grid = new DataGrid(''); $grid->use_function('exissinv'); $grid->per_page = 30; $grid->db->orderby('numero'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'fecha'); $grid->column('Nombre', 'nombre'); $grid->column('Referencia', $llink); $grid->column('Usuario', 'usuario'); $grid->column('Cajero', 'cajero'); $grid->column('Monto', '<nformat><#totalg#></nformat>', 'align="right"'); $grid->column('N.Fiscal', '<exissinv><#nfiscal#>|2|<#tipo_doc#></exissinv>', 'align="center"'); $grid->column('Serial Maq.', '<exissinv><#maqfiscal#>|1|<#tipo_doc#></exissinv>', 'align="center"'); $grid->column('Ver factura', $uri2, 'align="center"'); $grid->build(); //echo $grid->db->last_query(); $mSQL = $grid->db->last_query(); $mSQL = str_replace('*', 'SUM(totalg)', $mSQL); $corte = stripos($mSQL, 'ORDER'); if ($corte !== false) { $mSQL = substr($mSQL, 0, $corte); } $monto = $this->datasis->dameval($mSQL); $tabla = 'Monto: ' . nformat($monto) . $grid->output; $mSQL = 'SELECT COUNT(*) AS cana,serial, MAX(factura) AS factura,MAX(ncnumero) AS ncnumero,SUM(exento+base+iva+base1+iva1+base2+iva2-ncexento-ncbase-nciva-ncbase1-nciva1-ncbase2-nciva2) AS total FROM fiscalz WHERE fecha=' . $dbfecha . ' GROUP BY serial'; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { $tabla .= $row->serial . ' x' . $row->cana . ' - F' . $row->factura . ' - D' . $row->ncnumero . ' - ' . nformat($row->total) . br(); } } else { $tabla = '<div class="alert">' . $filter->error_string . '</div>'; } //if(strlen($filter->error_string)) $data['error']=$filter->error_string; $data['content'] = $filter->output . $tabla; $data['title'] = '<h1>Arreglos de consistencias fiscal en facturas</h1>'; $data['head'] = $this->rapyd->get_head() . script('jquery.js'); $this->load->view('view_ventanas', $data); }
function gserchipros($codbanc = null) { if (empty($codbanc)) { show_error('Faltan parámetros'); } $dbcodbanc = $this->db->escape($codbanc); $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc; $r = $this->datasis->damerow($mSQL); if ($r['cana'] == 0) { show_error('Caja sin gastos'); } $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $row = $query->row(); $nombre = $row->nombre; $codprv = $row->codprv; } else { $nombre = $codprv = ''; } $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a'; $query = $this->db->query($sql); $comis = array(); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $ind = '_' . $row->codbanc; $comis[$ind]['tbanco'] = $row->tbanco; } } $json_comis = json_encode($comis); $this->rapyd->load('dataform', 'datagrid'); $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' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor'); $bsprv = $this->datasis->modbus($modbus); $script = 'var comis = ' . $json_comis . '; $(document).ready(function() { desactivacampo(""); }); function desactivacampo(codb1){ if(codb1.length>0 && codb1!="' . $this->mcred . '"){ eval("tbanco=comis._"+codb1+".tbanco;" ); if(tbanco=="CAJ"){ $("#cheque").attr("disabled","disabled"); $("#benefi").attr("disabled","disabled"); }else{ $("#cheque").removeAttr("disabled"); $("#benefi").removeAttr("disabled"); } }else{ $("#cheque").attr("disabled","disabled"); $("#benefi").attr("disabled","disabled"); } }'; $form = new DataForm('finanzas/gser/gserchipros/' . $codbanc . '/process'); $form->title("Número de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b>'); $form->script($script); $form->codprv = new inputField('Proveedor', 'codprv'); $form->codprv->rule = 'required'; $form->codprv->insertValue = $codprv; $form->codprv->size = 5; $form->codprv->append($bsprv); $form->nombre = new inputField('Nombre', 'nombre'); $form->nombre->rule = 'required'; $form->nombre->insertValue = $nombre; $form->nombre->in = 'codprv'; $form->cargo = new dropdownField('Con cargo a', 'cargo'); $form->cargo->option($this->mcred, 'Crédito'); $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' ORDER BY codbanc"); $form->cargo->onchange = 'desactivacampo(this.value)'; $form->cargo->rule = 'max_length[5]|required'; $form->cheque = new inputField('Número de cheque', 'cheque'); $form->cheque->rule = 'condi_required|callback_chobligaban'; $form->cheque->append('Aplica solo si el cargo es a un banco'); $form->benefi = new inputField('Beneficiario', 'benefi'); $form->benefi->insertValue = $nombre; $form->benefi->rule = 'condi_required|callback_chobligaban'; $form->benefi->append('Aplica solo si el cargo es a un banco'); $action = "javascript:window.location='" . site_url('finanzas/gser/cierregserchi/' . $codbanc) . "'"; $form->button('btn_regresa', 'Regresar', $action, 'BR'); $form->submit('btnsubmit', 'Procesar'); $form->build_form(); $grid = new DataGrid('Lista de Gastos', 'gserchi'); $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc'); $grid->db->select($select); $grid->db->where('aceptado', 'S'); $grid->db->where('ngasto IS NULL'); $grid->db->where('codbanc', $codbanc); $grid->order_by('numfac', 'desc'); $grid->per_page = 15; $grid->column('Caja', 'codbanc'); $grid->column('Número', 'numfac'); $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\''); $grid->column('Proveedor', 'proveedor'); $grid->column('IVA', 'totiva', 'align=\'right\''); $grid->column('Monto', 'totneto', 'align=\'right\''); //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura'); $grid->build(); if ($form->on_success()) { $codprv = $form->codprv->newValue; $cargo = $form->cargo->newValue; $nombre = $form->nombre->newValue; $benefi = $form->benefi->newValue; $cheque = $form->cheque->newValue; $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque); //var_dump($rt); if ($rt) { redirect('finanzas/gser/listo/n'); } else { redirect('finanzas/gser/listo/s'); } } $data['content'] = $form->output . $grid->output; $data['title'] = heading('Reposición de caja chica ' . $codbanc); $data['head'] = $this->rapyd->get_head() . script('jquery.js'); $data['head'] .= phpscript('nformat.js'); $this->load->view('view_ventanas', $data); }
function build() { if (!isset($this->size)) { $this->size = 45; } $this->_getValue(); $output = ''; switch ($this->status) { case 'disabled': case 'show': if (!isset($this->value)) { $output = RAPYD_FIELD_SYMBOL_NULL; } elseif ($this->value == '') { $output = ''; } else { if (substr_count($this->showformat, 'decimal') > 0) { $output = nformat($this->value); } else { $output = nl2br(htmlspecialchars($this->value)); } } break; case 'create': case 'modify': if ($this->type == 'inputhidden') { $t = 'hidden'; } else { $t = $this->type; } $value = $this->type == 'password' ? '' : $this->value; $attributes = array('name' => $this->name, 'id' => $this->name, 'type' => $t, 'value' => $value, 'class' => $this->css_class, 'size' => $this->size, 'style' => $this->style); if (strlen($this->maxlength) > 0) { $attributes['maxlength'] = $this->maxlength; } if (strlen($this->title) > 0) { $attributes['title'] = $this->title; } if (strlen($this->onclick) > 0) { $attributes['onclick'] = $this->onclick; } if (strlen($this->onchange) > 0) { $attributes['onchange'] = $this->onchange; } if (isset($this->onfocus)) { $attributes['onfocus'] = $this->onfocus; } if (isset($this->onkeyup)) { $attributes['onkeyup'] = $this->onkeyup; } if (!empty($this->tabindex)) { $attributes['tabindex'] = $this->tabindex; } if ($this->readonly) { $attributes['readonly'] = 'readonly'; } if ($this->disable_paste) { $attributes['onpaste'] = 'return false;'; } if (!$this->autocomplete) { $attributes['autocomplete'] = 'off'; } $output = form_input($attributes) . $this->extra_output; if ($this->type == 'inputhidden') { if (substr_count($this->showformat, 'decimal') > 0) { $val = nformat($this->value); } else { $val = $this->value; } $output .= '<span id=\'' . $this->name . '_val\'>' . $val . '</span>'; } break; case 'hidden': $attributes = array('name' => $this->name, 'id' => $this->name, 'type' => 'hidden', 'value' => $this->value); $output = form_input($attributes) . $this->extra_output; break; default: } $this->output = "\n" . $output . "\n"; }
function dataedit() { $this->rapyd->load('dataedit'); $link = site_url('finanzas/mgas/ultimo'); $script = ' function ultimo(){ $.ajax({ url: "' . $link . '", success: function(msg){ alert( "El ultimo codigo ingresado fue: " + msg ); } }); } function grupo(){ t=$("#grupo").val(); a=$("#grupo :selected").text(); $("#nom_grup").val(a); } $(function() { $(".inputnum").numeric("."); $("#grupo").change(function(){ t=$("#grupo").val(); a=$("#grupo :selected").text(); $("#nom_grup").val(a); }).change(); });'; $qformato = $this->datasis->formato_cpla(); $mCPLA = array('tabla' => 'cpla', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'cuenta'), 'titulo' => 'Buscar Cuenta', 'where' => "codigo LIKE \"{$qformato}\""); $bcpla = $this->datasis->modbus($mCPLA); $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); $edit = new DataEdit('Maestro de Gastos', 'mgas'); $edit->script($script, 'create'); $edit->script($script, 'modify'); $edit->on_save_redirect = false; $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->pre_process('insert', '_pre_insert'); $edit->pre_process('update', '_pre_update'); $edit->pre_process('delete', '_pre_delete'); $ultimo = '<a href="javascript:ultimo();" title="Consultar ultimo codigo ingresado" onclick="">Consultar ultimo codigo</a>'; $edit->codigo = new inputField('Código', 'codigo'); $edit->codigo->mode = 'autohide'; $edit->codigo->size = 12; $edit->codigo->maxlength = 6; $edit->codigo->rule = 'trim|required||alpha_numeric|strtoupper|callback_chexiste'; $edit->codigo->append($ultimo); $edit->descrip = new inputField('Descripción', 'descrip'); $edit->descrip->size = 30; $edit->tipo = new dropdownField('Tipo', 'tipo'); $edit->tipo->style = 'width:100px;'; $edit->tipo->option('G', 'Gasto'); $edit->tipo->option('I', 'Inventario'); $edit->tipo->option('S', 'Suministro'); $edit->tipo->option('A', 'Activo Fijo'); $edit->grupo = new dropdownField('Grupo', 'grupo'); $edit->grupo->options('SELECT grupo, CONCAT(grupo," - ",nom_grup) nom_grup from grga order by nom_grup'); $edit->grupo->style = "width:200px;"; $lcuent = anchor_popup("/contabilidad/cpla/dataedit/create", image('list_plus.png', 'Agregar', array("border" => "0")), $atts); $edit->cuenta = new inputField("Cta. Contable", "cuenta"); $edit->cuenta->size = 12; $edit->cuenta->maxlength = 15; $edit->cuenta->rule = 'trim|existecpla'; $edit->cuenta->append($bcpla); //$edit->cuenta->append($lcuent); //$edit->cuenta->readonly=true; $lcuent = anchor_popup("/contabilidad/cpla/dataedit/create", image('list_plus.png', 'Agregar', array("border" => "0")), $atts); $edit->ctarein = new inputField("Cta. Reintegro", "ctarein"); $edit->ctarein->size = 12; $edit->ctarein->maxlength = 15; $edit->ctarein->rule = 'trim|existecpla'; $edit->ctarein->append($bcpla); //$edit->ctarein->append($lcuent); $edit->ctarein->readonly = true; /* $edit->iva = new inputField("IVA", "iva"); $edit->iva->css_class='inputnum'; $edit->iva->size =9; $edit->iva->maxlength =5; $edit->iva->rule ="trim"; */ $ivas = $this->datasis->ivaplica(); $edit->iva = new dropdownField('IVA %', 'iva'); foreach ($ivas as $tasa => $ivamonto) { $edit->iva->option($ivamonto, nformat($ivamonto)); } $edit->iva->style = 'width:100px;'; $edit->iva->insertValue = $ivas['tasa']; //$edit->iva->onchange='calculos(\'S\');'; //$edit->medida = new inputField("Unidad Medida", "medida"); //$edit->medida->size = 5; $AddUnidad = '<a href="javascript:add_unidad();" title="Haz clic para Agregar una unidad nueva">' . image('list_plus.png', 'Agregar', array("border" => "0")) . '</a>'; $edit->medida = new dropdownField('Medida', 'medida'); $edit->medida->style = 'width:100px;'; $edit->medida->option('', 'Seleccionar'); $edit->medida->options('SELECT unidades, unidades AS valor FROM unidad ORDER BY unidades'); $edit->medida->append($AddUnidad); $edit->fraxuni = new inputField('Cant. X Caja', 'fraxuni'); $edit->fraxuni->css_class = 'inputnum'; //no sirve $edit->fraxuni->group = 'Existencias'; $edit->fraxuni->size = 5; $edit->ultimo = new inputField('Costo', 'ultimo'); $edit->ultimo->css_class = 'inputnum'; //no sirve $edit->ultimo->size = 9; $edit->promedio = new inputField('Promedio', 'promedio'); $edit->promedio->css_class = 'inputnum'; //no sirve $edit->promedio->size = 9; $edit->minimo = new inputField('Mínima', 'minimo'); $edit->minimo->css_class = 'inputnum'; //no sirve $edit->minimo->group = 'Existencias'; $edit->minimo->size = 5; $edit->maximo = new inputField('Máxima', 'maximo'); $edit->maximo->css_class = 'inputnum'; //no sirve $edit->maximo->group = 'Existencias'; $edit->maximo->size = 5; $edit->unidades = new inputField('Cajas', 'unidades'); $edit->unidades->css_class = 'inputnum'; //no sirve $edit->unidades->group = 'Existencias'; $edit->unidades->size = 5; $edit->fraccion = new inputField('Fracciónes', 'fraccion'); $edit->fraccion->css_class = 'inputnum'; //no sirve $edit->fraccion->group = 'Existencias'; $edit->fraccion->size = 5; $edit->reten = new dropdownField('Natural.', 'reten'); $edit->reten->option('', 'Ninguno'); $edit->reten->options('SELECT codigo, CONCAT(codigo," - ",activida) val FROM rete WHERE tipo="NR" ORDER BY codigo'); $edit->reten->style = 'width:220px;'; $edit->retej = new dropdownField("Jurídica.", "retej"); $edit->retej->option('', 'Ninguno'); $edit->retej->options('SELECT codigo, CONCAT(codigo," - ",activida) val FROM rete WHERE tipo="JD" ORDER BY codigo'); $edit->retej->style = 'width:220px;'; $codigo = $edit->_dataobject->get('codigo'); $edit->almacenes = new containerField('almacenes', $this->_detalle($codigo)); $edit->almacenes->when = array('show', 'modify'); //$edit->buttons("modify", "save", "undo", "back"); $edit->build(); if ($edit->on_success()) { $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk); echo json_encode($rt); } else { $conten['form'] =& $edit; $this->load->view('view_mgas', $conten); } }
?> '> <td class="littletablerow"> <?php echo form_checkbox('chrecibo_' . $i, '', FALSE); ?> </td> <td class="littletablerow"> <?php echo $porcobrar[$i]['numero']; ?> </td> <td class="littletablerow"> <?php echo dbdate_to_human($porcobrar[$i]['fecha']); ?> </td> <td class="littletablerow" align="right"><?php echo nformat($porcobrar[$i]['monto']); ?> </td> <td class="littletablerow" ><?php echo $porcobrar[$i]['nombre']; ?> </td> <td class="littletablerow" ><?php echo $porcobrar[$i]['observa']; ?> </td> </tr> <?php } ?>
<tr><td align='center'><b STYLE="font-size:8pt;color:red"> <?php echo $descurazon; ?> </td></tr> <?php } else { ?> <tr><td align='center'><b STYLE="font-size:18pt;color:black">I.V.A.: <?php echo nformat($precio2 - $precio2 * 100 / (100 + $iva)); ?> </b><b><?php echo $moneda; ?> </b></td></tr> <tr><td align='center'><b STYLE="font-size:32pt;color:red">Precio con IVA : <?php echo nformat($precio2); ?> </b><b><?php echo $moneda; ?> </b></td></tr> <?php } ?> <?php if (isset($dvolum1) && $dvolum1 > 0) { ?> <tr><td align='right' colspan=2 ><b STYLE="font-size:20pt;color:green">+ de <?php echo $dvolum1; ?> unidades: <?php
function chcananeg($val, $i) { $almacen = $this->input->post('envia'); $codigo = $this->input->post('codigo_' . $i); $dbcodigo = $this->db->escape($codigo); $dbalmacen = $this->db->escape($almacen); $tipo = trim($this->datasis->dameval("SELECT tipo FROM sinv WHERE codigo={$dbcodigo}")); if (empty($tipo)) { $this->validation->set_message('chcananeg', 'El producto ' . htmlspecialchars($codigo) . ' no tiene existe'); return false; } if ($tipo[0] == 'A' || $tipo[0] == 'F') { $gasto = trim($this->datasis->dameval('SELECT gasto FROM caub WHERE ubica=' . $dbalmacen)); if ($gasto == 'S') { return true; } $mSQL = "SELECT SUM(a.existen) AS cana FROM itsinv AS a JOIN caub AS b ON a.alma=b.ubica WHERE a.codigo={$dbcodigo} AND b.ubica={$dbalmacen}"; $existen = floatval($this->datasis->dameval($mSQL)); $val = floatval($val); if ($val > $existen) { $this->validation->set_message('chcananeg', 'El producto ' . htmlspecialchars($codigo) . ' no tiene cantidad suficiente para transferirse (' . nformat($existen) . ')'); return false; } } else { $this->validation->set_message('chcananeg', 'El producto ' . htmlspecialchars($codigo) . ' no se puede transferir por el tipo, solo se permite articulo y fraccion'); return false; } return true; }
function chlitros($litros, $ind) { $bufala = round(floatval($this->input->post('itbufala_' . $ind)), 2); $vaca = round(floatval($this->input->post('itlitros_' . $ind)), 2); $litros = $vaca + $bufala; $ruta = $this->input->post('codrut_' . $ind); $fecha = human_to_dbdate($this->input->post('fecha')); $id = $this->input->post('itid_' . $ind); if (!empty($id)) { $ww = 'AND a.id <> ' . $this->db->escape($id); } else { $ww = ''; } $dbfecha = $this->db->escape($fecha); $dbruta = $this->db->escape($ruta); $usados = round($this->datasis->dameval("SELECT SUM(a.litros) FROM itlprod AS a JOIN lprod AS b ON a.id_lprod=b.id WHERE a.codrut={$dbruta} AND b.fecha={$dbfecha} {$ww}"), 2); $recibi = round($this->datasis->dameval("SELECT SUM(litros) FROM lrece WHERE ruta={$dbruta} AND fecha={$dbfecha}"), 2); $disponible = $recibi - $usados - $litros; if ($disponible < 0) { if ($recibi - $usados < 0) { $disponible = 0; } else { $disponible = $recibi - $usados; } $this->validation->set_message('chlitros', "No hay suficiente leche recibida de la ruta {$ruta} para producir, disponible: " . nformat(abs($disponible))); return false; } else { return true; } }
function tabla($id = 0) { $id = intval($id); if ($id == 0) { return; } $salida = ''; $rrow = $this->datasis->damerow('SELECT transac,cod_cli,reiva FROM rivc WHERE anulado="N" AND id=' . $id); if (!empty($rrow)) { $pago = 0; $reiva = floatval($rrow['reiva']); $dbtransac = $this->db->escape($rrow['transac']); $dbcod_cli = $this->db->escape($rrow['cod_cli']); $salida = ''; //Revisa los reintegros por caja $mSQL = "SELECT codbanc, numero, monto FROM bmov WHERE transac={$dbtransac} AND codcp={$dbcod_cli}"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $salida .= '<br><table width=\'100%\' border=\'1\'>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Reintegro por caja</td></tr>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Caja</td><td align=\'center\'>Número</td><td align=\'center\'>Monto</td></tr>'; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['codbanc'] . '</td>'; $salida .= '<td>' . $row['numero'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>'; $salida .= '</tr>'; $pago += floatval($row['monto']); } $salida .= '</table>'; } //Revisa si tiene anticipos $mSQL = "SELECT tipo_doc, numero, monto FROM smov WHERE transac={$dbtransac} AND cod_cli={$dbcod_cli} AND tipo_doc='AN'"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $salida .= '<br><table width=\'100%\' border=\'1\'>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Anticipo</td></tr>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Tipo</td><td align=\'center\'>Número</td><td align=\'center\'>Monto</td></tr>'; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['tipo_doc'] . '</td>'; $salida .= '<td>' . $row['numero'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>'; $salida .= '</tr>'; $pago += floatval($row['monto']); } $salida .= '</table>'; } //Revisa si tiene CxP $mSQL = "SELECT tipo_doc, numero, monto FROM sprm WHERE transac={$dbtransac} AND cod_prv='REINT' AND tipo_doc='ND'"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $salida .= '<br><table width=\'100%\' border=\'1\'>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Enviado a CxP</td></tr>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Tipo</td><td align=\'center\'>Número</td><td align=\'center\'>Monto</td></tr>'; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['tipo_doc'] . '</td>'; $salida .= '<td>' . $row['numero'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>'; $salida .= '</tr>'; $pago += floatval($row['monto']); } $salida .= '</table>'; } //Efectos cruzados $mSQL = "SELECT CONCAT('<b>',tipoccli,'</b>',numccli) AS apl, CONCAT('<b>',tipo_doc,'</b>',numero) AS efe, abono AS monto FROM itccli WHERE transac={$dbtransac} AND cod_cli={$dbcod_cli}"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $salida .= '<br><table width=\'100%\' border=\'1\'>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Efectos cruzados</td></tr>'; $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Número</td><td align=\'center\'>Número</td><td align=\'center\'>Monto</td></tr>'; foreach ($query->result_array() as $row) { $salida .= '<tr>'; $salida .= '<td>' . $row['apl'] . '</td>'; $salida .= '<td>' . $row['efe'] . '</td>'; $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>'; $salida .= '</tr>'; } $salida .= '</table>'; } //Arregla posibles problemas de incongruencias if ($this->secu->essuper()) { $mSQL = 'SELECT a.numero FROM itrivc a JOIN rivc AS c ON a.idrivc = c.id LEFT JOIN smov b ON a.transac=b.transac AND a.numero=b.num_ref WHERE a.transac=' . $dbtransac . ' AND b.cod_cli IS NULL AND c.anulado=\'N\''; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { foreach ($query->result_array() as $row) { $numero = $row['numero']; if ($pago == 0) { $mnumnc = 'I' . $this->datasis->fprox_numero('ncint', -1); $mSQL = "\n\t\t\t\t\t\t\tINSERT INTO smov (cod_cli,nombre,tipo_doc,numero,fecha,monto,impuesto,abonos,vence,tipo_ref,num_ref,observa1,codigo,descrip,usuario,estampa,hora,transac,nroriva,emiriva,fecdoc )\n\t\t\t\t\t\t\tSELECT b.cod_cli, b.nombre, 'NC' tipo_doc, '{$mnumnc}' numero, b.fecha, a.reiva monto, 0 impuesto,\n\t\t\t\t\t\t\t0 abonos, b.fecha vence, if(a.tipo_doc='F','FC','NC') tipo_ref, a.numero num_ref,\n\t\t\t\t\t\t\tCONCAT('APLICACION DE RET/IVA A ',if(a.tipo_doc='F','FC','NC'),a.numero) observa1, 'NOCON' codigo, 'NOTA DE CONTABILIDAD' descrip, a.usuario, a.estampa, a.hora, a.transac, CONCAT(b.periodo,b.nrocomp) nroriva, b.emision emiriva, a.fecha fecdoc\n\t\t\t\t\t\t\tFROM itrivc a\n\t\t\t\t\t\t\tJOIN rivc b ON a.transac=b.transac\n\t\t\t\t\t\t\tWHERE a.transac={$dbtransac} AND a.numero='{$numero}'"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'RIVCFIXNC'); } $idi = $this->db->insert_id(); // Arregla el itccli $mSQL = "SELECT COUNT(*) AS cana FROM itccli WHERE transac={$dbtransac} AND numccli='{$numero}' "; $hay = intval($this->datasis->dameval($mSQL)); if ($hay == 1 && $idi > 0) { $mSQL = "UPDATE itccli SET numero='{$mnumnc}' WHERE transac={$dbtransac} AND numccli='{$numero}' "; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'RIVCFIXCC'); } $mSQL = "UPDATE smov SET abonos=monto WHERE id={$idi} "; $ban = $this->db->simple_query($mSQL); } } $mnumnd = 'I' . $this->datasis->fprox_numero('ndint', -1); $mSQL = "\n\t\t\t\t\t\tINSERT INTO smov (cod_cli,nombre,tipo_doc,numero,fecha,monto,impuesto,abonos,vence,tipo_ref,num_ref,observa1,codigo,descrip,usuario,estampa,hora,transac,nroriva,emiriva,fecdoc )\n\t\t\t\t\t\tSELECT c.cliente, c.nombre, 'ND' tipo_doc, '{$mnumnd}' numero, b.fecha, a.reiva monto, 0 impuesto,\n\t\t\t\t\t\t0 abonos, LAST_DAY(b.fecha) vence, if(a.tipo_doc='F','FC','NC') tipo_ref, a.numero num_ref,\n\t\t\t\t\t\tCONCAT('RET/IVA DE ', c.cliente,' A DOC. ',IF(a.tipo_doc='F','FC','NC'),a.numero) observa1, 'NOCON' codigo, 'NOTA DE CONTABILIDAD' descrip, a.usuario, a.estampa, a.hora, a.transac, CONCAT(b.periodo,b.nrocomp) nroriva, b.emision emiriva, NULL fecdoc\n\t\t\t\t\t\tFROM itrivc a\n\t\t\t\t\t\tJOIN rivc b ON a.transac=b.transac\n\t\t\t\t\t\tJOIN scli c ON c.cliente='REIVA'\n\t\t\t\t\t\tWHERE a.transac={$dbtransac} AND a.numero='{$numero}'"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'RIVCFIXND'); } $salida .= 'Arreglado'; } } //fin del arreglo de incongruencias } } echo $salida; }
function _resumen($id) { $id = intval($id); if ($id <= 0) { return false; } $row = $this->datasis->damereg("SELECT cliente, credito, formap, limite, tolera, maxtole, observa, tipo FROM scli WHERE id={$id}"); $cod_cli = $row['cliente']; $credito = floatval($row['credito']); $formap = $row['formap']; $limite = floatval($row['limite']); $tolera = floatval($row['tolera']); $maxtole = floatval($row['maxtole']); $observa = $row['observa']; $tipo = $row['tipo']; $dbcod_cli = $this->db->escape($cod_cli); if ($credito == 'S') { $mcredito = 'Activo'; } else { $mcredito = 'Suspendido'; } $saldo = floatval($this->datasis->dameval("SELECT SUM(monto*IF(tipo_doc IN ('FC','ND','GI'),1,-1)) saldo FROM smov WHERE cod_cli={$dbcod_cli}")); $pedido = floatval($this->datasis->dameval("SELECT SUM(totalg) saldo FROM pfac WHERE status<>'C' AND cod_cli={$dbcod_cli}")); $pauto = floatval($this->datasis->dameval("SELECT SUM(totalg) saldo FROM pfac WHERE status<>'C' AND autoriza='S' AND cod_cli={$dbcod_cli}")); $salida = ''; $rutas = $this->datasis->dameval("SELECT GROUP_CONCAT(ruta) AS ruta FROM sclitrut WHERE cliente={$dbcod_cli}"); if (!empty($rutas)) { $trut = ''; $arrutas = explode(',', $rutas); foreach ($arrutas as $rut) { $trut .= '<a href="#" onclick="$(\'#rutactual\').val(\'' . addslashes($rut) . '\');$(\'#verutas\').click();return false;">' . $rut . '</a> '; } $salida .= '<table width="100%" cellspacing="0"><tr><td>Rutas: ' . $trut . '</td></tr></table>'; } $salida .= '<table width="100%" cellspacing="0">'; if ($tipo == '0') { $salida .= '<tr style="background-color:#AF1001; color:#FFFFFF; font-size:14px;font-weight:bold;"><td colspan="2" align="center">CLIENTE INACTIVO</td></tr>' . "\n"; } if ($tipo == 'S') { $salida .= "<tr style='background-color:#AAEEAA;'><td colspan='2' align='center'><b>Crédito {$mcredito}</b></td></tr>\n"; } else { $salida .= "<tr style='background-color:#CCCCBB;'><td colspan='2' align='center'><b>Crédito {$mcredito}</b></td></tr>\n"; } $salida .= "<tr style='background-color:#FFFFFF;'><td>Límite </td><td align='right'>" . nformat($limite) . " </td></tr>\n"; $salida .= "<tr style='background-color:#EEEEEE;'><td>Tolerancia </td><td align='right'>{$tolera}% </td></tr>\n"; $salida .= "<tr style='background-color:#FFFFFF;'><td>Máxima Tolerancia </td><td align='right'>{$maxtole}% </td></tr>\n"; $salida .= "<tr style='background-color:#EEEEEE;'><td>Saldo Actual </td><td align='right'>" . nformat($saldo) . " </td></tr>\n"; $salida .= "<tr style='background-color:#FBEC88;'><td>Crédito Disponible</td><td align='right'><b>" . nformat($limite - $saldo) . "</b></td></tr>\n"; if ($pedido != 0) { $salida .= "<tr style='background-color:#FFFFFF;'><td>Pedidos </td><td align='right'>" . nformat($pedido) . " </td></tr>\n"; $salida .= "<tr style='background-color:#FAA78F;'><td>Saldo - Pedidos </td><td align='right'>" . nformat($limite - $saldo - $pedido) . " </td></tr>\n"; } if ($pauto != 0) { $salida .= "<tr style='background-color:#FFFFFF;'><td>Pedidos Autorizado</td><td align='right'>" . nformat($pauto) . " </td></tr>\n"; $salida .= "<tr style='background-color:#FAD78F;'><td>Saldo Disponible </td><td align='right'>" . nformat($limite - $saldo - $pauto) . " </td></tr>\n"; } $salida .= "</table>\n"; if (!empty($observa)) { $salida .= "<br><b>Observaciones:</b><textarea cols='28' rows='4' readonly='readonly'>{$observa}</textarea>\n"; } return $salida; }
function dibuja_viene($pdfa) { if (count($this->textoViene) != 0) { $pos = $this->textoViene['pos']; $ancho = $this->textoViene['ancho']; $borde = $this->textoViene['borde']; $alinea = $this->textoViene['alinea']; $fill = $this->textoViene['relleno']; $texto = $this->textoViene['texto']; $tfuente = $this->textoViene['tfuente']; $estilo = $this->textoViene['estilo']; $pdfa->setX($pos); $pdfa->setFont($this->fuenteTabla, $estilo, $tfuente); $pdfa->cell($ancho, 4, $texto, $borde, 0, $alinea, $fill); } foreach ($this->viene as $total) { $posTot = $total['pos']; $tfuenteTot = $total['tfuente']; $estiloTot = $total['estilo']; $anchoTot = $total['ancho']; $alineaTot = $total['alinea']; $bordeTot = $total['borde']; $fillTot = $total['relleno']; $monto = nformat($total['valor']); $pdfa->setX($posTot); $pdfa->setFont($this->fuenteTabla, $estiloTot, $tfuenteTot); $pdfa->cell($anchoTot, 4, $monto, $bordeTot, 0, $alineaTot, $fillTot); } }
?> </td> <td class="littletablerow" ><?php echo dbdate_to_human($form->fecha->value); ?> </td> <td class="littletablerowth" align='center'><?php echo $form->frec->label . " " . $frec; ?> </td> <td class="littletablerowth"><?php echo $form->total->label; ?> </td> <td class="littletablerow" ><?php echo nformat($form->total->value); ?> </td> </tr> </table> </fieldset> <br> <fieldset style='border: 1px outset #FEB404;background: #FFFCE8;'> <table width='100%'> <?php $i = false; foreach ($arr_concs as $concepto) { $obj = 'c' . $concepto; if (isset($form->{$obj}->label)) { if (!$i) { echo ' <tr>';
?> </td> <td class="littletablerow" align='left'> <?php echo $row->cod_prv; ?> </td> <td class="littletablerow" align='right'> <?php echo nformat($row->debe); ?> </td> <td class="littletablerow" align='right'> <?php echo nformat($row->haber); ?> </td> <td class="littletablerow" align='right'> <?php echo nformat($row->saldo); ?> </td> </tr> <?php } ?> </fieldset> </table> <?php } ?> </div> </td> </tr> <?php
echo $row->cod_cli . ' ' . $row->nombre; ?> </td> <td class="littletablerowth" align='center'><?php echo $row->tipo_doc; ?> </td> <td class="littletablerow" ><?php echo $row->numero; ?> </td> <td class="littletablerowth" ><?php echo $row->observa1; ?> </td> <td class="littletablerow" align='right'><?php echo nformat($row->monto); ?> </td> </tr> <?php } } } ?> </table> <?php } } }
function moneyformat($numero) { return nformat($numero, 2); }
function gserchipros($codbanc = null) { if (empty($codbanc)) { show_error('Faltan parametros'); } $dbcodbanc = $this->db->escape($codbanc); $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc; $r = $this->datasis->damerow($mSQL); if ($r['cana'] == 0) { echo heading("Caja {$codbanc} no tiene gastos aprobados, debe primero aprobar algun gasto y luego si puede reponerla"); return false; } $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $row = $query->row(); $nombre = $row->nombre; $codprv = $row->codprv; } else { $nombre = $codprv = ''; } $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a'; $query = $this->db->query($sql); $comis = array(); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $ind = '_' . $row->codbanc; $comis[$ind]['tbanco'] = $row->tbanco; } } $json_comis = json_encode($comis); $this->rapyd->load('dataform', 'datagrid2'); $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor', 'script' => array('post_modbus()')); $bsprv = $this->datasis->modbus($modbus); $script = 'var comis = ' . $json_comis . '; $(document).ready(function() { desactivacampo(""); $("#codprv").autocomplete({ source: function( req, add){ $.ajax({ url: "' . site_url('ajax/buscasprv') . '", type: "POST", dataType: "json", data: {"q":req.term}, success: function(data){ var sugiere = []; if(data.length==0){ $("#nombre").val(""); $("#nombre_val").text(""); $("#codprv").val(""); }else{ $.each(data, function(i, val){ sugiere.push( val ); } ); } add(sugiere); }, }) }, minLength: 2, select: function( event, ui ) { $("#codprv").attr("readonly", "readonly"); $("#nombre").val(ui.item.nombre); $("#nombre_val").text(ui.item.nombre); $("#codprv").val(ui.item.proveed); setTimeout(function(){ $("#codprv").removeAttr("readonly"); }, 1500); } }); desactivacampo($("#cargo").val()); }); function post_modbus(){ nombre=$("#nombre").val(); $("#nombre_val").text(nombre); } function desactivacampo(codb1){ if(codb1.length>0 && codb1!="' . $this->mcred . '"){ eval("tbanco=comis._"+codb1+".tbanco;" ); if(tbanco=="CAJ"){ $("#cheque").attr("disabled","disabled"); $("#benefi").attr("disabled","disabled"); }else{ $("#cheque").removeAttr("disabled"); $("#benefi").removeAttr("disabled"); } }else{ $("#cheque").attr("disabled","disabled"); $("#benefi").attr("disabled","disabled"); } }'; $pcchi = $this->datasis->damerow("SELECT proveed, nombre FROM sprv WHERE nombre LIKE '%CAJA%CHICA%' LIMIT 1"); $form = new DataForm($this->url . 'gserchipros/' . $codbanc . '/process'); $form->title("Número de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b> para la caja ' . $codbanc); $form->script($script); $form->codprv = new inputField('Proveedor', 'codprv'); $form->codprv->rule = 'required'; $form->codprv->insertValue = $codprv; $form->codprv->size = 8; $form->codprv->append($bsprv); $form->codprv->insertValue = empty($pcchi) ? '' : $pcchi['proveed']; $form->nombre = new inputField('Nombre', 'nombre'); $form->nombre->rule = 'required'; $form->nombre->insertValue = $nombre; $form->nombre->in = 'codprv'; $form->nombre->type = 'inputhidden'; $form->nombre->insertValue = empty($pcchi) ? '' : $pcchi['nombre']; $dbcodban = $this->db->escape($codbanc); $form->cargo = new dropdownField('Reponer desde', 'cargo'); $form->cargo->option('', 'Seleccionar'); $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND codbanc<>{$dbcodban} ORDER BY codbanc"); $form->cargo->option($this->mcred, 'CREDITO'); $form->cargo->onchange = 'desactivacampo(this.value)'; $form->cargo->rule = 'max_length[5]|required'; $form->cheque = new inputField('Cheque Numero', 'cheque'); $form->cheque->rule = 'condi_required|callback_chobligaban'; //$form->cheque->append('Aplica si es un banco'); $form->cheque->group = 'Aplica si repone desde un Banco'; $form->cheque->size = 12; $form->benefi = new inputField('Beneficiario', 'benefi'); $form->benefi->insertValue = $nombre; $form->benefi->rule = 'condi_required|callback_chobligaban|strtoupper'; //$form->benefi->append('Aplica si es un banco'); $form->benefi->group = $form->cheque->group; $form->build_form(); $grid = new DataGrid2("Lista de facturas aceptadas para pagar de la caja {$codbanc}", 'gserchi'); $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'descrip', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc'); $grid->totalizar('totneto', 'totiva'); $grid->db->select($select); $grid->db->where('aceptado', 'S'); $grid->db->where('ngasto IS NULL'); $grid->db->where('codbanc', $codbanc); $grid->order_by('fechafac', 'desc'); $grid->per_page = 15; //$grid->column('Caja','codbanc'); $grid->column('Número', 'numfac'); $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\''); $grid->column('Proveedor', 'proveedor'); $grid->column('Descripción', 'descrip'); $grid->column('IVA', '<nformat><#totiva#></nformat>', 'align=\'right\''); $grid->column('Monto', '<b><nformat><#totneto#></nformat></b>', 'align=\'right\''); //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura'); $grid->build(); if ($form->on_success()) { $codprv = $form->codprv->newValue; $cargo = $form->cargo->newValue; $nombre = $form->nombre->newValue; $benefi = $form->benefi->newValue; $cheque = $form->cheque->newValue; $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque); if ($rt) { $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => array('id' => $this->idgser)); echo json_encode($rt); } else { $rt = array('status' => 'B', 'mensaje' => 'No se pudo guardar', 'pk' => ''); echo json_encode($rt); } } else { echo $form->output . $grid->output; } }