バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > 受注管理で削除した注文が売上集計に反映される

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2011/3/18 12:32
対応状況: −−−
Re: 受注管理で削除した注文が売上集計に反映される
申し訳ございません。

30日間分バッチで集計させるには『execute_batch_daily.php』、『SC_Batch_Daily.php』のそれぞれどの部分を修正すれば宜しいのでしょうか?
Tanz
投稿日時: 2011/2/1 20:40
対応状況: −−−
新米
登録日: 2009/8/11
居住地:
投稿: 1
Re: 受注管理で削除した注文が売上集計に反映される
古いトピックスですが、後日同じところでハマる人のために。

glwd1120様のやり方ですと、集計テーブルのデータを毎回全部削除した上で
再度集計し直すことになるので、サーバ負荷と集計に時間がかかります。

要はこの問題はデフォルトでは「1日前」までの分しか、
リアルタイム集計では集計しなおさないことにあります。
(1月1日に注文->1月2日に集計処理->1月3日にキャンセル処理->1月4日に再度
集計処理、となった場合に1月1日分のキャンセル分を再度集計しないために、
発生します)

よって、
data/class/batch/SC_Batch_Daily.phpの130行目付近

function lfRealTimeDailyTotal($sdate, $edate) {

--snip--

// オーダー開始日より一日以上後に集計されている場合は集計しなおさない
if($order_time + 86400 < $create_time || $tmp_time > time()) {

--end--

この86400(=1日)を30日(=2592000)にしてやれば、
毎回30日前までの注文を集計しなおしますので、数日後にキャンセルとなった分も
集計に出てこなくなりますし、
またせっかく既に集計されている過去の集計データを削除することもないので、
負荷的にはマシになります。

ただそれでも注文の多いお店だとやはり負荷になるので、
ここはバッチモードで集計をするのがベストではないでしょうか。
そうすれば、管理画面の集計でイライラと画面の前で待つこともなくなりますし

バッチモードの動かし方は、
yuhei.kagaya様のブログが詳しいです。
(ここでのURLリンクは避けます。Google先生が教えてくれます。)

ただバッチモードでも前日分だけ集計、としてると同じことが発生しますので
私の場合は、これを30日間分バッチで集計させるようにしました。
glwd1120
投稿日時: 2010/7/6 18:02
対応状況: 解決済
半人前
登録日: 2009/7/1
居住地:
投稿: 11
Re: 受注管理で削除した注文が売上集計に反映される
2.4.3で同じ症状で困っていたので、下記の通り修正しました。


data/class/pages/admin/total/LC_Page_Admin_Total.phpの156行目付近に下記の4行を追加

$objQuery = new SC_Query();
$objQuery->delete("dtb_bat_order_daily");
$objQuery->delete("dtb_bat_order_daily_age");
$objQuery->delete("dtb_bat_order_daily_hour");


wadaxサーバーの共用サーバープラン
プロフェッショナル ビジネスのブロンズで
EC-CUBEを使っているのですが、
上記の修正をした所、集計の動作がかなり重くなりました。

でも、タイムオーバーにはならなかったので使える状態ではあります。
パフォーマンスの悪いサーバーを使用されている方はご注意ください。
che
投稿日時: 2010/2/24 10:58
対応状況: −−−
半人前
登録日: 2009/11/27
居住地:
投稿: 27
Re: 受注管理で削除した注文が売上集計に反映される
seasoft さん

ご返答ありがとうございます。

dtb_bat_order_daily
dtb_bat_order_daily_age
dtb_bat_order_daily_hour

をまるごと中身削除したらできました!

ありがとうございます。

seasoft
投稿日時: 2010/2/23 0:36
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: 受注管理で削除した注文が売上集計に反映される
DB に集計をキャッシュしているので、レコード削除で対応できると思います。(未確認)


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

che
投稿日時: 2010/2/19 17:48
対応状況: −−−
半人前
登録日: 2009/11/27
居住地:
投稿: 27
Re: 受注管理で削除した注文が売上集計に反映される
こちらの症状、
2.4.2および2.4.3でも確認しました。

確かに当日中の削除であれば大丈夫ですが、
前日以前の受注内容は削除しても集計に反映されてしまいますね。。。

誰か対応策わかりますでしょうか?
delsol
投稿日時: 2009/4/28 8:21
対応状況: −−−
半人前
登録日: 2008/7/24
居住地:
投稿: 23
Re: 受注管理で削除した注文が売上集計に反映される
こんにちは。
売上集計は翌日以降になると再集計対象にならないみたいです。
当日中に削除し、再集計すると売上集計からも削除されます。
2145
投稿日時: 2009/4/24 19:17
対応状況: −−−
新米
登録日: 2009/4/24
居住地:
投稿: 1
Re: 受注管理で削除した注文が売上集計に反映される
すみません、便乗ですが…
2.3.3でも同じ内容でひっかかってしまいました…

アドバイス頂けると、幸いです。
宜しくお願い致します。
betti
投稿日時: 2007/9/3 14:52
対応状況: −−−
半人前
登録日: 2007/5/21
居住地: Osaka
投稿: 21
Re: 受注管理で削除した注文が売上集計に反映される
引用:

	$sql.= "FROM dtb_order_detail WHERE order_id IN (SELECT order_id FROM dtb_order WHERE " . $where . " ) ";


""の位置が正しくなって、変数がちゃんと置き換えられるようになったんですね。

andで始まるwhere文が有効になるってのはよくわかりませんが。

ここのステップもテストしてないか、あるいは甘いテストだったか、どちらかですな。
ryo
投稿日時: 2007/9/1 15:56
対応状況: −−−
一人前
登録日: 2007/7/26
居住地: 関西
投稿: 86
Re: 受注管理で削除した注文が売上集計に反映される
というか、よくみたら、WHERE句のすぐ後の条件のくせに「and 〜」から始まっているので、SQL文エラーが出ていたのかも!?

でも、変数の外に出したら、正常に動いているのはナゼ?w


----------------
/* Ryo from KANSAI */
まいどっ!

(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は75,051名です
総投稿数は104,353件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2085
6
yuh
1664
7
red
1535
8
h_tanaka
1189
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437
Copyright© EC-CUBE CO.,LTD. All Rights Reserved.