Пример #1
0
 function despacha()
 {
     //filteredgrid//
     $this->rapyd->load("datafilter", "datagrid");
     //filter  search/osp
     $filter = new DataForm("ventas/terminal/despacha/search");
     $filter->numero = new inputField("Numero", "numero");
     $filter->numero->rule = "required";
     $filter->numero->size = 15;
     //$filter->buttons("search");
     $filter->build_form();
     $sal = $filter->output;
     //_0040024
     if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
         $numero = $_POST['numero'];
         $mSQL = "SELECT DATE_FORMAT(fecha,'%d/%m/%Y') fecha, cod_cli,nombre, totalg FROM sfac WHERE numero='{$numero}'";
         $query = $this->db->query($mSQL);
         if ($query->num_rows() > 0) {
             $this->_procesar($numero);
             $row = $query->row_array();
             $sal .= '<center><table id="tabledespa">';
             $sal .= '<tr><td>N&uacute;mero</td><td align="right">' . $numero . '</td></tr>';
             $sal .= '<tr><td>Fecha        </td><td align="right">' . $row['fecha'] . '</td></tr>';
             $sal .= '<tr><td>Cliente      </td><td align="right">' . '(' . $row['cod_cli'] . ') ' . $row['nombre'] . '</td></tr>';
             $sal .= '<tr><td>Monto        </td><td align="right">' . number_format($row['totalg'], 2, ',', '.') . '</td></tr></table></center>';
         } else {
             $sal .= 'N&uacute;mero de Factura no valido';
         }
         //$sal .= 'Pase Por aqui'.$mSQL;
         //grid
         /*
         			$grid = new DataGrid('');
         			$grid->order_by("numero","desc");
         			$grid->per_page = 10;
         			$grid->use_function("substr");
         			$grid->column("Numero","numero");
         			$grid->column("fecha","fecha");
         			$grid->column("Nombre","nombre");
         			$grid->column("total","<number_format><#totalg#>|2|,|.</number_format>","align=right");
         			$grid->build();
         			$sal .= $grid->output;*/
     }
     $content["body"] = $sal;
     $content["titu"] = 'Despacho por terminal';
     $content["rapyd_head"] = $this->rapyd->get_head();
     $this->load->view('view_terminal', $content);
 }
Пример #2
0
 function is_valid()
 {
     $result = parent::is_valid();
     if (!$this->check_pk) {
         return $result;
     }
     if ($this->_action == "update" || $this->_action == "insert") {
         $pk_check = array();
         $pk_error = "";
         $hiddens = array();
         //pk fields mode can setted to "autohide" or "readonly" (so pk integrity violation check isn't needed)
         foreach ($this->_fields as $field_name => $field_copy) {
             //reference
             $field =& $this->{$field_name};
             $field->_getValue();
             if (!$field->apply_rules) {
                 $hiddens[$field->db_name] = $field->value;
             }
         }
         //We build a pk array from the form value that is submit if its a writing action (update & insert)
         foreach ($this->_dataobject->pk as $keyfield => $keyvalue) {
             if (isset($this->validation->{$keyfield})) {
                 $pk_check[$keyfield] = $this->validation->{$keyfield};
                 // detect that a pk is hidden, so no integrity check needed
             } elseif (array_key_exists($keyfield, $hiddens)) {
                 $pk_check[$keyfield] = $hiddens[$keyfield];
             }
         }
         if (sizeof($pk_check) != $this->_pkey) {
             //If PK is Autoincrement we don't need to check PK integrity, But its supose that for a none AutoIcrement PK the form always contain the right PK fields
             if (sizeof($this->_dataobject->pk) == 1 && sizeof($pk_check) == 0) {
                 return $result;
             }
         }
         // this check the unicity of PK with the new DO function
         $pk_check_unique = array();
         foreach ($pk_check as $keyfield => $keyvalue) {
             if (!array_key_exists($keyfield, $hiddens)) {
                 $pk_check_unique[$keyfield] = $keyvalue;
             }
         }
         if (count($pk_check_unique) > 0) {
             if ($result && !$this->_dataobject->are_unique($pk_check_unique)) {
                 $result = false;
                 $pk_error .= RAPYD_MSG_0210 . "<br />";
             }
         }
     }
     $this->error_string = $pk_error . $this->error_string;
     return $result;
 }
