Advertisement
AndreyKlipikov

Generic graphics

Jun 10th, 2014
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.50 KB | None | 0 0
  1.         $dates = Array();
  2.         $count = -1;
  3.         $last_date = -1;
  4.        
  5.         $criteria = new CDbCriteria;
  6.         $criteria->addBetweenCondition('date', date('Y-m-d', mktime(0, 0, 0, date("m") + 1, 1, date("Y") - 1)), date('Y-m-d'));
  7.         $last_orders = Orders::model()->findAll($criteria);
  8.         $orders_stats = Array();
  9.        
  10.         foreach($last_orders as $item) {
  11.             $this_date = substr($item->date, 0, 7);
  12.            
  13.             if ($last_date == -1 || $this_date != $last_date) {
  14.                 $last_date = $this_date;
  15.                 $dates[++$count] = $this_date;
  16.                 $orders_stats[$count]++;
  17.             } else {
  18.                 $orders_stats[$count]++;
  19.             }
  20.         }
  21.        
  22.         $criteria = new CDbCriteria;
  23.         $criteria->addBetweenCondition('date', mktime(0, 0, 0, date("m") + 1, 1, date("Y") - 1), time());
  24.         $last_phones = OrderPhone::model()->findAll($criteria);
  25.         $phones_stats = Array();
  26.         $count = -1;
  27.        
  28.         foreach($last_phones as $item) {
  29.             $this_date = date('Y-m', $item->date);
  30.            
  31.             if (array_search($this_date, $dates) !== false) {
  32.                 $phones_stats[array_search($this_date, $dates)]++;
  33.             }
  34.         }
  35.        
  36.         $stats = "";
  37.         for($i = 0; $i < count($dates); $i++)
  38.             $stats .= "\t\t{d: '" . $dates[$i] . "', phones: " . $phones_stats[$i] . ", orders: " . $orders_stats[$i] . "}," . PHP_EOL;
  39.        
  40.         $managers_list = Managers::model()->findAll();
  41.         $managers = array();
  42.        
  43.         foreach($managers_list as $item)
  44.             $managers[$item->id] = array($item->id, $item->username, $item->family, $item->name, $item->otch);
  45.        
  46.         $managers_orders = Orders::model()->findAll();
  47.         $managers_orders_stats = array();
  48.        
  49.         foreach($managers_orders as $item)
  50.         {
  51.             if ($item->manager_id > 0)
  52.             {
  53.                 $managers_orders_stats[$item->manager_id]++;
  54.             }
  55.         }
  56.        
  57.         $managers_phones = OrderPhone::model()->findAll();
  58.         $managers_phones_stats = array();
  59.        
  60.         foreach($managers_phones as $item)
  61.         {
  62.             if ($item->manager_id > 0)
  63.             {
  64.                 $managers_phones_stats[$item->manager_id]++;
  65.             }
  66.         }
  67.        
  68.         $managers_all = "";
  69.         foreach($managers as $item)
  70.         {
  71.             $this_phones = isset($managers_phones_stats[$item[0]]) ? $managers_phones_stats[$item[0]] : 0;
  72.             $this_orders = isset($managers_orders_stats[$item[0]]) ? $managers_orders_stats[$item[0]] : 0;
  73.            
  74.             if ($this_phones > 0 || $this_orders > 0)
  75.                 $managers_all .= "\t\t{d: '" . $item[2] . " " . mb_substr($item[3], 0, 1, 'utf-8') . ". " . mb_substr($item[4], 0, 1, 'utf-8') . ".', phones: " . $this_phones . ", orders: " . $this_orders . "}," . PHP_EOL;
  76.         }
  77.        
  78.        
  79.         $this->render('index', array(
  80.             'stats'=>$stats,
  81.             'managers_all'=>$managers_all,
  82.         ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement