src/Controller/School/SchoolTeacherCallSheetReController.php line 349

Open in your IDE?
  1. <?php
  2. namespace App\Controller\School;
  3. use App\Entity\User;
  4. use DateTimeImmutable;
  5. use App\Entity\SchoolMatter;
  6. use App\Entity\SchoolTeacher;
  7. use App\Entity\SettingClassroom;
  8. use App\Entity\SettingTimeTable;
  9. use App\Service\DateIntervalManage;
  10. use App\Service\PayrollSyncService;
  11. use App\Entity\SchoolTeacherCallSheet;
  12. use App\Entity\SchoolTeacherCallSheetLine;
  13. use App\Repository\SchoolMatterRepository;
  14. use App\Entity\SchoolWorkingTimeHourLesson;
  15. use App\Repository\SchoolTeacherRepository;
  16. use Symfony\Component\HttpFoundation\Request;
  17. use App\Repository\SettingClassroomRepository;
  18. use App\Repository\SettingTimeTableRepository;
  19. use Symfony\Component\HttpFoundation\Response;
  20. use App\Form\School\SchoolTeacherCallSheetType;
  21. use Symfony\Component\Routing\Annotation\Route;
  22. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  23. use App\Repository\SchoolTeacherCallSheetRepository;
  24. use App\Repository\SchoolTeacherCallSheetLineRepository;
  25. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  26. /**
  27.  * @Route("/school/teacher-call-sheet-re")
  28.  * Fiche réalisé par un utilisateur avec le role ROLE_FICHE_PRESENCE
  29.  */
  30. class SchoolTeacherCallSheetReController extends AbstractController
  31. {
  32.     /**
  33.      * @Route("/new", name="school_teacher_call_sheet_re_new", methods={"GET","POST"})
  34.      */
  35.     public function new(Request $requestPayrollSyncService $payrollSyncServiceSchoolTeacherRepository $schoolTeacherRepositorySchoolMatterRepository $schoolMatterRepositorySettingClassroomRepository $settingClassroomRepositorySettingTimeTableRepository $settingTimeTableRepositorySchoolTeacherCallSheetRepository $schoolTeacherCallSheetRepository): Response
  36.     {
  37.         /**@var User $user */
  38.         $user $this->getUser();
  39.         $schoolYear $user->getSchoolYear();
  40.         $establishment $user->getEstablishment();
  41.         $schoolTeachers $schoolTeacherRepository->createQueryBuilder('entity')
  42.         ->innerJoin('entity.establishment''establishment')
  43.         ->addSelect('establishment')
  44.         ->andWhere('establishment.establishmentGroup = :establishmentGroup')
  45.         ->setParameter('establishmentGroup'$establishment->getEstablishmentGroup())
  46.         ->andWhere('entity.schoolYear = :schoolYear')
  47.         ->setParameter('schoolYear'$schoolYear)
  48.         ->andWhere('entity.is_disabled = :is_disabled')
  49.         ->setParameter('is_disabled'0)
  50.         ->orderBy('entity.id''DESC')
  51.         ->getQuery()
  52.         ->getResult();
  53.         $schoolTeacherCallSheet = new SchoolTeacherCallSheet();
  54.         $form $this->createForm(SchoolTeacherCallSheetType::class, $schoolTeacherCallSheet)
  55.         ->add('settingClassroom'EntityType::class, [
  56.             'class' => SettingClassroom::class,
  57.             'choices' => $settingClassroomRepository->findBy(['establishment' => $establishment'schoolYear' => $schoolYear], ['label' => 'ASC']),
  58.             'required' => false
  59.         ])
  60.         ->add('settingTimeTable'EntityType::class, [
  61.             'class' => SettingTimeTable::class,
  62.             'choices' => $settingTimeTableRepository->findBy(['establishment' => $establishment'schoolYear' => $schoolYear], ['label' => 'ASC']),
  63.             'required' => false
  64.         ])
  65.         
  66.         ->add('schoolMatter'EntityType::class, [
  67.             'class' => SchoolMatter::class,
  68.             'choices' => $schoolMatterRepository->findBy(['establishment' => $establishment], ['label' => 'ASC']),
  69.             'required' => false
  70.         ])
  71.         
  72.         ->add('schoolTeacher'EntityType::class, [
  73.             'class' => SchoolTeacher::class,
  74.             'choices' => $schoolTeachers,
  75.             'required' => false
  76.         ]);
  77.         $form->handleRequest($request);
  78.         if ($form->isSubmitted() && $form->isValid()) {
  79.             $rhSalary $schoolTeacherCallSheet->getSchoolTeacher()->getSalary();
  80.             if($establishment->getIsFaceAttendanceEnabled()) {
  81.                 $records $payrollSyncService->getRecordsByRhSalary($rhSalary, new \DateTime(), new \DateTime());
  82.                 if (count($records) <= 0) {
  83.                     $this->addFlash('warning'"Cet employé a pas encore pointé: ".$rhSalary->getFirstName()." ".$rhSalary->getLastName());
  84.                     return $this->redirectToRoute('school_teacher_call_sheet_index');
  85.                 }
  86.             }
  87.             $entityManager $this->getDoctrine()->getManager();
  88.             $_schoolTeacherCallSheet $schoolTeacherCallSheetRepository->findOneBy([
  89.                 'establishment' => $establishment
  90.                 'schoolYear' => $schoolYear,
  91.                 'settingClassroom' => $schoolTeacherCallSheet->getSettingClassroom(),
  92.                 'settingTimeTable' => $schoolTeacherCallSheet->getSettingTimeTable(),
  93.                 'schoolMatter' => $schoolTeacherCallSheet->getSchoolMatter(),
  94.                 'create_date' => $schoolTeacherCallSheet->getCreateDate(),
  95.                 'day' => DateIntervalManage::FRENCH_DAY[$schoolTeacherCallSheet->getCreateDate()->format('D')],
  96.             ], []);
  97.     
  98.             if (null != $_schoolTeacherCallSheet) {
  99.                 $this->addFlash('warning'"Cette fiche existe déjà.");
  100.                 return $this->redirectToRoute('school_teacher_call_sheet_re_call', ['id' => $_schoolTeacherCallSheet->getId()]);
  101.             }
  102.             if (null == $schoolTeacherCallSheet->getSettingTimeTable()) {
  103.                 $this->addFlash('warning'"Veuillez selectionner un horaire");
  104.                 return $this->redirectToRoute('school_teacher_call_sheet_index');
  105.             }
  106.             if (null == $schoolTeacherCallSheet->getSettingClassroom()) {
  107.                 $this->addFlash('warning'"Veuillez selectionner une classe");
  108.                 return $this->redirectToRoute('school_teacher_call_sheet_index');
  109.             }
  110.             if (null == $schoolTeacherCallSheet->getSchoolMatter()) {
  111.                 $this->addFlash('warning'"Veuillez selectionner une matière");
  112.                 return $this->redirectToRoute('school_teacher_call_sheet_index');
  113.             }
  114.             $schoolTeacherCallSheet->setEstablishment($establishment);
  115.             $schoolTeacherCallSheet->setSchoolYear($schoolYear);
  116.             $schoolTeacherCallSheet->setEstablishment($establishment);
  117.             $schoolTeacherCallSheet->setDay(DateIntervalManage::FRENCH_DAY[$schoolTeacherCallSheet->getCreateDate()->format('D')]);
  118.             $schoolTeacherCallSheet->setCreateTime(date('H:i'));
  119.             $entityManager->persist($schoolTeacherCallSheet);
  120.             if($schoolTeacherCallSheet->getSchoolMatter()->getLv2() == 'AUCUN') {
  121.                 if($schoolTeacherCallSheet->getSchoolMatter()->getArtOrMusique() == null || $schoolTeacherCallSheet->getSchoolMatter()->getArtOrMusique() == '') {
  122.                 /* --- pas une langue vivante 2 --- */
  123.                     foreach ($schoolTeacherCallSheet->getSettingClassroom()->getRegistereds($schoolYear) as $key => $registrationStudentRegistration) {
  124.                         $schoolTeacherCallSheetLine = new SchoolTeacherCallSheetLine();
  125.                         $schoolTeacherCallSheetLine->setEstablishment($establishment);
  126.                         $schoolTeacherCallSheetLine->setSchoolYear($schoolYear);
  127.                         $schoolTeacherCallSheetLine->setRegistrationStudentRegistration($registrationStudentRegistration);
  128.                         $schoolTeacherCallSheetLine->setCreateDate(new DateTimeImmutable());
  129.                         $schoolTeacherCallSheetLine->setCreateTime($schoolTeacherCallSheet->getCreateTime());
  130.                         $schoolTeacherCallSheetLine->setDay($schoolTeacherCallSheet->getDay());
  131.                         $schoolTeacherCallSheetLine->setSchoolTeacherCallSheet($schoolTeacherCallSheet);
  132.                         $schoolTeacherCallSheetLine->setIsAbsent(false);
  133.                         $schoolTeacherCallSheetLine->setIsPresente(true);
  134.                         
  135.                         if ($schoolTeacherCallSheetLine->getRegistrationStudentRegistration()->getAmountDueAt(new DateTimeImmutable()) > 0) {
  136.                             $schoolTeacherCallSheetLine->setIsAbsent(true);
  137.                             $schoolTeacherCallSheetLine->setIsPresente(false);
  138.                         }
  139.                         $entityManager->persist($schoolTeacherCallSheetLine);
  140.                     }
  141.                 }else {
  142.                     foreach ($schoolTeacherCallSheet->getSettingClassroom()->getRegistereds($schoolTeacherCallSheet->getSchoolYear()) as $key => $registrationStudentRegistration) {
  143.                         if ($registrationStudentRegistration->getStudent()->getArtOrMusique() == $schoolTeacherCallSheet->getSchoolMatter()->getArtOrMusique()) {
  144.                             $schoolTeacherCallSheetLine = new SchoolTeacherCallSheetLine();
  145.                             $schoolTeacherCallSheetLine->setEstablishment($establishment);
  146.                             $schoolTeacherCallSheetLine->setSchoolYear($schoolYear);
  147.                             $schoolTeacherCallSheetLine->setRegistrationStudentRegistration($registrationStudentRegistration);
  148.                             $schoolTeacherCallSheetLine->setCreateDate(new DateTimeImmutable());
  149.                             $schoolTeacherCallSheetLine->setCreateTime($schoolTeacherCallSheet->getCreateTime());
  150.                             $schoolTeacherCallSheetLine->setDay($schoolTeacherCallSheet->getDay());
  151.                             $schoolTeacherCallSheetLine->setSchoolTeacherCallSheet($schoolTeacherCallSheet);
  152.                             $schoolTeacherCallSheetLine->setIsAbsent(false);
  153.                             $schoolTeacherCallSheetLine->setIsPresente(true);
  154.                             
  155.                             if ($schoolTeacherCallSheetLine->getRegistrationStudentRegistration()->getAmountDueAt(new DateTimeImmutable()) > 0) {
  156.                                 $schoolTeacherCallSheetLine->setIsAbsent(true);
  157.                                 $schoolTeacherCallSheetLine->setIsPresente(false);
  158.                             }
  159.                             
  160.                             $entityManager->persist($schoolTeacherCallSheetLine);
  161.                         }
  162.                     }
  163.                 }
  164.             }else {
  165.                 /* --- est une langue vivante 2 --- */
  166.                 foreach ($schoolTeacherCallSheet->getSettingClassroom()->getRegistereds($schoolYear) as $key => $registrationStudentRegistration) {
  167.                     if ($registrationStudentRegistration->getStudent()->getLv2() == $schoolTeacherCallSheet->getSchoolMatter()->getLv2()) {
  168.                         $schoolTeacherCallSheetLine = new SchoolTeacherCallSheetLine();
  169.                         $schoolTeacherCallSheetLine->setEstablishment($establishment);
  170.                         $schoolTeacherCallSheetLine->setSchoolYear($schoolYear);
  171.                         $schoolTeacherCallSheetLine->setRegistrationStudentRegistration($registrationStudentRegistration);
  172.                         $schoolTeacherCallSheetLine->setCreateDate(new DateTimeImmutable());
  173.                         $schoolTeacherCallSheetLine->setCreateTime($schoolTeacherCallSheet->getCreateTime());
  174.                         $schoolTeacherCallSheetLine->setDay($schoolTeacherCallSheet->getDay());
  175.                         $schoolTeacherCallSheetLine->setSchoolTeacherCallSheet($schoolTeacherCallSheet);
  176.                         $schoolTeacherCallSheetLine->setIsAbsent(false);
  177.                         $schoolTeacherCallSheetLine->setIsPresente(true);
  178.                         
  179.                         if ($schoolTeacherCallSheetLine->getRegistrationStudentRegistration()->getAmountDueAt(new DateTimeImmutable()) > 0) {
  180.                             $schoolTeacherCallSheetLine->setIsAbsent(true);
  181.                             $schoolTeacherCallSheetLine->setIsPresente(false);
  182.                         }
  183.                         $entityManager->persist($schoolTeacherCallSheetLine);
  184.                     }
  185.                 }
  186.             }
  187.             try {
  188.                 $entityManager->flush();
  189.                 $this->addFlash('success'"Un élt a été ajouté.");
  190.             } catch (\Throwable $th) {
  191.                 $this->addFlash('warning'"Une erreure est survenue lors de l'ajout de l'élt.");
  192.                 $this->addFlash('info'$th->getMessage());
  193.                 return $this->redirectToRoute('school_teacher_call_sheet_re_new');
  194.             }
  195.             return $this->redirectToRoute('school_teacher_call_sheet_re_call', ['id' => $schoolTeacherCallSheet->getId()]);
  196.         }
  197.         return $this->renderForm('school/school_teacher_call_sheet/re/new.html.twig', [
  198.             'schoolTeacherCallSheet' => $schoolTeacherCallSheet,
  199.             'form' => $form,
  200.         ]);
  201.     }
  202.     /**
  203.      * @Route("/{id}/create", name="school_teacher_call_sheet_re_create", methods={"GET"})
  204.      */
  205.     public function create(SchoolWorkingTimeHourLesson $schoolWorkingTimeHourLessonSchoolTeacherCallSheetRepository $schoolTeacherCallSheetRepository): Response
  206.     {
  207.         /**@var User $user */
  208.         $user $this->getUser();
  209.         $schoolYear $user->getSchoolYear();
  210.         $createDate = new DateTimeImmutable();
  211.         $schoolTeacherCallSheet $schoolTeacherCallSheetRepository->findOneBy([
  212.             'establishment' => $schoolWorkingTimeHourLesson->getEstablishment(), 
  213.             'schoolYear' => $schoolWorkingTimeHourLesson->getSchoolYear(),
  214.             'schoolTeacher' => $schoolWorkingTimeHourLesson->getSchoolTeacher(),
  215.             'schoolWorkingTime' => $schoolWorkingTimeHourLesson->getSchoolWorkingTime(),
  216.             'settingClassroom' => $schoolWorkingTimeHourLesson->getSettingClassroom(),
  217.             'settingTimeTable' => $schoolWorkingTimeHourLesson->getSettingTimeTable(),
  218.             'create_date' => $createDate,
  219.             'day' => $schoolWorkingTimeHourLesson->getDay(),
  220.         ], []);
  221.         if (null != $schoolTeacherCallSheet) {
  222.             $this->addFlash('warning'"Cette fiche existe déjà.");
  223.             return $this->redirectToRoute('school_teacher_call_sheet_re_call', ['id' => $schoolTeacherCallSheet->getId()]);
  224.         }
  225.         $entityManager $this->getDoctrine()->getManager();
  226.         $schoolTeacherCallSheet = new SchoolTeacherCallSheet();
  227.         $schoolTeacherCallSheet->setEstablishment($schoolWorkingTimeHourLesson->getEstablishment());
  228.         $schoolTeacherCallSheet->setSchoolYear($schoolWorkingTimeHourLesson->getSchoolYear());
  229.         $schoolTeacherCallSheet->setSchoolMatter($schoolWorkingTimeHourLesson->getSchoolMatter());
  230.         $schoolTeacherCallSheet->setSchoolTeacher($schoolWorkingTimeHourLesson->getSchoolTeacher());
  231.         $schoolTeacherCallSheet->setSchoolWorkingTime($schoolWorkingTimeHourLesson->getSchoolWorkingTime());
  232.         $schoolTeacherCallSheet->setSettingClassroom($schoolWorkingTimeHourLesson->getSettingClassroom());
  233.         $schoolTeacherCallSheet->setSettingTimeTable($schoolWorkingTimeHourLesson->getSettingTimeTable());
  234.         $schoolTeacherCallSheet->setDay($schoolWorkingTimeHourLesson->getDay());
  235.         $schoolTeacherCallSheet->setCreateDate(new DateTimeImmutable());
  236.         $schoolTeacherCallSheet->setCreateTime(date('H:i'));
  237.         $entityManager->persist($schoolTeacherCallSheet);
  238.         if($schoolWorkingTimeHourLesson->getSchoolMatter()->getLv2() == 'AUCUN') {
  239.             if($schoolWorkingTimeHourLesson->getSchoolMatter()->getArtOrMusique() == null || $schoolWorkingTimeHourLesson->getSchoolMatter()->getArtOrMusique() == '') {
  240.             /* --- pas une langue vivante 2 --- */
  241.                 foreach ($schoolWorkingTimeHourLesson->getSettingClassroom()->getRegistereds($schoolWorkingTimeHourLesson->getSchoolYear()) as $key => $registrationStudentRegistration) {
  242.                     $schoolTeacherCallSheetLine = new SchoolTeacherCallSheetLine();
  243.                     $schoolTeacherCallSheetLine->setEstablishment($schoolWorkingTimeHourLesson->getEstablishment());
  244.                     $schoolTeacherCallSheetLine->setSchoolYear($schoolWorkingTimeHourLesson->getSchoolYear());
  245.                     $schoolTeacherCallSheetLine->setRegistrationStudentRegistration($registrationStudentRegistration);
  246.                     $schoolTeacherCallSheetLine->setCreateDate(new DateTimeImmutable());
  247.                     $schoolTeacherCallSheetLine->setCreateTime($schoolTeacherCallSheet->getCreateTime());
  248.                     $schoolTeacherCallSheetLine->setDay($schoolTeacherCallSheet->getDay());
  249.                     $schoolTeacherCallSheetLine->setSchoolTeacherCallSheet($schoolTeacherCallSheet);
  250.                     $schoolTeacherCallSheetLine->setIsAbsent(false);
  251.                     $schoolTeacherCallSheetLine->setIsPresente(true);
  252.                     
  253.                     if ($schoolTeacherCallSheetLine->getRegistrationStudentRegistration()->getAmountDueAt(new DateTimeImmutable()) > 0) {
  254.                         $schoolTeacherCallSheetLine->setIsAbsent(true);
  255.                         $schoolTeacherCallSheetLine->setIsPresente(false);
  256.                     }
  257.                     $entityManager->persist($schoolTeacherCallSheetLine);
  258.                 }
  259.             }else {
  260.                 foreach ($schoolWorkingTimeHourLesson->getSettingClassroom()->getRegistereds($schoolWorkingTimeHourLesson->getSchoolYear()) as $key => $registrationStudentRegistration) {
  261.                     if ($registrationStudentRegistration->getStudent()->getArtOrMusique() == $schoolWorkingTimeHourLesson->getSchoolMatter()->getArtOrMusique()) {
  262.                         $schoolTeacherCallSheetLine = new SchoolTeacherCallSheetLine();
  263.                         $schoolTeacherCallSheetLine->setEstablishment($schoolWorkingTimeHourLesson->getEstablishment());
  264.                         $schoolTeacherCallSheetLine->setSchoolYear($schoolWorkingTimeHourLesson->getSchoolYear());
  265.                         $schoolTeacherCallSheetLine->setRegistrationStudentRegistration($registrationStudentRegistration);
  266.                         $schoolTeacherCallSheetLine->setCreateDate(new DateTimeImmutable());
  267.                         $schoolTeacherCallSheetLine->setCreateTime($schoolTeacherCallSheet->getCreateTime());
  268.                         $schoolTeacherCallSheetLine->setDay($schoolTeacherCallSheet->getDay());
  269.                         $schoolTeacherCallSheetLine->setSchoolTeacherCallSheet($schoolTeacherCallSheet);
  270.                         $schoolTeacherCallSheetLine->setIsAbsent(false);
  271.                         $schoolTeacherCallSheetLine->setIsPresente(true);
  272.                         
  273.                         if ($schoolTeacherCallSheetLine->getRegistrationStudentRegistration()->getAmountDueAt(new DateTimeImmutable()) > 0) {
  274.                             $schoolTeacherCallSheetLine->setIsAbsent(true);
  275.                             $schoolTeacherCallSheetLine->setIsPresente(false);
  276.                         }
  277.                         $entityManager->persist($schoolTeacherCallSheetLine);
  278.                     }
  279.                 }
  280.             }
  281.         }else {
  282.             /* --- est une langue vivante 2 --- */
  283.             foreach ($schoolWorkingTimeHourLesson->getSettingClassroom()->getRegistereds($schoolWorkingTimeHourLesson->getSchoolYear()) as $key => $registrationStudentRegistration) {
  284.                 if ($registrationStudentRegistration->getStudent()->getLv2() == $schoolWorkingTimeHourLesson->getSchoolMatter()->getLv2()) {
  285.                     $schoolTeacherCallSheetLine = new SchoolTeacherCallSheetLine();
  286.                     $schoolTeacherCallSheetLine->setEstablishment($schoolWorkingTimeHourLesson->getEstablishment());
  287.                     $schoolTeacherCallSheetLine->setSchoolYear($schoolWorkingTimeHourLesson->getSchoolYear());
  288.                     $schoolTeacherCallSheetLine->setRegistrationStudentRegistration($registrationStudentRegistration);
  289.                     $schoolTeacherCallSheetLine->setCreateDate(new DateTimeImmutable());
  290.                     $schoolTeacherCallSheetLine->setCreateTime($schoolTeacherCallSheet->getCreateTime());
  291.                     $schoolTeacherCallSheetLine->setDay($schoolTeacherCallSheet->getDay());
  292.                     $schoolTeacherCallSheetLine->setSchoolTeacherCallSheet($schoolTeacherCallSheet);
  293.                     $schoolTeacherCallSheetLine->setIsAbsent(false);
  294.                     $schoolTeacherCallSheetLine->setIsPresente(true);
  295.                     
  296.                     if ($schoolTeacherCallSheetLine->getRegistrationStudentRegistration()->getAmountDueAt(new DateTimeImmutable()) > 0) {
  297.                         $schoolTeacherCallSheetLine->setIsAbsent(true);
  298.                         $schoolTeacherCallSheetLine->setIsPresente(false);
  299.                     }
  300.                     $entityManager->persist($schoolTeacherCallSheetLine);
  301.                 }
  302.             }
  303.         }
  304.         try {
  305.             $entityManager->flush();
  306.             return $this->redirectToRoute('school_teacher_call_sheet_re_call', ['id' => $schoolTeacherCallSheet->getId()]);
  307.         } catch (\Throwable $th) {
  308.             $this->addFlash('warning'$th->getMessage());
  309.         }
  310.         return $this->redirectToRoute('school_teacher_call_sheet_index');
  311.     }
  312.     /**
  313.      * @Route("/{id}/call", name="school_teacher_call_sheet_re_call", methods={"GET","POST"})
  314.      */
  315.     public function call(SchoolTeacherCallSheet $schoolTeacherCallSheetSchoolTeacherCallSheetLineRepository $schoolTeacherCallSheetLineRepository): Response
  316.     {
  317.         /**@var User $user */
  318.         $user $this->getUser();
  319.         $schoolYear $user->getSchoolYear();
  320.         $establishment $user->getEstablishment();
  321.         
  322.         $schoolTeacherCallSheetLines $schoolTeacherCallSheetLineRepository->createQueryBuilder('entity')
  323.         ->innerJoin('entity.registrationStudentRegistration''registrationStudentRegistration')
  324.         ->addSelect('registrationStudentRegistration')
  325.         
  326.         ->innerJoin('registrationStudentRegistration.student''student')
  327.         ->addSelect('student')
  328.         ->andWhere('entity.schoolTeacherCallSheet = :callSheet')
  329.         ->setParameter('callSheet'$schoolTeacherCallSheet)
  330.         ->orderBy('student.last_name''ASC')
  331.         ->getQuery()
  332.         ->getResult();
  333.         
  334.         return $this->renderForm('school/school_teacher_call_sheet/re/call.html.twig', [
  335.             'school_teacher_call_sheet' => $schoolTeacherCallSheet,
  336.             'recovery_put_out_amount' => $establishment->getRecoveryPutOutAmount(),
  337.             'school_teacher_call_sheet_lines' => $schoolTeacherCallSheetLines,
  338.             'duDate' => new DateTimeImmutable(),
  339.         ]);
  340.     }
  341. }