function lfRegistData($payment_id = "")
 {
     $objQuery = new SC_Query();
     $sqlval = $this->objFormParam->getHashArray();
     $arrRet = $this->objUpFile->getDBFileList();
     // ファイル名の取得
     $sqlval = array_merge($sqlval, $arrRet);
     $sqlval['update_date'] = 'Now()';
     if ($sqlval['fix'] != '1') {
         $sqlval['fix'] = 2;
         // 自由設定
     }
     // 新規登録
     if ($payment_id == "") {
         // INSERTの実行
         $sqlval['creator_id'] = $_SESSION['member_id'];
         $sqlval['rank'] = $objQuery->max("dtb_payment", "rank") + 1;
         $sqlval['create_date'] = 'Now()';
         $objQuery->insert("dtb_payment", $sqlval);
         // 既存編集
     } else {
         $where = "payment_id = ?";
         $objQuery->update("dtb_payment", $sqlval, $where, array($payment_id));
     }
 }
Example #2
0
 /**
  * カテゴリ変更時の移動処理を行う.
  *
  * ※この関数って、どこからも呼ばれていないのでは??
  *
  * @param  SC_Query $objQuery  SC_Query インスタンス
  * @param  string   $table     テーブル名
  * @param  string   $id_name   ID名
  * @param  string   $cat_name  カテゴリ名
  * @param  integer  $old_catid 旧カテゴリID
  * @param  integer  $new_catid 新カテゴリID
  * @param  integer  $id        ID
  * @return void
  */
 public function sfMoveCatRank($objQuery, $table, $id_name, $cat_name, $old_catid, $new_catid, $id)
 {
     if ($old_catid == $new_catid) {
         return;
     }
     // 旧カテゴリでのランク削除処理
     // 移動レコードのランクを取得する。
     $sqlval = array();
     $where = "{$id_name} = ?";
     $rank = $objQuery->get('rank', $table, $where, array($id));
     // 削除レコードのランクより上のレコードを一つ下にずらす。
     $where = "rank > ? AND {$cat_name} = ?";
     $arrWhereVal = array($rank, $old_catid);
     $arrRawSql = array('rank' => '(rank - 1)');
     $objQuery->update($table, $sqlval, $where, $arrWhereVal, $arrRawSql);
     // 新カテゴリでの登録処理
     // 新カテゴリの最大ランクを取得する。
     $max_rank = $objQuery->max('rank', $table, "{$cat_name} = ?", array($new_catid)) + 1;
     $sqlval = array('rank' => $max_rank);
     $where = "{$id_name} = ?";
     $arrWhereVal = array($id);
     $objQuery->update($table, $sqlval, $where, $arrWhereVal);
 }
Example #3
0
 function lfStartDailyTotal($term, $start, $command = false)
 {
     $now_time = time();
     // グラフ画像の削除
     $path = GRAPH_DIR . "*.png";
     system("rm -rf {$path}");
     // 削除された受注データの受注詳細情報の削除
     $objQuery = new SC_Query();
     $where = "order_id IN (SELECT order_id FROM dtb_order WHERE del_flg = 1)";
     $objQuery->delete("dtb_order_detail", $where);
     // 最後に更新された日付を取得
     $ret = $objQuery->max("dtb_bat_order_daily", "create_date");
     list($batch_last) = split("\\.", $ret);
     $pass = $now_time - strtotime($batch_last);
     // 最後のバッチ実行からLOAD_BATCH_PASS秒経過していないと実行しない。
     if ($pass < LOAD_BATCH_PASS) {
         GC_Utils_Ex::gfPrintLog("LAST BATCH " . $arrRet[0]['create_date'] . " > " . $batch_pass . " -> EXIT BATCH {$batch_date}");
         return;
     }
     // 集計
     for ($i = $start; $i < $term; $i++) {
         // 基本時間から$i日分さかのぼる
         $tmp_time = $now_time - $i * 24 * 3600;
         $batch_date = date("Y/m/d", $tmp_time);
         GC_Utils_Ex::gfPrintLog("LOADING BATCH {$batch_date}");
         $this->lfBatOrderDaily($tmp_time);
         $this->lfBatOrderDailyHour($tmp_time);
         $this->lfBatOrderAge($tmp_time);
         // タイムアウトを防ぐ
         SC_Utils_Ex::sfFlush();
     }
 }
 function lfInsertClass()
 {
     $objQuery = new SC_Query();
     $objQuery->begin();
     // 親規格IDの存在チェック
     $where = "del_flg <> 1 AND class_id = ?";
     $ret = $objQuery->get("dtb_class", "class_id", $where, array($_POST['class_id']));
     if ($ret != "") {
         // INSERTする値を作成する。
         $sqlval['name'] = $_POST['name'];
         $sqlval['class_id'] = $_POST['class_id'];
         $sqlval['creator_id'] = $_SESSION['member_id'];
         $sqlval['rank'] = $objQuery->max("dtb_classcategory", "rank", $where, array($_POST['class_id'])) + 1;
         $sqlval['create_date'] = "now()";
         $sqlval['update_date'] = "now()";
         // INSERTの実行
         $ret = $objQuery->insert("dtb_classcategory", $sqlval);
     }
     $objQuery->commit();
     return $ret;
 }
 /**
  * カテゴリ登録を行う.
  *
  * @param SC_Query $objQuery SC_Queryインスタンス
  * @param string|integer $line 処理中の行数
  * @return void
  */
 function lfRegistProduct($objQuery, $line = "")
 {
     $objDb = new SC_Helper_DB_Ex();
     $arrRet = $this->objFormParam->getHashArray();
     //カテゴリID
     if ($arrRet['category_id'] == 0) {
         $category_id = $objQuery->max("dtb_category", "category_id") + 1;
         $sqlval['category_id'] = $category_id;
         $update = false;
     } else {
         $sqlval['category_id'] = $arrRet['category_id'];
         $update = true;
     }
     // カテゴリ名
     $sqlval['category_name'] = $arrRet['category_name'];
     // 親カテゴリID、レベル
     if ($arrRet['parent_category_id'] == 0) {
         $sqlval['parent_category_id'] = "0";
         $sqlval['level'] = 1;
     } else {
         $sqlval['parent_category_id'] = $arrRet['parent_category_id'];
         $parent_level = $objQuery->get("dtb_category", "level", "category_id = ?", array($sqlval['parent_category_id']));
         $sqlval['level'] = $parent_level + 1;
     }
     // その他
     $time = date("Y-m-d H:i:s");
     if ($line != "") {
         $microtime = sprintf("%06d", $line);
         $time .= ".{$microtime}";
     }
     $sqlval['update_date'] = $time;
     $sqlval['creator_id'] = $_SESSION['member_id'];
     // 更新
     if ($update) {
         echo "UPDATE ";
         $where = "category_id = ?";
         $objQuery->update("dtb_category", $sqlval, $where, array($sqlval['category_id']));
         // 新規登録
     } else {
         echo "INSERT ";
         $sqlval['create_date'] = $time;
         // ランク
         if ($sqlval['parent_category_id'] == 0) {
             // ROOT階層で最大のランクを取得する。
             $where = "parent_category_id = ?";
             $sqlval['rank'] = $objQuery->max("dtb_category", "rank", $where, array($sqlval['parent_category_id'])) + 1;
         } else {
             // 親のランクを自分のランクとする。
             $where = "category_id = ?";
             $sqlval['rank'] = $objQuery->get("dtb_category", "rank", $where, array($sqlval['parent_category_id']));
             // 追加レコードのランク以上のレコードを一つあげる。
             $sqlup = "UPDATE dtb_category SET rank = (rank + 1) WHERE rank >= ?";
             $objQuery->exec($sqlup, array($sqlval['rank']));
         }
         $objQuery->insert("dtb_category", $sqlval);
     }
 }
 function lfInsertCat($parent_category_id)
 {
     $objQuery = new SC_Query();
     $objQuery->begin();
     // トランザクションの開始
     if ($parent_category_id == 0) {
         // ROOT階層で最大のランクを取得する。
         $where = "parent_category_id = ?";
         $rank = $objQuery->max("dtb_category", "rank", $where, array($parent_category_id)) + 1;
     } else {
         // 親のランクを自分のランクとする。
         $where = "category_id = ?";
         $rank = $objQuery->get("dtb_category", "rank", $where, array($parent_category_id));
         // 追加レコードのランク以上のレコードを一つあげる。
         $sqlup = "UPDATE dtb_category SET rank = (rank + 1) WHERE rank >= ?";
         $objQuery->exec($sqlup, array($rank));
     }
     $where = "category_id = ?";
     // 自分のレベルを取得する(親のレベル + 1)
     $level = $objQuery->get("dtb_category", "level", $where, array($parent_category_id)) + 1;
     // 入力データを渡す。
     $sqlval = $this->objFormParam->getHashArray();
     $sqlval['create_date'] = "Now()";
     $sqlval['update_date'] = "Now()";
     $sqlval['creator_id'] = $_SESSION['member_id'];
     $sqlval['parent_category_id'] = $parent_category_id;
     $sqlval['rank'] = $rank;
     $sqlval['level'] = $level;
     // INSERTの実行
     $objQuery->insert("dtb_category", $sqlval);
     $objQuery->commit();
     // トランザクションの終了
 }
Example #7
0
 /**
  * カテゴリ変更時の移動処理を行う.
  *
  * @param SC_Query $objQuery SC_Query インスタンス
  * @param string $table テーブル名
  * @param string $id_name ID名
  * @param string $cat_name カテゴリ名
  * @param integer $old_catid 旧カテゴリID
  * @param integer $new_catid 新カテゴリID
  * @param integer $id ID
  * @return void
  */
 function sfMoveCatRank($objQuery, $table, $id_name, $cat_name, $old_catid, $new_catid, $id)
 {
     if ($old_catid == $new_catid) {
         return;
     }
     // 旧カテゴリでのランク削除処理
     // 移動レコードのランクを取得する。
     $where = "{$id_name} = ?";
     $rank = $objQuery->get('rank', $table, $where, array($id));
     // 削除レコードのランクより上のレコードを一つ下にずらす。
     $where = "rank > ? AND {$cat_name} = ?";
     $sqlup = "UPDATE {$table} SET rank = (rank - 1) WHERE {$where}";
     $objQuery->exec($sqlup, array($rank, $old_catid));
     // 新カテゴリでの登録処理
     // 新カテゴリの最大ランクを取得する。
     $max_rank = $objQuery->max('rank', $table, "{$cat_name} = ?", array($new_catid)) + 1;
     $where = "{$id_name} = ?";
     $sqlup = "UPDATE {$table} SET rank = ? WHERE {$where}";
     $objQuery->exec($sqlup, array($max_rank, $id));
 }
 function lfInsertClass($arrData)
 {
     $objQuery = new SC_Query();
     // INSERTする値を作成する。
     $sqlval['name'] = $arrData['name'];
     $sqlval['creator_id'] = $_SESSION['member_id'];
     $sqlval['rank'] = $objQuery->max("dtb_class", "rank") + 1;
     $sqlval['create_date'] = "now()";
     $sqlval['update_date'] = "now()";
     // INSERTの実行
     $ret = $objQuery->insert("dtb_class", $sqlval);
     return $ret;
 }
 /**
  * 配送情報を登録する
  *
  * @return $deliv_id 
  */
 function lfRegistData()
 {
     $arrRet = $this->objFormParam->getHashArray();
     $objQuery = new SC_Query();
     $objQuery->begin();
     // 入力データを渡す。
     $sqlval['name'] = $arrRet['name'];
     $sqlval['service_name'] = $arrRet['service_name'];
     $sqlval['confirm_url'] = $arrRet['confirm_url'];
     $sqlval['creator_id'] = $_SESSION['member_id'];
     $sqlval['update_date'] = 'Now()';
     // deliv_id が決まっていた場合
     if ($_POST['deliv_id'] != "") {
         $deliv_id = $_POST['deliv_id'];
         $where = "deliv_id = ?";
         $objQuery->update("dtb_deliv", $sqlval, $where, array($deliv_id));
         // 配送時間の登録
         $table = "dtb_delivtime";
         $where = "deliv_id = ? AND time_id = ?";
         for ($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
             $sqlval = array();
             $keyname = "deliv_time" . $cnt;
             $arrval = array($deliv_id, $cnt * $deliv_id);
             // 既存データの有無を確認
             $curData = $objQuery->select("*", $table, $where, $arrval);
             if (strcmp($arrRet[$keyname], "") != 0) {
                 $sqlval['deliv_time'] = $arrRet[$keyname];
                 // 入力が空ではなく、DBに情報があれば更新
                 if (count($curData)) {
                     $objQuery->update($table, $sqlval, $where, $arrval);
                 } else {
                     $sqlval['deliv_id'] = $deliv_id;
                     $sqlval['time_id'] = $cnt * $deliv_id;
                     $objQuery->insert($table, $sqlval);
                 }
             } else {
                 if (count($curData)) {
                     $objQuery->delete($table, $where, $arrval);
                 }
             }
         }
         // 配送料の登録
         if (INPUT_DELIV_FEE) {
             for ($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) {
                 $keyname = "fee" . $cnt;
                 if (strcmp($arrRet[$keyname], "") != 0) {
                     $sqlval = array('fee' => $arrRet[$keyname]);
                     $objQuery->update("dtb_delivfee", $sqlval, "deliv_id = ? AND pref = ?", array($deliv_id, $cnt));
                 }
             }
         }
     } else {
         // 登録する配送業者IDの取得
         if (DB_TYPE == "pgsql") {
             $deliv_id = $objQuery->nextval('dtb_deliv', 'deliv_id');
             $sqlval['deliv_id'] = $deliv_id;
         }
         $sqlval['rank'] = $objQuery->max("dtb_deliv", "rank") + 1;
         $sqlval['create_date'] = 'Now()';
         // INSERTの実行
         $objQuery->insert("dtb_deliv", $sqlval);
         if (DB_TYPE == "mysql") {
             $deliv_id = $objQuery->nextval('dtb_deliv', 'deliv_id');
         }
         $sqlval = array();
         // 配送時間の設定
         for ($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
             $keyname = "deliv_time{$cnt}";
             if ($arrRet[$keyname] != "") {
                 $sqlval['deliv_id'] = $deliv_id;
                 $sqlval['time_id'] = $cnt * $deliv_id;
                 $sqlval['deliv_time'] = $arrRet[$keyname];
                 // INSERTの実行
                 $objQuery->insert("dtb_delivtime", $sqlval);
             }
         }
         if (INPUT_DELIV_FEE) {
             $sqlval = array();
             // 配送料金の設定
             for ($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) {
                 $keyname = "fee{$cnt}";
                 if ($arrRet[$keyname] != "") {
                     $sqlval['deliv_id'] = $deliv_id;
                     $sqlval['fee'] = $arrRet[$keyname];
                     $sqlval['pref'] = $cnt;
                     // INSERTの実行
                     $objQuery->insert("dtb_delivfee", $sqlval);
                 }
             }
         }
     }
     $objQuery->commit();
     return $deliv_id;
 }
 /**
  * 入力された管理者データをInsertする.
  *
  * @param array 管理者データの連想配列
  * @return void
  */
 function insertMemberData($arrMemberData)
 {
     $objQuery = new SC_Query();
     // INSERTする値を作成する.
     $sqlVal = array();
     $sqlVal['name'] = $arrMemberData['name'];
     $sqlVal['department'] = $arrMemberData['department'];
     $sqlVal['login_id'] = $arrMemberData['login_id'];
     $sqlVal['password'] = sha1($arrMemberData['password'] . ':' . AUTH_MAGIC);
     $sqlVal['authority'] = $arrMemberData['authority'];
     $sqlVal['rank'] = $objQuery->max('dtb_member', 'rank') + 1;
     $sqlVal['work'] = '1';
     // 稼働に設定
     $sqlVal['del_flg'] = '0';
     // 削除フラグをOFFに設定
     $sqlVal['creator_id'] = $_SESSION['member_id'];
     $sqlVal['create_date'] = 'NOW()';
     $sqlVal['update_date'] = 'NOW()';
     // INSERTの実行
     $objQuery->insert('dtb_member', $sqlVal);
 }