You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.7 KiB

<?php
namespace App\Http\Controllers\RecursosHumanos;
use App\Http\Controllers\Controller;
use App\Models\ArchivosNominas;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Throwable;
class ArchivosNominasController extends Controller
{
public function index()
{
return view('recursos_humanos/archivos_nominas');
}
public function cargarArchivos( Request $request ){
$fk_id_users = Auth::user()->id;
$mensjes = [];
foreach( $request->file('files') as $archivo ){
$nombreArchivo = $archivo->getClientOriginalName();
$datosNombreArchivo = explode('_',$nombreArchivo);
// dd($datosNombreArchivo);
Storage::disk('public')->put( $nombreArchivo , \File::get( $archivo ));
try{
ArchivosNominas::updateOrCreate([
'nombre_archivo' => $nombreArchivo
],
['fk_id_users_alta' => $fk_id_users,
'tipo_nomina' => $datosNombreArchivo[2],
'ano_fiscal' => $datosNombreArchivo[3],
'numero_nomina' => $datosNombreArchivo[4],
'clave_contpaq' => $datosNombreArchivo[5]]
);
$mensjes[] = [
'archivo' => $nombreArchivo,
'estado' => 'Exito',
];
}catch(Throwable $e){
$mensjes[] = [
'archivo' => $nombreArchivo,
'estado' => $e->getMessage()
];
}
}
return $mensjes;
}
}