Exemplo n.º 1
0
    function filteredgrid()
    {
        $this->datasis->modulo_id(103, 1);
        $this->rapyd->load("datafilter2", "datagrid");
        $link = site_url('presupuesto/programas/get_programa');
        $script = '
			$(document).ready(function(){
				$("#sect_pres").change(function(){
				
					$.post("' . $link . '",{ sect_pres:$(this).val() },function(data){$("#prog_pres").html(data);})
				});
			});
		';
        $filter = new DataFilter2("Filtro por Proyectos", "proyectos");
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->sect_pres = new dropdownField("Sector", "sect_pres");
        $filter->sect_pres->option("", "");
        $filter->sect_pres->options("SELECT sect_pres, CONCAT_WS(' ',sect_pres,nomb_sect) AS nomb_sect FROM sectores ORDER BY sect_pres");
        $filter->sect_pres->style = 'width:300px;';
        $filter->prog_pres = new dropdownField("Programa", "prog_pres");
        $filter->prog_pres->option("", "");
        $filter->prog_pres->style = 'width:300px;';
        $sect_pres = $filter->getval('sect_pres');
        if ($sect_pres !== FALSE) {
            $filter->prog_pres->options("SELECT prog_pres, CONCAT_WS(' ',prog_pres,nomb_prog) AS nomb_prog FROM programas WHERE sect_pres ='{$sect_pres}' ORDER BY prog_pres");
        } else {
            $filter->prog_pres->option("", "Seleccione un Sector primero");
        }
        $filter->id_proy = new inputField("Identificador Proyecto", "id_proy");
        $filter->id_proy->size = 5;
        $filter->id_proy->maxlength = 2;
        $filter->proy_pres = new inputField("Código Proyecto", "proy_pres");
        $filter->proy_pres->size = 5;
        $filter->proy_pres->maxlength = 2;
        $filter->nomb_proy = new inputField("Nombre Proyecto", "nomb_proy");
        $filter->nomb_proy->size = 40;
        $filter->nomb_proy->maxlength = 80;
        $filter->buttons("reset", "search");
        $filter->build();
        $uri = anchor('presupuesto/proyectos/dataedit/show/<#id_proy#>', '<#id_proy#>');
        $grid = new DataGrid("Lista de Proyectos");
        $grid->order_by("proy_pres", "asc");
        $grid->column("Identificador", $uri, "align='center'");
        $grid->column("Sector", "sect_pres", "align='left'");
        $grid->column("Programa", "prog_pres", "align='left'");
        $grid->column("Proyecto", "proy_pres", "align='left'");
        $grid->column("Nombre", "nomb_proy", "align='left'");
        $grid->add("presupuesto/proyectos/dataedit/create");
        $grid->build();
        $data['content'] = $filter->output . $grid->output;
        $data['title'] = " Proyectos ";
        $data["head"] = script("jquery.pack.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 2
0
    function filteredgrid()
    {
        $this->rapyd->load('datafilter2', 'datagrid');
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;odigo', 'descrip' => 'Descripci&oacute;n', 'descrip2' => 'Descripci&oacute;n 2'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Codigo');
        $bSINV = $this->datasis->modbus($mSINV);
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $attr = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
        $op = array();
        $mSQL = 'SELECT margen,CONCAT(margen,"%") AS val FROM sinvpromo GROUP BY margen';
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $op[$row->margen] = $row->val;
            }
        }
        $sop = serialize($op);
        function dropdown($cod, $margen, $sop)
        {
            $op = unserialize($sop);
            return form_dropdown($cod, $op, $margen);
        }
        $js = '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","");
			}
		}';
        $select = array('a.id', 'a.codigo', 'b.ultimo', 'b.descrip', 'b.marca', 'b.precio1', 'a.margen', 'a.cantidad', 'b.precio1*(1-(a.margen/100)) AS pfinal', 'b.id AS sinvid');
        $filter = new DataFilter2('Filtro de promociones');
        $filter->script($js);
        $filter->db->select($select);
        $filter->db->from('sinvpromo AS a');
        $filter->db->join('sinv AS b', 'a.codigo=b.codigo');
        $filter->codigo = new inputField('C&oacute;digo de producto', 'codigo');
        $filter->codigo->db_name = 'a.codigo';
        $filter->codigo->size = 15;
        $filter->codigo->maxlength = 15;
        $filter->codigo->append($bSINV);
        $filter->descrip = new inputField('Descripci&oacute;n', 'descrip');
        $filter->descrip->db_name = 'b.descrip';
        $filter->proveed = new inputField('Proveedor', 'proveed');
        $filter->proveed->append($bSPRV);
        $filter->proveed->db_name = 'b.prov1';
        $filter->proveed->size = 25;
        $filter->depto = new dropdownField('Departamento', 'depto');
        $filter->depto->db_name = 'b.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&iacute;nea", "linea");
        $filter->linea2->db_name = "b.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = 'c.grupo';
        $filter->grupo->option("", "Seleccione una L&iacute;nea primero");
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option('', 'Seleccione un Departamento primero');
        }
        $filter->margen = new dropdownField('Promoci&oacute;n', 'margen');
        $filter->margen->db_name = 'a.margen';
        $filter->margen->option('', 'Todas');
        $filter->margen->options($op);
        $filter->margen->style = 'width:120px;';
        $filter->marca = new dropdownField('Marca', 'marca');
        $filter->marca->db_name = 'b.marca';
        $filter->marca->option('', 'Todas');
        $filter->marca->options('SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca');
        $filter->marca->style = 'width:220px;';
        $filter->buttons('reset', 'search');
        $filter->build();
        $link = anchor('/inventario/sinvpromo/dataedit/modify/<#id#>', '<#codigo#>');
        $llink = anchor_popup('inventario/consultas/preciosgeneral/<#codigo#>', 'Consultar precio', $attr);
        $attr['width'] = '420';
        $attr['height'] = '400';
        $llin2 = anchor_popup('inventario/precios_sinv/dataedit/modify/<#sinvid#>', '<nformat><#precio1#></nformat>', $attr);
        function pinta($u, $d, $char)
        {
            if ($u > $d) {
                return "<b style='color:red'>{$char}</b>";
            }
            return "<b style='color:green'>{$char}</b>";
        }
        $grid = new DataGrid('Lista de Art&iacute;culos');
        $grid->use_function('dropdown', 'pinta');
        $grid->order_by('codigo', 'asc');
        $grid->per_page = 15;
        $grid->column_orderby('C&oacute;digo', $link, 'codigo');
        $grid->column_orderby('Descripci&oacute;n', '<pinta><#ultimo#>|<#pfinal#>|<#descrip#></pinta>', 'descrip');
        $grid->column_orderby('Costo', '<nformat><#ultimo#></nformat>', 'ultimo', 'align=\'right\'');
        $grid->column_orderby('P.Final', '<nformat><#pfinal#></nformat>', 'pfinal', 'align=\'right\'');
        $grid->column_orderby('PVP', $llin2, 'precio1', 'align=\'right\'');
        $grid->column_orderby('Marca', 'marca', 'marca');
        $grid->column_orderby('Promoci&oacute;n', "<dropdown><#id#>|<#margen#>|{$sop}</dropdown>", 'margen', 'align="right"');
        $grid->column('Consulta', $llink);
        //$grid->column_orderby('F.Desde'        ,'<dbdate_to_human>fechad</dbdate_to_human>','fechad');
        //$grid->column_orderby('F.Hasta'        ,'<dbdate_to_human>fechah</dbdate_to_human>','fechah');
        $grid->add('inventario/sinvpromo/dataedit/create');
        $grid->build();
        //echo $grid->db->last_query();
        $this->rapyd->jquery[] = '
		$("select:not(#margen)").change( function() {
			$.ajax({
				type: "POST",
				url: "' . site_url('inventario/sinvpromo/cmargen') . '",
				data: "cod="+$(this).attr("name")+"&margen="+$(this).val(),
				success: function(msg){
					if (msg=="0"){
						alert("Error al actualizar");
					}
				 } });
		});';
        $this->rapyd->jquery[] = '
		$("#depto").change(function(){
			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();';
        $data['content'] = $filter->output . form_open('', array('id' => 'selec_promo')) . $grid->output . form_close();
        $data['title'] = '<h1>Descuentos promocionales</h1>';
        $data['head'] = $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 3
0
    function filteredgrid($para = '')
    {
        $this->rapyd->load("datafilter2", "datagrid", "dataobject", "fields");
        $user = $this->session->userdata('usuario');
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $link4 = site_url('inventario/gfotos/tabla');
        $link5 = site_url();
        $script = '
		function atras(){
			window.location="' . $link5 . '/";
		}

		$(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->db->_escape_char = '';
        $filter->db->_protect_identifiers = false;
        $filter->script($script);
        $filter->descrip = new inputField("Descripci&oacute;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&iacute;nea", "linea");
        $filter->linea2->db_name = "c.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' 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&iacute;nea primero");
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option("", "Seleccione un Departamento primero");
        }
        $filter->marca = new dropdownField("Marca", "marca");
        $filter->marca->option("", "");
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->buttons("reset", "search");
        $filter->build();
        $tabla = "";
        if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
            $tabla = form_open("forma/ver/catalogo2");
            $grid = new DataGrid("Lista de Art&iacute;culos Para el Catalogo");
            $grid->db->select("COUNT(*) AS num,GROUP_CONCAT(a.codigo) as articulos,\n\t\t\te.sinv_id as sinv_id,e.nombre AS nombre,e.ruta AS ruta,\n\t\t\te.comentario AS comentario,e.principal AS principal,\n\t\t\ta.tipo AS tipo,a.id as id,a.codigo as codigo,a.descrip,\n\t\t\tb.nom_grup AS nom_grup, b.grupo AS grupoid,\n\t\t\tc.descrip AS nom_linea, c.linea AS linea,\n\t\t\td.descrip AS nom_depto, d.depto AS depto");
            $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->join("sinvfot AS e", "e.sinv_id=a.id");
            $grid->db->group_by("e.nombre");
            $grid->db->_escape_char = '';
            $grid->db->_protect_identifiers = false;
            $grid->order_by("codigo", "asc");
            $grid->use_function('asigna');
            $grid->column_orderby("c&oacute;digo", "codigo", "codigo");
            $grid->column_orderby("Departamento", "<#nom_depto#>", "nom_depto", 'align=left');
            $grid->column_orderby("L&iacute;nea", "<#nom_linea#>", "nom_linea", 'align=left');
            $grid->column_orderby("Grupo", "<#nom_grup#>", "nom_grup", 'align=left');
            $grid->column_orderby("Descripci&oacute;n", "descrip", "descrip");
            //			$grid->column("Nombre","nombre");
            $grid->build();
            $consul = $this->db->last_query();
            //			$options = array(
            //                  'D'  => 'DESCARGAR',
            //                  'I'    => 'VER',
            //                );
            $tabla .= form_hidden('consul', $consul);
            //$tabla.=$grid->output.form_dropdown('opcion', $options, 'D').form_submit('mysubmit', 'Generar');
            $tabla .= $grid->output . form_submit('mysubmit', 'Generar');
            $tabla .= form_close();
        }
        $back = "<table width='100%'border='0'><tr><td width='80%'></td><td width='20%'><a href='javascript:atras()'><spam id='regresar'align='right'>REGRESAR</spam></a></td></tr></table>";
        //$data['filtro']=$filter->output;
        $data['content'] = $filter->output . $tabla;
        //$data['smenu'] = $back;//.$grid->output;
        $data['title'] = "Genera Catalogo";
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . script("sinvmaes2.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 4
0
    function filteredgrid()
    {
        $this->rapyd->load("datafilter2", "datagrid");
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Beneficiario');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $script = '
		$(document).ready(function(){

			$("#depto").change(function(){
				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
        $filter = new DataFilter2("");
        $filter->db->select("a.id,a.tipo AS tipo,codigo,a.descrip,b.nom_grup AS nom_grup,b.grupo AS grupoid,c.descrip AS nom_linea,c.linea AS linea,d.descrip AS nom_depto,d.depto AS depto");
        $filter->db->from("sumi AS a");
        $filter->db->join("grup AS b", "a.grupo=b.grupo", "LEFT");
        $filter->db->join("line AS c", "b.linea=c.linea", "LEFT");
        $filter->db->join("dpto AS d", "c.depto=d.depto", "LEFT");
        $filter->script($script);
        $filter->codigo = new inputField("C&oacute;digo", "codigo");
        $filter->codigo->size = 25;
        $filter->descrip = new inputField("Descripci&oacute;n", "descrip");
        $filter->descrip->db_name = 'a.descrip';
        $filter->descrip->size = 25;
        //$filter->tipo = new dropdownField("Tipo", "tipo");
        //$filter->tipo->db_name=("a.tipo");
        //$filter->tipo->option("","Todos");
        //$filter->tipo->option("Articulo","Art&iacute;culo");
        //$filter->tipo->option("Servicio","Servicio");
        //$filter->tipo->option("Descartar","Descartar");
        //$filter->tipo->option("Consumo","Consumo");
        //$filter->tipo->option("Fraccion","Fracci&oacute;n");
        //$filter->tipo ->style='width:220px;';
        //
        //$filter->clave = new inputField("Clave", "clave");
        //$filter->clave -> size=25;
        //
        //$filter->activo = new dropdownField("Activo", "activo");
        //$filter->activo->option("","");
        //$filter->activo->option("S","Si");
        //$filter->activo->option("N","No");
        //$filter->activo ->style='width:220px;';
        //$filter->proveed = new inputField("Beneficiario", "proveed");
        //$filter->proveed->append($bSPRV);
        //$filter->proveed->clause ="in";
        //$filter->proveed->db_name='( a.prov1, a.prov2, a.prov3 )';
        //$filter->proveed -> size=25;
        $filter->depto2 = new inputField("Departamento", "nom_depto");
        $filter->depto2->db_name = "d.descrip";
        $filter->depto2->size = 10;
        $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->depto->in = "depto2";
        //
        $filter->linea = new inputField("Linea", "nom_linea");
        $filter->linea->db_name = "c.descrip";
        $filter->linea->size = 10;
        $filter->linea2 = new dropdownField("L&iacute;nea", "linea");
        $filter->linea2->db_name = "c.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $filter->linea2->in = "linea";
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo2 = new inputField("Grupo", "nom_grupo");
        $filter->grupo2->db_name = "b.nom_grup";
        $filter->grupo2->size = 10;
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = "b.grupo";
        $filter->grupo->option("", "");
        $filter->grupo->in = "grupo2";
        $filter->grupo->options("SELECT grupo, nom_grup FROM grup  ORDER BY nom_grup");
        //WHERE linea='$linea'
        //$linea=$filter->getval('linea2');
        //if($linea!==FALSE){
        //	$filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='$linea' ORDER BY nom_grup");
        //}else{
        //	$filter->grupo->option("","Seleccione un Departamento primero");
        //}
        //$filter->marca = new dropdownField("Marca", "marca");
        //$filter->marca->option("","");
        //$filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        //$filter->marca -> style='width:220px;';
        $filter->buttons("reset", "search");
        $filter->build();
        $uri = "suministros/sumi/dataedit/show/<raencode><#codigo#></raencode>";
        $grid = new DataGrid("");
        $grid->order_by("codigo", "asc");
        $grid->per_page = 20;
        $link = anchor('/suministros/sumi/dataedit/show/<#id#>', '<#codigo#>');
        $uri_2 = anchor('suministros/sumi/dataedit/create/<raencode><#codigo#></raencode>', 'Duplicar');
        $grid->column_orderby("c&oacute;digo", $link, "codigo");
        $grid->column("Departamento", "<#nom_depto#>", 'align=left');
        $grid->column("L&iacute;nea", "<#nom_linea#>", 'align=left');
        $grid->column_orderby("Grupo", "<#nom_grup#>", "nom_grup", "align='left'NOWRAP");
        $grid->column_orderby("Descripci&oacute;n", "descrip", "descrip", "align='left'NOWRAP");
        //$grid->column("Precio 1","<number_format><#precio1#>|2|,|.</number_format>",'align=right');
        //$grid->column("Precio 2","<number_format><#precio2#>|2|,|.</number_format>",'align=right');
        //$grid->column("Precio 3","<number_format><#precio3#>|2|,|.</number_format>",'align=right');
        //$grid->column("Precio 4","<number_format><#precio4#>|2|,|.</number_format>",'align=right');
        $grid->column("Duplicar", $uri_2, "align='center'");
        $grid->add("suministros/sumi/dataedit/create");
        $grid->build();
        //$data['content'] = $filter->output.$grid->output;
        $data['filtro'] = $filter->output;
        $data['content'] = $grid->output;
        $data['script'] = script("jquery.js") . "\n";
        $data['title'] = "Maestro de Inventario";
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . script("sinvmaes2.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 5
0
 function index()
 {
     $this->rapyd->load('datafilter2', 'datagrid');
     $this->_db2prop();
     if (!empty($this->dbgroup)) {
         $this->rapyd->set_connection($this->dbgroup);
         $this->rapyd->load_db();
     }
     $join = false;
     //extrae las varibles provenientes de las uris
     if ($this->p_uri) {
         $uris = array();
         foreach ($this->p_uri as $segment => $nombre) {
             $valor = $this->uri->segment($segment);
             $uris[$nombre] = $valor;
         }
     }
     $tablas = $this->db->query('show tables');
     $tablas = $tablas->result_array();
     $tables = array();
     foreach ($tablas as $row) {
         foreach ($row as $k => $v) {
             $tables[] = $v;
         }
     }
     //Filtro
     $filtros = array();
     foreach ($this->filtro as $k => $v) {
         if (count(explode('.', $k)) == 2) {
             if (in_array(substr($k, 0, strpos($k, '.')), $tables)) {
                 $filtros[substr($k, 0, strpos($k, '.'))][substr($k, strpos($k, '.') + 1)] = $v;
             } else {
                 $filtros[$this->tabla][$k] = $v;
             }
         } else {
             $filtros[$this->tabla][$k] = $v;
         }
     }
     $campos = array();
     foreach ($filtros as $k => $v) {
         $mSQL = "SHOW FIELDS FROM {$k} WHERE Field IN ('" . implode('\',\'', array_keys($v)) . '\')';
         $query = $this->db->query($mSQL);
         $temp = $query->result_array();
         foreach ($temp as $z => $y) {
             $temp[$z]['titulo'] = $v[$temp[$z]['Field']];
             $temp[$z]['db_name'] = $k . '.' . $temp[$z]['Field'];
         }
         $campos = array_merge($campos, $temp);
     }
     $r = array();
     $rk = array();
     if (!isset($this->retornar[0])) {
         foreach ($this->retornar as $k => $v) {
             $r[] = array($k => $v);
             $rk[] = $k;
         }
     } else {
         $r = $this->retornar;
         foreach ($this->retornar as $k => $v) {
             foreach ($v as $kk => $vv) {
                 $rk[] = $kk;
             }
         }
     }
     $prev = array_keys($this->columnas);
     foreach ($r as $k => $v) {
         $prev = array_merge($prev, array_keys($v));
     }
     $prev2 = array_unique($prev);
     foreach ($prev2 as $ddata) {
         $ddata = $ddata;
         $select[] = $ddata;
     }
     $filter = new DataFilter2('Par&aacute;metros de B&uacute;squeda');
     $filter->db->select($select);
     $filter->db->from($this->tabla);
     if (!empty($this->groupby)) {
         $filter->db->groupby($this->groupby);
     }
     foreach ($this->join as $row) {
         if (count($row) == 3) {
             $join = true;
             $filter->db->join($row[0], $row[1], $row[2]);
         }
     }
     if (count($this->join) == 3) {
         $join = true;
         $filter->db->join($this->join[0], $this->join[1], $this->join[2]);
     }
     foreach ($campos as $fila) {
         $campo = $fila['Field'];
         $campodb = $fila['db_name'];
         $titulo = $fila['titulo'];
         $type = $fila['Type'];
         if (strncasecmp($type, 'date', 4) == 0) {
             if (is_array($titulo)) {
                 $filter->{$campo} = new dateField($titulo[0], $campo, 'Y/m/d');
                 $filter->{$campo}->clause = 'where';
                 $filter->{$campo}->operator = '>=';
                 $campo2 = $campo . '2';
                 $filter->{$campo2} = new dateField($titulo[1], $campo2, 'Y/m/d');
                 $filter->{$campo2}->db_name = $campodb;
                 $filter->{$campo2}->clause = 'where';
                 $filter->{$campo2}->operator = '<=';
             } else {
                 $filter->{$campo} = new dateField($titulo, $campo, 'Y/m/d');
                 $filter->{$campo}->clause = 'where';
                 $filter->{$campo}->operator = '=';
             }
         } else {
             if (is_array($titulo)) {
                 $filter->{$campo} = new inputField($titulo[0], $campo);
                 $filter->{$campo}->clause = 'where';
                 $filter->{$campo}->operator = '>=';
                 $campo2 = $campo . '2';
                 $filter->{$campo2} = new inputField($titulo[1], $campo2);
                 $filter->{$campo2}->db_name = $campodb;
                 $filter->{$campo2}->db_name = $campodb;
                 $filter->{$campo2}->clause = 'where';
                 $filter->{$campo2}->operator = '<=';
             } else {
                 $nobj = $campo . '_CDROPDOWN';
                 $filter->{$nobj} = new dropdownField($titulo, $nobj);
                 $filter->{$nobj}->clause = '';
                 $filter->{$nobj}->style = 'width:120px';
                 $filter->{$nobj}->option('both', 'Contiene');
                 $filter->{$nobj}->option('after', 'Comienza con');
                 $filter->{$nobj}->option('before', 'Termina con');
                 $side = $filter->getval($nobj);
                 $filter->{$campo} = new inputField($titulo, $campo);
                 $filter->{$campo}->in = $nobj;
                 if ($side !== FALSE) {
                     $filter->{$campo}->like_side = $side;
                 }
             }
         }
         $filter->{$campo}->db_name = $campodb;
     }
     if (!empty($this->where)) {
         if (isset($uris)) {
             $valores = array_values($uris);
             for ($i = 0; $i < count($valores); $i++) {
                 $valores[$i] = $this->db->escape($valores[$i]);
             }
             $where = str_replace(array_keys($uris), $valores, $this->where);
         } else {
             $where = $this->where;
         }
         $filter->db->where($where);
     }
     $filter->buttons('reset', 'search');
     $filter->build();
     //Tabla
     function j_escape($parr)
     {
         $search[] = '\'';
         $replace[] = '\'+String.fromCharCode(39)+\'';
         $search[] = '"';
         $replace[] = '\'+String.fromCharCode(34)+\'';
         $search[] = "\n";
         $replace[] = '\\n';
         $search[] = "\r";
         $replace[] = '\\r';
         $pattern = str_replace($search, $replace, $parr);
         return '\'' . $pattern . '\'';
     }
     $rk2 = array();
     foreach ($rk as $k => $v) {
         $a = explode('.', $v);
         if (count($a) == 2) {
             if (array_key_exists($a[0], $filtros)) {
                 $rk[$k] = substr($v, strpos($v, '.') + 1);
             } else {
                 $rk[$k] = $v;
             }
         } else {
             $rk[$k] = $v;
         }
     }
     $link = '<j_escape><#' . implode("#></j_escape>,<j_escape><#", $rk) . '#></j_escape>';
     //$link='\'<#'.implode("#>','<#",array_keys($this->retornar)).'#>\'';
     $link = "javascript:pasar({$link});";
     $grid = new DataGrid("Resultados");
     $grid->use_function('j_escape');
     $grid->per_page = 10;
     if (!empty($this->order_by)) {
         $grid->order_by($this->order_by, $this->direction);
     }
     $i = 0;
     foreach ($this->columnas as $campo => $titulo) {
         if ($i == 0) {
             $cp1 = strrchr($campo, '.');
             if ($cp1) {
                 $campo = str_replace('.', '', $cp1);
             }
             //if(empty($this->order_by))
             $grid->column_orderby($titulo, "<a href=\"{$link}\"><#" . substr($campo, strpos($campo, '.')) . "#></a>", $campo);
         } else {
             if (count(explode('.', $campo)) == 2) {
                 if (in_array(substr($campo, 0, strpos($campo, '.')), $tables)) {
                     $grid->column_orderby($titulo, substr($campo, strpos($campo, '.') + 1), $campo);
                 } else {
                     $grid->column_orderby($titulo, $campo, $campo);
                 }
             } else {
                 $grid->column_orderby($titulo, $campo, $campo);
             }
         }
         $i++;
     }
     $grid->build();
     //echo $grid->db->last_query();
     $i = 0;
     $pjs1 = '';
     $pjs2 = '';
     foreach ($r as $k => $v) {
         //print_r($v);
         foreach ($v as $campo => $id) {
             if ($this->p_uri) {
                 $id = str_replace(array_keys($uris), array_values($uris), $id);
             }
             if ($i == 0) {
                 $pjs1 .= "p{$i}";
             } else {
                 $pjs1 .= ",p{$i}";
             }
             $pjs2 .= "\n\t\t\t\tif(window.opener.document.getElementById('{$id}').nodeName=='SPAN')\n\t\t\t\twindow.opener.document.getElementById('{$id}').innerHTML = p{$i};\n\t\t\t\telse\n\t\t\t\twindow.opener.document.getElementById('{$id}').value = p{$i};\n\t\t\t\t\n";
             $i++;
         }
     }
     $jscript = "<SCRIPT LANGUAGE=\"JavaScript\">\n";
     $jscript .= "function pasar({$pjs1}){\n";
     $jscript .= " if (window.opener && !window.opener.closed){\n";
     $jscript .= $pjs2;
     $jscript .= "   window.close();\n";
     foreach ($this->script as $funcion) {
         $funcion = isset($uris) ? str_replace(array_keys($uris), array_values($uris), $funcion) : $funcion;
         $jscript .= " window.opener.{$funcion};\n";
     }
     $jscript .= "}\n}\n</SCRIPT>";
     //echo $grid->db->last_query();
     $data['crud'] = $filter->output . $grid->output;
     $data['titulo'] = '';
     $data['encab'] = $this->titulo;
     $content['content'] = $this->load->view('rapyd/crud', $data, true);
     $content['rapyd_head'] = $jscript . $this->rapyd->get_head();
     $content['code'] = '';
     //$content['titulo']  = $this->titulo;
     $content['lista'] = '';
     //$content['charset']   = (stripos($this->db->char_set,'latin')!==false)? 'ISO-8859-1': null;
     $content['charset'] = null;
     $this->load->view('rapyd/modbus', $content);
     //echo $filter->db->last_query();
 }
Exemplo n.º 6
0
    function filteredgrid()
    {
        $this->rapyd->load("datafilter2", "datagrid");
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $script = '
		<script language="javascript" type="text/javascript">
		$(function(){
			$(".inputnum").numeric(".");
		});
		</script>
		';
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;odigo', 'descrip' => 'Descripci&oacute;n', 'descrip2' => 'Descripci&oacute;n 2'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Codigo');
        $bSINV = $this->datasis->modbus($mSINV);
        $js = '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","");
			}
		}';
        $select = array('a.codigo as codigo', 'a.suplemen', 'b.descrip', 'b.marca', 'b.precio1', 'b.depto', 'b.grupo', 'b.linea');
        $filter = new DataFilter2('Filtro de Codigo de Barras');
        $filter->script($js);
        $filter->db->select($select);
        $filter->db->from('barraspos AS a');
        $filter->db->join('sinv AS b', 'a.codigo=b.codigo');
        $filter->codigo = new inputField('C&oacute;digo de producto', 'codigo');
        $filter->codigo->db_name = 'a.codigo';
        $filter->codigo->size = 15;
        $filter->codigo->maxlength = 15;
        $filter->codigo->append($bSINV);
        $filter->suplemen = new inputField('Barras adicionales', 'suplemen');
        $filter->suplemen->db_name = 'a.suplemen';
        $filter->suplemen->size = 15;
        $filter->suplemen->maxlength = 20;
        $filter->proveed = new inputField('Proveedor', 'proveed');
        $filter->proveed->append($bSPRV);
        $filter->proveed->db_name = 'b.prov1';
        $filter->proveed->size = 25;
        $filter->depto = new dropdownField('Departamento', 'depto');
        $filter->depto->db_name = 'b.depto';
        $filter->depto->option("", "Seleccione un Departamento");
        $filter->depto->options("SELECT depto, CONCAT(depto,' ',descrip) descrip FROM dpto WHERE tipo='I' ORDER BY depto");
        $filter->linea2 = new dropdownField("L&iacute;nea", "linea");
        $filter->linea2->db_name = "b.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, CONCAT(linea,' ',descrip) descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = 'c.grupo';
        $filter->grupo->option("", "Seleccione una L&iacute;nea primero");
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option('', 'Seleccione un Departamento primero');
        }
        $filter->marca = new dropdownField('Marca', 'marca');
        $filter->marca->db_name = 'b.marca';
        $filter->marca->option('', 'Todas');
        $filter->marca->options('SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca');
        $filter->marca->style = 'width:220px;';
        $filter->buttons('reset', 'search');
        $filter->build('dataformfiltro');
        $link = anchor('/inventario/barraspos/dataedit/show/<#codigo#>/<#suplemen#>', '<#codigo#>');
        $grid = new DataGrid('Lista de Productoss');
        $grid->order_by('codigo', 'asc');
        $grid->per_page = 15;
        $grid->column_orderby('C&oacute;digo', $link, 'codigo');
        $grid->column_orderby('Descripci&oacute;n', 'descrip', 'descrip');
        $grid->column_orderby('Marca', 'marca', 'marca');
        $grid->column_orderby('Barras', 'suplemen', 'suplemen', 'align="right"');
        $grid->add('inventario/barraspos/dataedit/create');
        $grid->build();
        $this->rapyd->jquery[] = '
		$("select:not(#margen)").change( function() {
			$.ajax({ 
				type: "POST",
				url: "' . site_url('inventario/sinvpromo/cmargen') . '",
				data: "cod="+$(this).attr("name")+"&margen="+$(this).val(),
				success: function(msg){
					if (msg=="0"){
						alert("Error al actualizar");
					}
				 } });
		});';
        $this->rapyd->jquery[] = '
		
		$("#depto").change(function(){
			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();';
        $data['content'] = $grid->output;
        $data['filtro'] = $filter->output;
        $data['title'] = heading('C&oacute;digos de Baras Adicionales');
        $data['head'] = $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 7
0
    function filteredgrid()
    {
        $this->rapyd->load("datafilter2", "datagrid");
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $js = '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","");
			}
		}';
        $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;odigo', 'descrip' => 'Descripci&oacute;n', 'descrip2' => 'Descripci&oacute;n 2'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Codigo');
        $bSINV = $this->datasis->modbus($mSINV);
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'rif' => 'Rif'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Codigo');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $select = array('a.proveed', 'a.codigo', 'a.codigop', 'c.nombre', 'b.descrip', 'b.marca');
        $filter = new DataFilter2('Filtro de promociones');
        $filter->script($js);
        $filter->db->select($select);
        $filter->db->from('sinvprov AS a');
        //		$filter->db->from('sinv AS b');
        //		$filter->db->from('sprv AS c');
        $filter->db->join('sinv AS b', 'a.codigo=b.codigo');
        $filter->db->join('sprv AS c', 'a.proveed=c.proveed');
        $filter->proveed = new inputField("C&oacute;digo de proveedor", "proveed");
        $filter->proveed->append($bSPRV);
        $filter->proveed->db_name = 'a.proveed';
        $filter->proveed->size = 15;
        $filter->proveed->maxlength = 15;
        $filter->codigo = new inputField('C&oacute;digo de producto', 'codigo');
        $filter->codigo->db_name = 'a.codigo';
        $filter->codigo->size = 15;
        $filter->codigo->maxlength = 15;
        $filter->codigo->append($bSINV);
        $filter->codigop = new inputField("C&oacute;digo", "codigop");
        $filter->codigop->db_name = 'a.codigop';
        $filter->codigop->size = 15;
        $filter->codigop->maxlength = 15;
        //		$filter->proveed = new inputField('Proveedor', 'proveed');
        //		$filter->proveed->append($bSPRV);
        //		$filter->proveed->db_name='b.prov1';
        //		$filter->proveed->size=25;
        $filter->depto = new dropdownField('Departamento', 'depto');
        $filter->depto->db_name = 'b.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&iacute;nea", "linea");
        $filter->linea2->db_name = "b.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = 'c.grupo';
        $filter->grupo->option("", "Seleccione una L&iacute;nea primero");
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option('', 'Seleccione un Departamento primero');
        }
        $filter->marca = new dropdownField('Marca', 'marca');
        $filter->marca->db_name = 'b.marca';
        $filter->marca->option('', 'Todas');
        $filter->marca->options('SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca');
        $filter->marca->style = 'width:220px;';
        $filter->buttons("reset", "search");
        $filter->build();
        $link = anchor('/inventario/sinvprov/dataedit/modify/<#proveed#>/<#codigop#>/<#codigo#>', '<#proveed#>');
        $grid = new DataGrid("Lista de proveedores");
        $grid->order_by("proveed", "asc");
        $grid->per_page = 15;
        $grid->use_function('str_replace');
        $grid->column_orderby("C&oacute;digo de proveedor", $link, "proveed");
        $grid->column_orderby("Proveedor", 'nombre', "nombre");
        $grid->column_orderby("C&oacute;digo de producto", 'codigo', "codigo");
        $grid->column_orderby("Descripci&oacute;n", 'descrip', "proveed");
        $grid->column_orderby("C&oacute;digo", "codigop", "codigop");
        $grid->add("inventario/sinvprov/dataedit/create");
        $grid->build();
        $data['content'] = $filter->output . $grid->output;
        $data['title'] = "<h1>Lista de Proveedores</h1>";
        $data["head"] = $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 8
0
 function index()
 {
     $this->rapyd->load("datafilter2", "datagrid");
     $this->_db2prop();
     $join = false;
     //extrae las varibles provenientes de las uris
     if ($this->p_uri) {
         $uris = array();
         foreach ($this->p_uri as $segment => $nombre) {
             $valor = $this->uri->segment($segment);
             //if($valor==false){
             //	echo 'entre';
             //	$this->p_uri=false;
             //	break;
             //}
             $uris[$nombre] = $valor;
         }
     }
     //Filtro
     $codigo = $this->filtro;
     $mSQL = "SHOW FIELDS FROM {$this->tabla} WHERE Field IN ('" . implode('\',\'', array_keys($this->filtro)) . '\')';
     //echo $mSQL;
     $query = $this->db->query($mSQL);
     $prev = array_merge(array_keys($this->columnas), array_keys($this->retornar));
     $prev = array_unique($prev);
     foreach ($prev as $ddata) {
         //$ddata=$this->tabla.'.'.$ddata;
         $ddata = $ddata;
         $select[] = $ddata;
     }
     $filter = new DataFilter2("Parametros de B&uacute;squeda");
     $filter->db->select($select);
     $filter->db->from($this->tabla);
     if (!empty($this->groupby)) {
         $filter->db->groupby($this->tabla . '.' . $this->groupby);
     }
     if (count($this->join) > 0) {
         if (is_array($this->join)) {
             foreach ($this->join as $row) {
                 if (count($row) == 3) {
                     $join = true;
                     $filter->db->join($row[0], $row[1], $row[2]);
                 }
             }
         }
     } elseif (count($this->join) == 3) {
         $join = true;
         $filter->db->join($this->join[0], $this->join[1], $this->join[2]);
     }
     foreach ($query->result() as $fila) {
         $campo = $fila->Field;
         $titulo = $this->filtro[$campo];
         if (strncasecmp($fila->Type, 'date', 4) == 0) {
             if (is_array($titulo)) {
                 $filter->{$campo} = new dateField($titulo[0], $campo, "Y/m/d");
                 $filter->{$campo}->clause = "where";
                 $filter->{$campo}->operator = ">=";
                 $campo2 = $campo . '2';
                 $filter->{$campo2} = new dateField($titulo[1], $campo2, "Y/m/d");
                 $filter->{$campo2}->db_name = $this->tabla . '.' . $campo;
                 $filter->{$campo2}->clause = "where";
                 $filter->{$campo2}->operator = "<=";
             } else {
                 $filter->{$campo} = new dateField($titulo, $campo, "Y/m/d");
                 $filter->{$campo}->clause = "where";
                 $filter->{$campo}->operator = "=";
             }
         } else {
             if (is_array($titulo)) {
                 $filter->{$campo} = new inputField($titulo[0], $campo);
                 $filter->{$campo}->clause = "where";
                 $filter->{$campo}->operator = ">=";
                 $campo2 = $campo . '2';
                 $filter->{$campo2} = new inputField($titulo[1], $campo2);
                 $filter->{$campo2}->db_name = $this->tabla . '.' . $campo;
                 $filter->{$campo2}->db_name = $campo;
                 $filter->{$campo2}->clause = "where";
                 $filter->{$campo2}->operator = "<=";
             } else {
                 //
                 $nobj = $campo . '_CDROPDOWN';
                 $filter->{$nobj} = new dropdownField($titulo, "{$nobj}");
                 $filter->{$nobj}->clause = '';
                 $filter->{$nobj}->style = 'width:120px';
                 $filter->{$nobj}->option('both', 'Contiene');
                 $filter->{$nobj}->option('after', 'Comienza con');
                 $filter->{$nobj}->option('before', 'Termina con');
                 $side = $filter->getval($nobj);
                 $filter->{$campo} = new inputField($titulo, $campo);
                 $filter->{$campo}->in = $nobj;
                 if ($side !== FALSE) {
                     $filter->{$campo}->like_side = $side;
                 }
             }
         }
         $filter->{$campo}->db_name = $this->tabla . '.' . $campo;
     }
     if (!empty($this->where)) {
         if (isset($uris)) {
             $valores = array_values($uris);
             for ($i = 0; $i < count($valores); $i++) {
                 $valores[$i] = $this->db->escape($valores[$i]);
             }
             $where = str_replace(array_keys($uris), $valores, $this->where);
         } else {
             $where = $this->where;
         }
         $filter->db->where($where);
     }
     $filter->buttons("reset", "search");
     $filter->build();
     //Tabla
     function j_escape($parr)
     {
         $search[] = '\'';
         $replace[] = '\'+String.fromCharCode(39)+\'';
         $search[] = '"';
         $replace[] = '\'+String.fromCharCode(34)+\'';
         $search[] = "\n";
         $replace[] = '\\n';
         $search[] = "\r";
         $replace[] = '\\r';
         $search[] = "%BA";
         $replace[] = '\\% BA';
         $pattern = str_replace($search, $replace, $parr);
         return '\'' . $pattern . '\'';
     }
     $link = '<j_escape><#' . implode("#></j_escape>,<j_escape><#", array_keys($this->retornar)) . '#></j_escape>';
     $link = "javascript:pasar({$link});";
     $grid = new DataGrid("Resultados");
     $grid->use_function('j_escape');
     $grid->per_page = 20;
     if ($this->order_by) {
         $this->order_by;
         $grid->order_by($this->order_by, ' ');
     }
     $i = 0;
     foreach ($this->columnas as $campo => $titulo) {
         $cp1 = strrchr($campo, '.');
         if ($cp1) {
             $campo = str_replace('.', '', $cp1);
         }
         if ($i == 0) {
             if (!$this->order_by) {
                 $grid->order_by($this->tabla . '.' . $campo);
             }
             $grid->column_orderby($titulo, "<a href=\"{$link}\"><#{$campo}#></a>", $this->tabla . '.' . $campo);
         } elseif ($i == 1) {
             $grid->column($titulo, $campo);
         } else {
             $grid->column($titulo, $campo);
         }
         $i++;
     }
     $grid->build();
     $i = 0;
     $pjs1 = '';
     $pjs2 = '';
     foreach ($this->retornar as $campo => $id) {
         if ($this->p_uri) {
             $id = str_replace(array_keys($uris), array_values($uris), $id);
         }
         if ($i == 0) {
             $pjs1 .= "p{$i}";
         } else {
             $pjs1 .= ",p{$i}";
         }
         $pjs2 .= "window.opener.document.getElementById('{$id}').value = p{$i};\n";
         $i++;
     }
     $jscript = "<SCRIPT LANGUAGE=\"JavaScript\">\n";
     $jscript .= "function pasar({$pjs1}) {\n";
     $jscript .= " if (window.opener && !window.opener.closed){\n";
     $jscript .= $pjs2;
     $jscript .= "   window.close();\n";
     foreach ($this->script as $funcion) {
         $funcion = isset($uris) ? str_replace(array_keys($uris), array_values($uris), $funcion) : $funcion;
         $jscript .= " window.opener.{$funcion};\n";
     }
     $jscript .= "}\n}\n</SCRIPT>";
     memowrite($grid->db->last_query(), 'modbus2');
     $data["crud"] = $filter->output . $grid->output;
     $data["titulo"] = '';
     $data['encab'] = $this->titulo;
     $content["content"] = $this->load->view('rapyd/crud', $data, true);
     $content["rapyd_head"] = $jscript . $this->rapyd->get_head();
     $content["code"] = '';
     //$content["titulo"]=$this->titulo;
     $content["lista"] = "";
     $this->load->view('rapyd/modbus', $content);
     //echo $filter->db->last_query();
 }
Exemplo n.º 9
0
    function agregar($para = "")
    {
        //		echo $para;
        $this->rapyd->load("datafilter2", "datagrid", "dataobject", "fields");
        $mod = array('tabla' => 'sinvlist', 'columnas' => array('numero' => 'C&oacute;odigo', 'concepto' => 'Concepto', 'usuario' => 'Usuario'), 'filtro' => array('numero' => 'N&uacute;mero'), 'retornar' => array('numero' => 'nume'), 'titulo' => 'Buscar Proveedor');
        $modnume = $this->datasis->modbus($mod);
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'script' => array('limpia2()'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $mSPRV1 = array('tabla' => 'snot', 'columnas' => array('numero' => 'N&uacute;mero'), 'filtro' => array('numero' => 'N&uacute;mero'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar N&uacute;mero');
        $bSPRV1 = $this->datasis->modbus($mSPRV1);
        $mSPRV2 = array('tabla' => 'spre', 'columnas' => array('numero' => 'N&uacute;mero'), 'filtro' => array('numero' => 'N&uacute;mero'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar N&uacute;mero');
        $bSPRV2 = $this->datasis->modbus($mSPRV2);
        $mSPRV3 = array('tabla' => 'scst', 'columnas' => array('numero' => 'N&uacute;mero'), 'filtro' => array('numero' => 'N&uacute;mero'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar N&uacute;mero');
        $bSPRV3 = $this->datasis->modbus($mSPRV3);
        $mSPRV4 = array('tabla' => 'snte', 'columnas' => array('numero' => 'N&uacute;mero'), 'filtro' => array('numero' => 'N&uacute;mero'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar N&uacute;mero');
        $bSPRV4 = $this->datasis->modbus($mSPRV4);
        $mSPRV5 = array('tabla' => 'sfac', 'columnas' => array('numero' => 'N&uacute;mero', 'tipo_doc' => 'Tipo De Documento'), 'filtro' => array('numero' => 'N&uacute;mero'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar N&uacute;mero');
        $bSPRV5 = $this->datasis->modbus($mSPRV5);
        $user = $this->session->userdata('usuario');
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $link4 = site_url('inventario/sinvlist/tabla');
        $link5 = site_url('inventario/sinvlist/');
        $script = '
		function limpia(){
			$("#codigo").val("");
			$("#descrip").val("");
			$("#marca").val("");
			$("#proveed").val("");
			$("#tipo").val("");
			$("#clave").val("");
			$("#depto").val("");
			$("#linea").val("");
			$("#grupo").val("");
		}
		function limpia2(){
			$("#objnumero").val("");
		}
				
		function envia(){
			nume = $("#nume").val();
			tlist = $("#tlist").val();
			objnumero = $("#objnumero").val();
			msj="Nueva lista";
			if(nume != ""){
				msj="lista numero "+nume;
			}
			if(objnumero != ""){
				alert("Se creare lista de productos de la tabla "+tlist+" con codigo "+objnumero+" en "+msj);
				window.location="' . $link4 . '/"+tlist+"/"+objnumero+"/"+nume;
			}else{
				alert("El campo Numero no contine valor");
			}
		}
		
		function atras(){
			window.location="' . $link5 . '/";
		}
		
		$(document).ready(function(){
				$("#marca").change(function(){$("#objnumero").val("");});
				$("#clave").focus(function(){$("#objnumero").val("");});
				$("#codigo").focus(function(){$("#objnumero").val("");});
				$("#descrip").focus(function(){$("#objnumero").val("");});
				$("#tipo").change(function(){$("#objnumero").val("");});
				//$("#proveed").change(function(){$("#objnumero").val("");});
				if(!$("#proveed").val()){
					$("#objnumero").val("");
				}
				$("#tlist").change(function(){
				vallist=$("#tlist").val();
				//alert(vallist);
				switch(vallist){
					case "sitems":	$("#modo1").hide();$("#modo2").hide();
									$("#modo3").hide();$("#modo4").hide();
									$("#modo5").show();
									break
					case "itsnot":	$("#modo5").hide();$("#modo2").hide();
									$("#modo3").hide();$("#modo4").hide();
									$("#modo1").show();
									break
					case "itsnte":	$("#modo1").hide();$("#modo2").hide();
									$("#modo3").hide();$("#modo5").hide();
									$("#modo4").show();
									break
					case "itspre":	$("#modo1").hide();$("#modo5").hide();
									$("#modo3").hide();$("#modo4").hide();
									$("#modo2").show();
									break
					case "itscst":	$("#modo1").hide();$("#modo2").hide();
									$("#modo5").hide();$("#modo4").hide();
									$("#modo3").show();
									break
					default:
				}
				//$("#modo1").css("display", "none");
			});
			
			
			$("#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->db->_escape_char = '';
        $filter->db->_protect_identifiers = false;
        $filter->script($script);
        $filter->nume = new inputField("Nro. Lista", "nume");
        $filter->nume->size = 25;
        $filter->nume->db_name = "";
        $filter->nume->clause = "";
        if ($para != "") {
            if ($para != "search" || $para != "reset") {
                $filter->nume->mode = "readonly";
                $filter->nume->insertValue = $para;
            } else {
                $filter->nume->append($modnume);
            }
        } else {
            $filter->nume->append($modnume);
        }
        $filter->codigo = new inputField("C&oacute;digo", "codigo");
        $filter->codigo->size = 25;
        //$filter->codigo->rule='callback_repetido|required';
        $filter->descrip = new inputField("Descripci&oacute;n", "descrip");
        $filter->descrip->db_name = 'CONCAT_WS(" ",a.descrip,a.descrip2)';
        $filter->descrip->size = 25;
        $filter->tipo = new dropdownField("Tipo", "tipo");
        $filter->tipo->db_name = "a.tipo";
        $filter->tipo->option("", "Todos");
        $filter->tipo->option("Articulo", "Art&iacute;culo");
        $filter->tipo->option("Servicio", "Servicio");
        $filter->tipo->option("Descartar", "Descartar");
        $filter->tipo->option("Consumo", "Consumo");
        $filter->tipo->option("Fraccion", "Fracci&oacute;n");
        $filter->tipo->style = 'width:220px;';
        $filter->clave = new inputField("Clave", "clave");
        $filter->clave->size = 25;
        $filter->proveed = new inputField("Proveedor", "proveed");
        $filter->proveed->append($bSPRV);
        $filter->proveed->db_name = 'a.prov1';
        $filter->proveed->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&iacute;nea", "linea");
        $filter->linea2->db_name = "c.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' 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&iacute;nea primero");
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option("", "Seleccione un Departamento primero");
        }
        $filter->marca = new dropdownField("Marca", "marca");
        $filter->marca->option("", "");
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->tlist = new dropdownField("Extraer de:", "tlist");
        $filter->tlist->option("sitems", "Facturas");
        $filter->tlist->option("itspre", "Presupuesto");
        $filter->tlist->option("itsnot", "N.Despacho");
        $filter->tlist->option("itsnte", "N.Entrega");
        $filter->tlist->option("itscst", "N.Compra");
        $filter->tlist->style = 'width:220px;';
        $filter->tlist->db_name = "";
        $filter->tlist->clause = "";
        $filter->tlist->in = "objnumero";
        $salida = "<a href='javascript:envia()'>Crear Lista en Base a Tabla</a>";
        $filter->objnumero = new inputField("Numero", "objnumero");
        $filter->objnumero->size = 10;
        $filter->objnumero->db_name = "";
        $filter->objnumero->clause = "";
        $filter->objnumero->append("<spam id='modo1'style='display:none;'>{$bSPRV1}</espam><spam id='modo2'style='display:none;>{$bSPRV2}</spam><spam id='modo3'style='display:none;>{$bSPRV3}</spam><spam id='modo4'style='display:none;>{$bSPRV4}</spam><spam id='modo5'>{$bSPRV5}</spam>");
        $filter->buttons("reset", "search");
        $filter->build();
        $tabla = "";
        if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
            //echo "=>".$this->input->post("objnumero")."epale";
            function asigna($numero)
            {
                $data = array('name' => "sepago[]", 'id' => $numero, 'value' => $numero, 'checked' => TRUE);
                return form_checkbox($data);
            }
            if ($para == "" || $para == "search") {
                $para = $this->input->post("nume");
            }
            $tabla = form_open("inventario/sinvlist/inserta/{$para}");
            $ddata = array('nume' => $this->input->post("nume"));
            if (!$this->input->post("objnumero") !== false) {
                //echo "aqui tambien";
                $grid = new DataGrid("Lista de Art&iacute;culos");
                $grid->db->select("a.tipo AS tipo,id,codigo,a.descrip,precio1,\n\t\t\t\t\t\t\t\t\tprecio2,precio3,precio4,a.prov1,\n\t\t\t\t\t\t\t\t\tb.nom_grup AS nom_grup,b.grupo AS grupoid,\n\t\t\t\t\t\t\t\t\tc.descrip AS nom_linea,c.linea AS linea,\n\t\t\t\t\t\t\t\t\td.descrip AS nom_depto,d.depto AS depto,a.prov1,a.prov2,a.prov3");
                $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->_escape_char = '';
                $grid->db->_protect_identifiers = false;
                $grid->order_by("codigo", "asc");
                $grid->per_page = 50;
                //$link=anchor('/inventario/sinvlist/dataedit/show/<#id#>','<#codigo#>');
                $uri_2 = anchor('inventario/sinv/dataedit/create/<#id#>', 'Duplicar');
                $grid->use_function('asigna');
                $grid->column("c&oacute;digo", "codigo");
                $grid->column("Departamento", "<#nom_depto#>", 'align=left');
                $grid->column("L&iacute;nea", "<#nom_linea#>", 'align=left');
                $grid->column("Grupo", "<#nom_grup#>", 'align=left');
                $grid->column("Descripci&oacute;n", "descrip");
                $grid->column("Accio&oacute;n", "<asigna><#codigo#></asigna>", "align='right'");
                $grid->build();
                //echo $grid->db->last_query();
                $tabla .= $grid->output . form_submit('mysubmit', 'Guardar');
                $tabla .= form_close();
            } else {
                //echo "aqui";
                //$_POST['depto']='';
                $tabla1 = $this->input->post("tlist");
                $cod = $this->input->post("objnumero");
                $num = $this->input->post("nume");
                $campo = "";
                $campo1 = "codigo";
                $campo2 = "descrip";
                $cod2 = $this->db->escape($cod);
                $cod3 = str_pad($cod, 8, '0', STR_PAD_LEFT);
                switch ($tabla1) {
                    case "sitems":
                        $campo = "numa";
                        $campo1 = "codigoa";
                        $campo2 = 'desca';
                        break;
                    case "itsnot":
                        $campo = "numero";
                        break;
                    case "itsnte":
                        $campo = "numero";
                        $campo2 = "desca";
                        break;
                    case "itspre":
                        $campo = "numero";
                        $campo2 = "desca";
                        break;
                    case "itscst":
                        $campo = "numero";
                        break;
                    default:
                        echo "Tabla no valida.........";
                        break;
                }
                $grid2 = new DataGrid("Lista de Art&iacute;culos Por Tabla");
                $grid2->db->from("{$tabla1}");
                $grid2->db->select(array("{$campo1}", "{$campo2}"));
                $grid2->db->where("{$campo}", "{$cod3}");
                $grid2->per_page = 50;
                //$link=anchor('/inventario/sinvlist/dataedit/show/<#id#>','<#codigo#>');
                $grid2->use_function('asigna');
                $grid2->column("c&oacute;digo", "{$campo1}");
                $grid2->column("Descripci&oacute;n", "{$campo2}");
                $grid2->column("Accio&oacute;n", "<asigna><#{$campo1}#></asigna>", "align='right'");
                $grid2->build();
                $grid2->db->last_query();
                $tabla .= $grid2->output . form_submit('mysubmit', 'Guardar');
                $tabla .= form_close();
            }
        }
        $back = "<table width='100%'border='0'><tr><td width='80%'></td><td width='20%'><a href='javascript:atras()'><spam id='regresar'align='right'>REGRESAR</spam></a></td></tr></table>";
        $data['filtro'] = $filter->output;
        $data['tabla'] = $tabla;
        $data['smenu'] = $back;
        //.$grid->output;
        $data['title'] = "Agregar Listado Por Patron";
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . script("sinvmaes2.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas_pru', $data);
    }
Exemplo n.º 10
0
    function filteredgrid($para = '')
    {
        $this->rapyd->load("datafilter2", "datagrid", "dataobject", "fields");
        $user = $this->session->userdata('usuario');
        $link2 = site_url('inventario/common/get_fami');
        $link3 = site_url('inventario/common/get_grupo_m');
        $link1 = site_url('supermercado/etiqueta_maes/menu');
        $script = '
				
		$(document).ready(function(){		
			$("#depto").change(function(){
				$("#objnumero").val("");
				depto();
				$.post("' . $link2 . '",{ depto:$(this).val() },function(data){$("#fami").html(data);})
				$.post("' . $link3 . '",{ fami:"" },function(data){$("#grupo").html(data);})
			});
			$("#fami").change(function(){
				fami();
				$.post("' . $link3 . '",{ lfami:$(this).val() },function(data){$("#grupo").html(data);})
			});
			
			$("#grupo").change(function(){
				grupo();
			});
			depto();
			fami();
			grupo();
		});
		
		function depto(){
			if($("#depto").val()!=""){
				$("#nom_depto").attr("disabled","disabled");
			}
			else{
				$("#nom_depto").attr("disabled","");
			}
		}
		
		function fami(){
			if($("#fami").val()!=""){
				$("#nom_fami").attr("disabled","disabled");
			}
			else{
				$("#nom_fami").attr("disabled","");
			}
		}
		
		function grupo(){
			if($("#grupo").val()!=""){
				$("#nom_grupo").attr("disabled","disabled");
			}
			else{
				$("#nom_grupo").attr("disabled","");
			}
		}
		';
        $filter = new DataFilter2("Filtro por Producto");
        $filter->db->_escape_char = '';
        $filter->db->_protect_identifiers = false;
        $filter->script($script);
        $filter->descrip = new inputField("Descripci&oacute;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->fami = new dropdownField("Familia", "fami");
        $filter->fami->db_name = "c.familia";
        $filter->fami->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->fami->options("SELECT familia, descrip FROM fami WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->fami->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = "b.grupo";
        $filter->grupo->option("", "Seleccione una familia primero");
        $fami = $filter->getval('fami');
        if ($fami !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE familia='{$fami}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option("", "Seleccione un Departamento primero");
        }
        $filter->marca = new dropdownField("Marca", "marca");
        $filter->marca->option("", "");
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->buttons("reset", "search");
        $filter->build();
        $tabla = "";
        if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
            $tabla = form_open("forma/ver/etiqueta_m");
            $grid = new DataGrid("Lista de Art&iacute;culos Para Etiquetas");
            $grid->db->select("COUNT(*) AS num,a.tipo AS tipo,a.codigo as codigo,a.descrip,a.precio1 as precio,a.barras,\n\t\t\tb.nom_grup AS nom_grup, b.grupo AS grupoid,\n\t\t\tc.descrip AS nom_familia, c.familia AS familia,\n\t\t\td.descrip AS nom_depto, d.depto AS depto");
            $grid->db->from("maes AS a");
            $grid->db->join("grup AS b", "a.grupo=b.grupo");
            $grid->db->join("fami AS c", "b.familia=c.familia");
            $grid->db->join("dpto AS d", "c.depto=d.depto");
            $grid->db->group_by("a.codigo");
            $grid->db->_escape_char = '';
            $grid->db->_protect_identifiers = false;
            $grid->order_by("codigo", "asc");
            $grid->use_function('asigna');
            $grid->column_orderby("c&oacute;digo", "codigo", "codigo");
            $grid->column_orderby("Departamento", "<#nom_depto#>", "nom_depto", 'align=left');
            $grid->column_orderby("Familia", "<#nom_familia#>", "nom_familia", 'align=left');
            $grid->column_orderby("Grupo", "<#nom_grup#>", "nom_grup", 'align=left');
            $grid->column_orderby("Descripci&oacute;n", "descrip", "descrip");
            $grid->build();
            $consul = $this->db->last_query();
            $tabla .= form_hidden('consul', $consul);
            $data = array('name' => 'cant', 'id' => 'cant', 'value' => '1', 'maxlength' => '5', 'size' => '5');
            $tabla .= $grid->output . form_label("Numero de etiquetas por producto:") . "&nbsp&nbsp&nbsp" . form_input($data) . form_submit('mysubmit', 'Generar');
            $tabla .= form_close();
        }
        $data['smenu'] = "<a href='" . $link1 . "' >Atras</a>";
        $back = "<table width='100%'border='0'><tr><td width='80%'></td><td width='20%'><a href='javascript:atras()'><spam id='regresar'align='right'>REGRESAR</spam></a></td></tr></table>";
        $data['filtro'] = $filter->output;
        $data['tabla'] = $tabla;
        $data['title'] = "Genera Etiquetas";
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . script("sinvmaes2.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas_pru', $data);
    }
Exemplo n.º 11
0
    function inven($tabla)
    {
        if (!$this->db->table_exists($tabla)) {
            show_error('Inventario f&iacute;sico no exite');
        }
        $tifecha = dbdate_to_human(substr($tabla, -8));
        $tialmacen = substr($tabla, 3, -8);
        $this->rapyd->load('datagrid', 'dataobject', 'fields', 'datafilter2');
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $script = '
		$(document).ready(function(){

			$("#depto").change(function(){
				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('');
        $this->db->_escape_char = '';
        $this->db->_protect_identifiers = false;
        $filter->db->select("e.existen,e.modificado,e.contado,e.agregar,e.quitar,e.sustituir,a.tipo AS tipo,a.id,e.codigo,a.descrip,precio1,precio2,precio3,precio4,b.nom_grup AS nom_grup,a.barras,b.grupo AS grupoid,c.descrip AS nom_linea,c.linea AS linea,d.descrip AS nom_depto,d.depto AS depto,e.id AS idfis,e.despacha, a.ubica, if( a.activo = 'S', ' ' , '*' ) activo");
        $filter->db->from("{$tabla} AS e");
        $filter->db->join('sinv AS a', 'a.codigo=e.codigo');
        $filter->db->join('grup AS b', 'a.grupo=b.grupo');
        $filter->db->join('line AS c', 'b.linea=c.linea');
        $filter->db->join('dpto AS d', 'c.depto=d.depto');
        //$filter->db->where('activo','S');
        $filter->db->where('actualizado IS NULL', '', false);
        //$filter->db->order_by("d.depto,c.linea,b.grupo,a.descrip");
        $filter->script($script);
        $filter->codigo = new inputField('C&oacute;digo', 'codigo');
        $filter->codigo->db_name = 'e.codigo';
        $filter->codigo->size = 25;
        $filter->descrip = new inputField('Descripci&oacute;n', 'descrip');
        $filter->descrip->db_name = 'CONCAT_WS(" ",a.descrip,a.descrip2)';
        $filter->descrip->size = 25;
        $filter->tipo = new dropdownField('Tipo', 'tipo');
        $filter->tipo->db_name = 'a.tipo';
        $filter->tipo->option('', 'Todos');
        $filter->tipo->option('Articulo', 'Art&iacute;culo');
        $filter->tipo->option('Servicio', 'Servicio');
        $filter->tipo->option('Descartar', 'Descartar');
        $filter->tipo->option('Consumo', 'Consumo');
        $filter->tipo->option('Fraccion', 'Fracci&oacute;n');
        $filter->tipo->style = 'width:220px;';
        $filter->clave = new inputField('Clave', 'clave');
        $filter->clave->size = 25;
        $filter->activo = new dropdownField('Activo', 'activo');
        $filter->activo->option('', 'Todos');
        $filter->activo->option('S', 'Si');
        $filter->activo->option('N', 'No');
        $filter->activo->style = 'width:220px;';
        $filter->activo->db_name = 'a.activo';
        $filter->proveed = new inputField('Proveedor', 'proveed');
        $filter->proveed->append($bSPRV);
        $filter->proveed->db_name = 'CONCAT_WS("_", a.prov1, a.prov2, a.prov3)';
        $filter->proveed->size = 25;
        $filter->depto2 = new inputField('Departamento', 'nom_depto');
        $filter->depto2->db_name = 'd.descrip';
        $filter->depto2->size = 10;
        $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->depto->in = "depto2";
        $filter->linea = new inputField("Linea", "nom_linea");
        $filter->linea->db_name = "c.descrip";
        $filter->linea->size = 10;
        $filter->linea2 = new dropdownField("L&iacute;nea", "linea");
        $filter->linea2->db_name = 'c.linea';
        $filter->linea2->option('', 'Seleccione un Departamento primero');
        $filter->linea2->in = 'linea';
        $depto = $filter->getval('depto');
        if ($depto !== false) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option('', 'Seleccione un Departamento primero');
        }
        $filter->grupo2 = new inputField('Grupo', 'nom_grupo');
        $filter->grupo2->db_name = 'b.nom_grup';
        $filter->grupo2->size = 10;
        $filter->grupo = new dropdownField('Grupo', 'grupo');
        $filter->grupo->db_name = 'b.grupo';
        $filter->grupo->option('', 'Seleccione una L&iacute;nea primero');
        $filter->grupo->in = 'grupo2';
        $linea = $filter->getval('linea2');
        if ($linea !== false) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option('', 'Seleccione un Departamento primero');
        }
        $filter->marca = new dropdownField('Marca', 'marca');
        $filter->marca->option('', 'Todas');
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->ubica = new inputField('Ubicacion', 'ubica');
        $filter->ubica->db_name = 'a.ubica';
        $filter->ubica->size = 15;
        $filter->buttons('reset', 'search');
        $filter->build();
        function caja($campo2, $valor, $codigo, $readonly = false, $fila, $desp, $ccana)
        {
            $campo = new inputField2('Title', $campo2);
            $campo->status = 'create';
            $campo->css_class = 'inputnum';
            $campo->size = 5;
            $campo->insertValue = $valor;
            $campo->readonly = $readonly;
            if ($campo2 == 'c') {
                $campo->type = 'inputhidden';
            }
            $campo->name = $codigo;
            //$campo->name = 'I'.$campo2.'_'.$codigo;
            $campo->id = 'I' . $campo2 . '_' . $codigo;
            $campo->tabindex = $desp * $ccana + $fila;
            $campo->build();
            return $campo->output;
        }
        function pinta($modifi, $cont, $idfis, $pos)
        {
            $iidfis = "{$idfis}class";
            if (empty($modifi)) {
                $rt = '<span class="' . $iidfis . '">' . $cont . '</span>';
            } else {
                $rt = '<span class="' . $iidfis . '" style="color : red;">' . $cont . '</span>';
            }
            return $rt;
        }
        $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
        $titulo1 = anchor_popup("reportes/ver/INVFIS/{$tabla}", 'Conteo', $atts);
        $titulo2 = anchor_popup('reportes/ver/SINVFIS', 'Hoja de trabajo', $atts);
        $cana = 100;
        $grid = new DataGrid('Reportes -->' . $titulo1 . ' ' . $titulo2);
        $grid->table_id = 'conteotabla';
        $grid->per_page = $cana;
        $grid->use_function('caja', 'pinta');
        $action = "javascript:window.location='" . site_url($this->url) . "'";
        $grid->button('btn_regresa', 'Regresar', $action, 'TR');
        $grid->column('X', 'activo', 'activo', 'align=center');
        $grid->column_orderby('Dpto', 'depto', 'd.depto', 'align=center');
        $grid->column_orderby('Linea', 'linea', 'c.linea', 'align=center');
        $grid->column_orderby('Grupo', 'grupoid', 'b.grupo', 'align=center');
        $grid->column_orderby('Barras', 'barras', 'b.grupo', 'align=center');
        $grid->column_orderby('Ubica', 'ubica', 'a.ubica', 'align=center');
        $grid->column_orderby('Codigo', '<pinta><#modificado#>|<#codigo#>|<#idfis#>|a</pinta>', 'codigo', 'align=center');
        $grid->column_orderby('Descripci&oacute;n', '<pinta><#modificado#>|<#descrip#>|<#idfis#>|b</pinta>', 'descrip');
        $grid->column_orderby('P.Desp.', '<pinta><#modificado#>|<#despacha#>|<#idfis#>|d</pinta>', 'despacha', 'align=right');
        $grid->column_orderby('Anterior', '<pinta><#modificado#>|<#existen#>|<#idfis#>|d</pinta>', 'existen', 'align=right');
        $grid->column_orderby('Contado', '<caja>c|<#contado#>|<#idfis#>|true|<#dg_row_id#>|0|' . $cana . '</caja>', 'contado', 'align=right');
        $grid->column('Agregar', '<caja>a|<#agregar#>|<#idfis#>|false|<#dg_row_id#>|1|' . $cana . '</caja>');
        $grid->column('Quitar', '<caja>q|<#quitar#>|<#idfis#>|false|<#dg_row_id#>|2|' . $cana . '</caja>');
        $grid->column('Sustituir', '<caja>s||<#idfis#>|false|<#dg_row_id#>|3|' . $cana . '</caja>');
        $grid->build();
        //echo $grid->db->last_query();
        $data['script'] = '<script language="javascript" type="text/javascript">

		function traer(cod){
			$.post("' . site_url($this->url . 'traer') . '",{ codigo:cod,tabla:"' . $tabla . '" },function(data){
				$("#Ic_"+cod).val(data);
				$("#Ic_"+cod+"_val").text(data);
			})
		}

		$(function(){
			$(".inputnum").numeric(".");

			$("input[id^=\'I\']").focus(function(){
				var cod =$(this).attr("name");
				traer(cod);
				$(this).select();
			});

			$("input[id^=\'I\']").click(function(){
				$(this).select();
			});

			$("input[id^=\'Ia_\']").change(function(){
				var cod =$(this).attr("name");
				var val = $("#Ia_"+cod).val();
				var con = $("#Ic_"+cod).val();
				$.post("' . site_url($this->url . 'agregar') . '",{ codigo:cod,valor:val,tabla:"' . $tabla . '",contado:con },function(data){
					$("#Ia_"+cod).val(0);
					if(data.length>0){
						alert(data);
					}else{
						$("."+cod+"class").attr("style","color:orange;");
					}
					traer(cod);
				});
			});

			$("input[id^=\'Iq_\']").change(function(){
				var cod =$(this).attr("name");
				var val = $("#Iq_"+cod).val();
				var con = $("#Ic_"+cod).val();
				$.post("' . site_url($this->url . 'quitar') . '",{ codigo:cod,valor:val,tabla:"' . $tabla . '",contado:con },function(data){
					$("#Iq_"+cod).val(0);
					if(data.length>0){
						alert(data);
					}else{
						$("."+cod+"class").attr("style","color:orange;");
					}
					traer(cod);
				});

			});

			$("input[id^=\'Is_\']").change(function(){
				var cod =$(this).attr("name");
				var val = $("#Is_"+cod).val();
				var con = $("#Ic_"+cod).val();
				$.post("' . site_url($this->url . 'sustituir') . '",{ codigo:cod,valor:val,tabla:"' . $tabla . '",contado:con },function(data){
					$("#Is_"+cod).val("");
					if(data.length>0){
						alert(data);
					}else{
						$("."+cod+"class").attr("style","color:orange;");
					}
					traer(cod);
				});
			});

		});
		</script>
		<style type="text/css">#conteotabla tr:hover { background-color: #ffff99; }</style>';
        $leyenda = '<span style="color:orange">Reci&eacute;n contado</span> ';
        $leyenda .= '<span style="color:red">Ya contado</span> ';
        $leyenda .= '<span style="color:black">No se ha contado</span> ';
        $salida = anchor($this->url, 'Regresar');
        $data['content'] = $grid->output . $leyenda;
        $data['filtro'] = $filter->output;
        $data['title'] = heading("Conteo de inventario, fecha {$tifecha}, almac&eacute;n {$tialmacen}");
        $data['head'] = script('jquery.js');
        $data['head'] .= script('plugins/jquery.numeric.pack.js') . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 12
0
    function inven($tabla)
    {
        $this->rapyd->load("datagrid", "dataobject", "fields", "datafilter2");
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $script = '
		$(document).ready(function(){

			$("#depto").change(function(){
				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->db->select("e.existen,e.modificado,e.contado,e.agregar,e.quitar,e.sustituir,a.tipo AS tipo,id,e.codigo,a.descrip,precio1,precio2,precio3,precio4,b.nom_grup AS nom_grup,b.grupo AS grupoid,c.descrip AS nom_linea,c.linea AS linea,d.descrip AS nom_depto,d.depto AS depto");
        $filter->db->from("{$tabla} AS e");
        $filter->db->join('sinv AS a', 'a.codigo=e.codigo');
        $filter->db->join('grup AS b', 'a.grupo=b.grupo');
        $filter->db->join('line AS c', 'b.linea=c.linea');
        $filter->db->join('dpto AS d', 'c.depto=d.depto');
        $filter->db->where('activo', 'S');
        $filter->db->where('actualizado IS NULL', '', false);
        $filter->script($script);
        $filter->codigo = new inputField('C&oacute;digo', 'codigo');
        $filter->codigo->db_name = 'e.codigo';
        $filter->codigo->size = 25;
        $filter->descrip = new inputField("Descripci&oacute;n", "descrip");
        $filter->descrip->db_name = 'CONCAT_WS(" ",a.descrip,a.descrip2)';
        $filter->descrip->size = 25;
        $filter->tipo = new dropdownField("Tipo", "tipo");
        $filter->tipo->db_name = "a.tipo";
        $filter->tipo->option("", "Todos");
        $filter->tipo->option("Articulo", "Art&iacute;culo");
        $filter->tipo->option("Servicio", "Servicio");
        $filter->tipo->option("Descartar", "Descartar");
        $filter->tipo->option("Consumo", "Consumo");
        $filter->tipo->option("Fraccion", "Fracci&oacute;n");
        $filter->tipo->style = 'width:220px;';
        $filter->clave = new inputField("Clave", "clave");
        $filter->clave->size = 25;
        $filter->activo = new dropdownField("Activo", "activo");
        $filter->activo->option("", "Todos");
        $filter->activo->option("S", "Si");
        $filter->activo->option("N", "No");
        $filter->activo->style = 'width:220px;';
        $filter->proveed = new inputField("Proveedor", "proveed");
        $filter->proveed->append($bSPRV);
        $filter->proveed->clause = "in";
        $filter->proveed->db_name = '( a.prov1, a.prov2, a.prov3 )';
        $filter->proveed->size = 25;
        $filter->depto2 = new inputField("Departamento", "nom_depto");
        $filter->depto2->db_name = "d.descrip";
        $filter->depto2->size = 10;
        $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->depto->in = "depto2";
        $filter->linea = new inputField("Linea", "nom_linea");
        $filter->linea->db_name = "c.descrip";
        $filter->linea->size = 10;
        $filter->linea2 = new dropdownField("L&iacute;nea", "linea");
        $filter->linea2->db_name = "c.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $filter->linea2->in = "linea";
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo2 = new inputField("Grupo", "nom_grupo");
        $filter->grupo2->db_name = "b.nom_grup";
        $filter->grupo2->size = 10;
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = "b.grupo";
        $filter->grupo->option("", "Seleccione una L&iacute;nea primero");
        $filter->grupo->in = "grupo2";
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option("", "Seleccione un Departamento primero");
        }
        $filter->marca = new dropdownField("Marca", "marca");
        $filter->marca->option('', 'Todas');
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->buttons("reset", "search");
        $filter->build();
        function caja($campo2, $valor, $codigo, $readonly = false)
        {
            $campo = new inputField2("Title", $campo2);
            $campo->status = "create";
            $campo->css_class = 'inputnum';
            $campo->size = 10;
            $campo->insertValue = $valor;
            $campo->readonly = $readonly;
            $campo->name = $codigo;
            $campo->id = 'I' . $campo2 . '_' . $codigo;
            $campo->build();
            return $campo->output;
        }
        function pinta($modifi, $cont)
        {
            if ($modifi == null) {
                return $cont;
            } else {
                return "<span style='color:FF0000;'>{$cont}</span>";
            }
        }
        $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
        $titulo = anchor_popup("reportes/ver/INVFIS/{$tabla}", 'Imprimir', $atts);
        $grid = new DataGrid("Inventario Fisico -->" . $titulo);
        $grid->per_page = 10;
        $grid->db->limit = 10;
        $grid->use_function('caja', 'pinta');
        $grid->column_orderby("Codigo", "<pinta><#modificado#>|<#codigo#></pinta>", "codigo", 'align=center');
        $grid->column_orderby("Descripci&oacute;n", "<pinta><#modificado#>|<#descrip#></pinta>", "descrip");
        $grid->column_orderby("Anterior", "<pinta><#modificado#>|<#existen#></pinta>", "existen", 'align=right');
        $grid->column_orderby("Contado", "<caja>c|<#contado#>|<#codigo#>|true</caja>");
        $grid->column("Agregar", "<caja>a|<#agregar#>|<#codigo#></caja>");
        $grid->column("Quitar", "<caja>q|<#quitar#>|<#codigo#></caja>");
        $grid->column("Sustituir", "<caja>s|<#sustituir#>|<#codigo#></caja>");
        $grid->build();
        //echo $grid->db->last_query();
        $data['script'] = '<script language="javascript" type="text/javascript">
		$(function() {
			$(".inputnum").numeric(".");

			function traer(cod){
				$.post("' . site_url($this->url . 'traer') . '",{ codigo:cod,tabla:"' . $tabla . '" },function(data){
					$("#Ic_"+cod).val(data);
				})
			}

			$("input[id^=\'I\']").focus(function(){
				cod =$(this).attr("name");
				traer(cod);
			});

			$("input[id^=\'Ia_\']").change(function(){
				cod =$(this).attr("name");
				val = $("#Ia_"+cod).val();
				con = $("#Ic_"+cod).val();
				$.post("' . site_url($this->url . 'agregar') . '",{ codigo:cod,valor:val,tabla:"' . $tabla . '",contado:con },function(data){
					$("#Ia_"+cod).val(0);
					if(data){
						alert(data);
					}
				})
				traer(cod);
			});

			$("input[id^=\'Iq_\']").change(function(){
					cod =$(this).attr("name");
					val = $("#Iq_"+cod).val();
					con = $("#Ic_"+cod).val();
					$.post("' . site_url($this->url . 'quitar') . '",{ codigo:cod,valor:val,tabla:"' . $tabla . '",contado:con },function(data){
						$("#Iq_"+cod).val(0);
						if(data){
							alert(data);
						}
					})
					traer(cod);
			});

			$("input[id^=\'Is_\']").change(function(){
					cod =$(this).attr("name");
					val = $("#Is_"+cod).val();
					con = $("#Ic_"+cod).val();
					$.post("' . site_url($this->url . 'sustituir') . '",{ codigo:cod,valor:val,tabla:"' . $tabla . '",contado:con },function(data){
						$("#Is_"+cod).val(0);
						if(data){
							alert(data);
						}
					})
					traer(cod);
			});
		});
		</script>';
        $salida = anchor($this->url, "Regresar");
        $data['content'] = $filter->output . $salida . $grid->output;
        //$data['title']   = "($codigoadm) $codigoadmdes $tipo";
        $data["head"] = script("jquery.js") . script("plugins/jquery.numeric.pack.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 13
0
    function cprecios()
    {
        $this->rapyd->uri->keep_persistence();
        $cpre = $this->input->post('pros');
        if ($cpre !== false) {
            $msj = $this->_cprecios();
        } else {
            $msj = '';
        }
        $this->rapyd->load('datafilter2', 'datagrid');
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $script = '
		$(document).ready(function(){
			$(".inputnum").numeric(".");
			$("#depto").change(function(){
				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();
			});
			$("#sinvprecioc").submit(function() {
				return confirm("Se van a actualizar todos los precios en pantalla \\nEstas seguro de que quieres seguir??");
			});
			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');
        $select = array('IF(formcal=\'U\',ultimo,IF(formcal=\'P\',pond,IF(formcal=\'S\',standard,GREATEST(ultimo,pond)))) AS costo', 'a.existen', 'a.marca', 'a.tipo', 'a.id', 'TRIM(codigo) AS codigo', 'a.descrip', 'precio1', 'precio2', 'precio3', 'precio4', 'b.nom_grup', 'b.grupo', 'c.descrip AS nom_linea', 'c.linea', 'd.descrip AS nom_depto', 'd.depto AS depto', 'a.base1', 'a.base2', 'a.base3', 'a.base4');
        $filter->db->select($select);
        $filter->db->from('sinv AS a');
        $filter->db->join('grup AS b', 'a.grupo=b.grupo');
        $filter->db->join('line AS c', 'b.linea=c.linea');
        $filter->db->join('dpto AS d', 'c.depto=d.depto');
        $filter->db->where('a.activo', 'S');
        $filter->script($script);
        $filter->codigo = new inputField("C&oacute;digo", "codigo");
        $filter->codigo->size = 15;
        $filter->codigo->group = "Uno";
        $filter->descrip = new inputField("Descripci&oacute;n", "descrip");
        $filter->descrip->db_name = 'CONCAT_WS(" ",a.descrip,a.descrip2)';
        $filter->descrip->size = 30;
        $filter->descrip->group = "Uno";
        $filter->tipo = new dropdownField("Tipo", "tipo");
        $filter->tipo->db_name = "a.tipo";
        $filter->tipo->option('', "Todos");
        $filter->tipo->option("Articulo", "Art&iacute;culo");
        $filter->tipo->option("Servicio", "Servicio");
        $filter->tipo->option("Descartar", "Descartar");
        $filter->tipo->option("Consumo", "Consumo");
        $filter->tipo->option("Fraccion", "Fracci&oacute;n");
        $filter->tipo->style = 'width:120px;';
        $filter->tipo->group = "Uno";
        $filter->clave = new inputField("Clave", "clave");
        $filter->clave->size = 15;
        $filter->clave->group = "Uno";
        $filter->proveed = new inputField("Proveedor", "proveed");
        $filter->proveed->append($bSPRV);
        $filter->proveed->db_name = 'CONCAT_WS("-",`a`.`prov1`, `a`.`prov2`, `a`.`prov3`)';
        $filter->proveed->size = 10;
        $filter->proveed->group = "Dos";
        $filter->depto2 = new inputField("Departamento", "nom_depto");
        $filter->depto2->db_name = "d.descrip";
        $filter->depto2->size = 5;
        $filter->depto2->group = "Dos";
        $filter->depto = new dropdownField("Departamento", "depto");
        $filter->depto->db_name = "d.depto";
        $filter->depto->option("", "Seleccione un Departamento");
        $filter->depto->options("SELECT depto, CONCAT(depto,'-',descrip) descrip FROM dpto WHERE tipo='I' ORDER BY depto");
        $filter->depto->in = "depto2";
        $filter->depto->group = "Dos";
        $filter->depto->style = 'width:190px;';
        $filter->linea = new inputField('Linea', 'nom_linea');
        $filter->linea->db_name = 'c.descrip';
        $filter->linea->size = 5;
        $filter->linea->group = 'Dos';
        $filter->linea2 = new dropdownField('L&iacute;nea', 'linea');
        $filter->linea2->db_name = 'c.linea';
        $filter->linea2->option('', "Seleccione un Departamento primero");
        $filter->linea2->in = 'linea';
        $filter->linea2->group = 'Dos';
        $filter->linea2->style = 'width:190px;';
        $depto = $filter->getval('depto');
        if ($depto !== false) {
            $filter->linea2->options("SELECT linea, CONCAT(linea,'-',descrip) descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo2 = new inputField('Grupo', 'nom_grupo');
        $filter->grupo2->db_name = 'b.nom_grup';
        $filter->grupo2->size = 5;
        $filter->grupo2->group = 'Dos';
        $filter->grupo = new dropdownField('Grupo', 'grupo');
        $filter->grupo->db_name = 'b.grupo';
        $filter->grupo->option('', 'Seleccione una L&iacute;nea primero');
        $filter->grupo->in = 'grupo2';
        $filter->grupo->group = 'Dos';
        $filter->grupo->style = 'width:190px;';
        $linea = $filter->getval('linea2');
        if ($linea !== false) {
            $filter->grupo->options("SELECT grupo, CONCAT(grupo,'-',nom_grup) nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option("", "Seleccione un Departamento primero");
        }
        $filter->marca = new dropdownField("Marca", "marca");
        $filter->marca->option('', 'Todas');
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->marca->group = "Dos";
        $filter->buttons('reset', 'search');
        $filter->build('dataformfiltro');
        $ggrid = '';
        if ($filter->is_valid()) {
            $attr = array('id' => 'sinvprecioc');
            $ggrid = form_open(uri_string(), $attr);
            foreach ($filter->_fields as $field_name => $field_copy) {
                $ggrid .= form_hidden($field_copy->id, $field_copy->value);
            }
            $grid = new DataGrid('Art&iacute;culos de Inventario');
            $grid->order_by('codigo', 'asc');
            $grid->per_page = 15;
            $link = anchor('inventario/sinv/dataedit/show/<#id#>', '<#codigo#>');
            $uri_2 = anchor('inventario/sinv/dataedit/create/<#id#>', 'Duplicar');
            $grid->column_orderby('C&oacute;digo', 'codigo', 'codigo');
            $grid->column_orderby('Descripci&oacute;n', 'descrip', 'descrip');
            $grid->column_orderby('Marca', 'marca', 'marca');
            for ($i = 1; $i < 5; $i++) {
                $obj = 'precio' . $i;
                ${$obj} = new inputField($obj, $obj);
                ${$obj}->grid_name = $obj . '[<#id#>]';
                ${$obj}->status = 'modify';
                ${$obj}->size = 8;
                ${$obj}->css_class = 'inputnum';
                ${$obj}->autocomplete = false;
                $grid->column("Precio {$i}", ${$obj}, 'align=right');
            }
            $grid->column('Costo', '<nformat><#costo#></nformat>', 'align=right');
            $grid->column('Existencia', '<nformat><#existen#></nformat>', 'align=right');
            $grid->submit('pros', 'Cambiar', 'BR');
            $grid->build();
            $ggrid .= $grid->output;
            $ggrid .= form_close();
            //echo $this->db->last_query();
        }
        $data['content'] = '<div class="alert">' . $msj . '</div>';
        $data['content'] .= $ggrid;
        $data['filtro'] = $filter->output;
        $data['title'] = heading('Cambio de precios');
        $data['head'] = $this->rapyd->get_head() . script('jquery.pack.js');
        $data['head'] .= script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 14
0
    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&oacute;digo', 'codigo');
        $filter->codigo->db_name = 'a.codigo';
        $filter->codigo->size = 20;
        $filter->codigo->clause = 'where';
        $filter->codigo->operator = '=';
        $filter->descrip = new inputField('Descripci&oacute;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&iacute;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&iacute;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&oacute;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&iacute;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&oacute;digo', 'codigo', 'codigo');
            $grid->column_orderby('Departamento', 'nom_depto', 'nom_depto', 'align=\'left\'');
            $grid->column_orderby('L&iacute;nea', 'nom_linea', 'nom_linea', 'align=\'left\'');
            $grid->column_orderby('Grupo', 'nom_grup', 'nom_grup', 'align=\'left\'');
            $grid->column_orderby('Descripci&oacute;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&aacute;s de ' . $limite . ' &aacute;rticulos';
            } else {
                $tabla = 'No se encontrar&oacute;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);
    }
Exemplo n.º 15
0
    function filteredgrid()
    {
        $this->datasis->modulo_id($this->id, 1);
        if ($this->input->post('btn_cambio_2') !== false) {
            unset($_POST['btn_cambio_2']);
            $_POST['btn_submit'] = 'a';
            $_cambiomin = true;
        } else {
            $_cambiomin = false;
        }
        $this->rapyd->load("datafilter2", "datagrid");
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $link2 = site_url('inventario/common/get_linea');
        $link3 = site_url('inventario/common/get_grupo');
        $script = '
		$(document).ready(function(){

			$("#depto").change(function(){
				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->db->select('a.codigo');
        $filter->db->select('a.descrip');
        $filter->db->select('s.exmin');
        $filter->db->select('s.id');
        $filter->db->from('eventas as a');
        $filter->db->join('grup AS b', 'a.grupo=b.grupo');
        //$filter->db->join('line AS c' ,'c.linea=b.linea');
        //$filter->db->join('dpto AS d' ,'c.depto=d.depto');
        $filter->db->join('sinv AS s', 'a.codigo=s.codigo');
        //$filter->db->where('s.activo','S');
        $filter->db->where('s.tipo', 'Articulo');
        $filter->db->groupby('a.descrip');
        //Agregar proveedor y filtro de activo, columna de activo maximo=doble minu +1 predeterminado, guardar historial de cambios
        //Diferencias porcentual enete el minimo calculado y el minimo actual-
        $filter->fechad = new dateonlyField("Desde", "fechad", 'm/Y');
        $filter->fechah = new dateonlyField("Hasta", "fechah", 'm/Y');
        $filter->fechad->dbformat = 'Y-m-';
        $filter->fechah->dbformat = 'Y-m-';
        $filter->fechah->rule = "required";
        $filter->fechad->rule = "required";
        $filter->fechad->clause = $filter->fechah->clause = '';
        $filter->fechad->insertValue = date("Y-m-d", mktime(0, 0, 0, date('m') - 12, date('j'), date('Y')));
        $filter->fechah->insertValue = date("Y-m-d");
        $filter->fechah->size = $filter->fechad->size = 9;
        $filter->depto = new dropdownField("Departamento", "depto");
        $filter->depto->db_name = "a.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&iacute;nea", "linea");
        $filter->linea2->db_name = "a.linea";
        $filter->linea2->option("", "Seleccione un Departamento primero");
        $depto = $filter->getval('depto');
        if ($depto !== FALSE) {
            $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto='{$depto}' ORDER BY descrip");
        } else {
            $filter->linea2->option("", "Seleccione un Departamento primero");
        }
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->db_name = 'a.grupo';
        $filter->grupo->option("", "Seleccione una L&iacute;nea primero");
        $linea = $filter->getval('linea2');
        if ($linea !== FALSE) {
            $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea='{$linea}' ORDER BY nom_grup");
        } else {
            $filter->grupo->option("", "Seleccione un Departamento primero");
        }
        $filter->marca = new dropdownField("Marca", "marca");
        $filter->marca->option('', 'Todas');
        $filter->marca->options("SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca");
        $filter->marca->style = 'width:220px;';
        $filter->estadistica = new dropdownField('Estad&iacute;stica a usar', 'estadistica');
        $filter->estadistica->clause = '';
        $filter->estadistica->rule = 'required';
        $filter->estadistica->option('promediot', 'Promedio truncado');
        $filter->estadistica->option('promedio', 'Promedio');
        $filter->estadistica->option('mediana', 'Mediana');
        $filter->estadistica->option('maximo', 'Valor M&aacute;ximo');
        $filter->estadistica->option('minimo', 'Valor M&iacute;nimo');
        //$filter->estadistica->option('moda'     ,'Moda');
        $filter->estadistica->group = 'Configuraci&oacute;n';
        $filter->maximos = new dropdownField('C&aacute;lculo de m&aacute;ximos', 'maximos');
        $filter->maximos->clause = '';
        $filter->maximos->option('', 'No alterar');
        $filter->maximos->option('max_dupli', 'Doble del m&iacute;nimo');
        $filter->maximos->group = 'Configuraci&oacute;n';
        $filter->frecuencia = new dropdownField('Frecuencia', 'frecuencia');
        $filter->frecuencia->clause = '';
        $filter->frecuencia->rule = 'required';
        $filter->frecuencia->option('1', 'Mensual');
        $filter->frecuencia->option('2', 'BiMenusal');
        $filter->frecuencia->option('4', 'Semanal');
        $filter->frecuencia->option('8', 'BiSemanal');
        $filter->frecuencia->group = 'Configuraci&oacute;n';
        $filter->buttons('reset', 'search');
        if ($this->rapyd->uri->is_set('search')) {
            $filter->submit('btn_cambio_2', 'Actualizar todos', "BR");
        }
        $filter->build();
        $uri = 'inventario/sinv/dataedit/show/<#codigo#>';
        $tabla = '';
        if ($filter->is_valid()) {
            $estadistica = $filter->estadistica->newValue;
            $maximos = $filter->maximos->newValue;
            $frecuencia = $filter->frecuencia->newValue;
            $udia = days_in_month(substr($filter->fechah->newValue, 4), substr($filter->fechah->newValue, 0, 4));
            $fechad = $filter->fechad->newValue . '01';
            $fechah = $filter->fechah->newValue . $udia;
            $filter->db->where('a.fecha >=', $fechad);
            $filter->db->where('a.fecha <=', $fechah);
            $datetime1 = new DateTime($fechad);
            $datetime2 = new DateTime($fechah);
            $interval = $datetime1->diff($datetime2);
            $ffechad = explode('-', $fechad);
            $grid = new DataGrid('Lista de Art&iacute;culos');
            $grid->order_by('codigo', 'asc');
            $grid->use_function('divisor', $estadistica);
            $grid->per_page = 15;
            $grid->column('C&oacute;digo', 'codigo');
            $grid->column('Descripci&oacute;n', 'descrip');
            $columncal = $ccolumncal = array();
            for ($i = 0; $i <= $interval->m + 1; $i++) {
                $mk = mktime(0, 0, 0, $ffechad[1] + $i, 1, $ffechad[0]);
                $udia = days_in_month(date('m', $mk), date('Y', $mk));
                $sqdesde = date("Y-m-d", $mk);
                $sqhasta = date("Y-m-", $mk) . $udia;
                $etiq = date("m/Y", $mk);
                $select = "SUM(cana*(fecha BETWEEN '{$sqdesde}' AND '{$sqhasta}')) AS '{$etiq}'";
                $filter->db->select($select);
                $grid->column($etiq, "<nformat><#{$etiq}#></nformat>", 'align=right');
                $columncal[] = "<#{$etiq}#>";
                $ccolumncal[] = $etiq;
            }
            $grid->column('Promedio', '<b style="color:red"><nformat><divisor><' . $estadistica . '>' . implode('|', $columncal) . '</' . $estadistica . '>|' . $frecuencia . '</divisor></nformat></b>', 'align=right');
            $grid->column('M&iacute;nimo', '<nformat><#exmin#></nformat>', 'align=right');
            $grid->column('&nbsp;', '<a href="javascript:actumin(\'<#id#>\',\'<divisor><' . $estadistica . '>' . implode('|', $columncal) . '</' . $estadistica . '>|' . $frecuencia . '</divisor>\')" >Actualizar</a>', 'align=right');
            if ($_cambiomin) {
                //echo 'Cambios de todos';
                unset($_POST['btn_cambio_2']);
                $_POST['btn_submit'] = 'a';
                $sql = $filter->db->_compile_select();
                $query = $this->db->query($sql);
                if ($query->num_rows() > 0) {
                    foreach ($query->result() as $row) {
                        $param = array();
                        foreach ($ccolumncal as $obj) {
                            $param[] = $row->{$obj};
                        }
                        $min = ceil($estadistica($param) / $frecuencia);
                        $where = 'codigo =' . $this->db->escape($row->codigo);
                        $data = array('exmin' => $min);
                        if (!empty($maximos)) {
                            $data['exmax'] = $maximos($min);
                        }
                        $sSQL = $this->db->update_string('sinv', $data, $where);
                        $this->db->simple_query($sSQL);
                    }
                }
            }
            $grid->build();
            $tabla = $grid->output;
        }
        $url = site_url('inventario/comparativo/actumin/') . '/';
        $data['script'] = '<script language="javascript" type="text/javascript">
		function actumin(id,val){
			vval = prompt("Actualizar minimo a:",val);
			if(vval)
				$.get("' . $url . '"+id+"/"+vval, function(data) { alert(data); });
		}
		</script>';
        $data['content'] = $filter->output . $tabla;
        $data['title'] = header('Comparativo de M&iacute;nimos de Inventario');
        $data['head'] = script('jquery.pack.js') . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . script("sinvmaes2.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }