Carga inicial
This commit is contained in:
467
app/Http/Controllers/Administrador/ClientesController.php
Normal file
467
app/Http/Controllers/Administrador/ClientesController.php
Normal file
@@ -0,0 +1,467 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Components\AdjustImage;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use const App\Http\Controllers\ATENCION_CLIENTES;
|
||||
use App\Http\Requests\Administrador\ClientesDomiciliosRequest;
|
||||
use App\Http\Requests\Administrador\ClientesRequest;
|
||||
use App\Models\Cliente;
|
||||
use App\Models\ClienteDatoFiscal;
|
||||
use App\Models\ClienteDomicilio;
|
||||
use App\Models\FacturaFormaPago;
|
||||
use App\Models\FacturaMetodoPago;
|
||||
use App\Models\FacturaTipoComprobante;
|
||||
use App\Models\FacturaUsoCFDI;
|
||||
use App\Models\Sucursal;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Log;
|
||||
|
||||
class ClientesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','users.nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = Cliente::select('clientes.*', 'users.nombre as asesor_nombre', 'users.apellido_paterno as asesor_apellido_paterno', 'users.apellido_materno as asesor_apellido_materno', 'sucursales.nombre as sucursal_nombre')
|
||||
->join('users', 'users.id', '=', 'clientes.asesor_id')
|
||||
->join('sucursales', 'sucursales.id', '=', 'clientes.sucursal_id')
|
||||
->where('clientes.sucursal_id', $user->sucursal_id)
|
||||
->orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('clientes.denominacion','like','%' .$query.'%')
|
||||
->orWhere('sucursales.nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$clientes = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$clientes = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($clientes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(ClientesRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$cliente = Cliente::create($data);
|
||||
|
||||
if($data['requiere_factura']){
|
||||
$cliente->registroDatosFiscales()->create($data['datos_fiscales']);
|
||||
}
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success($cliente);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
Log::info($e->getMessage());
|
||||
return response()->unprocessable('Error', ['Error al guardar el Cliente.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$cliente = Cliente::select('clientes.*', 'users.nombre as asesor_nombre', 'users.apellido_paterno as asesor_apellido_paterno', 'users.apellido_materno as asesor_apellido_materno', 'sucursales.nombre as sucursal_nombre')
|
||||
->join('users', 'users.id', '=', 'clientes.asesor_id')
|
||||
->join('sucursales', 'sucursales.id', '=', 'clientes.sucursal_id')
|
||||
->where('clientes.id', $id)
|
||||
->withTrashed()
|
||||
->first();
|
||||
|
||||
$cliente->datos_fiscales = ClienteDatoFiscal::where('cliente_id', $id)->first();
|
||||
|
||||
return response()->success($cliente);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(ClientesRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$cliente = Cliente::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$cliente->update($data);
|
||||
|
||||
if($data['requiere_factura']){
|
||||
$cliente->registroDatosFiscales()->update($data['datos_fiscales']);
|
||||
}else{
|
||||
$cliente->registroDatosFiscales()->delete();
|
||||
}
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success($cliente);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
Log::info($e->getMessage());
|
||||
return response()->unprocessable('Error', ['Error al actualizar el Cliente.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$cliente = Cliente::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$cliente->restore();
|
||||
}else{
|
||||
$cliente = Cliente::findOrFail($id);
|
||||
$cliente->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
|
||||
public function indexDomiciliosXCliente(Request $request, $id)
|
||||
{
|
||||
|
||||
$orderBy = $request->input('sortBy','nombre_sucursal');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = ClienteDomicilio::where('cliente_id', $id)
|
||||
->orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre_sucursal','like','%' .$query.'%')
|
||||
->orWhere('calle','like','%' .$query.'%')
|
||||
->orWhere('entre_calles','like','%' .$query.'%')
|
||||
->orWhere('num_ext','like','%' .$query.'%')
|
||||
->orWhere('colonia','like','%' .$query.'%')
|
||||
->orWhere('ciudad','like','%' .$query.'%')
|
||||
->orWhere('cp','like','%' .$query.'%')
|
||||
->orWhere('telefono','like','%' .$query.'%')
|
||||
->orWhere('celular_responsable','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
$cliente = Cliente::where('id', $id)->first();
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = collect($queryBuilder->paginate($perPage))->put('cliente_denominacion', $cliente->denominacion)->all();
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get(), 'cliente_denominacion' => $cliente->denominacion];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function showDomicilioXCliente($cliente_id, $id)
|
||||
{
|
||||
$domicilio = ClienteDomicilio::where('cliente_id', $cliente_id)
|
||||
->where('id', $id)
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($domicilio);
|
||||
}
|
||||
|
||||
public function updateDomicilioXCliente(ClientesDomiciliosRequest $request, $cliente_id, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
$nombre_croquis_pdf = null;
|
||||
$croquis_pdf = substr($request->input('nombre_croquis', false), strpos($request->input('nombre_croquis', false), ',') +1);
|
||||
|
||||
if ($croquis_pdf) {
|
||||
$nombre_croquis_pdf = 'croquis_cliente_' . $cliente_id . '_domicilio_' . $id . '.pdf';
|
||||
Storage::disk('public')->put('pdf_croquis/' . $nombre_croquis_pdf, base64_decode($croquis_pdf));
|
||||
}
|
||||
|
||||
$validator = Validator::make($data, [
|
||||
'nombre_sucursal' => [
|
||||
Rule::unique('clientes_domicilios')->where(function ($query) use($cliente_id, $id) {
|
||||
$query->where('cliente_id', $cliente_id)
|
||||
->where('id', '<>',$id);
|
||||
})
|
||||
],
|
||||
'numero_sucursal' => [
|
||||
Rule::unique('clientes_domicilios')->where(function ($query) use($cliente_id, $id) {
|
||||
$query->where('cliente_id', $cliente_id)
|
||||
->where('id', '<>',$id);
|
||||
})
|
||||
]
|
||||
]);
|
||||
|
||||
if($validator->fails()){
|
||||
return response()->unprocessable('Parametros inválidos',$validator->errors()->all());
|
||||
}
|
||||
|
||||
$domicilio = ClienteDomicilio::where('cliente_id', $cliente_id)
|
||||
->where('id', $id)
|
||||
->firstOrFail();
|
||||
|
||||
$data['nombre_croquis'] = $nombre_croquis_pdf;
|
||||
|
||||
$domicilio->update($data);
|
||||
|
||||
return response()->success($domicilio);
|
||||
}
|
||||
|
||||
public function storeDomicilioXCliente(ClientesDomiciliosRequest $request, $cliente_id)
|
||||
{
|
||||
$data = $request->all();
|
||||
$nombre_croquis_pdf = null;
|
||||
|
||||
$validator = Validator::make($data, [
|
||||
'nombre_sucursal' => [
|
||||
Rule::unique('clientes_domicilios')->where(function ($query) use($cliente_id) {
|
||||
$query->where('cliente_id', $cliente_id);
|
||||
})
|
||||
],
|
||||
'numero_sucursal' => [
|
||||
Rule::unique('clientes_domicilios')->where(function ($query) use($cliente_id) {
|
||||
$query->where('cliente_id', $cliente_id);
|
||||
})
|
||||
]
|
||||
]);
|
||||
|
||||
if($validator->fails()){
|
||||
return response()->unprocessable('Parametros inválidos',$validator->errors()->all());
|
||||
}
|
||||
|
||||
$cliente = Cliente::where('id', $cliente_id)->firstOrFail();
|
||||
|
||||
//Se agregan valores por default de lat y lng
|
||||
$lat = $request->input('lat', null);
|
||||
$lng = $request->input('lng', null);
|
||||
$data['lat'] = ($lat)? $lat : '24.772795';
|
||||
$data['lng'] = ($lng)? $lng : '-107.4432';
|
||||
|
||||
$domicilio = $cliente->registroDomicilios()->create($data);
|
||||
|
||||
$croquis_pdf = substr($request->input('nombre_croquis', false), strpos($request->input('nombre_croquis', false), ',') +1);
|
||||
|
||||
if ($croquis_pdf) {
|
||||
$nombre_croquis_pdf = 'croquis_cliente_' . $cliente_id .'_domicilio_' .$domicilio->id .'.pdf';
|
||||
Storage::disk('public')->put('pdf_croquis/' . $nombre_croquis_pdf, base64_decode($croquis_pdf));
|
||||
}
|
||||
|
||||
$domicilio->update([
|
||||
'nombre_croquis' => $nombre_croquis_pdf
|
||||
]);
|
||||
|
||||
return response()->success($domicilio);
|
||||
}
|
||||
|
||||
public function destroyDomicilioXCliente($cliente_id, $id){
|
||||
|
||||
ClienteDomicilio::where('id', $id)
|
||||
->where('cliente_id', $cliente_id)
|
||||
->delete();
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
|
||||
public function asesores(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = User::select('users.*', DB::raw("coalesce (roles.name, '') as role"), 'roles.id as role_id', 'tipos_empleados.nombre as tipo_empleado', 'tipos_empleados.id as tipo_empleado_id', 'sucursales.id as sucursal_id', 'sucursales.nombre as sucursal')
|
||||
->orderBy($orderBy,$order)
|
||||
->leftJoin('role_users', 'role_users.user_id', '=', 'users.id')
|
||||
->leftJoin('roles', 'roles.id', '=', 'role_users.role_id')
|
||||
->join('sucursales', 'sucursales.id', '=', 'users.sucursal_id')
|
||||
->join('tipos_empleados', 'tipos_empleados.id', '=', 'users.tipo_empleado_id')
|
||||
->where('users.tipo_empleado_id', ATENCION_CLIENTES);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('users.email','like','%' .$query.'%')
|
||||
->orWhere('users.nombre','like','%' .$query.'%')
|
||||
->orWhere('users.apellido_paterno','like','%' .$query.'%')
|
||||
->orWhere('users.apellido_materno','like','%' .$query.'%')
|
||||
->orWhere('users.telefono','like','%' .$query.'%')
|
||||
->orWhere('roles.name','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function formasPago(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','descripcion');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = FacturaFormaPago::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('descripcion','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function metodosPago(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','descripcion');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = FacturaMetodoPago::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('descripcion','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function tipoComprobante(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','descripcion');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = FacturaTipoComprobante::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('descripcion','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function usoCFDI(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','descripcion');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = FacturaUsoCFDI::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('descripcion','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function sucursales(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = Sucursal::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function mostrarPDF($domicilio_id){
|
||||
|
||||
$domicilio = ClienteDomicilio::select('nombre_croquis')->where('id', $domicilio_id)->firstOrFail();
|
||||
|
||||
if($domicilio->nombre_croquis && Storage::disk('public')->exists("pdf_croquis/". $domicilio->nombre_croquis)) {
|
||||
return response()->file(storage_path('app/public/pdf_croquis/' . $domicilio->nombre_croquis));
|
||||
}else{
|
||||
return response()->unprocessable('El domicilio del cliente no tiene asignado PDF. Favor de adjuntarlo.');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\EstatusServiciosRequest;
|
||||
use App\Models\CatEstatuServicio;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class EstatusServiciosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = CatEstatuServicio::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$estatus = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$estatus = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($estatus);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(EstatusServiciosRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$estatus = CatEstatuServicio::create($data);
|
||||
|
||||
return response()->success($estatus);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al guardar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$estatus = CatEstatuServicio::where('id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($estatus);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(EstatusServiciosRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$estatus = CatEstatuServicio::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$estatus->update($data);
|
||||
|
||||
return response()->success($estatus);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al actualizar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$estatus = CatEstatuServicio::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$estatus->restore();
|
||||
}else{
|
||||
$estatus = CatEstatuServicio::findOrFail($id);
|
||||
$estatus->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
}
|
||||
123
app/Http/Controllers/Administrador/FormasPagosController.php
Normal file
123
app/Http/Controllers/Administrador/FormasPagosController.php
Normal file
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\FormasPagosRequest;
|
||||
use App\Models\CatFormaPago;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class FormasPagosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = CatFormaPago::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$forma_pago = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$forma_pago = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($forma_pago);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(FormasPagosRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$forma_pago = CatFormaPago::create($data);
|
||||
|
||||
return response()->success($forma_pago);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al guardar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$forma_pago = CatFormaPago::where('id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($forma_pago);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(FormasPagosRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$forma_pago = CatFormaPago::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$forma_pago->update($data);
|
||||
|
||||
return response()->success($forma_pago);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al actualizar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$forma_pago = CatFormaPago::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$forma_pago->restore();
|
||||
}else{
|
||||
$forma_pago = CatFormaPago::findOrFail($id);
|
||||
$forma_pago->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
}
|
||||
103
app/Http/Controllers/Administrador/OrigenesController.php
Normal file
103
app/Http/Controllers/Administrador/OrigenesController.php
Normal file
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Models\CatOrigen;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class OrigenesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = CatOrigen::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
175
app/Http/Controllers/Administrador/RolesController.php
Normal file
175
app/Http/Controllers/Administrador/RolesController.php
Normal file
@@ -0,0 +1,175 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
|
||||
use App\Http\Requests\Administrador\RolesRequest;
|
||||
use App\Models\Rol;
|
||||
use Cartalyst\Sentinel\Native\Facades\Sentinel;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Log;
|
||||
|
||||
class RolesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$orderBy = $request->input('sortBy','name');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = Rol::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('name','like','%' .$query.'%')
|
||||
->orWhere('slug','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$users = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$users = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($users);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(RolesRequest $request)
|
||||
{
|
||||
$data = $request->only([
|
||||
'slug',
|
||||
'name',
|
||||
'movil',
|
||||
'web'
|
||||
]);
|
||||
$existe = Rol::where('slug','=',$data['slug'])
|
||||
->where('name','=',$data['name'])
|
||||
->first();
|
||||
|
||||
if($existe){
|
||||
return response()->unprocessable('Error', ['El rol ya se encuentra registrado']);
|
||||
}
|
||||
|
||||
$rol = Rol::create($data);
|
||||
|
||||
$role = Sentinel::findRoleById($rol->id);
|
||||
|
||||
foreach ($request->input('permissions') as $key => $value){
|
||||
$role->addPermission($key, ($value == "true")? true : false);
|
||||
$role->save();
|
||||
}
|
||||
|
||||
return response()->success($rol);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$role = Sentinel::findRoleById($id);
|
||||
|
||||
$routeCollection = Route::getRoutes();
|
||||
foreach ($routeCollection as $value) {
|
||||
$collection[] = ['name'=>$value->getName()];
|
||||
}
|
||||
$collection = collect($collection);
|
||||
$sorted = $collection->sortBy('name');
|
||||
$sorted->values()->all();
|
||||
|
||||
$permisos = [];
|
||||
foreach ($sorted as $value) {
|
||||
if($value['name']!=''){
|
||||
$permisos[$value['name']] = false;
|
||||
}
|
||||
}
|
||||
|
||||
$role['permissions'] = collect($permisos)
|
||||
->merge($role['permissions'])
|
||||
->all();
|
||||
//Log::info("roles show");
|
||||
//Log::info($role);
|
||||
return response()->success($role);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(RolesRequest $request, $id)
|
||||
{
|
||||
$rol = Rol::findOrFail($id);
|
||||
|
||||
$data = $request->only(['slug','name','permissions','movil','web']);
|
||||
|
||||
$role = Sentinel::findRoleById($id);
|
||||
|
||||
foreach ($data['permissions'] as $key => $value){
|
||||
$role->updatePermission($key, ($value == "true")? true : false);
|
||||
$role->addPermission($key, ($value == "true")? true : false);
|
||||
$role->save();
|
||||
}
|
||||
|
||||
$rol->slug = $data['slug'];
|
||||
$rol->name = $data['name'];
|
||||
$rol->movil = $data['movil'];
|
||||
$rol->web = $data['web'];
|
||||
$rol->save();
|
||||
|
||||
return response()->success($rol);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$rol = Rol::findOrFail($id);
|
||||
$rol->delete();
|
||||
|
||||
return response()->success(['result'=>true]);
|
||||
}
|
||||
|
||||
public function rutas(){
|
||||
|
||||
$routeCollection = Route::getRoutes();
|
||||
foreach ($routeCollection as $value) {
|
||||
$collection[] = ['name'=>$value->getName()];
|
||||
}
|
||||
$collection = collect($collection);
|
||||
$sorted = $collection->values()->all();
|
||||
|
||||
$permisos = [];
|
||||
foreach ($sorted as $value) {
|
||||
if($value['name']!=''){
|
||||
$permisos[$value['name']] = false;
|
||||
}
|
||||
}
|
||||
|
||||
return response()->success($permisos);
|
||||
}
|
||||
}
|
||||
124
app/Http/Controllers/Administrador/ServiciosController.php
Normal file
124
app/Http/Controllers/Administrador/ServiciosController.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\ServiciosRequest;
|
||||
use App\Models\CatServicio;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class ServiciosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = CatServicio::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$servicios = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$servicios = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($servicios);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(ServiciosRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$servicios = CatServicio::create($data);
|
||||
|
||||
return response()->success($servicios);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al guardar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$servicios = CatServicio::where('id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($servicios);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(ServiciosRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$servicios = CatServicio::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$servicios->update($data);
|
||||
|
||||
return response()->success($servicios);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al actualizar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$servicios = CatServicio::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$servicios->restore();
|
||||
}else{
|
||||
$servicios = CatServicio::findOrFail($id);
|
||||
$servicios->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
}
|
||||
127
app/Http/Controllers/Administrador/SucursalesController.php
Normal file
127
app/Http/Controllers/Administrador/SucursalesController.php
Normal file
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\SucursalesRequest;
|
||||
use App\Models\Sucursal;
|
||||
use App\Models\VehiculoSucursal;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class SucursalesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = Sucursal::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$sucursal = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$sucursal = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($sucursal);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(SucursalesRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$sucursal = Sucursal::create($data);
|
||||
|
||||
return response()->success($sucursal);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al guardar la sucursal.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$sucursal = Sucursal::where('id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($sucursal);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(SucursalesRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$sucursal = Sucursal::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$sucursal->update($data);
|
||||
|
||||
return response()->success($sucursal);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al actualizar la sucursal.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$sucursal = Sucursal::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$sucursal->restore();
|
||||
}else{
|
||||
$sucursal = Sucursal::findOrFail($id);
|
||||
$sucursal->delete();
|
||||
|
||||
VehiculoSucursal::where('sucursal_id', $id)->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
}
|
||||
124
app/Http/Controllers/Administrador/TiposServiciosController.php
Normal file
124
app/Http/Controllers/Administrador/TiposServiciosController.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\TiposServiciosRequest;
|
||||
use App\Models\CatTipoServicio;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class TiposServiciosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = CatTipoServicio::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$tipos_servicios = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$tipos_servicios = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($tipos_servicios);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(TiposServiciosRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$tipos_servicios = CatTipoServicio::create($data);
|
||||
|
||||
return response()->success($tipos_servicios);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al guardar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$tipos_servicios = CatTipoServicio::where('id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($tipos_servicios);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(TiposServiciosRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$tipos_servicios = CatTipoServicio::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$tipos_servicios->update($data);
|
||||
|
||||
return response()->success($tipos_servicios);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al actualizar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$tipos_servicios = CatTipoServicio::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$tipos_servicios->restore();
|
||||
}else{
|
||||
$tipos_servicios = CatTipoServicio::findOrFail($id);
|
||||
$tipos_servicios->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
}
|
||||
111
app/Http/Controllers/Administrador/TiposVehiculosController.php
Normal file
111
app/Http/Controllers/Administrador/TiposVehiculosController.php
Normal file
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\TiposVehiculosRequest;
|
||||
use App\Models\TipoVehiculo;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class TiposVehiculosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = TipoVehiculo::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$tipo_vehiculo = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$tipo_vehiculo = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($tipo_vehiculo);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(TiposVehiculosRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$tipo_vehiculo = TipoVehiculo::create($data);
|
||||
|
||||
return response()->success($tipo_vehiculo);
|
||||
} catch (\Exception $e) {
|
||||
Log::info($e->getMessage());
|
||||
return response()->unprocessable('Error', ['Error al guardar el Tipo de Vehiculo.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$tipo_vehiculo = TipoVehiculo::where('id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($tipo_vehiculo);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(TiposVehiculosRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
try {
|
||||
$tipo_vehiculo = TipoVehiculo::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$tipo_vehiculo->update($data);
|
||||
|
||||
return response()->success($tipo_vehiculo);
|
||||
} catch (\Exception $e) {
|
||||
return response()->unprocessable('Error', ['Error al guardar el Tipo de Vehiculo.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
216
app/Http/Controllers/Administrador/UsersController.php
Normal file
216
app/Http/Controllers/Administrador/UsersController.php
Normal file
@@ -0,0 +1,216 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Models\Rol;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use const App\Http\Controllers\PASSWORD;
|
||||
use App\Http\Requests\Administrador\UserRequest;
|
||||
use App\Models\RolUser;
|
||||
use App\Models\Sucursal;
|
||||
use App\Models\TipoEmpleado;
|
||||
use App\Models\User;
|
||||
use Cartalyst\Sentinel\Native\Facades\Sentinel;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Log;
|
||||
|
||||
class UsersController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','users.nombre');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = User::select('users.*', DB::raw("coalesce (roles.name, '') as role"), 'roles.id as role_id', 'tipos_empleados.nombre as tipo_empleado', 'tipos_empleados.id as tipo_empleado_id', 'sucursales.id as sucursal_id', 'sucursales.nombre as sucursal')
|
||||
->orderBy($orderBy,$order)
|
||||
->leftJoin('role_users', 'role_users.user_id', '=', 'users.id')
|
||||
->leftJoin('roles', 'roles.id', '=', 'role_users.role_id')
|
||||
->join('sucursales', 'sucursales.id', '=', 'users.sucursal_id')
|
||||
->join('tipos_empleados', 'tipos_empleados.id', '=', 'users.tipo_empleado_id')
|
||||
->where('users.sucursal_id', $user->sucursal_id);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('users.email','like','%' .$query.'%')
|
||||
->orWhere('users.nombre','like','%' .$query.'%')
|
||||
->orWhere('users.apellido_paterno','like','%' .$query.'%')
|
||||
->orWhere('users.apellido_materno','like','%' .$query.'%')
|
||||
->orWhere('users.telefono','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$users = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$users = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($users);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(UserRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
$tipo = TipoEmpleado::where('id', $data['tipo_empleado_id'])->first();
|
||||
if($tipo->login){
|
||||
$data['password'] = bcrypt($data['password']);
|
||||
}else{
|
||||
$data['password'] = bcrypt(PASSWORD);
|
||||
}
|
||||
|
||||
$user = User::create($data);
|
||||
|
||||
$user_sentinel = Sentinel::findById($user->id);
|
||||
$role = Sentinel::findRoleById($data['role_id']);
|
||||
$role->users()->attach($user_sentinel);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success($user);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('Error', ['Error al guardar el usuario.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$user = User::select('users.*', 'roles.name as role', 'roles.id as role_id', 'tipos_empleados.nombre as tipo_empleado', 'tipos_empleados.id as tipo_empleado_id', 'sucursales.id as sucursal_id', 'sucursales.nombre as sucursal')
|
||||
->leftJoin('role_users', 'role_users.user_id', '=', 'users.id')
|
||||
->leftJoin('roles', 'roles.id', '=', 'role_users.role_id')
|
||||
->join('tipos_empleados', 'tipos_empleados.id', '=', 'users.tipo_empleado_id')
|
||||
->join('sucursales', 'sucursales.id', '=', 'users.sucursal_id')
|
||||
->where('users.id', $id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
return response()->success($user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(UserRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
if(trim($data['password']) != ''){
|
||||
$data['password'] = bcrypt($data['password']);
|
||||
}else{
|
||||
$data = collect($data)->forget('password')->all();
|
||||
}
|
||||
|
||||
$user = User::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$user->update($data);
|
||||
|
||||
RolUser::where('user_id', $id)
|
||||
->update(['role_id' => $data['role_id']]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success($user);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('Error', ['Error al actualizar el usuario.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$user = User::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$user->restore();
|
||||
}else{
|
||||
$user = User::findOrFail($id);
|
||||
$user->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
|
||||
public function tiposEmpleados(){
|
||||
|
||||
$tipos_empleados = TipoEmpleado::get();
|
||||
|
||||
return response()->success($tipos_empleados);
|
||||
}
|
||||
|
||||
public function sucursales(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = Sucursal::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
|
||||
public function filtrosUsuarios(){
|
||||
$sucursales = Sucursal::get();
|
||||
$tipos_empleados = TipoEmpleado::get();
|
||||
$roles = Rol::get();
|
||||
|
||||
return response()->success(compact('sucursales', 'tipos_empleados', 'roles'));
|
||||
}
|
||||
}
|
||||
214
app/Http/Controllers/Administrador/VehiculosController.php
Normal file
214
app/Http/Controllers/Administrador/VehiculosController.php
Normal file
@@ -0,0 +1,214 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers\Administrador;
|
||||
|
||||
use App\Http\Requests\Administrador\VehiculosRequest;
|
||||
use App\Models\Sucursal;
|
||||
use App\Models\TipoVehiculo;
|
||||
use App\Models\Vehiculo;
|
||||
use App\Models\VehiculoSucursal;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Pagination\Paginator;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Log;
|
||||
|
||||
class VehiculosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
|
||||
$user = Auth::user();
|
||||
$deleted = $request->input('deleted');
|
||||
$orderBy = $request->input('sortBy','id');
|
||||
$order = $request->input('order','asc');
|
||||
$queryBuilder = Vehiculo::select('cat_vehiculos.*', 'cat_tipos_vehiculos.nombre as tipo_vehiculo')
|
||||
->join('cat_tipos_vehiculos', 'cat_tipos_vehiculos.id', '=', 'cat_vehiculos.tipo_vehiculo_id')
|
||||
->join('vehiculos_sucursales', 'vehiculos_sucursales.vehiculo_id', '=', 'cat_vehiculos.id')
|
||||
->where('vehiculos_sucursales.sucursal_id', $user->sucursal_id)
|
||||
->orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('num_economico','like','%' .$query.'%')
|
||||
->orWhere('cat_tipos_vehiculos.nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($deleted) {
|
||||
$queryBuilder->onlyTrashed();
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
foreach ($data->items() as $vehiculo){
|
||||
$vehiculo->sucursales = VehiculoSucursal::select('sucursales.id as sucursal_id', 'sucursales.nombre as sucursal')
|
||||
->where('vehiculo_id', $vehiculo->id)
|
||||
->join('sucursales', 'sucursales.id', '=', 'vehiculos_sucursales.sucursal_id')
|
||||
->get();
|
||||
}
|
||||
|
||||
$vehiculo = $data;
|
||||
}else{
|
||||
$data = $queryBuilder->get();
|
||||
foreach ($data as $vehiculo){
|
||||
$vehiculo->sucursales = VehiculoSucursal::select('sucursales.id as sucursal_id', 'sucursales.nombre as sucursal')
|
||||
->where('vehiculo_id', $vehiculo->id)
|
||||
->join('sucursales', 'sucursales.id', '=', 'vehiculos_sucursales.sucursal_id')
|
||||
->get();
|
||||
}
|
||||
|
||||
$vehiculo = ['data'=>$data];
|
||||
}
|
||||
|
||||
return response()->success($vehiculo);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(VehiculosRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
foreach ($data['sucursales'] as $s){
|
||||
if(!Sucursal::where('id', $s)->first()){
|
||||
return response()->unprocessable('Error', ['No se encuentra la sucursal ingresada.']);
|
||||
}
|
||||
}
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$vehiculo = Vehiculo::create($data);
|
||||
|
||||
foreach ($data['sucursales'] as $s){
|
||||
VehiculoSucursal::create(['vehiculo_id' => $vehiculo->id, 'sucursal_id' => $s]);
|
||||
}
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->success($vehiculo);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('Error', ['Error al guardar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$vehiculo = Vehiculo::select('cat_vehiculos.*', 'cat_tipos_vehiculos.nombre as tipo_vehiculo')
|
||||
->where('cat_vehiculos.id', $id)
|
||||
->join('cat_tipos_vehiculos', 'cat_tipos_vehiculos.id', '=', 'cat_vehiculos.tipo_vehiculo_id')
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$vehiculo->sucursales = VehiculoSucursal::select('sucursales.id as sucursal_id', 'sucursales.nombre as sucursal')
|
||||
->where('vehiculo_id', $vehiculo->id)
|
||||
->join('sucursales', 'sucursales.id', '=', 'vehiculos_sucursales.sucursal_id')
|
||||
->get();
|
||||
|
||||
return response()->success($vehiculo);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(VehiculosRequest $request, $id)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
$vehiculo = Vehiculo::where('id',$id)
|
||||
->withTrashed()
|
||||
->firstOrFail();
|
||||
|
||||
$vehiculo->update($data);
|
||||
|
||||
VehiculoSucursal::where('vehiculo_id', $id)->delete();
|
||||
|
||||
foreach ($data['sucursales'] as $s){
|
||||
VehiculoSucursal::create(['vehiculo_id' => $vehiculo->id, 'sucursal_id' => $s]);
|
||||
}
|
||||
|
||||
DB::commit();
|
||||
return response()->success($vehiculo);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
return response()->unprocessable('Error', ['Error al actualizar el Estatus de Servicio.']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id, Request $request)
|
||||
{
|
||||
$deleted = $request->input('deleted');
|
||||
|
||||
if($deleted){
|
||||
$vehiculo = Vehiculo::where('id',$id)
|
||||
->onlyTrashed()
|
||||
->first();
|
||||
|
||||
$vehiculo->restore();
|
||||
}else{
|
||||
$vehiculo = Vehiculo::findOrFail($id);
|
||||
$vehiculo->delete();
|
||||
|
||||
VehiculoSucursal::where('vehiculo_id', $id)->delete();
|
||||
}
|
||||
|
||||
return response()->success(['result' => 'ok']);
|
||||
}
|
||||
|
||||
public function sucursales(){
|
||||
|
||||
$sucursales = Sucursal::get();
|
||||
|
||||
return response()->success($sucursales);
|
||||
}
|
||||
|
||||
public function tiposVehiculos(Request $request){
|
||||
|
||||
$orderBy = $request->input('sortBy','nombre');
|
||||
$order = $request->input('order','asc');
|
||||
|
||||
$queryBuilder = TipoVehiculo::orderBy($orderBy,$order);
|
||||
|
||||
if($query = $request->get('query',false)){
|
||||
$queryBuilder->where(function($q) use ($query){
|
||||
$q->where('nombre','like','%' .$query.'%');
|
||||
});
|
||||
}
|
||||
|
||||
if($perPage = $request->input('perPage',false)){
|
||||
$data = $queryBuilder->paginate($perPage);
|
||||
}else{
|
||||
$data = ['data'=>$queryBuilder->get()];
|
||||
}
|
||||
|
||||
return response()->success($data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user