プロジェクト

全般

プロフィール

機能追加・改修 #616

完了

docs: estimates(建設モジュール)との連携方式・タイミングを設計する

石井 伸一 さんが5日前に追加. 5日前に更新.

ステータス:
完了
優先度:
A
担当者:
開始日:
2026/07/29
期日:
進捗率:

0%

予定工数:

説明

  1. 1. User Story
    開発チームとして、`construction-estimate`の数量拾い結果を、既存の`estimates`(建設モジュール)へどう連携するかを具体的に決めたい。なぜなら見積書発行・顧客提示は`estimates`側の機能であり、連携方式が決まらないと実装に入れないから。
  1. 2. Background
    - 関連PRD: `docs/requirements/quantity-takeoff-concept.md`
    - 関連要件: `docs/requirements/functional-requirements.md`(FR6)、`docs/requirements/decisions/2026-07-22-estimates-integration.md`
    - 関連設計書: `estimates`側の `docs/requirements/api.md`(明細CRUD・構成テンプレート取込・再計算API)、`docs/requirements/data-model.md`(`estimate_items`スキーマ)
    - 現状の課題: construction-estimateはestimatesへ独立継続・データ連携する方針までは決定済みだが、連携方式(同期API/非同期ジョブ/エクスポート)・タイミング・認証/テナントの扱いが未定
    - 先行Issue/依存関係: なし
  1. 3. Scope
    - 連携方式(`estimates`のAPI直接呼び出し/非同期ジョブ/手動エクスポート・インポート)を判断する
    - 連携タイミング(数量拾い確定の都度か、担当者が明示的に連携操作をした時か)を判断する
    - 認証・テナント(`estimates`は`tenant_id`を持つマルチテナント)をどう連携するかを判断する
    - 単価マスター(construction-estimate側FR5)と`estimates`が将来構想として持つ単価マスタとの重複・正本を整理する
  1. 4. Out of Scope
    - `estimates`側のAPI実装変更(必要が生じた場合は`estimates`リポジトリ側で別途扱う)
    - 実際の連携機能の実装(本Issueは設計判断まで)
  1. 5. Acceptance Criteria
    - [ ] 連携方式・タイミングが`docs/requirements/decisions/`に決定として記録されている
    - [ ] 単価マスターの重複・正本整理の結論が記録されている
  1. 6. Testing Requirements
    - 追加/更新テスト: なし(設計判断のみ)
    - 実行コマンド: なし
    - 手動確認: `estimates`側の実際のAPI仕様(`docs/requirements/api.md`)と矛盾しないこと
  1. 7. Technical Notes
    - 対象レイヤ: 設計・ドキュメント
    - 依存テーブル: `estimates`の`estimate_items`(`category_type`、`quantity`、`unit_name`、`sell_unit_price`、`cost_unit_price`、`calc_mode`、`meta_json`)
    - 関連API/Job/View: `estimates`の `POST /estimates/{id}/items`、`POST /estimates/{id}/import-component-template`、`POST /estimates/{id}/recalculate`
    - 使用ライブラリ: 未定
    - Queue影響: 非同期連携を選ぶ場合はQueue設計が必要
    - 関連ブランチ戦略: 通常のfeatureブランチ
  1. 8. Docs to Update
    - [x] `docs/progress-status.md`
    - [x] `docs/requirements/decisions/`
    - [ ] `docs/requirements/functional-requirements.md`(連携方式確定後、FR6-3を具体化)
    - [ ] `docs/requirements/data-model.md`(連携後の同期方法を確定後、反映)
  1. 9. Runtime Assumptions
    - 実行環境: 未定(construction-estimateとestimatesが別デプロイである前提)
    - DB前提: construction-estimateはMySQL 8.4、estimatesはMySQL 8.4(別インスタンス)
    - Queue前提: 非同期連携の場合は要検討
    - 実装前に読むdocs: `docs/requirements/decisions/2026-07-22-estimates-integration.md`、estimates側の`docs/requirements/api.md`・`data-model.md`
  1. 10. Done Definition
    - [ ] Acceptance Criteriaを満たす
    - [ ] 必要なdocsが更新されている

---
対応するGitHub Issue: https://github.com/iplusone/construction-estimate/issues/9

他の形式にエクスポート: Atom PDF