Updated scripts OU and Clients migration

feature/calendars
Manuel Aranda Rosales 2024-09-16 10:51:50 +02:00
parent 1d7ff4b210
commit 939a15ad2a
2 changed files with 20 additions and 12 deletions

View File

@ -5,6 +5,7 @@ namespace App\Command\Migration;
use App\Entity\Client; use App\Entity\Client;
use App\Entity\HardwareProfile; use App\Entity\HardwareProfile;
use App\Entity\OrganizationalUnit; use App\Entity\OrganizationalUnit;
use App\Model\OrganizationalUnitTypes;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Query\ResultSetMapping; use Doctrine\ORM\Query\ResultSetMapping;
use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ManagerRegistry;
@ -65,9 +66,16 @@ class MigrateClientsCommand extends Command
$clientEntity->setPosition(['x' => 0, 'y' => 0]); $clientEntity->setPosition(['x' => 0, 'y' => 0]);
} }
$migrationId = $client['ordenadores.grupoid'] === 0 ? $client['ordenadores.idaula'] : $client['ordenadores.grupoid']; $migrationId = match ($client['ordenadores.grupoid']) {
0 => OrganizationalUnitTypes::CLASSROOM . '-' . $client['ordenadores.idaula'],
default => OrganizationalUnitTypes::CLIENTS_GROUP . '-' . $client['ordenadores.grupoid'],
};
$organizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $migrationId]); $organizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $migrationId]);
if (!$organizationalUnit){
$output->writeln("ORGANIZATIONAL UNIT NOT FOUND: ". $migrationId);
}
if ($organizationalUnit){ if ($organizationalUnit){
$clientEntity->setOrganizationalUnit($organizationalUnit); $clientEntity->setOrganizationalUnit($organizationalUnit);
} }

View File

