<?php
namespace App\Controller\Admin\Empleado;
use App\Entity\Empleado;
use App\Entity\Observacion;
use App\Entity\EmpleadoEmpresaSucursal;
use Doctrine\ORM\EntityManagerInterface;
use App\Form\EmpleadoEmpresaSucursalType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\JsonResponse;
use App\Repository\EmpleadoEmpresaSucursalRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
#[Route('/panel/admin/empleado/empresa/sucursal')]
class EmpleadoEmpresaSucursalController extends AbstractController
{
public function __construct(){
date_default_timezone_set("America/Buenos_Aires");
}
function getEmpleadoEmpresa($empleadoEmpresa)
{
$arrayEmpleadoEmpresa = Array();
if($empleadoEmpresa->getSucursal() != null){
$sucursal = $empleadoEmpresa->getSucursal()->getNombre();
$sucursal_domicilio = $empleadoEmpresa->getSucursal()->getDireccion();
}else{
$sucursal = null;
$sucursal_domicilio = null;
}
if($empleadoEmpresa->getUserCargo() != null){
$admin = $empleadoEmpresa->getUserCargo()->getNombre().' '.$empleadoEmpresa->getUserCargo()->getApellido();
}else{
$admin = null;
}
if($empleadoEmpresa->getCargo() != null){
$cargo = $empleadoEmpresa->getCargo()->getNombre();
}else{
$cargo = null;
}
$arrayEmpleadoEmpresa[]=[
'id' => $empleadoEmpresa->getId(),
'fechaIngresoTrabajar' => $empleadoEmpresa->getFechaIngresoTrabajar(),
'fechaEgreso' => $empleadoEmpresa->getFechaEgreso(),
'horarioLaboral' => $empleadoEmpresa->getHorarioLaboral(),
'horasTrabajadas' => $empleadoEmpresa->getHorasTrabajadas(),
'remuneracion' => $empleadoEmpresa->getRemuneracion(),
'empresa' => $empleadoEmpresa->getEmpresa()->getRazonSocial(),
'cuit' => $empleadoEmpresa->getEmpresa()->getCuit(),
'sucursal' => $sucursal,
'sucursal_domicilio' => $sucursal_domicilio,
'cargo' => $cargo,
'userCargo' => $admin,
'isActive' => $empleadoEmpresa->getIsActive(),
];
return $arrayEmpleadoEmpresa;
}
#[Route('/{id}/listado-de-empresas-y-sucursales', name: 'empleado_empresa_sucursal_index', methods: ['GET'])]
public function index(Empleado $empleado,EntityManagerInterface $em): Response
{
$arraySucursales = Array();
$sucursales = $em->getRepository(EmpleadoEmpresaSucursal::class)->findBy(array(
'empleado' => $empleado,
));
if($sucursales){
foreach($sucursales as $sucursalEmpleado){
array_push($arraySucursales, $this->getEmpleadoEmpresa($sucursalEmpleado));
}
}
return $this->render('consola/panel_admin/empleado/empresa_sucursal/index.html.twig', [
'empleado_id' => $empleado->getId(),
'nombre' => $empleado->getNombre().' '.$empleado->getApellido(),
'arraySucursales' => $arraySucursales,
]);
}
#[Route('/{id}/edit', name: 'app_empleado_empresa_sucursal_edit', methods: ['GET', 'POST'])]
public function edit(Request $request, EmpleadoEmpresaSucursal $empleadoEmpresaSucursal, EmpleadoEmpresaSucursalRepository $empleadoEmpresaSucursalRepository): Response
{
$form = $this->createForm(EmpleadoEmpresaSucursalType::class, $empleadoEmpresaSucursal,['empresa' => $empleadoEmpresaSucursal->getEmpresa() ]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$empleadoEmpresaSucursal->setIsActive(true);
$empleadoEmpresaSucursalRepository->save($empleadoEmpresaSucursal, true);
return $this->redirectToRoute('empleado_empresa_sucursal_index', [
'id' => $empleadoEmpresaSucursal->getEmpleado()->getId()
], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('consola/panel_admin/empleado/empresa_sucursal/edit.html.twig', [
'empleado_id' => $empleadoEmpresaSucursal->getEmpleado()->getId(),
'empleado_nombre' => $empleadoEmpresaSucursal->getEmpleado()->getNombre().' '.$empleadoEmpresaSucursal->getEmpleado()->getApellido(),
'form' => $form,
]);
}
}