バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > 【売上集計画面】月度集計表示時にエラー

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
asami
投稿日時: 2013/7/9 20:47
対応状況: −−−
半人前
登録日: 2009/8/5
居住地: 富山県
投稿: 20
【売上集計画面】月度集計表示時にエラー
私の使っているバージョンが古いのかも知れませんが、
月度集計表示時にエラーを吐いてしまいます。
エラーログ確認時に以下のエラーを吐いていました 

SQL: [SELECT to_char(create_date, 'YYYY-MM-DD') AS str_date,
COUNT(order_id) AS total_order,
SUM(CASE WHEN order_sex = 1 THEN 1 ELSE 0 END) AS men,
SUM(CASE WHEN order_sex = 2 THEN 1 ELSE 0 END) AS women,
SUM(CASE WHEN customer_id <> 0 AND order_sex = 1 THEN 1 ELSE 0 END) AS men_member,
SUM(CASE WHEN customer_id <> 0 AND order_sex = 2 THEN 1 ELSE 0 END) AS women_member,
SUM(CASE WHEN customer_id = 0 AND order_sex = 1 THEN 1 ELSE 0 END) AS men_nonmember,
SUM(CASE WHEN customer_id = 0 AND order_sex = 2 THEN 1 ELSE 0 END) AS women_nonmember,
SUM(total) AS total,
AVG(total) AS total_average FROM dtb_order WHERE create_date >= '2013/07/01 00:00:00' AND create_date < date('2013/08/01') AND del_flg = 0 AND status <> 3 GROUP BY str_date ORDER BY str_date ]
MDB2 Error: unknown error
prepare: [Error message: Unable to create prepared statement handle]
[Last executed query: DEALLOCATE PREPARE mdb2_statement_pgsql_4c672a4caed473d49eda21b27ba9fda01418979e9]
[Native message: ERROR: invalid input syntax for type date: "2013/07/01 00$1$2"]

検証環境
ECCUBE 2.12.4
サーバーOS:CentOS(クライアント指定のサーバーなのでバージョンわからず)
サクラの専鯖とのこと
DB:PostgreSQL 8.1.23
PHP:5.4.13

LC_Page_Admin_Total.phpのlfGetWhereMember関数にて
$where.= " $col_date >= '". $sdate ."'";
直接$sdateが入っているのを
$sdate = date('Y/m/d',strtotime($sdate));
$where.= " $col_date >= date('". $sdate ."')";
dateフォーマットにすることでエラーを回避できましたので、ご報告しておきます。
ZETA1
投稿日時: 2013/8/27 15:19
対応状況: −−−
半人前
登録日: 2013/2/1
居住地:
投稿: 15
Re: 【売上集計画面】月度で集計する、期間で集計する表示時にエラー
------------------------------------------------------
[EC-CUBE] 2.12.5正式版(1.3.2正式版>1.3.3正式版>1.3.4正式版>2.12.5正式版へアップデート)
[OS] CentOS Linux 5.9
[PHP] PHP 5.3.3
[データベース] PostgreSQL 9.2.4
[WEBサーバ] Apache バージョン 2.2.3
[ブラウザ] Internet Explorer 8
[現象] 売上集計→月度で集計する、売上集計→期間で集計する を行うとエラーログにエラーが出る。
------------------------------------------------------

こちらの方法も参考にしましたが、エラーが止まりません。
判られる方、ご教示頂けませんでしょうか?

月度で集計する。を押した時のエラーログ


