/home/dvjjulio/softtrash/app/Http/Controllers/MovilController.php
<?php
namespace Trash\Http\Controllers;
use Illuminate\Http\Request;
use Trash\Http\Requests;
use Trash\Http\Controllers\Controller;
use Trash\User;
use Trash\Histories;
use Trash\Ordenes;
class MovilController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
//return $_COOKIE['id'];
if(isset($_COOKIE['id'])){
$users = new User();
$user = $users->user_camion($_COOKIE['id']);
if($user == false){
print 'usuario sin Camion registrado vuelve a logearte';
echo '<br><a href="'.\URL::To("/")."/movil/login".'">Login</a>';
}else{
$histories = new Histories();
$history = $histories->checkHistoryInicio($_COOKIE['id']);
$ordenes = new Ordenes();
$reciclables = $ordenes->reciclableUser($_COOKIE['id']);
return view('movil.index')->with(compact('user','history','reciclables'));
}
}else{
//return 'no id';
header("Location: ".\URL::To("/")."/movil/login");
//redirect(\URL::To("/")."/movil/login");
exit;
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function saveInicio()
{
//
$data = \Input::all();
$validator = $this->get_validate($data);
if( $validator->fails() )
return response()->json( array( 'status' => false, 'message' => $validator->errors()->all() ));
return response()->json( $this->store($data));
}
public function get_validate( $data ){
$array_rules = array(
'km' => 'required|integer',
'latitude' => 'required',
'longitude' => 'required',
'user_id' => 'required|integer',
'camion_id' => 'required|integer' );
$messages = array(
'km.required' => 'Por favor ingrese el Kilometraje',
'km.integer' => 'Por favor ingrese el formato correcto',
'latitude.required' => 'Error con la latitude encienda su GPS',
'longitude.required' => 'Error con la longitude encienda su GPS',
'user_id.required' => 'Error en el usuario favor de salir y volver a logearte',
'user_id.integer' => 'Error en el usuario favor de salir y volver a logearte',
'camion_id.required' => 'Error en el camion favor de salir y volver a logearte',
'camion_id.integer' => 'Error en el camion favor de salir y volver a logearte',
);
return \Validator::make( $data, $array_rules, $messages );
}
public function saveTermino()
{
//
$data = \Input::all();
$validator = $this->get_validate_termino($data);
if( $validator->fails() )
return response()->json( array( 'status' => false, 'message' => $validator->errors()->all() ));
return response()->json( $this->store($data));
}
public function get_validate_termino( $data ){
$array_rules = array(
'km_termino' => 'required|integer',
'latitude_termino' => 'required',
'longitude_termino' => 'required');
$messages = array(
'km_termino.required' => 'Por favor ingrese el Kilometraje',
'km_termino.integer' => 'Por favor ingrese el formato correcto',
'latitude_termino.required' => 'Error con la latitude encienda su GPS',
'longitude_termino.required' => 'Error con la longitude encienda su GPS'
);
return \Validator::make( $data, $array_rules, $messages );
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store($data, Histories $h = null)
{
try{
\DB::beginTransaction();
if( isset( $data[ 'id' ] ) ){
$history = Histories::find($data[ 'id' ]);
$history->fecha_termino = date('Y-m-d H:i:s');
$history->kilometraje_termino = $data['km_termino'];
$history->observaciones_termino = $data['obs_termino'];
$history->latitude_termino = $data['latitude_termino'];
$history->longitude_termino = $data['longitude_termino'];
$history->session_status = 'FALSE';
if($data['reciclable']!=0){
$this->updateCostoOrden($data);
}
}
else {
$history = new Histories();
$existHistory = $history->checkHistory($_COOKIE['id']);
if( $existHistory == false )throw new \Exception('Ya tienes un inicio guardado ');
$history->user_id = $_COOKIE['id'];
$history->camion_id = $data['camion_id'];
$history->fecha_inicio = date('Y-m-d H:i:s');
$history->kilometraje_inicio = $data['km'];
$history->observaciones_inicio= $data['obs'];
$history->latitude_inicio = $data['latitude'];
$history->longitude_inicio = $data['longitude'];
$history->session_status = 'TRUE';
}
$history->save();
} catch( \Exception $e ){
\DB::rollback();
return array( 'status' => false, 'message' => $e->getMessage() );
}
\DB::commit();
return array( 'status' => true , 'data' => $history );
}
public function updateCostoOrden($data){
for($i = 0; $i < $data['reciclable']; $i++){
$ordenes = new Ordenes();
$ordenes_ids = $ordenes->getOrdenesCosto($_COOKIE['id'], $data['reciclable_id'.$i],$fecha = null);
if(isset($ordenes_ids)){
$ids = "";
foreach($ordenes_ids as $val){
$ids .= $val->id.",";
}
$ids = substr($ids,0,-1);
}
$query = $ordenes->updateCostoOrden($ids,$data['reciclable_costo'.$i]);
if(!$query->getData()->status)throw new \Exception('Error al guardar el costo pago');
}
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}