コード例 #1
0
 protected function private_core()
 {
     /// declaramos los objetos sólo para asegurarnos de que existen las tablas
     $pedido_cli = new pedido_cliente();
     $pedido_pro = new pedido_proveedor();
     $this->prestashop = $this->db->table_exists('ps_orders');
     $this->mostrar = 'stats';
     if (isset($_REQUEST['mostrar'])) {
         $this->mostrar = $_REQUEST['mostrar'];
     }
     $this->tipo = 'ventas';
     if (isset($_REQUEST['tipo'])) {
         $this->tipo = $_REQUEST['tipo'];
     }
     if ($this->mostrar == 'listado') {
         $this->desde = Date('1-m-Y');
         $this->hasta = Date('d-m-Y', mktime(0, 0, 0, date("m") + 1, date("1") - 1, date("Y")));
         if (isset($_POST['desde'])) {
             $this->desde = $_POST['desde'];
             $this->hasta = $_POST['hasta'];
         }
         if ($this->tipo == 'ventas') {
             $this->resultados = $pedido_cli->all_desde($this->desde, $this->hasta);
         } else {
             $this->resultados = $pedido_pro->all_desde($this->desde, $this->hasta);
         }
     }
 }
コード例 #2
0
 protected function process()
 {
     $this->show_fs_toolbar = FALSE;
     $this->cliente = FALSE;
     $this->pedido = FALSE;
     $this->presupuesto = FALSE;
     if (isset($_REQUEST['pedido']) and isset($_REQUEST['id'])) {
         $ped = new pedido_cliente();
         $this->pedido = $ped->get($_REQUEST['id']);
         if ($this->pedido) {
             $cliente = new cliente();
             $this->cliente = $cliente->get($this->pedido->codcliente);
         }
         if (isset($_POST['email'])) {
             $this->enviar_email('pedio');
         } else {
             $this->generar_pdf_pedido();
         }
     } else {
         if (isset($_REQUEST['presupuesto']) and isset($_REQUEST['id'])) {
             $pres = new presupuesto_cliente();
             $this->presupuesto = $pres->get($_REQUEST['id']);
             if ($this->presupuesto) {
                 $cliente = new cliente();
                 $this->cliente = $cliente->get($this->presupuesto->codcliente);
             }
             if (isset($_POST['email'])) {
                 $this->enviar_email('presupuesto');
             } else {
                 $this->generar_pdf_presupuesto();
             }
         }
     }
     $this->share_extensions();
 }
コード例 #3
0
 protected function process()
 {
     $this->ppage = $this->page->get('ventas_pedidos');
     $this->agente = FALSE;
     /// desactivamos la barra de botones
     $this->show_fs_toolbar = FALSE;
     $pedido = new pedido_cliente();
     $this->pedido = FALSE;
     $this->cliente = new cliente();
     $this->cliente_s = FALSE;
     $this->ejercicio = new ejercicio();
     $this->familia = new familia();
     $this->impuesto = new impuesto();
     $this->nuevo_pedido_url = FALSE;
     $this->serie = new serie();
     /**
      * Comprobamos si el usuario tiene acceso a nueva_venta,
      * necesario para poder añadir líneas.
      */
     if ($this->user->have_access_to('nueva_venta', FALSE)) {
         $nuevopedp = $this->page->get('nueva_venta');
         if ($nuevopedp) {
             $this->nuevo_pedido_url = $nuevopedp->url();
         }
     }
     if (isset($_POST['idpedido'])) {
         $this->pedido = $pedido->get($_POST['idpedido']);
         $this->modificar();
     } else {
         if (isset($_GET['id'])) {
             $this->pedido = $pedido->get($_GET['id']);
         }
     }
     if ($this->pedido) {
         $this->page->title = $this->pedido->codigo;
         /// cargamos el agente
         if (!is_null($this->pedido->codagente)) {
             $agente = new agente();
             $this->agente = $agente->get($this->pedido->codagente);
         }
         /// cargamos el cliente
         $this->cliente_s = $this->cliente->get($this->pedido->codcliente);
         /// comprobamos el pedido
         if ($this->pedido->full_test()) {
             if (isset($_REQUEST['status'])) {
                 $this->pedido->status = intval($_REQUEST['status']);
                 if ($this->pedido->status == 1 and is_null($this->pedido->idalbaran)) {
                     $this->generar_albaran();
                 } elseif ($this->pedido->save()) {
                     $this->new_message(ucfirst(FS_PEDIDO) . " modificado correctamente.");
                 } else {
                     $this->new_error_msg("¡Imposible modificar el " . FS_PEDIDO . "!");
                 }
             }
         }
     } else {
         $this->new_error_msg("¡" . ucfirst(FS_PEDIDO) . " de cliente no encontrado!");
     }
 }
コード例 #4
0
ファイル: cron.php プロジェクト: arielopez/temporal
 public function __construct(&$db)
 {
     $pre = new presupuesto_cliente();
     $pre->cron_job();
     $ped = new pedido_cliente();
     $ped->cron_job();
     $pedp = new pedido_proveedor();
     $pedp->cron_job();
 }
コード例 #5
0
 protected function private_core()
 {
     $this->articulo_proveedor = new articulo_proveedor();
     $this->cliente = FALSE;
     $this->impuesto = new impuesto();
     $this->pedido = FALSE;
     $this->presupuesto = FALSE;
     $this->proveedor = 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['pedido_p']) and isset($_REQUEST['id'])) {
         $ped = new pedido_proveedor();
         $this->pedido = $ped->get($_REQUEST['id']);
         if ($this->pedido) {
             $proveedor = new proveedor();
             $this->proveedor = $proveedor->get($this->pedido->codproveedor);
         }
         if (isset($_POST['email'])) {
             $this->enviar_email_proveedor('pedio');
         } else {
             $this->generar_pdf_pedido_proveedor();
         }
     } else {
         if (isset($_REQUEST['pedido']) and isset($_REQUEST['id'])) {
             $ped = new pedido_cliente();
             $this->pedido = $ped->get($_REQUEST['id']);
             if ($this->pedido) {
                 $cliente = new cliente();
                 $this->cliente = $cliente->get($this->pedido->codcliente);
             }
             if (isset($_POST['email'])) {
                 $this->enviar_email('pedio');
             } else {
                 $this->generar_pdf_pedido();
             }
         } else {
             if (isset($_REQUEST['presupuesto']) and isset($_REQUEST['id'])) {
                 $pres = new presupuesto_cliente();
                 $this->presupuesto = $pres->get($_REQUEST['id']);
                 if ($this->presupuesto) {
                     $cliente = new cliente();
                     $this->cliente = $cliente->get($this->presupuesto->codcliente);
                 }
                 if (isset($_POST['email'])) {
                     $this->enviar_email('presupuesto');
                 } else {
                     $this->generar_pdf_presupuesto();
                 }
             }
         }
     }
     $this->share_extensions();
 }
コード例 #6
0
 public function delete()
 {
     if ($this->db->exec("DELETE FROM " . $this->table_name . " WHERE idpresupuesto = " . $this->var2str($this->idpresupuesto) . ";")) {
         if ($this->idpedido) {
             /**
              * Delegamos la eliminación en la clase correspondiente,
              * que tendrá que hacer más cosas.
              */
             $pedido = new pedido_cliente();
             $ped0 = $pedido->get($this->idpedido);
             if ($ped0) {
                 $ped0->delete();
             }
         }
         return TRUE;
     } else {
         return FALSE;
     }
 }
コード例 #7
0
 private function generar_pedido()
 {
     $pedido = new pedido_cliente();
     $pedido->apartado = $this->presupuesto->apartado;
     $pedido->cifnif = $this->presupuesto->cifnif;
     $pedido->ciudad = $this->presupuesto->ciudad;
     $pedido->codagente = $this->presupuesto->codagente;
     $pedido->codalmacen = $this->presupuesto->codalmacen;
     $pedido->codcliente = $this->presupuesto->codcliente;
     $pedido->coddir = $this->presupuesto->coddir;
     $pedido->coddivisa = $this->presupuesto->coddivisa;
     $pedido->tasaconv = $this->presupuesto->tasaconv;
     $pedido->codpago = $this->presupuesto->codpago;
     $pedido->codpais = $this->presupuesto->codpais;
     $pedido->codpostal = $this->presupuesto->codpostal;
     $pedido->codserie = $this->presupuesto->codserie;
     $pedido->direccion = $this->presupuesto->direccion;
     $pedido->neto = $this->presupuesto->neto;
     $pedido->nombrecliente = $this->presupuesto->nombrecliente;
     $pedido->observaciones = $this->presupuesto->observaciones;
     $pedido->provincia = $this->presupuesto->provincia;
     $pedido->total = $this->presupuesto->total;
     $pedido->totaliva = $this->presupuesto->totaliva;
     $pedido->numero2 = $this->presupuesto->numero2;
     $pedido->irpf = $this->presupuesto->irpf;
     $pedido->porcomision = $this->presupuesto->porcomision;
     $pedido->totalirpf = $this->presupuesto->totalirpf;
     $pedido->totalrecargo = $this->presupuesto->totalrecargo;
     /**
      * Obtenemos el ejercicio para la fecha de hoy (puede que no sea
      * el mismo ejercicio que el del presupuesto, por ejemplo si hemos cambiado de año).
      */
     $eje0 = $this->ejercicio->get_by_fecha($pedido->fecha, FALSE);
     if ($eje0) {
         $pedido->codejercicio = $eje0->codejercicio;
     }
     if (!$eje0) {
         $this->new_error_msg("Ejercicio no encontrado.");
     } else {
         if (!$eje0->abierto()) {
             $this->new_error_msg("El ejercicio está cerrado.");
         } else {
             if ($pedido->save()) {
                 $continuar = TRUE;
                 foreach ($this->presupuesto->get_lineas() as $l) {
                     $n = new linea_pedido_cliente();
                     $n->idlineapresupuesto = $l->idlinea;
                     $n->idpresupuesto = $l->idpresupuesto;
                     $n->idpedido = $pedido->idpedido;
                     $n->cantidad = $l->cantidad;
                     $n->codimpuesto = $l->codimpuesto;
                     $n->descripcion = $l->descripcion;
                     $n->dtopor = $l->dtopor;
                     $n->irpf = $l->irpf;
                     $n->iva = $l->iva;
                     $n->pvpsindto = $l->pvpsindto;
                     $n->pvptotal = $l->pvptotal;
                     $n->pvpunitario = $l->pvpunitario;
                     $n->recargo = $l->recargo;
                     $n->referencia = $l->referencia;
                     if (!$n->save()) {
                         $continuar = FALSE;
                         $this->new_error_msg("¡Imposible guardar la línea el artículo " . $n->referencia . "! ");
                         break;
                     }
                 }
                 if ($continuar) {
                     $this->presupuesto->idpedido = $pedido->idpedido;
                     if ($this->presupuesto->save()) {
                         $this->new_message("<a href='" . $pedido->url() . "'>" . ucfirst(FS_PEDIDO) . '</a> generado correctamente.');
                     } else {
                         $this->new_error_msg("¡Imposible vincular el " . FS_PRESUPUESTO . " con el nuevo " . FS_PEDIDO . "!");
                         if ($pedido->delete()) {
                             $this->new_error_msg("El " . FS_PEDIDO . " se ha borrado.");
                         } else {
                             $this->new_error_msg("¡Imposible borrar el " . FS_PEDIDO . "!");
                         }
                     }
                 } else {
                     if ($pedido->delete()) {
                         $this->new_error_msg("El " . FS_PEDIDO . " se ha borrado.");
                     } else {
                         $this->new_error_msg("¡Imposible borrar el " . FS_PEDIDO . "!");
                     }
                 }
             } else {
                 $this->new_error_msg("¡Imposible guardar el " . FS_PEDIDO . "!");
             }
         }
     }
 }
コード例 #8
0
 public function pendientes()
 {
     $pendientes = array();
     $pedido = new pedido_cliente();
     $offset = 0;
     $pedidos = $pedido->all_ptealbaran($offset);
     while ($pedidos) {
         foreach ($pedidos as $ped) {
             $encontrado = FALSE;
             foreach ($pendientes as $i => $pe) {
                 if ($ped->codcliente == $pe['codcliente']) {
                     $encontrado = TRUE;
                     $pendientes[$i]['num']++;
                     break;
                 }
             }
             if (!$encontrado) {
                 $pendientes[] = array('codcliente' => $ped->codcliente, 'nombre' => $ped->nombrecliente, 'codserie' => $ped->codserie, 'num' => 1);
             }
             $offset++;
         }
         $pedidos = $pedido->all_ptealbaran($offset);
     }
     return $pendientes;
 }
コード例 #9
0
 public function show_nombrecliente()
 {
     $nombre = 'desconocido';
     $encontrado = FALSE;
     foreach (self::$pedidos as $p) {
         if ($p->idpedido == $this->idpedido) {
             $nombre = $p->nombrecliente;
             $encontrado = TRUE;
             break;
         }
     }
     if (!$encontrado) {
         $pre = new pedido_cliente();
         self::$pedidos[] = $pre->get($this->idpedido);
         $nombre = self::$pedidos[count(self::$pedidos) - 1]->nombrecliente;
     }
     return $nombre;
 }
コード例 #10
0
 private function delete_pedido()
 {
     $ped = new pedido_cliente();
     $ped1 = $ped->get($_POST['delete']);
     if ($ped1) {
         if ($ped1->delete()) {
             $this->new_message(ucfirst(FS_PEDIDO) . ' ' . $ped1->codigo . " borrado correctamente.");
         } else {
             $this->new_error_msg("¡Imposible borrar el " . FS_PEDIDO . "!");
         }
     } else {
         $this->new_error_msg("¡" . ucfirst(FS_PEDIDO) . " no encontrado!");
     }
 }
コード例 #11
0
 private function nuevo_pedido_cliente($p)
 {
     $respuesta = "";
     $continuar = TRUE;
     $cliente = $this->cliente->get($p['cliente']);
     if (!$cliente) {
         $respuesta .= 'Cliente no encontrado.';
         $continuar = FALSE;
     }
     $almacen = $this->almacen->get($p['almacen']);
     if ($almacen) {
         //print_r($almacen);
         // $this->save_codalmacen($p['almacen']);
     } else {
         echo 'Almacén no encontrado.';
         $continuar = FALSE;
     }
     $eje0 = new ejercicio();
     $ejercicio = $eje0->get_by_fecha($p['fecha']);
     if (!$ejercicio) {
         echo 'Ejercicio no encontrado.';
         $continuar = FALSE;
     }
     $serie = $this->serie->get($p['serie']);
     if (!$serie) {
         echo 'Serie no encontrada.';
         $continuar = FALSE;
     }
     $forma_pago = $this->forma_pago->get($p['forma_pago']);
     if ($forma_pago) {
         //$this->save_codpago($p['forma_pago']);
     } else {
         echo 'Forma de pago no encontrada.';
         $continuar = FALSE;
     }
     $divisa = $this->divisa->get($p['divisa']);
     if (!$divisa) {
         echo 'Divisa no encontrada.';
         $continuar = FALSE;
     }
     $pedido = new pedido_cliente();
     if ($continuar) {
         $pedido->fecha = $p['fecha'];
         $pedido->codalmacen = $almacen->codalmacen;
         $pedido->codejercicio = $ejercicio->codejercicio;
         $pedido->codserie = $serie->codserie;
         $pedido->codpago = $forma_pago->codpago;
         $pedido->coddivisa = $divisa->coddivisa;
         $pedido->tasaconv = $divisa->tasaconv;
         $pedido->numero2 = $p['numero2'];
         $pedido->codagente = $this->agente->codagente;
         $pedido->observaciones = $p['observaciones'];
         $pedido->irpf = $serie->irpf;
         $pedido->porcomision = $this->agente->porcomision;
         $pedido->codcliente = $cliente->codcliente;
         $pedido->cifnif = $cliente->cifnif;
         $pedido->nombrecliente = $cliente->nombre;
         $direccion = array();
         foreach ($cliente->get_direcciones() as $dir) {
             if ($dir->domfacturacion) {
                 $direccion = $dir;
                 break;
             }
         }
         $pedido->ciudad = $direccion->ciudad;
         $pedido->codpais = $direccion->codpais;
         $pedido->codpostal = $direccion->codpostal;
         $pedido->direccion = $direccion->direccion;
         $pedido->provincia = $direccion->provincia;
         if ($pedido->save()) {
             $art0 = new articulo();
             $n = floatval($p['numlineas']);
             for ($i = 0; $i <= $n; $i++) {
                 if (isset($p['referencia_' . $i])) {
                     $linea = new linea_pedido_cliente();
                     $linea->idpedido = $pedido->idpedido;
                     $linea->descripcion = $p['desc_' . $i];
                     if (!$serie->siniva and $cliente->regimeniva != 'Exento') {
                         $imp0 = $this->impuesto->get_by_iva($p['iva_' . $i]);
                         if ($imp0) {
                             $linea->codimpuesto = $imp0->codimpuesto;
                             $linea->iva = floatval($p['iva_' . $i]);
                             $linea->recargo = floatval($p['recargo_' . $i]);
                         } else {
                             $linea->iva = floatval($p['iva_' . $i]);
                             $linea->recargo = floatval($p['recargo_' . $i]);
                         }
                     }
                     $linea->irpf = floatval($p['irpf_' . $i]);
                     $linea->pvpunitario = floatval($p['pvp_' . $i]);
                     $linea->cantidad = floatval($p['cantidad_' . $i]);
                     $linea->dtopor = floatval($p['dto_' . $i]);
                     $linea->pvpsindto = $linea->pvpunitario * $linea->cantidad;
                     $linea->pvptotal = floatval($p['neto_' . $i]);
                     $articulo = $art0->get($p['referencia_' . $i]);
                     if ($articulo) {
                         $linea->referencia = $articulo->referencia;
                     }
                     if ($linea->save()) {
                         $pedido->neto += $linea->pvptotal;
                         $pedido->totaliva += $linea->pvptotal * $linea->iva / 100;
                         $pedido->totalirpf += $linea->pvptotal * $linea->irpf / 100;
                         $pedido->totalrecargo += $linea->pvptotal * $linea->recargo / 100;
                     } else {
                         $respuesta .= "¡Imposible guardar la linea con referencia: " . $linea->referencia;
                         $continuar = FALSE;
                     }
                 }
             }
             if ($continuar) {
                 /// redondeamos
                 $pedido->neto = round($pedido->neto, FS_NF0);
                 $pedido->totaliva = round($pedido->totaliva, FS_NF0);
                 $pedido->totalirpf = round($pedido->totalirpf, FS_NF0);
                 $pedido->totalrecargo = round($pedido->totalrecargo, FS_NF0);
                 $pedido->total = $pedido->neto + $pedido->totaliva - $pedido->totalirpf + $pedido->totalrecargo;
                 if ($pedido->save()) {
                     $respuesta .= "Pedido correcto";
                 } else {
                     $respuesta .= "¡Imposible actualizar el <a href='" . $pedido->url() . "'>" . FS_PEDIDO . "</a>!";
                 }
             } else {
                 if ($pedido->delete()) {
                     $respuesta .= ucfirst(FS_PEDIDO) . " eliminado correctamente.";
                 } else {
                     $respuesta .= "¡Imposible eliminar el <a href='" . $pedido->url() . "'>" . FS_PEDIDO . "</a>!";
                 }
             }
         } else {
             $respuesta .= "¡Imposible guardar el " . FS_PEDIDO . "!";
         }
     }
     return $respuesta;
 }
コード例 #12
0
ファイル: enviar_sms.php プロジェクト: pcrednet/sms
 public function pedido_observaciones()
 {
     $ped = new pedido_cliente();
     $pedido = $ped->get($_REQUEST['id']);
     $detalle = $pedido->observaciones . 'SMS enviado correctamente al teléfono: ' . $this->telefono . ' con el texto: ' . $this->mensaje . '. ';
     $sql = $this->db->exec("UPDATE pedidoscli SET observaciones = '" . $detalle . "' WHERE idpedido = " . $this->id . ";");
     if ($sql) {
         $this->new_message('Observaciones guardadas correctamente.');
     }
 }
コード例 #13
0
ファイル: tpvmod.php プロジェクト: ramikat/ERPSISFS
 private function nuevo_pedido_cliente()
 {
     $continuar = TRUE;
     $cliente = $this->cliente->get($_POST['cliente']);
     if ($cliente) {
         $this->save_codcliente($cliente->codcliente);
     } else {
         $this->new_error_msg('Cliente no encontrado.');
         $continuar = FALSE;
     }
     $almacen = $this->almacen->get($_POST['almacen']);
     if ($almacen) {
         $this->save_codalmacen($almacen->codalmacen);
     } else {
         $this->new_error_msg('Almacén no encontrado.');
         $continuar = FALSE;
     }
     $eje0 = new ejercicio();
     $ejercicio = $eje0->get_by_fecha($_POST['fecha']);
     if ($ejercicio) {
         $this->save_codejercicio($ejercicio->codejercicio);
     } else {
         $this->new_error_msg('Ejercicio no encontrado.');
         $continuar = FALSE;
     }
     $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']);
     if ($divisa) {
         $this->save_coddivisa($divisa->coddivisa);
     } else {
         $this->new_error_msg('Divisa no encontrada.');
         $continuar = FALSE;
     }
     $pedido = new pedido_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="' . $pedido->url() . '">Pedidos</a>
            para ver si el pedido se ha guardado correctamente.');
         $continuar = FALSE;
     }
     if ($continuar) {
         $pedido->fecha = $_POST['fecha'];
         $pedido->codalmacen = $almacen->codalmacen;
         $pedido->codejercicio = $ejercicio->codejercicio;
         $pedido->codserie = $serie->codserie;
         $pedido->codpago = $forma_pago->codpago;
         $pedido->coddivisa = $divisa->coddivisa;
         $pedido->tasaconv = $divisa->tasaconv;
         $pedido->codagente = $this->agente->codagente;
         $pedido->observaciones = $_POST['observaciones'];
         $pedido->numero2 = $_POST['numero2'];
         $pedido->irpf = $serie->irpf;
         $pedido->porcomision = $this->agente->porcomision;
         foreach ($cliente->get_direcciones() as $d) {
             if ($d->domfacturacion) {
                 $pedido->codcliente = $cliente->codcliente;
                 $pedido->cifnif = $cliente->cifnif;
                 $pedido->nombrecliente = $cliente->nombrecomercial;
                 $pedido->apartado = $d->apartado;
                 $pedido->ciudad = $d->ciudad;
                 $pedido->coddir = $d->id;
                 $pedido->codpais = $d->codpais;
                 $pedido->codpostal = $d->codpostal;
                 $pedido->direccion = $d->direccion;
                 $pedido->provincia = $d->provincia;
                 break;
             }
         }
         if (is_null($pedido->codcliente)) {
             $this->new_error_msg("No hay ninguna dirección asociada al cliente.");
         } else {
             if ($pedido->save()) {
                 $art0 = new articulo();
                 $n = floatval($_POST['numlineas']);
                 for ($i = 0; $i <= $n; $i++) {
                     if (isset($_POST['referencia_' . $i])) {
                         $articulo = $art0->get($_POST['referencia_' . $i]);
                         if ($articulo) {
                             $linea = new linea_pedido_cliente();
                             $linea->idpedido = $pedido->idpedido;
                             $linea->referencia = $articulo->referencia;
                             $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]);
                                 }
                             }
                             if ($linea->iva > 0) {
                                 $linea->irpf = $pedido->irpf;
                             }
                             //corregido de lo pasado en ventas
                             $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]);
                             if ($linea->save()) {
                                 $pedido->neto += $linea->pvptotal;
                                 $pedido->totaliva += $linea->pvptotal * $linea->iva / 100;
                                 $pedido->totalirpf += $linea->pvptotal * $linea->irpf / 100;
                                 $pedido->totalrecargo += $linea->pvptotal * $linea->recargo / 100;
                             } else {
                                 $this->new_error_msg("¡Imposible guardar la linea con referencia: " . $linea->referencia);
                                 $continuar = FALSE;
                             }
                         } else {
                             $this->new_error_msg("Artículo no encontrado: " . $_POST['referencia_' . $i]);
                             $continuar = FALSE;
                         }
                     }
                 }
                 if ($continuar) {
                     /// redondeamos
                     $pedido->neto = round($pedido->neto, FS_NF0);
                     $pedido->totaliva = round($pedido->totaliva, FS_NF0);
                     $pedido->totalirpf = round($pedido->totalirpf, FS_NF0);
                     $pedido->totalrecargo = round($pedido->totalrecargo, FS_NF0);
                     $pedido->total = $pedido->neto + $pedido->totaliva - $pedido->totalirpf + $pedido->totalrecargo;
                     if ($pedido->save()) {
                         $this->new_message("<a href='" . $pedido->url() . "'>" . ucfirst(FS_PEDIDO) . "</a> guardado correctamente. <a href='index.php?page=imprimir_presu_pedi&pedido=TRUE&id=" . $pedido->idpedido . "'>Imprimir</a>");
                         $this->new_change(ucfirst(FS_PEDIDO) . " a Cliente " . $pedido->codigo, $pedido->url(), TRUE);
                     } else {
                         $this->new_error_msg("¡Imposible actualizar el <a href='" . $pedido->url() . "'>" . FS_PEDIDO . "</a>!");
                     }
                 } else {
                     if ($pedido->delete()) {
                         $this->new_message(ucfirst(FS_PEDIDO) . " eliminado correctamente.");
                     } else {
                         $this->new_error_msg("¡Imposible eliminar el <a href='" . $pedido->url() . "'>" . FS_PEDIDO . "</a>!");
                     }
                 }
             } else {
                 $this->new_error_msg("¡Imposible guardar el " . FS_PEDIDO . "!");
             }
         }
     }
 }
コード例 #14
0
 private function delete_pedido()
 {
     $ped0 = new pedido_cliente();
     $pedido = $ped0->get($_POST['delete']);
     if ($pedido) {
         if ($pedido->delete()) {
             $this->new_message(ucfirst(FS_PEDIDO) . ' de venta ' . $pedido->codigo . " eliminado correctamente.", TRUE);
             $this->clean_last_changes();
         } else {
             $this->new_error_msg("¡Imposible eliminar el " . FS_PEDIDO . "!");
         }
     } else {
         $this->new_error_msg("¡" . ucfirst(FS_PEDIDO) . " no encontrado!");
     }
 }
コード例 #15
0
 protected function private_core()
 {
     $this->share_extensions();
     $this->documento = FALSE;
     if (isset($_REQUEST['presu'])) {
         $pre0 = new presupuesto_cliente();
         $this->documento = $pre0->get($_REQUEST['id']);
         if ($this->documento) {
             $this->titulo = FS_PRESUPUESTO . ' ' . $this->documento->codigo;
             $this->lineas = $this->documento->get_lineas();
             if (isset($_POST['idlinea'])) {
                 if ($this->documento->editable) {
                     $orden = 1 + count($_POST['idlinea']);
                     foreach ($_POST['idlinea'] as $idl) {
                         foreach ($this->lineas as $lin) {
                             if ($lin->idlinea == $idl) {
                                 $lin->orden = $orden;
                                 $lin->mostrar_cantidad = FALSE;
                                 $lin->mostrar_precio = FALSE;
                                 if (isset($_POST['mostrar_cantidad_' . $idl])) {
                                     $lin->mostrar_cantidad = TRUE;
                                     $lin->mostrar_precio = isset($_POST['mostrar_precio_' . $idl]);
                                 }
                                 $lin->save();
                                 break;
                             }
                         }
                         $orden--;
                     }
                     $this->new_message('Datos guardados correctamente.');
                     $this->lineas = $this->documento->get_lineas();
                 } else {
                     $this->new_error_msg('El documento ya no es editable.');
                 }
             }
         }
     } else {
         if (isset($_REQUEST['pedido'])) {
             $ped0 = new pedido_cliente();
             $this->documento = $ped0->get($_REQUEST['id']);
             if ($this->documento) {
                 $this->titulo = FS_PEDIDO . ' ' . $this->documento->codigo;
                 $this->lineas = $this->documento->get_lineas();
                 if (isset($_POST['idlinea'])) {
                     if ($this->documento->editable) {
                         $orden = 1 + count($_POST['idlinea']);
                         foreach ($_POST['idlinea'] as $idl) {
                             foreach ($this->lineas as $lin) {
                                 if ($lin->idlinea == $idl) {
                                     $lin->orden = $orden;
                                     $lin->mostrar_cantidad = FALSE;
                                     $lin->mostrar_precio = FALSE;
                                     if (isset($_POST['mostrar_cantidad_' . $idl])) {
                                         $lin->mostrar_cantidad = TRUE;
                                         $lin->mostrar_precio = isset($_POST['mostrar_precio_' . $idl]);
                                     }
                                     $lin->save();
                                     break;
                                 }
                             }
                             $orden--;
                         }
                         $this->new_message('Datos guardados correctamente.');
                         $this->lineas = $this->documento->get_lineas();
                     } else {
                         $this->new_error_msg('El documento ya no es editable.');
                     }
                 }
             }
         }
     }
 }
コード例 #16
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_pedidos');
     $this->agente = FALSE;
     $pedido = new pedido_cliente();
     $this->pedido = FALSE;
     $this->almacen = new almacen();
     $this->cliente = new cliente();
     $this->cliente_s = FALSE;
     $this->divisa = new divisa();
     $this->ejercicio = new ejercicio();
     $this->fabricante = new fabricante();
     $this->familia = new familia();
     $this->forma_pago = new forma_pago();
     $this->impuesto = new impuesto();
     $this->nuevo_pedido_url = FALSE;
     $this->pais = new pais();
     $this->serie = new serie();
     $this->agencia = new agencia_transporte();
     /**
      * Comprobamos si el usuario tiene acceso a nueva_venta,
      * necesario para poder añadir líneas.
      */
     if ($this->user->have_access_to('nueva_venta', FALSE)) {
         $nuevopedp = $this->page->get('nueva_venta');
         if ($nuevopedp) {
             $this->nuevo_pedido_url = $nuevopedp->url();
         }
     }
     if (isset($_POST['idpedido'])) {
         $this->pedido = $pedido->get($_POST['idpedido']);
         $this->modificar();
     } else {
         if (isset($_GET['id'])) {
             $this->pedido = $pedido->get($_GET['id']);
         }
     }
     if ($this->pedido) {
         $this->page->title = $this->pedido->codigo;
         /// cargamos el agente
         if (!is_null($this->pedido->codagente)) {
             $agente = new agente();
             $this->agente = $agente->get($this->pedido->codagente);
         }
         /// cargamos el cliente
         $this->cliente_s = $this->cliente->get($this->pedido->codcliente);
         /// comprobamos el pedido
         if ($this->pedido->full_test()) {
             if (isset($_REQUEST['status'])) {
                 $this->pedido->status = intval($_REQUEST['status']);
                 if ($this->pedido->status == 1 and is_null($this->pedido->idalbaran)) {
                     $this->generar_albaran();
                 } elseif ($this->pedido->save()) {
                     $this->new_message(ucfirst(FS_PEDIDO) . " modificado correctamente.");
                 } else {
                     $this->new_error_msg("¡Imposible modificar el " . FS_PEDIDO . "!");
                 }
             }
         }
     } else {
         $this->new_error_msg("¡" . ucfirst(FS_PEDIDO) . " de cliente no encontrado!");
     }
 }
コード例 #17
0
 protected function private_core()
 {
     $this->share_extension();
     if (isset($_REQUEST["cat"])) {
         switch ($_REQUEST["cat"]) {
             case "fam":
                 if (isset($_REQUEST["cod"])) {
                     $this->codFamilia = $this->db->escape_string($_REQUEST["cod"]);
                 }
                 $catf = new autoventas_familia();
                 if (isset($_REQUEST["action"])) {
                     switch ($_REQUEST["action"]) {
                         case 1:
                             // Actualitzem dades
                             $catf->nombre = $this->db->escape_string($_REQUEST["fam_nombre"]);
                             $catf->descripcion = $this->db->escape_string($_REQUEST["fam_descripcion"]);
                             if (isset($_REQUEST["fam_visible"])) {
                                 $catf->visible = 1;
                             } else {
                                 $catf->visible = 0;
                             }
                             $catf->codigo = $this->codFamilia;
                             $catf->save();
                             break;
                         case 2:
                             // Pugem foto
                             $imagen = $this->guarda_foto_familia($this->codFamilia);
                             if ($imagen) {
                                 $this->familia = $catf->load_data($this->codFamilia);
                                 $catf->codigo = $this->familia["codigo"];
                                 $catf->nombre = $this->familia["nombre"];
                                 $catf->descripcion = $this->familia["descripcion"];
                                 $catf->visible = $this->familia["visible"];
                                 $catf->imagen = $imagen;
                                 $catf->save();
                                 $this->new_message("Imagen subida correctamente : {$imagen}");
                             }
                             break;
                         case 3:
                             // Borrem foto
                             if ($this->borra_foto($this->codFamilia)) {
                                 $this->new_message("Imagen borrada correctamente");
                                 $this->familia = $catf->load_data($this->codFamilia);
                                 $catf->codigo = $this->familia["codigo"];
                                 $catf->nombre = $this->familia["nombre"];
                                 $catf->descripcion = $this->familia["descripcion"];
                                 $catf->visible = $this->familia["visible"];
                                 $catf->imagen = "";
                                 $catf->save();
                             } else {
                                 $this->new_error_msg("Hubo un problema a la hora de borrar la imagen");
                             }
                             break;
                         default:
                             $this->new_error_msg("Autoventas: Código de accion desconocido");
                     }
                 } else {
                     $catf->codigo = $this->codFamilia;
                     if (!$catf->exists()) {
                         // No existeix, afegim les dades que tenim per defecte.
                         $fam = new familia();
                         $f1 = $fam->get($this->codFamilia);
                         $catf->codigo = $f1->codfamilia;
                         $catf->nombre = $f1->codfamilia;
                         $catf->descripcion = $f1->descripcion;
                         $catf->visible = 1;
                         $catf->imagen = "";
                         $catf->save();
                     }
                 }
                 $this->familia = $catf->load_data($this->codFamilia);
                 $this->template = "autoventas_familias";
                 break;
             case "firma":
                 if (isset($_REQUEST["tipo"])) {
                     $this->tipo = $_REQUEST["tipo"];
                     $this->id = (int) $_REQUEST["id"];
                     switch ($this->tipo) {
                         case "albaran":
                             if (isset($_REQUEST["action"])) {
                                 $accion = $_REQUEST["action"];
                             } else {
                                 $accion = "";
                             }
                             require_model("albaran_cliente.php");
                             $a = new albaran_cliente();
                             $b = $a->get($this->id);
                             $numero2 = $b->numero2;
                             $path = "images/autoventas/firmas";
                             switch ($accion) {
                                 case "sincroniza":
                                     $op = new autoventas_opcionesdb();
                                     $opciones = new autoventas_opcionesdb($op->load());
                                     $url = $opciones->url . "/images/autoventas/firmas/{$numero2}.jpg";
                                     if (@get_headers($url)[0] == 'HTTP/1.1 404 Not Found') {
                                         $this->new_error_msg('El archivo de firma no existe.');
                                     } else {
                                         $archivo = file_get_contents($url);
                                         if ($archivo) {
                                             file_put_contents($path . "/" . $numero2 . ".jpg", $archivo);
                                         }
                                     }
                                     break;
                                 case "borra":
                                     if (file_exists($path . "/{$numero2}.jpg")) {
                                         unlink($path . "/{$numero2}.jpg");
                                     }
                                     break;
                                 default:
                             }
                             if (!file_exists($path)) {
                                 if (!mkdir($path, 0777, TRUE)) {
                                     $this->new_error_msg('Error al crear la carpeta images/autoventas/familias.');
                                 }
                             }
                             if (!file_exists($path . "/{$numero2}.jpg")) {
                                 $this->firmaUrl = "data:image/png;base64,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";
                                 $this->firmaSolicitar = 1;
                             } else {
                                 $this->firmaUrl = "{$path}/{$numero2}.jpg";
                                 $this->firmaSolicitar = 0;
                             }
                             break;
                         case "pedido":
                             if (isset($_REQUEST["action"])) {
                                 $accion = $_REQUEST["action"];
                             } else {
                                 $accion = "";
                             }
                             require_model("pedido_cliente.php");
                             $a = new pedido_cliente();
                             $b = $a->get($this->id);
                             $numero2 = $b->numero2;
                             $path = "images/autoventas/firmas";
                             switch ($accion) {
                                 case "sincroniza":
                                     $op = new autoventas_opcionesdb();
                                     $opciones = new autoventas_opcionesdb($op->load());
                                     $url = $opciones->url . "/images/autoventas/firmas/{$numero2}.jpg";
                                     if (@get_headers($url)[0] == 'HTTP/1.1 404 Not Found') {
                                         $this->new_error_msg('El archivo de firma no existe.');
                                     } else {
                                         $archivo = file_get_contents($url);
                                         if ($archivo) {
                                             file_put_contents($path . "/" . $numero2 . ".jpg", $archivo);
                                         }
                                     }
                                     break;
                                 case "borra":
                                     if (file_exists($path . "/{$numero2}.jpg")) {
                                         unlink($path . "/{$numero2}.jpg");
                                     }
                                     break;
                                 default:
                             }
                             if (!file_exists($path)) {
                                 if (!mkdir($path, 0777, TRUE)) {
                                     $this->new_error_msg('Error al crear la carpeta images/autoventas/familias.');
                                 }
                             }
                             if (!file_exists($path . "/{$numero2}.jpg")) {
                                 $this->firmaUrl = "data:image/png;base64,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";
                                 $this->firmaSolicitar = 1;
                             } else {
                                 $this->firmaUrl = "{$path}/{$numero2}.jpg";
                                 $this->firmaSolicitar = 0;
                             }
                             break;
                         default:
                             $this->new_error_msg("Autoventas: Tipo de documento desconocido");
                     }
                 }
                 $this->template = "autoventas_firma";
                 break;
             case "imprimir":
                 $this->albaran = FALSE;
                 $this->cliente = FALSE;
                 $this->pedido = FALSE;
                 $this->impuesto = new impuesto();
                 /// obtenemos los datos de configuración de impresión
                 $this->impresion = array('print_ref' => '1', 'print_dto' => '1', 'print_alb' => '0', 'print_formapago' => '1');
                 $fsvar = new fs_var();
                 $this->impresion = $fsvar->array_get($this->impresion, FALSE);
                 $this->logo = FALSE;
                 if (file_exists('tmp/' . FS_TMP_NAME . 'logo.png')) {
                     $this->logo = 'tmp/' . FS_TMP_NAME . 'logo.png';
                 } else {
                     if (file_exists('tmp/' . FS_TMP_NAME . 'logo.jpg')) {
                         $this->logo = 'tmp/' . FS_TMP_NAME . 'logo.jpg';
                     }
                 }
                 if (isset($_REQUEST['albaran']) and isset($_REQUEST['id'])) {
                     $alb = new albaran_cliente();
                     $this->albaran = $alb->get($_REQUEST['id']);
                     if ($this->albaran) {
                         $cliente = new cliente();
                         $this->cliente = $cliente->get($this->albaran->codcliente);
                     }
                     if (isset($_POST['email'])) {
                         $this->enviar_email('albaran');
                     } else {
                         $this->generar_pdf_albaran();
                     }
                 } else {
                     if (isset($_REQUEST['pedido']) and isset($_REQUEST['id'])) {
                         require_model("pedido_cliente.php");
                         $fac = new pedido_cliente();
                         $this->pedido = $fac->get($_REQUEST['id']);
                         if ($this->pedido) {
                             $cliente = new cliente();
                             $this->cliente = $cliente->get($this->pedido->codcliente);
                         }
                         if (isset($_POST['email'])) {
                             $this->enviar_email('pedido');
                         } else {
                             $this->generar_pdf_pedido();
                         }
                     }
                 }
                 break;
             default:
                 $this->new_error_msg('Autoventas: Error categoría desconocida');
         }
     } else {
         $this->new_error_msg('Autoventas: Error sin categoría');
     }
 }
コード例 #18
0
ファイル: tab_pagos.php プロジェクト: kailIII/pagos
 protected function private_core()
 {
     $this->pagado = FALSE;
     $this->pago = new pago();
     $this->pagos = array();
     $this->pendiente = 0;
     if (isset($_GET['delete'])) {
         $pago = $this->pago->get($_GET['delete']);
         if ($pago) {
             if ($pago->delete()) {
                 $this->new_message('Pago eliminado correctamente.');
                 if (!is_null($pago->idfactura)) {
                     $fact0 = new factura_cliente();
                     $factura = $fact0->get($pago->idfactura);
                     if ($factura) {
                         if ($factura->pagada) {
                             $factura->pagada = FALSE;
                             $factura->save();
                         }
                     }
                 }
             } else {
                 $this->new_error_msg('Error al eliminar el pago.');
             }
         } else {
             $this->new_error_msg('Pago no encontrado.');
         }
     } else {
         if (isset($_POST['idpago'])) {
             $pago = $this->pago->get($_POST['idpago']);
             if ($pago) {
                 $pago->fecha = $_POST['fecha'];
                 $pago->importe = floatval($_POST['importe']);
                 $pago->nota = $_POST['nota'];
                 if ($pago->save()) {
                     $this->new_message('Pago modificado correctamente.');
                 } else {
                     $this->new_error_msg('Error al modificar el pago.');
                 }
             } else {
                 $this->new_error_msg('Pago no encontrado.');
             }
         } else {
             if (isset($_POST['importe'])) {
                 if (isset($_REQUEST['factura'])) {
                     $this->pago->fase = 'Factura';
                     $this->pago->idfactura = $_REQUEST['id'];
                 } else {
                     if (isset($_REQUEST['albaran'])) {
                         $this->pago->fase = ucfirst(FS_ALBARAN);
                         $this->pago->idalbaran = $_REQUEST['id'];
                     } else {
                         if (isset($_REQUEST['pedido'])) {
                             $this->pago->fase = ucfirst(FS_PEDIDO);
                             $this->pago->idpedido = $_REQUEST['id'];
                         }
                     }
                 }
                 $this->pago->fecha = $_POST['fecha'];
                 $this->pago->importe = floatval($_POST['importe']);
                 $this->pago->nota = $_POST['nota'];
                 if ($this->pago->save()) {
                     $this->new_message('Pago guardado correctamente.');
                 } else {
                     $this->new_error_msg('Error al guardar el pago.');
                 }
             }
         }
     }
     if (isset($_REQUEST['factura'])) {
         /// esto es la fase de factura
         $fact0 = new factura_cliente();
         $factura = $fact0->get($_REQUEST['id']);
         if ($factura) {
             /// buscamos pagos de la fase albarán
             /// una factura puede ser una agrupación de muchos albaranes
             $idalbaran = NULL;
             foreach ($factura->get_lineas() as $linea) {
                 /// el idalbaran lo tienes en las lineas de la factura
                 if ($linea->idalbaran != $idalbaran) {
                     $idalbaran = $linea->idalbaran;
                     $this->db->exec("UPDATE pagos SET idfactura = " . $fact0->var2str($_REQUEST['id']) . " WHERE idalbaran = " . $fact0->var2str($idalbaran) . ";");
                 }
             }
             $this->pagos = $this->pago->all_from_factura($_REQUEST['id']);
             $this->pendiente = $factura->total;
             foreach ($this->pagos as $i => $value) {
                 $this->pendiente -= $value->importe;
                 $this->pagos[$i]->pendiente = $this->pendiente;
             }
             /// si nos han pagado el total, marcamos la factura como pagada
             if (!$factura->pagada and abs($this->pendiente) < 0.1) {
                 $factura->pagada = TRUE;
                 $factura->save();
             }
             $this->pagado = $factura->pagada;
         }
     } else {
         if (isset($_REQUEST['albaran'])) {
             /// fase de albarán
             $this->pagos = $this->pago->all_from_albaran($_REQUEST['id']);
             /**
              * Falta poner el idalbaran a los pagos de los pedidos que forman este
              * albarán. Si es que hay.
              * Copia esto de la fase de factura.
              */
             $alb0 = new albaran_cliente();
             $albaran = $alb0->get($_REQUEST['id']);
             if ($albaran) {
                 $this->pendiente = $albaran->total;
                 foreach ($this->pagos as $i => $value) {
                     $this->pendiente -= $value->importe;
                     $this->pagos[$i]->pendiente = $this->pendiente;
                 }
                 if (abs($this->pendiente) < 0.1) {
                     $this->pagado = TRUE;
                 }
             }
         } else {
             if (isset($_REQUEST['pedido'])) {
                 /// fose de pedido
                 $this->pagos = $this->pago->all_from_pedido($_REQUEST['id']);
                 $ped0 = new pedido_cliente();
                 $pedido = $ped0->get($_REQUEST['id']);
                 if ($pedido) {
                     $this->pendiente = $pedido->total;
                     foreach ($this->pagos as $i => $value) {
                         $this->pendiente -= $value->importe;
                         $this->pagos[$i]->pendiente = $this->pendiente;
                     }
                     if (abs($this->pendiente) < 0.1) {
                         $this->pagado = TRUE;
                     }
                 }
             }
         }
     }
     $this->share_extensions();
 }
コード例 #19
0
 private function nuevo_pedido_cliente()
 {
     $continuar = TRUE;
     $cliente = $this->cliente->get($_POST['cliente']);
     if (!$cliente) {
         $this->new_error_msg('Cliente no encontrado.');
         $continuar = FALSE;
     }
     $almacen = $this->almacen->get($_POST['almacen']);
     if ($almacen) {
         $this->save_codalmacen($_POST['almacen']);
     } else {
         $this->new_error_msg('Almacén no encontrado.');
         $continuar = FALSE;
     }
     $eje0 = new ejercicio();
     $ejercicio = $eje0->get_by_fecha($_POST['fecha']);
     if (!$ejercicio) {
         $this->new_error_msg('Ejercicio no encontrado.');
         $continuar = FALSE;
     }
     $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($_POST['forma_pago']);
     } else {
         $this->new_error_msg('Forma de pago no encontrada.');
         $continuar = FALSE;
     }
     $divisa = $this->divisa->get($_POST['divisa']);
     if (!$divisa) {
         $this->new_error_msg('Divisa no encontrada.');
         $continuar = FALSE;
     }
     $pedido = new pedido_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="' . $pedido->url() . '">Pedidos</a>
            para ver si el pedido se ha guardado correctamente.');
         $continuar = FALSE;
     }
     if ($continuar) {
         $pedido->fecha = $_POST['fecha'];
         $pedido->codalmacen = $almacen->codalmacen;
         $pedido->codejercicio = $ejercicio->codejercicio;
         $pedido->codserie = $serie->codserie;
         $pedido->codpago = $forma_pago->codpago;
         $pedido->coddivisa = $divisa->coddivisa;
         $pedido->tasaconv = $divisa->tasaconv;
         if ($_POST['tasaconv'] != '') {
             $pedido->tasaconv = floatval($_POST['tasaconv']);
         }
         $pedido->codagente = $this->agente->codagente;
         $pedido->observaciones = $_POST['observaciones'];
         $pedido->numero2 = $_POST['numero2'];
         $pedido->irpf = $serie->irpf;
         $pedido->porcomision = $this->agente->porcomision;
         $pedido->codcliente = $cliente->codcliente;
         $pedido->cifnif = $cliente->cifnif;
         $pedido->nombrecliente = $cliente->razonsocial;
         $pedido->ciudad = $_POST['ciudad'];
         $pedido->codpais = $_POST['codpais'];
         $pedido->codpostal = $_POST['codpostal'];
         $pedido->direccion = $_POST['direccion'];
         $pedido->provincia = $_POST['provincia'];
         if ($pedido->save()) {
             $art0 = new articulo();
             $n = floatval($_POST['numlineas']);
             for ($i = 0; $i <= $n; $i++) {
                 if (isset($_POST['referencia_' . $i])) {
                     $linea = new linea_pedido_cliente();
                     $linea->idpedido = $pedido->idpedido;
                     $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()) {
                         $pedido->neto += $linea->pvptotal;
                         $pedido->totaliva += $linea->pvptotal * $linea->iva / 100;
                         $pedido->totalirpf += $linea->pvptotal * $linea->irpf / 100;
                         $pedido->totalrecargo += $linea->pvptotal * $linea->recargo / 100;
                     } else {
                         $this->new_error_msg("¡Imposible guardar la linea con referencia: " . $linea->referencia);
                         $continuar = FALSE;
                     }
                 }
             }
             if ($continuar) {
                 /// redondeamos
                 $pedido->neto = round($pedido->neto, FS_NF0);
                 $pedido->totaliva = round($pedido->totaliva, FS_NF0);
                 $pedido->totalirpf = round($pedido->totalirpf, FS_NF0);
                 $pedido->totalrecargo = round($pedido->totalrecargo, FS_NF0);
                 $pedido->total = $pedido->neto + $pedido->totaliva - $pedido->totalirpf + $pedido->totalrecargo;
                 if (abs(floatval($_POST['atotal']) - $pedido->total) >= 0.02) {
                     $this->new_error_msg("El total difiere entre el controlador y la vista (" . $pedido->total . " frente a " . $_POST['atotal'] . "). Debes informar del error.");
                     $pedido->delete();
                 } else {
                     if ($pedido->save()) {
                         $this->new_message("<a href='" . $pedido->url() . "'>" . ucfirst(FS_PEDIDO) . "</a> guardado correctamente.");
                         $this->new_change(ucfirst(FS_PEDIDO) . " a Cliente " . $pedido->codigo, $pedido->url(), TRUE);
                         if ($_POST['redir'] == 'TRUE') {
                             header('Location: ' . $pedido->url());
                         }
                     } else {
                         $this->new_error_msg("¡Imposible actualizar el <a href='" . $pedido->url() . "'>" . FS_PEDIDO . "</a>!");
                     }
                 }
             } else {
                 if ($pedido->delete()) {
                     $this->new_message(ucfirst(FS_PEDIDO) . " eliminado correctamente.");
                 } else {
                     $this->new_error_msg("¡Imposible eliminar el <a href='" . $pedido->url() . "'>" . FS_PEDIDO . "</a>!");
                 }
             }
         } else {
             $this->new_error_msg("¡Imposible guardar el " . FS_PEDIDO . "!");
         }
     }
 }
コード例 #20
0
ファイル: tab_pagos.php プロジェクト: desalort/FSAutoventas
 protected function private_core()
 {
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     $this->coddivisa = $this->empresa->coddivisa;
     $this->pagado = FALSE;
     $this->pago = new pago();
     $this->pagos = array();
     $this->pendiente = 0;
     $this->pago->cron_job();
     if (isset($_GET['delete'])) {
         $pago = $this->pago->get($_GET['delete']);
         if ($pago) {
             if ($pago->delete()) {
                 $this->new_message('Pago eliminado correctamente.');
             } else {
                 $this->new_error_msg('Error al eliminar el pago.');
             }
         } else {
             $this->new_error_msg('Pago no encontrado.');
         }
     } else {
         if (isset($_POST['idpago'])) {
             $pago = $this->pago->get($_POST['idpago']);
             if ($pago) {
                 $pago->fecha = $_POST['fecha'];
                 $pago->importe = floatval($_POST['importe']);
                 $pago->nota = $_POST['nota'];
                 if ($pago->save()) {
                     $this->new_message('Pago modificado correctamente.');
                 } else {
                     $this->new_error_msg('Error al modificar el pago.');
                 }
             } else {
                 $this->new_error_msg('Pago no encontrado.');
             }
         } else {
             if (isset($_POST['importe'])) {
                 if (isset($_REQUEST['albaran'])) {
                     $this->pago->fase = ucfirst(FS_ALBARAN);
                     $this->pago->idalbaran = $_REQUEST['id'];
                 } else {
                     if (isset($_REQUEST['pedido'])) {
                         $this->pago->fase = ucfirst(FS_PEDIDO);
                         $this->pago->idpedido = $_REQUEST['id'];
                     }
                 }
                 $this->pago->fecha = $_POST['fecha'];
                 $this->pago->importe = floatval($_POST['importe']);
                 $this->pago->nota = $_POST['nota'];
                 if ($this->pago->save()) {
                     $this->new_message('Pago guardado correctamente.');
                 } else {
                     $this->new_error_msg('Error al guardar el pago.');
                 }
             }
         }
     }
     $this->bloquear = TRUE;
     if (isset($_REQUEST['albaran'])) {
         $alb0 = new albaran_cliente();
         $albaran = $alb0->get($_REQUEST['id']);
         if ($albaran) {
             /// buscamos pagos de la fase pedido
             /// un albarán puede ser una agrupación de muchos pedidos
             $idpedido = NULL;
             foreach ($albaran->get_lineas() as $linea) {
                 /// el idpedido lo tienes en las lineas del albarán
                 if ($linea->idpedido != $idpedido) {
                     $idpedido = $linea->idpedido;
                     $this->db->exec("UPDATE pagos SET idalbaran = " . $alb0->var2str($_REQUEST['id']) . " WHERE idpedido = " . $alb0->var2str($idpedido) . ";");
                 }
             }
             /// fase de albarán
             $this->pagos = $this->pago->all_from_albaran($_REQUEST['id']);
             $this->pendiente = $albaran->total;
             foreach ($this->pagos as $i => $value) {
                 $this->pendiente -= $value->importe;
                 $this->pagos[$i]->pendiente = $this->pendiente;
             }
             if (abs($this->pendiente) < 0.1) {
                 $this->pagado = TRUE;
             }
             if ($albaran->ptefactura) {
                 $this->bloquear = FALSE;
             }
         }
     } else {
         if (isset($_REQUEST['pedido'])) {
             /// fose de pedido
             $this->pagos = $this->pago->all_from_pedido($_REQUEST['id']);
             $ped0 = new pedido_cliente();
             $pedido = $ped0->get($_REQUEST['id']);
             if ($pedido) {
                 $this->pendiente = $pedido->total;
                 foreach ($this->pagos as $i => $value) {
                     $this->pendiente -= $value->importe;
                     $this->pagos[$i]->pendiente = $this->pendiente;
                 }
                 if (abs($this->pendiente) < 0.1) {
                     $this->pagado = TRUE;
                 }
                 if ($pedido->status == 0) {
                     $this->bloquear = FALSE;
                 }
             }
         }
     }
     $this->share_extensions();
 }