json(DistribuicaoService::index(), Response::HTTP_OK); } public function create() { $this->auth(__FUNCTION__); return response()->json(DistribuicaoService::create(), Response::HTTP_OK); } public function store(Request $request) { $this->auth(__FUNCTION__); if ($request['tipo_movimentacao'] === 'estorno') { return $this->destroy($request); } else { return response()->json(DistribuicaoService::store($request), Response::HTTP_CREATED); } } public function destroy(Request $request) { $this->auth(__FUNCTION__); return response()->json(DistribuicaoService::destroy($request), Response::HTTP_OK); } public function datatable() { return datatables() ->of(DistribuicaoService::datatable()) ->filterColumn('imunizacao_entrada.data_entrada', function ($query, $keyword) { $query->whereRaw("DATE_FORMAT(imunizacao_entrada.data_entrada, '%d/%m/%Y') LIKE ?", ["%{$keyword}%"]) ->orWhereRaw( "CONCAT( SUBSTR(imunizacao_entrada.data_entrada,9,2), SUBSTR(imunizacao_entrada.data_entrada,6,2), SUBSTR(imunizacao_entrada.data_entrada,1,4) ) like ?", ["%{$keyword}%"] ); }) ->filterColumn('cadastro_infraestrutura_de.nome', function ($query, $keyword) { $query->whereRaw("COALESCE(cadastro_infraestrutura_de.nome, cadastro_unidade_de.nome_fantasia) like ?", ["%{$keyword}%"]); }) ->filterColumn('cadastro_infraestrutura_para.nome', function ($query, $keyword) { $query->whereRaw("COALESCE(cadastro_infraestrutura_para.nome, cadastro_unidade_para.nome_fantasia) like ?", ["%{$keyword}%"]); }) ->skipTotalRecords() ->make(true); } public function list() { return response()->json(DistribuicaoService::list(), Response::HTTP_OK); } }