trabajando

This commit is contained in:
2024-06-14 15:04:41 +02:00
parent ef7cbf853b
commit 3e0443927c
12 changed files with 346 additions and 50 deletions

View File

@ -0,0 +1,103 @@
<?php
namespace App\Models\Pedidos;
class AlbaranModel extends \App\Models\BaseModel
{
protected $table = "albaranes";
/**
* Whether primary key uses auto increment.
*
* @var bool
*/
protected $useAutoIncrement = true;
protected $primaryKey = 'id';
protected $returnType = 'App\Entities\Pedidos\AlbaranEntity';
protected $allowedFields = [
'pedido_id',
'presupuesto_id',
'presupuesto_direccion_id',
'cliente_id',
'serie_id',
'numero_albaran',
'mostar_precios',
'total',
'direccion_albaran',
'att_albaran',
'user_created_id',
'user_updated_id',
'created_at',
'updated_at',
'deleted_at',
];
protected $useTimestamps = true;
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
public function generarAlbaranes($pedido_id, $presupuestos_id, $user_id){
$model_presupuesto = model('App\Models\Presupuestos\PresupuestoModel');
$model_presupuesto_direcciones = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$model_series = model('App\Models\Configuracion\SeriesFacturasModel');
$presupuestos = $model_presupuesto->find($presupuestos_id);
foreach ($presupuestos as $presupuesto) {
$envios = $model_presupuesto_direcciones->where('presupuesto_id', $presupuesto->id)->findAll();
foreach($envios as $envio){
// calculo precio_unidad
$precio_unidad = $presupuesto->total_aceptado/$presupuesto->tirada;
$albaran_linea = [];
$albaran_linea = array(
'titulo' => $presupuesto->titulo,
'isbn' => $presupuesto->isbn,
'ref_cliente' => $presupuesto->ref_cliente,
'cantidad' => $envio->cantidad,
'cajas' => 1,
'ejemplares_por_caja' => $envio->cantidad,
'precio_unidad' => $precio_unidad,
'total' => $precio_unidad * $envio->cantidad
);
$serie = $model_series->find(11);
$numero_albaran = str_replace($serie->next, 'number', $serie->formato);
$numero_albaran = str_replace(date("Y"), 'year', $numero_albaran);
$serie->next = $serie->next + 1;
$model_series->save($serie);
$albaran = array(
'pedido_id' => $pedido_id,
'presupuesto_id' => $presupuesto->id,
'presupuesto_direccion_id' => $envio->id,
'cliente_id' => $presupuesto->cliente_id,
'serie_id' => 11, // Serie de albaranes
'numero_albaran' => $numero_albaran,
'mostar_precios' => 0,
'total' => $albaran_linea['total'],
'direccion_albaran' => $envio->direccion,
'att_albaran' => $envio->att,
'created_at' => date("Y-m-d H:i:s"),
'updated_at' => date("Y-m-d H:i:s"),
'user_created_id' => $user_id,
'user_updated_id' => $user_id
);
$id_albaran = $this->insert($albaran);
$model_albaran_linea = model('App\Models\Pedidos\AlbaranLineaModel');
$model_albaran_linea->insert($albaran_linea);
return $id_albaran;
}
}
return 0;
}
}