protected function private_core() { $this->share_extension(); /// cargamos la configuración de servicios $fsvar = new fs_var(); $this->setup = $fsvar->array_get(array('servicios_diasfin' => 10, 'servicios_material' => 0, 'servicios_mostrar_material' => 0, 'servicios_material_estado' => 0, 'servicios_mostrar_material_estado' => 0, 'servicios_accesorios' => 0, 'servicios_mostrar_accesorios' => 0, 'servicios_descripcion' => 0, 'servicios_mostrar_descripcion' => 0, 'servicios_solucion' => 0, 'servicios_mostrar_solucion' => 0, 'servicios_fechafin' => 0, 'servicios_mostrar_fechafin' => 0, 'servicios_fechainicio' => 0, 'servicios_mostrar_fechainicio' => 0, 'servicios_mostrar_garantia' => 0, 'servicios_garantia' => 0, 'servicios_condiciones' => "Condiciones del deposito:\nLos presupuestos realizados tienen una" . " validez de 15 días.\nUna vez avisado al cliente para que recoja el producto este dispondrá" . " de un plazo máximo de 2 meses para recogerlo, de no ser así y no haber aviso por parte del" . " cliente se empezará a cobrar 1 euro al día por gastos de almacenaje.\nLos accesorios y" . " productos externos al equipo no especificados en este documento no podrán ser reclamados en" . " caso de disconformidad con el técnico.", 'st_servicio' => "Servicio", 'st_servicios' => "Servicios", 'st_material' => "Material", 'st_material_estado' => "Estado del material entregado", 'st_accesorios' => "Accesorios que entrega", 'st_descripcion' => "Descripción de la averia", 'st_solucion' => "Solución", 'st_fechainicio' => "Fecha de Inicio", 'st_fechafin' => "Fecha de finalización", 'st_garantía' => "Garantía"), FALSE); /// cargamos el servicios $this->servicio = FALSE; if (isset($_GET['id'])) { $serv0 = new servicio_cliente(); $this->servicio = $serv0->get($_GET['id']); } $term0 = new terminal_caja(); $this->terminales = $term0->all(); $this->terminal = FALSE; if (isset($_GET['terminal'])) { $this->terminal = $term0->get($_GET['terminal']); } if ($this->servicio and $this->terminal) { $cli0 = new cliente(); $this->cliente = $cli0->get($this->servicio->codcliente); $numt = $this->terminal->num_tickets; while ($numt > 0) { $this->imprimir(); $this->terminal->save(); $numt--; } } }
protected function private_core() { //cargamos configuración de servicios $fsvar = new fs_var(); $this->servicios_setup = $fsvar->array_get(array('servicios_diasfin' => 10, 'servicios_material' => 0, 'servicios_mostrar_material' => 0, 'servicios_material_estado' => 0, 'servicios_mostrar_material_estado' => 0, 'servicios_accesorios' => 0, 'servicios_mostrar_accesorios' => 0, 'servicios_descripcion' => 0, 'servicios_mostrar_descripcion' => 0, 'servicios_solucion' => 0, 'servicios_mostrar_solucion' => 0, 'servicios_fechafin' => 0, 'servicios_mostrar_fechafin' => 0, 'servicios_fechainicio' => 0, 'servicios_mostrar_fechainicio' => 0, 'servicios_mostrar_garantia' => 0, 'servicios_garantia' => 0, 'servicios_condiciones' => "Condiciones del deposito:\nLos presupuestos realizados tienen una" . " validez de 15 días.\nUna vez avisado al cliente para que recoja el producto este dispondrá" . " de un plazo máximo de 2 meses para recogerlo, de no ser así y no haber aviso por parte del" . " cliente se empezará a cobrar 1 euro al día por gastos de almacenaje.\nLos accesorios y" . " productos externos al equipo no especificados en este documento no podrán ser reclamados en" . " caso de disconformidad con el técnico."), FALSE); /*Cargamos traduccion*/ $this->st = $fsvar->array_get(array('st_servicio' => "Servicio", 'st_servicios' => "Servicios", 'st_material' => "Material", 'st_material_estado' => "Estado del material entregado", 'st_accesorios' => "Accesorios que entrega", 'st_descripcion' => "Descripción de la averia", 'st_solucion' => "Solución"), FALSE); $this->cliente = FALSE; $this->impuesto = new impuesto(); $this->servicio = FALSE; /// obtenemos los datos de configuración de impresión $this->impresion = array('print_ref' => '1', 'print_dto' => '1', 'print_alb' => '0'); $fsvar = new fs_var(); $this->impresion = $fsvar->array_get($this->impresion, FALSE); if (isset($_REQUEST['id'])) { $serv = new servicio_cliente(); $this->servicio = $serv->get($_REQUEST['id']); if ($this->servicio) { $cliente = new cliente(); $this->cliente = $cliente->get($this->servicio->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('servicio'); } else { $this->generar_pdf_servicio(); } } $this->share_extensions(); }
public function __construct($s = FALSE) { parent::__construct('servicioscli', 'plugins/servicios/'); if ($s) { $this->idservicio = $this->intval($s['idservicio']); $this->idalbaran = $this->intval($s['idalbaran']); $this->codigo = $s['codigo']; $this->codagente = $s['codagente']; $this->codpago = $s['codpago']; $this->codserie = $s['codserie']; $this->codejercicio = $s['codejercicio']; $this->codcliente = $s['codcliente']; $this->coddivisa = $s['coddivisa']; $this->codalmacen = $s['codalmacen']; $this->codpais = $s['codpais']; $this->coddir = $s['coddir']; $this->codpostal = $s['codpostal']; $this->numero = $s['numero']; $this->numero2 = $s['numero2']; $this->nombrecliente = $s['nombrecliente']; $this->cifnif = $s['cifnif']; $this->direccion = $s['direccion']; $this->ciudad = $s['ciudad']; $this->provincia = $s['provincia']; $this->apartado = $s['apartado']; $this->fecha = Date('d-m-Y', strtotime($s['fecha'])); $this->hora = Date('H:i:s', strtotime($s['fecha'])); if (!is_null($s['hora'])) { $this->hora = $s['hora']; } $this->neto = floatval($s['neto']); $this->total = floatval($s['total']); $this->totaliva = floatval($s['totaliva']); $this->totaleuros = floatval($s['totaleuros']); $this->irpf = floatval($s['irpf']); $this->totalirpf = floatval($s['totalirpf']); $this->porcomision = floatval($s['porcomision']); $this->tasaconv = floatval($s['tasaconv']); $this->recfinanciero = floatval($s['recfinanciero']); $this->totalrecargo = floatval($s['totalrecargo']); $this->observaciones = $s['observaciones']; $this->descripcion = $s['descripcion']; $this->solucion = $s['solucion']; $this->material = $s['material']; $this->material_estado = $s['material_estado']; $this->accesorios = $s['accesorios']; $this->idestado = $s['idestado']; $this->fechafin = NULL; if (isset($s['fechafin'])) { $this->fechafin = date('d-m-Y H:i', strtotime($s['fechafin'] . ' ' . $s['horafin'])); } $this->fechainicio = NULL; if (isset($s['fechainicio'])) { $this->fechainicio = date('d-m-Y H:i', strtotime($s['fechainicio'] . ' ' . $s['horainicio'])); } $this->garantia = $s['garantia']; $this->prioridad = $s['prioridad']; $this->editable = $this->str2bool($s['editable']); } else { $this->idservicio = NULL; $this->idalbaran = NULL; $this->codigo = NULL; $this->codagente = NULL; $this->codpago = NULL; $this->codserie = NULL; $this->codejercicio = NULL; $this->codcliente = NULL; $this->coddivisa = NULL; $this->codalmacen = NULL; $this->codpais = NULL; $this->coddir = NULL; $this->codpostal = ''; $this->numero = NULL; $this->numero2 = NULL; $this->nombrecliente = NULL; $this->cifnif = NULL; $this->direccion = NULL; $this->ciudad = NULL; $this->provincia = NULL; $this->apartado = NULL; $this->fecha = Date('d-m-Y'); $this->hora = Date('H:i:s'); $this->neto = 0; $this->total = 0; $this->totaliva = 0; $this->totaleuros = 0; $this->irpf = 0; $this->totalirpf = 0; $this->porcomision = 0; $this->tasaconv = 1; $this->recfinanciero = 0; $this->totalrecargo = 0; $this->observaciones = NULL; $this->descripcion = NULL; $this->solucion = NULL; $this->material = NULL; $this->material_estado = NULL; $this->accesorios = NULL; $this->idestado = NULL; $this->prioridad = 3; $this->fechafin = NULL; $this->fechainicio = Date('d-m-Y'); $this->garantia = FALSE; $this->editable = TRUE; } if (!isset(self::$estados)) { $estado = new estado_servicio(); self::$estados = $estado->all(); } }
protected function private_core() { $this->provsms = new proveedor_sms(); $this->documento = FALSE; $this->telefono = ''; $this->mensaje = ''; $this->documento_url = $this->url(); $cliente = new cliente(); $servicio = FALSE; if (isset($_REQUEST['servicio'])) { $serv = new servicio_cliente(); $servicio = $serv->get($_REQUEST['id']); if ($servicio) { $this->cliente = $cliente->get($servicio->codcliente); $this->id = $servicio->idservicio; $this->documento = 'servicio'; $this->documento_url = $servicio->url(); } } else { if (isset($_REQUEST['pedido'])) { $ped = new pedido_cliente(); $pedido = $ped->get($_REQUEST['id']); if ($pedido) { $this->cliente = $cliente->get($pedido->codcliente); $this->id = $pedido->idpedido; $this->documento = 'pedido'; $this->documento_url = $pedido->url(); } } } if (isset($_POST['enviar'])) { $this->provsms = FALSE; $provsms = new proveedor_sms(); $this->provsms = $provsms->get($_POST['proveedor']); if ($this->provsms) { if (!($this->telefono = $_POST['telefono'] == '+34')) { $this->telefono = $_POST['telefono']; $this->mensaje = $_POST['mensaje']; if (strpos($this->provsms->url, 'freevoipdeal')) { if ($this->sms_freevoipdeal()) { $this->new_message('Mensaje desde Freevoipdeal enviado'); if ($servicio) { $this->agrega_detalle($servicio); } else { if ($pedido) { $this->pedido_observaciones(); } } } else { $this->new_error_msg('Error al enviar el mensaje'); } } else { if (strpos($this->provsms->url, 'clickatell')) { if ($this->sms_clickatell()) { $this->new_message('Mensaje desde Clickatell enviado'); if ($servicio) { $this->agrega_detalle($servicio); } } else { $this->new_error_msg('Error al enviar el mensaje'); } } } } else { $this->new_error_msg('No has introducido ningún número.'); } } else { $this->new_error_msg('Proveedor de SMS no encontrado.'); } } }
private function minicron() { $this->template = FALSE; $contrato = new contrato_servicio(); $eje0 = new ejercicio(); $estado = new estado_servicio(); $idestado = NULL; foreach ($estado->all() as $est) { $idestado = $est->id; break; } $offset = 0; $contratos = $contrato->all($offset, 'fsiguiente_servicio ASC'); while ($contratos) { foreach ($contratos as $con) { if ($con->fsiguiente_servicio) { if (strtotime($con->fsiguiente_servicio) > strtotime($con->fecha_renovacion)) { /// caducado } else { if (strtotime($con->fsiguiente_servicio) < strtotime('+1month')) { $cliente = $this->cliente->get($con->codcliente); if ($cliente) { $ejercicio = $eje0->get_by_fecha($con->fsiguiente_servicio); if ($ejercicio) { $servicio = new servicio_cliente(); $servicio->codcliente = $cliente->codcliente; $servicio->cifnif = $cliente->cifnif; $servicio->nombrecliente = $cliente->razonsocial; $servicio->codagente = $con->codagente; $servicio->coddivisa = $this->empresa->coddivisa; $servicio->codejercicio = $ejercicio->codejercicio; $servicio->codpago = $con->codpago; $servicio->codserie = $cliente->codserie; $servicio->fecha = $con->fsiguiente_servicio; $servicio->fechainicio = $con->fsiguiente_servicio . ' ' . $this->nuevocli_setup['cal_inicio']; $servicio->idestado = $idestado; foreach ($cliente->get_direcciones() as $dir) { if ($dir->domfacturacion) { $servicio->direccion = $dir->direccion; $servicio->codpostal = $dir->codpostal; $servicio->ciudad = $dir->ciudad; $servicio->provincia = $dir->provincia; $servicio->codpais = $dir->codpais; break; } } if ($servicio->save()) { $con->fsiguiente_servicio = NULL; if ($con->periodo) { $con->fsiguiente_servicio = date('d-m-Y', strtotime($servicio->fechainicio . ' ' . $con->periodo)); } $con->save(); } else { echo "Error al crear el servicio.\n"; foreach ($this->get_errors() as $err) { echo $err . "\n"; } } } } } else { echo "Cliente no encontrado.\n"; } } } $offset++; } $contratos = $contrato->all($offset, 'fsiguiente_servicio ASC'); } }
private function nuevo_servicio_cliente() { $continuar = TRUE; $cliente = $this->cliente->get($_POST['cliente']); $almacen = $this->almacen->get($_POST['almacen']); $eje0 = new ejercicio(); $ejercicio = $eje0->get_by_fecha($_POST['fecha']); $serie = $this->serie->get($_POST['serie']); if (!$serie) { $this->new_error_msg('Serie no encontrada.'); $continuar = FALSE; } $forma_pago = $this->forma_pago->get($_POST['forma_pago']); if ($forma_pago) { $this->save_codpago($forma_pago->codpago); } else { $this->new_error_msg('Forma de pago no encontrada.'); $continuar = FALSE; } $divisa = $this->divisa->get($_POST['divisa']); $servicio = new servicio_cliente(); if ($this->duplicated_petition($_POST['petition_id'])) { $this->new_error_msg('Petición duplicada. Has hecho doble clic sobre el botón guardar y se han enviado dos peticiones. Mira en <a href="' . $servicio->url() . '">Servicios</a> para ver si el servicio se ha guardado correctamente.'); $continuar = FALSE; } if ($continuar) { $servicio->fecha = $_POST['fecha']; $servicio->codalmacen = $almacen->codalmacen; $servicio->codejercicio = $ejercicio->codejercicio; $servicio->codserie = $serie->codserie; $servicio->codpago = $forma_pago->codpago; $servicio->coddivisa = $divisa->coddivisa; $servicio->tasaconv = $divisa->tasaconv; if ($_POST['tasaconv'] != '') { $servicio->tasaconv = floatval($_POST['tasaconv']); } $servicio->codagente = $this->agente->codagente; $servicio->observaciones = $_POST['observaciones']; if (isset($_POST['numero2'])) { $servicio->numero2 = $_POST['numero2']; } $servicio->porcomision = $this->agente->porcomision; $servicio->codcliente = $cliente->codcliente; $servicio->cifnif = $cliente->cifnif; $servicio->nombrecliente = $cliente->razonsocial; $servicio->ciudad = $_POST['ciudad']; $servicio->codpais = $_POST['codpais']; $servicio->codpostal = $_POST['codpostal']; $servicio->direccion = $_POST['direccion']; $servicio->provincia = $_POST['provincia']; $servicio->prioridad = intval($_POST['prioridad']); $servicio->idestado = $_POST['estado']; if (isset($_POST['material'])) { $servicio->material = $_POST['material']; } if (isset($_POST['material_estado'])) { $servicio->material_estado = $_POST['material_estado']; } if (isset($_POST['accesorios'])) { $servicio->accesorios = $_POST['accesorios']; } if (isset($_POST['descripcion'])) { $servicio->descripcion = $_POST['descripcion']; } if (isset($_POST['solucion'])) { $servicio->solucion = $_POST['solucion']; } $servicio->fechainicio = Date('d-m-Y H:i'); if (isset($_POST['fechainicio'])) { $servicio->fechainicio = $_POST['fechainicio']; } if (isset($_POST['fechafin'])) { $servicio->fechafin = $_POST['fechafin']; } else { $servicio->fechafin = date('Y-m-d H:i', strtotime($servicio->fechainicio . '+ ' . $this->setup['cal_intervalo'] . 'minutes')); } if (isset($_POST['garantia'])) { $servicio->garantia = $_POST['garantia']; } if ($servicio->save()) { $art0 = new articulo(); $n = floatval($_POST['numlineas']); for ($i = 0; $i <= $n; $i++) { if (isset($_POST['referencia_' . $i])) { $linea = new linea_servicio_cliente(); $linea->idservicio = $servicio->idservicio; $linea->descripcion = $_POST['desc_' . $i]; if (!$serie->siniva and $cliente->regimeniva != 'Exento') { $imp0 = $this->impuesto->get_by_iva($_POST['iva_' . $i]); if ($imp0) { $linea->codimpuesto = $imp0->codimpuesto; $linea->iva = floatval($_POST['iva_' . $i]); $linea->recargo = floatval($_POST['recargo_' . $i]); } else { $linea->iva = floatval($_POST['iva_' . $i]); $linea->recargo = floatval($_POST['recargo_' . $i]); } } $linea->irpf = floatval($_POST['irpf_' . $i]); $linea->pvpunitario = floatval($_POST['pvp_' . $i]); $linea->cantidad = floatval($_POST['cantidad_' . $i]); $linea->dtopor = floatval($_POST['dto_' . $i]); $linea->pvpsindto = $linea->pvpunitario * $linea->cantidad; $linea->pvptotal = floatval($_POST['neto_' . $i]); $articulo = $art0->get($_POST['referencia_' . $i]); if ($articulo) { $linea->referencia = $articulo->referencia; } if ($linea->save()) { $servicio->neto += $linea->pvptotal; $servicio->totaliva += $linea->pvptotal * $linea->iva / 100; $servicio->totalirpf += $linea->pvptotal * $linea->irpf / 100; $servicio->totalrecargo += $linea->pvptotal * $linea->recargo / 100; if ($linea->irpf > $servicio->irpf) { $servicio->irpf = $linea->irpf; } } else { $this->new_error_msg("¡Imposible guardar la linea con referencia: " . $linea->referencia); $continuar = FALSE; } } } if ($continuar) { /// redondeamos $servicio->neto = round($servicio->neto, FS_NF0); $servicio->totaliva = round($servicio->totaliva, FS_NF0); $servicio->totalirpf = round($servicio->totalirpf, FS_NF0); $servicio->totalrecargo = round($servicio->totalrecargo, FS_NF0); $servicio->total = $servicio->neto + $servicio->totaliva - $servicio->totalirpf + $servicio->totalrecargo; if (abs(floatval($_POST['atotal']) - $servicio->total) >= 0.02) { $this->new_error_msg("El total difiere entre el controlador y la vista (" . $servicio->total . " frente a " . $_POST['atotal'] . "). Debes informar del error."); $servicio->delete(); } else { if ($servicio->save()) { $this->new_message("<a href='" . $servicio->url() . "'>" . ucfirst(FS_SERVICIO) . "</a> guardado correctamente."); $this->new_change(ucfirst(FS_SERVICIO) . " a Cliente " . $servicio->codigo, $servicio->url(), TRUE); header('Location: ' . $servicio->url()); } else { $this->new_error_msg("¡Imposible actualizar el <a href='" . $servicio->url() . "'>" . FS_SERVICIO . "</a>!"); } } } else { if ($servicio->delete()) { $this->new_message(ucfirst(FS_SERVICIO) . " eliminado correctamente."); } else { $this->new_error_msg("¡Imposible eliminar el <a href='" . $servicio->url() . "'>" . FS_SERVICIO . "</a>!"); } } } else { $this->new_error_msg("¡Imposible guardar el " . FS_SERVICIO . "!"); } } }
private function delete_servicio() { $serv = new servicio_cliente(); $serv1 = $serv->get($_POST['delete']); if ($serv1) { if ($serv1->delete()) { $this->new_message(ucfirst(FS_SERVICIO) . ' ' . $serv1->codigo . " borrado correctamente."); } else { $this->new_error_msg("¡Imposible borrar el " . FS_SERVICIO . "!"); } } else { $this->new_error_msg("¡" . ucfirst(FS_SERVICIO) . " no encontrado!"); } }
public function show_nombrecliente() { $nombre = 'desconocido'; $encontrado = FALSE; foreach (self::$servicios as $s) { if ($s->idservicio == $this->idservicio) { $nombre = $s->nombrecliente; $encontrado = TRUE; break; } } if (!$encontrado) { $sre = new servicio_cliente(); self::$servicios[] = $sre->get($this->idservicio); $nombre = self::$servicios[count(self::$servicios) - 1]->nombrecliente; } return $nombre; }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->ppage = $this->page->get('ventas_servicios'); $this->agente = FALSE; $this->estado = new estados_servicios(); $servicio = new servicio_cliente(); $this->servicio = FALSE; $this->cliente = new cliente(); $this->cliente_s = FALSE; $this->divisa = new divisa(); $this->ejercicio = new ejercicio(); $this->familia = new familia(); $this->forma_pago = new forma_pago(); $this->impuesto = new impuesto(); $this->nuevo_servicio_url = FALSE; $this->nueva_marca_url = FALSE; $this->nuevo_modelo_url = FALSE; $this->nuevo_tipo_url = FALSE; $this->pais = new pais(); $this->serie = new serie(); $this->fabricante = new fabricante(); $this->marca = new marca(); $this->modelo = new modelo(); $this->tipo = new tipo(); //cargamos configuración de servicios $fsvar = new fs_var(); $this->servicios_setup = $fsvar->array_get(array('servicios_diasfin' => 10, 'servicios_material' => 0, 'servicios_mostrar_material' => 0, 'servicios_material_estado' => 0, 'servicios_mostrar_marca' => 0, 'servicios_marca' => 0, 'servicios_mostrar_modelo' => 0, 'servicios_modelo' => 0, 'servicios_mostrar_tipo' => 0, 'servicios_tipo' => 0, 'servicios_mostrar_material_estado' => 0, 'servicios_accesorios' => 0, 'servicios_mostrar_accesorios' => 0, 'servicios_descripcion' => 0, 'servicios_mostrar_descripcion' => 0, 'servicios_solucion' => 0, 'servicios_mostrar_solucion' => 0, 'servicios_fechafin' => 0, 'servicios_mostrar_fechafin' => 0, 'servicios_fechainicio' => 0, 'servicios_mostrar_fechainicio' => 0, 'servicios_mostrar_garantia' => 0, 'servicios_garantia' => 0), FALSE); /*Cargamos traduccion*/ $this->st = $fsvar->array_get(array('st_servicio' => "Servicio", 'st_servicios' => "Servicios", 'st_material' => "Material", 'st_material_estado' => "Estado del material entregado", 'st_accesorios' => "Accesorios que entrega", 'st_descripcion' => "Descripción de la averia", 'st_solucion' => "Solución", 'st_marca' => "Marca del aparato", 'st_modelo' => "Modelo del aparato", 'st_tipo' => "Tipo de aparato"), FALSE); /** * Comprobamos si el usuario tiene acceso a nueva_venta, * necesario para poder añadir líneas. */ if (isset($_GET['delete_detalle'])) { $det0 = new detalle_servicio(); $detalle = $det0->get($_GET['delete_detalle']); if ($detalle) { if ($detalle->delete()) { $this->new_message('Detalle eliminado correctamente.'); } else { $this->new_error_msg('Error al eliminar el detalle.'); } } else { $this->new_error_msg('Detalle no encontrado.'); } } if ($this->user->have_access_to('nueva_venta', FALSE)) { $nuevopedp = $this->page->get('nueva_venta'); if ($nuevopedp) { $this->nuevo_servicio_url = $nuevopedp->url(); } $this->nueva_marca_url = $this->marca->url(); $this->nuevo_modelo_url = $this->modelo->url(); $this->nuevo_tipo_url = $this->tipo->url(); } if (isset($_POST['idservicio'])) { $this->servicio = $servicio->get($_POST['idservicio']); $this->modificar(); } else { if (isset($_GET['id'])) { $this->servicio = $servicio->get($_GET['id']); } } if ($this->servicio) { $this->page->title = $this->servicio->codigo; if (isset($_POST['detalle'])) { $this->agrega_detalle(); } /// cargamos el agente if (!is_null($this->servicio->codagente)) { $agente = new agente(); $this->agente = $agente->get($this->servicio->codagente); } /// cargamos el cliente $this->cliente_s = $this->cliente->get($this->servicio->codcliente); $this->marca_s = $this->marca->get($this->servicio->codmarca); $this->modelo_s = $this->modelo->get($this->servicio->codmodelo); $this->tipo_s = $this->tipo->get($this->servicio->codtipo); } else { $this->new_error_msg("¡" . ucfirst(FS_SERVICIO) . " de cliente no encontrado!"); } }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->ppage = $this->page->get('ventas_servicios'); $this->agente = new agente(); $this->cliente = new cliente(); $this->cliente_s = FALSE; $this->divisa = new divisa(); $this->ejercicio = new ejercicio(); $this->estado = new estado_servicio(); $this->fabricante = new fabricante(); $this->familia = new familia(); $this->forma_pago = new forma_pago(); $this->impuesto = new impuesto(); $this->pais = new pais(); $this->serie = new serie(); /// cargamos la configuración de servicios $fsvar = new fs_var(); $this->setup = $fsvar->array_get(array('servicios_diasfin' => 10, 'servicios_material' => 0, 'servicios_mostrar_material' => 0, 'servicios_material_estado' => 0, 'servicios_mostrar_material_estado' => 0, 'servicios_accesorios' => 0, 'servicios_mostrar_accesorios' => 0, 'servicios_descripcion' => 0, 'servicios_mostrar_descripcion' => 0, 'servicios_solucion' => 0, 'servicios_mostrar_solucion' => 0, 'servicios_fechafin' => 0, 'servicios_mostrar_fechafin' => 0, 'servicios_fechainicio' => 0, 'servicios_mostrar_fechainicio' => 0, 'servicios_mostrar_garantia' => 0, 'servicios_garantia' => 0, 'cal_inicio' => "09:00", 'cal_fin' => "20:00", 'cal_intervalo' => "30", 'servicios_linea' => 0, 'servicios_linea1' => 0, 'servicios_material_linea' => 0, 'servicios_material_estado_linea' => 0, 'servicios_accesorios_linea' => 0, 'servicios_descripcion_linea' => 0, 'servicios_solucion_linea' => 0, 'servicios_fechainicio_linea' => 0, 'servicios_fechafin_linea' => 0, 'servicios_garantia_linea' => 0, 'st_servicio' => "Servicio", 'st_servicios' => "Servicios", 'st_material' => "Material", 'st_material_estado' => "Estado del material entregado", 'st_accesorios' => "Accesorios que entrega", 'st_descripcion' => "Descripción de la averia", 'st_solucion' => "Solución", 'st_fechainicio' => "Fecha de Inicio", 'st_fechafin' => "Fecha de finalización", 'st_garantia' => "Garantía"), FALSE); /** * Comprobamos si el usuario tiene acceso a nueva_venta, * necesario para poder añadir líneas. */ $this->nuevo_servicio_url = FALSE; if ($this->user->have_access_to('nueva_venta', FALSE)) { $nuevopedp = $this->page->get('nueva_venta'); if ($nuevopedp) { $this->nuevo_servicio_url = $nuevopedp->url(); } } $this->servicio = FALSE; $servicio = new servicio_cliente(); if (isset($_POST['idservicio'])) { $this->servicio = $servicio->get($_POST['idservicio']); $this->modificar(); } else { if (isset($_GET['id'])) { $this->servicio = $servicio->get($_GET['id']); } } if ($this->servicio) { $this->page->title = $this->servicio->codigo; /// cargamos el agente if ($this->servicio->codagente) { $age0 = new agente(); $this->agente = $age0->get($this->servicio->codagente); if (!$this->agente) { $this->agente = new agente(); } } else { $this->agente = $this->user->get_agente(); } /// cargamos el cliente $this->cliente_s = $this->cliente->get($this->servicio->codcliente); $this->modificar_detalles(); } else { $this->new_error_msg("¡" . ucfirst(FS_SERVICIO) . " de cliente no encontrado!"); } }
private function importar_sat() { $this->registro_sat = new registro_sat(); $this->detalle_sat = new detalle_sat(); $this->cliente = new cliente(); $importados = 0; $importados_det = 0; $data = $this->db->select("SELECT * FROM registros_sat;"); if ($data) { foreach ($data as $d) { $servicio = $this->registro_sat->get($d['nsat']); if ($servicio) { $servicio = new servicio_cliente(); $servicio->numero2 = "SAT_" . $d['nsat']; $servicio->fecha = $d['fentrada']; if (isset($d['fcomienzo'])) { $servicio->fechainicio = Date('d-m-Y H:i', strtotime($d['fcomienzo'])); } if (isset($d['ffin'])) { $servicio->fechafin = Date('d-m-Y H:i', strtotime($d['ffin'])); } //obtenemos ejercicio $eje0 = new ejercicio(); $ejercicio = $eje0->get_by_fecha($d['fentrada']); $servicio->codejercicio = $ejercicio->codejercicio; $servicio->material = $d['modelo']; $servicio->descripcion = $d['averia']; $servicio->accesorios = $d['accesorios']; $servicio->codcliente = $d['codcliente']; $servicio->observaciones = $d['observaciones']; $servicio->codagente = $d['codagente']; $servicio->idestado = '1'; $servicio->prioridad = $d['prioridad']; //obtenemos cliente $cliente0 = new cliente(); $cliente = $cliente0->get($d['codcliente']); $servicio->nombrecliente = $cliente->nombre; $servicio->codserie = $this->empresa->codserie; $servicio->codpago = $this->empresa->codpago; if ($servicio->save()) { $importados++; } //Importamos Detalles: $data2 = $this->db->select("SELECT * FROM detalles_sat WHERE nsat=" . $d['nsat'] . ";"); if ($data2) { foreach ($data2 as $d2) { $detalle = $this->detalle_sat->get($d2['id']); if ($detalle) { $detalle = new detalle_servicio(); $detalle->idservicio = $servicio->idservicio; $detalle->descripcion = $d2['descripcion']; $detalle->fecha = $d2['fecha']; if ($detalle->save()) { $importados_det++; } } } } } } } $this->new_message($importados . ' registros SAT importados.'); $this->new_message($importados_det . ' detalles SAT importados.'); $this->avisosat = '2'; }