バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (47 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 54
h_tanaka もっと...

サイト内検索

質問 > 管理機能 > 売上集計で何時何分まで検索したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kyil
投稿日時: 2014/9/26 15:21
対応状況: −−−
半人前
登録日: 2014/9/16
居住地:
投稿: 14
売上集計で何時何分まで検索したい
ECキューブバージョン:2.13.2

過去フォーラムにありませんでしたのでご質問させて頂きます。

売上集計の期間範囲は標準ですと「年月日」となっていますが、これを「年月日時分」まで拡大して検索したいのです。
データベースのタイムスタンプから取っているとは思うのですが、どこをどう変えたらいいのでしょうか。

ご教授下さい。
宜しくお願いします。
kuro_r
投稿日時: 2014/9/26 18:32
対応状況: −−−
常連
登録日: 2014/8/7
居住地:
投稿: 32
Re: 売上集計で何時何分まで検索したい
kyil 様

テンプレート側とPHP側の変更が必要かと思います。

PHP側は、
data/class/pages/admin/total/LC_Page_Admin_Total.php
を参考に、
data/class/pages/admin/total/LC_Page_Admin_Total_EX.php
にカスタマイズを実装すればよいかと思います。

データベースにはデータとして時分まで持っていますので、
取得する条件設定部分を考慮してあげればいいだけかなと思います。

kyil
投稿日時: 2014/9/29 13:00
対応状況: −−−
半人前
登録日: 2014/9/16
居住地:
投稿: 14
Re: 売上集計で何時何分まで検索したい
kuro_r 様

ありがとうございます。
どのように記述すればよいのか…知識不足で
data/class/pages/admin/total/LC_Page_Admin_Total.php
↑に書き込むものと考えておりました。

$this->arrHour = $objDate->getHour();
$this->arrMinute = $objDate->getMinute();

のようにしてみたところ、エラーが出てしまいうまくいきませんでした。
よろしければ記述を教えて頂けないでしょうか?

宜しくお願い致します。
yuh
投稿日時: 2014/9/29 18:00
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 売上集計で何時何分まで検索したい
エラーログの表記をお願いします。
kyil
投稿日時: 2014/9/30 12:43
対応状況: −−−
半人前
登録日: 2014/9/16
居住地:
投稿: 14
Re: 売上集計で何時何分まで検索したい
返信ありがとうございます。

Fatal error(E_ERROR): Call to undefined method SC_Date_Ex::getMinute() on [/data/class/pages/admin/total/LC_Page_Admin_Total.php(63)]

$this->arrMinute = $objDate->getMinute();

上記は63行目です。
このように出ておりましたので、63行目をコメントアウトしたところ、エラーは出ないようになりました。

しかし、検索をかけた際に以下メッセージが出て検索できない状態です。

※ 期間(開始日)が入力されていません。
※ 期間(終了日)が入力されていません。


追加した項目は以下のとおりです。

public function init()内
// 登録・更新日検索用
$this->arrHour = $objDate->getHour();
//$this->arrMinute = $objDate->getMinute();

// 期間別集計のkey名
'search_starthour',
'search_startminute',
'search_endhour',
'search_endminute',

public function lfGetDateDefault()内
$hour = date('h');
$minute = date('i');

$list['starthour'] = $hour;
$list['startminute'] = $minute;
$list['endhour'] = $hour;
$list['endminute'] = $minute;

public function lfInitParam(&$objFormParam)内
$objFormParam->addParam('期間(開始日)', 'search_starthour', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), $arrList['starthour']);
$objFormParam->addParam('期間(開始日)', 'search_startminute', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), $arrList['startminute']);

$objFormParam->addParam('期間(終了日)', 'search_endhour', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), $arrList['endhour']);
$objFormParam->addParam('期間(終了日)', 'search_endminute', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), $arrList['endminute']);


public function lfCheckError(&$objFormParam)内
// 期間集計
if ($objFormParam->getValue('search_form') == 2) {
$objErr->doFunc(array('期間(開始日)', 'search_startyear', 'search_startmonth', 'search_startday', 'search_starthour', 'search_minute'), array('FULL_EXIST_CHECK'));
$objErr->doFunc(array('期間(終了日)', 'search_endyear', 'search_endmonth', 'search_endday', 'search_hour', 'search_minute'), array('FULL_EXIST_CHECK'));
$objErr->doFunc(array('期間(開始日)', 'search_startyear', 'search_startmonth', 'search_startday', 'search_starthour', 'search_startminute'), array('CHECK_DATE'));
$objErr->doFunc(array('期間(終了日)', 'search_endyear', 'search_endmonth', 'search_endday', 'search_endhour', 'search_endminute'), array('CHECK_DATE'));
$objErr->doFunc(array('期間(開始日)', '期間(終了日)', 'search_startyear', 'search_startmonth', 'search_startday', 'search_starthour', 'search_startminute', 'search_endyear', 'search_endmonth', 'search_endday', 'search_endhour', 'search_endminute'), array('CHECK_SET_TERM'));
}

/* 日付の初期値 */
public function lfGetDateInit()内
$search_starthour = $search_endhour = date('h');
$search_startminute = $search_endminute = date('i');


public function lfSetStartEndDate(&$objFormParam)内
// 期間集計
elseif ($arrRet['search_form'] == 2) {
$sdate = $arrRet['search_startyear'] . '/' . $arrRet['search_startmonth'] . '/' . $arrRet['search_startday'] . ' ' . $arrRet['search_starthour'] . ':' . $arrRet['search_startminute'];
$edate = $arrRet['search_endyear'] . '/' . $arrRet['search_endmonth'] . '/' . $arrRet['search_endday'] . ' ' . $arrRet['search_endhour'] . ':' . $arrRet['search_endminute'];
}

// グラフ用のPNGファイル名
public function lfGetGraphPng($keyname)内
if ($_POST['search_startyear_m'] != '') {
$pngname = sprintf('%s_%02d%02d.png', $keyname, substr($_POST['search_startyear_m'],2), $_POST['search_startmonth_m']);
} else {
$pngname = sprintf('%s_%02d%02d%02d_%02d%02d%02d.png', $keyname, substr($_POST['search_startyear'], 2), $_POST['search_startmonth'], $_POST['search_startday'], $_POST['search_starthour'], $_POST['search_startminute'], substr($_POST['search_endyear'],2), $_POST['search_endmonth'], $_POST['search_endday'], $_POST['search_endhour'], $_POST['search_endminute']);
}

return $pngname;


/** 期間別集計 **/
public function lfGetOrderTerm($type, $sdate, $edate)
switch ($type) {内

$xtitle = '(日別)';
$ytitle = '(売上合計)';
$format = '%Y-%m-%d-%h-%i';
$xincline = true;
break;

public function lfDateTimeArray($type, $st, $ed)内
case 'hour':
$format = 'H';
break;
case 'minute':
$format = 'I';
break;
default:
$format = 'Y-m-d h:i';
break;

以上です。
長くて見辛いですね、すみません。
yuh
投稿日時: 2014/10/2 15:34
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 売上集計で何時何分まで検索したい
$this->arrMinute = $objDate->getMinute();
ではなく
$this->arrMinute = $objDate->getMinutes();
ですね。

もしくは
$this->arrMinute = $objDate->getMinutesInterval();
だと思います。
kyil
投稿日時: 2014/10/6 16:48
対応状況: −−−
半人前
登録日: 2014/9/16
居住地:
投稿: 14
Re: 売上集計で何時何分まで検索したい
ご返信ありがとうございます。

該当箇所を変更したところ、エラーは出ませんでしたが期間別の集計が全く機能しなくなりました。
期間を選択して検索しても検索結果0件となります。

月度集計は動いております。

yuh
投稿日時: 2014/10/6 17:58
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 売上集計で何時何分まで検索したい
ではおそらくどこかで追加した値が引き継がれずに変なパラメータで検索を行っているはずなので、順番にどこまで値が引き継がれているのか、どこから引き継がれていないのかをチェックしてください。
kyil
投稿日時: 2014/10/8 19:56
対応状況: 保留
半人前
登録日: 2014/9/16
居住地:
投稿: 14
Re: 売上集計で何時何分まで検索したい
ありがとうございます。
どうやらスタート時間の時間、分が取得出来ていないようでした。
他と同様の記述をしているので原因がよくわかりませんが…
ひとつひとつ調べてみたいと思います。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,290名です
総投稿数は109,689件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.