2013/08/27 14:39:06 /admin/total/index.php Warning(E_WARNING): array_key_exists() expects parameter 2 to be array, null given on [/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(717)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/****/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/****/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(695): LC_Page_Admin_Total->lfAddBlankLine
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(717): array_key_exists

2013/08/27 14:39:06 /admin/total/index.php Warning(E_WARNING): Missing argument 4 for LC_Page_Admin_Total::lfGetWhereMember(), called in /var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php on line 653 and defined on [/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(455)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/****/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/****/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(653): LC_Page_Admin_Total->lfGetWhereMember
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(455): SC_Helper_HandleError::handle_warning

2013/08/27 14:39:06 /admin/total/index.php Warning(E_WARNING): Division by zero on [/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(784)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/****/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/****/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(698): LC_Page_Admin_Total->lfAddTotalLine
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(784): SC_Helper_HandleError::handle_warning


期間で集計する。を押した時のエラーログ

2013/08/27 14:42:26 /admin/total/index.php Warning(E_WARNING): array_key_exists() expects parameter 2 to be array, null given on [/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(717)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/****/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/****/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(695): LC_Page_Admin_Total->lfAddBlankLine
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(717): array_key_exists

2013/08/27 14:42:26 /admin/total/index.php Warning(E_WARNING): Missing argument 4 for LC_Page_Admin_Total::lfGetWhereMember(), called in /var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php on line 653 and defined on [/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(455)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/****/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/****/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(653): LC_Page_Admin_Total->lfGetWhereMember
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(455): SC_Helper_HandleError::handle_warning

2013/08/27 14:42:26 /admin/total/index.php Warning(E_WARNING): Division by zero on [/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(784)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/****/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/****/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(698): LC_Page_Admin_Total->lfAddTotalLine
/var/www/****/data/class/pages/admin/total/LC_Page_Admin_Total.php(784): SC_Helper_HandleError::handle_warning

宜しくお願い致します。

namahage
投稿日時: 2013/8/28 15:56
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 【売上集計画面】月度で集計する、期間で集計する表示時にエラー
ども

バグっぽいですね。
LC_Page_Admin_Total.phpのlfAddBlankLineにある
おそらく期間別集計のとき717行目の、$arrDateResultsがnullに
なるからだと思います


if (array_key_exists($date, $arrDateResults)) {



if (is_array($arrDateResults) && array_key_exists($date, $arrDateResults)) {

にすると、エラーは出なくなります。

しかし、このエラーが解決すると、別のエラーがでます。
同じく、LC_Page_Admin_Total.phpの653行目でコールしている
list($where, $arrWhereVal) = $this->lfGetWhereMember('create_date', $sdate, $edate);
の引数が足りないためです。

そちらは、
同じく、LC_Page_Admin_Total.phpの455行目の

function lfGetWhereMember($col_date, $sdate, $edate, $type, $col_member = 'customer_id') {



function lfGetWhereMember($col_date, $sdate, $edate, $type = 'all', $col_member = 'customer_id') {

でエラーが出なくなります。

ZETA1
投稿日時: 2013/8/28 18:22
対応状況: −−−
半人前
登録日: 2013/2/1
居住地:
投稿: 15
Re: 【売上集計画面】月度で集計する、期間で集計する表示時にエラー
namahage様

有難う御座います。
やはりバグでしょうか?

オリジナルの状態でインストールしたEC-CUBE2.12.5でも同様のエラーが出ていたものですから
バグかな?とも思っていたのですが・・

ご教授頂いた部分を修正し、確認した所
今度は、違うエラーが記録されるようになりました。
他にも修正が必要な部分が有りますでしょうか?


月度で集計する を押した時に出るエラーログ
2013/08/28 18:08:01 /admin/total/index.php Warning(E_WARNING): Division by zero on [/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(789)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/******/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/******/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(701): LC_Page_Admin_Total->lfAddTotalLine
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(789): SC_Helper_HandleError::handle_warning

期間で集計する を押した時に出るエラーログ
2013/08/28 18:08:40 /admin/total/index.php Warning(E_WARNING): Division by zero on [/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(789)] from ***.***.***.***
login_id = ******(0)[**********]
/var/www/******/public_html/admin/total/index.php(34): LC_Page_Admin_Total_Ex->process
/var/www/******/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php(56): LC_Page_Admin_Total->process
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(94): LC_Page_Admin_Total->action
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(139): call_user_func_array
(): LC_Page_Admin_Total->lfGetOrderTerm
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(701): LC_Page_Admin_Total->lfAddTotalLine
/var/www/******/data/class/pages/admin/total/LC_Page_Admin_Total.php(789): SC_Helper_HandleError::handle_warning
namahage
投稿日時: 2013/8/29 10:34
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 【売上集計画面】月度で集計する、期間で集計する表示時にエラー
月度で集計するボタンを押下の際に、何も売上データがない月間の場合に発生するようです。
こちらは、数字を0で割った時にでるエラーですね。

            // 平均値の計算
            $arrTotal['total_average'] = $arrTotal['total'] / $arrTotal['total_order'];



            // 平均値の計算
            if ($arrTotal['total'] > 0 && $arrTotal['total_order'] > 0) {
            	$arrTotal['total_average'] = $arrTotal['total'] / $arrTotal['total_order'];
            } else {
            	$arrTotal['total_average'] = 0;
            }
            
            $arrResults[] = $arrTotal;

に変更すれば回避できると思います。
ZETA1
投稿日時: 2013/8/29 11:34
対応状況: 解決済
半人前
登録日: 2013/2/1
居住地:
投稿: 15
Re: 【売上集計画面】月度で集計する、期間で集計する表示時にエラー
namahage 様

ご指導有難う御座いました。

修正した所、エラーが出なくなりました。

お忙しい所、判り易くご教授頂き、心より感謝致します。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1294
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.