Ejemplo n.º 1
0
    function anuales()
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		';
        if ($this->uri->segment(4)) {
            $anio = $this->uri->segment(4);
        } elseif (isset($_POST['anio'])) {
            $anio = $_POST['anio'];
        }
        if (empty($anio)) {
            $anio = date("Y");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $filter = new DataForm('ventas/productos/anuales');
        $filter->title('Filtro de Ventas Anuales');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("Año", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->rule = "max_length[4]";
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/productos/anuales/'), array('anio')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("a.codigo", "b.descrip AS nombre", "a.cantidad AS cantidad", "SUM(a.venta)AS grantotal", "COUNT(*) AS numfac");
        $grid->db->select($select);
        $grid->db->from("costos AS a");
        $grid->db->join("sinv AS b", "a.codigo=b.codigo");
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->groupby("a.codigo");
        $grid->db->orderby("grantotal DESC");
        $grid->per_page = 15;
        $grid->column("Producto", "nombre", "align='left'");
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cantidad", "<number_format><#cantidad#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant. Fact", "numfac", 'align=right');
        $grid->totalizar('grantotal');
        $grid->build();
        $grafico = open_flash_chart_object(680, 450, site_url("ventas/productos/ganuales/{$anio}/"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Ventas Anuales</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 2
0
    function anuales()
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		';
        if ($this->uri->segment(4)) {
            $anio = $this->uri->segment(4);
        } elseif (isset($_POST['anio'])) {
            $anio = $_POST['anio'];
        }
        if (empty($anio)) {
            $anio = date("Y");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $filter = new DataForm('supermercado/bancos/anuales');
        $filter->title('Filtro de Bancos');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('supermercado/bancos/anuales'), array('anio')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("a.fecha", "a.concep", "b.banco", "SUM(a.monto)AS grantotal", "SUM(a.transac)AS transacciones");
        $grid->db->select($select);
        $grid->db->from("est_pago as a");
        $grid->db->join("banc as b", "a.concep=b.codbanc");
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->groupby("a.concep");
        $grid->db->orderby("grantotal DESC");
        $grid->column("Banco", "banco", "align='left'");
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant.Transac", "transacciones", 'align=right');
        $grid->totalizar('grantotal');
        $grid->build();
        //echo $grid->db->last_query();
        $grafico = open_flash_chart_object(720, 450, site_url("supermercado/bancos/ganuales/{$anio}/"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Tipos de Bancos</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 3
0
    function index()
    {
        $this->rapyd->load("datagrid", "dataform");
        $this->load->helper('openflash');
        $anio = $this->uri->segment(4);
        if (empty($anio)) {
            $anio = date("Y");
        }
        $script = '
			$(function() {
				$(".inputnum").numeric(".");
			});
			';
        $filter = new DataForm();
        $filter->title('Filtro de An&aacute;lisis de Ventas');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('/supermercado/analisis/index'), array('anio')), $position = "BL");
        $filter->build_form();
        $link = "supermercado/analisis/departamento/<#depto#>/{$anio}";
        $select = array('a.fecha', 'a.depto', 'a.familia', 'a.grupo', 'a.codigo', 'a.impuesto', 'a.monto', 'a.cantidad', 'a.transac', 'a.tipo', 'b.descrip');
        $grid = new DataGrid('Ventas por Departamentos');
        $grid->column("Departamento", anchor($link, '<#descrip#>'), 'nowrap=yes');
        for ($i = 1; $i <= 12; $i++) {
            $nmes = $this->calendar->get_month_name(str_pad($i, 2, "0", STR_PAD_LEFT));
            $grid->column($nmes, "<nformat><#m{$i}#></nformat>", 'align=right');
            $select[] = "sum(a.monto*(month(a.fecha)={$i}))  AS m{$i}";
        }
        $grid->db->select($select);
        $grid->db->from('est_item  AS a');
        $grid->db->join('dpto  AS b', 'a.depto=b.depto');
        $grid->db->where('YEAR(a.fecha)', $anio);
        $grid->db->where("a.tipo", 'I');
        $grid->db->groupby('a.depto');
        $grid->build();
        //echo  $grid->db->last_query();
        $data['content'] = $filter->output . '<div style="overflow: auto; width: 100%;">' . $grid->output . '</div>';
        $data['title'] = "<h1>An&aacute;lisis de Ventas</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);
    }
Ejemplo n.º 4
0
    function sel()
    {
        $this->rapyd->load("dataform");
        //echo $this->flongpres;
        //$script='
        //$(function() {
        //
        //		$("#codigoadm").change(function(){
        //			$.post("'.site_url('presupuesto/presupsoli/get_tipo').'",{ codigoadm:$("#codigoadm").val() },function(data){$("#tipo").html(data);})
        //		});
        //
        //		$("#tipo").change(function(){
        //			$.post("'.site_url('presupuesto/presupsoli/get_estrupres').'",{ tipo:$("#tipo").val(),codigoadm:$("#codigoadm").val() },function(data){$("#codigopres").html(data);})
        //		});
        //
        //});
        //';
        $script = '
		$(function() {

				$("#codigoadm").change(function(){
					$.post("' . site_url('presupuesto/presusol/get_tipo') . '",{ codigoadm:$("#codigoadm").val() },function(data){$("#tipo").html(data);})
				});

				$("#tipo").change(function(){
					$.post("' . site_url('presupuesto/presusol/get_estrupres') . '",{ codigoadm:$("#codigoadm").val(),tipo:$("#tipo").val() },function(data){$("#codigopres").html(data);})
				});
				
		});
		';
        $flong = $this->flongpres;
        $rlong = $this->flongadm;
        $filter = new DataForm("presupuesto/presupsoli/sel/process");
        $filter->script($script);
        $filter->codigoadm = new dropdownField("Estructura Administrativa", "codigoadm");
        $filter->codigoadm->option("", "Seleccione");
        $filter->codigoadm->rule = 'required';
        $filter->codigoadm->options("SELECT b.codigo, CONCAT_WS(' ',b.codigo,b.denominacion) AS val FROM presusol AS a JOIN estruadm AS b ON a.codigoadm=b.codigo  GROUP BY b.codigo");
        $filter->tipo = new dropdownField('Origen de fondos', 'tipo');
        $filter->tipo->option("", "Seleccione una Estructura Administrativa");
        $filter->tipo->rule = 'required';
        $filter->codigopres = new dropdownField("Presupuesto", "codigopres");
        $filter->codigopres->option("", "Seleccione un presupuesto");
        $filter->submit("btnsubmit", "Buscar");
        $filter->build_form();
        if ($filter->on_success()) {
            $ttipo = $filter->tipo->newValue;
            $codamd = $filter->codigoadm->newValue;
            $codpre = $filter->codigopres->newValue;
            redirect("presupuesto/presupsoli/asignar/{$ttipo}/{$codamd}/{$codpre}");
        }
        $data['content'] = $filter->output;
        $data['title'] = "Presupuesto Estimado";
        $data["head"] = script("jquery.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 5
0
    function index()
    {
        $this->rapyd->load('dataform');
        $lscst = site_url('compras/scst/autocomplete/control');
        $script = '
		function formato(row) {
			return row[0]+" "+row[1]+" "+row[3];
		}

		$(function() {
			$("#control").autocomplete("' . $lscst . '",{
				delay:10,
				//minChars:2,
				matchSubset:1,
				matchContains:1,
				cacheLength:10,
				formatItem:formato,
				width:450,
				autoFill:true
				}
			);
		});';
        $form = new DataForm($this->url . 'index/process');
        $form->title('Pasar precios a cajas');
        $form->script($script);
        $form->control = new inputField('Control de compra', 'control');
        $form->control->rule = 'required|callback_chcontrol';
        $form->control->size = 12;
        $form->control->maxlength = 10;
        $form->control->append('Dejar vacio para enviar un masivo');
        $form->submit("btnsubmit", "Pasar precios a caja");
        $form->build_form();
        $error = '';
        if ($form->on_success()) {
            $control = $form->control->newValue;
            $usr = $this->session->userdata('usuario');
            $join = '';
            if (strlen($control > 0)) {
                $join = 'JOIN `itscst` AS b ON a.codigo=b.codigo AND b.codigo=' . $this->db->escape($control);
            }
            $mSQL = "INSERT INTO `enviapos` (codigo,numero,precio1,fecha,hora,usuario)\n\t\t\t\t  SELECT a.codigo,'INVENTAR',a.precio1,CURDATE(),CURTIME(),'{$usr}' FROM `maes` AS a {$join}";
            $ban = $this->db->simple_query($mSQL);
            if (!$ban) {
                $error .= "Hubo problemas al pasar los precios, comuniquese con servicio t&eacute;cnico";
                memowrite($mSQL, 'ENVIACAJA');
            } else {
                logusu('ENVIACAJA', "Fue enviado una actualizacion de precios");
            }
        }
        $data['content'] = "<div class='alert'>{$error}</div>";
        $data['content'] .= $form->output;
        $data['title'] = '<h1>Env&iacute;o de precios para las cajas</h1>';
        $data["head"] = script('jquery.pack.js') . script('plugins/jquery.autocomplete.js') . style('jquery.autocomplete.css') . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 6
0
    function precios2()
    {
        $this->rapyd->load("dataform", "datatable");
        $cod = $this->uri->segment(4);
        $script = '
		$("#codigo").focus();
			$(document).ready(function() {
				$("a").fancybox();
				$("#codigo").attr("value", "");
				$("#codigo").focus();
			});

		$("#df1").submit(function() {
					valor=$("#codigo").attr("value");
					location.href="' . site_url('supermercado/consultas/precios2') . '/"+valor;
					return false;
				});

		';
        $form = new DataForm();
        $form->script($script);
        $form->codigo = new inputField("C&oacute;digo", "codigo");
        $form->codigo->size = 20;
        $form->codigo->insertValue = '';
        $form->codigo->append('Presente el articulo frente al lector de codigo de barras o escriba directamente algun codigo de identificacion y luego presione ENTER');
        $form->build_form();
        $contenido = $form->output;
        if (!empty($cod)) {
            $data2 = $this->rprecios($cod);
            if ($data2) {
                $contenido .= $this->load->view('view_rprecios', $data2, true);
            } else {
                $t = array();
                $t[1][1] = "<b>PRODUCTO NO REGISTRADO</b>";
                $t[2][1] = "";
                $t[3][1] = "<b>Por Favor introduzca un Codigo de identificaci&oacute;n del Producto</b>";
                $t[4][1] = "Presente el producto en el lector de codigo de barras";
                $t[5][1] = "o escriba directamente algun codigo de identificacion y luego presione ENTER";
                $table = new DataTable(null, $t);
                $table->cell_attributes = 'style="vertical-align:middle; text-align: center;"';
                $table->per_row = 1;
                $table->cell_attributes = '';
                //$t[2][1]="";style="vertical-align:top;"
                $table->cell_template = "<div style='color:red;' align='center'><#1#></div></br>";
                $table->build();
                $contenido .= $table->output;
            }
        } else {
            //$data['content'] = $form->output;
        }
        $data['content'] = $contenido;
        $data["head"] = script("jquery.js") . script("plugins/jquery.fancybox.pack.js") . script("plugins/jquery.easing.js") . style('fancybox/jquery.fancybox.css') . style("ventanas.css") . style("estilos.css") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 7
0
    function sel()
    {
        $this->rapyd->load("dataform");
        //echo $this->flongpres;
        $script = '
		$(function() {
				$("#codigoadm").change(function(){
					$.post("' . site_url('presupuesto/presupuesto/get_tipo') . '",{ codigoadm:$("#codigoadm").val() },function(data){$("#tipo").html(data);})
				});

				
				
		});
		';
        $flong = $this->flongpres;
        $rlong = $this->flongadm;
        $filter = new DataForm("presupuesto/anualcierre/sel/process");
        $filter->script($script);
        $filter->codigoadm = new dropdownField("Estructura Administrativa", "codigoadm");
        $filter->codigoadm->option("", "Seleccione");
        $filter->codigoadm->rule = 'required';
        $filter->codigoadm->options("SELECT b.codigo, CONCAT_WS(' ',b.codigo,b.denominacion) AS val FROM presupuesto AS a JOIN estruadm AS b ON a.codigoadm=b.codigo  GROUP BY b.codigo");
        $filter->tipo = new dropdownField('Origen de fondos', 'tipo');
        $filter->tipo->option("", "Seleccione una Estructura Administrativa");
        $filter->tipo->rule = 'required';
        //$filter->codigopres = new dropdownField("Presupuesto","codigopres");
        //$filter->codigopres->option("","Seleccione un presupuesto");
        //$filter->ano = new inputField("A&ntilde;o","ano");
        //$filter->ano->size=5;
        //$filter->ano->maxlength=4;
        $filter->submit("btnsubmit", "Buscar");
        $filter->build_form();
        if ($filter->on_success()) {
            $tipo = $filter->tipo->newValue;
            $codigoadm = $filter->codigoadm->newValue;
            //$codigopres = $filter->codigopres->newValue;
            //$ano = $filter->ano->newValue;
            redirect("presupuesto/anualcierre/cerrar/{$tipo}/{$codigoadm}/{$codigopres}");
        }
        $data['content'] = $filter->output;
        $data['title'] = "Cierre de Presupuestos";
        $data["head"] = script("jquery.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 8
0
    function gserchipros($codbanc = null)
    {
        if (empty($codbanc)) {
            show_error('Faltan par&aacute;metros');
        }
        $dbcodbanc = $this->db->escape($codbanc);
        $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc;
        $r = $this->datasis->damerow($mSQL);
        if ($r['cana'] == 0) {
            show_error('Caja sin gastos');
        }
        $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}";
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            $row = $query->row();
            $nombre = $row->nombre;
            $codprv = $row->codprv;
        } else {
            $nombre = $codprv = '';
        }
        $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a';
        $query = $this->db->query($sql);
        $comis = array();
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $ind = '_' . $row->codbanc;
                $comis[$ind]['tbanco'] = $row->tbanco;
            }
        }
        $json_comis = json_encode($comis);
        $this->rapyd->load('dataform', 'datagrid');
        $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor');
        $bsprv = $this->datasis->modbus($modbus);
        $script = 'var comis = ' . $json_comis . ';
		
		$(document).ready(function() {
			desactivacampo("");
		});
		
		function desactivacampo(codb1){
			if(codb1.length>0 && codb1!="' . $this->mcred . '"){
				eval("tbanco=comis._"+codb1+".tbanco;"  );
				if(tbanco=="CAJ"){
					$("#cheque").attr("disabled","disabled");
					$("#benefi").attr("disabled","disabled");
				}else{
					$("#cheque").removeAttr("disabled");
					$("#benefi").removeAttr("disabled");
				}
			}else{
				$("#cheque").attr("disabled","disabled");
				$("#benefi").attr("disabled","disabled");
			}
		}';
        $form = new DataForm('finanzas/gser/gserchipros/' . $codbanc . '/process');
        $form->title("N&uacute;mero de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b>');
        $form->script($script);
        $form->codprv = new inputField('Proveedor', 'codprv');
        $form->codprv->rule = 'required';
        $form->codprv->insertValue = $codprv;
        $form->codprv->size = 5;
        $form->codprv->append($bsprv);
        $form->nombre = new inputField('Nombre', 'nombre');
        $form->nombre->rule = 'required';
        $form->nombre->insertValue = $nombre;
        $form->nombre->in = 'codprv';
        $form->cargo = new dropdownField('Con cargo a', 'cargo');
        $form->cargo->option($this->mcred, 'Cr&eacute;dito');
        $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' ORDER BY codbanc");
        $form->cargo->onchange = 'desactivacampo(this.value)';
        $form->cargo->rule = 'max_length[5]|required';
        $form->cheque = new inputField('N&uacute;mero de cheque', 'cheque');
        $form->cheque->rule = 'condi_required|callback_chobligaban';
        $form->cheque->append('Aplica  solo si el cargo es a un banco');
        $form->benefi = new inputField('Beneficiario', 'benefi');
        $form->benefi->insertValue = $nombre;
        $form->benefi->rule = 'condi_required|callback_chobligaban';
        $form->benefi->append('Aplica  solo si el cargo es a un banco');
        $action = "javascript:window.location='" . site_url('finanzas/gser/cierregserchi/' . $codbanc) . "'";
        $form->button('btn_regresa', 'Regresar', $action, 'BR');
        $form->submit('btnsubmit', 'Procesar');
        $form->build_form();
        $grid = new DataGrid('Lista de Gastos', 'gserchi');
        $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc');
        $grid->db->select($select);
        $grid->db->where('aceptado', 'S');
        $grid->db->where('ngasto IS NULL');
        $grid->db->where('codbanc', $codbanc);
        $grid->order_by('numfac', 'desc');
        $grid->per_page = 15;
        $grid->column('Caja', 'codbanc');
        $grid->column('N&uacute;mero', 'numfac');
        $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\'');
        $grid->column('Proveedor', 'proveedor');
        $grid->column('IVA', 'totiva', 'align=\'right\'');
        $grid->column('Monto', 'totneto', 'align=\'right\'');
        //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura');
        $grid->build();
        if ($form->on_success()) {
            $codprv = $form->codprv->newValue;
            $cargo = $form->cargo->newValue;
            $nombre = $form->nombre->newValue;
            $benefi = $form->benefi->newValue;
            $cheque = $form->cheque->newValue;
            $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque);
            //var_dump($rt);
            if ($rt) {
                redirect('finanzas/gser/listo/n');
            } else {
                redirect('finanzas/gser/listo/s');
            }
        }
        $data['content'] = $form->output . $grid->output;
        $data['title'] = heading('Reposici&oacute;n de caja chica ' . $codbanc);
        $data['head'] = $this->rapyd->get_head() . script('jquery.js');
        $data['head'] .= phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 9
0
    function mensuales($anio = '', $mes = '')
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        if (isset($_POST['anio']) and empty($anio)) {
            $anio = $_POST['anio'];
        }
        if (isset($_POST['mes']) and empty($mes)) {
            $mes = $_POST['mes'];
        }
        if (empty($mes)) {
            redirect("supermercado/ventas/anuales/{$anio}");
        }
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		';
        $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01';
        $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31';
        $filter = new DataForm('supermercado/ventas/mensuales');
        $filter->attributes = array('onsubmit' => "this.action='index/'+this.form.mes.value+'/'+this.form.anio.value+'/';return FALSE;");
        $filter->title('Filtro de Ventas Mensuales');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->mes = new dropdownField("Mes/A&ntilde;o", "mes");
        for ($i = 1; $i < 13; $i++) {
            $filter->mes->option(str_pad($i, 2, '0', STR_PAD_LEFT), str_pad($i, 2, '0', STR_PAD_LEFT));
        }
        $filter->mes->size = 2;
        $filter->mes->style = '';
        $filter->mes->insertValue = $mes;
        $filter->mes->rule = "trim";
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->in = 'mes';
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('supermercado/ventas/mensuales'), array('anio', 'mes')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("fecha", "DATE_FORMAT(fecha,'%d') AS dia", "SUM(monto)AS grantotal", "SUM(impuesto)AS iva", "SUM(transac)as transacciones");
        $grid->db->select($select);
        $grid->db->from("est_fecha");
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->groupby("fecha");
        $grid->db->orderby("fecha ASC");
        //$grid->db->limit(15,0);
        $grid->column("Dia", "dia", "align='left'");
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Impuesto", "<number_format><#iva#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant.Transac", "transacciones", 'align=right');
        $grid->totalizar('iva', 'grantotal');
        $grid->build();
        $grafico = open_flash_chart_object(680, 350, site_url("supermercado/ventas/gmensuales/{$anio}/{$mes}"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Ventas Mensuales</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 10
0
    function diarias($anio = '', $vendedor = '', $mes = '')
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		';
        if (isset($_POST['anio']) and empty($anio)) {
            $anio = $_POST['anio'];
        }
        if (isset($_POST['mes']) and empty($mes)) {
            $mes = $_POST['mes'];
        }
        if (isset($_POST['vd']) and empty($vendedor)) {
            $vendedor = $_POST['vd'];
        }
        //if(empty($anio) OR ($vendedor)) redirect("ventas/vendedoresanuales/index/$anio");
        if (empty($mes)) {
            redirect("ventas/vendedores/mensuales/{$anio}/{$vendedor}");
        }
        $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01';
        $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31';
        $scli = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C<p align="right">&oacute;</p>digo Vendedor', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli'), 'titulo' => 'Buscar Cliente');
        $cboton = $this->datasis->modbus($scli);
        $filter = new DataForm('ventas/vendedores/diarias');
        $filter->attributes = array('onsubmit' => "this.action='index/'+this.form.mes.value+'/'+this.form.anio.value+'/';return FALSE;");
        $filter->title('Filtro de Ventas Diarias');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->mes = new dropdownField("Mes/A&ntilde;o", "mes");
        for ($i = 1; $i < 13; $i++) {
            $filter->mes->option(str_pad($i, 2, '0', STR_PAD_LEFT), str_pad($i, 2, '0', STR_PAD_LEFT));
        }
        $filter->mes->size = 2;
        $filter->mes->style = '';
        $filter->mes->insertValue = $mes;
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->in = 'mes';
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->vendedor = new inputField("Vendedor", "vd");
        $filter->vendedor->size = 10;
        $filter->vendedor->insertValue = $vendedor;
        $filter->vendedor->rule = "max_length[4]";
        $filter->vendedor->append($cboton);
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/vendedores/diarias/'), array('anio', 'vd', 'mes')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("vd", "DATE_FORMAT(fecha,'%d/%m/%Y') AS fecha", "SUM(totalg*IF(tipo_doc='D', -1, 1)) AS grantotal", "SUM(totalg*IF(tipo_doc='D', -1, 1))/ COUNT(*) AS porcentaje", "SUM(totalg*(referen IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) as contado", "SUM(totalg*(referen NOT IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) as credito", "FORMAT(sum(totals*IF(tipo_doc='D',-1,1)),2) AS subtotal", "FORMAT(sum(iva*IF(tipo_doc='D',-1,1)),2) AS impuesto", "COUNT(*) AS numfac");
        $grid->db->select($select);
        $grid->db->from("sfac");
        $grid->db->where('tipo_doc <> ', 'X');
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->where('vd ', $vendedor);
        $grid->db->groupby("fecha");
        $grid->column("Dia", "fecha", "align='center'");
        $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right');
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cr&eacute;dito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right');
        $grid->column("Participaci&oacute;n", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant. Fact", "numfac", 'align=right');
        $grid->totalizar('subtotal', 'impuesto', 'grantotal', 'contado', 'credito');
        $grid->build();
        $grafico = open_flash_chart_object(680, 350, site_url("ventas/vendedores/gdiarias/{$anio}/{$vendedor}/{$mes}"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Vendedores</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 11
0
    function mensuales($anio = '', $cliente = '')
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        if (isset($_POST['anio']) and empty($anio)) {
            $anio = $_POST['anio'];
        }
        if (isset($_POST['cod_cli']) and empty($cliente)) {
            $cliente = $_POST['cod_cli'];
        }
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		';
        if (empty($anio) or empty($cliente)) {
            redirect("ventas/clientes/anuales/{$anio}");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $scli = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli'), 'titulo' => 'Buscar Cliente');
        $cboton = $this->datasis->modbus($scli);
        $filter = new DataForm('ventas/clientes/mensuales');
        $filter->title('Filtro de Ventas Mensuales');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->cliente = new inputField("Cliente", "cod_cli");
        $filter->cliente->size = 10;
        $filter->cliente->insertValue = $cliente;
        $filter->cliente->rule = "max_length[4]";
        $filter->cliente->append($cboton);
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/clientes/mensuales'), array('anio', 'cod_cli')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("cod_cli,nombre", "fecha", "DATE_FORMAT(fecha,'%m/%Y')AS mes", "SUM(totalg*IF(tipo_doc='D', -1, 1)) AS grantotal", "SUM(totalg*IF(tipo_doc='D', -1, 1))/ COUNT(*) AS porcentaje", "SUM(totalg*(referen IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS contado", "SUM(totalg*(referen NOT IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS credito", "SUM(totals*IF(tipo_doc='D',-1,1))AS subtotal", "SUM(iva*IF(tipo_doc='D',-1,1))AS impuesto", "COUNT(*) AS numfac");
        $grid->db->select($select);
        $grid->db->from("sfac");
        $grid->db->where('tipo_doc<>', 'X');
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->where('cod_cli', $cliente);
        $grid->db->groupby("mes");
        $grid->column("Mes", "mes", "align='center'");
        $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right');
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right');
        $grid->column("Credito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right');
        $grid->column("Participaci&oacute;n", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant. Fact", "numfac", 'align=right');
        $grid->totalizar('impuesto', 'grantotal', 'contado', 'credito', 'subtotal');
        $grid->build();
        $grafico = open_flash_chart_object(750, 350, site_url("ventas/clientes/gmensuales/{$anio}/{$cliente}"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Clientes</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 12
0
    function actualizar($control)
    {
        $this->rapyd->load('dataform');
        $dbcontrol = $this->db->escape($control);
        $script = '$(function(){
			$(".littletableheader").css("width","200px");
			$(".inputnum").numeric(".");
			$("#fecha").datepicker({ dateFormat: "dd/mm/yy" });
			$("#cprecio").change(function(){
				var cprecio=$("#cprecio").val();
				if(cprecio=="S"){
					$("#advs").show();
					$("#advn").hide();
					$("#advd").hide();
				}else if(cprecio=="N"){
					$("#advs").hide();
					$("#advn").show();
					$("#advd").hide();
				}else{
					$("#advs").hide();
					$("#advn").hide();
					$("#advd").show();
				}
				if(cprecio=="M"){
					$("#tr_margens").show();
				}else{
					$("#tr_margens").hide();
				}
			});
			$("#cprecio").change();
		})';
        $form = new DataForm("compras/scst/actualizar/{$control}/process");
        $form->script($script);
        $scstrow = $this->datasis->damerow("SELECT proveed,nombre,fecha,montotot, montoiva,montonet,serie,vence,tipo_doc FROM scst WHERE control={$dbcontrol}");
        if (!empty($scstrow)) {
            $htmltabla = "<table width='100%' style='background-color:#FBEC88;text-align:center;font-size:12px'>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>Proveedor:</td>\n\t\t\t\t\t<td><b>(" . htmlspecialchars($scstrow['proveed']) . ")</b></td>\n\t\t\t\t\t<td colspan='4'><b>" . htmlspecialchars($scstrow['nombre']) . "</b></td>\n\t\t\t\t</tr><tr>\n\t\t\t\t\t<td>Documento:</td>\n\t\t\t\t\t<td>" . htmlspecialchars($scstrow['tipo_doc'] . $scstrow['serie']) . "</b></td>\n\t\t\t\t\t<td>Fecha: </td>\n\t\t\t\t\t<td><b>" . dbdate_to_human($scstrow['fecha']) . "</b></td>\n\t\t\t\t\t<td>Vence:</td>\n\t\t\t\t\t<td><b>" . dbdate_to_human($scstrow['vence']) . "</b></td>\n\t\t\t\t</tr><tr>\n\t\t\t\t\t<td>Sub Total:</td>\n\t\t\t\t\t<td><b>" . nformat($scstrow['montotot']) . "</b></td>\n\t\t\t\t\t<td> I.V.A.: </td>\n\t\t\t\t\t<td><b>" . nformat($scstrow['montoiva']) . "</b></td>\n\t\t\t\t\t<td>Monto: </td>\n\t\t\t\t\t<td><b>" . nformat($scstrow['montonet']) . "</b></td>\n\t\t\t\t</tr>\n\t\t\t</table>";
            $form->tablafo = new containerField('tablafo', $htmltabla);
            if (in_array($scstrow['tipo_doc'], array('FC', 'NE'))) {
                $opt_arr = array('D' => array('Dejar el precio mayor', 'Coloca el precio mayor entre el precio en inventario y el nuevo precio seg&uacute;n compra.'), 'M' => array('Obliga Margen', 'Calcula el precio a partir del costo nuevo aplicando el margen suministrado.'), 'N' => array('No', 'Respeta los precios de los productos en inventario e ignora los provenientes de la compra.'), 'S' => array('Si', 'Coloca los precios provenientes de la compra reemplazando los del inventario exepto los productos marcados con la opci&oacute;n de repetar margen a los cuales se les calculara el precio sin modificar sus margenes.'));
                $optstr = $this->datasis->traevalor('SCSTACTUALIOPT', 'Fija las opciones para actualizar compras Ej SND');
                if (!empty($optstr)) {
                    $opt_val = array_unique(str_split(strtoupper($optstr)));
                    $pivo = array_intersect($opt_val, array_keys($opt_arr));
                    if (count($pivo) > 0) {
                        $result = array();
                        foreach ($pivo as $val) {
                            $result[$val] = $opt_arr[$val][0];
                        }
                    }
                } else {
                    foreach ($opt_arr as $id => $val) {
                        $result[$id] = $opt_arr[$id][0];
                    }
                }
                $arr_enum = array();
                $infoview = '';
                foreach ($result as $id => $val) {
                    $arr_enum[] = $id;
                    $infoview .= '<li><b>' . $val . '</b>:' . $opt_arr[$id][1] . '</li>';
                }
                $opt_arr = $result;
                $form->cprecio = new dropdownField('Cambiar precios', 'cprecio');
                $form->cprecio->options($opt_arr);
                $form->cprecio->append(' <sup>1</sup>');
                $form->cprecio->title = 'Ver nota 1';
                $form->cprecio->style = 'width:170px;';
                $form->cprecio->rule = 'required|enum[' . implode(',', $arr_enum) . ']';
                $htmltabla = '
				<div  style="background-color:#9D9FFF;font-size:1.2em">
				<span style="font-size:1.2em"><sup>1</sup> Opciones para <b>cambio de precios</b>:</span>
				<ul style="padding: 0px;margin: 0px 0px 0px 20px;">' . $infoview . '</ul>
				</div>';
            } else {
                $form->cprecio = new hiddenField('Fecha de recepci&oacute;n del documento', 'cprecio');
                $form->cprecio->insertValue = 'N';
                $form->cprecio->in = 'fecha';
                $htmltabla = '';
            }
            $form->fecha = new dateonlyField('Fecha de recepci&oacute;n del documento', 'fecha');
            $form->fecha->insertValue = date('Y-m-d');
            $form->fecha->rule = 'required|callback_chddate';
            $form->fecha->calendar = false;
            $form->fecha->title = 'El sistema asume que esta es la fecha en que la mercanc&iacute;a entra en inventario y de la retenci&oacute;n de IVA si aplica al presente caso';
            $form->fecha->size = 12;
            $form->fecha->append(' <sup>1</sup>');
            $canaordc = intval($this->datasis->dameval('SELECT COUNT(*) AS cana FROM scstordc WHERE compra=' . $this->db->escape($control)));
            if ($canaordc > 0) {
                $form->ordc = new dropdownField('Cerrar Ordenes de Compra', 'ordc');
                $form->ordc->option('N', 'No');
                $form->ordc->option('S', 'Si');
                $form->ordc->rule = 'required|enum[N,S]';
                $form->ordc->style = 'width:100px;';
                $form->ordc->title = 'Selecionar SI para cerrar las ordenes de compra asociadas o NO para dejarlas en backorder';
            }
            $style = 'style="background-color:red;border-radius: 5px;color:yellow;padding:3px;font-size:1.2em;"';
            //Advertencia con opcion a cambio de precios S
            $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tb.margen1<0 OR b.margen2<0 OR b.margen3<0 OR b.margen4<0) AND a.rmargen='S' AND a.control={$dbcontrol}";
            $codigo1 = trim($this->datasis->dameval($mSQL));
            $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tABS(a.costo-(a.precio1/(1+(b.iva/100))))<0 OR\n\t\t\t\tABS(a.costo-(a.precio2/(1+(b.iva/100))))<0 OR\n\t\t\t\tABS(a.costo-(a.precio3/(1+(b.iva/100))))<0  ) AND a.rmargen='N' AND a.control={$dbcontrol}";
            $codigo2 = trim($this->datasis->dameval($mSQL));
            $cc = array();
            if (!empty($codigo1)) {
                $cc[] = $codigo1;
            }
            if (!empty($codigo2)) {
                $cc[] = $codigo2;
            }
            $codigos = implode(',', $cc);
            if (!empty($codigos)) {
                $form->advs = new containerField('advs', '<div id="advs" ' . $style . '>Los productos <b>' . $codigos . '</b> van a quedar en perdida si  procede con esta operaci&oacute;n.</div>');
            }
            //Fin precios S
            $form->margens = new inputField('Obligar Margen', 'margens');
            $form->margens->css_class = 'inputnum';
            $form->margens->size = 10;
            $form->margens->maxlength = 6;
            $form->margens->autocomplete = false;
            $form->margens->insertValue = 30.0;
            $form->margens->rule = 'condi_required|callback_chmargenact';
            //Advertencia cambio de precios N
            $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tb.precio1/(1+(b.iva/100))<a.costo OR\n\t\t\t\tb.precio2/(1+(b.iva/100))<a.costo OR\n\t\t\t\tb.precio3/(1+(b.iva/100))<a.costo OR\n\t\t\t\tb.precio4/(1+(b.iva/100))<a.costo   ) AND a.rmargen='S' AND a.control={$dbcontrol}";
            $codigos = trim($this->datasis->dameval($mSQL));
            if (!empty($codigos)) {
                $form->advn = new containerField('advn', '<div id="advn" ' . $style . '>Los productos <b>' . $codigos . '</b> van a quedar en perdida si  procede con esta operaci&oacute;n.</div>');
            }
            //Fin de advertencia cambio de precios n
            //Advertencia cambio de precios D
            $mSQL = "SELECT GROUP_CONCAT(DISTINCT TRIM(a.codigo)) AS codigos\n\t\t\t\tFROM itscst AS a\n\t\t\t\tJOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\tGREATEST((b.precio1/(1+(b.iva/100))),(a.precio1/(1+(b.iva/100)))) < a.costo OR\n\t\t\t\tGREATEST((b.precio2/(1+(b.iva/100))),(a.precio2/(1+(b.iva/100)))) < a.costo OR\n\t\t\t\tGREATEST((b.precio3/(1+(b.iva/100))),(a.precio3/(1+(b.iva/100)))) < a.costo OR\n\t\t\t\tGREATEST((b.precio4/(1+(b.iva/100))),(a.precio4/(1+(b.iva/100)))) < a.costo   ) AND a.control={$dbcontrol}";
            $codigos = trim($this->datasis->dameval($mSQL));
            if (!empty($codigos)) {
                $form->advd = new containerField('advd', '<div id="advd" ' . $style . '>Los productos <b>' . $codigos . '</b> van a quedar en perdida si procede con esta operaci&oacute;n.</div>');
            }
            //Fin de advertencia cambio de precios D
            $form->container = new containerField('tabafo2', $htmltabla);
            $form->build_form();
            if ($form->on_success()) {
                $cprecio = $form->cprecio->newValue;
                $actualiza = $form->fecha->newValue;
                $margens = intval($form->margens->newValue);
                $cambio = $cprecio;
                $dbcontrol = $this->db->escape($control);
                $id = $this->datasis->dameval("SELECT id FROM scst WHERE control={$dbcontrol}");
                if ($cprecio == 'M') {
                    if ($margens <= 0) {
                        $rt = array('status' => 'B', 'mensaje' => 'El margen debe ser mayor que cero.', 'pk' => array('id' => $id));
                        echo json_encode($rt);
                        return false;
                    }
                }
                //Valida que si cambia los precios estos no esten por debajo del costo
                if ($cprecio != 'N') {
                    $mSQL = "SELECT COUNT(*) AS cana FROM itscst AS a JOIN sinv AS b ON a.codigo=b.codigo WHERE (\n\t\t\t\t\ta.costo>(a.precio1/(1+(b.iva/100))) OR\n\t\t\t\t\ta.costo>(a.precio2/(1+(b.iva/100))) OR\n\t\t\t\t\ta.costo>(a.precio3/(1+(b.iva/100)))  ) AND a.rmargen='N' AND a.control={$dbcontrol}";
                    $cana = $this->datasis->dameval($mSQL);
                    if (!empty($cana)) {
                        $rt = array('status' => 'B', 'mensaje' => 'Existen productos con precios menor al costo de compra, debe arreglar el problema antes de cargar la compra.', 'pk' => array('id' => $id));
                        echo json_encode($rt);
                        return false;
                    }
                }
                //Fin de la validacion
                if ($canaordc > 0) {
                    $tordc = $form->ordc->newValue;
                } else {
                    $tordc = null;
                }
                $rt = $this->_actualizar($id, $cambio, $actualiza, $tordc, $margens);
                if ($rt === false) {
                    $rt = array('status' => 'B', 'mensaje' => utf8_encode($this->error_string), 'pk' => array('id' => $id));
                    echo json_encode($rt);
                } else {
                    $data['content'] = 'Compra actualizada' . br();
                    $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => array('id' => $id));
                    echo json_encode($rt);
                }
            } else {
                echo $form->output;
            }
        } else {
            show_error('Registro inexistente');
        }
    }
Ejemplo n.º 13
0
    function mostrar($data4)
    {
        $this->rapyd->load("datagrid2", "dataform");
        $form = new DataForm("/supervisor/subexls/actualiza");
        $form->free = new freeField("Campos.Archivo xls", "free", "Campos de El Sistema");
        //var_dump($data4);
        //print_r($data4);
        $grid = new DataGrid2("Archivo Cargado", $data4);
        $j = 0;
        $campos .= 'cols="+$("#cols").val()+"&&dir="+$("#dir").val()';
        foreach ($cols as $col) {
            $grid->column("{$col}", "<#{$col}#>");
            $campo = "campo{$j}";
            $form->{$campo} = new dropdownField("{$col}", "campo{$j}");
            $form->{$campo}->option("ignorar", "ignorar");
            $form->{$campo}->option("codigo", "codigo");
            $form->{$campo}->option("costo", "costo");
            $form->{$campo}->option("descrip", "descrip");
            $form->{$campo}->option("descrip2", "descrip2");
            $form->{$campo}->option("clave", "clave");
            $form->{$campo}->option("grupo", "grupo");
            $form->{$campo}->option("iva", "iva");
            for ($i = 1; $i <= 3; $i++) {
                $form->{$campo}->option("base{$i}", "Base{$i}");
                $form->{$campo}->option("margen{$i}", "Margen{$i}");
                $form->{$campo}->option("precio{$i}", "Precio{$i}");
            }
            $form->{$campo}->style = 'width:150px;';
            $j++;
            $campos .= "+" . "\"&&" . $campo . "=\"+\$(\"#" . $campo . "\").val()";
        }
        //echo $campos;
        $form->cols = new inputField("", "cols");
        $form->cols->insertValue = implode(',', $cols);
        $form->cols->type = 'hidden';
        $form->dir = new inputField("", "dir");
        $form->dir->insertValue = $dir;
        $form->dir->type = 'hidden';
        //$form->submit("btnsubmit","Actualizar");
        $link = site_url('supervisor/subexls/actualiza');
        $script = '
		function actu(){
			a=confirm("�Esta Seguro que de desea Actualizar el Inventario ?");
			if(a){
				 $.ajax({
				 type: "POST",
				 processData:false,
					url: "' . $link . '",
					data: "' . $campos . ',
					success: function(msg){
						if(msg=="s.i"){
							alert("El Inventario fue Actualizado.");
						}
						else{
							alert(msg);
						}
					}
				});
			}
		}
		';
        $form->script($script);
        $form->button("actualiza", "Actualizar", "javascript:actu();");
        $form->build_form();
        $grid->build();
        $data2['content'] = $form->output . $salida . $grid->output;
    }
Ejemplo n.º 14
0
    function filtro()
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        $sinv = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'descrip'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'descrip'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Articulo');
        $iboton = $this->datasis->modbus($sinv);
        if ($this->uri->segment(4)) {
            $codigo = $this->uri->segment(4);
        } elseif (isset($_POST['codigo'])) {
            $codigo = $_POST['codigo'];
        }
        if (empty($codigo)) {
            $codigo = $this->datasis->dameval("SELECT codigo FROM sinv");
        }
        if ($this->uri->segment(5)) {
            $mes = $this->uri->segment(5);
        } elseif (isset($_POST['mes'])) {
            $mes = $_POST['mes'];
        } else {
            $mes = date('m');
        }
        if ($this->uri->segment(6)) {
            $anio = $this->uri->segment(6);
        } elseif (isset($_POST['anio'])) {
            $anio = $_POST['anio'];
        } else {
            $anio = date('Y');
        }
        $script = '
			$(function() {
				$(".inputnum").numeric(".");
			});
			';
        $fechad = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01';
        $fechah = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31';
        $filter = new DataForm('ventas/mensuales');
        $filter->attributes = array('onsubmit' => "this.action='index/'+this.form.mes.value+'/'+this.form.anio.value+'/';return FALSE;");
        $filter->title('Filtro de Ventas por Existencias');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->mes = new dropdownField("Mes/A&ntilde;o", "mes");
        for ($i = 1; $i < 13; $i++) {
            $filter->mes->option(str_pad($i, 2, '0', STR_PAD_LEFT), str_pad($i, 2, '0', STR_PAD_LEFT));
        }
        $filter->mes->size = 2;
        $filter->mes->style = '';
        $filter->mes->insertValue = $mes;
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->in = 'mes';
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->codigo = new inputField("C&oacute;digo", "codigo");
        $filter->codigo->size = 15;
        $filter->codigo->append($iboton);
        $filter->codigo->insertValue = $codigo;
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('inventario/gproductos/filtro/'), array('codigo', 'mes', 'anio')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("fecha", "codigo", "sum(cantidad) cantidad", "IF(sum(cantidad)<=salcant,sum(cantidad),salcant)*(salcant>0)as salcant");
        $grid->db->select($select);
        $grid->db->from("costos");
        $grid->db->where('codigo', $coigo);
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->where('origen', '3I');
        $grid->db->groupby("fecha");
        $grid->db->orderby("fecha");
        $grid->db->having("cantidad>0");
        $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", 'align=center');
        $grid->column("Ventas", "cantidad", 'align=center');
        $grid->column("Existencias", "salcant", 'align=center');
        //$grid->totalizar('grantotal');
        $grid->build();
        //echo $grid->db->last_query();
        $grafico = open_flash_chart_object(680, 450, site_url("inventario/gproductos/grafico/{$codigo}/{$mes}/{$anio}/"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Ventas por Existencias</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 15
0
    function dpto()
    {
        $this->rapyd->load("dataform");
        $campo = 'ccosto' . $this->uri->segment(4);
        $script = '
 		function pasar(){
			if($F("departa")!="-!-"){
				window.opener.document.getElementById("' . $campo . '").value = $F("departa");
				window.close();
			}else{
				alert("Debe elegir un departamento");
			}
		}';
        $form = new DataForm('');
        $form->script($script);
        $form->fdepar = new dropdownField("Departamento", "departa");
        $form->fdepar->option('-!-', 'Seleccion un departamento');
        $form->fdepar->options("SELECT depto,descrip FROM dpto WHERE tipo='G' ORDER BY descrip");
        $form->fdepar->onchange = 'pasar()';
        $form->build_form();
        $data['content'] = $form->output;
        $data["head"] = script('prototype.js') . $this->rapyd->get_head();
        $data['title'] = '<h1>Seleccione un departamento</h1>';
        $this->load->view('view_detalle', $data);
    }
Ejemplo n.º 16
0
    function gserchipros($codbanc = null)
    {
        if (empty($codbanc)) {
            show_error('Faltan parametros');
        }
        $dbcodbanc = $this->db->escape($codbanc);
        $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc;
        $r = $this->datasis->damerow($mSQL);
        if ($r['cana'] == 0) {
            echo heading("Caja {$codbanc} no tiene gastos aprobados, debe primero aprobar algun gasto y luego si puede reponerla");
            return false;
        }
        $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}";
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            $row = $query->row();
            $nombre = $row->nombre;
            $codprv = $row->codprv;
        } else {
            $nombre = $codprv = '';
        }
        $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a';
        $query = $this->db->query($sql);
        $comis = array();
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $ind = '_' . $row->codbanc;
                $comis[$ind]['tbanco'] = $row->tbanco;
            }
        }
        $json_comis = json_encode($comis);
        $this->rapyd->load('dataform', 'datagrid2');
        $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor', 'script' => array('post_modbus()'));
        $bsprv = $this->datasis->modbus($modbus);
        $script = 'var comis = ' . $json_comis . ';

		$(document).ready(function() {
			desactivacampo("");
			$("#codprv").autocomplete({
				source: function( req, add){
					$.ajax({
						url:  "' . site_url('ajax/buscasprv') . '",
						type: "POST",
						dataType: "json",
						data: {"q":req.term},
						success:
							function(data){
								var sugiere = [];
								if(data.length==0){
									$("#nombre").val("");
									$("#nombre_val").text("");
									$("#codprv").val("");
								}else{
									$.each(data,
										function(i, val){
											sugiere.push( val );
										}
									);
								}
								add(sugiere);
							},
					})
				},
				minLength: 2,
				select: function( event, ui ) {
					$("#codprv").attr("readonly", "readonly");

					$("#nombre").val(ui.item.nombre);
					$("#nombre_val").text(ui.item.nombre);
					$("#codprv").val(ui.item.proveed);

					setTimeout(function(){ $("#codprv").removeAttr("readonly"); }, 1500);
				}
			});

			desactivacampo($("#cargo").val());
		});

		function post_modbus(){
			nombre=$("#nombre").val();
			$("#nombre_val").text(nombre);
		}

		function desactivacampo(codb1){
			if(codb1.length>0 && codb1!="' . $this->mcred . '"){
				eval("tbanco=comis._"+codb1+".tbanco;"  );
				if(tbanco=="CAJ"){
					$("#cheque").attr("disabled","disabled");
					$("#benefi").attr("disabled","disabled");
				}else{
					$("#cheque").removeAttr("disabled");
					$("#benefi").removeAttr("disabled");
				}
			}else{
				$("#cheque").attr("disabled","disabled");
				$("#benefi").attr("disabled","disabled");
			}
		}';
        $pcchi = $this->datasis->damerow("SELECT proveed, nombre FROM sprv WHERE nombre LIKE '%CAJA%CHICA%' LIMIT 1");
        $form = new DataForm($this->url . 'gserchipros/' . $codbanc . '/process');
        $form->title("N&uacute;mero de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b> para la caja ' . $codbanc);
        $form->script($script);
        $form->codprv = new inputField('Proveedor', 'codprv');
        $form->codprv->rule = 'required';
        $form->codprv->insertValue = $codprv;
        $form->codprv->size = 8;
        $form->codprv->append($bsprv);
        $form->codprv->insertValue = empty($pcchi) ? '' : $pcchi['proveed'];
        $form->nombre = new inputField('Nombre', 'nombre');
        $form->nombre->rule = 'required';
        $form->nombre->insertValue = $nombre;
        $form->nombre->in = 'codprv';
        $form->nombre->type = 'inputhidden';
        $form->nombre->insertValue = empty($pcchi) ? '' : $pcchi['nombre'];
        $dbcodban = $this->db->escape($codbanc);
        $form->cargo = new dropdownField('Reponer desde', 'cargo');
        $form->cargo->option('', 'Seleccionar');
        $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND codbanc<>{$dbcodban} ORDER BY codbanc");
        $form->cargo->option($this->mcred, 'CREDITO');
        $form->cargo->onchange = 'desactivacampo(this.value)';
        $form->cargo->rule = 'max_length[5]|required';
        $form->cheque = new inputField('Cheque Numero', 'cheque');
        $form->cheque->rule = 'condi_required|callback_chobligaban';
        //$form->cheque->append('Aplica si es un banco');
        $form->cheque->group = 'Aplica si repone desde un Banco';
        $form->cheque->size = 12;
        $form->benefi = new inputField('Beneficiario', 'benefi');
        $form->benefi->insertValue = $nombre;
        $form->benefi->rule = 'condi_required|callback_chobligaban|strtoupper';
        //$form->benefi->append('Aplica si es un banco');
        $form->benefi->group = $form->cheque->group;
        $form->build_form();
        $grid = new DataGrid2("Lista de facturas aceptadas para pagar de la caja {$codbanc}", 'gserchi');
        $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'descrip', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc');
        $grid->totalizar('totneto', 'totiva');
        $grid->db->select($select);
        $grid->db->where('aceptado', 'S');
        $grid->db->where('ngasto IS NULL');
        $grid->db->where('codbanc', $codbanc);
        $grid->order_by('fechafac', 'desc');
        $grid->per_page = 15;
        //$grid->column('Caja','codbanc');
        $grid->column('N&uacute;mero', 'numfac');
        $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\'');
        $grid->column('Proveedor', 'proveedor');
        $grid->column('Descripci&oacute;n', 'descrip');
        $grid->column('IVA', '<nformat><#totiva#></nformat>', 'align=\'right\'');
        $grid->column('Monto', '<b><nformat><#totneto#></nformat></b>', 'align=\'right\'');
        //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura');
        $grid->build();
        if ($form->on_success()) {
            $codprv = $form->codprv->newValue;
            $cargo = $form->cargo->newValue;
            $nombre = $form->nombre->newValue;
            $benefi = $form->benefi->newValue;
            $cheque = $form->cheque->newValue;
            $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque);
            if ($rt) {
                $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => array('id' => $this->idgser));
                echo json_encode($rt);
            } else {
                $rt = array('status' => 'B', 'mensaje' => 'No se pudo guardar', 'pk' => '');
                echo json_encode($rt);
            }
        } else {
            echo $form->output . $grid->output;
        }
    }
Ejemplo n.º 17
0
    function producto($anio = '', $depto = '', $fami = '', $grupo = '')
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        if ($this->uri->segment(4)) {
            $anio = $this->uri->segment(4);
        } elseif (isset($_POST['anio'])) {
            $anio = $_POST['anio'];
        }
        if (empty($anio)) {
            $anio = date("Y");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $ajax_onchange = '
			function get_familias(){
			  var url = "' . site_url('supermercado/maes/maesfamilias') . '";
			  var pars = "dpto="+$F("depto");
			  var myAjax = new Ajax.Updater("td_familia", url, { method: "post", parameters: pars });
			
			  var url = "' . site_url('supermercado/maes/maesgrupos') . '";
			  var gmyAjax = new Ajax.Updater("td_grupo", url);
			}
			
			function get_grupo(){
			  var url = "' . site_url('supermercado/maes/maesgrupos') . '";
			  var pars = "dpto="+$F("depto")+"&fami="+$F("familia");
			  var myAjax = new Ajax.Updater("td_grupo", url, { method: "post", parameters: pars });
			}';
        $filter = new DataForm('supermercado/tventas/producto');
        $filter->script($ajax_onchange);
        $filter->title('Filtro de ventas por Producto');
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->depto = new dropdownField("Departamento", "depto");
        $filter->depto->options("SELECT depto, descrip FROM dpto GROUP BY depto ORDER BY depto");
        $filter->depto->insertValue = $depto;
        $filter->depto->style = 'width:200px;';
        $filter->fami = new dropdownField("Familia", "familia");
        $filter->fami->options("SELECT familia,descrip FROM fami GROUP BY familia ORDER BY familia");
        $filter->fami->insertValue = $fami;
        $filter->fami->style = 'width:200px;';
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->options("SELECT grupo,nom_grup FROM grup GROUP BY grupo ORDER BY grupo");
        $filter->grupo->insertValue = $grupo;
        $filter->grupo->style = 'width:200px;';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('supermercado/tventas/producto'), array('anio', 'depto', 'familia', 'grupo')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("a.depto", "a.familia", "a.grupo", "b.descrip", "SUM(a.monto) AS grantotal", "SUM(a.costo) AS costo", "SUM(a.cantidad) AS cantidad", "SUM(a.monto)-SUM(a.costo) AS ganancia", "(SUM(a.monto)-SUM(a.costo))*100/SUM(a.monto) AS pganancia");
        $grid->db->select($select);
        $grid->db->from("est_item AS a");
        $grid->db->join("maes AS b", "a.codigo=b.codigo");
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->where('a.depto', $depto);
        $grid->db->where('a.familia', $fami);
        $grid->db->where('a.grupo', $grupo);
        $grid->db->groupby("a.codigo");
        //$grid->db->limit=10;
        $grid->column("Producto", "descrip", "align='left'");
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Ganancia", "<number_format><#ganancia#>|2|,|.</number_format>", 'align=right');
        $grid->column("% Ganancia", "<number_format><#pganancia#>|2|,|.</number_format> %", 'align=right');
        $grid->column("Cantidad", "cantidad", "align='right'");
        $grid->totalizar('grantotal', 'ganancia');
        $grid->build();
        //echo $grid->db->last_query();
        $grafico = open_flash_chart_object(720, 450, site_url("supermercado/tventas/gproducto/{$anio}/{$depto}/{$fami}/{$grupo}"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = $this->rapyd->get_head();
        $data['title'] = "<h1>Ventas por Producto</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 18
0
    function index()
    {
        $this->rapyd->load('dataform');
        $form = new DataForm('nomina/prenom/index/process');
        $script = '
		$(function() {
			$("#fechac").datepicker({dateFormat:"dd/mm/yy"});
			$("#fechap").datepicker({dateFormat:"dd/mm/yy"});
		});
		';
        $form->script($script, 'modify');
        $form->script($script, 'create');
        $form->contrato = new dropdownField('Contrato', 'contrato');
        $form->contrato->option('', 'Seleccionar');
        $form->contrato->options("SELECT codigo, concat(codigo,' ',nombre) nombre FROM noco ORDER BY nombre");
        $form->contrato->rule = 'required';
        $form->fechac = new dateonlyField('Fecha de corte', 'fechac');
        $form->fechac->rule = 'required|chfecha';
        $form->fechac->insertValue = date('Y-m-d');
        $form->fechac->size = 12;
        $form->fechac->calendar = false;
        $form->fechap = new dateonlyField('Fecha de pago', 'fechap');
        $form->fechap->rule = 'required|chfecha';
        $form->fechap->insertValue = date('Y-m-d');
        $form->fechap->size = 12;
        $form->fechap->calendar = false;
        $form->build_form();
        if ($form->on_success()) {
            $this->load->dbforge();
            $prenom = 'prenom';
            $pretab = 'pretab';
            $contrato = $form->contrato->newValue;
            $fechap = $form->fechap->newValue;
            $fechac = $form->fechac->newValue;
            $date = DateTime::createFromFormat('Ymd', $fechac);
            $ultdia = intval(days_in_month(substr($fechac, 4, 2), substr($fechac, 0, 4)));
            $dia = intval(substr($fechac, 6, 2));
            $dbcont = $this->db->escape($contrato);
            $tipo = $this->datasis->dameval('SELECT tipo FROM noco WHERE codigo=' . $dbcont);
            if ($tipo == 'Q') {
                if ($dia != $ultdia || $dia != 15) {
                    if ($dia < 15) {
                        $fechac = substr($fechac, 0, 6) . '15';
                    } else {
                        $fechac = substr($fechac, 0, 6) . $ultdia;
                    }
                }
            } elseif ($tipo == 'M') {
                if ($dia != $ultdia) {
                    $fechac = substr($fechac, 0, 6) . $ultdia;
                }
            } elseif ($tipo == 'S') {
                //Fecha - 7
                $date->sub(new DateInterval('P7D'));
                $fechac = $date->format('Ymd');
            } elseif ($tipo == 'S') {
                //Fecha -14
                $date->sub(new DateInterval('P14D'));
                $fechac = $date->format('Ymd');
            } else {
            }
            $this->_creaprenom($contrato, $fechac, $fechap, true);
            $this->_creapretab();
            // Crea Pretabla
            $this->calcuto();
            // Calcula todos
            echo "Crea los 2 {$contrato}, {$fechac}, {$fechap}";
        } else {
            echo $form->output;
        }
    }
Ejemplo n.º 19
0
    function datapar()
    {
        $this->rapyd->load('dataform');
        $this->genesal = false;
        $script = '
		function totaliza(){
			var preca  = Number($("#ttpreca_0").val());
			var preca2 = Number($("#ttpreca_1").val());
			var thora  = $("#horaentrada").val();
			var iva    = Number($("#ttiva").val());
			var t      = thora.split(":");
			var d      = new Date();
			var total  = 0;

			var hentra = Number(t[0]);
			var mentra = Number(t[1]);
			var mmentr = hentra*60+mentra;

			var hactual = d.getHours();
			var mactual = d.getMinutes();
			var mmactua = hactual*60+mactual;

			var diff = mmactua-mmentr;
			var cana = Math.floor(diff/60);
			var dminu= diff-cana*60

			//var cana = hactual-hentra;
			var fraci= 0;

			//var dminu = mactual- mentra;
			if(dminu >0 && dminu <=30){
				fraci = 1;
			}else if(dminu > 30){
				cana = cana+1;
			}
			if(cana ==0 && fraci ==1){
				cana = 1;
				fraci= 0;
			}

			$("#ttcana_0").val(cana);
			$("#ttcana_1").val(fraci);
			total = total+(cana*preca);
			total = total+(fraci*preca2);
			$("#total").text(nformat(total*(1+(iva/100)),2));
		}

		function tarifa(){
			 buscapreca();
			 totaliza();
		}

		function buscapreca(){
			var codigo = $("#ttcodigoa_0").val();
			var tarifa = JSON.parse($.ajax({ type: "POST", url: "' . site_url('ajax/buscaprecio1') . '/", data: {q : codigo} ,dataType: "json",async: false }).responseText);

			$("#ttpreca_0").val(tarifa[0]);
			$("#ttpreca_1").val(tarifa[1]);
			$("#ttiva").val(tarifa[2]);
		}

		$(function() {
			$("#horaentrada").mask("99:99");
			$("#horaentrada").keyup(function(e) {
				totaliza();
			});

			//$("#horaentrada").timepicker({
			//	timeFormat: "hh:mm",
			//	onClose: function(dateText, inst){
			//		totaliza();
			//	},
			//	onSelect: function(selectedDateTime){
			//		tarifa();
			//	}
			//});
			tarifa();

			//tab enter
			$("#placa,#ttcodigoa_0,#ttcana_0,#ttcana_1,#ttpreca_0,#ttpreca_1").keydown( function(e) {
				var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
				if(key == 13) {
					e.preventDefault();
					var inputs = $(this).closest("form").find(":input:visible").not("#ttcodigoa_0,#ttcana_0,#ttcana_1,#ttpreca_0,#ttpreca_1");
					inputs.eq(inputs.index(this)+1).focus();
				}
			});
			$("#horaentrada,#ttcodigoa_0,#ttcana_0,#ttcana_1,#ttpreca_0,#ttpreca_1").keydown( function(e) {
				var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
				if(key == 13) {
					$(":button:contains(\'Guardar\')").click();
				}
			});
		});
		';
        $tisize = '1.6';
        $form = new DataForm($this->url . 'datapar/insert');
        $form->script($script);
        $form->placa = new inputField('<span style="font-size:' . $tisize . 'em">Placa</span>', 'placa');
        $form->placa->rule = 'trim|strtoupper|max_length[20]|callback_chplaca';
        $form->placa->size = 10;
        $form->placa->maxlength = 7;
        $form->placa->style = 'font-size: 3em;font-weight:bold;';
        $form->placa->tabindex = '1';
        $form->horaentrada = new inputField('<span style="font-size:' . $tisize . 'em">Hora de entrada</span>', 'horaentrada');
        $form->horaentrada->rule = 'required|hora';
        $form->horaentrada->tabindex = '2';
        $form->horaentrada->size = 10;
        $form->horaentrada->maxlength = 5;
        $form->horaentrada->style = 'font-size: 3em;font-weight:bold;';
        $form->horaentrada->insertValue = date('H:i', mktime(date('H') - 1, date('i')));
        $form->cana = new inputField('Cantidad', 'ttcana_0');
        $form->cana->rule = 'required|numeric';
        $form->cana->size = 4;
        $form->cana->css_class = 'inputnum';
        $form->cana->onkeyup = 'tarifa()';
        $form->cana->maxlength = 5;
        $form->cana2 = new inputField('fraccion', 'ttcana_1');
        $form->cana2->rule = 'required|numeric';
        $form->cana2->size = 3;
        $form->cana2->css_class = 'inputnum';
        $form->cana2->in = 'cana';
        $form->cana2->onkeyup = 'tarifa()';
        $form->cana2->maxlength = 5;
        $form->cana2->tabindex = '3';
        $form->codigo = new dropdownField('<span style="font-size:' . $tisize . 'em">Tipo veh&iacute;culo</span>', 'ttcodigoa_0');
        //$form->codigo->option('','Seleccionar');
        $form->codigo->options('SELECT codigo,CONCAT_WS("-",descrip,precio1) AS val FROM sinv WHERE clave LIKE "TARIFA%" AND tipo="Servicio"');
        $form->codigo->style = 'width:140px;';
        $form->codigo->onchange = 'tarifa()';
        $form->codigo->rule = 'required';
        $form->preca = new inputField('Tarifa', 'ttpreca_0');
        $form->preca->rule = 'required|mayorcero';
        $form->preca->size = 5;
        $form->preca->maxlength = 7;
        $form->preca2 = new inputField('fraccion', 'ttpreca_1');
        $form->preca2->rule = 'required|mayorcero';
        $form->preca2->size = 5;
        $form->preca2->maxlength = 5;
        $form->preca2->in = 'preca';
        $form->iva = new hiddenField('', 'ttiva');
        $form->iva->rule = 'required|mayorcero';
        $form->iva->in = 'preca';
        $form->total = new freeField('<span style="font-size:' . $tisize . 'em">Monto a pagar</span>', 'total', '<span style="font-size:3em;" id="total">0,00</span>');
        $form->build_form();
        if ($form->on_success()) {
            $monto = 0;
            $placa = trim($form->placa->newValue);
            $cana = $form->cana->newValue;
            $cana2 = $form->cana2->newValue;
            $preca = $form->preca->newValue;
            $preca2 = $form->preca2->newValue;
            $codigo = $form->codigo->newValue;
            $sinvr = $this->datasis->damereg("SELECT descrip,iva,tipo FROM sinv WHERE codigo = " . $this->db->escape($codigo));
            //Encabezado
            $_POST['pfac'] = '';
            $_POST['fecha'] = date('d/m/Y');
            $_POST['cajero'] = $this->secu->getcajero();
            $_POST['vd'] = $this->secu->getvendedor();
            $_POST['almacen'] = $this->secu->getalmacen();
            $_POST['tipo_doc'] = 'F';
            $_POST['factura'] = '';
            $_POST['cod_cli'] = 'CONTA';
            $_POST['sclitipo'] = '1';
            $_POST['nombre'] = 'CLIENTE CONTADO';
            $_POST['rifci'] = 'V000000';
            $_POST['direc'] = '';
            unset($_POST['iva']);
            //Items
            $id = 0;
            if ($cana > 0) {
                $tota = $cana * $preca;
                $ind = 'codigoa_' . $id;
                $_POST[$ind] = $codigo;
                $ind = 'desca_' . $id;
                $_POST[$ind] = $sinvr['descrip'];
                $ind = 'cana_' . $id;
                $_POST[$ind] = $cana;
                $ind = 'preca_' . $id;
                $_POST[$ind] = $preca;
                $ind = 'tota_' . $id;
                $_POST[$ind] = $tota;
                $ind = 'precio1_' . $id;
                $_POST[$ind] = 0;
                $ind = 'precio2_' . $id;
                $_POST[$ind] = 0;
                $ind = 'precio3_' . $id;
                $_POST[$ind] = 0;
                $ind = 'precio4_' . $id;
                $_POST[$ind] = 0;
                $ind = 'itiva_' . $id;
                $_POST[$ind] = round($sinvr['iva'], 2);
                $ind = 'sinvpeso_' . $id;
                $_POST[$ind] = 0;
                $ind = 'sinvtipo_' . $id;
                $_POST[$ind] = $sinvr['tipo'];
                $monto += $tota;
            } else {
                $ind = 'codigoa_' . $id;
                unset($_POST[$ind]);
                $ind = 'desca_' . $id;
                unset($_POST[$ind]);
                $ind = 'cana_' . $id;
                unset($_POST[$ind]);
                $ind = 'preca_' . $id;
                unset($_POST[$ind]);
                $ind = 'tota_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio1_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio2_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio3_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio4_' . $id;
                unset($_POST[$ind]);
                $ind = 'itiva_' . $id;
                unset($_POST[$ind]);
                $ind = 'sinvpeso_' . $id;
                unset($_POST[$ind]);
                $ind = 'sinvtipo_' . $id;
                unset($_POST[$ind]);
            }
            $id++;
            if ($cana2 > 0) {
                $tota = $cana2 * $preca2;
                $ind = 'codigoa_' . $id;
                $_POST[$ind] = $codigo;
                $ind = 'desca_' . $id;
                $_POST[$ind] = $sinvr['descrip'];
                $ind = 'cana_' . $id;
                $_POST[$ind] = $cana2;
                $ind = 'preca_' . $id;
                $_POST[$ind] = $preca2;
                $ind = 'tota_' . $id;
                $_POST[$ind] = $tota;
                $ind = 'precio1_' . $id;
                $_POST[$ind] = 0;
                $ind = 'precio2_' . $id;
                $_POST[$ind] = 0;
                $ind = 'precio3_' . $id;
                $_POST[$ind] = 0;
                $ind = 'precio4_' . $id;
                $_POST[$ind] = 0;
                $ind = 'itiva_' . $id;
                $_POST[$ind] = round($sinvr['iva'], 2);
                $ind = 'sinvpeso_' . $id;
                $_POST[$ind] = 0;
                $ind = 'sinvtipo_' . $id;
                $_POST[$ind] = $sinvr['tipo'];
                $monto += $tota;
            } else {
                $ind = 'codigoa_' . $id;
                unset($_POST[$ind]);
                $ind = 'desca_' . $id;
                unset($_POST[$ind]);
                $ind = 'cana_' . $id;
                unset($_POST[$ind]);
                $ind = 'preca_' . $id;
                unset($_POST[$ind]);
                $ind = 'tota_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio1_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio2_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio3_' . $id;
                unset($_POST[$ind]);
                $ind = 'precio4_' . $id;
                unset($_POST[$ind]);
                $ind = 'itiva_' . $id;
                unset($_POST[$ind]);
                $ind = 'sinvpeso_' . $id;
                unset($_POST[$ind]);
                $ind = 'sinvtipo_' . $id;
                unset($_POST[$ind]);
            }
            if (!empty($placa)) {
                if (isset($_POST['codigoa_1'])) {
                    $ind = 'detalle_1';
                    $_POST[$ind] = 'ESTACIONAMIENTO PLACA ' . $placa;
                } else {
                    $ind = 'detalle_0';
                    $_POST[$ind] = 'ESTACIONAMIENTO PLACA ' . $placa;
                }
            }
            //Forma de pago
            $_POST['tipo_0'] = 'EF';
            $_POST['sfpafecha_0'] = '';
            $_POST['num_ref_0'] = '';
            $_POST['banco_0'] = '';
            $_POST['monto_0'] = $monto * (1 + $sinvr['iva'] / 100);
            if ($monto <= 0) {
                $rt = array('status' => 'B', 'mensaje' => 'Monto cero', 'pk' => null);
                echo json_encode($rt);
            }
            ob_start();
            parent::dataedit();
            $rt = ob_get_contents();
            @ob_end_clean();
            echo $rt;
        } else {
            echo $form->output;
        }
        if ($form->on_error()) {
        }
    }
Ejemplo n.º 20
0
    function selsprv()
    {
        $this->rapyd->load('dataform');
        $apanpuede = $this->datasis->sidapuede('APAN', 'INCLUIR%');
        $script = "\n\t\t\$('#df1').keypress(function(e){\n\t\t\tif(e.which == 13) return false;\n\t\t});\n\n\t\t\$('#cod_prv').autocomplete({\n\t\t\tsource: function( req, add){\n\t\t\t\t\$.ajax({\n\t\t\t\t\turl:  '" . site_url('ajax/buscasprv') . "',\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tdata: {'q':req.term},\n\t\t\t\t\tsuccess:\n\t\t\t\t\t\tfunction(data){\n\t\t\t\t\t\t\tvar sugiere = [];\n\t\t\t\t\t\t\tif(data.length==0){\n\t\t\t\t\t\t\t\t\$('#id_sprv').val('');\n\n\t\t\t\t\t\t\t\t\$('#nombre').val('');\n\t\t\t\t\t\t\t\t\$('#nombre_val').text('');\n\n\t\t\t\t\t\t\t\t\$('#rifci').val('');\n\t\t\t\t\t\t\t\t\$('#rifci_val').text('');\n\n\t\t\t\t\t\t\t\t\$('#direc').val('');\n\t\t\t\t\t\t\t\t\$('#direc_val').text('');\n\n\t\t\t\t\t\t\t\t\$('#saldo_val').text('');\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tif(data[0].proveed==\$('#cod_prv').val()){\n\t\t\t\t\t\t\t\t\t\$('#cod_prv').data('ui-autocomplete')._trigger('select', 'autocompleteselect', {item : data[0]});\n\t\t\t\t\t\t\t\t\t\$('#cod_prv').autocomplete('close');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\$.each(data,\n\t\t\t\t\t\t\t\t\tfunction(i, val){\n\t\t\t\t\t\t\t\t\t\tsugiere.push( val );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tadd(sugiere);\n\t\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t\tminLength: 2,\n\t\t\tselect: function( event, ui ) {\n\t\t\t\t\$('#cod_prv').attr('readonly', 'readonly');\n\n\t\t\t\t\$('#id_sprv').val(ui.item.id);\n\n\t\t\t\t\$('#nombre').val(ui.item.nombre);\n\t\t\t\t\$('#nombre_val').text(ui.item.nombre);\n\n\t\t\t\t\$('#rifci').val(ui.item.rif);\n\t\t\t\t\$('#rifci_val').text(ui.item.rif);\n\n\t\t\t\t\$('#cod_prv').val(ui.item.proveed);\n\n\t\t\t\t\$('#direc').val(ui.item.direc);\n\t\t\t\t\$('#direc_val').text(ui.item.direc);\n\t\t\t\tsetTimeout(function() {  \$('#cod_prv').removeAttr('readonly'); }, 1500);\n\n\t\t\t\tvar saldo= jQuery.parseJSON(\$.ajax({ type: 'POST',dataType: 'json', url: '" . site_url($this->url . 'ajaxsaldo') . "/'+ui.item.id, async: false, data: {cod_prv: ui.item.proveed}}).responseText);\n\n\t\t\t\t\$('#saldo_val').text(nformat(saldo.debe,2));\n\n\t\t\t\t\$('#haber_val').text(nformat(saldo.haber,2));";
        if ($apanpuede) {
            $script .= "if(saldo.haber > 0){ \$('#info').html('El proveedor presenta AN/NC pendiente por <a href=\\'#\\' onclick=\\'aplcli()\\'>aplicar</a>'); }";
        } else {
            $script .= "if(saldo.haber > 0){ \$('#info').html('El proveedor presenta AN/NC pendiente por aplicar'); }";
        }
        $script .= "} });";
        $form = new DataForm($this->url . 'sclise/process');
        $form->proveed = new inputField('Proveedor', 'cod_prv');
        $form->id = new hiddenField('', 'id_sprv');
        $form->id->in = 'proveed';
        $form->nombre = new freeField('Nombre', 'nombre', '<b id=\'nombre_val\'></b>');
        $form->rif = new freeField('RIF', 'rif', '<b id=\'rifci_val\'></b>');
        $form->direc = new freeField('Direcci&oacute;n', 'direc', '<b id=\'direc_val\'></b>');
        $form->haber = new freeField('Monto aplicable', 'aplsando', '<b style="font-size:1em;color:#04B404;" id=\'haber_val\'></b>');
        $form->saldo = new freeField('Saldo', 'saldo', '<b style="font-size:2em" id=\'saldo_val\'></b>');
        $form->container = new containerField('info', '<div style="text-align:center" id="info"></div>');
        if ($apanpuede) {
            $script .= '
			function aplcli(){
				$.post("' . site_url('finanzas/apan/deproveed/create') . '",
				function(data){
					$("#fedita").dialog( {height: 500, width: 750, title: "Aplicacion de Anticipo a Proveedor"} );
					$("#fedita").html(data);
					$("#fedita").dialog( "open" );

					var cod_prv = $("#cod_prv").val();
					$("#clipro").val(cod_prv);
					$("#clipro").val(cod_prv);
					$("#clipro").focus();
					$("#clipro").autocomplete("search", cod_prv);

					$("#fsprvsel").dialog( "close" );
				});
			};';
        }
        $form->script($script);
        $form->build_form();
        echo $form->output;
    }
Ejemplo n.º 21
0
    function producto($anio = '', $departamento = '', $linea = '', $grupo = '')
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        rapydlib("prototype");
        $ajax_onchange = '
	  function get_linea(){
	    var url = "' . site_url('reportes/sinvlineas') . '";
	    var pars = "dpto="+$F("depto");
	    var myAjax = new Ajax.Updater("td_linea", url, { method: "post", parameters: pars });
	    get_grupo();
	  }
	  function get_grupo(){
	    var url = "' . site_url('reportes/sinvgrupos') . '";
	    var pars = "dpto="+$F("depto")+"&linea="+$F("linea");
	    var myAjax = new Ajax.Updater("td_grupo", url, { method: "post", parameters: pars });
	  }
	  ';
        if (isset($_POST['anio']) and empty($anio)) {
            $anio = $_POST['anio'];
        }
        if (isset($_POST['depto']) and empty($departamento)) {
            $departamento = $_POST['depto'];
        }
        if (isset($_POST['linea']) and empty($linea)) {
            $linea = $_POST['linea'];
        }
        if (isset($_POST['grupo']) and empty($grupo)) {
            $grupo = $_POST['grupo'];
        }
        if (empty($anio) or empty($departamento)) {
            redirect("ventas/ganancias/departamento");
        }
        if (empty($linea)) {
            redirect("ventas/ganancias/linea/{$anio}/{$departamento}");
        }
        if (empty($grupo)) {
            redirect("ventas/ganancias/grupo/{$anio}/{$departamento}/{$linea}");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $filter = new DataForm('ventas/ganancias/producto');
        $filter->script($ajax_onchange);
        $filter->title('Filtro de Ganancias');
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->rule = "max_length[4]";
        $filter->anio->maxlength = 4;
        $filter->departamento = new dropdownField("Departamento", "depto");
        $filter->departamento->insertValue = $departamento;
        $filter->departamento->options("SELECT depto, descrip FROM dpto WHERE tipo='I' ORDER BY depto");
        $filter->departamento->onchange = "get_linea();";
        $filter->linea = new dropdownField("Linea", "linea");
        $filter->linea->insertValue = $linea;
        $filter->linea->options("SELECT linea, descrip FROM line WHERE depto='{$departamento}'");
        $filter->linea->onchange = "get_grupo();";
        $filter->grupo = new dropdownField("Grupo", "grupo");
        $filter->grupo->insertValue = $grupo;
        $filter->grupo->options("SELECT grupo, nom_grup FROM grup WHERE depto='{$departamento}' AND linea='{$linea}'");
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/ganancias/producto/'), array('anio', 'depto', 'linea', 'grupo')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("a.fecha", "b.codigo", "b.descrip AS nombre", "e.depto", "e.descrip", "d.linea", "d.descrip", "b.grupo", "b.descrip", "c.nom_grup as ngrupo", "SUM(a.promedio*a.cantidad) AS costo", "SUM(a.venta) AS ventas", "SUM(a.venta)/COUNT(*)AS porcentaje", "SUM(a.venta)-SUM(a.promedio*a.cantidad) AS ganancias", "COUNT(*) AS numfac");
        $grid->db->select($select);
        $grid->db->from($this->from);
        foreach ($this->join as $valor) {
            $grid->db->join($valor[0], $valor[1], $valor[2]);
        }
        $grid->db->where("a.origen IN ('3I','3M')");
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->where('e.depto', $departamento);
        $grid->db->where('b.grupo', $grupo);
        $grid->db->groupby("a.codigo");
        $grid->db->orderby("ganancias DESC");
        $grid->column("Producto", "nombre", "align='left'");
        $grid->column("Costo", "<number_format><#costo#>|2|,|.</number_format>", 'align=right');
        $grid->column("Ventas", "<number_format><#ventas#>|2|,|.</number_format>", 'align=right');
        $grid->column("Ganancias", "<number_format><#ganancias#>|2|,|.</number_format>", 'align=right');
        $grid->column("% Ventas", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant. Fact", "numfac", 'align=right');
        $grid->totalizar('costo', 'ganancias', 'ventas');
        $grid->build();
        $grafico = open_flash_chart_object(680, 500, site_url("ventas/ganancias/gproducto/{$anio}/{$departamento}/{$linea}/{$grupo}"));
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Ganancias por Producto</h1>";
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 22
0
    function index()
    {
        $this->rapyd->load("datagrid", "dataform");
        $this->load->helper('openflash');
        $anio = $this->uri->segment(4);
        if (empty($anio)) {
            $anio = date("Y");
        }
        $script = '
			$(function() {
				$(".inputnum").numeric(".");
			});
			$("#df1").submit(function() {
					valor=$("#anio").attr("value");
					location.href="' . site_url('ventas/analisis/index') . '/"+valor;
					return false;
				});
			';
        function blanco($num)
        {
            if (empty($num) || $num == 0) {
                return '';
            } else {
                return number_format($num, 2, ',', '.');
            }
        }
        // Katy Oviedo
        //$data['lista'] = open_flash_chart_object(800,300, site_url("ventas/mensuales/grafico/$mes/$anio"));
        $filter = new DataForm();
        $filter->title('Filtro de An&aacute;lisis ventas');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        //$filter->anio = new dropdownField("A&ntilde;o", "anio");
        //$filter->anio->option("hola","df");
        //$filter->anio->options('SELECT YEAR(fecha),YEAR(fecha) AS fecha2 FROM eventas GROUP BY fecha2');
        //$filter->anio->style='width:80px;';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('/ventas/analisis/index'), array('anio')), $position = "BL");
        $filter->build_form();
        $link = "ventas/analisis/departamento/<#depto#>/{$anio}";
        $select = array('IFNULL(e.descrip, e.depto) dpto', 'e.depto');
        //, a.linea, a.grupo, a.codigo
        $grid = new DataGrid('Ventas por Departamentos');
        $grid->use_function('blanco');
        $grid->use_function('number_format');
        $grid->column("Departamento", anchor($link, '<#dpto#>'), 'nowrap=yes');
        for ($i = 1; $i <= 12; $i++) {
            $nmes = $this->calendar->get_month_name(str_pad($i, 2, "0", STR_PAD_LEFT));
            $grid->column($nmes, "<blanco><#m{$i}#>|2|,|.</blanco>", 'align=right');
            $select[] = "sum(a.tota*(month(a.fecha)={$i}))  AS m{$i}";
        }
        $grid->db->select($select);
        $grid->db->from('sfac AS f');
        $grid->db->join('sitems AS a', 'f.numero=a.numa AND f.tipo_doc=a.tipoa AND f.fecha=a.fecha', 'LEFT');
        $grid->db->join('sinv AS b', 'a.codigoa=b.codigo', 'LEFT');
        $grid->db->join('grup AS c', 'b.grupo=c.grupo', 'LEFT');
        $grid->db->join('line AS d', 'c.linea=d.linea', 'LEFT');
        $grid->db->join('dpto AS e', 'd.depto=e.depto', 'LEFT');
        $grid->db->where('YEAR(f.fecha)', $anio);
        $grid->db->where("f.tipo_doc <>", 'X');
        $grid->db->groupby('EXTRACT(YEAR_MONTH FROM f.fecha)');
        $grid->build();
        echo $grid->db->last_query();
        $data['content'] = $filter->output . '<div style="overflow: auto; width: 100%;">' . $grid->output . '</div>';
        $data['title'] = "<h1>An&aacute;lisis de ventas</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);
    }
Ejemplo n.º 23
0
    function movimientos()
    {
        $this->rapyd->load("dataform", "datagrid2");
        if (isset($_POST['fechad']) && $_POST['fechad'] != '') {
            $fechad = $_POST['fechad'];
        } else {
            $fechad = date("Y/m/d");
            $date = new DateTime();
            $date->setDate(substr($fechad, 0, 4), substr($fechad, 5, 2), substr($fechad, 8, 2));
            $date->modify("-6 month");
            $fechad = $date->format("Y/n/j");
        }
        if (isset($_POST['fechah']) && $_POST['fechah'] != '') {
            $fechah = $_POST['fechah'];
        } else {
            $fechah = date("Y/m/d");
        }
        if (isset($_POST['cod'])) {
            $cod = $_POST['cod'];
        } elseif ($cod = $this->uri->segment(4)) {
        } else {
            redirect("finanzas/analisisbanc");
        }
        if (isset($_POST['campo'])) {
            $campo = $_POST['campo'];
        } else {
            $campo = '';
        }
        if (isset($_POST['oper'])) {
            $oper = $_POST['oper'];
            if ($oper != '') {
                $valor = $oper;
            }
        }
        if (isset($_POST['valor'])) {
            $valor = $_POST['valor'];
            if ($valor == '') {
                if (isset($_POST['oper'])) {
                    $oper = $_POST['oper'];
                    if ($oper != '') {
                        $valor = $oper;
                    } else {
                        $campo = '';
                    }
                }
            }
        } else {
            $campo = '';
        }
        if (isset($_POST['oper'])) {
            $oper = $_POST['oper'];
            if ($oper != '') {
                $valor = $oper;
            }
        }
        if (isset($_POST['orden'])) {
            $orden = $_POST['orden'];
            if ($orden == '') {
                $orden = 'fecha';
            }
        } else {
            $orden = 'fecha';
        }
        if (isset($_POST['desc'])) {
            $desc = $_POST['desc'];
            if ($desc == '') {
                $desc = 'asc';
            }
            if ($desc == '0') {
                $desc = 'asc';
            }
            if ($desc == '1') {
                $desc = 'desc';
            }
        } else {
            $desc = 'asc';
        }
        $cod = $this->uri->segment(4);
        $ano = $this->uri->segment(5);
        $mes = $this->uri->segment(6);
        if ($cod == 'process') {
            if (isset($_POST['cod'])) {
                $cod = $_POST['cod'];
            } else {
                $cod = '|!';
                $ano = '';
                $mes = '';
            }
        } else {
            if (!empty($ano) && !empty($mes)) {
                for ($dia = 28; $dia <= 31; $dia++) {
                    if (checkdate($mes, $dia, $ano)) {
                        $mes = str_pad($mes, 2, '0', STR_PAD_LEFT);
                        $fechah = "{$ano}/{$mes}/{$dia}";
                    }
                }
                $fechad = "{$ano}/{$mes}/01";
            }
        }
        //echo $cod.'/'.$ano.'/'.$mes;
        //echo $fechad."---".$fechah;
        $script = '		
		function filtro(){
			$("#tr_valor").hide();
			$("#tr_oper").hide();
			campo=$("#campo").val();
			valor.value="";
			if(campo.length>0){
				if(campo=="tipo_op"){
					$("#tr_oper").show();
				}else{
					$("#tr_valor").show();
				}
			}
		}
		$(document).ready(function(){
				$("#tr_cod").hide();
				$(".inputnum").numeric(".");
				$("#campo").change(function () { filtro(); }).change();
			});
			';
        $filter = new DataForm("finanzas/analisisbanc/movimientos/process");
        $filter->title('Filtro de Caja y Bancos');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->fechad = new dateonlyField("Desde", "fechad", 'm/Y');
        $filter->fechah = new dateonlyField("Hasta", "fechah", 'm/Y');
        $filter->fechad->clause = $filter->fechah->clause = "where";
        $filter->fechad->db_name = $filter->fechah->db_name = "fecha";
        $filter->fechad->insertValue = $fechad;
        $filter->fechah->insertValue = $fechah;
        $filter->fechah->size = $filter->fechad->size = 10;
        $filter->fechad->operator = ">=";
        $filter->fechah->operator = "<=";
        $filter->cod = new inputField("", "cod");
        $filter->cod->insertValue = $cod;
        $filter->cod->readonly = TRUE;
        $filter->cod->type = 'hidden';
        $filter->campo = new dropdownField("Filtrar por:", "campo");
        $filter->campo->option("", "");
        $filter->campo->option("numero", "Numero");
        $filter->campo->option("tipo_op", "Tipo Operaci&oacute;n");
        $filter->campo->option("benefi", "Beneficiario");
        $filter->campo->style = 'width:150px;';
        $filter->oper = new dropdownField("Tipo:", "oper");
        $filter->oper->option("", "");
        $filter->oper->option('CH', "Cheque");
        $filter->oper->option('DE', "Deposito");
        $filter->oper->option('NC', "Nota de Cr&eacute;dito");
        $filter->oper->option('ND', "Nota de D&eacute;bito");
        $filter->oper->style = 'width:150px;';
        $filter->valor = new inputField("", "valor");
        $filter->valor->size = 20;
        $filter->valor->rule = "trim";
        $filter->orden = new dropdownField("Ordenar por:", "orden");
        $filter->orden->option("fecha", "Fecha");
        $filter->orden->option("numero", "Numero");
        $filter->orden->option("tipo_op", "Tipo Operaci&oacute;n");
        $filter->orden->option("benefi", "Beneficiario");
        $filter->orden->style = 'width:150px;';
        $filter->desc = new radiogroupField("desc", "desc", array("0" => "Ascendente", "1" => "Descendente"), '0');
        $filter->desc->in = 'orden';
        $filter->submit("btnsubmit", "Buscar");
        $filter->build_form();
        if ($cod != '|!') {
            $fila = $this->datasis->damerow("SELECT moneda,banco,numcuent FROM banc WHERE codbanc='{$cod}'");
        } else {
            $fila['moneda'] = '';
            $fila['numcuent'] = '';
            $fila['banco'] = '';
        }
        //print_r($fila);
        function blanco($num, $m = '')
        {
            if (empty($num) || $num == 0) {
                return '';
            } else {
                return number_format($num, 2, ',', '.') . $m;
            }
        }
        $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5');
        $link = "finanzas/bmovshow/dataedit/show/<#codbanc#>/<#tipo_op#>/<#numero#>";
        ////////////////////////consulta grid//////////////////////////////
        $this->db->select("codbanc,fecha, numero, tipo_op, monto*(tipo_op IN ('DE','NC')) as ingresos,monto*(tipo_op NOT IN ('DE','NC')) as egresos,CONCAT(concepto,' ',concep2,' ',concep3) as concep, \n                    benefi,monto*(tipo_op IN ('DE','NC'))-monto*(tipo_op NOT IN ('DE','NC')) as saldo,CASE (tipo_op)\n\t\t\tWHEN 'CH' THEN 'Cheque'\n\t\t\tWHEN 'DE' THEN 'Deposito'\n\t\t\tWHEN 'NC' THEN 'Nota de Cr&eacute;dito'\n\t\t\tWHEN 'ND' THEN 'Nota de D&eacute;bito'\n\t\t \tEND\n\t\t AS tipo");
        $this->db->from('bmov as a');
        if ($campo && $valor) {
            $consult = "AND {$campo} LIKE '%{$valor}%'";
        } else {
            $consult = '';
        }
        if ($cod != '|!') {
            $b = "codbanc='{$cod}' AND ";
        } else {
            $b = '';
        }
        if (strpos(substr($fechad, 6, 4), '/') == NULL) {
            $fechad2 = substr($fechad, 3, 4) . substr($fechad, 0, 2);
            //.substr($fechad, 0,2);
            $fechah2 = substr($fechah, 3, 4) . substr($fechah, 0, 2);
            //.substr($fechah, 0,2));
        } else {
            $fechad2 = substr($fechad, 0, 4) . substr($fechad, 5, 2);
            $fechah2 = substr($fechah, 0, 4) . substr($fechah, 5, 2);
        }
        $this->db->where("{$b} EXTRACT(YEAR_MONTH FROM fecha) BETWEEN '{$fechad2}' AND '{$fechah2}'{$consult}");
        //a.fecha like '%-$mm-%'
        $this->db->orderby($orden . ' ' . $desc);
        $query = $this->db->get();
        //memowrite($this->db->last_query());
        ////////////////////////consulta grid//////////////////////////////
        ///////////////////////SALDO ANTERIOR//////////////////////////////
        $ddata = array();
        $banmes = '';
        $anterior = 0;
        foreach ($query->result_array() as $row) {
            if ($banmes != substr($row['fecha'], 5, 2)) {
                $ban = $banmes = substr($row['fecha'], 5, 2);
                $ano2 = substr($row['fecha'], 0, 4);
                if (1 * $banmes == 1) {
                    $ban = 13;
                    $ano2 = 1 * $ano2 - 1;
                }
                $campo = 'saldo' . str_pad(1 * $ban - 1, 2, '0', STR_PAD_LEFT);
                $sal = $this->datasis->dameval("SELECT {$campo} FROM bsal WHERE codbanc='{$cod}' AND ano='{$ano2}'");
                if ($sal == NULL) {
                    $sal = 0;
                    $row['salAnterior'] = number_format($sal, 2, ',', '.');
                } else {
                    $anterior = $sal;
                    $row['salAnterior'] = number_format($anterior, 2, ',', '.');
                    $anterior = $anterior + $row['saldo'];
                }
            } else {
                $row['salAnterior'] = number_format($anterior, 2, ',', '.');
                $anterior = $anterior + $row['saldo'];
                //$campo='';
            }
            //$campo;//
            $ddata[] = $row;
        }
        ///////////////////////SALDO ANTERIOR//////////////////////////////
        //print_r($ddata);
        if ($cod != '|!') {
            $o = "Movimientos del Banco " . $fila['banco'] . " cuenta #" . $fila['numcuent'] . " desde {$fechad} hasta {$fechah}";
        } else {
            $o = "Todos los Bancos";
        }
        $grid = new DataGrid2($o, $ddata);
        $grid->use_function('blanco');
        if ($cod == '|!') {
            $grid->column("Banco", "<#codbanc#>", 'align=left');
        }
        $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>");
        $grid->column("Numero", anchor_popup($link, '<#numero#>', $atts), 'nowrap=yes');
        $grid->column("Tipo Operaci&oacute;n", "<#tipo#>", 'align=left');
        $grid->column("Ingresos", "<number_format><#ingresos#>|2|,|.</number_format>", "align=right");
        $grid->column("Egresos", "<number_format><#egresos#>|2|,|.</number_format>", "align=right");
        $grid->column("Saldo", "<number_format><#saldo#>|2|,|.</number_format>", "align=right");
        $grid->column("Saldo Anterior", "<#salAnterior#>", "align=right");
        $grid->column("Beneficiario", "<#benefi#>", 'align=left');
        $grid->column("Concepto", "<#concep#>", 'align=left');
        $grid->totalizar('ingresos', 'egresos', 'saldo');
        $grid->build();
        //memowrite( $grid->db->last_query());
        if (!isset($ano2)) {
            $ano2 = $ano;
        }
        $salida = anchor("finanzas/analisisbanc/meses/{$cod}/{$ano2}", "Atras");
        $data['content'] = $salida . $grid->output;
        $data['title'] = "<h1>Relaci&oacute;n de Caja y Bancos</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);
    }
Ejemplo n.º 24
0
    function precios()
    {
        $this->rapyd->load('dataedit', 'dataform');
        $mSINV = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;odigo', 'descrip' => 'Descripci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'barras' => 'Barras', 'alterno' => 'Alterno', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo'), 'titulo' => 'Buscar Producto');
        $bSINV = $this->datasis->modbus($mSINV);
        $pr = '$(document).ready(function(){
				$(".button").click(function(){
					if($("#codigo").val() == "" ){
						alert("Debe ingresar un codigo de producto");
						return false;
					}
				});
				$(".inputnum").numeric(".");
				$("#codigo").val("");
			});';
        $form = new DataForm('inventario/precios_sinv/precios/modifica');
        $form->script($pr);
        $form->codigo = new inputField2('Consultar Productos', 'codigo');
        $form->codigo->size = 15;
        $form->codigo->maxlength = 15;
        $form->codigo->append($bSINV);
        $form->codigo->rule = 'trim|required';
        $form->submit('btnsubmit', 'Cambiar');
        $form->build_form();
        $band = 0;
        $msj = "";
        if ($form->on_success()) {
            $codigo = $form->codigo->newValue;
            $mSQL_p = 'SELECT id FROM sinv';
            $bbus = array('codigo', 'barras', 'alterno');
            $suple = null;
            $query = Common::_gconsul($mSQL_p, $codigo, $bbus, $suple);
            if ($query !== false) {
                $row = $query->row();
                redirect('inventario/precios_sinv/dataedit/modify/' . $row->id);
            } else {
                $msj .= 'No se encontro el producto';
            }
            /*$resul1=$this->db->query("SELECT count(*) AS cant,id FROM sinv WHERE codigo='$codigo' ");
            		$row1=$resul1->row();
            		if($row1->cant > 0){
            			$band=1;
            			redirect("inventario/precios_sinv/dataedit/modify/$row1->id");
            		}
            		if($band == 0){
            			$resul1=$this->db->query("SELECT count(*) AS cant,id FROM sinv WHERE barras='$codigo' ");
            			$row1=$resul1->row();
            			if($row1->cant > 0){
            				$band=1;
            				redirect("inventario/precios_sinv/dataedit/modify/$row1->id");
            			}
            		}
            		if($band == 0){
            			$resul1=$this->db->query("SELECT count(*) AS cant,id FROM sinv where alterno='$codigo' ");
            			$row1=$resul1->row();
            			if($row1->cant > 0){
            				$band=1;
            				redirect("inventario/precios_sinv/dataedit/modify/$row1->id");
            			}
            		}
            		if($band==0){
            			$resul1=$this->db->query("SELECT count(*) AS cant,codigo FROM barraspos WHERE suplemen='$codigo' ");
            			$row1=$resul1->row();
            			if($row1->cant > 0){
            				$resul2=$this->db->query("SELECT count(*) AS cant,id FROM sinv WHERE codigo='$row1->codigo' ");
            				$row2=$resul2->row();
            				if($row2->cant > 0){
            					redirect("inventario/precios_sinv/dataedit/modify/$row2->id");
            				}
            			}
            		}
            		if ($band==0){
            			$msj.= "No se encontro el producto";
            		}*/
        }
        $data['content'] = $form->output . $msj;
        $data['head'] = script('jquery.js') . script('jquery-ui.js') . script("plugins/jquery.numeric.pack.js") . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head();
        $data['title'] = '<h1>Cambiar Precios</h1>';
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 25
0
    function index($var1 = '', $var2 = '', $var3 = '', $var4 = '')
    {
        $this->rapyd->load("dataform", "datatable");
        $this->db->simple_query("ALTER TABLE `retenomi`  ADD COLUMN `nombre` VARCHAR(100) NULL AFTER `status`");
        $this->db->simple_query("ALTER TABLE `asignomi` ADD COLUMN `denominacion` TINYTEXT NULL  AFTER `status`");
        $form1 = new DataForm('nomina/prenom/index/process/aa');
        $form1->contrato = new dropdownField("Contrato", "contrato");
        $mSQL = $this->db->query("SHOW TABLES LIKE 'PRENOM%'");
        foreach ($mSQL->result_array() as $row) {
            foreach ($row as $key => $value) {
                $c = $this->db->escape(substr($value, 6));
                $nombre = $this->datasis->dameval("SELECT nombre FROM noco WHERE codigo={$c}");
                $form1->contrato->option($value, $nombre);
            }
        }
        $form1->submit("btnsubmit", "Recuperar");
        $form1->build_form();
        if ($form1->on_success() && $var2 == 'aa') {
            $this->load->dbforge();
            $tabla = 'prenom';
            $tablap = 'pretab';
            $this->db->query("TRUNCATE {$tabla}");
            $this->db->query("TRUNCATE {$tablap}");
            $contrato = $form1->contrato->newValue;
            $mSQL = "INSERT IGNORE INTO {$tabla} SELECT * FROM {$contrato} ";
            $this->db->query($mSQL);
            $mSQL = "DROP TABLE `{$contrato}`";
            $this->db->query($mSQL);
            redirect('nomina/prenom/montos');
        }
        $script = '
		$(function() {
			$("#pagar").click(function(){
				if(confirm("Esta Seguro de Crear Orden de Pago de Prenomina actual"))
				return true;
				else
				return false;
			});
			$("#guarda").click(function(){
				if(confirm("Esta Seguro que desea Guardar la Prenomina actual. Esto eliminara la prenomina guardada anteriormente")){
					$.post("' . site_url('nomina/prenom/respalda') . '",{ partida:"a" },function(data){
						if(data="_Si"){
							alert("Se respaldo correctamente la Prenomina.")
							nueva=window.open("' . site_url('nomina/prenom') . '","_self");
							
						}else{
							alert("No se Pudo respaldar la Prenomina")
						}
					})
					return false;
				}else{
					return false;
				}
			});
			$("#recibo").click(function(){
			    cant = $("#cant").val();
			    var caracteristicas = "height=240,width=420,scrollTo,resizable=1,scrollbars=1,location=0";
			    nueva=window.open("' . site_url('forma/ver/RECIBO/') . '/"+cant, "Popup", caracteristicas);
			    return false;
			});

			$("#contrato").change(function (){
				c=$("#contrato").val();
				$.post("' . site_url('nomina/noco/tipo') . '",{ con: c},
				function(data){
					$("#contrato2").html(data);
				});
			});
		});
		';
        $form = new DataForm('nomina/prenom/index/process');
        $form->script($script);
        $form->contrato = new dropdownField("Contrato", "contrato");
        $form->contrato->option("", "Seleccionar");
        $form->contrato->options("SELECT codigo,CONCAT_ws(' ',codigo,nombre) nom FROM noco ORDER BY nombre");
        $form->contrato->rule = 'required';
        $form->contrato2 = new dropdownField("Aplicar a", "contrato2");
        //$form->contrato2->options("SELECT codigo,CONCAT_ws(' ',codigo,nombre) nom FROM noco WHERE tipo<>'O' ORDER BY nombre");
        $form->fechac = new dateonlyField("Fecha de corte", "fechac");
        $form->fechac->rule = 'required|chfecha';
        $form->fechac->insertValue = date("Y-m-d");
        $form->fechac->size = 12;
        $form->fechap = new dateonlyField("Fecha de pago", "fechap");
        $form->fechap->rule = 'required|chfecha';
        $form->fechap->insertValue = date("Y-m-d");
        $form->fechap->size = 12;
        $form->submit("btnsubmit", "Generar");
        $form->build_form();
        if ($form->on_success()) {
            $this->load->dbforge();
            $contrato = $form->contrato->newValue;
            $contratoe = $this->db->escape($form->contrato->newValue);
            $trabajae = NULL;
            $contrato2 = $form->contrato2->newValue;
            $contrato2e = $this->db->escape($form->contrato2->newValue);
            $fechac = $form->fechac->newValue;
            $fechap = $form->fechap->newValue;
            $tabla = 'prenom';
            $tablap = 'pretab';
            $this->db->query("TRUNCATE {$tabla}");
            $this->db->query("TRUNCATE {$tablap}");
            if (!empty($contrato2)) {
                $scontratoe = $contratoe;
                $trabajae = $contrato2e;
                $wcontratoe = $contrato2e;
                $mSQL = "INSERT IGNORE INTO {$tabla} (contrato, codigo,nombre, concepto, grupo, tipo, descrip, formula, monto, fecha, fechap,cuota,cuotat,pprome,trabaja,modo,orden,vari1,vari2,vari3,vari4,vari5,vari6,vari7,vari8) ";
                $mSQL .= "SELECT {$scontratoe}, b.codigo, CONCAT(RTRIM(b.apellido),' ',b.nombre) nombre, ";
                $mSQL .= "a.concepto, a.grupo, a.tipo, a.descrip, a.formula, 0, {$fechac}, {$fechap} , 0, 0, 0, {$trabajae},modo,e.orden,b.vari1,b.vari2,b.vari3,b.vari4,b.vari5,b.vari6,b.vari7,b.vari8 ";
                $mSQL .= "FROM conc a ";
                $mSQL .= "JOIN itnoco c ON a.concepto=c.concepto ";
                $mSQL .= "JOIN noco d ON c.codigo=d.codigo ";
                $mSQL .= "JOIN itnoco e ON d.codigo=e.codigo ";
                $mSQL .= "JOIN pers b ON {$scontratoe}=c.codigo ";
                $mSQL .= "WHERE b.contrato={$wcontratoe} AND b.status='A' ";
            } else {
                $scontratoe = $contratoe;
                $trabajae = $this->db->escape('');
                $wcontratoe = $contratoe;
                $mSQL = "INSERT IGNORE INTO {$tabla} (contrato, codigo,nombre, concepto, grupo, tipo, descrip, formula, monto, fecha, fechap,cuota,cuotat,pprome,trabaja,modo,orden,vari1,vari2,vari3,vari4,vari5,vari6,vari7,vari8) ";
                $mSQL .= "SELECT {$scontratoe}, b.codigo, CONCAT(RTRIM(b.apellido),'/',b.nombre) nombre, ";
                $mSQL .= "a.concepto, a.grupo, a.tipo, a.descrip, a.formula, 0, {$fechac}, {$fechap} , 0, 0, 0, {$trabajae},modo,c.orden,b.vari1,b.vari2,b.vari3,b.vari4,b.vari5,b.vari6,b.vari7,b.vari8 ";
                $mSQL .= "FROM conc a JOIN itnoco c ON a.concepto=c.concepto ";
                $mSQL .= "JOIN noco d ON c.codigo=d.codigo ";
                $mSQL .= "JOIN pers b ON b.contrato=d.codigo \r\n\t\t\t\tWHERE d.codigo={$wcontratoe} AND b.status='A' ";
            }
            $this->db->query($mSQL);
            $fields = $this->db->list_fields($tablap);
            $ii = count($fields);
            for ($i = 5; $i < $ii; $i++) {
                $this->dbforge->drop_column($tablap, $fields[$i]);
            }
            unset($fields);
            $query = $this->db->query("SELECT concepto FROM itnoco WHERE codigo={$scontratoe} ORDER BY concepto");
            foreach ($query->result() as $row) {
                $ind = 'c' . trim($row->concepto);
                $fields[$ind] = array('type' => 'decimal(17,2)', 'default' => 0);
            }
            $this->dbforge->add_column($tablap, $fields);
            unset($fields);
            $frec = $this->datasis->dameval("SELECT tipo FROM noco WHERE codigo={$scontratoe}");
            $this->calculaprenom();
            redirect('nomina/prenom/montos');
        }
        $atts = array('width' => '420', 'height' => '300', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5');
        $atts2 = array('width' => '1024', 'height' => '768', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
        $atts3 = array('width' => '420', 'height' => '240', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5', 'id' => 'recibo');
        $contratoactual = $this->datasis->dameval("SELECT b.nombre FROM prenom a JOIN noco b ON a.contrato=b.codigo LIMIT 1");
        $des01 = '';
        if ($contratoactual) {
            $des01 = "<div style='background-color:black;padding:5px;color:red;' ><strong>{$contratoactual}</strong></div>";
        }
        $des0 = new containerField("", $des01);
        $des0->build();
        $des3 = "<strong>Prenomina:</strong> es el termino utilizado para referirse a la nomina en la cual se esta trabajando que pertenece a un contrato y a una fecha dada. En la prenomina es el momento donde se introducen valores extra para los conceptos de nomina. por ejemplo la cantidad de horas extra trabajadas. y de donde se imprimen los recibos de pagos para los empleados";
        $des2 = new containerField("", "<div style='background-color:#EEDDEE;padding:5px;'> " . $des3 . "</div>");
        $des2->build();
        $des4 = new containerField("", "<div style='background-color:#FFDDFF;padding:5px;'> " . anchor('', '<span id="guarda">Guardar Prenomina Actual</span>') . " Este se utiliza para almacenar la prenomina en la que se esta trabajando y porder continuar con otra sin perder los cambios realizados a esta</div>");
        $des4->build();
        $des5 = new containerField("", "<div style='background-color:#DDDDFF;padding:5px;'> " . anchor('nomina/prenom/montos', 'Modificar Prenomina Actual') . " Este se utiliza para continuar introduciendo valores a conceptos de la prenomina actual</div>");
        $des5->build();
        $des10 = new containerField("", "<div style='background-color:#DDFFFF;padding:5px;'> " . anchor('nomina/prenom/calculaprenom', 'Recalcular Prenomina') . " Recalcular montos de la prenomina de haber cambiado sueldos formulas</div>");
        $des10->build();
        $des6 = new containerField("", "<div style='background-color:#EEFFEE;padding:5px;'> " . anchor_popup('reportes/ver/PRENOM/-1', 'Ver Listado de Prenomina', $atts) . " Este Muestra el listado de prenomina actual en formatos pdf. o .xls</div>");
        $des6->build();
        //$des8 = new containerField("","<div style='background-color:#CCEEEE;padding:5px;'> ".anchor_popup('nomina/recibo/','Imprimir recibos de pago',$atts2)." Abre el modulo de impresion de recibos de pago, donde hay distintas opciones de impresion</div>");
        //$des8->build();
        $des7 = new containerField("", "<div style='background-color:#FFCCFF;padding:5px;'> " . anchor_popup('nomina/prenom/creanomi', '<span id="pagar">Crear Nomina en Base a Prenomina</span>', $atts2) . "Esta es la ultima operacion a realizar para una prenomina, la cual convierte la prenomina actual en una nomina.</div>");
        $des7->build();
        $t = array();
        $t[1][1] = $form->output;
        $t[2][1] = "<strong>Generar una Prenomina:</strong> </br>Se utiliza para calcular los saldos de un contrato y sus trabajadores para una fecha.</br> Este borra la prenomina anterior y genera la nueva prenomina con los nuevos datos, para luego introducir los valores necesarios por cada concepto de ser necesario.";
        $table = new DataTable(null, $t);
        $table->cell_attributes = 'style="vertical-align:middle; text-align: center;"';
        $table->per_row = 2;
        $table->cell_attributes = 'style="vertical-align:top;background-color:#DDFFFF;text-align: left;"';
        $table->cell_template = "<#1#>";
        $table->build();
        $t = array();
        $t[1][1] = $form1->output;
        $t[2][1] = "<strong>Recuperar Prenomina:</strong> </br>Esta opcion es para utilizar un prenomina previamente almacenada y continuar modificandola o terminarla.</br>Esta opcion borra los datos de la prenomina actual";
        $table2 = new DataTable(null, $t);
        $table2->cell_attributes = 'style="vertical-align:middle; text-align: center;"';
        $table2->per_row = 2;
        $table2->cell_attributes = 'style="vertical-align:top;background-color:#FFFFDD;text-align: left;"';
        $table2->cell_template = "<#1#>";
        $table2->build();
        $cant = new dropdownField("cant", "cant");
        $cant->status = 'create';
        for ($i = 1; $i < 5; $i++) {
            $cant->option($i, $i);
        }
        $cant->style = "width:40px;";
        $cant->build();
        $des9 = new containerField("", "<div style='background-color:#EEEECC;padding:5px;'> " . $cant->output . ' Copias de ' . anchor('#', 'Recibos de Pago', $atts3) . " Este genera los recibos de pagos para toda la prenomina.</div>");
        $des9->build();
Ejemplo n.º 26
0
    function index()
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        $script = '
		$(function() {
			$(".inputnum").numeric(".");
		});
		';
        if ($this->uri->segment(4)) {
            $anio = $this->uri->segment(4);
        } elseif (isset($_POST['anio'])) {
            $anio = $_POST['anio'];
        }
        if (empty($anio)) {
            $anio = date("Y");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $filter = new DataForm('ventas/anuales');
        $filter->title('Filtro de ventas Anuales');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        //$filter->anio->onkeypress="return acceptNum(event)";
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/anuales/index'), array('anio')), $position = "BL");
        $filter->build_form();
        $data = $this->_sincrodata($fechai, $fechaf);
        $grid = new DataGrid2('', $data);
        $grid->totalizar('impuesto', 'cobrado', 'contado', 'credito', 'subtotal', 'numfac');
        $grid->column("Mes", "mes");
        $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right');
        $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right');
        $grid->column("Credito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cobrado", "<number_format><#cobrado#>|2|,|.</number_format>", 'align=right');
        $grid->column("% Ventas", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant. Fact", "numfac", 'align=right');
        $grid->build();
        $data['content'] = open_flash_chart_object(680, 300, site_url("ventas/anuales/grafico/{$anio}"));
        $data['content'] .= $filter->output . $grid->output;
        $data['title'] = $this->rapyd->get_head() . "<h1>Ventas Anuales</h1>";
        //$data['script']='<script type="text/javascript">
        //$(document).ready(function() {
        //	$("#anio").keypress(function(event) {
        //		acceptNum(evt);
        //		return false;
        //	});
        //});
        //var nav4 = window.Event ? true : false;
        //function acceptNum(evt)
        //{
        //		var key = nav4 ? evt.which : evt.keyCode;
        //		return (key <= 13 || (key >= 48 && key <= 57));
        //
        //}
        //</script>';
        $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);
    }
Ejemplo n.º 27
0
    function gfmedidor()
    {
        $grupo = intval($_POST['grupo']);
        $anomes = intval($_POST['anomes']);
        $medidor = intval($_POST['medidor']);
        $nomgru = $this->datasis->dameval("SELECT descrip FROM edgrupo WHERE id={$grupo} AND activo='S'");
        $gcargo = $this->datasis->dameval("SELECT cargo   FROM edgrupo WHERE id={$grupo} AND activo='S'");
        $this->rapyd->load('dataform');
        $edit = new DataForm("construccion/edgasto/gfmedidor/process");
        $query = $this->db->query('SELECT MAX(id) id, sum(importe) monto FROM gitser WHERE EXTRACT(YEAR_MONTH FROM fecha)=' . $anomes . ' AND gcargo = ' . $gcargo);
        $montos = array();
        foreach ($query->result() as $row) {
            $monto[$row->id] = $row->monto;
        }
        $script = '
		var montocargo = ' . json_encode($monto) . ';
		$(function() {
			$("#fecha").datepicker({dateFormat:"dd/mm/yy"});
			$("#vence").datepicker({dateFormat:"dd/mm/yy"});
			$(".inputnum").numeric(".");
		});
		
		$("#gasto").change(function(){
			//alert( montocargo[$("#gasto").val()] );
			totaliza();
		});

		function totaliza(){
			var montocal = 0;
			var lectucal = 0;
			$("input[name^=\'monto_\']").each( 
			function( index ){
				montocal += Number($(this).val());
			})
			$("input[name^=\'lectura_\']").each( 
			function( index ){
				lectucal += Number($(this).val());
			})
			//$("#sumamont").html(montocargo[$("#gasto").val()] );
			$("#sumamonto").html(montocal.toFixed(2));
			$("#sumalectu").html(lectucal.toFixed(2));
		}

		function calcular(){
			var montocal = 0;
			var lectucal = 0;
			var meco     = 0;
			var mtotal   = montocargo[$("#gasto").val()];
			// Calcula el Total
			$("input[name^=\'lectura_\']").each( 
			function( index ){
				lectucal += Number($(this).val());
			})
			// Coloca cada monto
			$("input[name^=\'lectura_\']").each( 
			function( index ){
				meco = Number($(this).val());
				meco = meco*mtotal/lectucal;
				$("#monto_"+index).val(meco.toFixed(2));
			})
			totaliza();
		}
		
		';
        $edit->script($script);
        $edit->grupo = new hiddenField('Grupo', 'grupo');
        $edit->grupo->insertValue = $grupo;
        $edit->grupo->type = 'inputhidden';
        $edit->medidor = new hiddenField('Medidor', 'medidor');
        $edit->medidor->insertValue = $medidor;
        $edit->medidor->type = 'inputhidden';
        $edit->anomes = new dropDownField('Ano Mes', 'anomes');
        $edit->anomes->insertValue = $anomes;
        $edit->anomes->type = 'inputhidden';
        $edit->gasto = new dropDownField('Gasto', 'gasto');
        $edit->gasto->option('', 'Seleccione un gasto');
        $edit->gasto->options('SELECT MAX(id) id, CONCAT(descrip," ", sum(importe)) FROM gitser WHERE EXTRACT(YEAR_MONTH FROM fecha)=' . $anomes . ' AND gcargo = ' . $gcargo);
        $mSQL = "\n\t\tSELECT b.codigo, b.descripcion, a.inmueble \n\t\tFROM editgrupo a \n\t\tJOIN edinmue   b ON a.inmueble = b.id\n\t\tWHERE grupo = {$grupo}\n\t\tORDER BY b.codigo";
        $query = $this->db->query($mSQL);
        $i = 0;
        foreach ($query->result() as $row) {
            $obj = "inmueble_" . $i;
            $edit->{$obj} = new hiddenField('Inmueble ' . $i, 'inmueble_' . $i);
            $edit->{$obj}->rule = 'integer';
            $edit->{$obj}->css_class = 'inputonlynum';
            $edit->{$obj}->size = 13;
            $edit->{$obj}->maxlength = 11;
            $edit->{$obj}->insertValue = $row->inmueble;
            $obj = "descrip_" . $i;
            $edit->{$obj} = new inputField('descrip ' . $i, 'descrip_' . $i);
            $edit->{$obj}->size = 13;
            $edit->{$obj}->maxlength = 11;
            $edit->{$obj}->insertValue = $row->descripcion;
            $edit->{$obj}->type = 'inputhidden';
            $alicuota = 0.0;
            if ($medidor != 'S') {
                $mSQL = "\n\t\t\t\tSELECT alicuota \n\t\t\t\tFROM edalicuota \n\t\t\t\tWHERE inmueble=" . $row->inmueble . " AND EXTRACT(YEAR_MONTH FROM fecha) <= {$anomes}\n\t\t\t\tORDER BY fecha DESC \n\t\t\t\tLIMIT 1\n\t\t\t\t";
                $alicuota = $this->datasis->dameval($mSQL) + 0;
            }
            $obj = "lectura_" . $i;
            $edit->{$obj} = new inputField('Lectura ' . $i, 'lectura_' . $i);
            $edit->{$obj}->rule = 'numeric';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->size = 12;
            $edit->{$obj}->maxlength = 10;
            $edit->{$obj}->onkeyup = 'totaliza()';
            $edit->{$obj}->insertValue = $alicuota;
            $obj = "monto_" . $i;
            $edit->{$obj} = new inputField('Monto', 'monto_' . $i);
            $edit->{$obj}->rule = 'numeric';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->size = 12;
            $edit->{$obj}->maxlength = 10;
            $edit->{$obj}->onkeyup = 'totaliza()';
            $i++;
        }
        //$i--;
        $edit->fecha = new dateonlyField('Fecha', 'fecha');
        $edit->fecha->rule = 'chfecha';
        $edit->fecha->calendar = false;
        $edit->fecha->size = 10;
        $edit->fecha->maxlength = 8;
        $edit->longi = new dropDownField('Longitud', 'longi');
        $edit->longi->insertValue = $i;
        $edit->longi->type = 'inputhidden';
        $edit->build_form();
        if ($edit->on_success()) {
            // Guarda
            $longi = $this->input->post('longi');
            $anomes = $this->input->post('anomes');
            $gasto = $this->input->post('gasto');
            $grupo = $this->input->post('grupo');
            $medidor = $this->input->post('medidor');
            $this->db->delete('edgasmed', array('grupo' => $grupo, 'fecha' => $anomes . '01', 'gasto' => $gasto));
            for ($i = 0; $i < $longi; $i++) {
                $data = array();
                $data['fecha'] = $anomes . '01';
                $data['grupo'] = $grupo;
                $data['gasto'] = $gasto;
                $data['inmueble'] = $this->input->post('inmueble_' . $i);
                $data['lectura'] = $this->input->post('lectura_' . $i);
                $data['monto'] = $this->input->post('monto_' . $i);
                $this->db->insert('edgasmed', $data);
            }
            $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => '');
            echo json_encode($rt);
        } else {
            //echo $edit->output;
            $conten['form'] =& $edit;
            $conten['grupo'] = $grupo;
            $conten['nomgru'] = $nomgru;
            $conten['longi'] = $i;
            $this->load->view('view_edmedidor', $conten);
        }
    }
Ejemplo n.º 28
0
    function index()
    {
        $this->rapyd->load("datagrid2", "dataform");
        $anio = $this->uri->segment(4);
        if (empty($anio)) {
            $anio = date("Y");
        }
        $grupo = $this->uri->segment(5);
        $codigo = $this->uri->segment(6);
        $script = '
			$(function() {
				$(".inputnum").numeric(".");
			});
			$("#df1").submit(function() {
					valor=$("#anio").attr("value");
					location.href="' . site_url('finanzas/analisisgastos/index') . '/"+valor;
					return false;
				});
			';
        $filter = new DataForm();
        $filter->title('Filtro de An&aacute;lisis de Gastos');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        //$filter->fechad = new dateonlyField("Desde", "fechad",'m-Y');
        //$filter->fechah = new dateonlyField("Hasta", "fechah",'m-Y');
        //$filter->fechad->clause  =$filter->fechah->clause="where";
        //$filter->fechad->db_name =$filter->fechah->db_name="fecha";
        //$filter->fechad->insertValue='15-'.$fechad;
        //$filter->fechah->insertValue='15-'.$fechah;
        //
        //$filter->fechah->size=$filter->fechad->size=10;
        //$filter->fechad->operator=">=";
        //$filter->fechah->operator="<=";
        //$filter->anio = new inputField("A&ntilde;o", "anio");
        //$filter->anio->size=4;
        //$filter->anio->insertValue=$anio;
        //$filter->anio->maxlength=4;
        //$filter->anio->rule = "trim";
        //$filter->anio->css_class='inputnum';
        $filter->anio = new dropdownField("A&ntilde;o", "anio");
        $filter->anio->option($anio, $anio);
        $filter->anio->options('SELECT YEAR(fecha),YEAR(fecha) AS fecha2 FROM gitser GROUP BY fecha2');
        $filter->anio->style = 'width:80px;';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('/finanzas/analisisgastos/index'), array('anio')), $position = "BL");
        $filter->build_form();
        $where = "YEAR(a.fecha)='{$anio}' ";
        if (empty($grupo)) {
            $grid = new DataGrid2('Grupos de Gastos');
            $select = array("d.nom_grup as nom_grup", "b.grupo AS deptodes", "sum(a.importe) AS tgene");
            $group = "b.grupo";
            $link = "finanzas/analisisgastos/index/{$anio}/<#deptodes#>";
            $grid->column("Grupos de Gastos", anchor($link, '<#nom_grup#>'), 'nowrap=yes');
            $salida = '';
        } elseif (empty($codigo)) {
            $nom = $this->datasis->dameval("SELECT nom_grup FROM grga WHERE grupo='{$grupo}'");
            $grid = new DataGrid2("Gastos del grupo {$nom}");
            $where .= "AND b.grupo='{$grupo}'";
            $select = array("b.descrip as descrip", "b.grupo AS deptodes", "sum(a.importe) AS tgene,a.codigo as cod");
            $group = array("b.grupo", "a.codigo");
            $link = "finanzas/analisisgastos/index/{$anio}/<#deptodes#>/<#cod#>/";
            $grid->column("Grupos de Gastos", anchor($link, '<#descrip#>'), 'nowrap=yes');
            $salida = anchor("finanzas/analisisgastos/index/{$anio}", "Atras");
        } else {
            $select = array("fecha", "numero", "precio", "a.iva as iva", "importe", "p.nombre AS nombre");
            $nom = $this->datasis->dameval("SELECT nom_grup FROM grga WHERE grupo='{$grupo}'");
            $nom2 = $this->datasis->dameval("SELECT descrip FROM mgas WHERE codigo='{$codigo}'");
            $grid = new DataGrid2("Gastos del grupo {$nom} del Departamento {$nom2}");
            $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", 'align=center');
            $grid->column("Numero", "<#numero#>", 'align=left');
            $grid->column("Proveedor", "<#nombre#>", 'align=left');
            $grid->column("Precio", "<number_format><#precio#>|2|,|.</number_format>", 'align=right');
            $grid->column("I.V.A.", "<number_format><#iva#>|2|,|.</number_format>", 'align=right');
            $grid->column("Importe", "<number_format><#importe#>|2|,|.</number_format>", 'align=right');
            $group = '';
            $att['title'] = "Regresar al listado de gastos por grupos";
            $salida = anchor("finanzas/analisisgastos/index/{$anio}", "Gastos por Grupos", $att);
            $att['title'] = "Regresar al listado de gastos del grupo {$nom}";
            $salida .= ' ';
            $salida .= anchor("finanzas/analisisgastos/index/{$anio}/{$grupo}", "{$nom}", $att);
        }
        if ($group != '') {
            $ii = 3;
            $grid->column("Total", "<number_format><#tgene#>|0|,|.</number_format>", 'align=left');
            for ($i = $anio . '01'; $i <= $anio . '12'; $i = $this->agremes($i)) {
                $select[$ii] = "sum(a.importe*(EXTRACT(YEAR_MONTH FROM a.fecha)={$i})) AS 'm{$i}' ";
                $ii++;
                $col = $this->calendar->get_month_name(str_pad(substr($i, 4, 2), 2, "0", STR_PAD_LEFT));
                $grid->column("{$col}", "<number_format><#m{$i}#>|0|,|.</number_format>", 'align=right');
            }
        }
        $grid->db->select($select);
        $grid->db->from('gitser as a');
        $grid->db->join('mgas as b', 'a.codigo=b.codigo', 'LEFT');
        $grid->db->join('grga as d', 'b.grupo=d.grupo', 'LEFT');
        $grid->db->join('sprv as p', 'p.proveed=a.proveed');
        $grid->db->where($where);
        $grid->db->groupby($group);
        $grid->per_page = 15;
        //$grid->db->orderby('d.nom_grup');
        $grid->build();
        memowrite($grid->db->last_query());
        $data['content'] = $filter->output . $salida . '<div style="overflow: auto; width: 100%;">' . $grid->output . '</div>';
        $data['title'] = "<h1>An&aacute;lisis de Gastos</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);
    }
Ejemplo n.º 29
0
    function read()
    {
        $this->load->library("Spreadsheet_Excel_Reader");
        $this->rapyd->load("datagrid2", "dataform");
        $salida = anchor('inventario/sinvactu', 'Atras');
        $type = '';
        if (isset($_FILES['archivoUserFile']['type'])) {
            $type = $_FILES['archivoUserFile']['type'];
        }
        if ($type == 'application/x-msexcel') {
            $name = $_FILES['archivoUserFile']['name'];
            $dir = ".././" . $name;
            if (copy($_FILES['archivoUserFile']['tmp_name'], $dir)) {
                $tmp = $dir;
                //$_FILES['archivoUserFile']['tmp_name'];
                $data = new Spreadsheet_Excel_Reader();
                $data->setOutputEncoding('CP1251');
                $data->read($tmp);
                error_reporting(E_ALL ^ E_NOTICE);
                $cols = array();
                for ($i = 0; $i <= $data->sheets[0]['numRows']; $i++) {
                    $ref = 0;
                    for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
                        $cols[$j - 1] = $data->sheets[0]['cells'][$i][$j];
                        if (!empty($data->sheets[0]['cells'][$i][$j])) {
                            $ref++;
                        }
                    }
                    if ($ref > 2) {
                        break;
                    }
                }
                $c = 0;
                for ($i = 0; $i <= $data->sheets[0]['numRows']; $i++) {
                    $ref = 0;
                    $j = 1;
                    foreach ($cols as $col) {
                        $data3[$i][$col] = $data->sheets[0]['cells'][$i][$j];
                        if (!empty($data->sheets[0]['cells'][$i][$j])) {
                            $ref++;
                        }
                        $j++;
                    }
                    if ($ref > 2 && implode(' ', $data3[$i]) != implode(' ', $cols)) {
                        $data4[$c] = $data3[$i];
                        $c++;
                    }
                }
                $form = new DataForm("/inventario/sinvactu/actualiza");
                $form->free = new freeField("Campos.Archivo xls", "free", "Campos de El Sistema");
                $grid = new DataGrid2("Archivo Cargado", $data4);
                $j = 0;
                $campos .= 'cols="+$("#cols").val()+"&&dir="+$("#dir").val()';
                foreach ($cols as $col) {
                    $grid->column("{$col}", "<#{$col}#>");
                    $campo = "campo{$j}";
                    $form->{$campo} = new dropdownField("{$col}", "campo{$j}");
                    $form->{$campo}->option("ignorar", "ignorar");
                    $form->{$campo}->option("codigo", "codigo");
                    $form->{$campo}->option("costo", "costo");
                    $form->{$campo}->option("descrip", "descrip");
                    $form->{$campo}->option("descrip2", "descrip2");
                    $form->{$campo}->option("clave", "clave");
                    $form->{$campo}->option("grupo", "grupo");
                    $form->{$campo}->option("iva", "iva");
                    for ($i = 1; $i <= 3; $i++) {
                        $form->{$campo}->option("base{$i}", "Base{$i}");
                        $form->{$campo}->option("margen{$i}", "Margen{$i}");
                        $form->{$campo}->option("precio{$i}", "Precio{$i}");
                    }
                    $form->{$campo}->style = 'width:150px;';
                    $j++;
                    $campos .= "+" . "\"&&" . $campo . "=\"+\$(\"#" . $campo . "\").val()";
                }
                //echo $campos;
                $form->cols = new inputField("", "cols");
                $form->cols->insertValue = implode(',', $cols);
                $form->cols->type = 'hidden';
                $form->dir = new inputField("", "dir");
                $form->dir->insertValue = $dir;
                $form->dir->type = 'hidden';
                //$form->submit("btnsubmit","Actualizar");
                $link = site_url('inventario/sinvactu/actualiza');
                $script = '
				function actu(){
					a=confirm("¿Esta Seguro que de desea Actualizar el Inventario ?");
					if(a){
						 $.ajax({
						 type: "POST",
						 processData:false,
							url: "' . $link . '",
							data: "' . $campos . ',
							success: function(msg){
								if(msg=="s.i"){
									alert("El Inventario fue Actualizado.");
								}
								else{
									alert(msg);
								}
							}
						});
					}
				}
				';
                $form->script($script);
                $form->button("actualiza", "Actualizar", "javascript:actu();");
                $form->build_form();
                $grid->build();
                $data2['content'] = $form->output . $salida . $grid->output;
            }
        } else {
            $data2['content'] = $salida;
        }
        $data2['title'] = "<h1>Actualizaci&oacute;n de Inventario</h1>";
        $data2["head"] = script("jquery.pack.js") . $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data2);
    }
Ejemplo n.º 30
0
    function autotranfer2($fecha = null)
    {
        //***************************
        $this->cajas = $this->config->item('cajas');
        foreach ($this->cajas as $inv => $val) {
            $codban = $this->db->escape($val);
            $cana = $this->datasis->dameval("SELECT COUNT(*) AS cana FROM banc WHERE codbanc={$codban}");
            if ($cana == 0) {
                show_error('La caja ' . $val . ' no esta registrada en el sistema, debe registrarla por el modulo de bancos o ajustar la configuracion en config/datasis.php');
            }
        }
        //***************************
        $this->rapyd->load('dataform');
        $this->load->library('validation');
        $val = $this->validation->chfecha($fecha, 'Y-m-d');
        if ($val) {
            $montosis = $this->_montoautotranf($this->cajas['cobranzas'], $fecha);
            if ($montosis > 0) {
                $script = '
					function totaliza(){
						if($("#tarjeta").val().length>0)  tarjeta =parseFloat($("#tarjeta").val());  else tarjeta =0;
						if($("#efectivo").val().length>0) efectivo=parseFloat($("#efectivo").val()); else efectivo=0;
						if($("#gastos").val().length>0)   gastos  =parseFloat($("#gastos").val());   else gastos  =0;
						if($("#valores").val().length>0)  valores =parseFloat($("#valores").val());  else valores =0;
						monto=tarjeta+gastos+efectivo+valores;
						$("#monto").val(roundNumber(monto,2));
					}';
                $edit = new DataForm("finanzas/bcaj/autotranfer2/{$fecha}/process");
                $edit->title = 'Transferencia automatica entre cajas';
                $edit->script($script);
                //$edit->back_url = site_url('finanzas/bcaj/index');
                $campos = array('efectivo' => 'Efectivo caja: ' . $this->cajas['efectivo'], 'tarjeta' => 'Tarjeta de D&eacute;bito y Cr&eacute;dito caja: ' . $this->cajas['tarjetas'], 'gastos' => 'Gastos por Justificar caja: ' . $this->cajas['gastos'], 'valores' => 'Valores, Cesta Tickes y Cheques caja: ' . $this->cajas['valores'], 'monto' => 'Monto total');
                foreach ($campos as $obj => $titulo) {
                    $edit->{$obj} = new inputField($titulo, $obj);
                    $edit->{$obj}->css_class = 'inputnum';
                    $edit->{$obj}->rule = 'trim|numeric';
                    $edit->{$obj}->maxlength = 15;
                    $edit->{$obj}->size = 20;
                    $edit->{$obj}->group = 'Montos';
                    $edit->{$obj}->autocomplete = false;
                }
                $edit->{$obj}->rule = 'trim|numeric|callback_chtotal|required';
                $edit->{$obj}->readonly = true;
                $back_url = site_url('finanzas/bcaj/index');
                $edit->button('btn_undo', 'Regresar', "javascript:window.location='{$back_url}'", 'BL');
                $edit->submit('btnsubmit', 'Guardar');
                $edit->build_form();
                $salida = 'El monto total a tranferir para la fecha <b id="ffecha">' . dbdate_to_human($fecha) . '</b> debe ser de: <b id="mmonto">' . nformat($montosis) . '</b>';
                if ($edit->on_success()) {
                    //$fecha=$edit->fecha->newValue;
                    foreach ($campos as $obj => $titulo) {
                        ${$obj} = $edit->{$obj}->newValue;
                    }
                    if (round($montosis, 2) == round($efectivo + $tarjeta + $gastos + $valores, 2)) {
                        $rt = $this->_autotranfer($fecha, $efectivo, $tarjeta, $gastos, $valores);
                        if ($rt) {
                            redirect('/finanzas/bcaj/listo/n/' . $this->bcajnumero);
                        } else {
                            redirect('/finanzas/bcaj/listo/s');
                        }
                    } else {
                        $edit->error_string = 'El monto total a transferir debe ser de :<b>' . nformat($montosis) . '</b>, faltan ' . nformat($montosis - $efectivo - $tarjeta - $gastos - $valores);
                        $edit->build_form();
                        //$salida .= $edit->output;
                    }
                }
                $salida .= $edit->output;
                $url = site_url('finanzas/bcaj/ajaxmonto');
                $this->rapyd->jquery[] = '$(".inputnum").numeric(".");';
                $this->rapyd->jquery[] = '$(".inputnum").bind("keyup",function() { totaliza(); });';
                $this->rapyd->jquery[] = '$("td").removeAttr("style");';
                $this->rapyd->jquery[] = '$("input[name=\'traesaldo\']").click(function() {
					fecha=$("#fecha").val();
					if(fecha.length > 0){
						$.post("' . $url . '", { fecha: $("#fecha").val() },
							function(data){
								$("#mmonto").html(nformat(data));
								$("#ffecha").html($("#fecha").val());
								$(".alert").hide("slow");
							});
					}else{
						alert("Debe introducir una fecha");
					}
					});';
            } else {
                $dbfecha = $this->db->escape($fecha);
                $mSQL = "SELECT COUNT(*) AS cana FROM bcaj WHERE concep2='AUTOTRANFER' AND fecha={$dbfecha}";
                $cana = $this->datasis->dameval($mSQL);
                if ($cana > 0) {
                    $salida = 'Ya fue hecha una tranferencias para la fecha dada, si desea puede reversarla haciendo click ' . anchor('finanzas/bcaj/reverautotranfer/' . $fecha, 'aqui') . ' ';
                    $salida .= ' o puede ' . anchor('finanzas/bcaj/index', 'regresar') . ' al inicio.';
                } else {
                    $salida = 'No hay monto disponible para transferir ' . anchor('finanzas/bcaj/autotranfer', 'Regresar');
                }
            }
        } else {
            show_error('Falta el parametro fecha');
        }
        $data['content'] = $salida;
        $data['title'] = '<h1>Conciliaci&oacute;n de cierre </h1>';
        $data['head'] = $this->rapyd->get_head() . phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }