Cambio lógica de pago de transporte

This commit is contained in:
Alejandro Tasistro 2024-09-05 13:34:33 -03:00
parent d91d46c589
commit c86eb97cb9
3 changed files with 25 additions and 6 deletions

View File

@ -93,7 +93,11 @@ class GrupoDeCompra extends Model
}
public function calcularCantidadBDT() {
return ceil($this->totalPedidosSinBonos() / 500);
$total = 0;
foreach ($this->pedidosAprobados() as $pedido) {
$total += $pedido->totalParaTransporte();
}
return ceil($total / 500);
}
public function totalBonosBarriales() {

View File

@ -5,6 +5,7 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Filtros\FiltroDeProducto;
use Illuminate\Support\Str;
class Producto extends Model
{
@ -22,6 +23,10 @@ class Producto extends Model
return $this->belongsTo('App\Proveedor');
}
public function pagaTransporte() {
return !($this->bono || Str::contains($this->categoria, 'SUBSIDIADO'));
}
//Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
public function scopeFiltrar($query, FiltroDeProducto $filtros)
{

View File

@ -46,10 +46,20 @@ class Subpedido extends Model
return $this->productosSinBonos()->sum('total');
}
public function totalParaTransporte() {
$total = 0;
foreach ($this->productos()->get() as $producto) {
if ($producto->pagaTransporte()) {
$total += $producto->precio * $producto->pivot->cantidad;
}
}
return ceil($total);
}
//Cantidad de bonos de transporte
public function cantidadBDT()
{
return ceil($this->totalSinBonos() / 500);
return ceil($this->totalParaTransporte() / 500);
}
//Subtotal de dinero de bonos de transporte