操作
機能追加・改修 #616
完了docs: estimates(建設モジュール)との連携方式・タイミングを設計する
開始日:
2026/07/29
期日:
進捗率:
0%
予定工数:
説明
- 1. User Story
開発チームとして、`construction-estimate`の数量拾い結果を、既存の`estimates`(建設モジュール)へどう連携するかを具体的に決めたい。なぜなら見積書発行・顧客提示は`estimates`側の機能であり、連携方式が決まらないと実装に入れないから。
- 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/依存関係: なし
- 3. Scope
- 連携方式(`estimates`のAPI直接呼び出し/非同期ジョブ/手動エクスポート・インポート)を判断する
- 連携タイミング(数量拾い確定の都度か、担当者が明示的に連携操作をした時か)を判断する
- 認証・テナント(`estimates`は`tenant_id`を持つマルチテナント)をどう連携するかを判断する
- 単価マスター(construction-estimate側FR5)と`estimates`が将来構想として持つ単価マスタとの重複・正本を整理する
- 4. Out of Scope
- `estimates`側のAPI実装変更(必要が生じた場合は`estimates`リポジトリ側で別途扱う)
- 実際の連携機能の実装(本Issueは設計判断まで)
- 5. Acceptance Criteria
- [ ] 連携方式・タイミングが`docs/requirements/decisions/`に決定として記録されている
- [ ] 単価マスターの重複・正本整理の結論が記録されている
- 6. Testing Requirements
- 追加/更新テスト: なし(設計判断のみ)
- 実行コマンド: なし
- 手動確認: `estimates`側の実際のAPI仕様(`docs/requirements/api.md`)と矛盾しないこと
- 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ブランチ
- 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`(連携後の同期方法を確定後、反映)
- 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`
- 10. Done Definition
- [ ] Acceptance Criteriaを満たす
- [ ] 必要なdocsが更新されている
---
対応するGitHub Issue: https://github.com/iplusone/construction-estimate/issues/9
操作