function anuales() { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); $script = ' $(function() { $(".inputnum").numeric("."); }); '; if ($this->uri->segment(4)) { $anio = $this->uri->segment(4); } elseif (isset($_POST['anio'])) { $anio = $_POST['anio']; } if (empty($anio)) { $anio = date("Y"); } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $filter = new DataForm('ventas/productos/anuales'); $filter->title('Filtro de Ventas Anuales'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->rule = "max_length[4]"; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/productos/anuales/'), array('anio')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("a.codigo", "b.descrip AS nombre", "a.cantidad AS cantidad", "SUM(a.venta)AS grantotal", "COUNT(*) AS numfac"); $grid->db->select($select); $grid->db->from("costos AS a"); $grid->db->join("sinv AS b", "a.codigo=b.codigo"); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->groupby("a.codigo"); $grid->db->orderby("grantotal DESC"); $grid->per_page = 15; $grid->column("Producto", "nombre", "align='left'"); $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Cantidad", "<number_format><#cantidad#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant. Fact", "numfac", 'align=right'); $grid->totalizar('grantotal'); $grid->build(); $grafico = open_flash_chart_object(680, 450, site_url("ventas/productos/ganuales/{$anio}/")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Ventas Anuales</h1>"; $this->load->view('view_ventanas', $data); }
function anuales() { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); $script = ' $(function() { $(".inputnum").numeric("."); }); '; if ($this->uri->segment(4)) { $anio = $this->uri->segment(4); } elseif (isset($_POST['anio'])) { $anio = $_POST['anio']; } if (empty($anio)) { $anio = date("Y"); } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $filter = new DataForm('supermercado/bancos/anuales'); $filter->title('Filtro de Bancos'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('supermercado/bancos/anuales'), array('anio')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("a.fecha", "a.concep", "b.banco", "SUM(a.monto)AS grantotal", "SUM(a.transac)AS transacciones"); $grid->db->select($select); $grid->db->from("est_pago as a"); $grid->db->join("banc as b", "a.concep=b.codbanc"); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->groupby("a.concep"); $grid->db->orderby("grantotal DESC"); $grid->column("Banco", "banco", "align='left'"); $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant.Transac", "transacciones", 'align=right'); $grid->totalizar('grantotal'); $grid->build(); //echo $grid->db->last_query(); $grafico = open_flash_chart_object(720, 450, site_url("supermercado/bancos/ganuales/{$anio}/")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Tipos de Bancos</h1>"; $this->load->view('view_ventanas', $data); }
function index() { $this->rapyd->load("datagrid", "dataform"); $this->load->helper('openflash'); $anio = $this->uri->segment(4); if (empty($anio)) { $anio = date("Y"); } $script = ' $(function() { $(".inputnum").numeric("."); }); '; $filter = new DataForm(); $filter->title('Filtro de Análisis de Ventas'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('/supermercado/analisis/index'), array('anio')), $position = "BL"); $filter->build_form(); $link = "supermercado/analisis/departamento/<#depto#>/{$anio}"; $select = array('a.fecha', 'a.depto', 'a.familia', 'a.grupo', 'a.codigo', 'a.impuesto', 'a.monto', 'a.cantidad', 'a.transac', 'a.tipo', 'b.descrip'); $grid = new DataGrid('Ventas por Departamentos'); $grid->column("Departamento", anchor($link, '<#descrip#>'), 'nowrap=yes'); for ($i = 1; $i <= 12; $i++) { $nmes = $this->calendar->get_month_name(str_pad($i, 2, "0", STR_PAD_LEFT)); $grid->column($nmes, "<nformat><#m{$i}#></nformat>", 'align=right'); $select[] = "sum(a.monto*(month(a.fecha)={$i})) AS m{$i}"; } $grid->db->select($select); $grid->db->from('est_item AS a'); $grid->db->join('dpto AS b', 'a.depto=b.depto'); $grid->db->where('YEAR(a.fecha)', $anio); $grid->db->where("a.tipo", 'I'); $grid->db->groupby('a.depto'); $grid->build(); //echo $grid->db->last_query(); $data['content'] = $filter->output . '<div style="overflow: auto; width: 100%;">' . $grid->output . '</div>'; $data['title'] = "<h1>Análisis de Ventas</h1>"; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function sel() { $this->rapyd->load("dataform"); //echo $this->flongpres; //$script=' //$(function() { // // $("#codigoadm").change(function(){ // $.post("'.site_url('presupuesto/presupsoli/get_tipo').'",{ codigoadm:$("#codigoadm").val() },function(data){$("#tipo").html(data);}) // }); // // $("#tipo").change(function(){ // $.post("'.site_url('presupuesto/presupsoli/get_estrupres').'",{ tipo:$("#tipo").val(),codigoadm:$("#codigoadm").val() },function(data){$("#codigopres").html(data);}) // }); // //}); //'; $script = ' $(function() { $("#codigoadm").change(function(){ $.post("' . site_url('presupuesto/presusol/get_tipo') . '",{ codigoadm:$("#codigoadm").val() },function(data){$("#tipo").html(data);}) }); $("#tipo").change(function(){ $.post("' . site_url('presupuesto/presusol/get_estrupres') . '",{ codigoadm:$("#codigoadm").val(),tipo:$("#tipo").val() },function(data){$("#codigopres").html(data);}) }); }); '; $flong = $this->flongpres; $rlong = $this->flongadm; $filter = new DataForm("presupuesto/presupsoli/sel/process"); $filter->script($script); $filter->codigoadm = new dropdownField("Estructura Administrativa", "codigoadm"); $filter->codigoadm->option("", "Seleccione"); $filter->codigoadm->rule = 'required'; $filter->codigoadm->options("SELECT b.codigo, CONCAT_WS(' ',b.codigo,b.denominacion) AS val FROM presusol AS a JOIN estruadm AS b ON a.codigoadm=b.codigo GROUP BY b.codigo"); $filter->tipo = new dropdownField('Origen de fondos', 'tipo'); $filter->tipo->option("", "Seleccione una Estructura Administrativa"); $filter->tipo->rule = 'required'; $filter->codigopres = new dropdownField("Presupuesto", "codigopres"); $filter->codigopres->option("", "Seleccione un presupuesto"); $filter->submit("btnsubmit", "Buscar"); $filter->build_form(); if ($filter->on_success()) { $ttipo = $filter->tipo->newValue; $codamd = $filter->codigoadm->newValue; $codpre = $filter->codigopres->newValue; redirect("presupuesto/presupsoli/asignar/{$ttipo}/{$codamd}/{$codpre}"); } $data['content'] = $filter->output; $data['title'] = "Presupuesto Estimado"; $data["head"] = script("jquery.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function index() { $this->rapyd->load('dataform'); $lscst = site_url('compras/scst/autocomplete/control'); $script = ' function formato(row) { return row[0]+" "+row[1]+" "+row[3]; } $(function() { $("#control").autocomplete("' . $lscst . '",{ delay:10, //minChars:2, matchSubset:1, matchContains:1, cacheLength:10, formatItem:formato, width:450, autoFill:true } ); });'; $form = new DataForm($this->url . 'index/process'); $form->title('Pasar precios a cajas'); $form->script($script); $form->control = new inputField('Control de compra', 'control'); $form->control->rule = 'required|callback_chcontrol'; $form->control->size = 12; $form->control->maxlength = 10; $form->control->append('Dejar vacio para enviar un masivo'); $form->submit("btnsubmit", "Pasar precios a caja"); $form->build_form(); $error = ''; if ($form->on_success()) { $control = $form->control->newValue; $usr = $this->session->userdata('usuario'); $join = ''; if (strlen($control > 0)) { $join = 'JOIN `itscst` AS b ON a.codigo=b.codigo AND b.codigo=' . $this->db->escape($control); } $mSQL = "INSERT INTO `enviapos` (codigo,numero,precio1,fecha,hora,usuario)\n\t\t\t\t SELECT a.codigo,'INVENTAR',a.precio1,CURDATE(),CURTIME(),'{$usr}' FROM `maes` AS a {$join}"; $ban = $this->db->simple_query($mSQL); if (!$ban) { $error .= "Hubo problemas al pasar los precios, comuniquese con servicio técnico"; memowrite($mSQL, 'ENVIACAJA'); } else { logusu('ENVIACAJA', "Fue enviado una actualizacion de precios"); } } $data['content'] = "<div class='alert'>{$error}</div>"; $data['content'] .= $form->output; $data['title'] = '<h1>Envío de precios para las cajas</h1>'; $data["head"] = script('jquery.pack.js') . script('plugins/jquery.autocomplete.js') . style('jquery.autocomplete.css') . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function precios2() { $this->rapyd->load("dataform", "datatable"); $cod = $this->uri->segment(4); $script = ' $("#codigo").focus(); $(document).ready(function() { $("a").fancybox(); $("#codigo").attr("value", ""); $("#codigo").focus(); }); $("#df1").submit(function() { valor=$("#codigo").attr("value"); location.href="' . site_url('supermercado/consultas/precios2') . '/"+valor; return false; }); '; $form = new DataForm(); $form->script($script); $form->codigo = new inputField("Código", "codigo"); $form->codigo->size = 20; $form->codigo->insertValue = ''; $form->codigo->append('Presente el articulo frente al lector de codigo de barras o escriba directamente algun codigo de identificacion y luego presione ENTER'); $form->build_form(); $contenido = $form->output; if (!empty($cod)) { $data2 = $this->rprecios($cod); if ($data2) { $contenido .= $this->load->view('view_rprecios', $data2, true); } else { $t = array(); $t[1][1] = "<b>PRODUCTO NO REGISTRADO</b>"; $t[2][1] = ""; $t[3][1] = "<b>Por Favor introduzca un Codigo de identificación del Producto</b>"; $t[4][1] = "Presente el producto en el lector de codigo de barras"; $t[5][1] = "o escriba directamente algun codigo de identificacion y luego presione ENTER"; $table = new DataTable(null, $t); $table->cell_attributes = 'style="vertical-align:middle; text-align: center;"'; $table->per_row = 1; $table->cell_attributes = ''; //$t[2][1]="";style="vertical-align:top;" $table->cell_template = "<div style='color:red;' align='center'><#1#></div></br>"; $table->build(); $contenido .= $table->output; } } else { //$data['content'] = $form->output; } $data['content'] = $contenido; $data["head"] = script("jquery.js") . script("plugins/jquery.fancybox.pack.js") . script("plugins/jquery.easing.js") . style('fancybox/jquery.fancybox.css') . style("ventanas.css") . style("estilos.css") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function sel() { $this->rapyd->load("dataform"); //echo $this->flongpres; $script = ' $(function() { $("#codigoadm").change(function(){ $.post("' . site_url('presupuesto/presupuesto/get_tipo') . '",{ codigoadm:$("#codigoadm").val() },function(data){$("#tipo").html(data);}) }); }); '; $flong = $this->flongpres; $rlong = $this->flongadm; $filter = new DataForm("presupuesto/anualcierre/sel/process"); $filter->script($script); $filter->codigoadm = new dropdownField("Estructura Administrativa", "codigoadm"); $filter->codigoadm->option("", "Seleccione"); $filter->codigoadm->rule = 'required'; $filter->codigoadm->options("SELECT b.codigo, CONCAT_WS(' ',b.codigo,b.denominacion) AS val FROM presupuesto AS a JOIN estruadm AS b ON a.codigoadm=b.codigo GROUP BY b.codigo"); $filter->tipo = new dropdownField('Origen de fondos', 'tipo'); $filter->tipo->option("", "Seleccione una Estructura Administrativa"); $filter->tipo->rule = 'required'; //$filter->codigopres = new dropdownField("Presupuesto","codigopres"); //$filter->codigopres->option("","Seleccione un presupuesto"); //$filter->ano = new inputField("Año","ano"); //$filter->ano->size=5; //$filter->ano->maxlength=4; $filter->submit("btnsubmit", "Buscar"); $filter->build_form(); if ($filter->on_success()) { $tipo = $filter->tipo->newValue; $codigoadm = $filter->codigoadm->newValue; //$codigopres = $filter->codigopres->newValue; //$ano = $filter->ano->newValue; redirect("presupuesto/anualcierre/cerrar/{$tipo}/{$codigoadm}/{$codigopres}"); } $data['content'] = $filter->output; $data['title'] = "Cierre de Presupuestos"; $data["head"] = script("jquery.js") . $this->rapyd->get_head(); $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 mensuales($anio = '', $mes = '') { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); if (isset($_POST['anio']) and empty($anio)) { $anio = $_POST['anio']; } if (isset($_POST['mes']) and empty($mes)) { $mes = $_POST['mes']; } if (empty($mes)) { redirect("supermercado/ventas/anuales/{$anio}"); } $script = ' $(function() { $(".inputnum").numeric("."); }); '; $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $filter = new DataForm('supermercado/ventas/mensuales'); $filter->attributes = array('onsubmit' => "this.action='index/'+this.form.mes.value+'/'+this.form.anio.value+'/';return FALSE;"); $filter->title('Filtro de Ventas Mensuales'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->mes = new dropdownField("Mes/Año", "mes"); for ($i = 1; $i < 13; $i++) { $filter->mes->option(str_pad($i, 2, '0', STR_PAD_LEFT), str_pad($i, 2, '0', STR_PAD_LEFT)); } $filter->mes->size = 2; $filter->mes->style = ''; $filter->mes->insertValue = $mes; $filter->mes->rule = "trim"; $filter->anio = new inputField("Año", "anio"); $filter->anio->in = 'mes'; $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('supermercado/ventas/mensuales'), array('anio', 'mes')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("fecha", "DATE_FORMAT(fecha,'%d') AS dia", "SUM(monto)AS grantotal", "SUM(impuesto)AS iva", "SUM(transac)as transacciones"); $grid->db->select($select); $grid->db->from("est_fecha"); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->groupby("fecha"); $grid->db->orderby("fecha ASC"); //$grid->db->limit(15,0); $grid->column("Dia", "dia", "align='left'"); $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Impuesto", "<number_format><#iva#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant.Transac", "transacciones", 'align=right'); $grid->totalizar('iva', 'grantotal'); $grid->build(); $grafico = open_flash_chart_object(680, 350, site_url("supermercado/ventas/gmensuales/{$anio}/{$mes}")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Ventas Mensuales</h1>"; $this->load->view('view_ventanas', $data); }
function diarias($anio = '', $vendedor = '', $mes = '') { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); $script = ' $(function() { $(".inputnum").numeric("."); }); '; if (isset($_POST['anio']) and empty($anio)) { $anio = $_POST['anio']; } if (isset($_POST['mes']) and empty($mes)) { $mes = $_POST['mes']; } if (isset($_POST['vd']) and empty($vendedor)) { $vendedor = $_POST['vd']; } //if(empty($anio) OR ($vendedor)) redirect("ventas/vendedoresanuales/index/$anio"); if (empty($mes)) { redirect("ventas/vendedores/mensuales/{$anio}/{$vendedor}"); } $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $scli = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C<p align="right">ó</p>digo Vendedor', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli'), 'titulo' => 'Buscar Cliente'); $cboton = $this->datasis->modbus($scli); $filter = new DataForm('ventas/vendedores/diarias'); $filter->attributes = array('onsubmit' => "this.action='index/'+this.form.mes.value+'/'+this.form.anio.value+'/';return FALSE;"); $filter->title('Filtro de Ventas Diarias'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->mes = new dropdownField("Mes/Año", "mes"); for ($i = 1; $i < 13; $i++) { $filter->mes->option(str_pad($i, 2, '0', STR_PAD_LEFT), str_pad($i, 2, '0', STR_PAD_LEFT)); } $filter->mes->size = 2; $filter->mes->style = ''; $filter->mes->insertValue = $mes; $filter->anio = new inputField("Año", "anio"); $filter->anio->in = 'mes'; $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->vendedor = new inputField("Vendedor", "vd"); $filter->vendedor->size = 10; $filter->vendedor->insertValue = $vendedor; $filter->vendedor->rule = "max_length[4]"; $filter->vendedor->append($cboton); $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/vendedores/diarias/'), array('anio', 'vd', 'mes')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("vd", "DATE_FORMAT(fecha,'%d/%m/%Y') AS fecha", "SUM(totalg*IF(tipo_doc='D', -1, 1)) AS grantotal", "SUM(totalg*IF(tipo_doc='D', -1, 1))/ COUNT(*) AS porcentaje", "SUM(totalg*(referen IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) as contado", "SUM(totalg*(referen NOT IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) as credito", "FORMAT(sum(totals*IF(tipo_doc='D',-1,1)),2) AS subtotal", "FORMAT(sum(iva*IF(tipo_doc='D',-1,1)),2) AS impuesto", "COUNT(*) AS numfac"); $grid->db->select($select); $grid->db->from("sfac"); $grid->db->where('tipo_doc <> ', 'X'); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->where('vd ', $vendedor); $grid->db->groupby("fecha"); $grid->column("Dia", "fecha", "align='center'"); $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right'); $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right'); $grid->column("Crédito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right'); $grid->column("Participación", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant. Fact", "numfac", 'align=right'); $grid->totalizar('subtotal', 'impuesto', 'grantotal', 'contado', 'credito'); $grid->build(); $grafico = open_flash_chart_object(680, 350, site_url("ventas/vendedores/gdiarias/{$anio}/{$vendedor}/{$mes}")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Vendedores</h1>"; $this->load->view('view_ventanas', $data); }
function mensuales($anio = '', $cliente = '') { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); if (isset($_POST['anio']) and empty($anio)) { $anio = $_POST['anio']; } if (isset($_POST['cod_cli']) and empty($cliente)) { $cliente = $_POST['cod_cli']; } $script = ' $(function() { $(".inputnum").numeric("."); }); '; if (empty($anio) or empty($cliente)) { redirect("ventas/clientes/anuales/{$anio}"); } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $scli = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli'), 'titulo' => 'Buscar Cliente'); $cboton = $this->datasis->modbus($scli); $filter = new DataForm('ventas/clientes/mensuales'); $filter->title('Filtro de Ventas Mensuales'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->cliente = new inputField("Cliente", "cod_cli"); $filter->cliente->size = 10; $filter->cliente->insertValue = $cliente; $filter->cliente->rule = "max_length[4]"; $filter->cliente->append($cboton); $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/clientes/mensuales'), array('anio', 'cod_cli')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("cod_cli,nombre", "fecha", "DATE_FORMAT(fecha,'%m/%Y')AS mes", "SUM(totalg*IF(tipo_doc='D', -1, 1)) AS grantotal", "SUM(totalg*IF(tipo_doc='D', -1, 1))/ COUNT(*) AS porcentaje", "SUM(totalg*(referen IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS contado", "SUM(totalg*(referen NOT IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS credito", "SUM(totals*IF(tipo_doc='D',-1,1))AS subtotal", "SUM(iva*IF(tipo_doc='D',-1,1))AS impuesto", "COUNT(*) AS numfac"); $grid->db->select($select); $grid->db->from("sfac"); $grid->db->where('tipo_doc<>', 'X'); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->where('cod_cli', $cliente); $grid->db->groupby("mes"); $grid->column("Mes", "mes", "align='center'"); $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right'); $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right'); $grid->column("Credito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right'); $grid->column("Participación", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant. Fact", "numfac", 'align=right'); $grid->totalizar('impuesto', 'grantotal', 'contado', 'credito', 'subtotal'); $grid->build(); $grafico = open_flash_chart_object(750, 350, site_url("ventas/clientes/gmensuales/{$anio}/{$cliente}")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Clientes</h1>"; $this->load->view('view_ventanas', $data); }
function actualizar($control) { $this->rapyd->load('dataform'); $dbcontrol = $this->db->escape($control); $script = '$(function(){ $(".littletableheader").css("width","200px"); $(".inputnum").numeric("."); $("#fecha").datepicker({ dateFormat: "dd/mm/yy" }); $("#cprecio").change(function(){ var cprecio=$("#cprecio").val(); if(cprecio=="S"){ $("#advs").show(); $("#advn").hide(); $("#advd").hide(); }else if(cprecio=="N"){ $("#advs").hide(); $("#advn").show(); $("#advd").hide(); }else{ $("#advs").hide(); $("#advn").hide(); $("#advd").show(); } if(cprecio=="M"){ $("#tr_margens").show(); }else{ $("#tr_margens").hide(); } }); $("#cprecio").change(); })'; $form = new DataForm("compras/scst/actualizar/{$control}/process"); $form->script($script); $scstrow = $this->datasis->damerow("SELECT proveed,nombre,fecha,montotot, montoiva,montonet,serie,vence,tipo_doc FROM scst WHERE control={$dbcontrol}"); if (!empty($scstrow)) { $htmltabla = "<table width='100%' style='background-color:#FBEC88;text-align:center;font-size:12px'>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>Proveedor:</td>\n\t\t\t\t\t<td><b>(" . htmlspecialchars($scstrow['proveed']) . ")</b></td>\n\t\t\t\t\t<td colspan='4'><b>" . htmlspecialchars($scstrow['nombre']) . "</b></td>\n\t\t\t\t</tr><tr>\n\t\t\t\t\t<td>Documento:</td>\n\t\t\t\t\t<td>" . htmlspecialchars($scstrow['tipo_doc'] . $scstrow['serie']) . "</b></td>\n\t\t\t\t\t<td>Fecha: </td>\n\t\t\t\t\t<td><b>" . dbdate_to_human($scstrow['fecha']) . "</b></td>\n\t\t\t\t\t<td>Vence:</td>\n\t\t\t\t\t<td><b>" . dbdate_to_human($scstrow['vence']) . "</b></td>\n\t\t\t\t</tr><tr>\n\t\t\t\t\t<td>Sub Total:</td>\n\t\t\t\t\t<td><b>" . nformat($scstrow['montotot']) . "</b></td>\n\t\t\t\t\t<td> I.V.A.: </td>\n\t\t\t\t\t<td><b>" . nformat($scstrow['montoiva']) . "</b></td>\n\t\t\t\t\t<td>Monto: </td>\n\t\t\t\t\t<td><b>" . nformat($scstrow['montonet']) . "</b></td>\n\t\t\t\t</tr>\n\t\t\t</table>"; $form->tablafo = new containerField('tablafo', $htmltabla); if (in_array($scstrow['tipo_doc'], array('FC', 'NE'))) { $opt_arr = array('D' => array('Dejar el precio mayor', 'Coloca el precio mayor entre el precio en inventario y el nuevo precio según compra.'), 'M' => array('Obliga Margen', 'Calcula el precio a partir del costo nuevo aplicando el margen suministrado.'), 'N' => array('No', 'Respeta los precios de los productos en inventario e ignora los provenientes de la compra.'), 'S' => array('Si', 'Coloca los precios provenientes de la compra reemplazando los del inventario exepto los productos marcados con la opción de repetar margen a los cuales se les calculara el precio sin modificar sus margenes.')); $optstr = $this->datasis->traevalor('SCSTACTUALIOPT', 'Fija las opciones para actualizar compras Ej SND'); if (!empty($optstr)) { $opt_val = array_unique(str_split(strtoupper($optstr))); $pivo = array_intersect($opt_val, array_keys($opt_arr)); if (count($pivo) > 0) { $result = array(); foreach ($pivo as $val) { $result[$val] = $opt_arr[$val][0]; } } } else { foreach ($opt_arr as $id => $val) { $result[$id] = $opt_arr[$id][0]; } } $arr_enum = array(); $infoview = ''; foreach ($result as $id => $val) { $arr_enum[] = $id; $infoview .= '<li><b>' . $val . '</b>:' . $opt_arr[$id][1] . '</li>'; } $opt_arr = $result; $form->cprecio = new dropdownField('Cambiar precios', 'cprecio'); $form->cprecio->options($opt_arr); $form->cprecio->append(' <sup>1</sup>'); $form->cprecio->title = 'Ver nota 1'; $form->cprecio->style = 'width:170px;'; $form->cprecio->rule = 'required|enum[' . implode(',', $arr_enum) . ']'; $htmltabla = ' <div style="background-color:#9D9FFF;font-size:1.2em"> <span style="font-size:1.2em"><sup>1</sup> Opciones para <b>cambio de precios</b>:</span> <ul style="padding: 0px;margin: 0px 0px 0px 20px;">' . $infoview . '</ul> </div>'; } else { $form->cprecio = new hiddenField('Fecha de recepción del documento', 'cprecio'); $form->cprecio->insertValue = 'N'; $form->cprecio->in = 'fecha'; $htmltabla = ''; } $form->fecha = new dateonlyField('Fecha de recepción del documento', 'fecha'); $form->fecha->insertValue = date('Y-m-d'); $form->fecha->rule = 'required|callback_chddate'; $form->fecha->calendar = false; $form->fecha->title = 'El sistema asume que esta es la fecha en que la mercancía entra en inventario y de la retención de IVA si aplica al presente caso'; $form->fecha->size = 12; $form->fecha->append(' <sup>1</sup>'); $canaordc = intval($this->datasis->dameval('SELECT COUNT(*) AS cana FROM scstordc WHERE compra=' . $this->db->escape($control))); if ($canaordc > 0) { $form->ordc = new dropdownField('Cerrar Ordenes de Compra', 'ordc'); $form->ordc->option('N', 'No'); $form->ordc->option('S', 'Si'); $form->ordc->rule = 'required|enum[N,S]'; $form->ordc->style = 'width:100px;'; $form->ordc->title = 'Selecionar SI para cerrar las ordenes de compra asociadas o NO para dejarlas en backorder'; } $style = 'style="background-color:red;border-radius: 5px;color:yellow;padding:3px;font-size:1.2em;"'; //Advertencia con opcion a cambio de precios S $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tb.margen1<0 OR b.margen2<0 OR b.margen3<0 OR b.margen4<0) AND a.rmargen='S' AND a.control={$dbcontrol}"; $codigo1 = trim($this->datasis->dameval($mSQL)); $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tABS(a.costo-(a.precio1/(1+(b.iva/100))))<0 OR\n\t\t\t\tABS(a.costo-(a.precio2/(1+(b.iva/100))))<0 OR\n\t\t\t\tABS(a.costo-(a.precio3/(1+(b.iva/100))))<0 ) AND a.rmargen='N' AND a.control={$dbcontrol}"; $codigo2 = trim($this->datasis->dameval($mSQL)); $cc = array(); if (!empty($codigo1)) { $cc[] = $codigo1; } if (!empty($codigo2)) { $cc[] = $codigo2; } $codigos = implode(',', $cc); if (!empty($codigos)) { $form->advs = new containerField('advs', '<div id="advs" ' . $style . '>Los productos <b>' . $codigos . '</b> van a quedar en perdida si procede con esta operación.</div>'); } //Fin precios S $form->margens = new inputField('Obligar Margen', 'margens'); $form->margens->css_class = 'inputnum'; $form->margens->size = 10; $form->margens->maxlength = 6; $form->margens->autocomplete = false; $form->margens->insertValue = 30.0; $form->margens->rule = 'condi_required|callback_chmargenact'; //Advertencia cambio de precios N $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tb.precio1/(1+(b.iva/100))<a.costo OR\n\t\t\t\tb.precio2/(1+(b.iva/100))<a.costo OR\n\t\t\t\tb.precio3/(1+(b.iva/100))<a.costo OR\n\t\t\t\tb.precio4/(1+(b.iva/100))<a.costo ) AND a.rmargen='S' AND a.control={$dbcontrol}"; $codigos = trim($this->datasis->dameval($mSQL)); if (!empty($codigos)) { $form->advn = new containerField('advn', '<div id="advn" ' . $style . '>Los productos <b>' . $codigos . '</b> van a quedar en perdida si procede con esta operación.</div>'); } //Fin de advertencia cambio de precios n //Advertencia cambio de precios D $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tGREATEST((b.precio1/(1+(b.iva/100))),(a.precio1/(1+(b.iva/100)))) < a.costo OR\n\t\t\t\tGREATEST((b.precio2/(1+(b.iva/100))),(a.precio2/(1+(b.iva/100)))) < a.costo OR\n\t\t\t\tGREATEST((b.precio3/(1+(b.iva/100))),(a.precio3/(1+(b.iva/100)))) < a.costo OR\n\t\t\t\tGREATEST((b.precio4/(1+(b.iva/100))),(a.precio4/(1+(b.iva/100)))) < a.costo ) AND a.control={$dbcontrol}"; $codigos = trim($this->datasis->dameval($mSQL)); if (!empty($codigos)) { $form->advd = new containerField('advd', '<div id="advd" ' . $style . '>Los productos <b>' . $codigos . '</b> van a quedar en perdida si procede con esta operación.</div>'); } //Fin de advertencia cambio de precios D $form->container = new containerField('tabafo2', $htmltabla); $form->build_form(); if ($form->on_success()) { $cprecio = $form->cprecio->newValue; $actualiza = $form->fecha->newValue; $margens = intval($form->margens->newValue); $cambio = $cprecio; $dbcontrol = $this->db->escape($control); $id = $this->datasis->dameval("SELECT id FROM scst WHERE control={$dbcontrol}"); if ($cprecio == 'M') { if ($margens <= 0) { $rt = array('status' => 'B', 'mensaje' => 'El margen debe ser mayor que cero.', 'pk' => array('id' => $id)); echo json_encode($rt); return false; } } //Valida que si cambia los precios estos no esten por debajo del costo if ($cprecio != 'N') { $mSQL = "SELECT COUNT(*) AS cana FROM itscst AS a JOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\t\ta.costo>(a.precio1/(1+(b.iva/100))) OR\n\t\t\t\t\ta.costo>(a.precio2/(1+(b.iva/100))) OR\n\t\t\t\t\ta.costo>(a.precio3/(1+(b.iva/100))) ) AND a.rmargen='N' AND a.control={$dbcontrol}"; $cana = $this->datasis->dameval($mSQL); if (!empty($cana)) { $rt = array('status' => 'B', 'mensaje' => 'Existen productos con precios menor al costo de compra, debe arreglar el problema antes de cargar la compra.', 'pk' => array('id' => $id)); echo json_encode($rt); return false; } } //Fin de la validacion if ($canaordc > 0) { $tordc = $form->ordc->newValue; } else { $tordc = null; } $rt = $this->_actualizar($id, $cambio, $actualiza, $tordc, $margens); if ($rt === false) { $rt = array('status' => 'B', 'mensaje' => utf8_encode($this->error_string), 'pk' => array('id' => $id)); echo json_encode($rt); } else { $data['content'] = 'Compra actualizada' . br(); $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => array('id' => $id)); echo json_encode($rt); } } else { echo $form->output; } } else { show_error('Registro inexistente'); } }
function mostrar($data4) { $this->rapyd->load("datagrid2", "dataform"); $form = new DataForm("/supervisor/subexls/actualiza"); $form->free = new freeField("Campos.Archivo xls", "free", "Campos de El Sistema"); //var_dump($data4); //print_r($data4); $grid = new DataGrid2("Archivo Cargado", $data4); $j = 0; $campos .= 'cols="+$("#cols").val()+"&&dir="+$("#dir").val()'; foreach ($cols as $col) { $grid->column("{$col}", "<#{$col}#>"); $campo = "campo{$j}"; $form->{$campo} = new dropdownField("{$col}", "campo{$j}"); $form->{$campo}->option("ignorar", "ignorar"); $form->{$campo}->option("codigo", "codigo"); $form->{$campo}->option("costo", "costo"); $form->{$campo}->option("descrip", "descrip"); $form->{$campo}->option("descrip2", "descrip2"); $form->{$campo}->option("clave", "clave"); $form->{$campo}->option("grupo", "grupo"); $form->{$campo}->option("iva", "iva"); for ($i = 1; $i <= 3; $i++) { $form->{$campo}->option("base{$i}", "Base{$i}"); $form->{$campo}->option("margen{$i}", "Margen{$i}"); $form->{$campo}->option("precio{$i}", "Precio{$i}"); } $form->{$campo}->style = 'width:150px;'; $j++; $campos .= "+" . "\"&&" . $campo . "=\"+\$(\"#" . $campo . "\").val()"; } //echo $campos; $form->cols = new inputField("", "cols"); $form->cols->insertValue = implode(',', $cols); $form->cols->type = 'hidden'; $form->dir = new inputField("", "dir"); $form->dir->insertValue = $dir; $form->dir->type = 'hidden'; //$form->submit("btnsubmit","Actualizar"); $link = site_url('supervisor/subexls/actualiza'); $script = ' function actu(){ a=confirm("�Esta Seguro que de desea Actualizar el Inventario ?"); if(a){ $.ajax({ type: "POST", processData:false, url: "' . $link . '", data: "' . $campos . ', success: function(msg){ if(msg=="s.i"){ alert("El Inventario fue Actualizado."); } else{ alert(msg); } } }); } } '; $form->script($script); $form->button("actualiza", "Actualizar", "javascript:actu();"); $form->build_form(); $grid->build(); $data2['content'] = $form->output . $salida . $grid->output; }
function filtro() { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); $sinv = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'descrip'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'descrip'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Articulo'); $iboton = $this->datasis->modbus($sinv); if ($this->uri->segment(4)) { $codigo = $this->uri->segment(4); } elseif (isset($_POST['codigo'])) { $codigo = $_POST['codigo']; } if (empty($codigo)) { $codigo = $this->datasis->dameval("SELECT codigo FROM sinv"); } if ($this->uri->segment(5)) { $mes = $this->uri->segment(5); } elseif (isset($_POST['mes'])) { $mes = $_POST['mes']; } else { $mes = date('m'); } if ($this->uri->segment(6)) { $anio = $this->uri->segment(6); } elseif (isset($_POST['anio'])) { $anio = $_POST['anio']; } else { $anio = date('Y'); } $script = ' $(function() { $(".inputnum").numeric("."); }); '; $fechad = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechah = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $filter = new DataForm('ventas/mensuales'); $filter->attributes = array('onsubmit' => "this.action='index/'+this.form.mes.value+'/'+this.form.anio.value+'/';return FALSE;"); $filter->title('Filtro de Ventas por Existencias'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->mes = new dropdownField("Mes/Año", "mes"); for ($i = 1; $i < 13; $i++) { $filter->mes->option(str_pad($i, 2, '0', STR_PAD_LEFT), str_pad($i, 2, '0', STR_PAD_LEFT)); } $filter->mes->size = 2; $filter->mes->style = ''; $filter->mes->insertValue = $mes; $filter->anio = new inputField("Año", "anio"); $filter->anio->in = 'mes'; $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; $filter->codigo = new inputField("Código", "codigo"); $filter->codigo->size = 15; $filter->codigo->append($iboton); $filter->codigo->insertValue = $codigo; $filter->button("btnsubmit", "Buscar", form2uri(site_url('inventario/gproductos/filtro/'), array('codigo', 'mes', 'anio')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("fecha", "codigo", "sum(cantidad) cantidad", "IF(sum(cantidad)<=salcant,sum(cantidad),salcant)*(salcant>0)as salcant"); $grid->db->select($select); $grid->db->from("costos"); $grid->db->where('codigo', $coigo); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->where('origen', '3I'); $grid->db->groupby("fecha"); $grid->db->orderby("fecha"); $grid->db->having("cantidad>0"); $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", 'align=center'); $grid->column("Ventas", "cantidad", 'align=center'); $grid->column("Existencias", "salcant", 'align=center'); //$grid->totalizar('grantotal'); $grid->build(); //echo $grid->db->last_query(); $grafico = open_flash_chart_object(680, 450, site_url("inventario/gproductos/grafico/{$codigo}/{$mes}/{$anio}/")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Ventas por Existencias</h1>"; $this->load->view('view_ventanas', $data); }
function dpto() { $this->rapyd->load("dataform"); $campo = 'ccosto' . $this->uri->segment(4); $script = ' function pasar(){ if($F("departa")!="-!-"){ window.opener.document.getElementById("' . $campo . '").value = $F("departa"); window.close(); }else{ alert("Debe elegir un departamento"); } }'; $form = new DataForm(''); $form->script($script); $form->fdepar = new dropdownField("Departamento", "departa"); $form->fdepar->option('-!-', 'Seleccion un departamento'); $form->fdepar->options("SELECT depto,descrip FROM dpto WHERE tipo='G' ORDER BY descrip"); $form->fdepar->onchange = 'pasar()'; $form->build_form(); $data['content'] = $form->output; $data["head"] = script('prototype.js') . $this->rapyd->get_head(); $data['title'] = '<h1>Seleccione un departamento</h1>'; $this->load->view('view_detalle', $data); }
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; } }
function producto($anio = '', $depto = '', $fami = '', $grupo = '') { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); if ($this->uri->segment(4)) { $anio = $this->uri->segment(4); } elseif (isset($_POST['anio'])) { $anio = $_POST['anio']; } if (empty($anio)) { $anio = date("Y"); } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $ajax_onchange = ' function get_familias(){ var url = "' . site_url('supermercado/maes/maesfamilias') . '"; var pars = "dpto="+$F("depto"); var myAjax = new Ajax.Updater("td_familia", url, { method: "post", parameters: pars }); var url = "' . site_url('supermercado/maes/maesgrupos') . '"; var gmyAjax = new Ajax.Updater("td_grupo", url); } function get_grupo(){ var url = "' . site_url('supermercado/maes/maesgrupos') . '"; var pars = "dpto="+$F("depto")+"&fami="+$F("familia"); var myAjax = new Ajax.Updater("td_grupo", url, { method: "post", parameters: pars }); }'; $filter = new DataForm('supermercado/tventas/producto'); $filter->script($ajax_onchange); $filter->title('Filtro de ventas por Producto'); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->depto = new dropdownField("Departamento", "depto"); $filter->depto->options("SELECT depto, descrip FROM dpto GROUP BY depto ORDER BY depto"); $filter->depto->insertValue = $depto; $filter->depto->style = 'width:200px;'; $filter->fami = new dropdownField("Familia", "familia"); $filter->fami->options("SELECT familia,descrip FROM fami GROUP BY familia ORDER BY familia"); $filter->fami->insertValue = $fami; $filter->fami->style = 'width:200px;'; $filter->grupo = new dropdownField("Grupo", "grupo"); $filter->grupo->options("SELECT grupo,nom_grup FROM grup GROUP BY grupo ORDER BY grupo"); $filter->grupo->insertValue = $grupo; $filter->grupo->style = 'width:200px;'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('supermercado/tventas/producto'), array('anio', 'depto', 'familia', 'grupo')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("a.depto", "a.familia", "a.grupo", "b.descrip", "SUM(a.monto) AS grantotal", "SUM(a.costo) AS costo", "SUM(a.cantidad) AS cantidad", "SUM(a.monto)-SUM(a.costo) AS ganancia", "(SUM(a.monto)-SUM(a.costo))*100/SUM(a.monto) AS pganancia"); $grid->db->select($select); $grid->db->from("est_item AS a"); $grid->db->join("maes AS b", "a.codigo=b.codigo"); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->where('a.depto', $depto); $grid->db->where('a.familia', $fami); $grid->db->where('a.grupo', $grupo); $grid->db->groupby("a.codigo"); //$grid->db->limit=10; $grid->column("Producto", "descrip", "align='left'"); $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Ganancia", "<number_format><#ganancia#>|2|,|.</number_format>", 'align=right'); $grid->column("% Ganancia", "<number_format><#pganancia#>|2|,|.</number_format> %", 'align=right'); $grid->column("Cantidad", "cantidad", "align='right'"); $grid->totalizar('grantotal', 'ganancia'); $grid->build(); //echo $grid->db->last_query(); $grafico = open_flash_chart_object(720, 450, site_url("supermercado/tventas/gproducto/{$anio}/{$depto}/{$fami}/{$grupo}")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = $this->rapyd->get_head(); $data['title'] = "<h1>Ventas por Producto</h1>"; $this->load->view('view_ventanas', $data); }
function index() { $this->rapyd->load('dataform'); $form = new DataForm('nomina/prenom/index/process'); $script = ' $(function() { $("#fechac").datepicker({dateFormat:"dd/mm/yy"}); $("#fechap").datepicker({dateFormat:"dd/mm/yy"}); }); '; $form->script($script, 'modify'); $form->script($script, 'create'); $form->contrato = new dropdownField('Contrato', 'contrato'); $form->contrato->option('', 'Seleccionar'); $form->contrato->options("SELECT codigo, concat(codigo,' ',nombre) nombre FROM noco ORDER BY nombre"); $form->contrato->rule = 'required'; $form->fechac = new dateonlyField('Fecha de corte', 'fechac'); $form->fechac->rule = 'required|chfecha'; $form->fechac->insertValue = date('Y-m-d'); $form->fechac->size = 12; $form->fechac->calendar = false; $form->fechap = new dateonlyField('Fecha de pago', 'fechap'); $form->fechap->rule = 'required|chfecha'; $form->fechap->insertValue = date('Y-m-d'); $form->fechap->size = 12; $form->fechap->calendar = false; $form->build_form(); if ($form->on_success()) { $this->load->dbforge(); $prenom = 'prenom'; $pretab = 'pretab'; $contrato = $form->contrato->newValue; $fechap = $form->fechap->newValue; $fechac = $form->fechac->newValue; $date = DateTime::createFromFormat('Ymd', $fechac); $ultdia = intval(days_in_month(substr($fechac, 4, 2), substr($fechac, 0, 4))); $dia = intval(substr($fechac, 6, 2)); $dbcont = $this->db->escape($contrato); $tipo = $this->datasis->dameval('SELECT tipo FROM noco WHERE codigo=' . $dbcont); if ($tipo == 'Q') { if ($dia != $ultdia || $dia != 15) { if ($dia < 15) { $fechac = substr($fechac, 0, 6) . '15'; } else { $fechac = substr($fechac, 0, 6) . $ultdia; } } } elseif ($tipo == 'M') { if ($dia != $ultdia) { $fechac = substr($fechac, 0, 6) . $ultdia; } } elseif ($tipo == 'S') { //Fecha - 7 $date->sub(new DateInterval('P7D')); $fechac = $date->format('Ymd'); } elseif ($tipo == 'S') { //Fecha -14 $date->sub(new DateInterval('P14D')); $fechac = $date->format('Ymd'); } else { } $this->_creaprenom($contrato, $fechac, $fechap, true); $this->_creapretab(); // Crea Pretabla $this->calcuto(); // Calcula todos echo "Crea los 2 {$contrato}, {$fechac}, {$fechap}"; } else { echo $form->output; } }
function datapar() { $this->rapyd->load('dataform'); $this->genesal = false; $script = ' function totaliza(){ var preca = Number($("#ttpreca_0").val()); var preca2 = Number($("#ttpreca_1").val()); var thora = $("#horaentrada").val(); var iva = Number($("#ttiva").val()); var t = thora.split(":"); var d = new Date(); var total = 0; var hentra = Number(t[0]); var mentra = Number(t[1]); var mmentr = hentra*60+mentra; var hactual = d.getHours(); var mactual = d.getMinutes(); var mmactua = hactual*60+mactual; var diff = mmactua-mmentr; var cana = Math.floor(diff/60); var dminu= diff-cana*60 //var cana = hactual-hentra; var fraci= 0; //var dminu = mactual- mentra; if(dminu >0 && dminu <=30){ fraci = 1; }else if(dminu > 30){ cana = cana+1; } if(cana ==0 && fraci ==1){ cana = 1; fraci= 0; } $("#ttcana_0").val(cana); $("#ttcana_1").val(fraci); total = total+(cana*preca); total = total+(fraci*preca2); $("#total").text(nformat(total*(1+(iva/100)),2)); } function tarifa(){ buscapreca(); totaliza(); } function buscapreca(){ var codigo = $("#ttcodigoa_0").val(); var tarifa = JSON.parse($.ajax({ type: "POST", url: "' . site_url('ajax/buscaprecio1') . '/", data: {q : codigo} ,dataType: "json",async: false }).responseText); $("#ttpreca_0").val(tarifa[0]); $("#ttpreca_1").val(tarifa[1]); $("#ttiva").val(tarifa[2]); } $(function() { $("#horaentrada").mask("99:99"); $("#horaentrada").keyup(function(e) { totaliza(); }); //$("#horaentrada").timepicker({ // timeFormat: "hh:mm", // onClose: function(dateText, inst){ // totaliza(); // }, // onSelect: function(selectedDateTime){ // tarifa(); // } //}); tarifa(); //tab enter $("#placa,#ttcodigoa_0,#ttcana_0,#ttcana_1,#ttpreca_0,#ttpreca_1").keydown( function(e) { var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; if(key == 13) { e.preventDefault(); var inputs = $(this).closest("form").find(":input:visible").not("#ttcodigoa_0,#ttcana_0,#ttcana_1,#ttpreca_0,#ttpreca_1"); inputs.eq(inputs.index(this)+1).focus(); } }); $("#horaentrada,#ttcodigoa_0,#ttcana_0,#ttcana_1,#ttpreca_0,#ttpreca_1").keydown( function(e) { var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; if(key == 13) { $(":button:contains(\'Guardar\')").click(); } }); }); '; $tisize = '1.6'; $form = new DataForm($this->url . 'datapar/insert'); $form->script($script); $form->placa = new inputField('<span style="font-size:' . $tisize . 'em">Placa</span>', 'placa'); $form->placa->rule = 'trim|strtoupper|max_length[20]|callback_chplaca'; $form->placa->size = 10; $form->placa->maxlength = 7; $form->placa->style = 'font-size: 3em;font-weight:bold;'; $form->placa->tabindex = '1'; $form->horaentrada = new inputField('<span style="font-size:' . $tisize . 'em">Hora de entrada</span>', 'horaentrada'); $form->horaentrada->rule = 'required|hora'; $form->horaentrada->tabindex = '2'; $form->horaentrada->size = 10; $form->horaentrada->maxlength = 5; $form->horaentrada->style = 'font-size: 3em;font-weight:bold;'; $form->horaentrada->insertValue = date('H:i', mktime(date('H') - 1, date('i'))); $form->cana = new inputField('Cantidad', 'ttcana_0'); $form->cana->rule = 'required|numeric'; $form->cana->size = 4; $form->cana->css_class = 'inputnum'; $form->cana->onkeyup = 'tarifa()'; $form->cana->maxlength = 5; $form->cana2 = new inputField('fraccion', 'ttcana_1'); $form->cana2->rule = 'required|numeric'; $form->cana2->size = 3; $form->cana2->css_class = 'inputnum'; $form->cana2->in = 'cana'; $form->cana2->onkeyup = 'tarifa()'; $form->cana2->maxlength = 5; $form->cana2->tabindex = '3'; $form->codigo = new dropdownField('<span style="font-size:' . $tisize . 'em">Tipo vehículo</span>', 'ttcodigoa_0'); //$form->codigo->option('','Seleccionar'); $form->codigo->options('SELECT codigo,CONCAT_WS("-",descrip,precio1) AS val FROM sinv WHERE clave LIKE "TARIFA%" AND tipo="Servicio"'); $form->codigo->style = 'width:140px;'; $form->codigo->onchange = 'tarifa()'; $form->codigo->rule = 'required'; $form->preca = new inputField('Tarifa', 'ttpreca_0'); $form->preca->rule = 'required|mayorcero'; $form->preca->size = 5; $form->preca->maxlength = 7; $form->preca2 = new inputField('fraccion', 'ttpreca_1'); $form->preca2->rule = 'required|mayorcero'; $form->preca2->size = 5; $form->preca2->maxlength = 5; $form->preca2->in = 'preca'; $form->iva = new hiddenField('', 'ttiva'); $form->iva->rule = 'required|mayorcero'; $form->iva->in = 'preca'; $form->total = new freeField('<span style="font-size:' . $tisize . 'em">Monto a pagar</span>', 'total', '<span style="font-size:3em;" id="total">0,00</span>'); $form->build_form(); if ($form->on_success()) { $monto = 0; $placa = trim($form->placa->newValue); $cana = $form->cana->newValue; $cana2 = $form->cana2->newValue; $preca = $form->preca->newValue; $preca2 = $form->preca2->newValue; $codigo = $form->codigo->newValue; $sinvr = $this->datasis->damereg("SELECT descrip,iva,tipo FROM sinv WHERE codigo = " . $this->db->escape($codigo)); //Encabezado $_POST['pfac'] = ''; $_POST['fecha'] = date('d/m/Y'); $_POST['cajero'] = $this->secu->getcajero(); $_POST['vd'] = $this->secu->getvendedor(); $_POST['almacen'] = $this->secu->getalmacen(); $_POST['tipo_doc'] = 'F'; $_POST['factura'] = ''; $_POST['cod_cli'] = 'CONTA'; $_POST['sclitipo'] = '1'; $_POST['nombre'] = 'CLIENTE CONTADO'; $_POST['rifci'] = 'V000000'; $_POST['direc'] = ''; unset($_POST['iva']); //Items $id = 0; if ($cana > 0) { $tota = $cana * $preca; $ind = 'codigoa_' . $id; $_POST[$ind] = $codigo; $ind = 'desca_' . $id; $_POST[$ind] = $sinvr['descrip']; $ind = 'cana_' . $id; $_POST[$ind] = $cana; $ind = 'preca_' . $id; $_POST[$ind] = $preca; $ind = 'tota_' . $id; $_POST[$ind] = $tota; $ind = 'precio1_' . $id; $_POST[$ind] = 0; $ind = 'precio2_' . $id; $_POST[$ind] = 0; $ind = 'precio3_' . $id; $_POST[$ind] = 0; $ind = 'precio4_' . $id; $_POST[$ind] = 0; $ind = 'itiva_' . $id; $_POST[$ind] = round($sinvr['iva'], 2); $ind = 'sinvpeso_' . $id; $_POST[$ind] = 0; $ind = 'sinvtipo_' . $id; $_POST[$ind] = $sinvr['tipo']; $monto += $tota; } else { $ind = 'codigoa_' . $id; unset($_POST[$ind]); $ind = 'desca_' . $id; unset($_POST[$ind]); $ind = 'cana_' . $id; unset($_POST[$ind]); $ind = 'preca_' . $id; unset($_POST[$ind]); $ind = 'tota_' . $id; unset($_POST[$ind]); $ind = 'precio1_' . $id; unset($_POST[$ind]); $ind = 'precio2_' . $id; unset($_POST[$ind]); $ind = 'precio3_' . $id; unset($_POST[$ind]); $ind = 'precio4_' . $id; unset($_POST[$ind]); $ind = 'itiva_' . $id; unset($_POST[$ind]); $ind = 'sinvpeso_' . $id; unset($_POST[$ind]); $ind = 'sinvtipo_' . $id; unset($_POST[$ind]); } $id++; if ($cana2 > 0) { $tota = $cana2 * $preca2; $ind = 'codigoa_' . $id; $_POST[$ind] = $codigo; $ind = 'desca_' . $id; $_POST[$ind] = $sinvr['descrip']; $ind = 'cana_' . $id; $_POST[$ind] = $cana2; $ind = 'preca_' . $id; $_POST[$ind] = $preca2; $ind = 'tota_' . $id; $_POST[$ind] = $tota; $ind = 'precio1_' . $id; $_POST[$ind] = 0; $ind = 'precio2_' . $id; $_POST[$ind] = 0; $ind = 'precio3_' . $id; $_POST[$ind] = 0; $ind = 'precio4_' . $id; $_POST[$ind] = 0; $ind = 'itiva_' . $id; $_POST[$ind] = round($sinvr['iva'], 2); $ind = 'sinvpeso_' . $id; $_POST[$ind] = 0; $ind = 'sinvtipo_' . $id; $_POST[$ind] = $sinvr['tipo']; $monto += $tota; } else { $ind = 'codigoa_' . $id; unset($_POST[$ind]); $ind = 'desca_' . $id; unset($_POST[$ind]); $ind = 'cana_' . $id; unset($_POST[$ind]); $ind = 'preca_' . $id; unset($_POST[$ind]); $ind = 'tota_' . $id; unset($_POST[$ind]); $ind = 'precio1_' . $id; unset($_POST[$ind]); $ind = 'precio2_' . $id; unset($_POST[$ind]); $ind = 'precio3_' . $id; unset($_POST[$ind]); $ind = 'precio4_' . $id; unset($_POST[$ind]); $ind = 'itiva_' . $id; unset($_POST[$ind]); $ind = 'sinvpeso_' . $id; unset($_POST[$ind]); $ind = 'sinvtipo_' . $id; unset($_POST[$ind]); } if (!empty($placa)) { if (isset($_POST['codigoa_1'])) { $ind = 'detalle_1'; $_POST[$ind] = 'ESTACIONAMIENTO PLACA ' . $placa; } else { $ind = 'detalle_0'; $_POST[$ind] = 'ESTACIONAMIENTO PLACA ' . $placa; } } //Forma de pago $_POST['tipo_0'] = 'EF'; $_POST['sfpafecha_0'] = ''; $_POST['num_ref_0'] = ''; $_POST['banco_0'] = ''; $_POST['monto_0'] = $monto * (1 + $sinvr['iva'] / 100); if ($monto <= 0) { $rt = array('status' => 'B', 'mensaje' => 'Monto cero', 'pk' => null); echo json_encode($rt); } ob_start(); parent::dataedit(); $rt = ob_get_contents(); @ob_end_clean(); echo $rt; } else { echo $form->output; } if ($form->on_error()) { } }
function selsprv() { $this->rapyd->load('dataform'); $apanpuede = $this->datasis->sidapuede('APAN', 'INCLUIR%'); $script = "\n\t\t\$('#df1').keypress(function(e){\n\t\t\tif(e.which == 13) return false;\n\t\t});\n\n\t\t\$('#cod_prv').autocomplete({\n\t\t\tsource: function( req, add){\n\t\t\t\t\$.ajax({\n\t\t\t\t\turl: '" . site_url('ajax/buscasprv') . "',\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tdata: {'q':req.term},\n\t\t\t\t\tsuccess:\n\t\t\t\t\t\tfunction(data){\n\t\t\t\t\t\t\tvar sugiere = [];\n\t\t\t\t\t\t\tif(data.length==0){\n\t\t\t\t\t\t\t\t\$('#id_sprv').val('');\n\n\t\t\t\t\t\t\t\t\$('#nombre').val('');\n\t\t\t\t\t\t\t\t\$('#nombre_val').text('');\n\n\t\t\t\t\t\t\t\t\$('#rifci').val('');\n\t\t\t\t\t\t\t\t\$('#rifci_val').text('');\n\n\t\t\t\t\t\t\t\t\$('#direc').val('');\n\t\t\t\t\t\t\t\t\$('#direc_val').text('');\n\n\t\t\t\t\t\t\t\t\$('#saldo_val').text('');\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tif(data[0].proveed==\$('#cod_prv').val()){\n\t\t\t\t\t\t\t\t\t\$('#cod_prv').data('ui-autocomplete')._trigger('select', 'autocompleteselect', {item : data[0]});\n\t\t\t\t\t\t\t\t\t\$('#cod_prv').autocomplete('close');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\$.each(data,\n\t\t\t\t\t\t\t\t\tfunction(i, val){\n\t\t\t\t\t\t\t\t\t\tsugiere.push( val );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tadd(sugiere);\n\t\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t\tminLength: 2,\n\t\t\tselect: function( event, ui ) {\n\t\t\t\t\$('#cod_prv').attr('readonly', 'readonly');\n\n\t\t\t\t\$('#id_sprv').val(ui.item.id);\n\n\t\t\t\t\$('#nombre').val(ui.item.nombre);\n\t\t\t\t\$('#nombre_val').text(ui.item.nombre);\n\n\t\t\t\t\$('#rifci').val(ui.item.rif);\n\t\t\t\t\$('#rifci_val').text(ui.item.rif);\n\n\t\t\t\t\$('#cod_prv').val(ui.item.proveed);\n\n\t\t\t\t\$('#direc').val(ui.item.direc);\n\t\t\t\t\$('#direc_val').text(ui.item.direc);\n\t\t\t\tsetTimeout(function() { \$('#cod_prv').removeAttr('readonly'); }, 1500);\n\n\t\t\t\tvar saldo= jQuery.parseJSON(\$.ajax({ type: 'POST',dataType: 'json', url: '" . site_url($this->url . 'ajaxsaldo') . "/'+ui.item.id, async: false, data: {cod_prv: ui.item.proveed}}).responseText);\n\n\t\t\t\t\$('#saldo_val').text(nformat(saldo.debe,2));\n\n\t\t\t\t\$('#haber_val').text(nformat(saldo.haber,2));"; if ($apanpuede) { $script .= "if(saldo.haber > 0){ \$('#info').html('El proveedor presenta AN/NC pendiente por <a href=\\'#\\' onclick=\\'aplcli()\\'>aplicar</a>'); }"; } else { $script .= "if(saldo.haber > 0){ \$('#info').html('El proveedor presenta AN/NC pendiente por aplicar'); }"; } $script .= "} });"; $form = new DataForm($this->url . 'sclise/process'); $form->proveed = new inputField('Proveedor', 'cod_prv'); $form->id = new hiddenField('', 'id_sprv'); $form->id->in = 'proveed'; $form->nombre = new freeField('Nombre', 'nombre', '<b id=\'nombre_val\'></b>'); $form->rif = new freeField('RIF', 'rif', '<b id=\'rifci_val\'></b>'); $form->direc = new freeField('Dirección', 'direc', '<b id=\'direc_val\'></b>'); $form->haber = new freeField('Monto aplicable', 'aplsando', '<b style="font-size:1em;color:#04B404;" id=\'haber_val\'></b>'); $form->saldo = new freeField('Saldo', 'saldo', '<b style="font-size:2em" id=\'saldo_val\'></b>'); $form->container = new containerField('info', '<div style="text-align:center" id="info"></div>'); if ($apanpuede) { $script .= ' function aplcli(){ $.post("' . site_url('finanzas/apan/deproveed/create') . '", function(data){ $("#fedita").dialog( {height: 500, width: 750, title: "Aplicacion de Anticipo a Proveedor"} ); $("#fedita").html(data); $("#fedita").dialog( "open" ); var cod_prv = $("#cod_prv").val(); $("#clipro").val(cod_prv); $("#clipro").val(cod_prv); $("#clipro").focus(); $("#clipro").autocomplete("search", cod_prv); $("#fsprvsel").dialog( "close" ); }); };'; } $form->script($script); $form->build_form(); echo $form->output; }
function producto($anio = '', $departamento = '', $linea = '', $grupo = '') { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); rapydlib("prototype"); $ajax_onchange = ' function get_linea(){ var url = "' . site_url('reportes/sinvlineas') . '"; var pars = "dpto="+$F("depto"); var myAjax = new Ajax.Updater("td_linea", url, { method: "post", parameters: pars }); get_grupo(); } function get_grupo(){ var url = "' . site_url('reportes/sinvgrupos') . '"; var pars = "dpto="+$F("depto")+"&linea="+$F("linea"); var myAjax = new Ajax.Updater("td_grupo", url, { method: "post", parameters: pars }); } '; if (isset($_POST['anio']) and empty($anio)) { $anio = $_POST['anio']; } if (isset($_POST['depto']) and empty($departamento)) { $departamento = $_POST['depto']; } if (isset($_POST['linea']) and empty($linea)) { $linea = $_POST['linea']; } if (isset($_POST['grupo']) and empty($grupo)) { $grupo = $_POST['grupo']; } if (empty($anio) or empty($departamento)) { redirect("ventas/ganancias/departamento"); } if (empty($linea)) { redirect("ventas/ganancias/linea/{$anio}/{$departamento}"); } if (empty($grupo)) { redirect("ventas/ganancias/grupo/{$anio}/{$departamento}/{$linea}"); } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $filter = new DataForm('ventas/ganancias/producto'); $filter->script($ajax_onchange); $filter->title('Filtro de Ganancias'); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->rule = "max_length[4]"; $filter->anio->maxlength = 4; $filter->departamento = new dropdownField("Departamento", "depto"); $filter->departamento->insertValue = $departamento; $filter->departamento->options("SELECT depto, descrip FROM dpto WHERE tipo='I' ORDER BY depto"); $filter->departamento->onchange = "get_linea();"; $filter->linea = new dropdownField("Linea", "linea"); $filter->linea->insertValue = $linea; $filter->linea->options("SELECT linea, descrip FROM line WHERE depto='{$departamento}'"); $filter->linea->onchange = "get_grupo();"; $filter->grupo = new dropdownField("Grupo", "grupo"); $filter->grupo->insertValue = $grupo; $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE depto='{$departamento}' AND linea='{$linea}'"); $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/ganancias/producto/'), array('anio', 'depto', 'linea', 'grupo')), $position = "BL"); $filter->build_form(); $grid = new DataGrid2(); $select = array("a.fecha", "b.codigo", "b.descrip AS nombre", "e.depto", "e.descrip", "d.linea", "d.descrip", "b.grupo", "b.descrip", "c.nom_grup as ngrupo", "SUM(a.promedio*a.cantidad) AS costo", "SUM(a.venta) AS ventas", "SUM(a.venta)/COUNT(*)AS porcentaje", "SUM(a.venta)-SUM(a.promedio*a.cantidad) AS ganancias", "COUNT(*) AS numfac"); $grid->db->select($select); $grid->db->from($this->from); foreach ($this->join as $valor) { $grid->db->join($valor[0], $valor[1], $valor[2]); } $grid->db->where("a.origen IN ('3I','3M')"); $grid->db->where('fecha >= ', $fechai); $grid->db->where('fecha <= ', $fechaf); $grid->db->where('e.depto', $departamento); $grid->db->where('b.grupo', $grupo); $grid->db->groupby("a.codigo"); $grid->db->orderby("ganancias DESC"); $grid->column("Producto", "nombre", "align='left'"); $grid->column("Costo", "<number_format><#costo#>|2|,|.</number_format>", 'align=right'); $grid->column("Ventas", "<number_format><#ventas#>|2|,|.</number_format>", 'align=right'); $grid->column("Ganancias", "<number_format><#ganancias#>|2|,|.</number_format>", 'align=right'); $grid->column("% Ventas", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant. Fact", "numfac", 'align=right'); $grid->totalizar('costo', 'ganancias', 'ventas'); $grid->build(); $grafico = open_flash_chart_object(680, 500, site_url("ventas/ganancias/gproducto/{$anio}/{$departamento}/{$linea}/{$grupo}")); $data['content'] = $grafico; $data['content'] .= $filter->output . $grid->output; $data["head"] = $this->rapyd->get_head(); $data['title'] = $this->rapyd->get_head() . "<h1>Ganancias por Producto</h1>"; $this->load->view('view_ventanas', $data); }
function index() { $this->rapyd->load("datagrid", "dataform"); $this->load->helper('openflash'); $anio = $this->uri->segment(4); if (empty($anio)) { $anio = date("Y"); } $script = ' $(function() { $(".inputnum").numeric("."); }); $("#df1").submit(function() { valor=$("#anio").attr("value"); location.href="' . site_url('ventas/analisis/index') . '/"+valor; return false; }); '; function blanco($num) { if (empty($num) || $num == 0) { return ''; } else { return number_format($num, 2, ',', '.'); } } // Katy Oviedo //$data['lista'] = open_flash_chart_object(800,300, site_url("ventas/mensuales/grafico/$mes/$anio")); $filter = new DataForm(); $filter->title('Filtro de Análisis ventas'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; //$filter->anio = new dropdownField("Año", "anio"); //$filter->anio->option("hola","df"); //$filter->anio->options('SELECT YEAR(fecha),YEAR(fecha) AS fecha2 FROM eventas GROUP BY fecha2'); //$filter->anio->style='width:80px;'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('/ventas/analisis/index'), array('anio')), $position = "BL"); $filter->build_form(); $link = "ventas/analisis/departamento/<#depto#>/{$anio}"; $select = array('IFNULL(e.descrip, e.depto) dpto', 'e.depto'); //, a.linea, a.grupo, a.codigo $grid = new DataGrid('Ventas por Departamentos'); $grid->use_function('blanco'); $grid->use_function('number_format'); $grid->column("Departamento", anchor($link, '<#dpto#>'), 'nowrap=yes'); for ($i = 1; $i <= 12; $i++) { $nmes = $this->calendar->get_month_name(str_pad($i, 2, "0", STR_PAD_LEFT)); $grid->column($nmes, "<blanco><#m{$i}#>|2|,|.</blanco>", 'align=right'); $select[] = "sum(a.tota*(month(a.fecha)={$i})) AS m{$i}"; } $grid->db->select($select); $grid->db->from('sfac AS f'); $grid->db->join('sitems AS a', 'f.numero=a.numa AND f.tipo_doc=a.tipoa AND f.fecha=a.fecha', 'LEFT'); $grid->db->join('sinv AS b', 'a.codigoa=b.codigo', 'LEFT'); $grid->db->join('grup AS c', 'b.grupo=c.grupo', 'LEFT'); $grid->db->join('line AS d', 'c.linea=d.linea', 'LEFT'); $grid->db->join('dpto AS e', 'd.depto=e.depto', 'LEFT'); $grid->db->where('YEAR(f.fecha)', $anio); $grid->db->where("f.tipo_doc <>", 'X'); $grid->db->groupby('EXTRACT(YEAR_MONTH FROM f.fecha)'); $grid->build(); echo $grid->db->last_query(); $data['content'] = $filter->output . '<div style="overflow: auto; width: 100%;">' . $grid->output . '</div>'; $data['title'] = "<h1>Análisis de ventas</h1>"; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function movimientos() { $this->rapyd->load("dataform", "datagrid2"); if (isset($_POST['fechad']) && $_POST['fechad'] != '') { $fechad = $_POST['fechad']; } else { $fechad = date("Y/m/d"); $date = new DateTime(); $date->setDate(substr($fechad, 0, 4), substr($fechad, 5, 2), substr($fechad, 8, 2)); $date->modify("-6 month"); $fechad = $date->format("Y/n/j"); } if (isset($_POST['fechah']) && $_POST['fechah'] != '') { $fechah = $_POST['fechah']; } else { $fechah = date("Y/m/d"); } if (isset($_POST['cod'])) { $cod = $_POST['cod']; } elseif ($cod = $this->uri->segment(4)) { } else { redirect("finanzas/analisisbanc"); } if (isset($_POST['campo'])) { $campo = $_POST['campo']; } else { $campo = ''; } if (isset($_POST['oper'])) { $oper = $_POST['oper']; if ($oper != '') { $valor = $oper; } } if (isset($_POST['valor'])) { $valor = $_POST['valor']; if ($valor == '') { if (isset($_POST['oper'])) { $oper = $_POST['oper']; if ($oper != '') { $valor = $oper; } else { $campo = ''; } } } } else { $campo = ''; } if (isset($_POST['oper'])) { $oper = $_POST['oper']; if ($oper != '') { $valor = $oper; } } if (isset($_POST['orden'])) { $orden = $_POST['orden']; if ($orden == '') { $orden = 'fecha'; } } else { $orden = 'fecha'; } if (isset($_POST['desc'])) { $desc = $_POST['desc']; if ($desc == '') { $desc = 'asc'; } if ($desc == '0') { $desc = 'asc'; } if ($desc == '1') { $desc = 'desc'; } } else { $desc = 'asc'; } $cod = $this->uri->segment(4); $ano = $this->uri->segment(5); $mes = $this->uri->segment(6); if ($cod == 'process') { if (isset($_POST['cod'])) { $cod = $_POST['cod']; } else { $cod = '|!'; $ano = ''; $mes = ''; } } else { if (!empty($ano) && !empty($mes)) { for ($dia = 28; $dia <= 31; $dia++) { if (checkdate($mes, $dia, $ano)) { $mes = str_pad($mes, 2, '0', STR_PAD_LEFT); $fechah = "{$ano}/{$mes}/{$dia}"; } } $fechad = "{$ano}/{$mes}/01"; } } //echo $cod.'/'.$ano.'/'.$mes; //echo $fechad."---".$fechah; $script = ' function filtro(){ $("#tr_valor").hide(); $("#tr_oper").hide(); campo=$("#campo").val(); valor.value=""; if(campo.length>0){ if(campo=="tipo_op"){ $("#tr_oper").show(); }else{ $("#tr_valor").show(); } } } $(document).ready(function(){ $("#tr_cod").hide(); $(".inputnum").numeric("."); $("#campo").change(function () { filtro(); }).change(); }); '; $filter = new DataForm("finanzas/analisisbanc/movimientos/process"); $filter->title('Filtro de Caja y Bancos'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->fechad = new dateonlyField("Desde", "fechad", 'm/Y'); $filter->fechah = new dateonlyField("Hasta", "fechah", 'm/Y'); $filter->fechad->clause = $filter->fechah->clause = "where"; $filter->fechad->db_name = $filter->fechah->db_name = "fecha"; $filter->fechad->insertValue = $fechad; $filter->fechah->insertValue = $fechah; $filter->fechah->size = $filter->fechad->size = 10; $filter->fechad->operator = ">="; $filter->fechah->operator = "<="; $filter->cod = new inputField("", "cod"); $filter->cod->insertValue = $cod; $filter->cod->readonly = TRUE; $filter->cod->type = 'hidden'; $filter->campo = new dropdownField("Filtrar por:", "campo"); $filter->campo->option("", ""); $filter->campo->option("numero", "Numero"); $filter->campo->option("tipo_op", "Tipo Operación"); $filter->campo->option("benefi", "Beneficiario"); $filter->campo->style = 'width:150px;'; $filter->oper = new dropdownField("Tipo:", "oper"); $filter->oper->option("", ""); $filter->oper->option('CH', "Cheque"); $filter->oper->option('DE', "Deposito"); $filter->oper->option('NC', "Nota de Crédito"); $filter->oper->option('ND', "Nota de Débito"); $filter->oper->style = 'width:150px;'; $filter->valor = new inputField("", "valor"); $filter->valor->size = 20; $filter->valor->rule = "trim"; $filter->orden = new dropdownField("Ordenar por:", "orden"); $filter->orden->option("fecha", "Fecha"); $filter->orden->option("numero", "Numero"); $filter->orden->option("tipo_op", "Tipo Operación"); $filter->orden->option("benefi", "Beneficiario"); $filter->orden->style = 'width:150px;'; $filter->desc = new radiogroupField("desc", "desc", array("0" => "Ascendente", "1" => "Descendente"), '0'); $filter->desc->in = 'orden'; $filter->submit("btnsubmit", "Buscar"); $filter->build_form(); if ($cod != '|!') { $fila = $this->datasis->damerow("SELECT moneda,banco,numcuent FROM banc WHERE codbanc='{$cod}'"); } else { $fila['moneda'] = ''; $fila['numcuent'] = ''; $fila['banco'] = ''; } //print_r($fila); function blanco($num, $m = '') { if (empty($num) || $num == 0) { return ''; } else { return number_format($num, 2, ',', '.') . $m; } } $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); $link = "finanzas/bmovshow/dataedit/show/<#codbanc#>/<#tipo_op#>/<#numero#>"; ////////////////////////consulta grid////////////////////////////// $this->db->select("codbanc,fecha, numero, tipo_op, monto*(tipo_op IN ('DE','NC')) as ingresos,monto*(tipo_op NOT IN ('DE','NC')) as egresos,CONCAT(concepto,' ',concep2,' ',concep3) as concep, \n benefi,monto*(tipo_op IN ('DE','NC'))-monto*(tipo_op NOT IN ('DE','NC')) as saldo,CASE (tipo_op)\n\t\t\tWHEN 'CH' THEN 'Cheque'\n\t\t\tWHEN 'DE' THEN 'Deposito'\n\t\t\tWHEN 'NC' THEN 'Nota de Crédito'\n\t\t\tWHEN 'ND' THEN 'Nota de Débito'\n\t\t \tEND\n\t\t AS tipo"); $this->db->from('bmov as a'); if ($campo && $valor) { $consult = "AND {$campo} LIKE '%{$valor}%'"; } else { $consult = ''; } if ($cod != '|!') { $b = "codbanc='{$cod}' AND "; } else { $b = ''; } if (strpos(substr($fechad, 6, 4), '/') == NULL) { $fechad2 = substr($fechad, 3, 4) . substr($fechad, 0, 2); //.substr($fechad, 0,2); $fechah2 = substr($fechah, 3, 4) . substr($fechah, 0, 2); //.substr($fechah, 0,2)); } else { $fechad2 = substr($fechad, 0, 4) . substr($fechad, 5, 2); $fechah2 = substr($fechah, 0, 4) . substr($fechah, 5, 2); } $this->db->where("{$b} EXTRACT(YEAR_MONTH FROM fecha) BETWEEN '{$fechad2}' AND '{$fechah2}'{$consult}"); //a.fecha like '%-$mm-%' $this->db->orderby($orden . ' ' . $desc); $query = $this->db->get(); //memowrite($this->db->last_query()); ////////////////////////consulta grid////////////////////////////// ///////////////////////SALDO ANTERIOR////////////////////////////// $ddata = array(); $banmes = ''; $anterior = 0; foreach ($query->result_array() as $row) { if ($banmes != substr($row['fecha'], 5, 2)) { $ban = $banmes = substr($row['fecha'], 5, 2); $ano2 = substr($row['fecha'], 0, 4); if (1 * $banmes == 1) { $ban = 13; $ano2 = 1 * $ano2 - 1; } $campo = 'saldo' . str_pad(1 * $ban - 1, 2, '0', STR_PAD_LEFT); $sal = $this->datasis->dameval("SELECT {$campo} FROM bsal WHERE codbanc='{$cod}' AND ano='{$ano2}'"); if ($sal == NULL) { $sal = 0; $row['salAnterior'] = number_format($sal, 2, ',', '.'); } else { $anterior = $sal; $row['salAnterior'] = number_format($anterior, 2, ',', '.'); $anterior = $anterior + $row['saldo']; } } else { $row['salAnterior'] = number_format($anterior, 2, ',', '.'); $anterior = $anterior + $row['saldo']; //$campo=''; } //$campo;// $ddata[] = $row; } ///////////////////////SALDO ANTERIOR////////////////////////////// //print_r($ddata); if ($cod != '|!') { $o = "Movimientos del Banco " . $fila['banco'] . " cuenta #" . $fila['numcuent'] . " desde {$fechad} hasta {$fechah}"; } else { $o = "Todos los Bancos"; } $grid = new DataGrid2($o, $ddata); $grid->use_function('blanco'); if ($cod == '|!') { $grid->column("Banco", "<#codbanc#>", 'align=left'); } $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>"); $grid->column("Numero", anchor_popup($link, '<#numero#>', $atts), 'nowrap=yes'); $grid->column("Tipo Operación", "<#tipo#>", 'align=left'); $grid->column("Ingresos", "<number_format><#ingresos#>|2|,|.</number_format>", "align=right"); $grid->column("Egresos", "<number_format><#egresos#>|2|,|.</number_format>", "align=right"); $grid->column("Saldo", "<number_format><#saldo#>|2|,|.</number_format>", "align=right"); $grid->column("Saldo Anterior", "<#salAnterior#>", "align=right"); $grid->column("Beneficiario", "<#benefi#>", 'align=left'); $grid->column("Concepto", "<#concep#>", 'align=left'); $grid->totalizar('ingresos', 'egresos', 'saldo'); $grid->build(); //memowrite( $grid->db->last_query()); if (!isset($ano2)) { $ano2 = $ano; } $salida = anchor("finanzas/analisisbanc/meses/{$cod}/{$ano2}", "Atras"); $data['content'] = $salida . $grid->output; $data['title'] = "<h1>Relación de Caja y Bancos</h1>"; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function precios() { $this->rapyd->load('dataedit', 'dataform'); $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Cóodigo', 'descrip' => 'Descripción'), 'filtro' => array('codigo' => 'Código', 'barras' => 'Barras', 'alterno' => 'Alterno', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Producto'); $bSINV = $this->datasis->modbus($mSINV); $pr = '$(document).ready(function(){ $(".button").click(function(){ if($("#codigo").val() == "" ){ alert("Debe ingresar un codigo de producto"); return false; } }); $(".inputnum").numeric("."); $("#codigo").val(""); });'; $form = new DataForm('inventario/precios_sinv/precios/modifica'); $form->script($pr); $form->codigo = new inputField2('Consultar Productos', 'codigo'); $form->codigo->size = 15; $form->codigo->maxlength = 15; $form->codigo->append($bSINV); $form->codigo->rule = 'trim|required'; $form->submit('btnsubmit', 'Cambiar'); $form->build_form(); $band = 0; $msj = ""; if ($form->on_success()) { $codigo = $form->codigo->newValue; $mSQL_p = 'SELECT id FROM sinv'; $bbus = array('codigo', 'barras', 'alterno'); $suple = null; $query = Common::_gconsul($mSQL_p, $codigo, $bbus, $suple); if ($query !== false) { $row = $query->row(); redirect('inventario/precios_sinv/dataedit/modify/' . $row->id); } else { $msj .= 'No se encontro el producto'; } /*$resul1=$this->db->query("SELECT count(*) AS cant,id FROM sinv WHERE codigo='$codigo' "); $row1=$resul1->row(); if($row1->cant > 0){ $band=1; redirect("inventario/precios_sinv/dataedit/modify/$row1->id"); } if($band == 0){ $resul1=$this->db->query("SELECT count(*) AS cant,id FROM sinv WHERE barras='$codigo' "); $row1=$resul1->row(); if($row1->cant > 0){ $band=1; redirect("inventario/precios_sinv/dataedit/modify/$row1->id"); } } if($band == 0){ $resul1=$this->db->query("SELECT count(*) AS cant,id FROM sinv where alterno='$codigo' "); $row1=$resul1->row(); if($row1->cant > 0){ $band=1; redirect("inventario/precios_sinv/dataedit/modify/$row1->id"); } } if($band==0){ $resul1=$this->db->query("SELECT count(*) AS cant,codigo FROM barraspos WHERE suplemen='$codigo' "); $row1=$resul1->row(); if($row1->cant > 0){ $resul2=$this->db->query("SELECT count(*) AS cant,id FROM sinv WHERE codigo='$row1->codigo' "); $row2=$resul2->row(); if($row2->cant > 0){ redirect("inventario/precios_sinv/dataedit/modify/$row2->id"); } } } if ($band==0){ $msj.= "No se encontro el producto"; }*/ } $data['content'] = $form->output . $msj; $data['head'] = script('jquery.js') . script('jquery-ui.js') . script("plugins/jquery.numeric.pack.js") . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head(); $data['title'] = '<h1>Cambiar Precios</h1>'; $this->load->view('view_ventanas', $data); }
function index($var1 = '', $var2 = '', $var3 = '', $var4 = '') { $this->rapyd->load("dataform", "datatable"); $this->db->simple_query("ALTER TABLE `retenomi` ADD COLUMN `nombre` VARCHAR(100) NULL AFTER `status`"); $this->db->simple_query("ALTER TABLE `asignomi` ADD COLUMN `denominacion` TINYTEXT NULL AFTER `status`"); $form1 = new DataForm('nomina/prenom/index/process/aa'); $form1->contrato = new dropdownField("Contrato", "contrato"); $mSQL = $this->db->query("SHOW TABLES LIKE 'PRENOM%'"); foreach ($mSQL->result_array() as $row) { foreach ($row as $key => $value) { $c = $this->db->escape(substr($value, 6)); $nombre = $this->datasis->dameval("SELECT nombre FROM noco WHERE codigo={$c}"); $form1->contrato->option($value, $nombre); } } $form1->submit("btnsubmit", "Recuperar"); $form1->build_form(); if ($form1->on_success() && $var2 == 'aa') { $this->load->dbforge(); $tabla = 'prenom'; $tablap = 'pretab'; $this->db->query("TRUNCATE {$tabla}"); $this->db->query("TRUNCATE {$tablap}"); $contrato = $form1->contrato->newValue; $mSQL = "INSERT IGNORE INTO {$tabla} SELECT * FROM {$contrato} "; $this->db->query($mSQL); $mSQL = "DROP TABLE `{$contrato}`"; $this->db->query($mSQL); redirect('nomina/prenom/montos'); } $script = ' $(function() { $("#pagar").click(function(){ if(confirm("Esta Seguro de Crear Orden de Pago de Prenomina actual")) return true; else return false; }); $("#guarda").click(function(){ if(confirm("Esta Seguro que desea Guardar la Prenomina actual. Esto eliminara la prenomina guardada anteriormente")){ $.post("' . site_url('nomina/prenom/respalda') . '",{ partida:"a" },function(data){ if(data="_Si"){ alert("Se respaldo correctamente la Prenomina.") nueva=window.open("' . site_url('nomina/prenom') . '","_self"); }else{ alert("No se Pudo respaldar la Prenomina") } }) return false; }else{ return false; } }); $("#recibo").click(function(){ cant = $("#cant").val(); var caracteristicas = "height=240,width=420,scrollTo,resizable=1,scrollbars=1,location=0"; nueva=window.open("' . site_url('forma/ver/RECIBO/') . '/"+cant, "Popup", caracteristicas); return false; }); $("#contrato").change(function (){ c=$("#contrato").val(); $.post("' . site_url('nomina/noco/tipo') . '",{ con: c}, function(data){ $("#contrato2").html(data); }); }); }); '; $form = new DataForm('nomina/prenom/index/process'); $form->script($script); $form->contrato = new dropdownField("Contrato", "contrato"); $form->contrato->option("", "Seleccionar"); $form->contrato->options("SELECT codigo,CONCAT_ws(' ',codigo,nombre) nom FROM noco ORDER BY nombre"); $form->contrato->rule = 'required'; $form->contrato2 = new dropdownField("Aplicar a", "contrato2"); //$form->contrato2->options("SELECT codigo,CONCAT_ws(' ',codigo,nombre) nom FROM noco WHERE tipo<>'O' ORDER BY nombre"); $form->fechac = new dateonlyField("Fecha de corte", "fechac"); $form->fechac->rule = 'required|chfecha'; $form->fechac->insertValue = date("Y-m-d"); $form->fechac->size = 12; $form->fechap = new dateonlyField("Fecha de pago", "fechap"); $form->fechap->rule = 'required|chfecha'; $form->fechap->insertValue = date("Y-m-d"); $form->fechap->size = 12; $form->submit("btnsubmit", "Generar"); $form->build_form(); if ($form->on_success()) { $this->load->dbforge(); $contrato = $form->contrato->newValue; $contratoe = $this->db->escape($form->contrato->newValue); $trabajae = NULL; $contrato2 = $form->contrato2->newValue; $contrato2e = $this->db->escape($form->contrato2->newValue); $fechac = $form->fechac->newValue; $fechap = $form->fechap->newValue; $tabla = 'prenom'; $tablap = 'pretab'; $this->db->query("TRUNCATE {$tabla}"); $this->db->query("TRUNCATE {$tablap}"); if (!empty($contrato2)) { $scontratoe = $contratoe; $trabajae = $contrato2e; $wcontratoe = $contrato2e; $mSQL = "INSERT IGNORE INTO {$tabla} (contrato, codigo,nombre, concepto, grupo, tipo, descrip, formula, monto, fecha, fechap,cuota,cuotat,pprome,trabaja,modo,orden,vari1,vari2,vari3,vari4,vari5,vari6,vari7,vari8) "; $mSQL .= "SELECT {$scontratoe}, b.codigo, CONCAT(RTRIM(b.apellido),' ',b.nombre) nombre, "; $mSQL .= "a.concepto, a.grupo, a.tipo, a.descrip, a.formula, 0, {$fechac}, {$fechap} , 0, 0, 0, {$trabajae},modo,e.orden,b.vari1,b.vari2,b.vari3,b.vari4,b.vari5,b.vari6,b.vari7,b.vari8 "; $mSQL .= "FROM conc a "; $mSQL .= "JOIN itnoco c ON a.concepto=c.concepto "; $mSQL .= "JOIN noco d ON c.codigo=d.codigo "; $mSQL .= "JOIN itnoco e ON d.codigo=e.codigo "; $mSQL .= "JOIN pers b ON {$scontratoe}=c.codigo "; $mSQL .= "WHERE b.contrato={$wcontratoe} AND b.status='A' "; } else { $scontratoe = $contratoe; $trabajae = $this->db->escape(''); $wcontratoe = $contratoe; $mSQL = "INSERT IGNORE INTO {$tabla} (contrato, codigo,nombre, concepto, grupo, tipo, descrip, formula, monto, fecha, fechap,cuota,cuotat,pprome,trabaja,modo,orden,vari1,vari2,vari3,vari4,vari5,vari6,vari7,vari8) "; $mSQL .= "SELECT {$scontratoe}, b.codigo, CONCAT(RTRIM(b.apellido),'/',b.nombre) nombre, "; $mSQL .= "a.concepto, a.grupo, a.tipo, a.descrip, a.formula, 0, {$fechac}, {$fechap} , 0, 0, 0, {$trabajae},modo,c.orden,b.vari1,b.vari2,b.vari3,b.vari4,b.vari5,b.vari6,b.vari7,b.vari8 "; $mSQL .= "FROM conc a JOIN itnoco c ON a.concepto=c.concepto "; $mSQL .= "JOIN noco d ON c.codigo=d.codigo "; $mSQL .= "JOIN pers b ON b.contrato=d.codigo \r\n\t\t\t\tWHERE d.codigo={$wcontratoe} AND b.status='A' "; } $this->db->query($mSQL); $fields = $this->db->list_fields($tablap); $ii = count($fields); for ($i = 5; $i < $ii; $i++) { $this->dbforge->drop_column($tablap, $fields[$i]); } unset($fields); $query = $this->db->query("SELECT concepto FROM itnoco WHERE codigo={$scontratoe} ORDER BY concepto"); foreach ($query->result() as $row) { $ind = 'c' . trim($row->concepto); $fields[$ind] = array('type' => 'decimal(17,2)', 'default' => 0); } $this->dbforge->add_column($tablap, $fields); unset($fields); $frec = $this->datasis->dameval("SELECT tipo FROM noco WHERE codigo={$scontratoe}"); $this->calculaprenom(); redirect('nomina/prenom/montos'); } $atts = array('width' => '420', 'height' => '300', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); $atts2 = array('width' => '1024', 'height' => '768', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0'); $atts3 = array('width' => '420', 'height' => '240', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5', 'id' => 'recibo'); $contratoactual = $this->datasis->dameval("SELECT b.nombre FROM prenom a JOIN noco b ON a.contrato=b.codigo LIMIT 1"); $des01 = ''; if ($contratoactual) { $des01 = "<div style='background-color:black;padding:5px;color:red;' ><strong>{$contratoactual}</strong></div>"; } $des0 = new containerField("", $des01); $des0->build(); $des3 = "<strong>Prenomina:</strong> es el termino utilizado para referirse a la nomina en la cual se esta trabajando que pertenece a un contrato y a una fecha dada. En la prenomina es el momento donde se introducen valores extra para los conceptos de nomina. por ejemplo la cantidad de horas extra trabajadas. y de donde se imprimen los recibos de pagos para los empleados"; $des2 = new containerField("", "<div style='background-color:#EEDDEE;padding:5px;'> " . $des3 . "</div>"); $des2->build(); $des4 = new containerField("", "<div style='background-color:#FFDDFF;padding:5px;'> " . anchor('', '<span id="guarda">Guardar Prenomina Actual</span>') . " Este se utiliza para almacenar la prenomina en la que se esta trabajando y porder continuar con otra sin perder los cambios realizados a esta</div>"); $des4->build(); $des5 = new containerField("", "<div style='background-color:#DDDDFF;padding:5px;'> " . anchor('nomina/prenom/montos', 'Modificar Prenomina Actual') . " Este se utiliza para continuar introduciendo valores a conceptos de la prenomina actual</div>"); $des5->build(); $des10 = new containerField("", "<div style='background-color:#DDFFFF;padding:5px;'> " . anchor('nomina/prenom/calculaprenom', 'Recalcular Prenomina') . " Recalcular montos de la prenomina de haber cambiado sueldos formulas</div>"); $des10->build(); $des6 = new containerField("", "<div style='background-color:#EEFFEE;padding:5px;'> " . anchor_popup('reportes/ver/PRENOM/-1', 'Ver Listado de Prenomina', $atts) . " Este Muestra el listado de prenomina actual en formatos pdf. o .xls</div>"); $des6->build(); //$des8 = new containerField("","<div style='background-color:#CCEEEE;padding:5px;'> ".anchor_popup('nomina/recibo/','Imprimir recibos de pago',$atts2)." Abre el modulo de impresion de recibos de pago, donde hay distintas opciones de impresion</div>"); //$des8->build(); $des7 = new containerField("", "<div style='background-color:#FFCCFF;padding:5px;'> " . anchor_popup('nomina/prenom/creanomi', '<span id="pagar">Crear Nomina en Base a Prenomina</span>', $atts2) . "Esta es la ultima operacion a realizar para una prenomina, la cual convierte la prenomina actual en una nomina.</div>"); $des7->build(); $t = array(); $t[1][1] = $form->output; $t[2][1] = "<strong>Generar una Prenomina:</strong> </br>Se utiliza para calcular los saldos de un contrato y sus trabajadores para una fecha.</br> Este borra la prenomina anterior y genera la nueva prenomina con los nuevos datos, para luego introducir los valores necesarios por cada concepto de ser necesario."; $table = new DataTable(null, $t); $table->cell_attributes = 'style="vertical-align:middle; text-align: center;"'; $table->per_row = 2; $table->cell_attributes = 'style="vertical-align:top;background-color:#DDFFFF;text-align: left;"'; $table->cell_template = "<#1#>"; $table->build(); $t = array(); $t[1][1] = $form1->output; $t[2][1] = "<strong>Recuperar Prenomina:</strong> </br>Esta opcion es para utilizar un prenomina previamente almacenada y continuar modificandola o terminarla.</br>Esta opcion borra los datos de la prenomina actual"; $table2 = new DataTable(null, $t); $table2->cell_attributes = 'style="vertical-align:middle; text-align: center;"'; $table2->per_row = 2; $table2->cell_attributes = 'style="vertical-align:top;background-color:#FFFFDD;text-align: left;"'; $table2->cell_template = "<#1#>"; $table2->build(); $cant = new dropdownField("cant", "cant"); $cant->status = 'create'; for ($i = 1; $i < 5; $i++) { $cant->option($i, $i); } $cant->style = "width:40px;"; $cant->build(); $des9 = new containerField("", "<div style='background-color:#EEEECC;padding:5px;'> " . $cant->output . ' Copias de ' . anchor('#', 'Recibos de Pago', $atts3) . " Este genera los recibos de pagos para toda la prenomina.</div>"); $des9->build();
function index() { $this->rapyd->load("datagrid2"); $this->rapyd->load("dataform"); $this->load->helper('openflash'); $script = ' $(function() { $(".inputnum").numeric("."); }); '; if ($this->uri->segment(4)) { $anio = $this->uri->segment(4); } elseif (isset($_POST['anio'])) { $anio = $_POST['anio']; } if (empty($anio)) { $anio = date("Y"); } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $filter = new DataForm('ventas/anuales'); $filter->title('Filtro de ventas Anuales'); $filter->script($script, "create"); $filter->script($script, "modify"); $filter->anio = new inputField("Año", "anio"); $filter->anio->size = 4; $filter->anio->insertValue = $anio; $filter->anio->maxlength = 4; $filter->anio->rule = "trim"; $filter->anio->css_class = 'inputnum'; //$filter->anio->onkeypress="return acceptNum(event)"; $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/anuales/index'), array('anio')), $position = "BL"); $filter->build_form(); $data = $this->_sincrodata($fechai, $fechaf); $grid = new DataGrid2('', $data); $grid->totalizar('impuesto', 'cobrado', 'contado', 'credito', 'subtotal', 'numfac'); $grid->column("Mes", "mes"); $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right'); $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right'); $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right'); $grid->column("Credito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right'); $grid->column("Cobrado", "<number_format><#cobrado#>|2|,|.</number_format>", 'align=right'); $grid->column("% Ventas", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right'); $grid->column("Cant. Fact", "numfac", 'align=right'); $grid->build(); $data['content'] = open_flash_chart_object(680, 300, site_url("ventas/anuales/grafico/{$anio}")); $data['content'] .= $filter->output . $grid->output; $data['title'] = $this->rapyd->get_head() . "<h1>Ventas Anuales</h1>"; //$data['script']='<script type="text/javascript"> //$(document).ready(function() { // $("#anio").keypress(function(event) { // acceptNum(evt); // return false; // }); //}); //var nav4 = window.Event ? true : false; //function acceptNum(evt) //{ // var key = nav4 ? evt.which : evt.keyCode; // return (key <= 13 || (key >= 48 && key <= 57)); // //} //</script>'; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function gfmedidor() { $grupo = intval($_POST['grupo']); $anomes = intval($_POST['anomes']); $medidor = intval($_POST['medidor']); $nomgru = $this->datasis->dameval("SELECT descrip FROM edgrupo WHERE id={$grupo} AND activo='S'"); $gcargo = $this->datasis->dameval("SELECT cargo FROM edgrupo WHERE id={$grupo} AND activo='S'"); $this->rapyd->load('dataform'); $edit = new DataForm("construccion/edgasto/gfmedidor/process"); $query = $this->db->query('SELECT MAX(id) id, sum(importe) monto FROM gitser WHERE EXTRACT(YEAR_MONTH FROM fecha)=' . $anomes . ' AND gcargo = ' . $gcargo); $montos = array(); foreach ($query->result() as $row) { $monto[$row->id] = $row->monto; } $script = ' var montocargo = ' . json_encode($monto) . '; $(function() { $("#fecha").datepicker({dateFormat:"dd/mm/yy"}); $("#vence").datepicker({dateFormat:"dd/mm/yy"}); $(".inputnum").numeric("."); }); $("#gasto").change(function(){ //alert( montocargo[$("#gasto").val()] ); totaliza(); }); function totaliza(){ var montocal = 0; var lectucal = 0; $("input[name^=\'monto_\']").each( function( index ){ montocal += Number($(this).val()); }) $("input[name^=\'lectura_\']").each( function( index ){ lectucal += Number($(this).val()); }) //$("#sumamont").html(montocargo[$("#gasto").val()] ); $("#sumamonto").html(montocal.toFixed(2)); $("#sumalectu").html(lectucal.toFixed(2)); } function calcular(){ var montocal = 0; var lectucal = 0; var meco = 0; var mtotal = montocargo[$("#gasto").val()]; // Calcula el Total $("input[name^=\'lectura_\']").each( function( index ){ lectucal += Number($(this).val()); }) // Coloca cada monto $("input[name^=\'lectura_\']").each( function( index ){ meco = Number($(this).val()); meco = meco*mtotal/lectucal; $("#monto_"+index).val(meco.toFixed(2)); }) totaliza(); } '; $edit->script($script); $edit->grupo = new hiddenField('Grupo', 'grupo'); $edit->grupo->insertValue = $grupo; $edit->grupo->type = 'inputhidden'; $edit->medidor = new hiddenField('Medidor', 'medidor'); $edit->medidor->insertValue = $medidor; $edit->medidor->type = 'inputhidden'; $edit->anomes = new dropDownField('Ano Mes', 'anomes'); $edit->anomes->insertValue = $anomes; $edit->anomes->type = 'inputhidden'; $edit->gasto = new dropDownField('Gasto', 'gasto'); $edit->gasto->option('', 'Seleccione un gasto'); $edit->gasto->options('SELECT MAX(id) id, CONCAT(descrip," ", sum(importe)) FROM gitser WHERE EXTRACT(YEAR_MONTH FROM fecha)=' . $anomes . ' AND gcargo = ' . $gcargo); $mSQL = "\n\t\tSELECT b.codigo, b.descripcion, a.inmueble \n\t\tFROM editgrupo a \n\t\tJOIN edinmue b ON a.inmueble = b.id\n\t\tWHERE grupo = {$grupo}\n\t\tORDER BY b.codigo"; $query = $this->db->query($mSQL); $i = 0; foreach ($query->result() as $row) { $obj = "inmueble_" . $i; $edit->{$obj} = new hiddenField('Inmueble ' . $i, 'inmueble_' . $i); $edit->{$obj}->rule = 'integer'; $edit->{$obj}->css_class = 'inputonlynum'; $edit->{$obj}->size = 13; $edit->{$obj}->maxlength = 11; $edit->{$obj}->insertValue = $row->inmueble; $obj = "descrip_" . $i; $edit->{$obj} = new inputField('descrip ' . $i, 'descrip_' . $i); $edit->{$obj}->size = 13; $edit->{$obj}->maxlength = 11; $edit->{$obj}->insertValue = $row->descripcion; $edit->{$obj}->type = 'inputhidden'; $alicuota = 0.0; if ($medidor != 'S') { $mSQL = "\n\t\t\t\tSELECT alicuota \n\t\t\t\tFROM edalicuota \n\t\t\t\tWHERE inmueble=" . $row->inmueble . " AND EXTRACT(YEAR_MONTH FROM fecha) <= {$anomes}\n\t\t\t\tORDER BY fecha DESC \n\t\t\t\tLIMIT 1\n\t\t\t\t"; $alicuota = $this->datasis->dameval($mSQL) + 0; } $obj = "lectura_" . $i; $edit->{$obj} = new inputField('Lectura ' . $i, 'lectura_' . $i); $edit->{$obj}->rule = 'numeric'; $edit->{$obj}->css_class = 'inputnum'; $edit->{$obj}->size = 12; $edit->{$obj}->maxlength = 10; $edit->{$obj}->onkeyup = 'totaliza()'; $edit->{$obj}->insertValue = $alicuota; $obj = "monto_" . $i; $edit->{$obj} = new inputField('Monto', 'monto_' . $i); $edit->{$obj}->rule = 'numeric'; $edit->{$obj}->css_class = 'inputnum'; $edit->{$obj}->size = 12; $edit->{$obj}->maxlength = 10; $edit->{$obj}->onkeyup = 'totaliza()'; $i++; } //$i--; $edit->fecha = new dateonlyField('Fecha', 'fecha'); $edit->fecha->rule = 'chfecha'; $edit->fecha->calendar = false; $edit->fecha->size = 10; $edit->fecha->maxlength = 8; $edit->longi = new dropDownField('Longitud', 'longi'); $edit->longi->insertValue = $i; $edit->longi->type = 'inputhidden'; $edit->build_form(); if ($edit->on_success()) { // Guarda $longi = $this->input->post('longi'); $anomes = $this->input->post('anomes'); $gasto = $this->input->post('gasto'); $grupo = $this->input->post('grupo'); $medidor = $this->input->post('medidor'); $this->db->delete('edgasmed', array('grupo' => $grupo, 'fecha' => $anomes . '01', 'gasto' => $gasto)); for ($i = 0; $i < $longi; $i++) { $data = array(); $data['fecha'] = $anomes . '01'; $data['grupo'] = $grupo; $data['gasto'] = $gasto; $data['inmueble'] = $this->input->post('inmueble_' . $i); $data['lectura'] = $this->input->post('lectura_' . $i); $data['monto'] = $this->input->post('monto_' . $i); $this->db->insert('edgasmed', $data); } $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => ''); echo json_encode($rt); } else { //echo $edit->output; $conten['form'] =& $edit; $conten['grupo'] = $grupo; $conten['nomgru'] = $nomgru; $conten['longi'] = $i; $this->load->view('view_edmedidor', $conten); } }
function index() { $this->rapyd->load("datagrid2", "dataform"); $anio = $this->uri->segment(4); if (empty($anio)) { $anio = date("Y"); } $grupo = $this->uri->segment(5); $codigo = $this->uri->segment(6); $script = ' $(function() { $(".inputnum").numeric("."); }); $("#df1").submit(function() { valor=$("#anio").attr("value"); location.href="' . site_url('finanzas/analisisgastos/index') . '/"+valor; return false; }); '; $filter = new DataForm(); $filter->title('Filtro de Análisis de Gastos'); $filter->script($script, "create"); $filter->script($script, "modify"); //$filter->fechad = new dateonlyField("Desde", "fechad",'m-Y'); //$filter->fechah = new dateonlyField("Hasta", "fechah",'m-Y'); //$filter->fechad->clause =$filter->fechah->clause="where"; //$filter->fechad->db_name =$filter->fechah->db_name="fecha"; //$filter->fechad->insertValue='15-'.$fechad; //$filter->fechah->insertValue='15-'.$fechah; // //$filter->fechah->size=$filter->fechad->size=10; //$filter->fechad->operator=">="; //$filter->fechah->operator="<="; //$filter->anio = new inputField("Año", "anio"); //$filter->anio->size=4; //$filter->anio->insertValue=$anio; //$filter->anio->maxlength=4; //$filter->anio->rule = "trim"; //$filter->anio->css_class='inputnum'; $filter->anio = new dropdownField("Año", "anio"); $filter->anio->option($anio, $anio); $filter->anio->options('SELECT YEAR(fecha),YEAR(fecha) AS fecha2 FROM gitser GROUP BY fecha2'); $filter->anio->style = 'width:80px;'; $filter->button("btnsubmit", "Buscar", form2uri(site_url('/finanzas/analisisgastos/index'), array('anio')), $position = "BL"); $filter->build_form(); $where = "YEAR(a.fecha)='{$anio}' "; if (empty($grupo)) { $grid = new DataGrid2('Grupos de Gastos'); $select = array("d.nom_grup as nom_grup", "b.grupo AS deptodes", "sum(a.importe) AS tgene"); $group = "b.grupo"; $link = "finanzas/analisisgastos/index/{$anio}/<#deptodes#>"; $grid->column("Grupos de Gastos", anchor($link, '<#nom_grup#>'), 'nowrap=yes'); $salida = ''; } elseif (empty($codigo)) { $nom = $this->datasis->dameval("SELECT nom_grup FROM grga WHERE grupo='{$grupo}'"); $grid = new DataGrid2("Gastos del grupo {$nom}"); $where .= "AND b.grupo='{$grupo}'"; $select = array("b.descrip as descrip", "b.grupo AS deptodes", "sum(a.importe) AS tgene,a.codigo as cod"); $group = array("b.grupo", "a.codigo"); $link = "finanzas/analisisgastos/index/{$anio}/<#deptodes#>/<#cod#>/"; $grid->column("Grupos de Gastos", anchor($link, '<#descrip#>'), 'nowrap=yes'); $salida = anchor("finanzas/analisisgastos/index/{$anio}", "Atras"); } else { $select = array("fecha", "numero", "precio", "a.iva as iva", "importe", "p.nombre AS nombre"); $nom = $this->datasis->dameval("SELECT nom_grup FROM grga WHERE grupo='{$grupo}'"); $nom2 = $this->datasis->dameval("SELECT descrip FROM mgas WHERE codigo='{$codigo}'"); $grid = new DataGrid2("Gastos del grupo {$nom} del Departamento {$nom2}"); $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", 'align=center'); $grid->column("Numero", "<#numero#>", 'align=left'); $grid->column("Proveedor", "<#nombre#>", 'align=left'); $grid->column("Precio", "<number_format><#precio#>|2|,|.</number_format>", 'align=right'); $grid->column("I.V.A.", "<number_format><#iva#>|2|,|.</number_format>", 'align=right'); $grid->column("Importe", "<number_format><#importe#>|2|,|.</number_format>", 'align=right'); $group = ''; $att['title'] = "Regresar al listado de gastos por grupos"; $salida = anchor("finanzas/analisisgastos/index/{$anio}", "Gastos por Grupos", $att); $att['title'] = "Regresar al listado de gastos del grupo {$nom}"; $salida .= ' '; $salida .= anchor("finanzas/analisisgastos/index/{$anio}/{$grupo}", "{$nom}", $att); } if ($group != '') { $ii = 3; $grid->column("Total", "<number_format><#tgene#>|0|,|.</number_format>", 'align=left'); for ($i = $anio . '01'; $i <= $anio . '12'; $i = $this->agremes($i)) { $select[$ii] = "sum(a.importe*(EXTRACT(YEAR_MONTH FROM a.fecha)={$i})) AS 'm{$i}' "; $ii++; $col = $this->calendar->get_month_name(str_pad(substr($i, 4, 2), 2, "0", STR_PAD_LEFT)); $grid->column("{$col}", "<number_format><#m{$i}#>|0|,|.</number_format>", 'align=right'); } } $grid->db->select($select); $grid->db->from('gitser as a'); $grid->db->join('mgas as b', 'a.codigo=b.codigo', 'LEFT'); $grid->db->join('grga as d', 'b.grupo=d.grupo', 'LEFT'); $grid->db->join('sprv as p', 'p.proveed=a.proveed'); $grid->db->where($where); $grid->db->groupby($group); $grid->per_page = 15; //$grid->db->orderby('d.nom_grup'); $grid->build(); memowrite($grid->db->last_query()); $data['content'] = $filter->output . $salida . '<div style="overflow: auto; width: 100%;">' . $grid->output . '</div>'; $data['title'] = "<h1>Análisis de Gastos</h1>"; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function read() { $this->load->library("Spreadsheet_Excel_Reader"); $this->rapyd->load("datagrid2", "dataform"); $salida = anchor('inventario/sinvactu', 'Atras'); $type = ''; if (isset($_FILES['archivoUserFile']['type'])) { $type = $_FILES['archivoUserFile']['type']; } if ($type == 'application/x-msexcel') { $name = $_FILES['archivoUserFile']['name']; $dir = ".././" . $name; if (copy($_FILES['archivoUserFile']['tmp_name'], $dir)) { $tmp = $dir; //$_FILES['archivoUserFile']['tmp_name']; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('CP1251'); $data->read($tmp); error_reporting(E_ALL ^ E_NOTICE); $cols = array(); for ($i = 0; $i <= $data->sheets[0]['numRows']; $i++) { $ref = 0; for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) { $cols[$j - 1] = $data->sheets[0]['cells'][$i][$j]; if (!empty($data->sheets[0]['cells'][$i][$j])) { $ref++; } } if ($ref > 2) { break; } } $c = 0; for ($i = 0; $i <= $data->sheets[0]['numRows']; $i++) { $ref = 0; $j = 1; foreach ($cols as $col) { $data3[$i][$col] = $data->sheets[0]['cells'][$i][$j]; if (!empty($data->sheets[0]['cells'][$i][$j])) { $ref++; } $j++; } if ($ref > 2 && implode(' ', $data3[$i]) != implode(' ', $cols)) { $data4[$c] = $data3[$i]; $c++; } } $form = new DataForm("/inventario/sinvactu/actualiza"); $form->free = new freeField("Campos.Archivo xls", "free", "Campos de El Sistema"); $grid = new DataGrid2("Archivo Cargado", $data4); $j = 0; $campos .= 'cols="+$("#cols").val()+"&&dir="+$("#dir").val()'; foreach ($cols as $col) { $grid->column("{$col}", "<#{$col}#>"); $campo = "campo{$j}"; $form->{$campo} = new dropdownField("{$col}", "campo{$j}"); $form->{$campo}->option("ignorar", "ignorar"); $form->{$campo}->option("codigo", "codigo"); $form->{$campo}->option("costo", "costo"); $form->{$campo}->option("descrip", "descrip"); $form->{$campo}->option("descrip2", "descrip2"); $form->{$campo}->option("clave", "clave"); $form->{$campo}->option("grupo", "grupo"); $form->{$campo}->option("iva", "iva"); for ($i = 1; $i <= 3; $i++) { $form->{$campo}->option("base{$i}", "Base{$i}"); $form->{$campo}->option("margen{$i}", "Margen{$i}"); $form->{$campo}->option("precio{$i}", "Precio{$i}"); } $form->{$campo}->style = 'width:150px;'; $j++; $campos .= "+" . "\"&&" . $campo . "=\"+\$(\"#" . $campo . "\").val()"; } //echo $campos; $form->cols = new inputField("", "cols"); $form->cols->insertValue = implode(',', $cols); $form->cols->type = 'hidden'; $form->dir = new inputField("", "dir"); $form->dir->insertValue = $dir; $form->dir->type = 'hidden'; //$form->submit("btnsubmit","Actualizar"); $link = site_url('inventario/sinvactu/actualiza'); $script = ' function actu(){ a=confirm("¿Esta Seguro que de desea Actualizar el Inventario ?"); if(a){ $.ajax({ type: "POST", processData:false, url: "' . $link . '", data: "' . $campos . ', success: function(msg){ if(msg=="s.i"){ alert("El Inventario fue Actualizado."); } else{ alert(msg); } } }); } } '; $form->script($script); $form->button("actualiza", "Actualizar", "javascript:actu();"); $form->build_form(); $grid->build(); $data2['content'] = $form->output . $salida . $grid->output; } } else { $data2['content'] = $salida; } $data2['title'] = "<h1>Actualización de Inventario</h1>"; $data2["head"] = script("jquery.pack.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data2); }
function autotranfer2($fecha = null) { //*************************** $this->cajas = $this->config->item('cajas'); foreach ($this->cajas as $inv => $val) { $codban = $this->db->escape($val); $cana = $this->datasis->dameval("SELECT COUNT(*) AS cana FROM banc WHERE codbanc={$codban}"); if ($cana == 0) { show_error('La caja ' . $val . ' no esta registrada en el sistema, debe registrarla por el modulo de bancos o ajustar la configuracion en config/datasis.php'); } } //*************************** $this->rapyd->load('dataform'); $this->load->library('validation'); $val = $this->validation->chfecha($fecha, 'Y-m-d'); if ($val) { $montosis = $this->_montoautotranf($this->cajas['cobranzas'], $fecha); if ($montosis > 0) { $script = ' function totaliza(){ if($("#tarjeta").val().length>0) tarjeta =parseFloat($("#tarjeta").val()); else tarjeta =0; if($("#efectivo").val().length>0) efectivo=parseFloat($("#efectivo").val()); else efectivo=0; if($("#gastos").val().length>0) gastos =parseFloat($("#gastos").val()); else gastos =0; if($("#valores").val().length>0) valores =parseFloat($("#valores").val()); else valores =0; monto=tarjeta+gastos+efectivo+valores; $("#monto").val(roundNumber(monto,2)); }'; $edit = new DataForm("finanzas/bcaj/autotranfer2/{$fecha}/process"); $edit->title = 'Transferencia automatica entre cajas'; $edit->script($script); //$edit->back_url = site_url('finanzas/bcaj/index'); $campos = array('efectivo' => 'Efectivo caja: ' . $this->cajas['efectivo'], 'tarjeta' => 'Tarjeta de Débito y Crédito caja: ' . $this->cajas['tarjetas'], 'gastos' => 'Gastos por Justificar caja: ' . $this->cajas['gastos'], 'valores' => 'Valores, Cesta Tickes y Cheques caja: ' . $this->cajas['valores'], 'monto' => 'Monto total'); foreach ($campos as $obj => $titulo) { $edit->{$obj} = new inputField($titulo, $obj); $edit->{$obj}->css_class = 'inputnum'; $edit->{$obj}->rule = 'trim|numeric'; $edit->{$obj}->maxlength = 15; $edit->{$obj}->size = 20; $edit->{$obj}->group = 'Montos'; $edit->{$obj}->autocomplete = false; } $edit->{$obj}->rule = 'trim|numeric|callback_chtotal|required'; $edit->{$obj}->readonly = true; $back_url = site_url('finanzas/bcaj/index'); $edit->button('btn_undo', 'Regresar', "javascript:window.location='{$back_url}'", 'BL'); $edit->submit('btnsubmit', 'Guardar'); $edit->build_form(); $salida = 'El monto total a tranferir para la fecha <b id="ffecha">' . dbdate_to_human($fecha) . '</b> debe ser de: <b id="mmonto">' . nformat($montosis) . '</b>'; if ($edit->on_success()) { //$fecha=$edit->fecha->newValue; foreach ($campos as $obj => $titulo) { ${$obj} = $edit->{$obj}->newValue; } if (round($montosis, 2) == round($efectivo + $tarjeta + $gastos + $valores, 2)) { $rt = $this->_autotranfer($fecha, $efectivo, $tarjeta, $gastos, $valores); if ($rt) { redirect('/finanzas/bcaj/listo/n/' . $this->bcajnumero); } else { redirect('/finanzas/bcaj/listo/s'); } } else { $edit->error_string = 'El monto total a transferir debe ser de :<b>' . nformat($montosis) . '</b>, faltan ' . nformat($montosis - $efectivo - $tarjeta - $gastos - $valores); $edit->build_form(); //$salida .= $edit->output; } } $salida .= $edit->output; $url = site_url('finanzas/bcaj/ajaxmonto'); $this->rapyd->jquery[] = '$(".inputnum").numeric(".");'; $this->rapyd->jquery[] = '$(".inputnum").bind("keyup",function() { totaliza(); });'; $this->rapyd->jquery[] = '$("td").removeAttr("style");'; $this->rapyd->jquery[] = '$("input[name=\'traesaldo\']").click(function() { fecha=$("#fecha").val(); if(fecha.length > 0){ $.post("' . $url . '", { fecha: $("#fecha").val() }, function(data){ $("#mmonto").html(nformat(data)); $("#ffecha").html($("#fecha").val()); $(".alert").hide("slow"); }); }else{ alert("Debe introducir una fecha"); } });'; } else { $dbfecha = $this->db->escape($fecha); $mSQL = "SELECT COUNT(*) AS cana FROM bcaj WHERE concep2='AUTOTRANFER' AND fecha={$dbfecha}"; $cana = $this->datasis->dameval($mSQL); if ($cana > 0) { $salida = 'Ya fue hecha una tranferencias para la fecha dada, si desea puede reversarla haciendo click ' . anchor('finanzas/bcaj/reverautotranfer/' . $fecha, 'aqui') . ' '; $salida .= ' o puede ' . anchor('finanzas/bcaj/index', 'regresar') . ' al inicio.'; } else { $salida = 'No hay monto disponible para transferir ' . anchor('finanzas/bcaj/autotranfer', 'Regresar'); } } } else { show_error('Falta el parametro fecha'); } $data['content'] = $salida; $data['title'] = '<h1>Conciliación de cierre </h1>'; $data['head'] = $this->rapyd->get_head() . phpscript('nformat.js'); $this->load->view('view_ventanas', $data); }