79 lines
2.7 KiB
PHP
79 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Cadastro\Feriado;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Services\Cadastro\Feriado\FeriadoService;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Response;
|
|
class FeriadoController extends Controller
|
|
{
|
|
protected $modulo = 'cadastro';
|
|
protected $funcionalidade = 'feriado';
|
|
|
|
public function datatable()
|
|
{
|
|
return datatables()->of(FeriadoService::datatable())
|
|
->filterColumn('cadastro_feriado.mes', function($query, $keyword) {
|
|
$query->whereRaw("cadastro_feriado.mes = ? OR CASE
|
|
WHEN cadastro_feriado.mes = 1 THEN 'JANEIRO'
|
|
WHEN cadastro_feriado.mes = 2 THEN 'FEVEREIRO'
|
|
WHEN cadastro_feriado.mes = 3 THEN 'MARÇO'
|
|
WHEN cadastro_feriado.mes = 4 THEN 'ABRIL'
|
|
WHEN cadastro_feriado.mes = 5 THEN 'MAIO'
|
|
WHEN cadastro_feriado.mes = 6 THEN 'JUNHO'
|
|
WHEN cadastro_feriado.mes = 7 THEN 'JULHO'
|
|
WHEN cadastro_feriado.mes = 8 THEN 'AGOSTO'
|
|
WHEN cadastro_feriado.mes = 9 THEN 'SETEMBRO'
|
|
WHEN cadastro_feriado.mes = 10 THEN 'OUTUBRO'
|
|
WHEN cadastro_feriado.mes = 11 THEN 'NOVEMBRO'
|
|
WHEN cadastro_feriado.mes = 12 THEN 'DEZEMBRO'
|
|
END LIKE ?", [$keyword, "%{$keyword}%"]);
|
|
})
|
|
->filterColumn('cadastro_feriado.dia', function ($query, $keyword) {
|
|
$query->whereRaw("cadastro_feriado.dia like ?", ["%{$keyword}%"]);
|
|
})
|
|
->filterColumn('cadastro_feriado.ano', function ($query, $keyword) {
|
|
$query->whereRaw("cadastro_feriado.ano like ?", ["%{$keyword}%"]);
|
|
})
|
|
->skipTotalRecords()
|
|
->toJson();
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
$this->auth(__FUNCTION__);
|
|
|
|
return response()->json(FeriadoService::create(), Response::HTTP_CREATED);
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$this->auth(__FUNCTION__);
|
|
|
|
return response()->json(FeriadoService::store($request), Response::HTTP_CREATED);
|
|
}
|
|
|
|
public function edit($id)
|
|
{
|
|
$this->auth(__FUNCTION__);
|
|
|
|
return response()->json(FeriadoService::edit($id), Response::HTTP_OK);
|
|
}
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
$this->auth(__FUNCTION__);
|
|
|
|
return response()->json(FeriadoService::update($request, $id), Response::HTTP_NO_CONTENT);
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
$this->auth(__FUNCTION__);
|
|
|
|
return response()->json(FeriadoService::destroy($id), Response::HTTP_NO_CONTENT);
|
|
}
|
|
|
|
}
|