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--;
         }
     }
 }
예제 #2
0
 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();
 }
예제 #3
0
 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();
     }
 }
예제 #4
0
파일: enviar_sms.php 프로젝트: pcrednet/sms
 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.');
         }
     }
 }
예제 #5
0
 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');
     }
 }
예제 #6
0
 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 . "!");
         }
     }
 }
예제 #7
0
 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!");
     }
 }
예제 #8
0
 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;
 }
예제 #9
0
 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!");
     }
 }
예제 #10
0
 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!");
     }
 }
예제 #11
0
 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';
 }