目的
電話以外のスマートフォン操作に不慣れな現場担当者が、紙手簿より速く、迷わず、入力内容を確認しながら作業できることを検証します。本社担当部署へ操作方式を提案する試作品であり、正式採用時は会社作成アプリへ統合します。
共通UI原則
- 頻繁な操作は1タップまたはEnterで完了。
- 入力欄をキーボードに隠さず、連続入力中はテンキーを維持。
- 入力済みデータを常時一覧表示。
- 押せる要素を明確にし、操作結果を即時表示。
- 文字入力より選択、既定値、前回値、自動計算を優先。
- 削除確認と復元を用意し、誤操作でデータを失わせない。
- 入力は即時保存し、保存中・保存済み・保存失敗を表示。
- 完成条件を満たすまで完成出力を停止。
- オフライン利用を前提とし、案件データを外部へ送信しない。
モジュール
- 振動測定:5分測定、イベント、同分整理、Excel・JSON・Markdown出力。
- コンペネ:3点測定、平均、地耐力、区間平均、Excel報告用JSON。係数aは0.15~0.20、初期値0.17。
- ラム:現在の主な検証対象。下記詳細仕様。
- SWS:測定、土質、配置、レベル、柱状図、会社手簿を試作中。使用不可表示。
- 点検:既存Androidアプリの統合試作。使用不可表示。
ラム測定
概要・測点
- 概要番号11桁、調査日、天候、測定者を必須。
- 測点はS1、S2…の連番。
- テストモードで概要項目を自動入力。
入力と計算
- 深度は通常20cmずつ自動増加。
- NdmをEnterで記録し、入力位置とテンキーを維持。
- Nd = Ndm - 0.040 × Mv。
- Ndmが5を超える層はMv必須。Mvは未入力層へまとめて後入力可能。
- ロッド接続案内は手簿・完成条件に含めない。
- 最終層だけ1cm単位。Ndmの層厚換算は行わない。
- 前後に20cmを超える空きを許可しない。
修正・削除
- 深度、Ndm、Mvを同じ編集欄で修正。
- 途中行削除時は後続深度を20cm詰める。
- 削除直後は削除した1行だけ復元。新規入力・修正・測点切替後は古い復元を無効化。
- 入力済み測点は未使用点として保持し、出力から除外。
配置図
- PDF・画像を端末内で読み込み、測点とBMを配置。
- 2本指の中点を中心に拡大縮小、拡大後は1本指でパン。
- 測点・BMは長押し移動。2本指操作では点を落とさない。
- 測点倍率はスライダーで変更し、画面とPDFで同じ相対寸法。
レベル
- 読み値はmm整数。最初に既知点のBSを入力。
- FSを連続記録し、測定番号を配置図へ置く。
- レベル点名は測定順の数字で、地盤測点名とは別管理。
- 地盤測点をタップした場合は関連付ける。
- 据え変えは既知点を選びBSを入力。同一行にBS・FSを入れない。
- 与点差・閉合差が20mmを超えたら再測定。
- 削除点は番号を再利用せず欠番。PDF野帳では「2 欠番」、レベルExcelからは除外。復元可能。
出力
- 会社雛形のラム手簿Excel。測点ごとに1シート、入力値は青文字。
- 社内連携CSV:CP932、引用符付きタブ区切り、測点別。
- 一般CSV:UTF-8 BOM、カンマ区切り、1層1行、測点別。
- 位置図PDFとレベル野帳。
- 会社雛形のレベルExcel。欠番は除外。
- 復旧用JSON。
- 全出力ZIP。対応端末では共有画面を開き、使用者がSlack等を選択。非対応時はZIP保存。
保存・公開
- ラム案件はIndexedDB
ram-pwaのprojectsへ保存。 - スキーマは
ram-project-v1。既存データを破壊せず既定値を補う。 - Cloudflare Pagesには静的プログラムと汎用雛形だけを置く。
- アセット版と
sw.jsのキャッシュ版を同時更新。
主要ファイル
ram.js:状態、画面、入力、完成判定、ZIP共有。ram-export.js:ラムExcel、2種類のCSV、レベルExcel。field-common.js:配置図、レベル計算、PDF、レベルExcel。ram-ledger-template.xlsx、level-template.xlsm:会社雛形。DEVELOPMENT_HANDOFF.md:詳細な原本。
制約
- 提案・現場テスト用。正式な権限管理、監査ログ、サーバー同期、複数端末同期はない。
- 報告書Excel側のRAM CSV読込機能は将来実装。
- 共有先は端末の共有画面で使用者が選ぶ。Slackへ直接投稿しない。
- 正式採用時は会社アプリの認証、保存、更新、端末管理へ移植する。