質問 > 管理機能 > 売上集計の円グラフが表示されない場合がある |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Rights |
投稿日時: 2020/5/15 20:10
対応状況: −−−
|
一人前 登録日: 2019/3/12 居住地: 投稿: 99 |
Re: 売上集計の円グラフが表示されない場合がある その後の状況です。
今回手を加えたファイルは、 /data/class/pages/admin/total/LC_Page_Admin_Total.php /data/Smarty/templates/admin/total/index.tpl LC_Page_Admin_Total.php については、投稿した箇所以外にも変更を加えた部分があり、順を追ってみましたが、 lfGetWhereMember の前後でそれぞれ、$sdate と $edateの値を再指定してみると、前後で挙動が変わりました。 /** 商品別集計 **/ public function lfGetOrderProducts($type, $sdate, $edate) { $objQuery = SC_Query_Ex::getSingletonInstance(); /* ▼lfGetWhereMember 前に再度日付を指定するとグラフが表示▼ */ $sdate = '2019/1/7 0:0:0'; $sdate = '2019/1/7 11:59:59'; /* ▲lfGetWhereMember 前に再度日付を指定するとグラフが表示▲ */ list($where, $arrWhereVal) = $this->lfGetWhereMember('create_date', $sdate, $edate, $type); /* ▼lfGetWhereMember 後に再度日付を指定するとグラフが表示されない▼ */ $sdate = '2019/1/7 0:0:0'; $sdate = '2019/1/7 11:59:59'; /* ▲lfGetWhereMember 後に再度日付を指定するとグラフが表示されない▲ */ $where .= ' AND dtb_order.del_flg = 0 AND dtb_order.status <> ?'; $arrWhereVal[] = ORDER_CANCEL; $col = <<< __EOS__ product_id, product_code, product_name, SUM(quantity) AS products_count, COUNT(dtb_order_detail.order_id) AS order_count, price, (price * SUM(quantity)) AS total __EOS__; $from = 'dtb_order_detail JOIN dtb_order ON dtb_order_detail.order_id = dtb_order.order_id'; // FIXME グループを副問い合わせにして無駄な処理を減らす $objQuery->setGroupBy('product_id, product_name, product_code, price'); $objQuery->setOrder('total DESC'); $arrTotalResults = $objQuery->select($col, $from, $where, $arrWhereVal); $tpl_image = $this->lfGetGraphPie($arrTotalResults, 'product_name', 'products_' . $type, '(売上比率)', $sdate, $edate); return array($arrTotalResults, $tpl_image); } lfGetWhereMember で取得日付指定のWhere句生成部分を変更しています。 /** * @param string $col_date */ public function lfGetWhereMember($col_date, $sdate, $edate, $type, $col_member = 'customer_id') { $where = ''; // 取得日付の指定 if ($sdate != '') { if ($where != '') { $where.= ' AND '; } // 2020-05-14 Add Start //$sdate = date('Y/m/d H:i:s', strtotime($sdate)); // 2020-05-14 Add End $where.= " $col_date >= '". $sdate ."'"; } if ($edate != '') { if ($where != '') { $where.= ' AND '; } // 2020-05-14 Edit Start //$edate = date('Y/m/d H:i:s', strtotime($edate)); //$where.= " $col_date <= '" . $edate ."'"; $edate = date('Y/m/d', strtotime('1 day', strtotime($edate))); $where.= " $col_date < date('" . $edate ."')"; // 2020-05-14 Edit End } // 会員、非会員の判定 switch ($type) { // 全体 case 'all': break; case 'member': if ($where != '') { $where.= ' AND '; } $where.= " $col_member <> 0"; break; case 'nonmember': if ($where != '') { $where.= ' AND '; } $where.= " $col_member = 0"; break; default: break; } return array($where, array()); } 渡した値($sdate, $edate)と、再指定した値($sdate, $edate)を比較しても同じ内容でした。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
売上集計の円グラフが表示されない場合がある | Rights | 2020/5/14 21:56 |
Re: 売上集計の円グラフが表示されない場合がある | 468 | 2020/5/15 12:54 |
Re: 売上集計の円グラフが表示されない場合がある | Rights | 2020/5/15 13:35 |
» Re: 売上集計の円グラフが表示されない場合がある | Rights | 2020/5/15 20:10 |
Re: 売上集計の円グラフが表示されない場合がある | 468 | 2020/5/15 22:43 |
Re: 売上集計の円グラフが表示されない場合がある | Rights | 2020/5/18 17:46 |