Esempio n. 1
0
    if ($cnt != 0) {
        $stmt = $db->prepare($sel_sql);
        $stmt->execute($params);
        foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
            $file_id = $row['file_id'];
            $div = 'upd';
        }
    }
}
// 更新の場合
if ($div == 'upd') {
    // 更新可否の判断。
    // 以下の条件でレコードがある場合、古いデータとして扱い更新しない。
    //   1. リクエスト送信時刻がレコードの値以上
    //   2. リクエスト送信時刻が同じ、かつリクエストの通し番号がレコードの値以上。
    $sel_sql = getSQLBaseForFileList();
    $sel_sql .= " AND file.file_id = :file_id AND ( file.request_time > :request_time OR ( file.request_time = :request_time AND file.seq_no >= :seq_no ))";
    $sql = "SELECT count(*) cnt FROM ({$sel_sql}) as tmp";
    $params = array();
    $params[':file_id'] = $file_id;
    $params[':request_time'] = $request_time;
    $params[':seq_no'] = $seq_no;
    $stmt = $db->prepare($sql);
    $stmt->execute($params);
    $cnt = 0;
    foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
        $cnt = (int) $row['cnt'];
    }
    // flie テーブルにレコードがある場合は、リクエストが古いので破棄する。
    if ($cnt != 0) {
        $db->beginTransaction();
Esempio n. 2
0
// parameters 取得
// ---------------------------
$grp_id = \Sop\Session::getSiteData('grp_id');
$user_id = \Sop\Session::getSiteData('user_id');
$div = array_key_exists('div', $_REQUEST) ? $_REQUEST['div'] : '';
$smpl_given_no = array_key_exists('smpl_given_no', $_REQUEST) ? $_REQUEST['smpl_given_no'] : '';
$pj_id = array_key_exists('pj_id', $_REQUEST) ? $_REQUEST['pj_id'] : '';
$sop_id = array_key_exists('sop_id', $_REQUEST) ? $_REQUEST['sop_id'] : '';
$tpl_id = array_key_exists('tpl_id', $_REQUEST) ? $_REQUEST['tpl_id'] : '';
$schema_id = array_key_exists('schema_id', $_REQUEST) ? $_REQUEST['schema_id'] : '';
$schema_type = array_key_exists('schema_type', $_REQUEST) ? $_REQUEST['schema_type'] : '';
$file_id = array_key_exists('file_id', $_REQUEST) ? $_REQUEST['file_id'] : '';
// file_idが指定されていない場合はその他の情報から補間する
// (初回入力時にはfile_idが空の場合がある)
if (!$file_id) {
    $file = R::getRow(getSQLBaseForFileList() . ' AND file.pj_id         = ?' . ' AND file.sop_id        = ?' . ' AND file.tpl_id        = ?' . ' AND file.schema_id     = ?' . ' AND file.schema_type   = ?' . ' AND file.smpl_given_no = ?', array($pj_id, $sop_id, $tpl_id, $schema_id, $schema_type, $smpl_given_no));
    $file_id = $file['file_id'];
}
// ---------------------------
// HTML 作成
// ---------------------------
$html_list = array();
// --- schema 取得
$sql = getSQLBaseForSchemaList();
$sql .= " AND schema.schema_id = :schema_id";
$params = array();
$params[':schema_id'] = $schema_id;
$stmt = $db->prepare($sql);
$stmt->execute($params);
$schema = null;
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {