function filteredgrid() { $this->rapyd->load('datafilter', 'datagrid2'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'precio4' => 'Precio 4'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar en inventario'); $boton = $this->datasis->modbus($modbus); $filter = new DataFilter("Kardex de Inventario"); //$filter->codigo = new inputField("Código De Producto", "codigo"); //$filter->codigo->append($boton); $filter->ubica = new dropdownField("Almacen", "ubica"); $filter->ubica->option("", "Todos"); $filter->ubica->db_name = 'a.ubica'; $filter->ubica->options("SELECT ubica,CONCAT(ubica,' ',ubides) descrip FROM caub WHERE gasto='N' "); $filter->ubica->operator = "="; $filter->ubica->clause = "where"; $filter->fecha = new dropdownField("Fecha", "fecha"); $filter->fecha->db_name = 'a.fecha'; $filter->fecha->options("SELECT SQL_BIG_RESULT fecha,fecha descrip FROM maesfisico GROUP BY fecha ORDER BY fecha DESC LIMIT 5 "); $filter->fecha->operator = "="; $filter->fecha->clause = "where"; $filter->buttons("reset", "search"); $filter->build(); $data['lista'] = $filter->output; if (isset($_POST['codigo'])) { $code = $_POST['codigo']; $mSQL = "SELECT CONCAT(descrip,' ',descrip2) descrip FROM sinv WHERE codigo='{$code}'"; $query = $this->db->query($mSQL); $descrip = ''; if ($query->num_rows() > 0) { $row = $query->row(); $descrip = $row->descrip; } $link = "/inventario/kardex/grid/<#origen#>/<dbdate_to_human><#fecha#>|Ymd</dbdate_to_human>/<str_replace>/|:slach:|<#codigo#></str_replace>/<#ubica#>"; $grid = new DataGrid2("({$code}) {$descrip}"); $grid->agrupar('Almacen: ', 'almacen'); $grid->use_function('convierte', 'number_format', 'str_replace'); $grid->db->select = array("IFNULL(b.ubides,a.ubica) almacen", "a.ubica", "a.fecha", "a.venta", "a.cantidad", "a.saldo", "a.monto", "a.salcant", "a.codigo", "a.origen", "a.promedio"); $grid->db->from('costos a'); $grid->db->join('caub b ', 'b.ubica=a.ubica', 'LEFT'); $grid->db->orderby('almacen, fecha, origen'); $grid->per_page = 20; $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>"); $grid->column("Orígen", "<convierte><#origen#>|{$link}</convierte>", 'align=left'); $grid->column("Cantidad", "<number_format><#cantidad#>|2|,|.</number_format>", 'align=right'); $grid->column("Acumulado", "<number_format><#salcant#>|2|,|.</number_format>", 'align=right'); $grid->column("Monto", "<number_format><#monto#>|2|,|.</number_format>", 'align=right'); $grid->column("Saldo", "<number_format><#saldo#>|2|,|.</number_format>", 'align=right'); $grid->column("Costo Prom.", "<number_format><#promedio#>|2|,|.</number_format>", 'align=right'); $grid->column("Ventas", "<number_format><#venta#>|2|,|.</number_format>", 'align=right'); $grid->build(); $data['lista'] .= $grid->output; //echo $grid->db->last_query(); } $data['forma'] = ''; $data['titulo'] = $this->rapyd->get_head() . "<center><h2>Kardex de Inventario</h2></center>"; $this->layout->buildPage('ventas/view_ventas', $data); }
function index() { $this->rapyd->load('dataform'); $this->rapyd->load('datagrid2'); $this->load->library('encrypt'); function dif($a, $b) { return number_format($a - $b, 2, ',', '.'); } $form = new DataForm('supermercado/conciliacion/index/process'); $form->fechad = new dateonlyField('Desde', 'fechad', 'd/m/Y'); $form->fechad->insertValue = date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 30, date("Y"))); $form->fechad->rule = 'required'; $form->fechah = new dateonlyField('Hasta', 'fechah', 'd/m/Y'); $form->fechah->insertValue = date('Y-m-d'); $form->fechah->rule = 'required'; $form->submit('btnsubmit', 'Buscar'); $form->build_form(); $tabla = ''; if ($form->on_success()) { $fechad = $form->fechad->newValue; $fechah = $form->fechah->newValue; //$mSQL="SELECT 'PV' ,caja,SUM(gtotal*IF(MID(numero,1,2)='NC',-1,1)) FROM viefac WHERE fecha BETWEEN '$fechad' AND '$fechah' GROUP BY caja UNION //SELECT 'PV' ,'MAYO',SUM(gtotal*IF(tipo='D',-1,1)) FROM fmay WHERE fecha BETWEEN '$fechad' AND '$fechah' UNION //SELECT 'CZ' ,caja,SUM(exento+base+iva+base1+iva1+base2+iva2-ncexento-ncbase-nciva-ncbase1-nciva1-ncbase2-nciva2) FROM fiscalz WHERE fecha BETWEEN '$fechad' AND '$fechah' GROUP BY caja"; $mSQL = "SELECT a.fecha, a.caja, sum(a.gtotal*if(MID(a.numero,1,2)='NC',-1,1)) AS factura,\n\t\t\t(SELECT sum(exento+base+iva-ncexento-ncbase-nciva) venta FROM fiscalz c WHERE c.fecha=a.fecha AND c.caja=a.caja ) AS cierrez,\n\t\t\t(SELECT sum(exento+base+iva-ncexento-ncbase-nciva) venta FROM fiscalz c WHERE c.fecha=a.fecha AND c.caja=a.caja )-\n\t\t\tsum(a.gtotal*if(MID(a.numero,1,2)='NC',-1,1)) AS dife\n\t\t\tFROM viefac a\n\t\t\tWHERE a.fecha BETWEEN '{$fechad}' AND '{$fechah}' GROUP BY a.fecha, a.caja ORDER BY a.caja,a.fecha"; $grid = new DataGrid2('Resúmen'); $grid->db->_escape_char = ''; $grid->db->_protect_identifiers = false; //$grid->per_page = 20; $grid->use_function('dif'); $select = array('a.fecha', 'b.caja', '(SELECT sum(exento+base+iva+base1+iva1+base2+iva2-ncexento-ncbase-nciva-ncbase1-nciva1-ncbase2-nciva2) FROM fiscalz c WHERE c.fecha=a.fecha AND c.caja=b.caja) AS cierrez', '(SELECT sum(d.gtotal) FROM viefac AS d WHERE d.fecha=a.fecha AND d.caja=b.caja) AS factura'); $grid->db->select($select); $grid->db->from('tiempo AS a'); $grid->db->join("caja AS b", "a.fecha BETWEEN '{$fechad}' AND '{$fechah}'"); $grid->db->orderby("caja,fecha"); $grid->db->having("cierrez IS NOT null OR factura IS NOT null"); $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", "align='center'"); $grid->column("Caja", "caja", 'align=center'); $grid->column("Factura", "<nformat><#factura#></nformat>", 'align=right'); $grid->column("Cierre Z", "<nformat><#cierrez#></nformat>", 'align=right'); $grid->column("Diferencia", "<dif><#factura#>|<#cierrez#></dif>", 'align=right'); $grid->totalizar('factura', 'cierrez'); $grid->build(); //echo $grid->db->last_query(); $tabla = $grid->output; } $reporte = anchor('reportes/ver/CONCILIACI', 'Imprimir'); $data['content'] = $form->output . $reporte . $tabla; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $data['title'] = heading('Concialiaciones de Cierre Z'); $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 filteredgrid() { $this->rapyd->load('datafilter', 'datagrid2'); $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); function convierte($par, $link) { $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); switch ($par) { case '3I': return anchor_popup($link, 'Ventas Caja', $atts); break; case '3M': return anchor_popup($link, 'Ventas Mayor', $atts); break; case '1T': return anchor_popup($link, 'Transferencias', $atts); break; case '2C': return anchor_popup($link, 'Compras', $atts); break; case '4N': return anchor_popup($link, 'Nota/Entrega', $atts); break; case '6C': return 'Conversiones'; break; case '5A': return 'Ajustes'; break; case '0F': return 'Inventario'; break; case '9F': return 'Inventario'; break; default: return $par; } } $modbus = array('tabla' => 'maes', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'precio4' => 'Precio 4', 'precio5' => 'Precio 5'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar en inventario'); $boton = $this->datasis->modbus($modbus); $filter = new DataFilter("Kardex de Inventario (" . anchor_popup('/supermercado/lfisico', 'Resumen de inventarios', $atts) . ')'); $filter->codigo = new inputField("Código De Producto", "codigo"); $filter->codigo->append($boton); $filter->ubica = new dropdownField("Almacen", "ubica"); $filter->ubica->option("", "Todos"); $filter->ubica->db_name = 'a.ubica'; $filter->ubica->options("SELECT ubica,CONCAT(ubica,' ',ubides) descrip FROM caub WHERE gasto='N' "); $filter->ubica->operator = "="; $filter->ubica->clause = "where"; $filter->fechad = new dateonlyField("Desde", "fecha", "d/m/Y"); $filter->fechad->operator = ">="; $filter->fechad->insertValue = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - 30, date("Y"))); $filter->fechah = new dateonlyField("Hasta", "fechah", "d/m/Y"); $filter->fechah->db_name = 'fecha'; $filter->fechah->operator = "<="; $filter->fechah->insertValue = date("Y-m-d"); $filter->fechah->clause = $filter->fechad->clause = $filter->codigo->clause = "where"; $filter->fechah->size = $filter->fechad->size = 10; $filter->buttons("reset", "search"); $filter->build(); $data['content'] = $filter->output; if (isset($_POST['codigo'])) { $code = $_POST['codigo']; $mSQL = "SELECT descrip FROM maes WHERE codigo='{$code}'"; $query = $this->db->query($mSQL); $descrip = ''; if ($query->num_rows() > 0) { $row = $query->row(); $descrip = $row->descrip; } $link = "/supermercado/kardex/grid/<#origen#>/<dbdate_to_human><#fecha#>|Ymd</dbdate_to_human>/<str_replace>/|:slach:|<#codigo#></str_replace>/<#ubica#>"; $grid = new DataGrid2("({$code}) {$descrip}"); $grid->agrupar('Almacen: ', 'almacen'); $grid->use_function('convierte', 'number_format', 'str_replace'); $grid->db->select("IFNULL( b.ubides , a.ubica ) almacen,a.ubica ,a.fecha, a.venta, a.cantidad, a.saldo, a.monto, a.salcant, a.codigo, a.origen, a.promedio"); $grid->db->from('costos a'); $grid->db->join('caub b ', 'b.ubica=a.ubica', 'LEFT'); $grid->db->orderby('almacen, fecha, origen'); $grid->per_page = 20; $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>"); $grid->column("Orígen", "<convierte><#origen#>|{$link}</convierte>", 'align=left'); $grid->column("Cantidad", "<number_format><#cantidad#>|2|,|.</number_format>", 'align=right'); $grid->column("Acumulado", "<number_format><#salcant#>|2|,|.</number_format>", 'align=right'); $grid->column("Monto", "<number_format><#monto#>|2|,|.</number_format>", 'align=right'); $grid->column("Saldo", "<number_format><#saldo#>|2|,|.</number_format>", 'align=right'); $grid->column("Costo Prom.", "<number_format><#promedio#>|2|,|.</number_format>", 'align=right'); $grid->column("Ventas", "<number_format><#venta#>|2|,|.</number_format>", 'align=right'); $grid->build(); $data['content'] .= $grid->output; //echo $grid->db->last_query(); } $data['title'] = "<h1>Kardex de Inventario</h1>"; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function vista($vd = '') { $this->rapyd->load('datagrid2'); $select = array('vd', 'tipo_doc', 'numero', 'fecha', 'vence', 'pagada', 'dias', 'comision', 'comical', 'cod_cli', 'nombre', 'sepago', 'comision'); $grid = new DataGrid2('Lista de ' . $this->titp); $grid->db->select($select); $grid->db->from('sfac'); $grid->db->where('tipo_doc <>', 'X'); if (!empty($vd)) { $grid->db->where('vd', $vd); } $grid->db->where('sepago', 'N'); $grid->db->where('pagada >= fecha'); $grid->order_by('numero', 'desc'); $grid->per_page = 1000; $grid->use_function('substr', 'str_pad', 'comi'); $grid->use_function('sta'); $grid->column('Vendedor', 'vd'); $grid->column('Tipo', '<colum><#tipo_doc#></colum>'); $grid->column('Número', 'numero'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>'); $grid->column('Vence', '<dbdate_to_human><#vence#></dbdate_to_human>'); $grid->column('Pagada', '<dbdate_to_human><#pagada#></dbdate_to_human>'); $grid->column('Dias', 'dias', 'align=\'right\''); $grid->column('Comisión', '<nformat><#comision#></nformat>', 'align=\'right\''); $grid->column('Comisión Calculada', '<nformat><#comical#></nformat>', 'align=\'right\''); $grid->column('Cliente', 'cod_cli'); $grid->column('Nombre', 'nombre'); //$grid->totalizar('reiva'); $grid->build(); $data['content'] = anchor($this->url . "filteredgrid", 'Atras') . $grid->output; $data['title'] = "<h1>{$this->titp}</h1>"; $data['head'] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function filteredgrid() { function ractivo($estado, $numero) { if ($estado == 'R') { $retorna = array('name' => $numero, 'id' => $estado, 'value' => 'accept', 'checked' => TRUE); } else { $retorna = array('name' => $numero, 'id' => $estado, 'value' => 'accept', 'checked' => FALSE); } return form_checkbox($retorna); } $this->rapyd->load("datafilter", "datagrid2"); $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' => 'cliente'), 'titulo' => 'Buscar Cliente'); $boton = $this->datasis->modbus($scli); $filter = new DataFilter("Filtro de Control de Tiket"); $select = array("a.id as idm", "a.sucursal", "a.asignacion", "a.idt as idt", "a.padre", "a.pertenece", "a.prioridad", "a.usuario as usuarios", "a.contenido", "a.estampa", "a.actualizado", "a.estado as testado", "IF(a.estado='N','Nuevo',IF(a.estado='R','Resuelto',IF(a.estado='P','Pendiente','En Proceso')))as estado", "b.id", "b.cliente as clientes", "b.ubicacion", "b.url", "b.basededato", "b.puerto", "b.puerto", "b.usuario", "b.clave", "b.observacion", "c.nombre", "a.minutos"); $filter->db->select($select); $filter->db->from("tiketc AS a"); $filter->db->join("tiketconec AS b", "a.sucursal=b.id"); $filter->db->join("scli AS c", "b.cliente=c.cliente"); $filter->fechad = new dateonlyField("Fecha Desde", "fechad", 'd/m/Y'); $filter->fechad->clause = "where"; $filter->fechad->db_name = "estampa"; $filter->fechad->operator = ">="; $filter->fechad->size = 12; $filter->fechah = new dateonlyField("Fecha Hasta", "fechah", 'd/m/Y'); $filter->fechah->clause = "where"; $filter->fechah->db_name = "estampa"; $filter->fechah->operator = "<="; $filter->fechah->size = 12; $filter->estado = new dropdownField("Estado", "estado"); $filter->estado->option("", "Todos"); $filter->estado->options($this->estado); $filter->prioridad = new dropdownField("Prioridad", "prioridad"); $filter->prioridad->option("", "Todos"); $filter->prioridad->options($this->prioridad); $filter->contenido = new inputField("Contenido", "contenido"); //$filter->contenido->clause ="likesensitive"; //$filter->contenido->append("Sencible a las Mayuscúlas"); $filter->asignacion = new dropdownField("Asignacion", "asignacion"); $filter->asignacion->option("", "Todos"); $filter->asignacion->options("SELECT codigo, codigo as value FROM tiketservi"); $filter->asignacion->style = "width:150px"; $filter->cliente = new inputField("Cliente", "cliente"); $filter->cliente->size = 20; $filter->cliente->db_name = "c.cliente"; $filter->cliente->append($boton); $filter->idt = new inputField("Numero", "idt"); $filter->idt->size = 20; $filter->idt->db_name = "idt"; $filter->buttons("reset", "search"); $filter->build(); $grid = new DataGrid2("Lista de Control de Tiket"); $grid->order_by("a.id", "desc"); $grid->per_page = 10; $link = anchor("supervisor/tiketc/dataedit/modify/<#idm#>", "<#idm#>"); $grid->use_function('ractivo'); $grid->column("Id", $link); $grid->column("Resuelto", "<ractivo><#testado#>|<#idm#></ractivo>", 'align="center"'); $grid->column("Numero tiket", "idt"); $grid->column("Fecha de Ingreso", "<dbdate_to_human><#estampa#>|d/m/Y h:m:s</dbdate_to_human>"); $grid->column("Cliente", "nombre"); $grid->column("Usuario", "usuarios"); $grid->column("Contenido", "contenido"); $grid->column("Prioridad", "prioridad"); //$grid->column("Estado","estado"); $grid->column("Asignacion", "asignacion"); $grid->column("Tiempo", "minutos"); //$grid->column("URL","url"); //$resp=anchor("http://merida.matloca.com/proteoerp/supervisor/tiket/dataedit/pertenece/<#idt#>/create"", 'IR'); $resp = '<a href="http://<#url#>/proteoerp/supervisor/tiket/dataedit/pertenece/<#idt#>/create">Ir</a>'; //$resp='http://merida.matloca.com/proteoerp/supervisor/tiket/dataedit/pertenece/67/create'; $grid->column("Responder", $resp); $grid->totalizar('minutos'); //$grid->add("supervisor/tiketc/dataedit/create"); $grid->build(); //echo $grid->db->last_query(); $script = ''; $url = site_url('supervisor/tiketc/activar'); $data['script'] = '<script type="text/javascript"> $(document).ready(function() { $("form :checkbox").click(function () { $.ajax({ type: "POST", url: "' . $url . '", data: "numero="+this.name+"&estado="+this.id, success: function(msg){ //alert(msg); } }); }).change(); }); </script>'; $data['content'] = $filter->output . form_open('') . $grid->output . form_close() . $script; $data['title'] = "<h1>Ticket de Clientes</h1>"; $data["head"] = script("jquery-1.2.6.pack.js"); $data["head"] .= script("plugins/jquery.checkboxes.pack.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function ejecutar() { $this->rapyd->load('datagrid2', 'fields'); function dif($a, $b) { return number_format($a - $b, 2, ',', '.'); } function escasql($text) { $text = preg_replace("/\r\n+|\r+|\n+|\t+/i", ' ', $text); $text = htmlspecialchars($text); $text = str_replace(array("'", '"'), array(''', '"'), $text); return $text; } $modulo = $_POST['modulo']; $dbmodulo = $this->db->escape($modulo); $mFECHA = date('Ymd', timestampFromInputDate($_POST['fecha'], 'd/m/Y')); $mTABLA = $this->datasis->dameval("SELECT origen FROM reglascont WHERE modulo={$dbmodulo} AND regla=1 "); $mCONTROL = $this->datasis->dameval("SELECT control FROM reglascont WHERE modulo={$dbmodulo} AND regla=1 "); $action = "javascript:window.location='" . site_url("contabilidad/reglas/index/{$mFECHA}") . "'"; $data['content'] = ''; $query = $this->db->query("SELECT a.{$mCONTROL} FROM {$mTABLA} WHERE a.fecha={$mFECHA} GROUP BY {$mCONTROL} "); foreach ($query->result_array() as $fila) { $aregla = $this->_hace_regla($modulo, $mCONTROL, $fila[$mCONTROL]); //echo '<pre>';print_r($aregla);'</pre>'; $encab = $encab_titu = $pivote = array(); //Construye los encabezados foreach ($aregla['casi'] as $mSQL) { $casi_query = $this->db->query($mSQL); if ($casi_query->num_rows() > 0) { $row = $casi_query->row(); $encab[$row->comprob] = array(); $encab_titu[$row->comprob] = '<b>Comprobante:</b> ' . $row->comprob . ' <b>Fecha:</b> ' . date('d/m/Y', timestampFromInputDate($row->fecha, 'Y-m-d')) . ' <b>Concepto:</b> ' . $row->concepto; } } //echo $query; //Construye la data de los encabezados foreach ($aregla['itcasi'] as $mSQL) { //echo $mSQL; $itcasi_query = $this->db->query($mSQL); $acumulador = array(0, 0); if ($itcasi_query->num_rows() > 0) { foreach ($itcasi_query->result() as $row) { $pivote['origen'] = $row->clave; $pivote['cuenta'] = $row->cuenta; $pivote['referen'] = $row->referen; $pivote['concepto'] = $row->concepto; $pivote['debe'] = $row->debe; $pivote['haber'] = $row->haber; $pivote['sucursal'] = $row->sucursal; $pivote['ccosto'] = $row->ccosto; $pivote['msql'] = $mSQL; $encab[$row->comprob][] = $pivote; //$acumulador[0]+=$row->debe; //$acumulador[1]+=$row->haber; } $pivote['origen'] = $pivote['cuenta'] = $pivote['referen'] = $pivote['concepto'] = $pivote['sucursal'] = ''; $pivote['debe'] = nformat($acumulador[0]); $pivote['haber'] = nformat($acumulador[1]); $pivote['diferencia'] = nformat($acumulador[0] - $acumulador[1]); //$encab[$row->comprob][]=$pivote; } } foreach ($encab as $comprob => $tabla) { if (array_key_exists($comprob, $encab_titu)) { $titulo = $encab_titu[$comprob]; } else { $titulo = 'HUERFANO'; } $grid = new DataGrid2($titulo, $tabla); $grid->per_page = count($tabla); $grid->use_function('dif', 'escasql'); //$grid->column('Orígen', 'msql'); $grid->column('Orígen', '<span title="<escasql><#msql#></escasql>" onclick="prompt(\'Consulta\',this.title)"><#origen#></span>'); $grid->column('Cuenta', 'cuenta'); $grid->column('Referencia', 'referen'); $grid->column('Concepto', 'concepto'); $grid->column('Debe', '<nformat><#debe#></nformat>', 'align=\'right\''); $grid->column('Haber', '<nformat><#haber#></nformat>', 'align=\'right\''); //$grid->column("Diferencia" , "<dif><#debe#>|<#haber#></dif>",'align=right'); $grid->column('Sucursal', 'sucursal', 'align=\'right\''); $grid->column('C. Costo', 'ccosto', 'align=\'right\''); $grid->totalizar('debe', 'haber'); $grid->build(); //echo $grid->db->last_query(); $data['content'] .= $grid->output; } } $data['content'] .= HTML::button('regresa', RAPYD_BUTTON_BACK, $action, 'button', 'button'); $data['head'] = $this->rapyd->get_head(); $data['title'] = "<h1>Ejecución de la regla {$modulo}</h1>"; $this->load->view('view_ventanas', $data); }
function ejecutar() { $this->rapyd->load("datagrid2", "fields"); function dif($a, $b) { return number_format($a - $b, 2, ',', '.'); } $modulo = $_POST['modulo']; $mFECHA = date("Ymd", timestampFromInputDate($_POST['fecha'], 'd/m/Y')); $mTABLA = $this->datasis->dameval("SELECT origen FROM reglascont WHERE modulo='{$modulo}' AND regla=1 "); $mCONTROL = $this->datasis->dameval("SELECT control FROM reglascont WHERE modulo='{$modulo}' AND regla=1 "); $action = "javascript:window.location='" . site_url("contabilidad/reglas/index/{$mFECHA}") . "'"; $data['content'] = ''; $pos = stripos($mCONTROL, 'YEAR_MONTH'); if ($pos !== FALSE) { $mFECHA = 'extract(year_month from ' . $mFECHA . ')'; } else { $pos = 0; $pos = stripos($mCONTROL, 'MONTH'); if ($pos !== FALSE) { $mFECHA = 'MONTH(' . $mFECHA . ')'; } } $query = $this->db->query("SELECT {$mCONTROL} FROM {$mTABLA} WHERE {$mCONTROL}={$mFECHA} GROUP BY {$mCONTROL} "); foreach ($query->result_array() as $fila) { $aregla = $this->_hace_regla($modulo, $mCONTROL, $fila[$mCONTROL]); //echo '<pre>';print_r($aregla);'</pre>'; $encab = $encab_titu = $pivote = array(); //Construye los encabezados print_r($aregla); foreach ($aregla['casi'] as $mSQL) { $casi_query = $this->db->query($mSQL); if ($casi_query->num_rows() > 0) { $row = $casi_query->row(); $encab[$row->comprob] = array(); $encab_titu[$row->comprob] = '<b>Comprobante:</b> ' . $row->comprob . ' <b>Fecha:</b> ' . date("d/m/Y", timestampFromInputDate($row->fecha, 'Y-m-d')) . ' <b>Concepto:</b> ' . $row->concepto; } } //echo $query; //Construye la data de los encabezados foreach ($aregla['itcasi'] as $mSQL) { $itcasi_query = $this->db->query($mSQL); $acumulador = array(0, 0); if ($itcasi_query->num_rows() > 0) { foreach ($itcasi_query->result() as $row) { $pivote['origen'] = $row->clave; $pivote['cuenta'] = $row->cuenta; $pivote['referen'] = $row->referen; $pivote['concepto'] = $row->concepto; $pivote['debe'] = $row->debe; $pivote['haber'] = $row->haber; $pivote['sucursal'] = $row->sucursal; $pivote['ccosto'] = $row->ccosto; $encab[$row->comprob][] = $pivote; //$acumulador[0]+=$row->debe; //$acumulador[1]+=$row->haber; } $pivote['origen'] = $pivote['cuenta'] = $pivote['referen'] = $pivote['concepto'] = $pivote['sucursal'] = ''; $pivote['debe'] = number_format($acumulador[0], 2, ',', '.'); $pivote['haber'] = number_format($acumulador[1], 2, ',', '.'); $pivote['diferencia'] = number_format($acumulador[0] - $acumulador[1], 2, ',', '.'); //$encab[$row->comprob][]=$pivote; } } foreach ($encab as $comprob => $tabla) { if (array_key_exists($comprob, $encab_titu)) { $titulo = $encab_titu[$comprob]; } else { $titulo = 'HUERFANO'; } $grid = new DataGrid2($titulo, $tabla); $grid->per_page = count($tabla); $grid->use_function('dif'); $grid->column('Orígen', 'origen'); $grid->column('Cuenta', 'cuenta'); $grid->column('Referencia', 'referen'); $grid->column('Concepto', 'concepto'); $grid->column("Debe", "<nformat><#debe#></nformat>", "align=right"); $grid->column("Haber", "<nformat><#haber#></nformat>", "align=right"); //$grid->column("Diferencia" , "<dif><#debe#>|<#haber#></dif>",'align=right'); $grid->column('Sucursal', 'sucursal', 'align=right'); $grid->column('C. Costo', 'ccosto', 'align=right'); $grid->totalizar('debe', 'haber'); $grid->build(); //echo $grid->db->last_query(); $data['content'] .= $grid->output; } } $data['content'] .= $this->html->button('regresa', RAPYD_BUTTON_BACK, $action, "button", "button"); $data["head"] = $this->rapyd->get_head(); $data['title'] = "Ejecución de la regla {$modulo}"; $this->load->view('view_ventanas', $data); }
function cdatos() { $this->rapyd->uri->keep_persistence(); $this->rapyd->load('datagrid2', 'fields'); function ctipo($id, $tipo, $ejecuta) { if ($tipo == 'C') { return 'Calculado'; } else { $rt = str_replace('return', '', $ejecuta); $rt = str_replace(';', '', $rt); $name = "pvalor[{$id}]"; $data = array('name' => $name, 'id' => $name, 'value' => trim($rt), 'maxlength' => '100', 'size' => '15', 'class' => 'inputnum'); return form_input($data); } } //echo date('Y-m-d H:i:s',mktime(0, 0, 0, date('n')-1, 1)).' - '.date('Y-m-d H:i:s',mktime(0, 0, 0, date('n') , 0)); $fdesde = new dateonlyField('Fecha de inicio: ', 'fdesde'); $fhasta = new dateonlyField('Fecha Final: ', 'fhasta'); $fdesde->insertValue = date('Y-m-d H:i:s', mktime(0, 0, 0, date('n') - 1, 1)); $fhasta->insertValue = date('Y-m-d H:i:s', mktime(0, 0, 0, date('n'), 0)); $fdesde->status = $fhasta->status = 'create'; $fdesde->size = $fhasta->size = 8; $fdesde->dbformat = $fhasta->dbformat = 'Ymd'; $fdesde->build(); $fhasta->build(); $fcorte1 = new dateonlyField('Fecha de Corte: ', 'fcorte1'); $fcorte1->insertValue = date('Y-m-d H:i:s', mktime(0, 0, 0, date('n') - 1, 15)); $fcorte1->dbformat = 'Ymd'; $fcorte1->status = 'create'; $fcorte1->size = 8; $fcorte1->build(); $error = $msj = ''; if ($this->input->post('pros') !== false) { $fdesde->_getNewValue(); $fhasta->_getNewValue(); $fcorte1->_getNewValue(); $url = $this->url . 'ejecutor/' . $fdesde->newValue . '/' . $fcorte1->newValue . '/' . $fhasta->newValue; redirect($url); $pmargen = $this->input->post('pmargen'); $pobject = $this->input->post('pobjetivo'); $pvalor = $this->input->post('pvalor'); if (is_array($pmargen)) { if (array_sum($pmargen) == 100) { foreach ($pmargen as $id => $pm) { if (is_numeric($pobject[$id])) { $po = $pobject[$id]; } else { $po = 0; } if (isset($pvalor[$id]) && is_numeric($pvalor[$id])) { $pv = 'return ' . $pvalor[$id] . ';'; } else { $pv = null; } if (is_numeric($pm) && $pm >= 0) { $this->db->where('id', $id); $data = array(); $data['puntos'] = $pm; $data['objetivo'] = $po; if (!empty($pv)) { $data['ejecuta'] = $pv; } $this->db->update('gestion_indicador', $data); } else { $error .= 'Valor no numérico o negativo ' . $id; } } } else { $error .= 'La suma de los valores debe dar exactamente 100'; } } else { $error = 'No se puede procesar el requerimiento'; } } $ggrid = form_open('/finanzas/gestion/cdatos') . '<p align="center">'; $ggrid .= '<b>' . $fdesde->label . '</b>' . $fdesde->output; $ggrid .= '<b>' . $fhasta->label . '</b>' . $fhasta->output; $ggrid .= br() . '<b>' . $fcorte1->label . '</b>' . $fcorte1->output; $ggrid .= '</p>'; $grid = new DataGrid2('Selección de indicadores'); $grid->agrupar(' ', 'nomgrup'); $grid->use_function('ctipo'); $select = array('a.descrip', 'a.indicador', 'a.tipo', 'a.puntos', 'a.id', 'a.objetivo', 'a.ejecuta', 'b.nombre AS nomgrup', 'unidad'); $grid->db->select($select); $grid->db->from('gestion_indicador AS a'); $grid->db->join('gestion_grupo AS b', 'a.id_gestion_grupo=b.id'); $grid->db->where('a.activo', 'S'); $grid->order_by('nomgrup'); $campo = new inputField('Campo', 'puntos'); $campo->grid_name = 'pmargen[<#id#>]'; $campo->status = 'modify'; $campo->size = 6; $campo->autocomplete = false; $campo->css_class = 'inputnum'; $campo->disable_paste = true; $meta = new inputField('Meta', 'objetivo'); $meta->grid_name = 'pobjetivo[<#id#>]'; $meta->status = 'modify'; $meta->size = 15; $meta->autocomplete = false; $meta->css_class = 'inputnum'; $meta->disable_paste = true; $grid->column_orderby('Indicador', 'indicador', 'indicador'); $grid->column('Puntos %', $campo, 'align=\'center\''); $grid->column('Objetivo', $meta, 'align=\'center\''); $grid->column('Unidad', 'unidad'); $grid->column('Tipo', "<ctipo><#id#>|<#tipo#>|<#ejecuta#></ctipo>"); $action = "javascript:window.location='" . site_url('ventas/metas/filteredgrid') . "'"; $grid->button('btn_regresa', 'Regresar', $action, 'TR'); $grid->submit('pros', 'Generar', 'BR'); $grid->build(); $ggrid .= $grid->output; $ggrid .= form_close(); $script = '<script language="javascript" type="text/javascript"> $(function(){ $(".inputnum").numeric("."); $(\'input[name^="pmargen"]\').focus(function() { obj = $(this); vval = Number(obj.val()); tota=0; $(\'input[name^="pmargen"]\').each(function (i) { tota+=Number(this.value); }); val=roundNumber(100-(tota-vval),2); obj.val(val); obj.select(); }); }); </script>'; $data['content'] = '<div class="alert">' . $error . '</div>'; $data['content'] .= '<div>' . $msj . '</div>'; $data['content'] .= $ggrid; $data['title'] = heading('Indicadores de Gestión'); $data['script'] = $script; $data['script'] .= phpscript('nformat.js'); $data['head'] = $this->rapyd->get_head() . script('jquery.pack.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js'); $data['head'] .= style('estilos.css'); $data['head'] .= phpscript('nformat.js'); $this->load->view('view_ventanas', $data); }
function filteredgrid() { $this->rapyd->load('datafilter', 'datagrid2'); function convierte($par, $link) { $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5', 'style' => 'text-decoration:none;font-weight: bold;font-size:0.85em;color:#2357B5'); switch ($par) { case '3I': return anchor_popup($link, 'Ventas Caja', $atts); break; case '3R': return anchor_popup($link, 'Ventas Restaurante', $atts); break; case '3M': return anchor_popup($link, 'Ventas Mayor', $atts); break; case '1T': return anchor_popup($link, 'Transferencias', $atts); break; case '2C': return anchor_popup($link, 'Compras', $atts); break; case '4N': return anchor_popup($link, 'Nota/Entrega', $atts); break; case '6C': return anchor_popup($link, 'Conversión', $atts); break; case '5C': return anchor_popup($link, 'Ajuste', $atts); break; case '5D': return anchor_popup($link, 'Consignación', $atts); break; case '0F': return anchor_popup($link, 'Inventario', $atts); break; case '9F': return anchor_popup($link, 'Inventario', $atts); break; default: return $par; } } function colorgal($par) { switch ($par) { case '3I': return '( 0,163, 0, 0.4)'; break; case '3R': return '( 0,163, 0, 0.4)'; break; case '3M': return '( 0,163, 0, 0.4)'; break; case '1T': return '(255, 34, 5, 0.4)'; break; case '2C': return '(183, 84, 35, 0.4)'; break; case '4N': return '( 17, 19,148, 0.4)'; break; case '6C': return '( 0, 0, 0, 0.4)'; break; case '5C': return '( 65,185,255, 0.4)'; break; case '5D': return '(144, 0,255, 0.4)'; break; case '0F': return '(255,221, 0, 0.4)'; break; case '9F': return '(255,221, 0, 0.4)'; break; default: return '(255,255,255, 0.4)'; } } $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'precio4' => 'Precio 4'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar en inventario'); $boton = $this->datasis->modbus($modbus); $maxfecha = $this->datasis->dameval("SELECT MAX(fecha) AS fecha FROM costos"); if (!empty($maxfecha)) { $corte = ' corte: <b>' . dbdate_to_human($maxfecha) . '</b>'; } else { $corte = ''; } $filter = new DataFilter('Kardex de Inventario ' . $corte); //$script= '$(function(){ $("#kardextabla").columnHover(); });'; //$filter->script($script); $filter->codigo = new inputField('Código ', 'codigo'); $filter->codigo->db_name = 'a.codigo'; $filter->codigo->rule = 'required'; $filter->codigo->operator = '='; $filter->codigo->size = 25; $filter->codigo->clause = 'where'; $filter->codigo->append($boton); $filter->codigo->group = 'UNO'; $filter->ubica = new dropdownField('Almacén', 'ubica'); $filter->ubica->option('', 'Todos'); $filter->ubica->db_name = 'a.ubica'; $filter->ubica->options("SELECT ubica,CONCAT(ubica,' ',ubides) descrip FROM caub WHERE gasto='N'"); $filter->ubica->operator = '='; $filter->ubica->clause = 'where'; $filter->ubica->group = 'UNO'; $filter->origen = new dropdownField('Orígen', 'origen'); $filter->origen->option('', 'Todos'); $filter->origen->option('3I', 'Ventas Caja'); $filter->origen->option('3R', 'Ventas Restaurante'); $filter->origen->option('3M', 'Ventas Mayor'); $filter->origen->option('1T', 'Transferencias'); $filter->origen->option('2C', 'Compras'); $filter->origen->option('4N', 'Nota/Entrega'); $filter->origen->option('6C', 'Conversión'); $filter->origen->option('5C', 'Ajuste de inventario'); $filter->origen->option('5D', 'Consignación'); $filter->origen->option('0F', 'Inv. Físico comienzo del día'); $filter->origen->option('9F', 'Inv. Físico final del día'); //$filter->origen->style = 'width:120px'; $filter->origen->group = 'UNO'; $filter->fechad = new dateonlyField('Desde', 'fecha', 'd/m/Y'); $filter->fechad->operator = '>='; $filter->fechad->insertValue = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') - 30, date('Y'))); $filter->fechad->group = 'DOS'; $filter->fechah = new dateonlyField('Hasta', 'fechah', 'd/m/Y'); $filter->fechah->db_name = 'fecha'; $filter->fechah->operator = '<='; $filter->fechah->insertValue = date('Y-m-d'); $filter->fechah->group = 'DOS'; $filter->fechah->clause = $filter->fechad->clause = $filter->codigo->clause = 'where'; $filter->fechah->size = $filter->fechad->size = 10; $filter->fechah->rule = $filter->fechad->rule = 'required|chfecha'; $filter->buttons('reset', 'search'); $filter->build('dataformfiltro'); $data['filtro'] = $filter->output; $code = $this->input->post('codigo'); $data['content'] = ''; $cana = 0; if ($code && $filter->is_valid()) { $dbcode = $this->db->escape($code); $mSQL = "SELECT CONCAT_WS(' ',TRIM(descrip),TRIM(descrip2)) descrip,existen,activo FROM sinv WHERE codigo={$dbcode}"; $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $row = $query->row(); $descrip = $row->descrip; $activo = $row->activo; $existen = floatval($row->existen); $actual = $this->datasis->dameval("SELECT SUM(existen) AS cana FROM itsinv WHERE codigo={$dbcode}"); if (floatval($actual) != $existen) { $this->db->simple_query("UPDATE sinv SET existen={$actual} WHERE codigo={$dbcode}"); } } else { $activo = 'N'; $descrip = 'No encontrado.'; $existen = 0; } $link = "/inventario/kardex/grid/<#origen#>/<dbdate_to_human><#fecha#>|Ymd</dbdate_to_human>/<raencode><#codigo#></raencode>/<raencode><#ubica#></raencode>"; $grid = new DataGrid2("Producto: ({$code}) {$descrip}"); $grid->table_id = 'kardextabla'; $grid->agrupar(' ', 'almacen'); $grid->use_function('convierte', 'str_replace', 'colorgal'); $grid->db->select(array('IFNULL( b.ubides , a.ubica ) almacen', 'a.ubica', 'a.fecha', 'a.venta', 'a.cantidad', 'a.saldo', 'a.monto', 'a.salcant', 'TRIM(a.codigo) AS codigo', 'a.origen', 'a.promedio', '(a.venta/a.cantidad)*(a.cantidad>0) AS vpromedio', 'ROUND(100-(a.promedio*100/(a.venta/a.cantidad)),2)*(a.origen="3I") AS vmargen', '((a.venta/a.cantidad)-a.promedio)*a.cantidad*(a.origen="3I") AS vutil', 'c.activo', 'c.grupo')); $grid->db->from('costos a'); $grid->db->join('caub b', 'b.ubica=a.ubica', 'LEFT'); $grid->db->join('sinv c', 'a.codigo=c.codigo', 'LEFT'); $grid->db->orderby('almacen, fecha, origen'); $grid->per_page = 60; $grid->column('Orígen', '<p style="background-color: rgba<colorgal><#origen#></colorgal>;font-size:1.3em;font-weight: bold;margin:0px;padding:0px;border:0px;"><convierte><#origen#>|' . $link . '</convierte></p>', 'align=\'left\' nowrap'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>'); $grid->column('Cantidad', '<nformat><#cantidad#></nformat>', 'align=\'right\''); $grid->column('<b style="color:#FFFFFF">Acumulado</b>', '<b style="font-size:1.3em"><nformat><#salcant#></nformat></b>', 'align=\'right\''); $grid->column('Monto', '<nformat><#monto#></nformat>', 'align=\'right\''); $grid->column('Saldo', '<nformat><#saldo#></nformat>', 'align=\'right\''); $grid->column('Costo Prom.', '<nformat><#promedio#></nformat>', 'align=\'right\''); $grid->column('Ventas', '<nformat><#venta#></nformat>', 'align=\'right\''); $grid->column('Precio Prom.', '<nformat><#vpromedio#></nformat>', 'align=\'right\''); $grid->column('Margen %', '<nformat><#vmargen#></nformat>', 'align=\'right\''); $grid->column('Margen Bs.', '<nformat><#vutil#></nformat>', 'align=\'right\''); $grid->build(); $data['content'] = '<h4 style="text-align:center;padding:0px;margin:0px;">Movimiento comprendido desde la fecha <b style="color:#000000; font-size:1.2em">' . $filter->fechad->value . '</b> Hasta <b style="color:#000000; font-size:1.2em">' . $filter->fechah->value . '</b></h4>'; $data['content'] .= $grid->output; $ffinal = $this->datasis->dameval("SELECT MAX(fecha) AS fecha FROM costos WHERE codigo={$dbcode}"); if (!empty($ffinal)) { $dbfinal = $this->db->escape($ffinal); $ventas = $this->datasis->dameval("SELECT SUM(IF(tipoa='D',-1,1)*cana) AS cana FROM sitems WHERE codigoa={$dbcode} AND fecha>{$dbfinal} AND MID(numa,1,1)<>'_' AND tipoa IN ('F','D')"); $compras = $this->datasis->dameval("SELECT SUM(IF(b.tipo_doc='ND',-1,1)*a.cantidad) AS cana FROM itscst AS a JOIN scst AS b ON a.control=b.control WHERE a.codigo={$dbcode} AND b.actuali>=b.fecha AND b.recep>{$dbfinal}"); $nentreg = $this->datasis->dameval("SELECT SUM(a.cana) AS cana FROM itsnte AS a JOIN snte AS b ON a.numero=b.numero WHERE a.codigo={$dbcode} AND estampa>{$dbfinal}"); $ajustes = $this->datasis->dameval("SELECT SUM(IF(b.tipo='E',1,-1)*cantidad) AS cana FROM itssal AS a JOIN ssal AS b ON a.numero = b.numero WHERE a.codigo = {$dbcode} AND b.fecha>{$dbfinal}"); $conver = $this->datasis->dameval("SELECT SUM(a.entrada-a.salida) AS cana FROM itconv AS a JOIN conv AS b ON a.numero = b.numero WHERE a.codigo = {$dbcode} AND b.fecha>{$dbfinal}"); if ($this->db->table_exists('itscon')) { $consi = $this->datasis->dameval("SELECT SUM(IF(tipod='E',-1,1)*a.cana) AS cana FROM itscon AS a JOIN scon AS b ON a.id_scon=b.id WHERE a.codigo = {$dbcode} AND b.fecha>{$dbfinal}"); } else { $consi = 0; } $ventas = empty($ventas) ? htmlnformat(0) : htmlnformat($ventas); $compras = empty($compras) ? htmlnformat(0) : htmlnformat($compras); $nentreg = empty($nentreg) ? htmlnformat(0) : htmlnformat($nentreg); $actual = empty($actual) ? htmlnformat(0) : htmlnformat($actual); $ajustes = empty($ajustes) ? htmlnformat(0) : htmlnformat($ajustes); $conver = empty($conver) ? htmlnformat(0) : htmlnformat($conver); $consi = empty($consi) ? htmlnformat(0) : htmlnformat($consi); if ($activo == 'S') { $sactivo = '<span style=\'font-size:0.7em;color:green;\'>ACTIVO</span>'; } else { $sactivo = '<span style=\'font-size:0.7em;color:red;\'>INACTIVO</span>'; } $optadd = '<div style="">'; $optadd .= ' <table>'; $optadd .= ' <tr><td colspan=\'5\'><b style="text-size:1.4em;font-weight:bold;">Movimientos posteriores a la fecha ' . dbdate_to_human($ffinal) . ' para todos los almacenes</b></td></tr>'; $optadd .= " <tr><td>Ventas </td><td style='text-align:right' ><b> {$ventas}</b></td><td style='padding-left:50px;'>Ajustes </td><td style='text-align:right' ><b>{$ajustes}</b></td><td rowspan='3' style='text-align:center'>Existencia actual <p style='font-size:2em;padding:0 0 0 0;margin: 0 0 0 0;font-weight:bold;'>{$actual}</p>{$sactivo}</td></tr>"; $optadd .= " <tr><td>Compras </td><td style='text-align:right' ><b>{$compras}</b></td><td style='padding-left:50px;'>Conversiones </td><td style='text-align:right' ><b> {$conver}</b></td></tr>"; $optadd .= " <tr><td>N.Entrega</td><td style='text-align:right' ><b>{$nentreg}</b></td><td style='padding-left:50px;'>Consignaciones</td><td style='text-align:right' ><b> {$consi}</b></td></tr>"; $optadd .= ' </table>'; $optadd .= '</div>'; } else { $optadd = ''; } $data['content'] .= $optadd; //echo $grid->db->last_query(); $cana = $grid->recordCount; } if ($cana <= 0) { $data['content'] .= '<script type="text/javascript"> $(function(){ $("#cajafiltro").show(); }); </script>'; } $data['forma'] = ''; $data['script'] = script('jquery.js') . '<style type="text/css">#kardextabla tr:hover { background-color: #ffff99; }</style>'; //$data['script'].= script('plugins/jquery.columnhover.pack.js'); $data['title'] = heading('Kardex de Inventario'); $data['head'] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function filteredgrid() { $this->rapyd->load('datafilter', 'datagrid2'); $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); function convierte($par, $link) { $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); switch ($par) { case '3I': return anchor_popup($link, 'Ventas Caja', $atts); break; case '3M': return anchor_popup($link, 'Ventas Mayor', $atts); break; case '1T': return anchor_popup($link, 'Transferencias', $atts); break; case '2C': return anchor_popup($link, 'Compras', $atts); break; case '4N': return anchor_popup($link, 'Nota/Entrega', $atts); break; case '6C': return 'Conversiones'; break; case '5A': return 'Ajustes'; break; case '0F': return 'Inventario'; break; case '9F': return 'Inventario'; break; default: return $par; } } $modbus = array('tabla' => 'maes', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'precio4' => 'Precio 4', 'precio5' => 'Precio 5'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar en inventario'); $boton = $this->datasis->modbus($modbus); $maxfecha = $this->datasis->dameval("SELECT MAX(fecha) AS fecha FROM costos"); if (!empty($maxfecha)) { $corte = ' corte: <b>' . dbdate_to_human($maxfecha) . '</b>'; } else { $corte = ''; } $filter = new DataFilter('Kardex de Inventario (' . anchor_popup('/supermercado/lfisico', 'Resumen de inventarios', $atts) . ') ' . $corte); $filter->codigo = new inputField('Código de Producto', 'codigo'); $filter->codigo->size = '10'; $filter->codigo->rule = 'required'; $filter->codigo->append($boton); $filter->codigo->group = 'UNO'; $filter->ubica = new dropdownField('Almacén', 'ubica'); $filter->ubica->option('', 'Todos'); $filter->ubica->db_name = 'a.ubica'; $filter->ubica->options("SELECT ubica,CONCAT(ubica,' ',ubides) descrip FROM caub WHERE gasto='N' "); $filter->ubica->operator = '='; $filter->ubica->clause = 'where'; $filter->ubica->group = 'UNO'; $filter->fechad = new dateonlyField('Desde', 'fecha', 'd/m/Y'); $filter->fechad->operator = '>='; $filter->fechad->insertValue = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') - 30, date('Y'))); $filter->fechad->group = 'DOS'; $filter->fechah = new dateonlyField('Hasta', 'fechah', 'd/m/Y'); $filter->fechah->db_name = 'fecha'; $filter->fechah->operator = '<='; $filter->fechah->insertValue = date('Y-m-d'); $filter->fechah->group = 'DOS'; $filter->fechah->clause = $filter->fechad->clause = $filter->codigo->clause = 'where'; $filter->fechah->rule = $filter->fechad->rule = 'required|chfecha'; $filter->fechah->size = $filter->fechad->size = 10; $filter->buttons('reset', 'search'); $filter->build('dataformfiltro'); $data['content'] = $filter->output; $code = $this->input->post('codigo'); if ($code && $filter->is_valid()) { $dbcode = $this->db->escape($code); $mSQL = "SELECT descrip FROM maes WHERE codigo={$dbcode}"; $ffinal = $this->datasis->dameval("SELECT MAX(fecha) AS fecha FROM costos WHERE codigo={$dbcode}"); $query = $this->db->query($mSQL); $descrip = ''; if ($query->num_rows() > 0) { $row = $query->row(); $descrip = trim($row->descrip); //$activo =trim($row->activo); $actual = $this->datasis->dameval("SELECT SUM(cantidad) AS cana FROM ubic WHERE codigo={$dbcode}"); $fracci = $this->datasis->dameval("SELECT SUM(fraccion) AS cana FROM ubic WHERE codigo={$dbcode}"); } else { //$activo =''; } $link = "/supermercado/kardex/grid/<#origen#>/<dbdate_to_human><#fecha#>|Ymd</dbdate_to_human>/<str_replace>/|:slach:|<#codigo#></str_replace>/<#ubica#>"; $grid = new DataGrid2("({$code}) {$descrip}"); $grid->agrupar('Almacén: ', 'almacen'); $grid->use_function('convierte', 'number_format', 'str_replace'); $grid->db->select("IFNULL( b.ubides , a.ubica ) almacen,a.ubica ,a.fecha, a.venta, a.cantidad, a.saldo, a.monto, a.salcant, a.codigo, a.origen, a.promedio"); $grid->db->from('costos a'); $grid->db->join('caub b ', 'b.ubica=a.ubica', 'LEFT'); $grid->db->orderby('almacen, fecha, origen'); $grid->per_page = 20; $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>'); $grid->column('Orígen', "<convierte><#origen#>|{$link}</convierte>", 'align=left'); $grid->column('Cantidad', '<nformat><#cantidad#></nformat>', 'align=right'); $grid->column('Acumulado', '<nformat><#salcant#></nformat>', 'align=right'); $grid->column('Monto', '<nformat><#monto#></nformat>', 'align=right'); $grid->column('Saldo', '<nformat><#saldo#></nformat>', 'align=right'); $grid->column('Costo Prom.', '<nformat><#promedio#></nformat>', 'align=right'); $grid->column('Ventas', '<nformat><#venta#></nformat>', 'align=right'); $grid->build(); $data['content'] .= $grid->output; //echo $grid->db->last_query(); } if (!empty($ffinal)) { $dbfinal = $this->db->escape($ffinal); $mayor = $this->datasis->dameval("SELECT SUM(cantidad) AS cana FROM itfmay WHERE codigo={$dbcode} AND fecha>{$dbfinal}"); $ventas = $this->datasis->dameval("SELECT SUM(cantidad) AS cana FROM positfact WHERE codigo={$dbcode} AND fecha>{$dbfinal}"); $compras = $this->datasis->dameval("SELECT SUM(IF(b.tipo_doc='ND',-1,1)*a.cantidad) AS cana FROM itscst AS a JOIN scst AS b ON a.control=b.control WHERE a.codigo={$dbcode} AND b.actuali>=b.fecha AND b.actuali>{$dbfinal}"); $nentreg = $this->datasis->dameval("SELECT SUM(a.cana) AS cana FROM itsnte AS a JOIN snte AS b ON a.numero=b.numero WHERE a.codigo={$dbcode} AND b.fecha>{$dbfinal}"); $ajustes = $this->datasis->dameval("SELECT SUM(IF(b.tipo='E',1,-1)*cantidad) AS cana FROM itssal AS a JOIN ssal AS b ON a.numero = b.numero WHERE a.codigo = {$dbcode} AND b.fecha>{$dbfinal}"); $conver = $this->datasis->dameval("SELECT SUM(a.entrada-a.salida) AS cana FROM itconv AS a JOIN conv AS b ON a.numero = b.numero WHERE a.codigo = {$dbcode} AND b.fecha>{$dbfinal}"); $ventas = empty($ventas) ? htmlnformat(0) : htmlnformat($ventas); $compras = empty($compras) ? htmlnformat(0) : htmlnformat($compras); $nentreg = empty($nentreg) ? htmlnformat(0) : htmlnformat($nentreg); $actual = empty($actual) ? htmlnformat(0) : htmlnformat($actual); $ajustes = empty($ajustes) ? htmlnformat(0) : htmlnformat($ajustes); $conver = empty($conver) ? htmlnformat(0) : htmlnformat($conver); $consi = empty($consi) ? htmlnformat(0) : htmlnformat($consi); $mayor = empty($mayor) ? htmlnformat(0) : htmlnformat($mayor); //if($activo=='S'){ // $sactivo='<span style=\'font-size:0.7em;color:green;\'>ACTIVO</span>'; //}else{ // $sactivo='<span style=\'font-size:0.7em;color:red;\'>INACTIVO</span>'; //} $optadd = '<div style="">'; $optadd .= ' <table>'; $optadd .= ' <tr><td colspan=\'5\'><b style="text-size:1.4em;font-weight:bold;">Movimientos posteriores a la fecha ' . dbdate_to_human($ffinal) . ' para todos los almacenes</b></td></tr>'; $optadd .= " <tr><td>Ventas </td><td style='text-align:right' ><b> {$ventas}</b></td><td style='padding-left:50px;'>Ajustes </td><td style='text-align:right' ><b>{$ajustes}</b></td><td rowspan='3' style='text-align:center'>Existencia actual <p style='font-size:2em;padding:0 0 0 0;margin: 0 0 0 0;font-weight:bold;'>{$actual} / {$fracci}</p></td></tr>"; $optadd .= " <tr><td>Compras </td><td style='text-align:right' ><b>{$compras}</b></td><td style='padding-left:50px;'>Conversiones </td><td style='text-align:right' ><b> {$conver}</b></td></tr>"; $optadd .= " <tr><td>N.Entrega</td><td style='text-align:right' ><b>{$nentreg}</b></td><td style='padding-left:50px;'>Mayor </td><td style='text-align:right' ><b> {$mayor}</b></td></tr>"; $optadd .= ' </table>'; $optadd .= '</div>'; } else { $optadd = ''; } $data['content'] .= $optadd; $data['title'] = heading('Kardex de Inventario'); $data['head'] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function _showordiva($id, $stat = 'C') { $this->rapyd->load('datagrid2'); $grid = new DataGrid2('Lista de impuestos al valor agregado', 'ordiva'); $grid->totalizar('montoiva'); $grid->db->where('ordeni', $id); $grid->use_function('str_pad'); $grid->order_by('id', 'desc'); $grid->per_page = 5; $status = $this->datasis->dameval('SELECT status FROM ordi WHERE numero=' . $this->db->escape($id)); $uri = $status != 'C' ? anchor('import/ordi/ordiva/' . $id . '/modify/<#id#>', '<nformat><#tasa#></nformat>%') : '<nformat><#tasa#></nformat>%'; $grid->column('Tasa', $uri); $grid->column('Base Imponible', '<nformat><#base#></nformat>', 'align=\'right\''); $grid->column('IVA', '<nformat><#montoiva#></nformat>', 'align=\'right\''); $grid->column('Concepto', 'concepto'); if ($stat != 'C') { $grid->add('import/ordi/ordiva/' . $id . '/create', 'Agregar IVA'); } $grid->build(); //echo $grid->db->last_query(); if ($grid->recordCount > 0) { return $grid->output; } elseif ($stat != 'C') { return $grid->_button_container['TR'][0]; } else { return ''; } }
function vista() { $this->rapyd->load("datagrid2"); $f1 = $this->input->post('fechad'); $f2 = $this->input->post('fechah'); $codigoadm = $this->input->post('codigoadm'); $fondo = $this->input->post('fondo'); $d = explode('/', $this->input->post('fechad')); $h = explode('/', $this->input->post('fechah')); $fechad = implode('', array($d[2], $d[1], $d[0])); $fechah = implode('', array($h[2], $h[1], $h[0])); function blanco($codigo) { if ($codigo > 0) { return $codigo = str_pad($codigo, 8, '0', STR_PAD_LEFT); } } function union($fecha, $codigo) { return date('Ym', strtotime($fecha)) . str_pad($codigo, 8, '0', STR_PAD_LEFT); } $uri = anchor($this->url . 'dataedit/show/<#numero#>', '<str_pad><#numero#>|8|0|STR_PAD_LEFT</str_pad>'); $query = "SELECT COUNT(*) FROM riva WHERE status='B' AND tipo_doc<>'AN' AND emision >= {$fechad} AND emision<={$fechah}"; if (!empty($codigoadm)) { $query .= " AND codigoadm='{$codigoadm}'"; } if (!empty($fondo)) { $query .= " AND fondo='{$fondo}'"; } $cant = $this->datasis->dameval($query); $grid = new DataGrid2("Lista de " . $this->titp); $grid->db->from("riva"); $grid->db->where("status", "B"); $grid->db->where("tipo_doc <>", "AN"); $grid->db->where("emision >=", $fechad); $grid->db->where("emision <=", $fechah); if (!empty($codigoadm)) { $grid->db->where("codigoadm", $codigoadm); } if (!empty($fondo)) { $grid->db->where("fondo", $fondo); } $grid->order_by("nrocomp", "desc"); $grid->per_page = 1000; $grid->use_function('substr', 'str_pad', 'blanco', 'union'); $grid->use_function('sta'); $grid->column("Número", "<union><#emision#>|<#nrocomp#></union>"); $grid->column("O. Compra", "<blanco><#ocompra#>|8|0|STR_PAD_LEFT</blanco>"); $grid->column("O. Pago", "<blanco><#odirect#>|8|0|STR_PAD_LEFT</blanco>"); $grid->column("Multiple", "<blanco><#itfac#>|8|0|STR_PAD_LEFT</blanco>"); $grid->column("Emision", "<dbdate_to_human><#emision#></dbdate_to_human>", "align='center'"); $grid->column("Tipo", "tipo_doc"); $grid->column("Factura", "numero"); $grid->column("Nro. Control", "nfiscal"); $grid->column("Fecha Fac", "<dbdate_to_human><#ffactura#></dbdate_to_human>", "align='center'"); $grid->column("RIF", "rif"); $grid->column("Monto", "<number_format><#reiva#>|2|,|.</number_format>", "align='right'"); $grid->column("Est. Admin", "codigoadm"); $grid->column("Fondo", "fondo"); $grid->totalizar('reiva'); $grid->build(); $campo = "\n \t\t<input size='100' type='hidden' name='fechad' value='{$fechad}'>\n \t\t<input size='100' type='hidden' name='fechah' value='{$fechah}'>\n \t\t<input size='100' type='hidden' name='cant' value='{$cant}'>\n \t\t<input size='100' type='hidden' name='codigoadm' value='{$codigoadm}'>\n \t\t<input size='100' type='hidden' name='fondo' value='{$fondo}'>\n \t\t"; //$salida = anchor("tesoreria/piva/guardar/$fechad/$fechah/$cant","Crear orden de Pago"); $data['content'] = anchor($this->url . "nuevo", 'Ir atras') . $grid->output . form_open($this->url . 'guardar') . $campo . form_submit('mysubmit', 'Guardar') . form_close(); $data['title'] = " {$this->titp} "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function resumen() { $this->rapyd->load('datagrid2', 'datafilter', 'datatable'); $form = new DataForm("finanzas/resumendiario/resumen/process"); $form->fecha = new dateonlyField("Fecha", "fecha"); $form->fecha->insertValue = date("Y-m-d"); $form->fecha->rule = "required|chfecha"; $form->fecha->size = 12; $form->submit("btnsubmit", "Consultar"); $form->build_form(); if ($form->on_success()) { $this->fecha = $form->fecha->newValue; } $dbfecha = $this->db->escape($this->fecha); //*********************************** // RESUMEN DE CAJAS (RCAJ) //*********************************** $grid = new DataGrid2("Resumen de Cajas"); $grid->db->select(array("cajero", "ingreso AS venta", "recibido", "(ingreso - recibido) AS diferencia")); $grid->db->from("rcaj"); $grid->db->where("fecha", $this->fecha); $grid->order_by("caja", "asc"); //$grid->per_page = 15; $grid->column('Caja', 'cajero', "align='center'"); $grid->column('Venta', '<nformat><#venta#></nformat>', "align='right'"); $grid->column('Recibido', '<nformat><#recibido#></nformat>', "align='right'"); $grid->column('Diferencia', '<nformat><#diferencia#></nformat>', "align='right'"); $grid->totalizar("venta", "recibido", "diferencia"); $grid->build(); //*********************************** //DISTRIBUCION DE LA COBRANZA (SFPA) //*********************************** $grid2 = new DataGrid2('Distribución de la cobranza'); $grid2->db->select(array('a.tipo', 'b.nombre', 'sum(a.monto) AS monto', 'COUNT(*) AS cantidad')); $grid2->db->from('sfpa a'); $grid2->db->join('tarjeta b', 'a.tipo=b.tipo'); $grid2->db->where('f_factura', $this->fecha); $grid2->db->groupby('a.tipo'); $grid2->order_by('a.tipo', 'asc'); //$grid2->per_page = 15; $grid2->column('Tipo', '(<#tipo#>) <#nombre#>', "align='left'"); $grid2->column('Cantidad', 'cantidad', "align='right'"); $grid2->column('Monto', '<nformat><#monto#></nformat>', "align='right'"); $grid2->totalizar('monto'); $grid2->build(); //*********************************** // VENTAS Y DEVOLUCIONES //*********************************** function vdnom($tipo_doc, $referen) { $nombre = $tipo_doc == 'D' ? 'Devoluciones ' : 'Ventas '; $nombre .= $referen == 'E' ? 'al Contado' : 'a Credito'; return $nombre; } $grid3 = new DataGrid2("Distribución de la cobranza"); $grid3->db->select(array('tipo_doc', 'referen', 'COUNT(*) AS cana', 'SUM(totals)*IF(tipo_doc = "D" ,-1,1) AS monto')); $grid3->db->from("sfac a"); $grid3->db->where('referen <>', 'P'); $grid3->db->where('fecha', $this->fecha); $grid3->db->groupby('tipo_doc'); $grid3->db->groupby('referen'); $grid3->use_function('vdnom'); $grid3->column('Tipo', '<vdnom><#tipo_doc#>|<#referen#></vdnom>', "align='left'"); $grid3->column('Cantidad', '<nformat><#cana#>|0</nformat>', "align='right'"); $grid3->column('Monto', '<nformat><#monto#></nformat>', "align='right'"); $grid3->totalizar('monto'); $grid3->build(); //*********************************** // RESUMEN DE VENTAS //*********************************** $udia = days_in_month(substr($this->fecha, 4, 2), substr($this->fecha, 0, 4)); $fdesde = substr($this->fecha, 0, 6) . '01'; $fhasta = substr($this->fecha, 0, 6) . $udia; $ano = substr($this->fecha, 0, 4); $row1 = $this->datasis->damerow("SELECT COUNT(*) AS a,SUM(totals*(IF(tipo_doc = 'F',1,-1))) AS b FROM sfac WHERE tipo_doc <>'X' AND YEAR(fecha) = {$ano} AND fecha < {$dbfecha}"); $row2 = $this->datasis->damerow("SELECT COUNT(*) AS a,SUM(totals*(IF(tipo_doc = 'F',1,-1))) AS b FROM sfac WHERE tipo_doc <>'X' AND fecha BETWEEN {$fdesde} AND {$fhasta}"); $row3 = $this->datasis->damerow("SELECT COUNT(*) AS a,SUM(totals*(IF(tipo_doc = 'F',1,-1))) AS b FROM sfac WHERE tipo_doc <>'X' AND fecha = {$dbfecha}"); $cost1 = $this->datasis->dameval("SELECT SUM(costo*cana*(IF(tipoa = 'F',1,-1))) AS a FROM sitems WHERE tipoa <>'X' AND YEAR(fecha) = {$ano} AND fecha < {$dbfecha}"); $cost2 = $this->datasis->dameval("SELECT SUM(costo*cana*(IF(tipoa = 'F',1,-1))) AS a FROM sitems WHERE tipoa <>'X' AND fecha BETWEEN {$fdesde} AND {$dbfecha}"); $cost3 = $this->datasis->dameval("SELECT SUM(costo*cana*(IF(tipoa = 'F',1,-1))) AS a FROM sitems WHERE tipoa <>'X' AND fecha = {$dbfecha}"); if (empty($row1)) { $row1 = array('a' => 0, 'b' => 0); } if (empty($row2)) { $row2 = array('a' => 0, 'b' => 0); } if (empty($row3)) { $row3 = array('a' => 0, 'b' => 0); } $row1['c'] = $cost1; $row2['c'] = $cost2; $row3['c'] = $cost3; $rdata[0] = array('a' => $row1['a'], 'b' => $row1['b'], 'c' => $row1['c'], 'd' => $row1['b'] - $row1['c'], 'razon' => 'Ventas en lo que va de año'); $rdata[1] = array('a' => $row2['a'], 'b' => $row2['b'], 'c' => $row2['c'], 'd' => $row2['b'] - $row2['c'], 'razon' => 'Ventas en lo que va de mes'); $rdata[2] = array('a' => $row3['a'], 'b' => $row3['b'], 'c' => $row3['c'], 'd' => $row3['b'] - $row3['c'], 'razon' => 'Ventas de hoy'); $grid8 = new DataGrid("Resumen de Ventas " . $this->fecha, $rdata); $grid8->column("Razón", "razon"); $grid8->column("Cantidad", "a", "align='right'"); $grid8->column("Costo", "<nformat><#c#></nformat>", "align='right'"); $grid8->column("Monto", "<nformat><#b#></nformat>", "align='right'"); $grid8->column("Margen", "<nformat><#d#></nformat>", "align='right'"); $grid8->build(); $rdata = array(); //*********************************** // CUENTAS POR COBRAR (smov) //*********************************** $grid4 = new DataGrid2('Cuentas por Cobrar'); $grid4->db->select(array("c.gr_desc grupo", "SUM((a.monto-a.abonos)*IF(tipo_doc='AN',-1,1))saldo")); $grid4->db->from('smov a'); $grid4->db->join('scli b', 'a.cod_cli = b.cliente'); $grid4->db->join('grcl c', 'b.grupo = c.grupo'); $grid4->db->where("a.tipo_doc IN ('FC','ND','GI','AN')"); $grid4->db->groupby('c.gr_desc'); $grid4->order_by("c.gr_desc", "asc"); //$grid4->per_page = 15; $grid4->column('Grupo de Clientes', 'grupo', "align='left'"); $grid4->column('Monto', '<nformat><#saldo#></nformat>', "align='right'"); $grid4->totalizar('saldo'); $grid4->build(); //*********************************** // GASTOS //*********************************** $row = $this->datasis->dameval("SELECT SUM(montotot) AS a FROM scst WHERE tipo_doc = 'FC' AND recep = {$dbfecha}"); $row2 = $this->datasis->dameval("SELECT SUM(totbruto) AS a FROM gser WHERE tipo_doc = 'FC' AND fecha = {$dbfecha}"); $rdata[0] = array('nombre' => 'Total de Compras', 'monto' => $row); $rdata[1] = array('nombre' => 'Total de Gastos', 'monto' => $row2); $grid7 = new DataGrid2('Total Compras y Gastos de Hoy', $rdata); $grid7->column('Razón', 'nombre'); $grid7->column('Monto', '<nformat><#monto#></nformat>', "align='right'"); $grid7->totalizar('monto'); $grid7->build(); //*********************************** // CUENTAS POR PAGAR (sprm) //*********************************** $grid5 = new DataGrid2('Cuentas por Pagar'); $grid5->db->select(array('c.gr_desc grupo', "SUM((a.monto-a.abonos)*IF(tipo_doc = 'AN',-1,1)) saldo")); $grid5->db->from('sprm a'); $grid5->db->join('sprv b', 'a.cod_prv = b.proveed'); $grid5->db->join('grpr c', 'b.grupo = c.grupo'); $grid5->db->where("a.tipo_doc IN ('FC','ND','GI','AN')"); $grid5->db->groupby('c.gr_desc'); $grid5->order_by('c.gr_desc', 'asc'); //$grid5->per_page = 15; $grid5->column('Grupo de Proveedoores', 'grupo', "align='left'"); $grid5->column('Monto', '<nformat><#saldo#></nformat>', "align='right'"); $grid5->totalizar('saldo'); $grid5->build(); //*********************************** // PROMEDIO INVENTARIO (sinv) //*********************************** $grid6 = new DataGrid2('Total de Inventario'); $grid6->db->select(array('d.descrip AS descrip', 'SUM(a.pond*a.existen) AS suma')); $grid6->db->from('sinv a'); $grid6->db->join('grup b ', 'a.grupo = b.grupo'); $grid6->db->join('line c ', 'b.linea = c.linea'); $grid6->db->join('dpto d ', 'd.depto = c.depto'); $grid6->db->groupby('c.depto'); $grid6->db->order_by('d.descrip'); //$grid6->per_page = 15; $grid6->column('Departamento', 'descrip', "align='left'"); $grid6->column('Monto', '<nformat><#suma#></nformat>', "align='right'"); $grid6->totalizar('suma'); $grid6->build(); $data['rcaj'] = $grid->output; $data['sfpa'] = $grid2->output; $data['tot'] = $grid3->output; $data['resven'] = $grid8->output; $data['smov'] = $grid4->output; $data['scstgser'] = $grid7->output; $data['sprm'] = $grid5->output; $data['sinv'] = $grid6->output; $data0['content'] = $form->output . $this->load->view('view_resumendiario', $data, TRUE); $data0['head'] = $this->rapyd->get_head(); $data0['title'] = "<h1>" . $this->t**s . " para la fecha " . dbdate_to_human($this->fecha) . "</h1>"; $this->load->view('view_ventanas', $data0); }
function ver_cliente($cli) { function ractivo($estado, $numero) { if ($estado == 'R') { $retorna = array('name' => $numero, 'id' => $estado, 'value' => 'accept', 'checked' => TRUE); } else { $retorna = array('name' => $numero, 'id' => $estado, 'value' => 'accept', 'checked' => FALSE); } return form_checkbox($retorna); } $this->rapyd->load("datafilter", "datagrid2"); $cliente = $this->datasis->dameval("Select nombre from scli where cliente='" . $cli . "'"); //echo $cliente; $filter = new DataFilter("Filtro de Control de Tiket"); $select = array("a.id as idm", "a.sucursal", "a.asignacion", "a.idt as idt", "a.padre", "a.pertenece", "a.prioridad", "a.usuario as usuarios", "a.contenido", "a.estampa", "a.actualizado", "a.estado as testado", "IF(a.estado='N','Nuevo',IF(a.estado='R','Resuelto',IF(a.estado='P','Pendiente','En Proceso')))as estado", "b.id", "b.cliente as clientes", "b.url", "b.basededato", "b.puerto", "b.puerto", "b.usuario", "b.clave", "b.observacion", "c.nombre", "a.minutos"); $filter->db->select($select); $filter->db->from("tiketc AS a"); $filter->db->join("tiketconec AS b", "a.sucursal=b.id"); $filter->db->join("scli AS c", "b.cliente=c.cliente"); $filter->db->where("b.cliente", "{$cli}"); $filter->db->where("a.estado !=", "R"); $filter->db->where("a.estado !=", "C"); $filter->estado = new dropdownField("Estado", "estado"); $filter->estado->option("P", "Pendiente"); $filter->prioridad = new dropdownField("Prioridad", "prioridad"); $filter->prioridad->option("", "Todos"); $filter->asignacion = new dropdownField("Asignacion", "asignacion"); $filter->asignacion->option("", "Todos"); $filter->asignacion->options("SELECT codigo, codigo as value FROM tiketservi"); $filter->asignacion->style = "width:150px"; $filter->nombre = new inputField("Nombre", "nombre"); $filter->nombre->size = 40; $filter->usuario = new inputField("Usuario", "usuario"); $filter->usuario->size = 20; $filter->buttons("reset", "search"); $filter->build('dataformfiltro'); $ticket = anchor('supervisor/tiket/traertiket/', 'Traer Todos los Ticket'); $atras = anchor('supervisor/tiketmaes/', img(array('src' => 'images/regresar.jpg', 'border' => '0', 'alt' => 'Editar', 'height' => '40'))); $uri2 = anchor('supervisor/tiketmaes/traertiket/' . $cli, 'Traer Ticket'); $uri_3 = anchor("supervisor/tiketc/dataedit/modify/<#idm#>", img(array('src' => 'images/editar.png', 'border' => '0', 'alt' => 'Editar', 'height' => '12'))); $grid = new DataGrid2($atras . '<br><center>Lista de Ticket Pendientes y Nuevos -->' . $uri2 . "</center>"); $grid->order_by("a.id", "desc"); $grid->per_page = 10; $link = anchor("supervisor/tiketc/dataedit/modify/<#idm#>", "<#idm#>"); $grid->use_function('ractivo'); $grid->column('Acción', $uri_3, 'align=center'); $grid->column("Resuelto", "<ractivo><#testado#>|<#idm#></ractivo>", 'align="center"'); $grid->column_orderby("Id", $link, 'idm'); $grid->column_orderby("Numero tiket", "idt", 'idt'); $grid->column_orderby("Fecha de Ingreso", "<dbdate_to_human><#estampa#>|d/m/Y h:m:s</dbdate_to_human>", 'estampa'); $grid->column_orderby("Cliente", "nombre", 'nombre'); $grid->column_orderby("Estado", "estado", "estado"); $grid->column("Usuario", "usuarios"); $grid->column("Contenido", "contenido"); $grid->column("Prioridad", "prioridad"); $grid->column("Asignacion", "asignacion"); $resp = '<a href="http://<#url#>/proteoerp/supervisor/tiket/dataedit/pertenece/<#idt#>/create">Ir</a>'; $grid->column("Responder", $resp); $grid->totalizar('minutos'); $grid->build('datagridST'); //echo $grid->db->last_query(); //************ SUPER TABLE ************* $extras = ' <script type="text/javascript"> //<![CDATA[ (function() { var mySt = new superTable("demoTable", { cssSkin : "sSky", fixedCols : 1, headerRows : 1, onStart : function () { this.start = new Date();}, onFinish : function () {document.getElementById("testDiv").innerHTML += "Finished...<br>" + ((new Date()) - this.start) + "ms.<br>";} }); })(); //]]> </script> '; $style = ' <style type="text/css"> .fakeContainer { /* The parent container */ margin: 5px; padding: 0px; border: none; width: 740px; /* Required to set */ height: 320px; /* Required to set */ overflow: hidden; /* Required to set */ } </style> '; //**************************************** $script = ''; $url = site_url('supervisor/tiketc/activar'); $data['script'] = '<script type="text/javascript"> $(document).ready(function() { $("form :checkbox").click(function () { $.ajax({ type: "POST", url: "' . $url . '", data: "numero="+this.name+"&estado="+this.id, success: function(msg){ //alert(msg); } }); }).change(); }); </script>'; $data['style'] = $style; $data['style'] .= style('superTables.css'); $data['extras'] = $extras; $data['content'] = $grid->output; $data['filtro'] = $filter->output; $data['script'] .= script('jquery.js'); $data["script"] .= script('superTables.js') . script("jquery-1.2.6.pack.js") . script("plugins/jquery.checkboxes.pack.js"); //$data['content']= form_open('').$grid->output.form_close().$script; $data['title'] = heading('Ticket ' . $cliente); $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function vista() { $this->rapyd->load("datagrid2"); $f1 = $this->input->post('fechad'); $f2 = $this->input->post('fechah'); $fechad = $this->db->escape(human_to_dbdate($f1)); $fechah = $this->db->escape(human_to_dbdate($f2)); $codigoadm = ''; $fondo = ''; $codigoadm2 = $this->db->escape($this->input->post('codigoadm')); $fondo2 = $this->db->escape($this->input->post('fondo')); function blanco($codigo) { if ($codigo > 0) { $codigo = str_pad($codigo, 8, '0', STR_PAD_LEFT); } return $codigo; } function union($fecha, $codigo) { return date('Ym', strtotime($fecha)) . str_pad($codigo, 8, '0', STR_PAD_LEFT); } $uri = anchor($this->url . 'dataedit/show/<#numero#>', '<str_pad><#numero#>|8|0|STR_PAD_LEFT</str_pad>'); //$cant = $this->datasis->dameval("SELECT COUNT(*) //JOIN pades b ON a.numero = b.pago //JOIN desem c ON b.desem = c.numero //WHERE c.status='D2' AND reten >0 AND fdesem>=$fechad AND fdesem<= $fechah"); $query = "SELECT COUNT(*) FROM ("; $query .= "\r\n\t\tSELECT '',a.numero,a.impmunicipal,c.fdesem,factura,controlfac,fechafac,a.fmunicipal,c.cod_prov FROM odirect a \r\n\t\tJOIN pades b ON a.numero = b.pago\r\n\t\tJOIN desem c ON b.desem = c.numero\r\n\t\tJOIN sprv p ON c.cod_prov = p.proveed\r\n\t\tWHERE c.status='D2' AND impmunicipal >0 AND fdesem>={$fechad} AND fdesem<= {$fechah} AND MID(a.status,1,1)<>'F' AND (a.mmuni IS NULL) "; if (!empty($codigoadm)) { $query .= " AND a.estadmin='{$codigoadm}'"; } if (!empty($fondo)) { $query .= " AND a.fondo='{$fondo}'"; } $query .= "\r\n\t\t)a "; $cant = $this->datasis->dameval($query); $this->db->query("DROP TABLE IF EXISTS MUNICIPAL"); $query = "\r\n\t\tCREATE TABLE MUNICIPAL SELECT * FROM ("; $query .= "\r\n\t\t\r\n\t\tSELECT a.numero,a.impmunicipal,c.fdesem,factura,controlfac,fechafac,a.fmunicipal,c.cod_prov,a.estadmin codigoadm,a.fondo FROM odirect a \r\n\t\tJOIN pades b ON a.numero = b.pago\r\n\t\tJOIN desem c ON b.desem = c.numero\r\n\t\tJOIN sprv p ON c.cod_prov = p.proveed\r\n\t\tWHERE c.status='D2' AND impmunicipal >0 AND fdesem>={$fechad} AND fdesem<= {$fechah} AND MID(a.status,1,1)<>'F' AND (a.mmuni IS NULL)"; if (!empty($codigoadm)) { $query .= " AND a.estadmin='{$codigoadm}'"; } if (!empty($fondo)) { $query .= " AND a.fondo='{$fondo}'"; } $query .= "\r\n\t\t)a JOIN sprv b ON a.cod_prov = b.proveed "; $this->db->query($query); $grid = new DataGrid2("Lista de " . $this->titp); $grid->db->from("MUNICIPAL"); $grid->order_by("numero", "desc"); $grid->per_page = 1000; $grid->use_function('substr', 'str_pad', 'blanco', 'union'); $grid->use_function('sta'); $grid->column("orden de Pago", "<str_pad><#numero#>|8|0|STR_PAD_LEFT</str_pad>"); $grid->column("O. Compra", "<blanco><#ocompra#>|8|0|STR_PAD_LEFT</blanco>"); $grid->column("Emision", "<dbdate_to_human><#fmunicipal#></dbdate_to_human>", "align='center'"); $grid->column("Factura", "factura"); $grid->column("Nro. Control", "controlfac"); $grid->column("Fecha Fac", "<dbdate_to_human><#fechafac#></dbdate_to_human>", "align='center'"); $grid->column("Proveedor", "nombre"); $grid->column("RIF", "rif"); $grid->column("Monto", "<number_format><#impmunicipal#>|2|,|.</number_format>", "align='right'"); $grid->column("Est. Admin", "codigoadm"); $grid->column("Fondo", "fondo"); $grid->totalizar('impmunicipal'); $grid->build(); //echo $grid->db->last_query(); //exit(); $campo = "\r\n \t\t<input size='100' type='hidden' name='fechad' value='{$f1}'>\r\n \t\t<input size='100' type='hidden' name='fechah' value='{$f2}'>\r\n \t\t<input size='100' type='hidden' name='cant' value='{$cant}'>\r\n \t\t<input size='100' type='hidden' name='codigoadm' value='{$codigoadm}'>\r\n \t\t<input size='100' type='hidden' name='fondo' value='{$fondo}'>\r\n \t\t"; $data['content'] = anchor($this->url . "nuevo", 'Ir atras') . $grid->output . form_open($this->url . 'guardar') . $campo . form_submit('mysubmit', 'Guardar') . form_close(); $data['title'] = " {$this->titp} "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function vista($vd = '') { $this->rapyd->load("datagrid2"); $select = array("vd", "tipo_doc", "numero", "fecha", "vence", "pagada", "dias", "comision", "comical", "cod_cli", "nombre", "sepago", "comision"); $grid = new DataGrid2("Lista de " . $this->titp); $grid->db->select($select); $grid->db->from("sfac"); $grid->db->where("tipo_doc <>", "X"); if (!empty($vd)) { $grid->db->where("vd", $vd); } $grid->db->where("sepago", "N"); $grid->db->where('pagada >= fecha'); $grid->order_by("numero", "desc"); $grid->per_page = 1000; $grid->use_function('substr', 'str_pad', 'comi'); $grid->use_function('sta'); $grid->column("Vendedor", '<#vd#>'); $grid->column("Tipo", "<colum><#tipo_doc#></colum>"); $grid->column("Número", '<#numero#>'); $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>"); $grid->column("Vence", "<dbdate_to_human><#vence#></dbdate_to_human>"); $grid->column("Pagada", "<dbdate_to_human><#pagada#></dbdate_to_human>"); $grid->column("Dias", 'dias', "align='right'"); $grid->column("Comision", '<number_format><#comision#>|2|,|.</number_format>', "align='right'"); $grid->column("Comisión Calculada", '<number_format><#comical#>|2|,|.</number_format>', "align='right'"); $grid->column("Cliente", '<#cod_cli#>'); $grid->column("Nombre", '<#nombre#>'); //$grid->totalizar('reiva'); $grid->build(); $data['content'] = anchor($this->url . "filteredgrid", 'Atras') . $grid->output; $data['title'] = "<h1>{$this->titp}</h1>"; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }