<?php

namespace App\Support;

/**
 * Cantidad facturable por pieza: mínimo configurable (p. ej. 3 pzas.) y entero redondeado.
 * La cantidad real la ingresa el cajero; esta regla define cuántas unidades se cobran.
 */
final class LaundryPieceQuantityBilling
{
    public static function minBillQty(): int
    {
        return max(1, (int) config('lavanderia.piece_min_bill_qty', 3));
    }

    public static function billingQuantity(float $realQty): float
    {
        if ($realQty <= 0) {
            return 0;
        }

        return (float) max(self::minBillQty(), (int) round($realQty));
    }
}
