/home/dvjjulio/softtrash/app/Histories.php
<?php

namespace Trash;

use Illuminate\Database\Eloquent\Model;

class Histories extends Model
{
    //
    protected $table = 'history_choferes';
    public $timestamps = false;

    public function checkHistoryInicio($id){
    	  $sql="SELECT id, user_id, camion_id, fecha_inicio, fecha_termino, DATE(fecha_inicio) fecha, TIME(fecha_inicio) hora_inicio,
    	 	TIME(fecha_termino) hora_termino, kilometraje_inicio, kilometraje_termino, observaciones_inicio, observaciones_termino
    	   FROM history_choferes
	 		WHERE user_id = ".$id."
      AND session_status = 'TRUE'
    -- AND	DATE(fecha_inicio) = '".date('Y-m-d')."'
       ";
		 $data = \DB::select( \DB::raw( $sql ));
		if(count($data)  > 0 ){
      return $this->checkHistoryFin($data);
      //return response()->json(array('status'=>false , 'data'=>$data));
		}else{
      return $this->checkHistoryInicioDia($id);
      //response()->json(array('status'=>true , 'data'=>$data));
		}
	}

  public function checkHistoryInicioDia($id){
     $sql="SELECT id, user_id, camion_id, fecha_inicio, fecha_termino, DATE(fecha_inicio) fecha, TIME(fecha_inicio) hora_inicio,
      TIME(fecha_termino) hora_termino, kilometraje_inicio, kilometraje_termino, observaciones_inicio, observaciones_termino
       FROM history_choferes
    WHERE user_id = ".$id."
  -- AND session_status = 'TRUE'
   AND	DATE(fecha_inicio) = '".date('Y-m-d')."'
     ";
   $data = \DB::select( \DB::raw( $sql ));
  if(count($data)  > 0 ){
    //return $this->checkHistoryFin($data);
    return response()->json(array('status'=>false , 'data'=>$data));
  }else{
    return response()->json(array('status'=>true , 'data'=>$data));
  }
}

  public function checkHistoryFin($data){
     $sql="SELECT id, user_id, camion_id, fecha_inicio, fecha_termino, DATE(fecha_inicio) fecha, TIME(fecha_inicio) hora_inicio,
      TIME(fecha_termino) hora_termino, kilometraje_inicio, kilometraje_termino, observaciones_inicio, observaciones_termino
       FROM history_choferes
    WHERE id = ".$data[0]->id."
    AND session_status = 'TRUE'
    -- AND	DATE(fecha_inicio) = '".date('Y-m-d')."'
     ";
   $data2 = \DB::select( \DB::raw( $sql ));
  if(count($data2)  > 0 ){
    return response()->json(array('status'=>false , 'data'=>$data));
  }else{
    return response()->json(array('status'=>true , 'data'=>$data));
  }
  }

	public function checkHistory($id){
    	 $sql="SELECT id, user_id, camion_id, fecha_inicio, fecha_termino, TIME(fecha_inicio) hora_inicio,
    	 	TIME(fecha_termino) hora_termino, kilometraje_inicio, kilometraje_termino, observaciones_inicio, observaciones_termino
    	   FROM history_choferes
	 		WHERE user_id = ".$id."
      AND	DATE(fecha_inicio) = '".date('Y-m-d')."'
         ";
		 $data = \DB::select( \DB::raw( $sql ));
		if(count($data)  < 1 ){
			return true ;
		}else{
			return false;
		}
	}

	public function history_day($fecha){
		$sql="SELECT  c.id, u.username, u.ape_pat, ca.placas,
			TIME(c.fecha_inicio) hora_inicio,
			TIME(c.fecha_termino) hora_termino,
			c.kilometraje_inicio, c.kilometraje_termino,
      c.latitude_inicio, c.longitude_inicio,
      c.latitude_termino, c.longitude_termino, c.observaciones_inicio, c.observaciones_termino
			FROM history_choferes c
			JOIN user u ON u.id = c.user_id
			JOIN camion ca ON ca.id = c.camion_id
			 WHERE
       DATE(c.fecha_inicio) = '$fecha'
       ";
		$data = \DB::select( \DB::raw( $sql ));
		if(count($data) != null ){
			return response()->json(array('status'=>true , 'data'=>$data));
		}else{
			return response()->json(array('status'=>false ));
		}
	}

	public function km_inicio($id){
		$sql= "SELECT kilometraje_inicio, fecha_inicio FROM history_choferes WHERE DATE(fecha_inicio) = CURDATE() AND user_id = $id";
		$data = \DB::select( \DB::raw( $sql ));
		if(count($data) != null ){
			return response()->json(array('status'=>true , 'data'=>$data));
		}else{
			return response()->json(array('status'=>false ));
		}
	}

  public function reset_termino($id){
    try{
     \DB::beginTransaction();
      $sql="UPDATE history_choferes SET fecha_termino = '0000-00-00 00:00:00', kilometraje_termino = '', observaciones_termino = '', latitude_termino = 0, longitude_termino = 0 WHERE id = $id";
      $data = \DB::select( \DB::raw( $sql ));

    }catch ( \Exception $e ){
        \DB::rollback();
        return \Response::json(array('status'=>false));
    }
    \DB::commit();
    return \Response::json(array('status'=>true));
  }
  public function reset_inicio($id){
    try{
     \DB::beginTransaction();
      $sql="DELETE FROM history_choferes WHERE id = $id";
      $data = \DB::select( \DB::raw( $sql ));

    }catch ( \Exception $e ){
        \DB::rollback();
        return \Response::json(array('status'=>false));
    }
    \DB::commit();
    return \Response::json(array('status'=>true));
  }

}