44 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Helpers;
 | 
						|
 | 
						|
use App\CanastaLog;
 | 
						|
use Illuminate\Support\Facades\Log;
 | 
						|
use League\Csv\Exception;
 | 
						|
 | 
						|
class TransporteHelper
 | 
						|
{
 | 
						|
    const COSTO_TRANSPORTE = 15;
 | 
						|
    const MONTO_TRANSPORTE = 500;
 | 
						|
 | 
						|
    public static function cantidadTransporte($monto)
 | 
						|
    {
 | 
						|
        return ceil($monto / self::MONTO_TRANSPORTE);
 | 
						|
    }
 | 
						|
 | 
						|
    public static function totalTransporte($monto)
 | 
						|
    {
 | 
						|
        return self::cantidadTransporte($monto) * self::COSTO_TRANSPORTE;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @throws Exception
 | 
						|
     */
 | 
						|
    public static function filaTransporte()
 | 
						|
    {
 | 
						|
        $ultimaCanasta = CanastaLog::where('descripcion', CanastaHelper::CANASTA_CARGADA)
 | 
						|
            ->orderBy('created_at', 'desc')
 | 
						|
            ->pluck('path')
 | 
						|
            ->first();
 | 
						|
 | 
						|
        $registros = CsvHelper::getRecords($ultimaCanasta, "No se encontró la ultima canasta.");
 | 
						|
        $error = 'No hay fila de tipo T en la planilla: ' . $ultimaCanasta;
 | 
						|
 | 
						|
        foreach ($registros as $key => $registro)
 | 
						|
            if ($registro[CanastaHelper::TIPO] == 'T')
 | 
						|
                return $key;
 | 
						|
 | 
						|
        Log::error($error);
 | 
						|
        throw new Exception($error);
 | 
						|
    }
 | 
						|
}
 |