質問 > 管理機能 > 売上集計の円グラフが表示されない場合がある |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Rights |
投稿日時: 2020/5/14 21:56
対応状況: 解決済
|
一人前 登録日: 2019/3/12 居住地: 投稿: 99 |
売上集計の円グラフが表示されない場合がある [EC-CUBE]2.13.5
売上集計の期間別集計で時分まで指定するようにカスタマイズしましたが、商品別集計の円グラフが表示されません。 集計結果の一覧は、検索条件の通り表示されます。 円グラフ出力に渡すデータ配列は、カスタマイズ前と後で比較してみましたが、同じデータを渡しています。 lfSetStartEndDateの開始日($sdate)と最終日($edate)の部分に、時分秒を加えるとグラフが出力されない場合があります。 例)2019年1月7日11時と16時に受注あり 2020年3月10日10時に受注あり ①2019/1/7 11:00~2019/1/7 12:00の条件指定 2019/1/7 11時の受注商品が一覧に表示、グラフは、「グラフ」のテキスト表示でグラフ表示されず ②2019/1/7 11:00~2020/3/10 11:00の条件指定 3件の受注商品が一覧に表示、グラフは、2020年3月の受注商品のみグラフに表示され、2019年受注商品はグラフに反映されず ※グラフに渡すデータと凡例の配列はカスタマイズ前と同じ内容を渡しています。 /* フォームで入力された日付を適切な形にする */ /** * @param SC_FormParam_Ex $objFormParam */ public function lfSetStartEndDate(&$objFormParam) { $arrRet = $objFormParam->getHashArray(); // 月度集計 if ($arrRet['search_form'] == 1) { list($sdate, $edate) = SC_Utils_Ex::sfTermMonth($arrRet['search_startyear_m'], $arrRet['search_startmonth_m'], CLOSE_DAY); // 期間集計 } elseif ($arrRet['search_form'] == 2) { /* 2020-05-14 Edit Start */ /*$sdate = SC_Utils_Ex::sfGetTimestampistime($arrRet['search_startyear'], $arrRet['search_startmonth'], $arrRet['search_startday'], $arrRet['search_starthour'], $arrRet['search_startmin']); $edate = SC_Utils_Ex::sfGetTimestampistime($arrRet['search_endyear'], $arrRet['search_endmonth'], $arrRet['search_endday'], $arrRet['search_endhour'], $arrRet['search_endmin'], true);*/ $sdate = $arrRet['search_startyear'] . '/' . $arrRet['search_startmonth'] . '/' . $arrRet['search_startday'] . ' ' . $arrRet['search_starthour'] . ':' . $arrRet['search_startmin'] . ':0'/* 2020-05-14 Add End*/; $edate = $arrRet['search_endyear'] . '/' . $arrRet['search_endmonth'] . '/' . $arrRet['search_endday'] . ' ' . $arrRet['search_endhour'] . ':' . $arrRet['search_endmin'] . ':59'/* 2020-05-14 Add End*/; //$sdate = $arrRet['search_startyear'] . '/' . $arrRet['search_startmonth'] . '/' . $arrRet['search_startday']; //$edate = $arrRet['search_endyear'] . '/' . $arrRet['search_endmonth'] . '/' . $arrRet['search_endday']; /* 2020-05-14 Edit End */ } return array($sdate, $edate); } // 円グラフの作成 /** * @param string $keyname * @param string $type */ public function lfGetGraphPie($arrResults, $keyname, $type, $title = '', $sdate = '', $edate = '') { $ret_path = ''; // 結果が0行以上ある場合のみグラフを生成する。 if (count($arrResults) > 0 && $this->install_GD) { // グラフの生成 $arrList = SC_Utils_Ex::sfArrKeyValue($arrResults, $keyname, 'total', GRAPH_PIE_MAX, GRAPH_LABEL_MAX); // 一時ファイル名の取得 $pngname = $this->lfGetGraphPng($type); $path = GRAPH_REALDIR . $pngname; $objGraphPie = new SC_Graph_Pie(); // データをセットする $objGraphPie->setData($arrList); // 凡例をセットする $objGraphPie->setLegend(array_keys($arrList)); // メインタイトル作成 // 2020-05-14 Edit Start $sy = date('Y', strtotime($sdate)); $sm = date('m', strtotime($sdate)); $sd = date('d', strtotime($sdate)); $st = date('H:i:s', strtotime($sdate)); $ey = date('Y', strtotime($edate)); $em = date('m', strtotime($edate)); $ed = date('d', strtotime($edate)); $et = date('H:i:s', strtotime($edate)); $start_date = $sy . '年' . $sm . '月' . $sd . '日 ' . $st; $end_date = $ey . '年' . $em . '月' . $ed . '日 ' . $et; /*list($sy, $sm, $sd) = preg_split('|[/ ]|', $sdate); list($ey, $em, $ed) = preg_split('|[/ ]|', $edate); $start_date = $sy . '年' . $sm . '月' . $sd . '日'; $end_date = $ey . '年' . $em . '月' . $ed . '日';*/ // 2020-05-14 Edit End $objGraphPie->drawTitle('集計期間:' . $start_date . ' - ' . $end_date); // 円グラフ描画 $objGraphPie->drawGraph(); // グラフの出力 if (DRAW_IMAGE) { $objGraphPie->outputGraph(); SC_Response_Ex::actionExit(); } // ファイルパスを返す $ret_path = GRAPH_URLPATH . $pngname; } return $ret_path; } |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 売上集計の円グラフが表示されない場合がある | 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 |