This commit is contained in:
		
							parent
							
								
									8afa0373d1
								
							
						
					
					
						commit
						288622d322
					
				| 
						 | 
					@ -19,6 +19,9 @@ class TrackingController extends Controller
 | 
				
			||||||
    use HasFilterRequest;
 | 
					    use HasFilterRequest;
 | 
				
			||||||
    use HasSearchRequest;
 | 
					    use HasSearchRequest;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private $CHECK_IN = 'check in';
 | 
				
			||||||
 | 
					    private $CHECK_OUT = 'check out';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function __construct()
 | 
					    public function __construct()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        // Bỏ qua middleware 'checkApiToken' cho hàm 'myFunction'
 | 
					        // Bỏ qua middleware 'checkApiToken' cho hàm 'myFunction'
 | 
				
			||||||
| 
						 | 
					@ -64,22 +67,48 @@ class TrackingController extends Controller
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function create(Request $request)
 | 
					    public function create(Request $request)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $payload = $request->only(['name', 'time_string', 'status']);
 | 
					        try {
 | 
				
			||||||
        $user = Admin::where('name', $payload['name'])->first();
 | 
					            $validatedData = $request->validate([
 | 
				
			||||||
        if($user){
 | 
					                'name' => 'required',
 | 
				
			||||||
            $payload['user_id'] = $user->id;
 | 
					                'time_string' => 'required',
 | 
				
			||||||
            $tracking = Tracking::create($payload);
 | 
					                'status' => 'required',
 | 
				
			||||||
            return response()->json([
 | 
					 | 
				
			||||||
                'data' => $tracking,
 | 
					 | 
				
			||||||
                'status' => true
 | 
					 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return response()->json([
 | 
					            $payload = $request->only(['name', 'time_string', 'status']);
 | 
				
			||||||
            'data' => "USER NOT EXIST",
 | 
					            $user = Admin::where('name', $payload['name'])->first();
 | 
				
			||||||
            'status' => false
 | 
					            if ($user) {
 | 
				
			||||||
        ]);
 | 
					                $payload['user_id'] = $user->id;
 | 
				
			||||||
        
 | 
					                $latest = Tracking::where('name', $payload['name'])->latest()->first();
 | 
				
			||||||
 | 
					                if($payload['status'] == $this->CHECK_IN || $payload['status'] == $this->CHECK_OUT){
 | 
				
			||||||
 | 
					                    if ($latest->status == $this->CHECK_IN) {
 | 
				
			||||||
 | 
					                        $payload['status'] = $this->CHECK_OUT;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    if ($latest->status == $this->CHECK_OUT) {
 | 
				
			||||||
 | 
					                        $payload['status'] = $this->CHECK_IN;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    $tracking = Tracking::create($payload);
 | 
				
			||||||
 | 
					                    return response()->json([
 | 
				
			||||||
 | 
					                        'data' => $tracking,
 | 
				
			||||||
 | 
					                        'status' => true
 | 
				
			||||||
 | 
					                    ]);
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    return response()->json([
 | 
				
			||||||
 | 
					                        'data' => "STATUS INVALID",
 | 
				
			||||||
 | 
					                        'status' => false
 | 
				
			||||||
 | 
					                    ]);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return response()->json([
 | 
				
			||||||
 | 
					                'data' => "USER NOT EXIST",
 | 
				
			||||||
 | 
					                'status' => false
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
 | 
					        } catch (\Illuminate\Validation\ValidationException $e) {
 | 
				
			||||||
 | 
					            return response()->json([
 | 
				
			||||||
 | 
					                'data' => "IMPORT DATA FAIL",
 | 
				
			||||||
 | 
					                'status' => false
 | 
				
			||||||
 | 
					            ], 422);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function update(DiscountRequest $request)
 | 
					    public function update(DiscountRequest $request)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,9 @@ const Tracking = () => {
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  useEffect(()=>{
 | 
					  useEffect(()=>{
 | 
				
			||||||
    getAllTracking()
 | 
					    setInterval(()=>{
 | 
				
			||||||
 | 
					      getAllTracking()
 | 
				
			||||||
 | 
					    }, 3000)
 | 
				
			||||||
  }, [])
 | 
					  }, [])
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue