バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 売り上げ集計で、データ削除したものまで集計されてしまう。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
it3
投稿日時: 2010/3/1 10:32
対応状況: −−−
一人前
登録日: 2009/3/16
居住地:
投稿: 94
売り上げ集計で、データ削除したものまで集計されてしまう。
こんにちは。
いつも皆様にお世話になっております。

さっそくですが、売り上げ集計で不具合がありました。

受注管理で削除したデータが、売り上げ集計の時に
集計されてしまいます。
(※データ削除前に、ステータスを”キャンセル”にしていれば
集計されません。)

この不具合は、期間別、年代別での集計で起こります。
(もしかすると、他の集計でもあっていたかもしれませんが、
他の分は、先日非会員が集計されていなかったので修正した為か、
集計の不具合は見られません。)

それで、自分なりにソースを見て修正してみました。
これでデータ削除されたものは集計されなくなりました。
ですが、これで本当に良いのか心配で・・・。
ec-cube内にお詳しい皆様、チェック頂けないでしょうか?

class/batch/SC_Batch_Daily.php

/*** 修正したソース ↓ ”A1”が修正した箇所です。 ****/

function lfRealTimeDailyTotal($sdate, $edate) {
$pass = strtotime($edate) - strtotime($sdate);
$loop = intval($pass / 86400);

for($i = 0; $i <= $loop; $i++) {
$tmp_time = strtotime($sdate) + ($i * 86400);
$batch_date = date("Y/m/d H:i:s", $tmp_time);
$objQuery = new SC_Query();
$arrRet = $objQuery->select("order_date, create_date", "dtb_bat_order_daily", "order_date = ?", array($batch_date));
// すでにバッチ処理が終了しているかチェックする。
$count = count($arrRet);
if( $count > 0 ) {
list($create_date) = split("\.", $arrRet[0]['create_date']);
list($order_date) = split("\.", $arrRet[0]['order_date']);
$create_time = strtotime($create_date);
$order_time = strtotime($order_date);
// オーダー開始日より一日以上後に集計されている場合は集計しなおさない
if($order_time + 86400 < $create_time || $tmp_time > time()) {
GC_Utils_Ex::gfPrintLog("EXIT BATCH $batch_date $tmp_time" . " " . time());

/*-- ”A1” 
       ここに移動 ------*/

$this->lfBatOrderDaily($tmp_time);
$this->lfBatOrderDailyHour($tmp_time);
$this->lfBatOrderAge($tmp_time);

/*------------------------------*/

continue;
}
}
GC_Utils_Ex::gfPrintLog("LOADING BATCH $batch_date");

/* 元々ここにあったデータを ”A1”↑へ移動

$this->lfBatOrderDaily($tmp_time);
$this->lfBatOrderDailyHour($tmp_time);
$this->lfBatOrderAge($tmp_time);

      */

}
}


**********************************************
EC-CUBE 2.4.1
DBサーバ MySQL 5.1.36-community-log
WEBサーバ Apache
PHP     5.1.6




seasoft
投稿日時: 2010/3/1 10:37
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 売り上げ集計で、データ削除したものまで集計されてしまう。
下記は関係ありそうでしょうか?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1022&forum=9
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1245&forum=11


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

it3
投稿日時: 2010/3/1 11:26
対応状況: −−−
一人前
登録日: 2009/3/16
居住地:
投稿: 94
Re: 売り上げ集計で、データ削除したものまで集計されてしまう。
seasoftさん、ありがとうございます。
”関係あり”です。

修正前、投稿前と同じような内容が無いか調べてはいましたが、
リサーチ不足でした。

最終的に、ソースの修正をかけなくても

dtb_bat_order_daily
dtb_bat_order_daily_age
dtb_bat_order_daily_hour

の中身削除でOKでした。

でも、受注削除、売り上げ集計をする者が別なので、
できればデータ削除されたら、当日中じゃなくても
集計されないようになった方がいいですね。。。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,279名です
総投稿数は110,071件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1301
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.