initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Clients;
|
||||
use App\Entity\Reports;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Clients>
|
||||
*/
|
||||
class ClientsRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, Clients::class);
|
||||
}
|
||||
|
||||
public function deleteUser(Clients $client): void
|
||||
{
|
||||
$client->setDeleted(true);
|
||||
$this->getEntityManager()->persist($client);
|
||||
$this->getEntityManager()->flush();
|
||||
|
||||
$this->getEntityManager()->getRepository(Reports::class)->deleteAllByClient($client);
|
||||
}
|
||||
/**
|
||||
* @return Clients[] Returns an array of Clients objects
|
||||
*/
|
||||
// public function findAllInMonth(\DateTime $date): array
|
||||
// {
|
||||
// $dateStart = clone $date;
|
||||
// $dateStart->modify("first day of this month");
|
||||
// $dateEnd = clone $date;
|
||||
// $dateEnd->modify("last day of this month");
|
||||
// return $this->createQueryBuilder('r')
|
||||
// ->where('r.dateStart >= :dateStart')
|
||||
// ->andWhere('r.dateStart <= :dateEnd')
|
||||
// ->andWhere('r.isDelete = :deleted')
|
||||
// ->setParameter('dateStart', $dateStart->format('Y-m-d'))
|
||||
// ->setParameter('dateEnd', $dateEnd->format('Y-m-d'))
|
||||
// ->setParameter('deleted', 0)
|
||||
//// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
// /**
|
||||
// * @return Clients[] Returns an array of Clients objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('c')
|
||||
// ->andWhere('c.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('c.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?Clients
|
||||
// {
|
||||
// return $this->createQueryBuilder('c')
|
||||
// ->andWhere('c.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Notes;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Notes>
|
||||
*/
|
||||
class NotesRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, Notes::class);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return Notes[] Returns an array of Notes objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('n')
|
||||
// ->andWhere('n.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('n.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?Notes
|
||||
// {
|
||||
// return $this->createQueryBuilder('n')
|
||||
// ->andWhere('n.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Clients;
|
||||
use App\Entity\Reports;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\DBAL\Exception;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Reports>
|
||||
*/
|
||||
class ReportsRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, Reports::class);
|
||||
}
|
||||
|
||||
public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array
|
||||
{
|
||||
if (!isset($criteria['isDelete'])) {
|
||||
$criteria['isDelete'] = 0;
|
||||
}
|
||||
return parent::findBy($criteria, $orderBy, $limit, $offset); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
public function findAllOverdue()
|
||||
{
|
||||
$dateEnd = new \DateTime();
|
||||
$dateEnd->modify("last day of previous month");
|
||||
$reports = $this->createQueryBuilder('r')
|
||||
->where('r.isDelete = :isDelete')
|
||||
->andWhere('r.dateStart < :dateEnd')
|
||||
->andWhere('r.isDone = :isDone')
|
||||
->setParameter('isDone', 0)
|
||||
->setParameter('isDelete', 0)
|
||||
->setParameter('dateEnd', $dateEnd)
|
||||
->orderBy("r.number","ASC")
|
||||
->getQuery()
|
||||
->getResult();
|
||||
|
||||
// $this->countReport($reports);
|
||||
|
||||
return $reports;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Reports[] Returns an array of Reports objects
|
||||
*/
|
||||
public function findAllInMonth(\DateTime $date): array
|
||||
{
|
||||
$dateStart = clone $date;
|
||||
$dateStart->modify("first day of this month");
|
||||
$dateEnd = clone $date;
|
||||
$dateEnd->modify("last day of this month");
|
||||
$reports = $this->createQueryBuilder('r')
|
||||
->where('r.dateStart >= :dateStart')
|
||||
->andWhere('r.dateStart <= :dateEnd')
|
||||
->andWhere('r.isDelete = :deleted')
|
||||
->setParameter('dateStart', $dateStart->format('Y-m-d'))
|
||||
->setParameter('dateEnd', $dateEnd->format('Y-m-d'))
|
||||
->setParameter('deleted', 0)
|
||||
->orderBy("r.number","ASC")
|
||||
// ->setMaxResults(10)
|
||||
->getQuery()
|
||||
->getResult()
|
||||
;
|
||||
|
||||
// $this->countReport($reports);
|
||||
|
||||
return $reports;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function deleteAllByClient(Clients $client): void
|
||||
{
|
||||
$clientId = $client->getId();
|
||||
if ($clientId) {
|
||||
$db = $this->getEntityManager()->getConnection();
|
||||
$statement = $db->prepare("UPDATE reports SET is_delete = 1 WHERE client_id = :clientId");
|
||||
$statement->bindValue('clientId', $clientId);
|
||||
$statement->executeQuery();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function countReport(array $reports) : bool
|
||||
{
|
||||
$clientIds=[];
|
||||
foreach ($reports as $report) {
|
||||
$clientIds[] = $report->getClient()->getId();
|
||||
}
|
||||
|
||||
if (!count($clientIds)) {
|
||||
return false;
|
||||
}
|
||||
$findAllForClients = $this->createQueryBuilder('r')
|
||||
->where('r.isDelete = :deleted')
|
||||
->andWhere('r.client IN (:clients)')
|
||||
->setParameter('deleted', 0)
|
||||
->setParameter('clients', $clientIds)
|
||||
->orderBy('r.id', 'ASC')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
|
||||
$clientToReportId = [];
|
||||
if (!count($findAllForClients)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($findAllForClients as $item) {
|
||||
$clientToReportId[$item->getClient()->getId()][] = $item->getId();
|
||||
}
|
||||
|
||||
foreach ($reports as $report) {
|
||||
$id = $report->getId();
|
||||
$clientReports = $clientToReportId[$report->getClient()->getId()];
|
||||
for ($i = 0; $i < count($clientReports); $i++) {
|
||||
$tmp = $clientReports[$i];
|
||||
if ($tmp == $id) {
|
||||
$report->setNumberOfReport($i + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// public function findOneBySomeField($value): ?Reports
|
||||
// {
|
||||
// return $this->createQueryBuilder('r')
|
||||
// ->andWhere('r.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\ReportsTodo;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<ReportsTodo>
|
||||
*/
|
||||
class ReportsTodoRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, ReportsTodo::class);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return ReportsTodo[] Returns an array of ReportsTodo objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('r')
|
||||
// ->andWhere('r.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('r.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?ReportsTodo
|
||||
// {
|
||||
// return $this->createQueryBuilder('r')
|
||||
// ->andWhere('r.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Schedule;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Schedule>
|
||||
*/
|
||||
class ScheduleRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, Schedule::class);
|
||||
}
|
||||
|
||||
public function findAllOverdue()
|
||||
{
|
||||
$dateEnd = new \DateTime("now");
|
||||
$reports = $this->createQueryBuilder('s')
|
||||
->where('s.isDone = :isDone')
|
||||
->andWhere('s.dateEnd < :dateEnd')
|
||||
// ->andWhere('s.isDelete = :isDelete')
|
||||
->setParameter('isDone', 0)
|
||||
// ->setParameter('isDelete', 0)
|
||||
->setParameter('dateEnd', $dateEnd)
|
||||
->getQuery()
|
||||
->getResult();
|
||||
|
||||
return $reports;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Schedule[] Returns an array of Schedule objects
|
||||
*/
|
||||
public function findAllCurrent(): array
|
||||
{
|
||||
$date = new \DateTime();
|
||||
$dateStart = clone $date;
|
||||
$dateStart->modify("-15 days");
|
||||
$dateEnd = clone $date;
|
||||
$dateEnd->modify("+30 days");
|
||||
return $this->createQueryBuilder('r')
|
||||
->where('r.dateEnd >= :dateStart')
|
||||
->andWhere('r.dateEnd <= :dateEnd')
|
||||
->andWhere('r.isDone = :isDone')
|
||||
// ->andWhere('r.isDelete = :deleted')
|
||||
->setParameter('dateStart', $dateStart->format('Y-m-d'))
|
||||
->setParameter('dateEnd', $dateEnd->format('Y-m-d'))
|
||||
->setParameter('isDone', 0)
|
||||
// ->setParameter('deleted', 0)
|
||||
// ->setMaxResults(10)
|
||||
->orderBy('r.dateEnd', 'ASC')
|
||||
->getQuery()
|
||||
->getResult()
|
||||
;
|
||||
}
|
||||
// /**
|
||||
// * @return Schedule[] Returns an array of Schedule objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('s')
|
||||
// ->andWhere('s.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('s.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?Schedule
|
||||
// {
|
||||
// return $this->createQueryBuilder('s')
|
||||
// ->andWhere('s.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\TestEntity;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<TestEntity>
|
||||
*/
|
||||
class TestEntityRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, TestEntity::class);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return TestEntity[] Returns an array of TestEntity objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('t')
|
||||
// ->andWhere('t.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('t.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?TestEntity
|
||||
// {
|
||||
// return $this->createQueryBuilder('t')
|
||||
// ->andWhere('t.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\User;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
|
||||
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
|
||||
use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<User>
|
||||
*/
|
||||
class UserRepository extends ServiceEntityRepository implements PasswordUpgraderInterface
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, User::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to upgrade (rehash) the user's password automatically over time.
|
||||
*/
|
||||
public function upgradePassword(PasswordAuthenticatedUserInterface $user, string $newHashedPassword): void
|
||||
{
|
||||
if (!$user instanceof User) {
|
||||
throw new UnsupportedUserException(sprintf('Instances of "%s" are not supported.', $user::class));
|
||||
}
|
||||
|
||||
$user->setPassword($newHashedPassword);
|
||||
$this->getEntityManager()->persist($user);
|
||||
$this->getEntityManager()->flush();
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return User[] Returns an array of User objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('u')
|
||||
// ->andWhere('u.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('u.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?User
|
||||
// {
|
||||
// return $this->createQueryBuilder('u')
|
||||
// ->andWhere('u.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user