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ículos"); $grid->order_by("codigo", "asc"); $grid->use_function('minimos'); $grid->per_page = 15; $grid->column("Código", 'codigo'); $grid->column("Descripció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(' ', '<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í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); }
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ódigo', 'denominacion' => 'Denominación'), 'filtro' => array('codigo' => 'Có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ódigo', 'denominacion' => 'Denominación'), 'filtro' => array('codigo' => 'Có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á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(" ", 'ppla'); $filter->error_string = $error; $filter->codigo = new inputField("Có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ódigo", "codigo"); $grid->column("Denominació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ó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); }
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ódigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'Código', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor'); $bSPRV = $this->datasis->modbus($mSPRV); $mGRUP = array('tabla' => 'grup', 'columnas' => array('grupo' => 'Código', 'nom_grup' => 'Nombre'), 'filtro' => array('grupo' => 'Có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í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ódigo', ''), 'L', 10); $pdf->AddCol('descrip', 90, array('Descripció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); } //************************** //************************** }
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ón", "descrip"); $filter->descrip->db_name = 'CONCAT_WS(" ",a.descrip,a.descrip2)'; $filter->descrip->size = 25; $filter->depto = new dropdownField("Departamento", "depto"); $filter->depto->db_name = "d.depto"; $filter->depto->option("", "Seleccione un Departamento"); $filter->depto->options("SELECT depto, descrip FROM dpto WHERE tipo='I' ORDER BY depto"); $filter->linea2 = new dropdownField("Línea", "linea"); $filter->linea2->db_name = "c.linea"; $filter->linea2->option("", "Seleccione un Departamento primero"); $depto = $filter->getval('depto'); if ($depto !== FALSE) { $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í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í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ódigo", "codigo", "codigo"); $grid->column_orderby("Departamento", "<#nom_depto#>", "nom_depto", 'align=left'); $grid->column_orderby("Línea", "<#nom_linea#>", "nom_linea", 'align=left'); $grid->column_orderby("Grupo", "<#nom_grup#>", "nom_grup", 'align=left'); $grid->column_orderby("Descripción", "descrip", "descrip"); // $grid->column("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); }
function agregar($para = "") { // echo $para; $this->rapyd->load("datafilter2", "datagrid", "dataobject", "fields"); $mod = array('tabla' => 'sinvlist', 'columnas' => array('numero' => 'Cóodigo', 'concepto' => 'Concepto', 'usuario' => 'Usuario'), 'filtro' => array('numero' => 'Número'), 'retornar' => array('numero' => 'nume'), 'titulo' => 'Buscar Proveedor'); $modnume = $this->datasis->modbus($mod); $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Cóodigo', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'Có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úmero'), 'filtro' => array('numero' => 'Número'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar Número'); $bSPRV1 = $this->datasis->modbus($mSPRV1); $mSPRV2 = array('tabla' => 'spre', 'columnas' => array('numero' => 'Número'), 'filtro' => array('numero' => 'Número'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar Número'); $bSPRV2 = $this->datasis->modbus($mSPRV2); $mSPRV3 = array('tabla' => 'scst', 'columnas' => array('numero' => 'Número'), 'filtro' => array('numero' => 'Número'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar Número'); $bSPRV3 = $this->datasis->modbus($mSPRV3); $mSPRV4 = array('tabla' => 'snte', 'columnas' => array('numero' => 'Número'), 'filtro' => array('numero' => 'Número'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar Número'); $bSPRV4 = $this->datasis->modbus($mSPRV4); $mSPRV5 = array('tabla' => 'sfac', 'columnas' => array('numero' => 'Número', 'tipo_doc' => 'Tipo De Documento'), 'filtro' => array('numero' => 'Número'), 'retornar' => array('numero' => 'objnumero'), 'script' => array('limpia()'), 'titulo' => 'Buscar Nú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ódigo", "codigo"); $filter->codigo->size = 25; //$filter->codigo->rule='callback_repetido|required'; $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->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í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í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í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ódigo", "codigo"); $grid->column("Departamento", "<#nom_depto#>", 'align=left'); $grid->column("Línea", "<#nom_linea#>", 'align=left'); $grid->column("Grupo", "<#nom_grup#>", 'align=left'); $grid->column("Descripción", "descrip"); $grid->column("Accioó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í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ódigo", "{$campo1}"); $grid2->column("Descripción", "{$campo2}"); $grid2->column("Accioó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); }
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ú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ó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ódigo", "codigo", "codigo"); $grid->column_orderby("Descripció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:") . "   " . 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); }
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ódigo', '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(){ $(".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ódigo", "codigo"); $filter->codigo->size = 15; $filter->codigo->group = "Uno"; $filter->descrip = new inputField("Descripció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í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: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í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í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í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ódigo', 'codigo', 'codigo'); $grid->column_orderby('Descripció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); }
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ódigo', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'precio4' => 'Precio 4'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar en inventario'); $boton = $this->datasis->modbus($modbus); $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ísico del {$fecha}"); $pdf->AddPage(); $pdf->setTableTitu(12, 'Times'); $pdf->AddCol('codigo', 35, array('Código', ''), 'L', 10); $pdf->AddCol('descrip', 80, array('Descripció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); } //************************** //************************** }
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ó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); } }
function filteredgrid() { $this->rapyd->load('datafilter2', 'datagrid'); $link1 = site_url('inventario/etiqueta_sinv/menu'); $link2 = site_url('inventario/common/get_linea'); $link3 = site_url('inventario/common/get_grupo'); $script = ' $(document).ready(function(){ $("#depto").change(function(){ $("#objnumero").val(""); depto(); $.post("' . $link2 . '",{ depto:$(this).val() },function(data){$("#linea").html(data);}) $.post("' . $link3 . '",{ linea:"" },function(data){$("#grupo").html(data);}) }); $("#linea").change(function(){ linea(); $.post("' . $link3 . '",{ linea:$(this).val() },function(data){$("#grupo").html(data);}) }); $("#grupo").change(function(){ grupo(); }); depto(); linea(); grupo(); }); function depto(){ if($("#depto").val()!=""){ $("#nom_depto").attr("disabled","disabled"); }else{ $("#nom_depto").attr("disabled",""); } } function linea(){ if($("#linea").val()!=""){ $("#nom_linea").attr("disabled","disabled"); }else{ $("#nom_linea").attr("disabled",""); } } function grupo(){ if($("#grupo").val()!=""){ $("#nom_grupo").attr("disabled","disabled"); }else{ $("#nom_grupo").attr("disabled",""); } }'; $filter = new DataFilter2('Filtro por Producto'); $filter->script($script); $filter->codigo = new inputField('Código', 'codigo'); $filter->codigo->db_name = 'a.codigo'; $filter->codigo->size = 20; $filter->codigo->clause = 'where'; $filter->codigo->operator = '='; $filter->descrip = new inputField('Descripción', 'descrip'); $filter->descrip->db_name = 'CONCAT_WS(\' \',a.descrip,a.descrip2)'; $filter->descrip->size = 25; $filter->depto = new dropdownField('Departamento', 'depto'); $filter->depto->db_name = 'd.depto'; $filter->depto->option('', 'Seleccione un Departamento'); $filter->depto->options("SELECT depto, descrip FROM dpto WHERE tipo='I' ORDER BY depto"); $filter->linea2 = new dropdownField('Línea', 'linea'); $filter->linea2->db_name = 'c.linea'; $filter->linea2->option('', 'Seleccione un Departamento primero'); $depto = $filter->getval('depto'); if ($depto !== false) { $dbdepto = $this->db->escape($depto); $filter->linea2->options("SELECT linea, descrip FROM line WHERE depto={$dbdepto} ORDER BY descrip"); } else { $filter->linea2->option('', 'Seleccione un Departamento primero'); } $filter->grupo = new dropdownField('Grupo', 'grupo'); $filter->grupo->db_name = 'b.grupo'; $filter->grupo->option('', 'Seleccione una Línea primero'); $linea = $filter->getval('linea2'); if ($linea !== false) { $dblinea = $this->db->escape($linea); $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea={$dblinea} ORDER BY nom_grup"); } else { $filter->grupo->option('', 'Seleccione un Departamento primero'); } $filter->marca = new dropdownField('Marca', 'marca'); $filter->marca->option('', 'Seleccionar'); $filter->marca->options('SELECT TRIM(marca) AS clave, TRIM(marca) AS valor FROM marc ORDER BY marca'); $filter->marca->style = 'width:220px;'; $filter->cant = new inputField('Cantidad de etiquetas por productos', 'cant'); $filter->cant->css_class = 'inputnum'; $filter->cant->insertValue = '1'; $filter->cant->clause = ''; $filter->cant->size = 8; $filter->cant->rule = 'required|numeric'; $filter->cant->group = 'Configuración'; $filter->salformat = new radiogroupField('Formato de salida', 'salformat'); $filter->salformat->options(array('pdf' => 'pdf', 'txt' => 'txt')); $filter->salformat->insertValue = 'pdf'; $filter->salformat->clause = ''; $filter->salformat->group = 'Opciones'; $filter->button('btn_undo', 'Regresar', 'javascript:window.location=\'' . site_url('inventario/etiqueta_sinv') . '\'', 'BL'); $filter->buttons('reset', 'search'); $filter->build(); if ($this->rapyd->uri->is_set('search') && $filter->is_valid()) { $formato = $filter->salformat->newValue; if ($formato == 'txt') { $tabla = form_open('formatos/descargartxt/' . $this->formato); } else { $tabla = form_open('forma/ver/' . $this->formato); } $select = array('a.tipo', 'a.id', 'a.codigo', 'a.descrip', 'a.precio1 AS precio', 'a.precio2 AS precio2', 'a.precio3 AS precio3', 'a.barras', 'b.nom_grup', 'b.grupo AS grupoid', 'c.descrip AS nom_linea', 'c.linea', 'd.descrip AS nom_depto', 'd.depto AS depto', 'a.pfecha1 AS cfecha', 'a.iva'); $grid = new DataGrid('Lista de Artículos para imprimir'); $grid->per_page = 15; $grid->db->select($select); $grid->db->from('sinv AS a'); $grid->db->join('grup AS b', 'a.grupo=b.grupo'); $grid->db->join('line AS c', 'b.linea=c.linea'); $grid->db->join('dpto AS d', 'c.depto=d.depto'); $grid->db->group_by('a.codigo'); $grid->order_by('codigo', 'asc'); $grid->column_orderby('Código', 'codigo', 'codigo'); $grid->column_orderby('Departamento', 'nom_depto', 'nom_depto', 'align=\'left\''); $grid->column_orderby('Línea', 'nom_linea', 'nom_linea', 'align=\'left\''); $grid->column_orderby('Grupo', 'nom_grup', 'nom_grup', 'align=\'left\''); $grid->column_orderby('Descripción', 'descrip', 'descrip'); $grid->column_orderby('Precio', 'precio', 'precio', 'align=\'right\''); $grid->build(); $limite = 300; if ($grid->recordCount > 0 && $grid->recordCount <= $limite) { $consul = $this->db->last_query(); $mSQL = substr($consul, 0, strpos($consul, 'LIMIT')); $data = array('cant' => $this->input->post('cant'), 'consul' => $mSQL); $tabla .= form_hidden($data); $tabla .= $grid->output . form_submit('mysubmit', 'Generar'); $tabla .= form_close(); } elseif ($grid->recordCount > $limite) { $tabla = 'No se puede generar habladores con más de ' . $limite . ' árticulos'; } else { $tabla = 'No se encontrarón productos'; } } else { $tabla = $filter->error_string; } $data['content'] = $filter->output . $tabla; $data['title'] = heading('Habladores por filtro de productos'); $data['head'] = script('jquery.pack.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
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ó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 = 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í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í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í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áximo'); $filter->estadistica->option('minimo', 'Valor Mínimo'); //$filter->estadistica->option('moda' ,'Moda'); $filter->estadistica->group = 'Configuración'; $filter->maximos = new dropdownField('Cálculo de máximos', 'maximos'); $filter->maximos->clause = ''; $filter->maximos->option('', 'No alterar'); $filter->maximos->option('max_dupli', 'Doble del mínimo'); $filter->maximos->group = 'Configuració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ó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ículos'); $grid->order_by('codigo', 'asc'); $grid->use_function('divisor', $estadistica); $grid->per_page = 15; $grid->column('Código', 'codigo'); $grid->column('Descripció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ínimo', '<nformat><#exmin#></nformat>', 'align=right'); $grid->column(' ', '<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í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); }