diff --git a/app/Http/Controllers/PresenceController.php b/app/Http/Controllers/PresenceController.php index 5dafe10..0e844d0 100644 --- a/app/Http/Controllers/PresenceController.php +++ b/app/Http/Controllers/PresenceController.php @@ -5,9 +5,9 @@ namespace App\Http\Controllers; use Log; use Illuminate\Http\Request; use App\Models\Presence; -use App\Models\Activity; -use GuzzleHttp\Client; -use Illuminate\Support\Facades\Http; +// use App\Models\Activity; +// use GuzzleHttp\Client; +// use Illuminate\Support\Facades\Http; use Carbon\Carbon; use Illuminate\Support\Facades\DB; @@ -24,11 +24,27 @@ class PresenceController extends Controller $date = date_create($request->clock_time); // $ActivityId = null; if(count($checkLocation) > 0){ - $statusBoundary = true; + $checkLocation[0]['status_assign'] ? $statusBoundary = true + : $statusBoundary = false; + } + + if(!$checkLocation[0]['status_assign'] && $checkLocation[0]['boundary'] == null){ + $data=array( + 'id' => null, + 'boundary' => $statusBoundary + ); + return response()->json(['status'=>'failed', 'data'=>$data, 'message'=>'Tidak dapat melakukan presensi. Anda belum di assign ke area kerja.','code'=>200], 200); + } + + if($checkLocation[0]['status_assign'] && $checkLocation[0]['boundary'] == null){ + $data=array( + 'id' => null, + 'boundary' => $statusBoundary + ); + return response()->json(['status'=>'failed', 'data'=>$data, 'message'=>'Tidak dapat melakukan presensi. Anda berada di luar area kerja.','code'=>200], 200); } if($request->type=="out"){ - $clock_out_loc = $this->getLoc($request->clock_out_lat, $request->clock_out_lng)->display_name; $dataUpdate = array( "clock_out"=>$request->clock_time, @@ -128,11 +144,25 @@ class PresenceController extends Controller if($key->boundary){ $temp[]=array( "activity_id" => $dataGeom->id, - "boundary" => $key->boundary + "boundary" => $key->boundary, + "status_assign" => true ); - } + } + } + if(count($temp) < 1){ + $temp[]=array( + "activity_id" => null, + "boundary" => null, + "status_assign" => true + ); } } + }else{ + $temp[]=array( + "activity_id" => null, + "boundary" => null, + "status_assign" => false + ); } return $temp; } @@ -152,14 +182,10 @@ class PresenceController extends Controller } } - - public function clockinout($id) { $dateTimeNow = Carbon::now()->addHour(7); $dataPresence = Presence::where('user_id', $id)->orderBy('id', 'DESC')->first(); - - if($dataPresence){ $dateNow = date("Y-m-d"); @@ -199,10 +225,8 @@ class PresenceController extends Controller private function updateFormAdd($data, $id){ $date = date_create($data['clock_out']); - $onlyDate = date_format($date,"Y-m-d"); - $dataPresence = Presence::where('user_id',$id) ->where("clock_in", "<=", $data["clock_out"]) ->orderByDesc("id") @@ -237,7 +261,6 @@ class PresenceController extends Controller die(); } - if($result){ return response()->json(['status'=>'success','message'=>'data presence successfully updated!','code'=>200], 200); }else{ @@ -256,7 +279,6 @@ class PresenceController extends Controller die(); } - if($delete){ return response()->json(['status'=>'success','message'=>'data presence successfully deleted!','code'=>200], 200); }else{ diff --git a/rest-client.http b/rest-client.http index 453e2e5..120334f 100644 --- a/rest-client.http +++ b/rest-client.http @@ -1,12 +1,12 @@ -@token = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3Q6ODA3NFwvYWR3LWJhY2tlbmRcL2FwaVwvbG9naW4iLCJpYXQiOjE2NzYxODQ5ODgsImV4cCI6MTY3Njc4OTc4OCwibmJmIjoxNjc2MTg0OTg4LCJqdGkiOiJSMkk1R3FLdXM3bWhMUWwzIiwic3ViIjoxMjQ3LCJwcnYiOiIyM2JkNWM4OTQ5ZjYwMGFkYjM5ZTcwMWM0MDA4NzJkYjdhNTk3NmY3In0.GlxG-DaiY1Slc0dR8sRK6CvU-F7MTjT47989MImubJ0 +@token = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3Q6ODQ0NFwvYXBpXC9sb2dpbiIsImlhdCI6MTY3NjI5MTQwNiwiZXhwIjoxNjc2ODk2MjA2LCJuYmYiOjE2NzYyOTE0MDYsImp0aSI6IkNNRVNGMEcwVzVNQlRLenoiLCJzdWIiOjEyNDcsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.ZV2ncAf6H61vnK7fmg-bMfeqBTcxm0aFE5zs_4tor8g # @hostname = https://adw-api.ospro.id/api # @hostname = https://ospro-api.ospro.id/api # @hostname = https://api-iu.ospro.id/api # @hostname = https://api-staging-adw.ospro.id/api -# @hostname = http://localhost:8444/api +@hostname = http://localhost:8444/api # @hostname = http://103.73.125.81:8444/api -@hostname = http://localhost:8074/adw-backend/api +# @hostname = http://localhost:8444/adw-ba/api ###### login POST {{hostname}}/login @@ -796,9 +796,6 @@ GET {{hostname}}/presence/clockinout/262 Authorization: Bearer {{token}} content-type: application/json -####### -"clock_out_lat": -1.4264273154149407, - "clock_out_lng": 113.98530036945851, ###### POST {{hostname}}/presence/add Authorization: Bearer {{token}} @@ -812,6 +809,18 @@ content-type: application/json "user_id": 1247 } +###### +POST {{hostname}}/presence/add +Authorization: Bearer {{token}} +content-type: application/json + +{ + "clock_out_lat": -1.4264273154149407, + "clock_out_lng": 113.98530036945851, + "clock_time": "2023-02-13T16:40:17+07:00", + "type": "in", + "user_id": 1 +} ###### # POST {{hostname}}/