h-1.flutter.4/docs/short_term_plan.md

227 lines
No EOL
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 短期計画Sprint Plan- CMO-01 プロジェクト
## 1. スプリント概要
| 項目 | 内容 |
|---|---|
| **スプリント期間** | 2026/03/09 - 2026/03/23Week 4→ Sprint 5Sprint 6 移行中) |
| **目標** | 見積機能完結 + 売上入力画面基本動作 + PDF 帳票出力対応 → 請求転換 UI 実装完了 ✅ |
| **優先度**: 🟢 | High → S6-M1 移行中 |
---
## 2. タスクリスト
### 2.1 Sprint 4: コア機能強化(完了)✅
#### 📦 見積入力機能完了 ✅
- [x] DatabaseHelper 接続estimate テーブル CRUD API
- [x] EstimateScreen の基本実装(得意先選択・商品追加)
- [x] 見積保存時のエラーハンドリング完全化
- [x] PDF 帳票出力テンプレート準備
- [x] **`insertEstimate(Estimate estimate)`の Model ベース実装**
- [x] **`estimates` テーブルの product_items, status, expiry_date フィールド追加**
**担当者**: Sales チーム
**工期**: 3/15-3/20 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High → S6-M1 移行
#### 🧾 売上入力機能実装 - DocumentDirectory 自動保存対応 ✅
- [x] `sales_screen.dart` の PDF 出力ボタン実装
- [x] JAN コード検索ロジックの実装
- [x] DatabaseHelper で Sales テーブルへの INSERT 処理
- [x] 合計金額・税額計算ロジック
- [x] DocumentDirectory への自動保存ロジック実装
**担当**: 販売管理チーム
**工期**: 3/18-3/25 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High → S6-M1 移行
#### 💾 インベントリ機能実装 - Sprint 4→Sprint 6 移行🔄
- [x] Inventory モデル定義lib/models/inventory.dart
- [x] DatabaseHelper に inventory テーブル追加version: 3
- [x] insertInventory/getInventory/updateInventory/deleteInventory API
- [x] 在庫テストデータの自動挿入
**担当**: Sales チーム
**工期**: 3/08-3/15 → **Sprint 6 移行中** 🔄
**優先度**: 🟢 High (Sprint 6-インベントリ)
#### 💰 **見積→請求転換機能実装** ✅✅NEW
- [x] `createInvoiceTable()` の API 実装
- [x] `convertEstimateToInvoice(Estimate)` の実装ロジック
- [x] Invoice テーブルのテーブル定義と CRUD API
- [x] Estimate の status フィールドを「converted」に更新✅NEW
- [x] UI: estimate_screen.dart に転換ボタン追加(完了済み)✅
**担当**: Database チーム
**工期**: 3/16-3/20 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High → S5-M1 移行 ✅
---
## 6. タスク完了ログ(**Sprint 4 完了2026/03/09**✅NEW
### ✅ 完了タスク一覧
#### 📄 PDF 帳票出力機能実装 ✅✅NEW
- [x] flutter_pdf_generator パッケージ導入
- [x] sales_invoice_template.dart のテンプレート定義
- [x] A5 サイズ・ヘッダー/フッター統一デザイン
- [x] DocumentDirectory への自動保存ロジック実装(優先中)✅完了
**担当**: UI/UX チーム
**工期**: 3/10-3/14 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High
#### 💾 Inventory 機能実装 ✅🔄
- [x] Inventory モデル定義lib/models/inventory.dart✅NEW
- [x] DatabaseHelper に inventory テーブル追加✅NEW
- [x] CRUD API 実装insert/get/update/delete✅NEW
**担当**: Sales チーム
**工期**: 3/08-3/15 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High
#### 💾 **見積機能完全化** ✅✅NEW
- [x] `insertEstimate(Estimate estimate)` の Model ベース実装✅NEW
- [x] `_encodeEstimateItems()` ヘルパー関数実装✅NEW
- [x] JSON エンコード/デコードロジックの完全化✅NEW
- [x] `getEstimate/insertEstimate/updateEstimate/deleteEstimate` 全体機能✅NEW
**担当**: Database チーム
**工期**: 3/09-3/16 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High
#### 🧾 売上入力画面完全実装 ✅✅NEW
- [x] `sales_screen.dart` の PDF 出力ボタン実装
- [x] JAN コード検索ロジックの実装
- [x] DatabaseHelper で Sales テーブルへの INSERT 処理
- [x] 合計金額・税額計算ロジック
- [x] DocumentDirectory への自動保存ロジック実装✅完了
**担当**: 販売管理チーム
**工期**: 3/18-3/25 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High
#### 💰 **見積→請求転換機能実装** ✅✅NEW
- [x] `createInvoiceTable()` の API 実装
- [x] `convertEstimateToInvoice(Estimate)` の実装ロジック
- [x] Invoice テーブルのテーブル定義と CRUD API
- [x] Estimate の status フィールドを「converted」に更新✅NEW
**担当**: Database チーム
**工期**: 3/16-3/20 → **Sprint 4 で完了3/09**
**優先度**: 🟢 High
#### 🎯 **見積→請求転換 UISprint 5 移行)実装** ✅✅NEW
- [x] estimate_screen.dart に転換ボタン追加
- [x] DatabaseHelper.insertInvoice API の重複チェック実装
- [x] Estimate から Invoice へのデータ転換ロジック実装
- [x] UI: 転換完了通知 + 請求書画面遷移案内
**担当**: Estimate チーム
**工期**: 3/09本日完了
**優先度**: 🟢 High → S6-M1 移行 ✅
---
## 7. 依存関係
```mermaid
graph LR
A[見積機能完了] -->|完了時 | B[売上入力実装]
B -->|完了時 | C[請求作成設計]
C -->|完了時 | D[テスト環境構築]
A -.->|PDF テンプレート共有 | E[sales_invoice_template.dart]
```
**要件**:
- ✅ 見積保存が正常動作DatabaseHelper.insertEstimate✅NEW
- ✅ 売上テーブル定義と INSERT API
- ✅ PDF ライブラリ選定flutter_pdfgenerator
- ✅ 売上伝票テンプレート設計完了✅NEW
-**請求転換 UI 実装済み3/09** ✅NEW
---
## 8. **Sprint 5 完了レポート2026/03/09** ✅✅NEW
### 📋 完了タスク一覧
- ✅ 見積→請求転換 UIestimate_screen.dart に転換ボタン追加)✅
- ✅ Invoice テーブル CRUD APIinsert/get/update/delete
- ✅ DocumentDirectory 自動保存機能実装✅
- ✅ Inventory モデル定義完了✅
### 📊 進捗状況
- **完了**: 75%(請求転換 UI + 在庫モデル)✅
- **進行中**: クラウド同期要件定義🔄
- **未着手**: PDF 領収書テンプレート
---
## 9. Sprint 6: クラウド同期と在庫管理2026/04/01-2026/04/15
### 📋 タスク予定
1. **見積→請求転換機能**の検証完了 ✅Sprint 4 で完了)
2. **Inventory モデル定義と DatabaseHelper API**完全化🔄進行中✅NEW
3. **PDF 領収書テンプレート**の設計開始
4. **クラウド同期ロジック**の要件定義
### 🎯 Sprint 6 ミルストーンS6-M1在庫管理・同期準備📅
**目標**: 在庫管理 UI の実装完了 + クラウド同期機能の要件定義
**優先度**: 🟢 High
### 📅 開発スケジュール
- **Week 8 (3/09)**: 見積→請求転換 UI完了✅
- **Week 9 (3/16)**: クラウド同期ロジック設計🔄進行中
- **Week 10 (3/23)**: Conflict Resolution 実装
---
## 4. リスク管理
| リスク | 影響 | 確率 | 対策 |
|---|-|---|--|
| 見積保存エラー | 高 | 🔴 中 | エラーハンドリング完全化(既実装) |
| PDF ライブラリ互換性 | 中 | 🟡 低 | flutter_pdfgenerator の A5 対応確認済 |
| DatabaseHelper API コスト | 低 | 🟢 低 | 既存スクリプト・テンプレート再利用 |
| sales_screen.dart パフォーマンス | 中 | 🟡 中 | Lazy loading / ページネーション導入検討 |
---
## 5. 進捗追跡方法
**チェックリスト方式**:
- [x] タスク完了 → GitHub Commit で記録(`feat: XXX`
- [x] マークオフ → README.md の実装完了セクション更新
**デイリー報告**:
- 朝会09:30→ チェックリストの未着手項目確認
- 夕戻り17:30→ 本日のコミット数報告
---
## 7. スプリントレビュー項目(木曜 15:00
### レビューアジェンダ
1. **実装成果物**: CheckList の完了項目確認
2. **課題共有**: 未完成タスクの原因分析
3. **次スプリント計画**: Sprint 6 タスク定義
4. **ステークホルダー報告**: プロジェクト計画書の更新
### レビュー資料準備
- README.md実装完了セクション
- project_plan.mdM1-M3 マイルストーン記録)
- test/widget_test.dartテストカバレッジレポート
- sales_invoice_template.dartPDF テンプレート設計書)✅
- **`lib/services/database_helper.dart`**(見積・請求 API 設計書)
---
**最終更新**: **2026/03/09**
**バージョン**: **1.7** (請求転換 UI 実装 + Sprint 5 移行完了) ✅NEW
**作成者**: 開発チーム全体