function filteredgrid() { $this->rapyd->load('datafilter2', 'datagrid'); $link1 = site_url('inventario/etiqueta_sinv/menu'); $link2 = site_url('inventario/common/get_linea'); $link3 = site_url('inventario/common/get_grupo'); $script = ' $(document).ready(function(){ $("#depto").change(function(){ $("#objnumero").val(""); depto(); $.post("' . $link2 . '",{ depto:$(this).val() },function(data){$("#linea").html(data);}) $.post("' . $link3 . '",{ linea:"" },function(data){$("#grupo").html(data);}) }); $("#linea").change(function(){ linea(); $.post("' . $link3 . '",{ linea:$(this).val() },function(data){$("#grupo").html(data);}) }); $("#grupo").change(function(){ grupo(); }); depto(); linea(); grupo(); }); function depto(){ if($("#depto").val()!=""){ $("#nom_depto").attr("disabled","disabled"); }else{ $("#nom_depto").attr("disabled",""); } } function linea(){ if($("#linea").val()!=""){ $("#nom_linea").attr("disabled","disabled"); }else{ $("#nom_linea").attr("disabled",""); } } function grupo(){ if($("#grupo").val()!=""){ $("#nom_grupo").attr("disabled","disabled"); }else{ $("#nom_grupo").attr("disabled",""); } }'; $filter = new DataFilter2('Filtro por Producto'); $filter->script($script); $filter->codigo = new inputField('Código', 'codigo'); $filter->codigo->db_name = 'a.codigo'; $filter->codigo->size = 20; $filter->codigo->clause = 'where'; $filter->codigo->operator = '='; $filter->descrip = new inputField('Descripción', 'descrip'); $filter->descrip->db_name = 'CONCAT_WS(\' \',a.descrip,a.descrip2)'; $filter->descrip->size = 25; $filter->depto = new dropdownField('Departamento', 'depto'); $filter->depto->db_name = 'd.depto'; $filter->depto->option('', 'Seleccione un Departamento'); $filter->depto->options("SELECT depto, descrip FROM dpto WHERE tipo='I' ORDER BY depto"); $filter->linea2 = new dropdownField('Línea', 'linea'); $filter->linea2->db_name = 'c.linea'; $filter->linea2->option('', 'Seleccione un Departamento primero'); $depto = $filter->getval('depto'); if ($depto !== false) { $dbdepto = $this->db->escape($depto); $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto={$dbdepto} ORDER BY descrip"); } else { $filter->linea2->option('', 'Seleccione un Departamento primero'); } $filter->grupo = new dropdownField('Grupo', 'grupo'); $filter->grupo->db_name = 'b.grupo'; $filter->grupo->option('', 'Seleccione una Línea primero'); $linea = $filter->getval('linea2'); if ($linea !== false) { $dblinea = $this->db->escape($linea); $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea={$dblinea} ORDER BY nom_grup"); } else { $filter->grupo->option('', 'Seleccione un Departamento primero'); } $filter->marca = new dropdownField('Marca', 'marca'); $filter->marca->option('', 'Seleccionar'); $filter->marca->options('SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca'); $filter->marca->style = 'width:220px;'; $filter->cant = new inputField('Cantidad de etiquetas por productos', 'cant'); $filter->cant->css_class = 'inputnum'; $filter->cant->insertValue = '1'; $filter->cant->clause = ''; $filter->cant->size = 8; $filter->cant->rule = 'required|numeric'; $filter->cant->group = 'Configuración'; $filter->salformat = new radiogroupField('Formato de salida', 'salformat'); $filter->salformat->options(array('pdf' => 'pdf', 'txt' => 'txt')); $filter->salformat->insertValue = 'pdf'; $filter->salformat->clause = ''; $filter->salformat->group = 'Opciones'; $filter->button('btn_undo', 'Regresar', 'javascript:window.location=\'' . site_url('inventario/etiqueta_sinv') . '\'', 'BL'); $filter->buttons('reset', 'search'); $filter->build(); if ($this->rapyd->uri->is_set('search') && $filter->is_valid()) { $formato = $filter->salformat->newValue; if ($formato == 'txt') { $tabla = form_open('formatos/descargartxt/' . $this->formato); } else { $tabla = form_open('forma/ver/' . $this->formato); } $select = array('a.tipo', 'a.id', 'a.codigo', 'a.descrip', 'a.precio1 AS precio', 'a.precio2 AS precio2', 'a.precio3 AS precio3', 'a.barras', 'b.nom_grup', 'b.grupo AS grupoid', 'c.descrip AS nom_linea', 'c.linea', 'd.descrip AS nom_depto', 'd.depto AS depto', 'a.pfecha1 AS cfecha', 'a.iva'); $grid = new DataGrid('Lista de Artículos para imprimir'); $grid->per_page = 15; $grid->db->select($select); $grid->db->from('sinv AS a'); $grid->db->join('grup AS b', 'a.grupo=b.grupo'); $grid->db->join('line AS c', 'b.linea=c.linea'); $grid->db->join('dpto AS d', 'c.depto=d.depto'); $grid->db->group_by('a.codigo'); $grid->order_by('codigo', 'asc'); $grid->column_orderby('Código', 'codigo', 'codigo'); $grid->column_orderby('Departamento', 'nom_depto', 'nom_depto', 'align=\'left\''); $grid->column_orderby('Línea', 'nom_linea', 'nom_linea', 'align=\'left\''); $grid->column_orderby('Grupo', 'nom_grup', 'nom_grup', 'align=\'left\''); $grid->column_orderby('Descripción', 'descrip', 'descrip'); $grid->column_orderby('Precio', 'precio', 'precio', 'align=\'right\''); $grid->build(); $limite = 300; if ($grid->recordCount > 0 && $grid->recordCount <= $limite) { $consul = $this->db->last_query(); $mSQL = substr($consul, 0, strpos($consul, 'LIMIT')); $data = array('cant' => $this->input->post('cant'), 'consul' => $mSQL); $tabla .= form_hidden($data); $tabla .= $grid->output . form_submit('mysubmit', 'Generar'); $tabla .= form_close(); } elseif ($grid->recordCount > $limite) { $tabla = 'No se puede generar habladores con más de ' . $limite . ' árticulos'; } else { $tabla = 'No se encontrarón productos'; } } else { $tabla = $filter->error_string; } $data['content'] = $filter->output . $tabla; $data['title'] = heading('Habladores por filtro de productos'); $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); }