function selecciona($cod_prov, $codbanc) { $this->rapyd->load("datagrid", "dataobject", "fields"); $cod_prov = radecode($cod_prov); $codbanc = radecode($codbanc); $codbance = $this->db->escape($codbanc); function asigna($id, $value = "D") { $campo = new dropdownField("Title", "gt[{$id}]"); $campo->status = "modify"; $campo->option("D", "Pendiente"); $campo->option("E", "Cancelar"); $campo->value = $value; $campo->style = "width:100px"; $campo->build(); return $campo->output; } $tabla = form_open($this->url . "carga/"); $ddata = array('cod_prov' => $cod_prov, 'codbanc' => $codbanc); $grid = new DataGrid("Lista de Deducciones de Nómina por Pagar"); $grid->db->select(array("a.id", "a.numero nomina", "b.numero opago", "d.numero desembolso", "a.monto", "a.status", "b.observa")); $grid->db->from('retenomi a'); $grid->db->join('odirect b', 'a.numero=b.nomina'); $grid->db->join('pades c', 'b.numero=c.pago'); $grid->db->join('desem d', 'c.desem=d.numero'); $grid->db->where("a.cod_prov ", $cod_prov); $grid->db->where("a.status ", "D"); $grid->db->where("d.status ", "D2"); $grid->db->where("(SELECT COUNT(*) FROM mbanc WHERE d.numero=mbanc.desem AND codbanc={$codbance})>", "0"); $grid->use_function('asigna'); $grid->column("Nomina", "nomina", 'align=left'); $grid->column("O.Pago", "opago", 'align=left'); $grid->column("Desembolso", "desembolso", 'align=left'); $grid->column("Monto", "<number_format><#monto#>|2|,|.</number_format>", "align='right'"); $grid->column("Accioón", "<asigna><#id#>|<#status#></asigna>", "align='right'"); $grid->build(); //$grid->db->last_query(); $tabla .= $salida = anchor($this->url . 'busca', 'Regresar'); $tabla .= $grid->output . form_submit('mysubmit', 'Guardar') . form_hidden($ddata); $tabla .= form_close(); if ($grid->recordCount == 0) { $tabla .= $salida = anchor($this->url . 'busca', 'Regresar'); $tabla = "<p>No hay deducciones pendientes por pagar al proveedor ({$cod_prov})</p>"; $tabla .= $salida = anchor($this->url . 'busca', 'Regresar'); } $data['content'] = $tabla; $data['title'] = " Pago de Deducciones de Nómina "; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
/** * rebuild the PK array in the same format of the one used in DO->load() function ie: array(pk1=>value1, pk2=>value2) * from the string formated as we attent at the end (pk part)of the URI (as explain in conventions)=>/pk1_name/pk1_value/pk2_name/pk2_value/... * @access private * @param string * @return array */ function URI_to_pk($id_str, $do) { $result = array(); //check and remove for '/' in first and last position for that explode work fine. $tmp_ar = explode("/", $id_str); $keys = array_keys($do->pk); for ($i = 0; $i <= count($tmp_ar) - 1; $i++) { $result[$keys[$i]] = radecode($tmp_ar[$i]); } return $result; }
function gdiarias($anio = '', $proveed = '', $mes = '') { $this->load->library('Graph'); if (empty($mes) or empty($anio) or empty($proveed)) { return; } $proveed = radecode($proveed); $fechai = $anio . str_pad($mes, 2, '0', STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, '0', STR_PAD_LEFT) . '31'; $dbfechai = $this->db->escape($fechai); $dbfechaf = $this->db->escape($fechaf); $dbproveed = $this->db->escape($proveed); $mSQL = "SELECT LEFT(nombre,10)as nombre,proveed,DAYOFMONTH(fecha) AS dia ,\n\t\tSUM(montonet*IF(tipo_doc='NC', -1, 1)) AS grantotal,\n\t\tSUM(credito*IF( tipo_doc='NC', -1, 1)) AS credito,\n\t\tSUM(inicial*IF( tipo_doc='NC', -1, 1)) AS contado\n\t\tFROM scst\n\t\tWHERE tipo_doc<>'NE' AND fecha>={$dbfechai} AND fecha<={$dbfechaf} AND proveed={$dbproveed}\n\t\t\tAND actuali >= fecha\n\t\tGROUP BY fecha ORDER BY fecha,grantotal DESC LIMIT 31"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $nombre = str_replace('&', '', $row->nombre); //$data_1[]=$row->contado; //$data_2[]=$row->credito; $data_3[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } //$bar_1 = new bar(75, '#0053A4'); //$bar_2 = new bar(75, '#9933CC'); $bar_3 = new bar(75, '#639F45'); //$bar_1->key('Contado',10); //$bar_2->key('Credito',10); $bar_3->key('Total Bs.', 10); for ($i = 0; $i < count($data_3); $i++) { //$bar_1->add_data_tip($data_1[$i]/$om, graph::esc( number_format($data_1[$i],2,',','.'))); //$bar_2->add_data_tip($data_2[$i]/$om, graph::esc( number_format($data_2[$i],2,',','.'))); $bar_3->add_data_tip($data_3[$i] / $om, graph::esc(number_format($data_3[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Compras a ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:##00264A}'); //$g->data_sets[] = $bar_1; //$g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Compras x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen compras con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function dataedit($status = '', $id = '', $id2 = '') { $this->rapyd->load("dataobject", "dataedit"); $id = radecode($id); $id2 = radecode($id2); $link = site_url('inventario/seriales/ultimo'); $link2 = site_url('inventario/seriales/sugerir'); $script = ' $(function() { $(".inputnum").numeric("."); }); function ultimo(){ $.ajax({ url: "' . $link . '", success: function(msg){ alert( "El ultimo codigo ingresado fue: " + msg ); } }); } function sugerir(){ $.ajax({ url: "' . $link2 . '", success: function(msg){ if(msg){ $("#depto").val(msg); } else{ alert("No es posible generar otra sugerencia. Coloque el código manualmente"); } } }); }'; $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor'); $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'clienten'), 'titulo' => 'Buscar Cliente'); $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'grupo' => 'Grupo', 'descrip' => 'Descripción'), 'filtro' => array('codigo' => 'Código', 'grupo' => 'Grupo', 'descrip' => 'Descripción'), 'retornar' => array('cliente' => 'clienten'), 'titulo' => 'Buscar Cliente'); $bsclid = $this->datasis->modbus($mSCLId); $boton = $this->datasis->modbus($modbus); $do = new DataObject("seri"); if ($status == "create" && !empty($id) && !empty($id2)) { $do->load($id); $do->load_where("serial", $id2); } $edit = new DataEdit("Seriales", $do); $edit->back_url = site_url("inventario/seriales/filteredgrid"); $edit->script($script, "create"); $edit->script($script, "modify"); $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->codigo = new inputField("Código", "codigo"); $edit->codigo->mode = "autohide"; $edit->codigo->size = 20; $edit->codigo->maxlength = 15; $edit->codigo->rule = "trim|required|callback_chexiste"; $edit->serial = new inputField("Serial", "serial"); $edit->serial->size = 40; $edit->serial->maxlength = 35; $edit->serial->rule = "required"; $edit->descrip = new inputField("Descripción", "descrip"); $edit->descrip->size = 50; $edit->descrip->maxlength = 40; $edit->descrip->rule = "trim|strtoupper"; $edit->descrip->when = array("show"); $edit->modelo = new inputField("Modelo", "modelo"); $edit->modelo->size = 25; $edit->modelo->maxlength = 20; $edit->modelo->rule = "trim|strtoupper"; $edit->modelo->when = array("show"); $edit->marca = new inputField("Marca", "marca"); $edit->marca->size = 23; $edit->marca->maxlength = 20; $edit->marca->rule = "trim|strtoupper"; $edit->marca->when = array("show"); $edit->clave = new inputField("Clave", "clave"); $edit->clave->size = 12; $edit->clave->maxlength = 8; $edit->clave->rule = "trim|strtoupper"; $edit->clave->when = array("show"); $edit->unidad = new inputField("Unidad", "unidad"); $edit->unidad->size = 12; $edit->unidad->maxlength = 8; $edit->unidad->rule = "trim|strtoupper"; $edit->unidad->when = array("show"); $edit->fechac = new DateField("Fecha de Compra", "fechac"); $edit->fechac->size = 12; $edit->compra = new inputField("Compra", "compra"); $edit->compra->size = 10; $edit->compra->maxlength = 8; $edit->compra->rule = "trim|strtoupper"; $edit->proveed = new inputField("Proveedor", "proveed"); $edit->proveed->size = 8; $edit->proveed->maxlength = 5; $edit->proveed->rule = "trim|strtoupper"; $edit->proveed->append($boton); $edit->fechav = new DateField("Fecha de Venta", "fechav"); $edit->fechav->size = 12; $edit->venta = new inputField("Venta", "venta"); $edit->venta->size = 10; $edit->venta->maxlength = 8; $edit->venta->rule = "trim|strtoupper"; $edit->cliente = new inputField("Cliente", "cliente"); $edit->cliente->size = 8; $edit->cliente->maxlength = 5; $edit->cliente->rule = "trim|strtoupper"; $edit->cliente->append($bsclid); $edit->buttons("modify", "save", "undo", "delete", "back"); $edit->build(); $data['content'] = $edit->output; $data['title'] = "<h1>Seriales</h1>"; $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function gdiarias($anio = '', $producto = '', $mes = '') { $this->load->library('Graph'); $this->lang->load('calendar'); if (empty($anio)) { return; } $producto = radecode($producto); $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; //echo "fechai=".$fechai; //echo "fechaf=".$fechaf; $mSQL = "SELECT codigo, LEFT(descrip,20)AS nombre,DAYOFMONTH(a.fecha) as dia,\n SUM(cantidad)AS cantidad,\n SUM(importe)AS grantotal\n FROM itscst AS a\n WHERE fecha>='{$fechai}' AND fecha<='{$fechaf}' AND codigo='{$producto}'\n GROUP BY dia ORDER BY fecha"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $nombre = $row->nombre; $data_1[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#ADD8E6'); $bar_1->key('Compras', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Compra de ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:##00264A}'); $g->data_sets[] = $bar_1; $g->set_x_labels($fecha); $g->set_x_label_style(9, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->x_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_x_legend('Dias', 16, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->y_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_y_legend('Compras x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen compras con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function grid() { $tipo = $this->uri->segment(4); $fecha = $this->uri->segment(5); $codigo = radecode($this->uri->segment(6)); $almacen = radecode($this->uri->segment(7)); if ($fecha === FALSE or $codigo === FALSE or $tipo === FALSE or $almacen === FALSE) { redirect('inventario/kardex'); } $this->rapyd->load('datagrid', 'fields'); $gridout = ''; $attsp = array('width' => '200', 'height' => '200', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes'); function bfacts($factura, $codigo) { //return ''; $factura = trim($factura); if (empty($factura)) { return 'No encontrado'; } $CI =& get_instance(); $dbcodigo = $CI->db->escape($codigo); $dbfactura = $CI->db->escape($factura); $mSQL = "SELECT GROUP_CONCAT( DISTINCT CONCAT(a.id,':',numero)) AS fact\n\t\t\t\tFROM sfac AS a\n\t\t\t\tJOIN sitems AS b ON a.numero=b.numa AND a.tipo_doc=b.tipoa\n\t\t\t\tWHERE b.codigoa={$dbcodigo} AND {$dbfactura} IN (a.numero,a.maestra) AND a.tipo_doc='F'"; $facts = $CI->datasis->dameval($mSQL); $rt = ''; $lls = array(); $arr = explode(',', $facts); foreach ($arr as $fact) { $parr = explode(':', $fact); $lls[] = anchor('formatos/verhtml/FACTURA/' . $parr[0], $parr[1], array('target' => 'showefect')); } return implode(', ', $lls); } $grid = new DataGrid(); $grid->order_by('numero', 'desc'); $grid->per_page = 50; //img(array('src' =>'images/pdf_logo.gif','height' => 18, 'alt' => 'Imprimir', 'title' => 'Imprimir', 'border'=>'0')) if ($tipo == '3I' || $tipo == '3M') { //ventas de caja $fields = $this->db->field_data('sfac'); $ppk = array(); $select = array('a.numa', 'a.tipoa', 'a.numa', 'CONCAT("(",b.cod_cli,") ",b.nombre) cliente', 'a.cana*IF(a.tipoa="D",-1,1) AS cana', 'a.fecha', 'a.vendedor', 'a.preca', 'a.tota', 'b.tipo_doc', 'a.hora'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'b.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $gridout = ''; $ll = anchor_popup('formatos/descargar/FACTURA/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/FACTURA/' . implode('/', $ppk), '<#tipoa#><#numa#> ' . $ll, array('target' => 'showefect')); $grid->title('Facturas'); $grid->column('Número', $link); $grid->column('Cliente', 'cliente'); $grid->column('Cantidad', '<nformat><#cana#></nformat>', 'align=right'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=center'); $grid->column('Vendedor', 'vendedor', 'align=center'); $grid->column('Hora', 'hora', 'align=center'); $grid->column('Precio', '<nformat><#preca#></nformat>', 'align=\'right\''); $grid->column('Total', '<nformat><#tota#></nformat>', 'align=\'right\''); $grid->db->select($select); $grid->db->from('sitems AS a'); $grid->db->join('sfac AS b', 'b.numero=a.numa AND b.tipo_doc=a.tipoa'); $grid->db->where('a.fecha', $fecha); $grid->db->where('a.codigoa', $codigo); $grid->db->where('a.tipoa !=', 'X'); $grid->db->not_like('a.numa', '_', 'after'); $grid->db->where('b.almacen', $almacen); $grid->build(); if ($grid->recordCount > 0) { $gridout .= $grid->output; } $fields = $this->db->field_data('snte'); $ppk = array(); $select = array('a.numero', 'a.fecha', 'a.nombre', 'b.cana', 'b.precio', 'b.importe', 'a.factura'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'a.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $grid2 = new DataGrid(); $grid2->use_function('bfacts'); $ll = anchor_popup('formatos/descargar/SNTE/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/SNTE/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid2->title('Notas de Entrega Facturadas'); $grid2->column('Número', $link); $grid2->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=center'); $grid2->column('Cliente', 'nombre'); $grid2->column('Cantidad', '<nformat><#cana#></nformat>', 'align=\'right\''); $grid2->column('Costo', '<nformat><#precio#></nformat>', 'align=\'right\''); $grid2->column('Importe', '<nformat><#importe#></nformat>', 'align=\'right\''); //$grid2->column('Factura' ,'<#factura#>'); $grid2->column('Fact.(s)', "<bfacts><#factura#>|{$codigo}</bfacts>"); $grid2->db->select($select); $grid2->db->from('snte AS a'); $grid2->db->join('itsnte AS b', 'a.numero=b.numero'); $grid2->db->join('sfac AS c', 'a.factura=c.numero AND c.tipo_doc=\'F\''); $grid2->db->where('b.codigo', $codigo); $grid2->db->where('a.fecha', $fecha); $grid2->build(); if ($grid2->recordCount > 0) { $gridout .= $grid2->output; } } elseif ($tipo == '3R') { //ventas de Restaurante $grid->title('Facturas'); //$link=anchor('inventario/kardex/rfac/'.$this->_unionuri().'/show/'.implode('/',$ppk),'<#tipoa#><#numa#>'); $grid->column('Número', 'numero'); $grid->column('Cliente', 'cliente'); $grid->column('Cantidad', '<nformat><#cantidad#></nformat>', 'align=right'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=center'); $grid->column('Mesonero', 'mesonero', 'align=center'); $grid->column('Precio', '<nformat><#precio#></nformat>', 'align=right'); $grid->column('Total', '<nformat><#importe#></nformat>', 'align=right'); $grid->db->select(array('a.numero', 'CONCAT("(",b.cod_cli,") ",b.nombre) cliente', 'c.cantidad', 'a.fecha', 'a.mesonero', 'a.precio', 'a.importe')); $grid->db->from('ritems a'); $grid->db->join('rfac b', 'b.numero=a.numero'); $grid->db->join('itrece c', 'c.menu=a.codigo'); $grid->db->where('a.fecha', $fecha); $grid->db->where('c.codigo', $codigo); $grid->build(); $gridout = $grid->output; } elseif ($tipo == '1T' || $tipo == '0F' || $tipo == '9F') { //Transferencias $fields = $this->db->field_data('stra'); $ppk = array(); $select = array('b.numero', 'b.envia', 'b.recibe', 'a.cantidad', 'b.fecha', 'b.observ1', 'a.costo'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'b.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $ll = anchor_popup('formatos/descargar/STRA/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/STRA/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid->title('Tranferencias'); $grid->column('Número', $link); $grid->column('Envía', 'envia'); $grid->column('Recibe', 'recibe'); $grid->column('Cantidad', '<nformat><#cantidad#></nformat>', 'align=\'right\''); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=\'center\''); $grid->column('Observación', 'observ1'); $grid->db->select($select); $grid->db->from('itstra a'); $grid->db->join('stra b', 'a.numero=b.numero'); $grid->db->where('b.fecha', $fecha); $grid->db->where('a.codigo', $codigo); $grid->build(); if ($grid->recordCount > 0) { $gridout = $grid->output; } $grid2 = new DataGrid(); //$grid2->order_by('numero','desc'); $grid2->per_page = 50; $grid2->title('Tranferencias por consumo detallado'); $grid2->column('Código', 'codigo'); $grid2->column('Consumido', 'cantidad', 'align=\'right\''); $grid2->column('Enlace', 'enlace'); $grid2->column('Entrada', 'fraccion', 'align=\'right\''); $grid2->db->select(array('a.codigo', 'b.descrip', 'a.cantidad', 'a.fraccion', 'a.enlace', 'c.descrip')); $grid2->db->from('trafrac AS a'); $grid2->db->join('sinv AS b', 'a.codigo=b.codigo'); $grid2->db->join('sinv AS c', 'a.enlace=c.codigo'); $grid2->db->where('a.fecha', $fecha); $grid2->db->where($this->db->escape($codigo) . ' IN (`a`.`codigo`,`a`.`enlace`)', null, false); $grid2->build(); if ($grid2->recordCount > 0) { $gridout .= $grid2->output; } } elseif ($tipo == '2C') { //compras $fields = $this->db->field_data('scst'); $ppk = array(); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'b.' . $field->name; $select = array('a.numero', 'a.fecha', 'a.proveed', 'a.depo', 'a.cantidad', 'a.costo', 'a.importe', 'a.control'); if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $ll = anchor_popup('formatos/descargar/COMPRA/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/COMPRA/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid->title('Compras'); $grid->column('Número', $link); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=\'center\''); $grid->column('Proveedor', 'proveed'); $grid->column('Deposito', 'depo'); $grid->column('Cantidad', '<nformat><#cantidad#></nformat>', 'align=\'right\''); $grid->column('Costo', '<nformat><#costo#></nformat>', 'align=\'right\''); $grid->column('Importe', '<nformat><#importe#></nformat>', 'align=\'right\''); $grid->db->select($select); $grid->db->from('itscst a'); $grid->db->join('scst b', 'a.control=b.control'); $grid->db->where('a.codigo', $codigo); $grid->db->where('b.recep', $fecha); $grid->db->where('b.actuali >= b.fecha'); $grid->build(); $gridout = $grid->output; } elseif ($tipo == '4N') { //Nota de entrega $fields = $this->db->field_data('snte'); $ppk = array(); $select = array('a.numero', 'a.fecha', 'a.nombre', 'b.cana', 'b.precio', 'b.importe', 'a.factura'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'a.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $ll = anchor_popup('formatos/descargar/SNTE/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/SNTE/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid->use_function('bfacts'); $grid->title('Notas de Entrega'); $grid->column('Número', $link); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=center'); $grid->column('Cliente', 'nombre'); $grid->column('Cantidad', '<nformat><#cana#></nformat>', 'align=\'right\''); $grid->column('Costo', '<nformat><#precio#></nformat>', 'align=\'right\''); $grid->column('Importe', '<nformat><#importe#></nformat>', 'align=\'right\''); $grid->column('Fact.(s)', "<bfacts><#factura#>|{$codigo}</bfacts>"); $grid->db->select($select); $grid->db->from('snte a'); $grid->db->join('itsnte b', 'a.numero=b.numero'); $grid->db->where('b.codigo', $codigo); $grid->db->where('a.fecha', $fecha); $grid->build(); $gridout = $grid->output; } elseif ($tipo == '6C') { //Conversiones $fields = $this->db->field_data('conv'); $ppk = array(); $select = array('a.numero', 'a.estampa', 'b.entrada', 'b.salida', 'b.codigo'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'a.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $ll = anchor_popup('formatos/descargar/CONV/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/CONV/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid->title('Conversiones'); $grid->column('Número', $link); $grid->column('Fecha', '<dbdate_to_human><#estampa#></dbdate_to_human>', 'align=center'); $grid->column('Entrada', '<nformat><#entrada#></nformat>', 'align=right'); $grid->column('Salida', '<nformat><#salida#></nformat>', 'align=right'); $grid->db->select($select); $grid->db->from('conv AS a'); $grid->db->join('itconv AS b', 'a.numero=b.numero'); $grid->db->where('b.codigo', $codigo); $grid->db->where('a.estampa', $fecha); $grid->build(); $gridout = $grid->output; } elseif ($tipo == '5C') { //Ajustes de inventario $fields = $this->db->field_data('ssal'); $ppk = array(); $select = array('a.numero', 'a.fecha', 'a.almacen', 'a.motivo', 'b.descrip', 'b.cantidad', 'b.costo'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'a.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $ll = anchor_popup('formatos/descargar/SSAL/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/SSAL/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid->title('Ajustes de inventario'); $grid->column('Número', $link); $grid->column('Descripción', 'descrip'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=\'center\''); $grid->column('Cantidad', '<nformat><#cantidad#></nformat>', 'align=\'right\''); $grid->column('Costo', '<nformat><#costo#></nformat>', 'align=\'right\''); $grid->db->select($select); $grid->db->from('ssal AS a'); $grid->db->join('itssal AS b', 'a.numero=b.numero'); $grid->db->where('b.codigo', $codigo); $grid->db->where('a.fecha', $fecha); $grid->build(); $gridout = $grid->output; } elseif ($tipo == '5D') { //Consignacion $fields = $this->db->field_data('scon'); $ppk = array(); $select = array('a.numero', 'a.fecha', 'b.desca', 'b.cana', 'b.precio'); foreach ($fields as $field) { if ($field->primary_key == 1) { $ppk[] = '<#' . $field->name . '#>'; $pknombre = 'a.' . $field->name; if (array_search($pknombre, $select) === false) { $select[] = $pknombre; } } } $ll = anchor_popup('formatos/descargar/SCON/' . implode('/', $ppk), '(pdf)', $attsp); $link = anchor('formatos/verhtml/SCON/' . implode('/', $ppk), '<#numero#> ' . $ll, array('target' => 'showefect')); $grid->title('Consignación de inventario'); $grid->column('Número', $link); $grid->column('Descripción', 'desca'); $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'align=\'center\''); $grid->column('Cantidad', '<nformat><#cana#></nformat>', 'align=\'right\''); $grid->column('Precio', '<nformat><#precio#></nformat>', 'align=\'right\''); $grid->db->select($select); $grid->db->from('scon AS a'); $grid->db->join('itscon AS b', 'a.numero=b.numero'); $grid->db->where('b.codigo', $codigo); $grid->db->where('a.fecha', $fecha); $grid->build(); $gridout = $grid->output; } //echo $grid->db->last_query(); $iframe = new iframeField('showefect', 'inventario/kardex/showefect', "400"); $iframe->status = 'show'; $iframe->build(); $data['content'] = $gridout . $iframe->output; $data['title'] = heading('Transacciones del producto ' . $codigo); $data['head'] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function gdiarias($anio = '', $producto = '', $mes = '') { $this->load->library('Graph'); $producto = radecode($producto); if (empty($mes) or empty($anio) or empty($producto)) { return; } $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $mSQL = "SELECT a.codigo AS codigo,b.descrip AS nombre,DAYOFMONTH(a.fecha) as dia,a.cantidad AS cantidad,\n SUM(a.venta)AS grantotal \n FROM costos AS a \n JOIN sinv AS b ON a.codigo=b.codigo\n WHERE a.fecha >='{$fechai}' AND a.fecha <='{$fechaf}' AND a.codigo='{$producto}'\n GROUP BY fecha ORDER BY grantotal DESC"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $data_1[] = $row->grantotal; } $nombre = $row->nombre; $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0F235F'); $bar_1->key('Ventas', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Ventas de ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Ventas x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ventas con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function cconci() { $error = ''; $data = $this->input->post('data'); $accion = $this->input->post('accion'); $fconci = human_to_dbdate($this->input->post('fconci')); if ($data !== false) { $pk = unserialize($data); $pk[2] = radecode($pk[2]); if ($accion == 'true') { $ddata = array('fconcilia' => $fconci, 'concilia' => 'S'); } else { $ddata = array('fconcilia' => null, 'concilia' => 'N'); } $where = ' codbanc = ' . $this->db->escape($pk[0]); $where .= ' AND tipo_doc = ' . $this->db->escape($pk[1]); $where .= ' AND cheque = ' . $this->db->escape($pk[2]); $where .= ' AND id = ' . $this->db->escape($pk[4]); //$where .= ' AND MID(status,2,1) = "2"'; $fechas = $this->datasis->damerow("SELECT replace(fecha,'-','') fecha,fecha f FROM mbanc WHERE {$where}"); $error .= $this->chbanse($pk[0], $fconci); // $error .=$this->chbanse($pk[0],$fechas['f']); if ($fechas['fecha'] > $pk[3] && $accion == 'true') { $error .= 'La fecha de Conciliacion no puede ser menor a la fecha del documento'; } $mSQL = $this->db->update_string('mbanc', $ddata, $where); if (empty($error)) { logusu("conci", $mSQL); if ($this->db->query($mSQL)) { echo '1'; } else { echo 'Hubo un error, comuniquese con soporte tecnico'; } } else { echo $error; } } }
function redi($codigo = '') { $codigoe = $this->db->escape(radecode($codigo)); $id = $this->datasis->dameval("SELECT id FROM COSTOS WHERE codigo={$codigoe} ORDER BY id desc LIMIT 1"); redirect($this->url . 'dataedit/show/' . $id); }