Пример #3
0
 function compara()
 {
     $this->rapyd->load("datafilter", "datagrid");
     $this->db->_escape_char = '';
     $this->db->_protect_identifiers = false;
     function colum($diferen)
     {
         if ($diferen < 0) {
             return '<b style="color:red;">' . $diferen . '</b>';
         } else {
             return '<b style="color:green;">' . $diferen . '</b>';
         }
     }
     function dif($a, $b)
     {
         return number_format($a - $b, 2, ',', '.');
     }
     $modbus = array('tabla' => 'vend', 'columnas' => array('vendedor' => 'C&oacute;digo Vendedor', 'nombre' => 'Nombre'), 'filtro' => array('vendedor' => 'C&oacute;digo Vendedor', 'nombre' => 'Nombre'), 'retornar' => array('vendedor' => 'vendedor'), 'titulo' => 'Buscar Vendedor');
     $boton = $this->datasis->modbus($modbus);
     $base_process_uri = $this->rapyd->uri->implode_uri("base_uri", "gfid", "orderby");
     $filter = new DataForm($this->rapyd->uri->add_clause($base_process_uri, "search"));
     $filter->title('Filtro');
     $filter->attributes = array('onsubmit' => 'is_loaded()');
     $filter->fecha = new dateonlyField("Fecha", "d.fecha", 'm/Y');
     $filter->fecha->clause = 'where';
     $filter->fecha->insertValue = date("mY");
     $filter->fecha->operator = "=";
     $filter->fecha->dbformat = 'Ym';
     $filter->fecha->size = 7;
     $filter->fecha->append('mes/año');
     $filter->fecha->rule = "required";
     $filter->public = new checkboxField("Agrupado por Vendedor", "public", "1", "0");
     $filter->vendedor = new inputField("Vendedor", "vendedor");
     $filter->vendedor->size = 10;
     $filter->vendedor->maxlength = 10;
     $filter->vendedor->append($boton);
     $filter->submit("btnsubmit", "Descargar");
     $filter->build_form();
     if ($this->rapyd->uri->is_set("search") and $filter->is_valid()) {
         $fecha = $filter->fecha->newValue;
         $vendedor = $filter->vendedor->newValue;
         $agrupar = $filter->public->newValue;
         //ECHO 'AQUIII: '.$agrupar;
         $fechai = $fecha . '01';
         $fechaf = $fecha . '31';
         $mSQL = "(SELECT\n\t\t\td.cantidad as metasv, b.clave, c.vd as vendedor, e.nombre as nombrev, \n\t\t\tSUM(a.cana*b.peso*(d.tipo='P'))+ a.cana*(d.tipo='C')+ a.cana*(d.tipo='P')* (b.peso=0 OR b.peso IS NULL) AS ventas \n\t\t\tFROM (sitems AS a) JOIN sinv AS b ON a.codigoa=b.codigo \n\t\t\tJOIN sfac AS c ON a.tipoa=c.tipo_doc AND a.numa=c.numero \n\t\t\tJOIN metas AS d ON b.clave=d.codigo AND d.fecha='201004' \n\t\t\tAND c.vd=d.vendedor JOIN vend AS e ON d.vendedor=e.vendedor \n\t\t\tWHERE a.fecha >= '20100401' AND a.fecha <= '20100431' \n\t\t\tGROUP BY b.clave,c.vd) as h";
         $grid = new DataGrid("Resultados");
         $grid->use_function('colum');
         $select = array("h.clave as codigo", "sum(h.metasv)as metas", "sum(h.ventas)as ventas", "sum(h.ventas)-sum(h.metasv)as diferen", "h.vendedor", "h.nombrev");
         $grid->db->select($select);
         $grid->db->from("{$mSQL}");
         if (!empty($vendedor)) {
             $grid->db->where("h.vendedor", $vendedor);
         } else {
             $grid->db->orderby("h.vendedor");
         }
         if ($agrupar == '0') {
             $grid->db->groupby("h.clave");
         } else {
             $grid->db->groupby("h.clave,h.vendedor");
         }
         if ($agrupar == '0') {
             $grid->column("Codigo", "codigo");
             $grid->column("Venta", "<nformat><#ventas#></nformat>", "align='right'");
             $grid->column("Metas", "<#metas#>", "align='right'");
             $grid->column("Diferencia", "<colum><nformat><#diferen#></nformat></colum>", "align='right'");
         } else {
             $grid->column("Codigo", "codigo");
             $grid->column("Vendedor", "<#vendedor#>", "align='center'");
             $grid->column("Nombre", "<#nombrev#>", "align='left'");
             $grid->column("Venta", "<nformat><#ventas#></nformat>", "align='right'");
             $grid->column("Metas", "<nformat><#metas#></nformat>", "align='right'");
             $grid->column("Diferencia", "<colum><nformat><#diferen#></nformat></colum>", "align='right'");
         }
         $grid->build();
         $tabla = $grid->output;
         //echo $grid->db->last_query();
     } else {
         $tabla = '';
     }
     $data['content'] = $filter->output . $tabla;
     $data['title'] = "<h1>Estado de Metas</h1>";
     $data["head"] = $this->rapyd->get_head();
     $this->load->view('view_ventanas', $data);
 }
Пример #4
0
 function compara()
 {
     $this->load->helper('fecha');
     $this->rapyd->load('datafilter', 'datagrid');
     $this->db->_escape_char = '';
     $this->db->_protect_identifiers = false;
     function colum($diferen)
     {
         if ($diferen < 0) {
             return '<b style="color:red;">' . $diferen . '</b>';
         } else {
             return '<b style="color:green;">' . $diferen . '</b>';
         }
     }
     function dif($a, $b)
     {
         return nformat($a - $b);
     }
     function formfecha($mes)
     {
         $anio = substr($mes, 0, 4);
         $nom = mesLetra(substr($mes, 4));
         return "{$nom}-{$anio}";
     }
     $base_process_uri = $this->rapyd->uri->implode_uri('base_uri', 'gfid', 'orderby');
     $filter = new DataForm($this->rapyd->uri->add_clause($base_process_uri, 'search'));
     $filter->title('Filtro');
     //$filter->attributes=array('onsubmit'=>'is_loaded()');
     $filter->fecha = new dateonlyField('Fecha', 'd.fecha', 'm/Y');
     $filter->fecha->clause = 'where';
     $filter->fecha->insertValue = date('mY');
     $filter->fecha->operator = '=';
     $filter->fecha->dbformat = 'Ym';
     $filter->fecha->size = 7;
     $filter->fecha->append('mes/año');
     $filter->fecha->rule = 'required';
     $filter->vendedor = new dropdownField('Vendedor', 'vendedor');
     $filter->vendedor->option('', 'Todos');
     $filter->vendedor->options("SELECT vendedor, CONCAT(vendedor,'-',nombre) AS nom FROM vend WHERE tipo IN ('V','A') ORDER BY vendedor");
     $accion = "javascript:window.location='" . site_url('ventas/metas/filteredgrid') . "'";
     $filter->button('btn_pfl', 'Regresar', $accion, 'TR');
     $filter->submit('btnsubmit', 'Buscar');
     $filter->build_form();
     if ($this->rapyd->uri->is_set('search') and $filter->is_valid()) {
         $fecha = $filter->fecha->newValue;
         $vendedor = $filter->vendedor->newValue;
         $udia = days_in_month(substr($fecha, 4), substr($fecha, 0, 4));
         $fechai = $fecha . '01';
         $fechaf = $fecha . $udia;
         $grid = new DataGrid('Resultados');
         $grid->use_function('colum', 'dif', 'formfecha');
         $sel = array('a.codigo', 'a.descrip', 'SUM(d.cana*IF(tipoa=\'D\',-1,1)) AS ventas');
         if (!empty($vendedor)) {
             $dbvd = $this->db->escape($vendedor);
             $sel[] = $dbvd . ' AS vendedor';
             $sel[] = $this->db->escape($filter->vendedor->options[$vendedor]) . ' AS nombrev';
             $sel[] = 'c.cantidad AS meta';
             $pmargen = $this->datasis->dameval('SELECT pmargen FROM vend WHERE vendedor=' . $dbvd);
             if (empty($pmargen)) {
                 $pmargen = 0;
             } else {
                 $pmargen = $pmargen / 100;
             }
             $sel[] = 'c.cantidad*' . $pmargen . ' AS meta';
             $ww = ' AND d.vendedor=' . $dbvd;
         } else {
             $sel[] = 'c.cantidad AS meta';
             $ww = '';
         }
         $grid->db->from('sinv   AS a');
         $grid->db->join('metas  AS c', 'a.codigo=c.codigo AND c.fecha=' . $fecha);
         $grid->db->join('sitems AS d', "d.codigoa=c.codigo AND d.fecha BETWEEN {$fechai} AND {$fechaf} {$ww}", 'left');
         $grid->db->join('vend   AS e', 'd.vendedor=e.vendedor', 'left');
         $grid->db->group_by('a.codigo');
         $grid->db->select($sel);
         $grid->column('C&oacute;digo', 'codigo');
         $grid->column('Descripci&oacute;n', 'descrip');
         if (!empty($vendedor)) {
             $grid->column('Vendedor', 'vendedor', "align='center'");
             $grid->column('Nombre', 'nombrev', "align='left'");
         }
         $grid->column('Venta', '<nformat><#ventas#></nformat>', "align='right'");
         $grid->column('Meta', '<nformat><#meta#></nformat>', "align='right'");
         $grid->column('Diferencia', '<colum><dif><#ventas#>|<#meta#></dif></colum>', "align='right'");
         $grid->build();
         $tabla = $grid->output;
         //echo $grid->db->last_query();
     } else {
         $tabla = '';
     }
     $data['content'] = $filter->output . $tabla;
     $data['title'] = heading('Estado de Metas');
     $data['head'] = $this->rapyd->get_head();
     $this->load->view('view_ventanas', $data);
 }