質問 > 管理機能 > CSV出力後、ステータスを自動更新したいのですが。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
lvsa |
投稿日時: 2009/10/6 15:09
対応状況: −−−
|
一人前 登録日: 2009/10/6 居住地: 投稿: 104 |
CSV出力後、ステータスを自動更新したいのですが。 初めて投稿させていただきます。
現在、CSV出力を「高度な設定」にて行っており、 「高度な設定」にて出力されたデータの対応状況のステータスを 自動的に更新する処理を組み込みたいと考えております。 どなたかこのようなカスタマイズをされた方いらっしゃいませんか? お力添えのほどよろしくお願いいたします。 |
seasoft |
投稿日時: 2009/10/6 15:23
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: CSV出力後、ステータスを自動更新したいのですが。 更新するのは、DB 側ですか? CSV 側ですか?
また、環境情報を書いておくと良いかと思います。 http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8 をご一読いただくと宜しいかと思います。
|
lvsa |
投稿日時: 2009/10/6 17:05
対応状況: −−−
|
一人前 登録日: 2009/10/6 居住地: 投稿: 104 |
Re: CSV出力後、ステータスを自動更新したいのですが。 seasoft様
返信ありがとうございます。 情報不足で申し訳ありません。 >更新するのは、DB 側ですか? CSV 側ですか? DB側です。 受注テーブルのstatusのカラムを直接UPDATEしようと考えて おります。 なお、開発環境は以下になります。 [EC-CUBE] 2.4.1 [PHP] PHP 5.1.6 [データベース] PostgreSQL8.1.11 [WEBサーバ] apache2.2.3 [ブラウザ] IE6,IE7 です。 |
seasoft |
投稿日時: 2009/10/6 17:27
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: CSV出力後、ステータスを自動更新したいのですが。 実際に試したことはありませんが、WHERE 条件をそろえて、UPDATE するロジックの追加で実現可能だとは思います。
|
lvsa |
投稿日時: 2009/10/6 18:00
対応状況: −−−
|
一人前 登録日: 2009/10/6 居住地: 投稿: 104 |
Re: CSV出力後、ステータスを自動更新したいのですが。 seasoft様
返信ありがとうございます。 >WHERE 条件をそろえて、UPDATE するロジックの追加で実現可能だとは思います。 どのタイミングでUPDATEさせるかですが、CSV出力ボタンが押下されたタイミングで、 UPDATE文を走らせることは可能でしょうか? 現在検討しているのは、LC_Page_Admin_Contents_CsvSql.php内のcase "csv_output":の箇所で、 CSV出力後にSC_Queryのupdate()を使用してステータスの更新を検討していますが、アドバイスいただけないでしょうか? |
asayama |
投稿日時: 2009/10/6 18:14
対応状況: −−−
|
一人前 登録日: 2008/1/9 居住地: 東京都品川区 投稿: 150 |
Re: CSV出力後、ステータスを自動更新したいのですが。 横レスですが、、、
中間的なステータスにupdateしておいて、それから中間的なステータスというのも条件に加えてDLして、その後、目的のステータスに変更するようなロジックが必要でしょうね。 そうじゃないと、タイミングによってはDLモレが発生する可能性がありますよね。
|
seasoft |
投稿日時: 2009/10/6 18:49
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: CSV出力後、ステータスを自動更新したいのですが。 > どのタイミングでUPDATEさせるかですが、CSV出力ボタンが押下されたタイミングで、
> UPDATE文を走らせることは可能でしょうか? > > 現在検討しているのは、LC_Page_Admin_Contents_CsvSql.php内のcase "csv_output":の箇所で、 > CSV出力後にSC_Queryのupdate()を使用してステータスの更新を検討していますが、アドバイスいただけないでしょうか? その流れで、概ね問題ないかと思います。 厳密なタイミングを気にされる場合ですと、抽出条件によっては、分離レベルの高いトランザクションで処理する必要があるかもしれません。
|
lvsa |
投稿日時: 2009/10/7 1:20
対応状況: −−−
|
一人前 登録日: 2009/10/6 居住地: 投稿: 104 |
Re: CSV出力後、ステータスを自動更新したいのですが。 asayama様
返信ありがとうございます。 アドバイスを参考にさせていただき、ロジック考えたいと思います。 また何かあればお力添えのほど、よろしくお願いいたします。 |
lvsa |
投稿日時: 2009/10/7 1:22
対応状況: −−−
|
一人前 登録日: 2009/10/6 居住地: 投稿: 104 |
Re: CSV出力後、ステータスを自動更新したいのですが。 seasoft様
何度も返信ありがとうございます。 > 現在検討しているのは、LC_Page_Admin_Contents_CsvSql.php内のcase "csv_output":の箇所で、 > CSV出力後にSC_Queryのupdate()を使用してステータスの更新を検討していますが、アドバイスいただけないでしょうか? とりあえず上記手順にて実装してみます。 また困った時には、お力添えのほどよろしくお願いいたします。 |
lvsa |
投稿日時: 2009/10/7 12:13
対応状況: −−−
|
一人前 登録日: 2009/10/6 居住地: 投稿: 104 |
Re: CSV出力後、ステータスを自動更新したいのですが。 お世話になっております。
先日の方法を以下のようなロジックで試してみたのですが、 動いていないようです。 LC_Page_Admin_Contents_CsvSql.php内にメソッド追加。 function lfUpdateStatus($arrData = array()){ // インスタンス生成 $objQuery = new SC_Query(); // UPDATE文作成 $sql = "UPDATE "; $sql .= " dtb_order "; $sql .= "SET "; $sql .= " status = 7 "; $sql .= "WHERE "; $sql .= " order_id = ?"; // データの数だけUPDATE実行 foreach($arrData as $value){ $objQuery->query($sql, $value); } } case "csv_output":の箇所の // CSV出力 SC_Utils_Ex::sfCSVDownload($header.$data);の後に以下の処理追加 // order_id取得 $order_id = $arrCsvData['order_id']; // 受注ステータス更新 $this->lfUpdateStatus($order_id); ステータスも変更されませんし、エラーなども起きていません。 また、DEBUG_MODEをtrueにしているにも関わらず、 SC_Utils::sfPrintR( $order_id );が使用できないようです。 (デバッグが動いていない状態です。) site.logも生成されないみたいなのですが、 なにか設定が間違っているのでしょうか・・? アドバイスよろしくお願いいたします。 |
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |