質問 > 管理機能 > 売り上げ集計で、データ削除したものまで集計されてしまう。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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
|
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でした。 でも、受注削除、売り上げ集計をする者が別なので、 できればデータ削除されたら、当日中じゃなくても 集計されないようになった方がいいですね。。。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |