コード例 #1
0
ファイル: WeeklySalesReport.php プロジェクト: phpsmith/IS4C
 public function fetch_report_data()
 {
     $date1 = $this->form->date1;
     $date2 = $this->form->date2;
     $dlog = DTransactionsModel::selectDlog($date1, $date2);
     $dbc = $this->connection;
     $dbc->selectDB($this->config->get('OP_DB'));
     $m = new MasterSuperDeptsModel($dbc);
     $m->superID(0);
     $dept_list = '?,';
     $args = array(0);
     foreach ($m->find() as $obj) {
         $dept_list .= '?,';
         $args[] = $obj->dept_ID();
     }
     $dept_list = substr($dept_list, 0, strlen($dept_list) - 1);
     $prep = $dbc->prepare('
         SELECT SUM(d.total) AS ttl
         FROM ' . $dlog . ' AS d
         WHERE d.department NOT IN (' . $dept_list . ')
             AND d.trans_type IN (\'I\',\'D\')
             AND d.tdate BETWEEN ? AND ?');
     $start = strtotime($date1);
     $end = strtotime($date2);
     $data = array();
     $i = 0;
     while ($start <= $end) {
         $d1 = date('Y-m-d 00:00:00', $start);
         $d2 = date('Y-m-d 23:59:59', mktime(0, 0, 0, date('n', $start), date('j', $start) + 6, date('Y', $start)));
         $record = array(date('Y-m-d', strtotime($d1)) . ' to ' . date('Y-m-d', strtotime($d2)));
         $week_args = array_merge($args, array($d1, $d2));
         $result = $dbc->execute($prep, $week_args);
         $row = $dbc->fetch_row($result);
         $record[] = sprintf('%.2f', $row['ttl']);
         $data[] = $record;
         $start = mktime(0, 0, 0, date('n', $start), date('j', $start) + 7, date('Y', $start));
     }
     return $data;
 }