protected function private_core() { $this->mostrar = 'clientes'; if (isset($_REQUEST['mostrar'])) { $this->mostrar = $_REQUEST['mostrar']; } $this->offset = 0; if (isset($_REQUEST['offset'])) { $this->offset = intval($_REQUEST['offset']); } $this->grupo = FALSE; $this->tarifa = FALSE; if (isset($_REQUEST['cod'])) { $grupo = new grupo_clientes(); $this->grupo = $grupo->get($_REQUEST['cod']); } if ($this->grupo) { $tar0 = new tarifa(); $this->tarifa = $tar0->get($this->grupo->codtarifa); $this->total_clientes = 0; $this->total_facturas = 0; if ($this->mostrar == 'clientes') { $this->resultados = $this->clientes_from_grupo($this->grupo->codgrupo, $this->offset); } else { $this->resultados = $this->facturas_from_grupo($this->grupo->codgrupo, $this->offset); } } else { $this->new_error_msg('Grupo no encontrado.'); } }
public function get_tarifas_articulo($ref) { $tarlist = array(); $articulo = new articulo(); $tarifa = new tarifa(); foreach ($tarifa->all() as $tar) { $art = $articulo->get($ref); if ($art) { $art->dtopor = 0; $aux = array($art); $tar->set_precios($aux); $tarlist[] = $aux[0]; } } return $tarlist; }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $articulo = new articulo(); $this->familia = new familia(); $this->fabricante = new fabricante(); $this->impuesto = new impuesto(); $this->tarifa = new tarifa(); $inventario = new inventario(); /** * Si hay alguna extensión de tipo config y texto no_tab_tarifas, * desactivamos la pestaña tarifas. */ $this->mostrar_tab_tarifas = TRUE; foreach ($this->extensions as $ext) { if ($ext->type == 'config' and $ext->text == 'no_tab_tarifas') { $this->mostrar_tab_tarifas = FALSE; break; } } if (isset($_POST['codtarifa'])) { /// crear/editar tarifa $tar0 = $this->tarifa->get($_POST['codtarifa']); if (!$tar0) { $tar0 = new tarifa(); $tar0->codtarifa = $_POST['codtarifa']; } $tar0->nombre = $_POST['nombre']; $tar0->aplicar_a = $_POST['aplicar_a']; $tar0->set_x(floatval($_POST['dtopor'])); $tar0->set_y(floatval($_POST['inclineal'])); if ($tar0->save()) { $this->new_message("Tarifa guardada correctamente."); } else { $this->new_error_msg("¡Imposible guardar la tarifa!"); } } else { if (isset($_GET['delete_tarifa'])) { /// eliminar tarifa $tar0 = $this->tarifa->get($_GET['delete_tarifa']); if ($tar0) { if ($tar0->delete()) { $this->new_message("Tarifa borrada correctamente."); } else { $this->new_error_msg("¡Imposible borrar la tarifa!"); } } else { $this->new_error_msg("¡La tarifa no existe!"); } } else { if (isset($_POST['referencia']) and isset($_POST['codfamilia']) and isset($_POST['codimpuesto'])) { /// nuevo artículo $this->save_codfamilia($_POST['codfamilia']); $this->save_codimpuesto($_POST['codimpuesto']); $art0 = $articulo->get($_POST['referencia']); if ($art0) { $this->new_error_msg('Ya existe el artículo <a href="' . $art0->url() . '">' . $art0->referencia . '</a>'); } else { $articulo->referencia = $_POST['referencia']; $articulo->descripcion = $_POST['referencia']; $articulo->nostock = isset($_POST['nostock']); if ($_POST['codfamilia'] != '') { $articulo->codfamilia = $_POST['codfamilia']; } if ($_POST['codfabricante'] != '') { $articulo->codfabricante = $_POST['codfabricante']; } $articulo->set_pvp(floatval($_POST['pvp'])); $articulo->set_impuesto($_POST['codimpuesto']); if ($articulo->save()) { $inventario->codalmacen = $_POST['codfamilia']; $inventario->referencia = $_POST['referencia']; $inventario->save(); header('location: ' . $articulo->url()); } else { $this->new_error_msg("¡Error al crear el articulo!"); } } } else { if (isset($_GET['delete'])) { /// eliminar artículo $art = $articulo->get($_GET['delete']); if ($art) { if ($art->delete()) { $this->new_message("Articulo " . $art->referencia . " eliminado correctamente."); } else { $this->new_error_msg("¡Error al eliminarl el articulo!"); } } } } } } /// recogemos los datos necesarios para la búsqueda $this->buscar = FALSE; $this->codfamilia = ''; if (isset($_REQUEST['codfamilia'])) { $this->codfamilia = $_REQUEST['codfamilia']; $this->buscar = TRUE; } $this->codfabricante = ''; if (isset($_REQUEST['codfabricante'])) { $this->codfabricante = $_REQUEST['codfabricante']; $this->buscar = TRUE; } $this->con_stock = isset($_REQUEST['con_stock']); $this->bloqueados = isset($_REQUEST['bloqueados']); if (isset($_REQUEST['query']) or $this->con_stock or $this->bloqueados) { $this->buscar = TRUE; } $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if (isset($_GET['solo_stock'])) { $this->resultados = $articulo->search('', $this->offset, '', TRUE); } else { if (isset($_GET['public'])) { $this->resultados = $articulo->all_publico($this->offset); } else { $this->resultados = $articulo->search($this->query, $this->offset, $this->codfamilia, $this->con_stock, $this->codfabricante, $this->bloqueados); } } }
public function get_tarifas() { $tarlist = array(); $tarifa = new tarifa(); foreach ($tarifa->all() as $tar) { $articulo = $this->articulo->get($this->articulo->referencia); if ($articulo) { $articulo->dtopor = 0; $aux = array($articulo); $tar->set_precios($aux); $tarlist[] = $aux[0]; } } return $tarlist; }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $articulo = new articulo(); $this->familia = new familia(); $this->fabricante = new fabricante(); $this->impuesto = new impuesto(); $this->tarifa = new tarifa(); /** * Si hay alguna extensión de tipo config y texto no_tab_tarifas, * desactivamos la pestaña tarifas. */ $this->mostrar_tab_tarifas = TRUE; foreach ($this->extensions as $ext) { if ($ext->type == 'config' and $ext->text == 'no_tab_tarifas') { $this->mostrar_tab_tarifas = FALSE; break; } } if (isset($_POST['codtarifa'])) { /// crear/editar tarifa $tar0 = $this->tarifa->get($_POST['codtarifa']); if (!$tar0) { $tar0 = new tarifa(); $tar0->codtarifa = $_POST['codtarifa']; } $tar0->nombre = $_POST['nombre']; $tar0->aplicar_a = $_POST['aplicar_a']; $tar0->set_x(floatval($_POST['dtopor'])); $tar0->set_y(floatval($_POST['inclineal'])); $tar0->mincoste = isset($_POST['mincoste']); $tar0->maxpvp = isset($_POST['maxpvp']); if ($tar0->save()) { $this->new_message("Tarifa guardada correctamente."); } else { $this->new_error_msg("¡Imposible guardar la tarifa!"); } } else { if (isset($_GET['delete_tarifa'])) { /// eliminar tarifa $tar0 = $this->tarifa->get($_GET['delete_tarifa']); if ($tar0) { if ($tar0->delete()) { $this->new_message("Tarifa borrada correctamente."); } else { $this->new_error_msg("¡Imposible borrar la tarifa!"); } } else { $this->new_error_msg("¡La tarifa no existe!"); } } else { if (isset($_POST['referencia']) and isset($_POST['codfamilia']) and isset($_POST['codimpuesto'])) { /// nuevo artículo $this->save_codimpuesto($_POST['codimpuesto']); $art0 = $articulo->get($_POST['referencia']); if ($art0) { $this->new_error_msg('Ya existe el artículo <a href="' . $art0->url() . '">' . $art0->referencia . '</a>'); } else { if ($_POST['referencia'] == '') { $articulo->referencia = $articulo->get_new_referencia(); } else { $articulo->referencia = $_POST['referencia']; } $articulo->descripcion = $_POST['descripcion']; $articulo->nostock = isset($_POST['nostock']); if ($_POST['codfamilia'] != '') { $articulo->codfamilia = $_POST['codfamilia']; } if ($_POST['codfabricante'] != '') { $articulo->codfabricante = $_POST['codfabricante']; } $articulo->set_pvp(floatval($_POST['pvp'])); $articulo->set_impuesto($_POST['codimpuesto']); if ($articulo->save()) { header('location: ' . $articulo->url()); } else { $this->new_error_msg("¡Error al crear el articulo!"); } } } else { if (isset($_GET['delete'])) { /// eliminar artículo $art = $articulo->get($_GET['delete']); if ($art) { if ($art->delete()) { $this->new_message("Articulo " . $art->referencia . " eliminado correctamente."); } else { $this->new_error_msg("¡Error al eliminarl el articulo!"); } } } } } } /// obtenemos los datos para la búsqueda $this->offset = 0; if (isset($_REQUEST['offset'])) { $this->offset = intval($_REQUEST['offset']); } $this->b_codfamilia = ''; if (isset($_REQUEST['b_codfamilia'])) { $this->b_codfamilia = $_REQUEST['b_codfamilia']; } $this->b_codfabricante = ''; if (isset($_REQUEST['b_codfabricante'])) { $this->b_codfabricante = $_REQUEST['b_codfabricante']; } $this->b_constock = isset($_REQUEST['b_constock']); $this->b_bloqueados = isset($_REQUEST['b_bloqueados']); $this->b_publicos = isset($_REQUEST['b_publicos']); $this->b_codtarifa = ''; if (isset($_REQUEST['b_codtarifa'])) { $this->b_codtarifa = $_REQUEST['b_codtarifa']; setcookie('b_codtarifa', $this->b_codtarifa, time() + FS_COOKIES_EXPIRE); } else { if (isset($_COOKIE['b_codtarifa'])) { $this->b_codtarifa = $_COOKIE['b_codtarifa']; } } $this->b_orden = 'refmin'; if (isset($_REQUEST['b_orden'])) { $this->b_orden = $_REQUEST['b_orden']; setcookie('ventas_articulos_orden', $this->b_orden, time() + FS_COOKIES_EXPIRE); } else { if (isset($_COOKIE['ventas_articulos_orden'])) { $this->b_orden = $_COOKIE['ventas_articulos_orden']; } } $this->b_url = $this->url() . "&query=" . $this->query . "&b_codfabricante=" . $this->b_codfabricante . "&b_codfamilia=" . $this->b_codfamilia . "&b_codtarifa=" . $this->b_codtarifa; if ($this->b_constock) { $this->b_url .= '&b_constock=TRUE'; } if ($this->b_bloqueados) { $this->b_url .= '&b_bloqueados=TRUE'; } if ($this->b_publicos) { $this->b_url .= '&b_publicos=TRUE'; } $this->search_articulos(); }
public function get_tarifas($todas = FALSE) { $tarifa = new tarifa(); $tarifas = $tarifa->all(); $tarifa_articulo = new tarifa_articulo(); $tas = $tarifa_articulo->all_from_articulo($this->referencia); if ($todas) { foreach ($tarifas as $t) { $encontrada = FALSE; foreach ($tas as $ta) { if ($ta->codtarifa == $t->codtarifa) { $encontrada = TRUE; break; } } if (!$encontrada) { /// añadimos las tarifas que no tiene asignadas $tas[] = new tarifa_articulo(array('id' => NULL, 'codtarifa' => $t->codtarifa, 'referencia' => $this->referencia, 'descuento' => 0 - $t->incporcentual)); } } } /// rellenamos las tarifas foreach ($tas as $ta) { foreach ($tarifas as $t) { if ($t->codtarifa == $ta->codtarifa) { $ta->nombre = $t->nombre; $ta->pvp = $this->pvp; $ta->iva = $this->get_iva(); break; } } } return $tas; }
private function new_search() { /// desactivamos la plantilla HTML $this->template = FALSE; $articulo = new articulo(); $codfamilia = ''; if (isset($_REQUEST['codfamilia'])) { $codfamilia = $_REQUEST['codfamilia']; } $con_stock = isset($_REQUEST['con_stock']); $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock); /// añadimos la busqueda foreach ($this->results as $i => $value) { $this->results[$i]->query = $this->query; $this->results[$i]->dtopor = 0; } /// buscamos el grupo de clientes y la tarifa if (isset($_REQUEST['codcliente'])) { $cliente = $this->cliente->get($_REQUEST['codcliente']); if ($cliente->codgrupo) { $grupo0 = new grupo_clientes(); $grupo = $grupo0->get($cliente->codgrupo); if ($grupo) { $tarifa0 = new tarifa(); $tarifa = $tarifa0->get($grupo->codtarifa); if ($tarifa) { foreach ($this->results as $i => $value) { $this->results[$i]->dtopor = 0 - $tarifa->incporcentual; } } } } } header('Content-Type: application/json'); echo json_encode($this->results); }
private function importar_tarifas() { $importadas = 0; $data = $this->db->select("SELECT * FROM tarifas;"); if ($data) { foreach ($data as $d) { $tar = $this->tarifa->get($d['codtarifa']); if (!$tar) { $tar = new tarifa(); $tar->codtarifa = $d['codtarifa']; $tar->nombre = $d['nombre']; if ($d['aplicar_a'] != 'pvp') { $tar->margen = TRUE; $tar->set_x(floatval($d['incporcentual'])); $tar->set_y(floatval($d['inclineal'])); } else { $tar->set_x(0 - floatval($d['incporcentual'])); $tar->set_y(0 - floatval($d['inclineal'])); } $tar->mincoste = $tar->str2bool($d['mincoste']); $tar->maxpvp = $tar->str2bool($d['maxpvp']); if ($tar->save()) { $importadas++; } } } } $this->new_message($importadas . ' tarifas importadas.'); }
protected function process() { $this->custom_search = TRUE; $articulo = new articulo(); $this->familia = new familia(); $this->impuesto = new impuesto(); $this->tarifa = new tarifa(); $this->buttons[] = new fs_button('b_nuevo_articulo', 'Nuevo', '#nuevo'); $this->buttons[] = new fs_button('b_modificar_iva', 'Modificar IVA', '#mod-iva'); $this->codfamilia = ''; if (isset($_REQUEST['codfamilia'])) { $this->codfamilia = $_REQUEST['codfamilia']; } $this->con_stock = isset($_REQUEST['con_stock']); if (isset($_POST['codtarifa'])) { $tar0 = $this->tarifa->get($_POST['codtarifa']); if (!$tar0) { $tar0 = new tarifa(); $tar0->codtarifa = $_POST['codtarifa']; } $tar0->nombre = $_POST['nombre']; $tar0->incporcentual = 0 - floatval($_POST['dtopor']); if ($tar0->save()) { $this->new_message("Tarifa guardada correctamente."); } else { $this->new_error_msg("¡Imposible guardar la tarifa!"); } } else { if (isset($_GET['delete_tarifa'])) { $tar0 = $this->tarifa->get($_GET['delete_tarifa']); if ($tar0) { if ($tar0->delete()) { $this->new_message("Tarifa borrada correctamente."); } else { $this->new_error_msg("¡Imposible borrar la tarifa!"); } } else { $this->new_error_msg("¡La tarifa no existe!"); } } else { if (isset($_POST['mod_iva'])) { if ($_POST['codimpuesto'] == $_POST['codimpuesto2']) { $this->new_error_msg("¡Has seleccionado el mismo IVA dos veces!"); } else { if ($articulo->move_codimpuesto($_POST['codimpuesto'], $_POST['codimpuesto2'], isset($_POST['mantener']))) { $this->new_message("Artículos modificados correctamente."); } else { $this->new_error_msg("¡Impodible modificar los artículos!"); } } } else { if (isset($_POST['referencia']) and isset($_POST['codfamilia']) and isset($_POST['codimpuesto'])) { $this->save_codfamilia($_POST['codfamilia']); $this->save_codimpuesto($_POST['codimpuesto']); $art0 = $articulo->get($_POST['referencia']); if ($art0) { $this->new_error_msg('Ya existe el artículo <a href="' . $art0->url() . '">' . $art0->referencia . '</a>'); } else { $articulo->referencia = $_POST['referencia']; $articulo->descripcion = $_POST['referencia']; $articulo->codfamilia = $_POST['codfamilia']; $articulo->set_impuesto($_POST['codimpuesto']); if ($articulo->save()) { header('location: ' . $articulo->url()); } else { $this->new_error_msg("¡Error al crear el articulo!"); } } } else { if (isset($_GET['delete'])) { $art = $articulo->get($_GET['delete']); if ($art) { if ($art->delete()) { $this->new_message("Articulo " . $art->referencia . " eliminado correctamente."); } else { $this->new_error_msg("¡Error al eliminarl el articulo!"); } } } } } } } $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if ($this->query != '') { $this->resultados = $articulo->search($this->query, $this->offset, $this->codfamilia, $this->con_stock); } else { if (isset($_GET['solo_stock'])) { $this->resultados = $articulo->search('', $this->offset, '', TRUE); } else { if (isset($_GET['public'])) { $this->resultados = $articulo->all_publico($this->offset); } else { $this->resultados = $articulo->all($this->offset); } } } }