app/Plugin/TeikiOrder42/EventSubscriber/Controller/Admin/OrderControllerSubscriber.php line 89

Open in your IDE?
  1. <?php
  2. namespace Plugin\TeikiOrder42\EventSubscriber\Controller\Admin;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Eccube\Common\EccubeConfig;
  5. use Eccube\Event\TemplateEvent;
  6. use Eccube\Event\EventArgs;
  7. use Eccube\Event\EccubeEvents;
  8. use Doctrine\ORM\EntityManagerInterface;
  9. use Plugin\TeikiOrder42\Entity\TeikiOrder;
  10. use Plugin\TeikiOrder42\Repository\TeikiOrderRepository;
  11. use Plugin\TeikiOrder42\Service\TeikiProductService;
  12. use Plugin\TeikiOrder42\Repository\Master\OrganizationRepository;
  13. use Plugin\TeikiOrder42\Repository\Master\ClaimTimesRepository;
  14. class OrderControllerSubscriber implements EventSubscriberInterface
  15. {
  16.     /**
  17.      * @var EntityManagerInterface
  18.      */
  19.     private $entityManager;
  20.     /**
  21.      * @var TeikiOrderRepository
  22.      */
  23.     private $teikiOrderRepository;
  24.     /**
  25.      * @var TeikiProductService
  26.      */
  27.     private $teikiProductService;
  28.     /**
  29.      * @var OrganizationRepository
  30.      */
  31.     private $organizationRepository;
  32.     /**
  33.      * @var ClaimTimesRepository
  34.      */
  35.     private $claimTimesRepository;
  36.     /**
  37.      * Event constructor.
  38.      * @param EntityManagerInterface $entityManager
  39.      * @param TeikiOrderRepository $teikiOrderRepository
  40.      * @param TeikiProductService $teikiProductService
  41.      * @param OrganizationRepository $organizationRepository
  42.      * @param ClaimTimesRepository $claimTimesRepository
  43.      */
  44.     public function __construct(
  45.         EntityManagerInterface $entityManager,
  46.         TeikiOrderRepository $teikiOrderRepository,
  47.         TeikiProductService $teikiProductService,
  48.         OrganizationRepository $organizationRepository,
  49.         ClaimTimesRepository $claimTimesRepository
  50.     ) {
  51.         $this->entityManager $entityManager;
  52.         $this->teikiOrderRepository $teikiOrderRepository;
  53.         $this->teikiProductService $teikiProductService;
  54.         $this->organizationRepository $organizationRepository;
  55.         $this->claimTimesRepository $claimTimesRepository;
  56.     }
  57.     /**
  58.      * @return array
  59.      */
  60.     public static function getSubscribedEvents()
  61.     {
  62.         return [
  63.             '@admin/Order/index.twig' => ['AdminOrderIndex'1],
  64.             EccubeEvents::ADMIN_ORDER_INDEX_SEARCH => 'AdminOrderIndexSearch',
  65.         ];
  66.     }
  67.     /**
  68.      * @param TemplateEvent $event
  69.      */
  70.     public function AdminOrderIndex(TemplateEvent $event)
  71.     {
  72.         $event->addSnippet('@TeikiOrder42/admin/Order/index.twig');
  73.     }
  74.     /**
  75.      * @param EventArgs $event
  76.      */
  77.     public function AdminOrderIndexSearch(EventArgs $event)
  78.     {
  79.         $qb $event->getArgument('qb');
  80.         $searchData $event->getArgument('searchData');
  81.         //if(
  82.         //    $searchData['Organization'] ||
  83.         //    count($searchData['claim_times']) > 0 ||
  84.         //    $searchData['search_claim_date'] ||
  85.         //    $searchData['search_shipping_date']
  86.         //) {
  87.         //    $qb->innerJoin('o.TeikiOrder', 'to1');
  88.         //}
  89. //
  90.         //if ($searchData['Organization']) {
  91.         //    $qb
  92.         //        ->andWhere('to1.Organization = :Organization')
  93.         //        ->setParameter('Organization', $searchData['Organization']);
  94.         //}
  95. //
  96.         //if(count($searchData['claim_times']) > 0){
  97.         //    $qb
  98.         //        ->andWhere($qb->expr()->in('to1.ClaimTimes', ':ClaimTimes'))
  99.         //        ->setParameter('ClaimTimes', $searchData['claim_times']);
  100.         //}
  101. //
  102.         //if($searchData['search_claim_date']) {
  103.         //    $base_month = $searchData['search_claim_date']->format('Y-m');
  104.         //    $end_claim_date = new \Datetime('first day of next month' . $base_month);
  105.         //    $start_claim_date = $searchData['search_claim_date'];
  106. //
  107.         //    $qb
  108.         //        ->andWhere('(to1.claim_date1 >= :start_date1 and to1.claim_date1 < :end_date1) or
  109.         //                    (to1.claim_date2 >= :start_date1 and to1.claim_date2 < :end_date1) or
  110.         //                    (to1.claim_date3 >= :start_date1 and to1.claim_date3 < :end_date1) or
  111.         //                    (to1.claim_date4 >= :start_date1 and to1.claim_date4 < :end_date1)')
  112.         //        ->setParameter('start_date1', $start_claim_date)
  113.         //        ->setParameter('end_date1', $end_claim_date);
  114. //
  115.         //}
  116.         //if ($searchData['search_shipping_date']) {
  117.         //    $search_shipping_date = $searchData['search_shipping_date']->format('Y-m');
  118.         //    $shipping_book = new \Datetime('+9 day' . $search_shipping_date);
  119.         //    $shipping_book = new \Datetime('-1 month' . $shipping_book->format('Y-m-d'));
  120. //
  121.         //    $qb
  122.         //        ->andWhere('to1.teiki_start_date <= :start_date2 and to1.teiki_end_date >= :end_date2')
  123.         //        ->setParameter('start_date2', $shipping_book)
  124.         //        ->setParameter('end_date2', $shipping_book);
  125.         //}
  126.     }
  127. }