Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.59 KB | None | 0 0
  1.  /**
  2.      * @Route("/filialstat")
  3.      */
  4.     public function filialstat(Request $request)
  5.     {
  6.         ini_set('display_errors', 1);
  7.         ini_set('display_startup_errors', 1);
  8.         error_reporting(E_ALL);
  9.         ini_set('max_execution_time', 9000);
  10.         ini_set('memory_limit', '4096M');
  11.         $apcu = new ApcuCache();
  12.         $beginDate = 1543611600;
  13.         $endDate = time();
  14.         $products = $this->productRepository->createQueryBuilder('p')
  15.             ->select('p.id, p.category_id')->getQuery()->getArrayResult();
  16.         $productArr = [];
  17.         foreach ($products as $product) {
  18.             $productArr[$product['id']] = $product['category_id'];
  19.         }
  20.  
  21.         $orderStatusesArray = [];
  22.         $orderStatuses = $this->em->getRepository(OrderStatus::class)->findAll();
  23.         foreach ($orderStatuses as $orderStatus) {
  24.             $orderStatusesArray[$orderStatus->getId()] = $orderStatus->getName();
  25.         }
  26.  
  27.         if ($apcu->contains('statorderlist3')) {
  28.             $orders = $apcu->fetch('statorderlist3');
  29.         } else {
  30.             $orders = $this->orderRepository->createQueryBuilder('o')
  31.                 ->where('o.date > :begin')
  32.                 ->andWhere('o.date < :end')
  33.                 ->andWhere('o.statusIndex = 4')
  34.                 ->setParameter('begin', $beginDate)
  35.                 ->setParameter('end', $endDate)
  36.                 ->orderBy('o.date', 'ASC')
  37.                 ->getQuery()->getResult();
  38.             $apcu->save('statorderlist3', $orders, 7200);
  39.         }
  40.         $filials = [
  41.             1016 => 'Воронеж',
  42.             1017 => 'Краснодар',
  43.             1018 => 'Курск',
  44.             1019 => 'Липецк',
  45.             1020 => 'Тверь',
  46.             1021 => 'Тула'
  47.         ];
  48.  
  49.         $steklo = 5835;
  50.         $firmtest = 5894;
  51.  
  52.         $result = [];
  53.         /** @var Order $order */
  54.         foreach ($orders as $order) {
  55.             $deserialized = $order->getOrders();
  56.             if (isset($deserialized) && !empty($deserialized)) {
  57.                 $deliveryId = $deserialized['Person']['dostavka_metod'] ?? null;
  58.                 $cart = $deserialized['Cart']['cart'] ?? null;
  59.                 if (isset($deliveryId) && isset($filials[$deliveryId])) {
  60.                     //dump($filials[$deliveryId]);
  61.                     if (!isset($result[$filials[$deliveryId]]['total'])) {
  62.                         $result[$filials[$deliveryId]]['total'] = 1;
  63.                     } else {
  64.                         $result[$filials[$deliveryId]]['total']++;
  65.                     }
  66.  
  67.                     if (isset($cart) && is_array($cart)) {
  68.                         $ids = array_column($cart, 'id');
  69.                         if (in_array($steklo, $ids)) {
  70.                             if (!isset($result[$filials[$deliveryId]]['steklo'])) {
  71.                                 $result[$filials[$deliveryId]]['steklo'] = 1;
  72.                             } else {
  73.                                 $result[$filials[$deliveryId]]['steklo']++;
  74.                             }
  75.                         }
  76.  
  77.                         if (in_array($firmtest, $ids)) {
  78.                             if (!isset($result[$filials[$deliveryId]]['firmtest'])) {
  79.                                 $result[$filials[$deliveryId]]['firmtest'] = 1;
  80.                             } else {
  81.                                 $result[$filials[$deliveryId]]['firmtest']++;
  82.                             }
  83.                         }
  84.                     }
  85.                 } else {
  86.                 }
  87.             }
  88.         }
  89.         dump($result);
  90.         die();
  91.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement