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)); } }
/** * カテゴリ変更時の移動処理を行う. * * ※この関数って、どこからも呼ばれていないのでは?? * * @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); }
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(); // トランザクションの終了 }
/** * カテゴリ変更時の移動処理を行う. * * @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); }