Exemplo n.º 1
0
    function filteredgrid()
    {
        $this->rapyd->load("datafilter2", "datagrid");
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Cóodigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'Có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
        $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 ", 'LEFT');
        $filter->db->join("sinv as s", "a.codigo=s.codigo ", 'LEFT');
        $filter->db->groupby('a.codigo');
        $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->codigo = new inputField("Código", "codigo");
        $filter->codigo->size = 25;
        /*$filter->descrip = new inputField("Descripció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ículo");
        		$filter->tipo->option("Servicio","Servicio");
        		$filter->tipo->option("Descartar","Descartar");
        		$filter->tipo->option("Consumo","Consumo");
        		$filter->tipo->option("Fraccion","Fracció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("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í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í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("","");
        		$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 = "inventario/sinv/dataedit/show/<#codigo#>";
        function minimos($param)
        {
            $data = func_get_args();
            $valor = array_sum($data) - min($data) - max($data);
            return ceil($valor / (count($data) - 2));
        }
        $tabla = '';
        if ($filter->is_valid()) {
            $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('minimos');
            $grid->per_page = 15;
            $grid->column("C&oacute;digo", 'codigo');
            $grid->column("Descripci&oacute;n", "descrip");
            $columncal = 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}#>";
            }
            $grid->column('Promedio', '<nformat><minimos>' . implode('|', $columncal) . '</minimos></nformat>', 'align=right');
            $grid->column('Minimo', '<nformat><#exmin#></nformat>', 'align=right');
            $grid->column('&nbsp;', '<a href="javascript:actumin(\'<#id#>\',\'<minimos>' . implode('|', $columncal) . '</minimos>\')" >Actualizar</a>', 'align=right');
            $grid->build();
            $tabla = $grid->output;
        }
        $url = site_url('inventario/comparativo/actumin/') . '/';
        $data['script'] = '<script language="javascript" type="text/javascript">
		function actumin(id,val){
			$.get("' . $url . '"+id+"/"+val, function(data) {
				alert(data);
			});
		}
		</script>';
        $data['content'] = $filter->output . $tabla;
        $data['title'] = "<h1>Comparativo de M&iacute;nimos de Inventario</h1>";
        $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.º 2
0
    function carga()
    {
        $this->rapyd->load('datagrid', 'fields', 'datafilter2');
        $formato = $this->datasis->dameval('SELECT formato FROM cemp LIMIT 0,1');
        $qformato = '%';
        for ($i = 1; $i < substr_count($formato, '.') + 1; $i++) {
            $qformato .= '.%';
        }
        $this->qformato = $qformato;
        $this->qformato = $qformato = $this->datasis->formato_cpla();
        $modbus = array('tabla' => 'cpla', 'columnas' => array('codigo' => 'C&oacute;digo', 'denominacion' => 'Denominaci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'denominacion' => 'Denominacion'), 'retornar' => array('codigo' => 'con<#codigo#>'), 'titulo' => 'Buscar Cuenta', 'where' => 'nivel = 3', 'p_uri' => array(4 => "<#codigo#>"));
        //'where'=>" codigo LIKE \"$qformato\"",
        $btn = $this->datasis->p_modbus($modbus, "<#codigo#>");
        $modbus2 = array('tabla' => 'ppla', 'columnas' => array('codigo' => 'C&oacute;digo', 'denominacion' => 'Denominaci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'denominacion' => 'Denominacion'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Cuenta');
        //'where'=>" codigo LIKE \"$qformato\"",
        $btn2 = $this->datasis->p_modbus($modbus2, "ppla");
        $error = '';
        if ($this->input->post('pros') !== FALSE) {
            foreach ($_POST as $cod => $cant) {
                if (substr($cod, 0, 3) == "con" && $cant > 0) {
                    $cod = substr($cod, 3, 20);
                    $cod = $this->db->escape($cod . '%');
                    $cod = str_replace('_', '.', $cod);
                    //$cant = $this->db->escape($cant);
                    if (!$this->datasis->dameval("SELECT COUNT(*) FROM cpla WHERE codigo='{$cant}' ")) {
                        $error .= " La cuenta contable ({$cant}) es inv&aacute;lida<br>";
                    } else {
                        $data = array('contable' => $cant);
                        $where = "codigo like {$cod}  ";
                        $mSQL = $this->db->update_string('ppla', $data, $where);
                        $this->db->simple_query($mSQL);
                    }
                }
            }
        }
        $filter = new DataFilter2("&nbsp;", 'ppla');
        $filter->error_string = $error;
        $filter->codigo = new inputField("C&oacute;digo Presupuestario", "codigo");
        //$filter->codigo->option("","Seleccionar");
        //$filter->codigo->options("SELECT codigo, CONCAT_WS(' ',codigo,denominacion) FROM ppla WHERE LENGTH(codigo) < ($this->long) ORDER BY codigo  ");
        $filter->codigo->clause = "likerigth";
        $filter->codigo->rule = "required";
        $filter->codigo->size = 20;
        $filter->codigo->append($btn2);
        $filter->buttons("reset", "search");
        $filter->build();
        $ggrid = '';
        if ($filter->is_valid()) {
            $ggrid = form_open('contabilidad/cargacuent/carga/search/osp');
            $ggrid .= form_hidden('codigo', $filter->codigo->newValue);
            $contable = new inputField("Cuenta Contable", "con<#codigo#>");
            //, "contable[<#codigo#>]"
            $contable->grid_name = "contable[<#codigo#>]";
            $contable->status = 'modify';
            $contable->size = 12;
            $contable->css_class = 'inputnum';
            $contable->append($btn);
            $contable->build();
            $grid = new DataGrid("Clasificador Presupuestario (" . $filter->codigo->newValue . ")");
            //$grid->db->where('concepto','015');
            //$grid->per_page = $filter->db->num_rows() ;
            $grid->order_by("codigo", "asc");
            $grid->column("C&oacute;digo", "codigo");
            $grid->column("Denominaci&oacute;n", "denominacion");
            $grid->column("Cuenta Contable", "contable");
            $grid->column("Cuenta Contable", $contable->output, 'align=\'right\'');
            $grid->submit('pros', 'Guardar', "BR");
            $grid->build();
            $ggrid .= $grid->output;
            $ggrid .= form_close();
            //echo $grid->db->last_query();
        }
        $script = '
		<script type="text/javascript">
		$(function() {
			$(".inputnum").numeric(".");
		});
		</script>';
        $data['content'] = $filter->output . $ggrid;
        $data['title'] = 'Asignaci&oacute;n de Cuentas';
        $data['script'] = $script;
        $data["head"] = $this->rapyd->get_head() . script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js");
        $this->load->view('view_ventanas', $data);
    }
Exemplo n.º 3
0
 function index()
 {
     $this->load->library('PDFReporte');
     $this->rapyd->load("datafilter2");
     $repo = $this->uri->segment(3);
     $esta = $this->uri->segment(4);
     //**************************
     $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);
     $mGRUP = array('tabla' => 'grup', 'columnas' => array('grupo' => 'C&oacute;digo', 'nom_grup' => 'Nombre'), 'filtro' => array('grupo' => 'C&oacute;digo', 'nom_grup' => 'Nombre'), 'retornar' => array('grupo' => 'grupo'), 'titulo' => 'Buscar Grupo');
     $bGRUP = $this->datasis->modbus($mGRUP);
     $filter = new DataFilter2("Filtro del Reporte");
     $filter->attributes = array('onsubmit' => 'is_loaded()');
     $select = array("codigo", "descrip", "fechav", "IF(pfecha1>pfecha2,IF(pfecha1>pfecha3,pfecha1,pfecha3),IF(pfecha2>pfecha3,pfecha2,pfecha3)) AS cfecha", "existen", "ultimo*existen as monto", "grupo");
     $filter->db->select($select);
     $filter->db->from('sinv as a');
     $filter->db->where('existen>', '0');
     $filter->dias = new inputField("Estancados desde los ultimos", "dias");
     $filter->dias->clause = '';
     $filter->dias->append("d&iacute;as");
     $filter->dias->rule = "required";
     $filter->dias->insertValue = 150;
     $filter->dias->size = 5;
     $filter->proveed = new inputField("Proveedor", "proveed");
     $filter->proveed->clause = "where";
     $filter->proveed->db_name = '(prov1,prov2,prov3)';
     $filter->proveed->append($bSPRV);
     $filter->proveed->clause = 'in';
     $filter->grupo = new inputField("Grupo", "grupo");
     $filter->grupo->db_name = "grupo";
     $filter->grupo->append($bGRUP);
     $filter->grupo->clause = "where";
     $filter->grupo->operator = "=";
     $filter->buttons("search");
     $filter->build();
     if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
         $dias = $filter->dias->value;
         $fecha = date("Ymd", mktime(0, 0, 0, date('m'), date('d') - $dias, date('Y')));
         $filter->db->where('fechav <', $fecha);
         $filter->db->where('IF(pfecha1>pfecha2,IF(pfecha1>pfecha3,pfecha1,pfecha3),IF(pfecha2>pfecha3,pfecha2,pfecha3))<', $fecha);
         $mSQL = $filter->db->_compile_select();
         //echo $mSQL;
         $sobretabla = '';
         if (!empty($filter->proveed->newValue)) {
             $sobretabla .= '                       Proveedor: (' . $filter->proveed->newValue . ') ' . $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed="' . $filter->proveed->newValue . '"');
         }
         if (!empty($filter->grupo->newValue)) {
             $sobretabla .= '    Grupo: (' . $filter->grupo->newValue . ') ' . $this->datasis->dameval('SELECT nom_grup FROM grup WHERE grupo="' . $filter->grupo->newValue . '"');
         }
         $pdf = new PDFReporte($mSQL, 'L');
         $pdf->setType('cfecha', 'date');
         $pdf->setHeadValores('TITULO1');
         $pdf->setSubHeadValores('TITULO2', 'TITULO3');
         $pdf->setTitulo("Articulos sin Ventas");
         $pdf->setSobreTabla($sobretabla, 10);
         $pdf->AddPage();
         $pdf->setTableTitu(12, 'Times');
         $pdf->AddCol('codigo', 35, array('C&oacute;digo', ''), 'L', 10);
         $pdf->AddCol('descrip', 90, array('Descripci&oacute;n', ''), 'L', 10);
         $pdf->AddCol('fechav', 25, array('Ultima', 'Venta'), 'C', 10);
         $pdf->AddCol('cfecha', 25, array('Ultima', 'Compra'), 'C', 10);
         $pdf->AddCol('existen', 25, array('Cantidad', ''), 'R', 10);
         $pdf->AddCol('monto', 30, array('Monto', ''), 'R', 10);
         $pdf->Table();
         $pdf->Output();
     } else {
         if (strlen($filter->error_string)) {
             $data["error"] = $filter->error_string;
         }
         $data["filtro"] = $filter->output;
         $data["titulo"] = '<h2 class="mainheader">Articulos sin Ventas<h2>';
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_freportes', $data);
     }
     //**************************
     //**************************
 }
Exemplo n.º 4
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.º 5
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.º 6
0
 function num_compra()
 {
     $this->rapyd->load("datafilter2", "datagrid", "dataobject", "fields");
     $link1 = site_url('supermercado/etiqueta_maes/menu');
     $mSCST = array('tabla' => 'scst', 'columnas' => array('control' => 'Control', 'nombre' => 'Nombre'), 'filtro' => array('control' => 'Control', 'nombre' => 'Nombre'), 'retornar' => array('control' => 'control'), 'titulo' => 'Buscar Codigo');
     $bSCST = $this->datasis->modbus($mSCST);
     $filter = new DataFilter2("N&uacute;mero de compra");
     $filter->db->_escape_char = '';
     $filter->db->_protect_identifiers = false;
     $filter->db->select(array("a.barras as barras", "a.codigo as codigo", "a.descrip as descrip", "a.precio1 as precio", "b.control as control"));
     $filter->db->from("maes as a");
     $filter->db->join("itscst as b", "a.codigo=b.codigo");
     $filter->codigo = new inputField("C&oacute;digo", "control");
     $filter->codigo->size = 15;
     $filter->codigo->append($bSCST);
     $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("Oreden de Compra");
         $grid->order_by("control", "asc");
         $grid->use_function('str_replace');
         $grid->column_orderby("C&oacute;digo", "codigo", "codigo");
         $grid->column_orderby("Descripci&oacute;n", 'descrip', "descrip");
         $grid->column_orderby("Precio", "precio", "precio");
         $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['filtro'] = $filter->output;
     $data['tabla'] = $tabla;
     $data['smenu'] = "<a href='" . $link1 . "' >Atras</a>";
     $data['title'] = "Genera Etiqueta";
     $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.º 7
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.º 8
0
 function index()
 {
     $this->load->library('PDFReporte');
     $this->rapyd->load("datafilter2");
     $repo = $this->uri->segment(3);
     $esta = $this->uri->segment(4);
     //**************************
     $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'precio4' => 'Precio 4'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar en inventario');
     $boton = $this->datasis->modbus($modbus);
     $opciones = array();
     $mSQL = 'SELECT SQL_BIG_RESULT fecha FROM maesfisico GROUP BY fecha ORDER BY fecha DESC LIMIT 5';
     $query = $this->db->query($mSQL);
     foreach ($query->result() as $row) {
         $opciones[$row->fecha] = dbdate_to_human($row->fecha);
     }
     $filter = new DataFilter2("Filtro del Reporte");
     $filter->attributes = array('onsubmit' => 'is_loaded()');
     $select = array("a.ubica", "b.descrip", "a.venta", "a.cantidad", "a.anteri", "a.saldo", "a.monto", "a.salcant", "a.codigo", "a.origen", "a.promedio", "a.cantidad-a.anteri AS diferencia", " (a.cantidad*b.fracxuni+b.fracci)*b.ultimo AS costo");
     $filter->db->select($select);
     $filter->db->from('costos AS a');
     $filter->db->join('maes AS b', 'a.codigo=b.codigo');
     $filter->ubica = new dropdownField("Almacen", "ubica");
     $filter->ubica->option("", "Todos");
     $filter->ubica->db_name = 'ubica';
     $filter->ubica->options("SELECT ubica,CONCAT(ubica,' ',ubides) descrip FROM caub WHERE gasto='N' ");
     $filter->ubica->operator = "=";
     $filter->ubica->clause = "where";
     $filter->fecha = new dropdownField("Fecha", "fecha");
     $filter->fecha->db_name = 'fecha';
     $filter->fecha->options($opciones);
     $filter->fecha->operator = "=";
     $filter->fecha->clause = "where";
     $filter->dif = new checkboxField("Solo diferencia distinta a cero", 'dif', "0");
     $filter->dif->db_name = 'a.cantidad-a.anteri';
     $filter->dif->operator = "!=";
     $filter->dif->clause = "where";
     $filter->buttons("search");
     $filter->build();
     if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
         $fecha = dbdate_to_human($filter->fecha->value);
         $mSQL = $filter->db->_compile_select();
         //echo $mSQL;
         $pdf = new PDFReporte($mSQL, 'L');
         $pdf->setType('cfecha', 'date');
         $pdf->setHeadValores('TITULO1');
         $pdf->setSubHeadValores('TITULO2', 'TITULO3');
         $pdf->setTitulo("Resumen de inventario f&iacute;sico del {$fecha}");
         $pdf->AddPage();
         $pdf->setTableTitu(12, 'Times');
         $pdf->AddCol('codigo', 35, array('C&oacute;digo', ''), 'L', 10);
         $pdf->AddCol('descrip', 80, array('Descripci&oacute;n', ''), 'L', 10);
         $pdf->AddCol('cantidad', 30, array('Cantidad', 'Contada'), 'R', 10);
         $pdf->AddCol('anteri', 30, array('Cantidad', 'anterior'), 'R', 10);
         $pdf->AddCol('diferencia', 30, array('Diferencia', ''), 'R', 10);
         $pdf->AddCol('costo', 40, array('Costo', ''), 'R', 10);
         $pdf->Table();
         $pdf->Output();
     } else {
         if (strlen($filter->error_string)) {
             $data["error"] = $filter->error_string;
         }
         $data["filtro"] = $filter->output;
         $data["titulo"] = '<h2 class="mainheader">Resumen de inventario<h2>';
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_freportes', $data);
     }
     //**************************
     //**************************
 }
Exemplo n.º 9
0
 function especialxls()
 {
     $this->rapyd->load('datafilter2', 'datagrid');
     $droguerias = array('cobeca' => 'Merida', 'mafarta' => 'Mafarta', 'dronena' => 'Dronena', 'drolanca' => 'Drolanca');
     $filter = new DataFilter2('Pedidos especiales');
     $select = array('a.existen', 'a.marca', 'a.semestral', 'a.trimestral', 'a.mensual', 'a.quincenal', 'a.semanal', 'a.descrip', 'a.barras');
     foreach ($droguerias as $id => $value) {
         $select[] = 'e.' . $id;
         $select[] = 'e.' . $id . '_cana';
     }
     $filter->db->select($select);
     $filter->db->from('view_pednegocia AS a');
     $filter->db->join('droguerias.inventarios AS e', 'a.barras=e.barras');
     $filter->descrip = new inputField('Descripci&oacute;n', 'descrip');
     $filter->descrip->db_name = 'a.descrip';
     $filter->descrip->size = 30;
     $filter->marca = new dropdownField('Laboratorio', 'marca');
     $filter->marca->option('', 'Todas');
     $filter->marca->options('SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc');
     $filter->marca->style = 'width:220px;';
     $filter->marca->rule = 'required';
     $filter->buttons('reset', 'search');
     $filter->build();
     if ($filter->is_valid()) {
         $mSQL = $this->rapyd->db->_compile_select();
         $fnombre = 'negociacion.xls';
         $fname = tempnam('/tmp', $fnombre);
         $tot = array();
         $this->load->library('workbook', array('fname' => $fname));
         $wb =& $this->workbook;
         $ws =& $wb->addworksheet('Hoja1');
         // ANCHO DE LAS COLUMNAS
         $ws->set_column('A:A', 35);
         $ws->set_column('B:B', 6);
         $ws->set_column('C:C', 10);
         $ws->set_column('D:O', 10);
         //$ws->set_column('E:XX',20);
         // FORMATOS
         $h =& $wb->addformat(array("bold" => 1, "size" => 14, "align" => 'left'));
         $h0 =& $wb->addformat(array("bold" => 1, "size" => 10, "align" => 'left'));
         $h1 =& $wb->addformat(array("bold" => 1, "size" => 11, "align" => 'center'));
         $h2 =& $wb->addformat(array("bold" => 1, "size" => 14, "align" => 'left', "fg_color" => 'silver'));
         $h3 =& $wb->addformat(array("bold" => 1, "size" => 9));
         $h3->set_merge();
         $h4 =& $wb->addformat(array("bold" => 1, "size" => 9, "align" => 'right', "num_format" => '#,##0.00'));
         $codesc =& $wb->addformat(array("bold" => 0, "size" => 8, "align" => 'left', "fg_color" => 26));
         $codesc->set_border(1);
         $numcer =& $wb->addformat(array("bold" => 0, "size" => 8, "align" => 'right', "fg_color" => 26));
         $numcer->set_border(1);
         $numpri =& $wb->addformat(array("num_format" => '#,##0.00', "size" => 8, "fg_color" => 44));
         $numpri->set_border(1);
         $numseg =& $wb->addformat(array("num_format" => '#,##0.00', "size" => 8, "fg_color" => 42));
         $numseg->set_border(1);
         $numter =& $wb->addformat(array("num_format" => '#,##0.00', "size" => 8, "fg_color" => 41));
         $numter->set_border(1);
         $numcua =& $wb->addformat(array("num_format" => '#,##0.00', "size" => 8, "fg_color" => 41));
         $numcua->set_border(1);
         $numqui =& $wb->addformat(array("num_format" => '#,##0.00', "size" => 8, "fg_color" => 45));
         $numqui->set_border(1);
         $titulo =& $wb->addformat(array("bold" => 1, "size" => 8, "merge" => 1, "fg_color" => 'silver', 'align' => 'vcenter'));
         $titulo->set_text_wrap();
         $titulo->set_text_h_align(2);
         $titulo->set_border(1);
         $titulo->set_merge();
         $titpri =& $wb->addformat(array("bold" => 1, "size" => 9, "merge" => 1, "fg_color" => 26));
         $titpri->set_text_wrap();
         $titpri->set_border(1);
         $titpri->set_merge();
         $titseg =& $wb->addformat(array("bold" => 1, "size" => 9, "merge" => 1, "fg_color" => 44));
         $titseg->set_text_wrap();
         $titseg->set_border(1);
         $titseg->set_merge();
         $titter =& $wb->addformat(array("bold" => 1, "size" => 9, "merge" => 1, "fg_color" => 42));
         $titter->set_text_wrap();
         $titter->set_border(1);
         $titter->set_merge();
         $titcua =& $wb->addformat(array("bold" => 1, "size" => 9, "merge" => 1, "fg_color" => 41));
         $titcua->set_text_wrap();
         $titcua->set_border(1);
         $titcua->set_merge();
         $titaler =& $wb->addformat(array("bold" => 1, "size" => 9, "merge" => 1, "fg_color" => 'red'));
         $titaler->set_text_wrap();
         $titaler->set_border(1);
         $titaler->set_merge();
         $titqui =& $wb->addformat(array("bold" => 1, "size" => 9, "merge" => 1, "fg_color" => 45, 'align' => 'vcenter'));
         //$titqui->set_text_v_align(6);
         $titqui->set_text_wrap();
         $titqui->set_border(1);
         $titqui->set_merge();
         $cuerpo =& $wb->addformat(array('size' => 9));
         $Tnumero =& $wb->addformat(array('num_format' => '#,##0.00', 'size' => 9, 'bold' => 1, 'fg_color' => 'silver'));
         $Rnumero =& $wb->addformat(array('num_format' => '#,##0.00', 'size' => 9, 'bold' => 1, 'align' => 'right'));
         // COMIENZA A ESCRIBIR
         $ws->write(1, 0, $this->datasis->traevalor('TITULO1'), $h);
         $ws->write(2, 0, $this->datasis->traevalor('TITULO2'), $h0);
         $ws->write(3, 0, 'RIF: ' . $this->datasis->traevalor('RIF'), $h0);
         if (!empty($filter->marca->value)) {
             $ws->write(5, 0, 'Laboratorio : ' . $filter->marca->value, $h0);
         }
         $ws->write(1, 8, 'Listado para negocioacion', $h);
         //$ws->write(4, 8, ' ',$h1 );
         // TITULOS
         $mm = 9;
         $ws->write_string($mm, 0, 'Descripción', $titulo);
         $ws->write_string($mm + 1, 0, '', $titulo);
         $ws->write_string($mm, 1, 'Exist.', $titulo);
         $ws->write_string($mm + 1, 1, '', $titulo);
         $ws->write_string($mm, 2, 'Cantidad', $titulo);
         $ws->write_string($mm + 1, 2, '', $titulo);
         $col = 3;
         foreach ($droguerias as $id => $value) {
             $ws->write_string($mm, $col, ucwords($value), $titulo);
             $ws->write_string($mm + 1, $col, 'Precio', $titulo);
             $col++;
             $ws->write_blank($mm, $col, $titulo);
             $ws->write_string($mm + 1, $col, 'Existencia', $titulo);
             $col++;
             $ws->write_blank($mm, $col, $titulo);
             $ws->write_string($mm + 1, $col, 'SubTotal', $titulo);
             $col++;
         }
         $ws->write_string($mm, $col, 'Ventas', $titulo);
         $ws->write_string($mm + 1, $col, 'Semestral', $titulo);
         $col++;
         $ws->write_blank($mm, $col, $titulo);
         $ws->write_string($mm + 1, $col, 'Trimestral', $titulo);
         $col++;
         $ws->write_blank($mm, $col, $titulo);
         $ws->write_string($mm + 1, $col, 'Mensual', $titulo);
         $col++;
         $ws->write_blank($mm, $col, $titulo);
         $ws->write_string($mm + 1, $col, 'Quincenal', $titulo);
         $col++;
         $ws->write_blank($mm, $col, $titulo);
         $ws->write_string($mm + 1, $col, 'Semanal', $titulo);
         $col++;
         $mm = $mm + 2;
         $dd = $mm + 1;
         $totdrog = array();
         $mc = $this->db->query($mSQL);
         if ($mc->num_rows() > 0) {
             foreach ($mc->result() as $row) {
                 $ws->write_string($mm, 0, $row->descrip, $codesc);
                 $ws->write_number($mm, 1, $row->existen, $numcer);
                 $ws->write_number($mm, 2, 0, $numqui);
                 $col = 3;
                 foreach ($droguerias as $id => $value) {
                     $obj1 = $id;
                     $ventas = empty($row->{$obj1}) ? 0 : $row->{$obj1};
                     $ws->write_number($mm, $col, $ventas, $numpri);
                     $col++;
                     $obj2 = $id . '_cana';
                     $existe = empty($row->{$obj2}) ? 0 : $row->{$obj2};
                     $ws->write_number($mm, $col, $existe, $existe <= 0 ? $titaler : $numpri);
                     $col++;
                     $ucol = $this->nlet($col - 2);
                     $umm = $mm + 1;
                     $ws->write_formula($mm, $col, "=C{$umm}*{$ucol}{$umm}", $existe <= 0 ? $titaler : $numter);
                     $totdrog[$this->nlet($col)] = $col;
                     $col++;
                 }
                 $ws->write_number($mm, $col, $row->semestral, $codesc);
                 $col++;
                 $ws->write_number($mm, $col, $row->trimestral, $codesc);
                 $col++;
                 $ws->write_number($mm, $col, $row->mensual, $codesc);
                 $col++;
                 $ws->write_number($mm, $col, $row->quincenal, $codesc);
                 $col++;
                 $ws->write_number($mm, $col, $row->semanal, $codesc);
                 $col++;
                 $mm++;
             }
         }
         $celda = $mm + 1;
         $totlet = array();
         $ws->write_string($mm, 0, 'Totales...', $Tnumero);
         $ws->write_string($mm + 1, 0, 'Descuento lineal', $Tnumero);
         foreach ($totdrog as $ucol => $col) {
             $mo = $mm + 2;
             $ws->write_formula($mm, $col, "=SUM({$ucol}12:{$ucol}{$mm})-(SUM({$ucol}12:{$ucol}{$mm})*({$ucol}{$mo}/100))", $Tnumero);
             $ws->write_number($mm + 1, $col, 0, $Tnumero);
         }
         $mm++;
         $wb->close();
         header("Content-type: application/x-msexcel; name=\"{$fnombre}\"");
         header("Content-Disposition: inline; filename=\"{$fnombre}\"");
         $fh = fopen($fname, 'rb');
         fpassthru($fh);
         unlink($fname);
     } else {
         if ($this->input->post('btn_submit') !== false) {
             $filter->build();
         }
         $data['filtro'] = $filter->output;
         $data['titulo'] = heading('Listado para negocioaciones');
         $data['head'] = $this->rapyd->get_head();
         $this->load->view('view_freportes', $data);
     }
 }
Exemplo n.º 10
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.º 11
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);
    }