From 79e044fbd50874a8895847b5fa42aa83794e0c14 Mon Sep 17 00:00:00 2001 From: farhan048 Date: Fri, 20 Oct 2023 17:27:40 +0700 Subject: [PATCH] company mangement --- app/Http/Controllers/CompanyController.php | 139 ++++++++++++--------- app/Models/Company.php | 2 +- routes/web.php | 26 ++-- 3 files changed, 99 insertions(+), 68 deletions(-) diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index d71519b..7e8938d 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -7,79 +7,104 @@ use Illuminate\Http\Request; class CompanyController extends Controller { - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index() + public function add(Request $request) { - // - } + $this->validate($request, [ + 'name' => 'required', + 'description' => 'required' + ]); - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - // + $data = $request->all(); + + $data['created_by'] = $this->currentName; + + $result = Company::create($data); + + if ($result) { + return response()->json(['status' => 'success', 'message' => 'add Company successfully!', 'code' => 200], 200); + } else { + return response()->json(['status' => 'failed', 'message' => 'add data Company failed!', 'code' => 400], 400); + } } - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) + public function edit($id) { - // + if (!$id || (int) $id < 0 || $id == "") { + return response()->json(['status' => 'failed', 'message' => 'id is required!', 'code' => 400], 400); + die(); + } + + $result = Company::find($id); + + if ($result) { + return response()->json(['status' => 'success', 'code' => 200, 'data' => $result], 200); + } else { + return response()->json(['status' => 'failed', 'message' => 'failed get data Company, please try again later!', 'code' => 400], 400); + } } - /** - * Display the specified resource. - * - * @param \App\Company $company - * @return \Illuminate\Http\Response - */ - public function show(Company $company) + public function update(Request $request, $id) { - // + if (!$id || (int) $id < 0 || $id == "") { + return response()->json(['status' => 'failed', 'message' => 'id is required!', 'code' => 400], 400); + } + + $data = Company::find($id); + + if ($data) { + $result = $data->update($request->all()); + } else { + return response()->json(['status' => 'failed', 'message' => 'data Company not found!', 'code' => 400], 400); + die(); + } + + + if ($result) { + return response()->json(['status' => 'success', 'message' => 'data Company successfully updated!', 'code' => 200], 200); + } else { + return response()->json(['status' => 'failed', 'message' => 'data Company failed updated!', 'code' => 400], 400); + } } - /** - * Show the form for editing the specified resource. - * - * @param \App\Company $company - * @return \Illuminate\Http\Response - */ - public function edit(Company $company) + public function delete($id) { - // + $data = Company::find($id); + + if ($data) { + $delete = $data->delete(); + } else { + return response()->json(['status' => 'failed', 'message' => 'data Company not found!', 'code' => 400], 400); + die(); + } + + + if ($delete) { + return response()->json(['status' => 'success', 'message' => 'data Company successfully deleted!', 'code' => 200], 200); + } else { + return response()->json(['status' => 'failed', 'message' => 'data Company failed deleted!', 'code' => 400], 400); + } } - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param \App\Company $company - * @return \Illuminate\Http\Response - */ - public function update(Request $request, Company $company) + public function search(Request $request) { - // + $payload = $request->all(); + $dataBuilder = $this->setUpPayload($payload, 'm_company'); + $builder = $dataBuilder['builder']; + $countBuilder = $dataBuilder['count']; + $dataGet = $builder->get(); + $totalRecord = $countBuilder->count(); + return response()->json(['status' => 'success', 'code' => 200, 'data' => $dataGet, 'totalRecord' => $totalRecord], 200); } - /** - * Remove the specified resource from storage. - * - * @param \App\Company $company - * @return \Illuminate\Http\Response - */ - public function destroy(Company $company) + public function list() { - // + $data = Company::all(); + $countData = $data->count(); + + if ($data) { + return response()->json(['status' => 'success', 'code' => 200, 'data' => $data, 'totalRecord' => $countData], 200); + } else { + return response()->json(['status' => 'failed', 'message' => 'failed get list Company, please try again later!', 'code' => 400], 400); + } } } diff --git a/app/Models/Company.php b/app/Models/Company.php index 7b85e58..db52f7d 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model; class Company extends Model { - protected $table = 'm_divisi'; + protected $table = 'm_company'; const CREATED_AT = 'created_at'; const UPDATED_AT = 'updated_at'; diff --git a/routes/web.php b/routes/web.php index 73b90db..bf32671 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,10 +1,10 @@ get('/', function () use ($router) { - return $router->app->version(); + return $router->app->version(); }); -$router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($router) { +$router->group(['prefix' => 'api', 'middleware' => 'cors'], function () use ($router) { $router->post('/login', 'AuthController@login'); $router->post('/menu/add', 'MenuController@add'); @@ -53,7 +53,7 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout $router->post('/document-activity/search', 'ActivityDokumenController@searchDocProject'); $router->get('/document-activity/download/{id}', 'ActivityDokumenController@downloadDokumen'); - $router->get('/project-by-customer/{id}','ProjectController@getByUser'); + $router->get('/project-by-customer/{id}', 'ProjectController@getByUser'); $router->post('/project/search', 'ProjectController@search'); $router->post('/project/add', 'ProjectController@add'); $router->put('/project/update/{id}', 'ProjectController@update'); @@ -207,11 +207,11 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout $router->get('/activity/{id}/{proyek_id}/get', 'ActivityController@getByGanttId'); $router->post('/activity/search', 'ActivityController@search'); $router->post('/activity/search-analysis', 'ActivityController@searchAnalysis'); - $router->post('/activity/import', 'ActivityController@import'); - $router->post('/activity/import-update', 'ActivityController@importUpdate'); - $router->post('/activity/import-old', 'ActivityController@importOld'); - $router->post('/activity/batch-update/{ganttId}', 'ActivityController@batchUpdate'); - $router->get('/activity/update-schedule/{ganttId}', 'ActivityController@updateSchedule'); + $router->post('/activity/import', 'ActivityController@import'); + $router->post('/activity/import-update', 'ActivityController@importUpdate'); + $router->post('/activity/import-old', 'ActivityController@importOld'); + $router->post('/activity/batch-update/{ganttId}', 'ActivityController@batchUpdate'); + $router->get('/activity/update-schedule/{ganttId}', 'ActivityController@updateSchedule'); $router->post('/task', 'ActivityController@add'); $router->get('/task/edit/{id}', 'ActivityController@edit'); $router->put('/task/{id}', 'ActivityController@update'); @@ -411,7 +411,7 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout $router->get('/report-k3-detail/list', 'ReportK3DetailController@list'); $router->post('/user-to-proyek/add', 'UserToProyekController@add'); - $router->post('/user-to-proyek/add-multiple', 'UserToProyekController@addMultiple'); + $router->post('/user-to-proyek/add-multiple', 'UserToProyekController@addMultiple'); $router->get('/user-to-proyek/edit/{id}', 'UserToProyekController@edit'); $router->put('/user-to-proyek/update/{id}', 'UserToProyekController@update'); $router->post('/user-to-proyek/search', 'UserToProyekController@search'); @@ -496,6 +496,12 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout $router->post('/broadcast/search', 'BroadcastController@search'); $router->delete('/broadcast/delete/{id}', 'BroadcastController@delete'); $router->get('/broadcast/list', 'BroadcastController@list'); - }); + $router->post('/company-management/add', 'CompanyController@add'); + $router->get('/company-management/edit/{id}', 'CompanyController@edit'); + $router->put('/company-management/update/{id}', 'CompanyController@update'); + $router->post('/company-management/search', 'CompanyController@search'); + $router->delete('/company-management/delete/{id}', 'CompanyController@delete'); + $router->get('/company-management/list', 'CompanyController@list'); + }); });