* @author yuji TAKAHASHI */ /* createTransID 戻り値:二重処理ではない True 二重処理 False */ function createTransID($length = 10) { mt_srand((double)microtime() * 1000000); $possible = "abcdefghijklmnopqrstuvwxyz"; $str = ""; while (strlen($str) < $length) { $str .= substr($possible, mt_rand(0, strlen($possible) - 1), 1); } return $str; } /* checkTransID 二重処理チェック 引数: $trans_id 戻り値:二重処理ではない True 二重処理 False */ function checkTransID($trans_id,$conn,$dbSqlObj,$dbExecObj) { global $PHP_AUTH_USER; if (!$trans_id) { return True; } $strSql = $dbSqlObj->selectTransactionWithIDandEmpCD($trans_id,$PHP_AUTH_USER); $result = $dbExecObj->exeSql($conn,$strSql); if (!$result) { echo "データベースに障害が発生しました。\n"; exit; } $count = $dbExecObj->getResult($result, 0, "count_of_records"); return ($count <= 0) ? True : False; } /* writeTransID trans_idの書き込み 引数: $trans_id 戻り値:なし */ function writeTransID($trans_id,$conn,$dbSqlObj,$dbExecObj) { global $PHP_AUTH_USER; if (!$trans_id) { echo "不正な処理です。\n"; exit; } $strSql = $dbSqlObj->selectTransactionWithPhpAuthUser($PHP_AUTH_USER); $result = $dbExecObj->exeSql($conn,$strSql); if (!$result) { echo "データベースに障害が発生しました。\n"; exit; } $count = $dbExecObj->getResult($result, 0, "count_of_records"); if ($count <= 0) { $strSql = $dbSqlObj->insertTransactionWithPhpAuthUserAndID($PHP_AUTH_USER,$trans_id); $result = $dbExecObj->exeSql($conn,$strSql); } else { $strSql = $dbSqlObj->updateTransactionWithPhpAuthUserAndID($trans_id,$PHP_AUTH_USER); $result = $dbExecObj->exeSql($conn,$strSql); } if (!$result) { echo "データベースに障害が発生しました。\n"; exit; } } ?>