@ -88,10 +88,10 @@ class MigrateOrganizationalUnitCommand extends Command
$output->writeln("CENTROS TOTAL: ". count($centers)); $output->writeln("CENTROS TOTAL: ". count($centers));
foreach ($centers as $center){ foreach ($centers as $center){
$centerOrganizationalUnit = null; $centerOrganizationalUnit = null;
$centerOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $center['idcentro'], 'type' => OrganizationalUnitTypes::ORGANIZATIONAL_UNIT]); $centerOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => OrganizationalUnitTypes::ORGANIZATIONAL_UNIT.'-'.$center['idcentro'], 'type' => OrganizationalUnitTypes::ORGANIZATIONAL_UNIT]);
if(!$centerOrganizationalUnit){ if(!$centerOrganizationalUnit){
$centerOrganizationalUnit = new OrganizationalUnit(); $centerOrganizationalUnit = new OrganizationalUnit();
$centerOrganizationalUnit->setMigrationId($center['idcentro']); $centerOrganizationalUnit->setMigrationId(OrganizationalUnitTypes::ORGANIZATIONAL_UNIT.'-'.$center['idcentro']);
$centerOrganizationalUnit->setName($center['nombrecentro']); $centerOrganizationalUnit->setName($center['nombrecentro']);
$centerOrganizationalUnit->setComments($center['comentarios']); $centerOrganizationalUnit->setComments($center['comentarios']);
$centerOrganizationalUnit->setType(OrganizationalUnitTypes::ORGANIZATIONAL_UNIT); $centerOrganizationalUnit->setType(OrganizationalUnitTypes::ORGANIZATIONAL_UNIT);
@ -104,15 +104,15 @@ class MigrateOrganizationalUnitCommand extends Command
$output->writeln("GRUPOS DE AULAS TOTAL: ". count($groups)); $output->writeln("GRUPOS DE AULAS TOTAL: ". count($groups));
foreach ($groups as $group){ foreach ($groups as $group){
$groupPcOrganizationalUnit = null; $groupPcOrganizationalUnit = null;
$groupPcOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $group['idgrupo'], 'type' => OrganizationalUnitTypes::CLASSROOMS_GROUP]); $groupPcOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => OrganizationalUnitTypes::CLASSROOMS_GROUP.'-'.$group['idgrupo'], 'type' => OrganizationalUnitTypes::CLASSROOMS_GROUP]);
if(!$groupPcOrganizationalUnit){ if(!$groupPcOrganizationalUnit){
$groupPcOrganizationalUnit = new OrganizationalUnit(); $groupPcOrganizationalUnit = new OrganizationalUnit();
$groupPcOrganizationalUnit->setMigrationId($group['idgrupo']); $groupPcOrganizationalUnit->setMigrationId(OrganizationalUnitTypes::CLASSROOMS_GROUP.'-'.$group['idgrupo']);
$groupPcOrganizationalUnit->setName($group['nombregrupo']); $groupPcOrganizationalUnit->setName($group['nombregrupo']);
$groupPcOrganizationalUnit->setComments($group['grupos.comentarios']); $groupPcOrganizationalUnit->setComments($group['grupos.comentarios']);
$groupPcOrganizationalUnit->setType(OrganizationalUnitTypes::CLASSROOMS_GROUP); $groupPcOrganizationalUnit->setType(OrganizationalUnitTypes::CLASSROOMS_GROUP);
$center = $organizationalUnitRepository->findOneBy(['migrationId' => $group['grupos.idcentro']]); $center = $organizationalUnitRepository->findOneBy(['migrationId' => OrganizationalUnitTypes::ORGANIZATIONAL_UNIT.'-'.$group['grupos.idcentro']]);
if ($center){ if ($center){
$groupPcOrganizationalUnit->setParent($center); $groupPcOrganizationalUnit->setParent($center);
} }
@ -126,10 +126,10 @@ class MigrateOrganizationalUnitCommand extends Command
$output->writeln("AULAS TOTAL: ". count($rooms)); $output->writeln("AULAS TOTAL: ". count($rooms));
foreach ($rooms as $room){ foreach ($rooms as $room){
$roomOrganizationalUnit = null; $roomOrganizationalUnit = null;
$roomOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $room['idaula'], 'type' => OrganizationalUnitTypes::CLASSROOM]); $roomOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => OrganizationalUnitTypes::CLASSROOM.'-'.$room['idaula'], 'type' => OrganizationalUnitTypes::CLASSROOM]);
if(!$roomOrganizationalUnit){ if(!$roomOrganizationalUnit){
$roomOrganizationalUnit = new OrganizationalUnit(); $roomOrganizationalUnit = new OrganizationalUnit();
$roomOrganizationalUnit->setMigrationId($room['idaula']); $roomOrganizationalUnit->setMigrationId(OrganizationalUnitTypes::CLASSROOM.'-'.$room['idaula']);
$roomOrganizationalUnit->setName($room['nombreaula']); $roomOrganizationalUnit->setName($room['nombreaula']);
$roomOrganizationalUnit->setComments($room['aulas.comentarios']); $roomOrganizationalUnit->setComments($room['aulas.comentarios']);
$roomOrganizationalUnit->setBoard($room['pizarra']); $roomOrganizationalUnit->setBoard($room['pizarra']);
@ -137,7 +137,7 @@ class MigrateOrganizationalUnitCommand extends Command
$roomOrganizationalUnit->setLocation($room['ubicacion']); $roomOrganizationalUnit->setLocation($room['ubicacion']);
$roomOrganizationalUnit->setType(OrganizationalUnitTypes::CLASSROOM); $roomOrganizationalUnit->setType(OrganizationalUnitTypes::CLASSROOM);
$migrationId = $room['aulas.grupoid'] === 0 ? $room['aulas.idcentro'] : $room['aulas.grupoid']; $migrationId = $room['aulas.grupoid'] === 0 ? OrganizationalUnitTypes::ORGANIZATIONAL_UNIT.'-'.$room['aulas.idcentro'] : OrganizationalUnitTypes::CLASSROOMS_GROUP.'-'.$room['aulas.grupoid'];
$organizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $migrationId]); $organizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $migrationId]);
if ($organizationalUnit){ if ($organizationalUnit){
@ -172,15 +172,15 @@ class MigrateOrganizationalUnitCommand extends Command
$output->writeln("GRUPOS ORDENADORES ". count($clientGroups)); $output->writeln("GRUPOS ORDENADORES ". count($clientGroups));
foreach ($clientGroups as $clientGroup){ foreach ($clientGroups as $clientGroup){
$groupPcOrganizationalUnit = null; $groupPcOrganizationalUnit = null;
$groupPcOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => $clientGroup['idgrupo'], 'type' => OrganizationalUnitTypes::CLIENTS_GROUP]); $groupPcOrganizationalUnit = $organizationalUnitRepository->findOneBy(['migrationId' => OrganizationalUnitTypes::CLIENTS_GROUP.'-'.$clientGroup['idgrupo'], 'type' => OrganizationalUnitTypes::CLIENTS_GROUP]);
if(!$groupPcOrganizationalUnit){ if(!$groupPcOrganizationalUnit){
$groupPcOrganizationalUnit = new OrganizationalUnit(); $groupPcOrganizationalUnit = new OrganizationalUnit();
$groupPcOrganizationalUnit->setMigrationId($clientGroup['idgrupo']); $groupPcOrganizationalUnit->setMigrationId(OrganizationalUnitTypes::CLIENTS_GROUP.'-'.$clientGroup['idgrupo']);
$groupPcOrganizationalUnit->setName($clientGroup['nombregrupoordenador']); $groupPcOrganizationalUnit->setName($clientGroup['nombregrupoordenador']);
$groupPcOrganizationalUnit->setComments($clientGroup['gruposordenadores.comentarios']); $groupPcOrganizationalUnit->setComments($clientGroup['gruposordenadores.comentarios']);
$groupPcOrganizationalUnit->setType(OrganizationalUnitTypes::CLIENTS_GROUP); $groupPcOrganizationalUnit->setType(OrganizationalUnitTypes::CLIENTS_GROUP);
$room = $organizationalUnitRepository->findOneBy(['migrationId' => $clientGroup['gruposordenadores.idaula']]); $room = $organizationalUnitRepository->findOneBy(['migrationId' => OrganizationalUnitTypes::CLASSROOM.'-'.$clientGroup['gruposordenadores.idaula']]);
if ($room){ if ($room){
$groupPcOrganizationalUnit->setParent($room); $groupPcOrganizationalUnit->setParent($room);
} }