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.
70 lines
1.7 KiB
70 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; |
|
|
|
} |
|
|
|
|
|
}
|
|
|