Carga inicial
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\SupervisorOperaciones;
|
||||
|
||||
use const App\Http\Controllers\ASESOR_OPERACIONES;
|
||||
use const App\Http\Controllers\PENDIENTE;
|
||||
use const App\Http\Controllers\REALIZADO;
|
||||
use App\Models\ServicioDet;
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Auth;
|
||||
|
||||
class AsesoresController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$asesores = User::select('users.id', 'users.nombre', 'users.apellido_paterno', 'users.apellido_materno')
|
||||
->where('tipo_empleado_id', ASESOR_OPERACIONES)
|
||||
->where('sucursal_id', $user->sucursal_id)
|
||||
->get();
|
||||
|
||||
foreach ($asesores as $a){
|
||||
$consulta = ServicioDet::join('servicios_enc', 'servicios_enc.id', '=', 'servicios_det.servicio_enc_id')
|
||||
->where('servicios_det.operador_id', $a->id)
|
||||
->where('servicios_enc.sucursal_id', $user->sucursal_id)
|
||||
->whereDate('servicios_det.fecha_solicitud', Carbon::now()->format('Y-m-d'));
|
||||
|
||||
//$a->servicios_total = $consulta->whereIn('servicios_det.estatus_servicio_id', [PENDIENTE, REALIZADO])->count();
|
||||
$a->servicios_total = $consulta->count();
|
||||
$a->servicios_pendiente = $consulta->whereNotIn('servicios_det.estatus_servicio_id', [REALIZADO])->count();
|
||||
}
|
||||
|
||||
return response()->success($asesores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function serviciosXAsesor($asesor_id)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$campos = [
|
||||
'servicios_enc.id as solicitud_servicio_id',
|
||||
'servicios_enc.forma_pago_id',
|
||||
'cat_formas_pagos.nombre as forma_pago_nombre',
|
||||
'fecha_agenda',
|
||||
'usuario_agenda_id',
|
||||
'users.nombre as usuario_agenda_nombre',
|
||||
'users.apellido_paterno as usuario_agenda_apellido_paterno',
|
||||
'users.apellido_materno as usuario_agenda_apellido_materno',
|
||||
'servicios_enc.cliente_id',
|
||||
'clientes.denominacion',
|
||||
'servicios_enc.cliente_domicilio_id',
|
||||
'clientes_domicilios.nombre_responsable_sucursal as clientes_nombre_responsable_sucursal',
|
||||
'clientes_domicilios.celular_responsable as clientes_celular_responsable',
|
||||
'clientes_domicilios.calle as clientes_calle',
|
||||
'clientes_domicilios.num_ext as clientes_num_ext',
|
||||
'clientes_domicilios.num_int as clientes_num_int',
|
||||
'clientes_domicilios.colonia as clientes_colonia',
|
||||
'clientes_domicilios.cp as clientes_cp',
|
||||
'clientes_domicilios.telefono as clientes_telefono',
|
||||
'clientes_domicilios.lat as clientes_lat',
|
||||
'clientes_domicilios.lng as clientes_lng',
|
||||
'servicios_enc.deleted_at',
|
||||
'servicios_det.id',
|
||||
'servicios_det.servicio_id',
|
||||
'cat_servicios.nombre as servicio_nombre',
|
||||
'servicios_det.estatus_servicio_id',
|
||||
'cat_estatus_servicios.nombre as estatus_servicio_nombre',
|
||||
'servicios_det.tipo_servicio_id',
|
||||
'cat_tipos_servicios.nombre as tipo_servicio_nombre',
|
||||
'cat_estatus_servicios.color_1 as estatus_servicio_color_1',
|
||||
'cat_estatus_servicios.color_2 as estatus_servicio_color_2',
|
||||
'fecha_solicitud',
|
||||
'duracion',
|
||||
'definido_cliente',
|
||||
'servicios_det.operador_id',
|
||||
'operador.nombre as operador_nombre',
|
||||
'operador.apellido_paterno as operador_apellido_paterno',
|
||||
'operador.apellido_materno as operador_apellido_materno',
|
||||
'servicios_det.vehiculo_id',
|
||||
'cat_vehiculos.num_economico as vehiculo_num_economico',
|
||||
'servicios_det.fecha_solicitud',
|
||||
'sucursales.nombre as vehiculo_sucursal',
|
||||
'sucursales.id as vehiculo_sucursal_id',
|
||||
'sucursal_operador.nombre as operador_sucursal',
|
||||
'sucursal_operador.id as operador_sucursal_id',
|
||||
'servicios_det.auxiliar_1 as auxiliar_1_id',
|
||||
'servicios_det.auxiliar_2 as auxiliar_2_id',
|
||||
'auxiliares_1.nombre as auxiliar_1',
|
||||
'auxiliares_2.nombre as auxiliar_2',
|
||||
'sucursal_auxiliares_1.nombre as sucursal_auxiliar_1',
|
||||
'sucursal_auxiliares_2.nombre as sucursal_auxiliar_2',
|
||||
'servicios_det.costo_servicio',
|
||||
'servicios_det.aceptado',
|
||||
'servicios_det.observacion_atencion_cliente'
|
||||
];
|
||||
|
||||
$servicios = ServicioDet::select($campos)
|
||||
->joinDetalleServicioDet()
|
||||
->join('servicios_enc', 'servicios_enc.id', '=', 'servicios_det.servicio_enc_id')
|
||||
->join('cat_formas_pagos', 'cat_formas_pagos.id', '=', 'servicios_enc.forma_pago_id')
|
||||
->join('users', 'users.id', '=', 'servicios_enc.usuario_agenda_id')
|
||||
->join('clientes', 'clientes.id', '=', 'servicios_enc.cliente_id')
|
||||
->join('clientes_domicilios', 'clientes_domicilios.id', '=', 'servicios_enc.cliente_domicilio_id')
|
||||
//->whereIn('servicios_det.estatus_servicio_id', [PENDIENTE, REALIZADO])
|
||||
->where('servicios_det.operador_id', $asesor_id)
|
||||
->where('servicios_enc.sucursal_id', $user->sucursal_id)
|
||||
->whereDate('servicios_det.fecha_solicitud', Carbon::now()->format('Y-m-d'))
|
||||
->orderBy('servicios_det.fecha_solicitud')
|
||||
->get();
|
||||
|
||||
return response()->success($servicios);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\SupervisorOperaciones;
|
||||
|
||||
use App\Models\BitacoraLaboral;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use DB;
|
||||
use Log;
|
||||
|
||||
class JornadaController extends Controller
|
||||
{
|
||||
public function inicioJornada(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
$fecha = Carbon::now()->toDateTimeString();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
$bitacora = BitacoraLaboral::where('usuario_id', $user->id)
|
||||
->whereNull('fecha_hora_fin')
|
||||
->first();
|
||||
|
||||
if($bitacora){
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('JORNADA_YA_INICIADA', [$bitacora->id]);
|
||||
}
|
||||
|
||||
$bitacora_laboral = BitacoraLaboral::create(['fecha_hora_ini' => $fecha, 'usuario_id' => $user->id]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success($bitacora_laboral);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
Log::info($e->getMessage());
|
||||
return response()->unprocessable('Error', ['Error al guardar el inicio de jornada.']);
|
||||
}
|
||||
}
|
||||
|
||||
public function finalizarJornada(Request $request, $id){
|
||||
|
||||
$fecha = Carbon::now()->toDateTimeString();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
$jornada = BitacoraLaboral::where('id',$id)->first();
|
||||
|
||||
if($jornada->fecha_hora_fin){
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('Error', ['La jornada ya se encuentra finalizada.']);
|
||||
}
|
||||
|
||||
$jornada->update(['fecha_hora_fin' => $fecha]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('Error', ['Error al guardar el fin de jornada.']);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user