更新内容のサマリー
1. 04_画面設計書.md — 画面5 拡張 圃場詳細画面に追加した仕様(E-2): 共済/中山間セクションに [+追加]ボタン → モーダルで全マスタから検索・複数選択して紐づけ 各行に [×]ボタン → 確認ダイアログ付きで紐づけ解除 面積整合性チェック: 圃場面積 vs 紐づけ区画の合計面積を比較し、✅一致 / ⚠️差異ありを表示 PC/スマホ両方のレイアウト定義 必要なAPI 6本の定義(紐づけ追加・解除の CRUD) 圃場一覧画面にも追加: 「共済」「中山間」の紐づけ件数列 未紐づけ・面積不一致の ⚠️ 警告表示 2. 06_差異レポート.md — E-2 追加 新タスク E-2: 対応付け可視化・紐づけ管理機能 をサマリーテーブルに追加 3. CLAUDE.md — 次タスク更新 完了済みタスク(A-8, D-1〜D-4, E-1)を既知の課題から除外 E-2を最優先タスクに設定
This commit is contained in:
@@ -17,7 +17,12 @@
|
||||
"Bash(docker ps:*)",
|
||||
"Bash(docker exec:*)",
|
||||
"Bash(npx playwright test:*)",
|
||||
"Bash(docker restart:*)"
|
||||
"Bash(docker restart:*)",
|
||||
"Bash(python3 -c:*)",
|
||||
"Bash(py:*)",
|
||||
"Bash(py -3:*)",
|
||||
"Bash(/c/Users/akira/Develop/keinasystem_t02/.venv/Scripts/python:*)",
|
||||
"Bash(PYTHONIOENCODING=utf-8 /c/Users/akira/Develop/keinasystem_t02/.venv/Scripts/python:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
26
CLAUDE.md
26
CLAUDE.md
@@ -209,25 +209,18 @@ Variety (品種マスタ)
|
||||
2. **エラーハンドリング**: フロントエンドでの統一的なエラー表示が未実装
|
||||
3. **テスト**: 自動テストが未実装(Phase 2で追加予定)
|
||||
4. **パフォーマンス**: N+1問題が一部存在(現状は問題ないが、データ増加時に対応必要)
|
||||
5. **セキュリティ**: DEFAULT_PERMISSION_CLASSES が AllowAny → IsAuthenticated に変更必要
|
||||
6. **settings.py**: LANGUAGE_CODE と TIME_ZONE が二重定義されている(前の定義を削除)
|
||||
7. **PDF生成バグ**: reports/views.py で variety が null 時にクラッシュ(null チェック未実装)
|
||||
8. **init_crops.py**: 不正データを含むため削除予定
|
||||
9. **PDF帳票**: 現在のテンプレートは仕様と不一致(中国語混入、セクション形式、@page未設定)→ 再設計必要
|
||||
10. **中山間モデル**: 現在6フィールド → 17フィールドに拡張必要(E-1c)
|
||||
5. **対応付け可視化**: 圃場と共済/中山間マスタのM:N紐づけを管理する画面がない(E-2で対応予定)
|
||||
|
||||
### 🔜 次の実装タスク(優先順)
|
||||
|
||||
1. **A-8**: 圃場詳細に共済/中山間情報表示(最優先)
|
||||
2. **D-1〜D-4**: バグ修正(null crash, settings二重定義, AllowAny→IsAuthenticated, init_crops削除)
|
||||
3. **E-1**: PDF帳票フォーマット再設計(中山間モデル拡張含む)
|
||||
4. **A-3**: 前年度コピーボタン(Frontend)
|
||||
5. **A-4**: 品種のインライン追加・削除
|
||||
6. **A-5**: PDFプレビュー機能
|
||||
7. **A-6**: エクスポート機能(サーバー移行時のデータ移動用)
|
||||
8. **A-2**: チェックボックス・一括操作
|
||||
9. **A-1**: ダッシュボード画面
|
||||
10. **A-7**: 検索・フィルタ
|
||||
1. **E-2**: 対応付け可視化・紐づけ管理(圃場詳細画面の拡張、面積整合性チェック)
|
||||
2. **A-3**: 前年度コピーボタン(Frontend)
|
||||
3. **A-4**: 品種のインライン追加・削除
|
||||
4. **A-5**: PDFプレビュー機能
|
||||
5. **A-6**: エクスポート機能(サーバー移行時のデータ移動用)
|
||||
6. **A-2**: チェックボックス・一括操作
|
||||
7. **A-1**: ダッシュボード画面
|
||||
8. **A-7**: 検索・フィルタ
|
||||
|
||||
詳細は `document/06_ドキュメントvs実装_差異レポート.md` を参照
|
||||
|
||||
@@ -318,5 +311,6 @@ docker-compose exec backend python manage.py migrate
|
||||
|
||||
## 📝 更新履歴
|
||||
|
||||
- 2026-02-18: E-2(対応付け可視化・紐づけ管理)仕様追加。画面設計書・差異レポート・次タスク一覧を更新。完了済みタスク(A-8, D-1〜D-4, E-1)を既知の課題から除外
|
||||
- 2026-02-17: ドキュメント一斉更新(差異レポートA〜E反映、CSV→PDF統一、M:N関係、中山間モデル17列化、インライン編集方式、Navbar追加、既知の課題・次タスク一覧追加)
|
||||
- 2026-02-16: 初版作成(ハイブリッドアプローチの方針決定)
|
||||
|
||||
@@ -319,15 +319,77 @@
|
||||
- [x] [新規作成]ボタン → 画面6へ遷移
|
||||
- [x] [✏️ 編集]ボタン → 画面5(圃場詳細)へ遷移
|
||||
- [x] [🗑 削除]ボタン → 確認ダイアログ後に削除
|
||||
- [ ] **紐づけ状況列(E-2)** — **未実装**
|
||||
- [ ] 「共済」列: 紐づけ件数表示(例: 「2件」)。0件の場合は「⚠️ 未紐づけ」と警告表示
|
||||
- [ ] 「中山間」列: 紐づけ件数表示。0件の場合は「⚠️ 未紐づけ」と警告表示
|
||||
- [ ] 面積不一致がある場合は件数の横に ⚠️ を表示
|
||||
|
||||
---
|
||||
|
||||
## 画面5: 圃場詳細・編集
|
||||
|
||||
### 目的
|
||||
個別の圃場情報を確認・編集。田んぼにいるときにスマホで確認する用途も想定。
|
||||
個別の圃場情報を確認・編集。共済/中山間マスタとの紐づけ管理。田んぼにいるときにスマホで確認する用途も想定。
|
||||
|
||||
### レイアウト(PC/スマホ共通)
|
||||
### レイアウト(PC)
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────┐
|
||||
│ ← 一覧に戻る │
|
||||
├────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ 圃場名 住所 │
|
||||
│ [口神 北中___________] [口神ノ川198(笹ヶ谷374-1)___] │
|
||||
│ │
|
||||
│ 面積(反) 面積(m2) 所有者 グループ名 │
|
||||
│ [0.4___] [400___] [吉田___] [口神___] │
|
||||
│ │
|
||||
│ [保存] │
|
||||
│ │
|
||||
├────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ 📋 共済情報 (2件) 合計面積: 800m2 [+追加] │
|
||||
│ ⚠️ 面積差異: 圃場400m2 ≠ 共済合計800m2 │
|
||||
│ ─────────────────────────────────────────────────────── │
|
||||
│ 耕地-分筆 漢字地名 住所 面積(m2) 操作│
|
||||
│ ─────────────────────────────────────────────────────── │
|
||||
│ 2-1 四万十町 笹ヶ谷 374-1 笹ヶ谷... 400 [×]│
|
||||
│ 2-2 四万十町 笹ヶ谷 374-2 笹ヶ谷... 400 [×]│
|
||||
│ │
|
||||
├────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ 📋 中山間情報 (1件) 合計面積: 400m2 [+追加] │
|
||||
│ ✅ 面積一致 │
|
||||
│ ─────────────────────────────────────────────────────── │
|
||||
│ ID 所在地 面積(m2) 支払金額 操作 │
|
||||
│ ─────────────────────────────────────────────────────── │
|
||||
│ 50 口神ノ川 壱町切 1694 400 ¥8,000 [×] │
|
||||
│ │
|
||||
└────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**[+追加]ボタン押下時 — 紐づけ追加モーダル:**
|
||||
```
|
||||
┌────────────────────────────────────────────┐
|
||||
│ 共済区画を追加 [×] │
|
||||
├────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ 🔍 [検索: 地番・漢字地名で絞り込み____] │
|
||||
│ │
|
||||
│ ─────────────────────────────────────── │
|
||||
│ □ 3-1 四万十町 笹ヶ谷 375 300m2 │
|
||||
│ □ 4-1 四万十町 笹ヶ谷 376 250m2 │
|
||||
│ □ 5-1 四万十町 口神ノ川 198 500m2 │
|
||||
│ ─────────────────────────────────────── │
|
||||
│ ※ 既に他の圃場に紐づいている区画は │
|
||||
│ (🔗 圃場名) で表示 │
|
||||
│ │
|
||||
│ [選択した区画を追加] │
|
||||
│ │
|
||||
└────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### レイアウト(スマホ)
|
||||
|
||||
```
|
||||
┌────────────────────────────────────┐
|
||||
@@ -336,33 +398,35 @@
|
||||
│ │
|
||||
│ 圃場名 │
|
||||
│ [口神 北中________________] │
|
||||
│ │
|
||||
│ 住所 │
|
||||
│ [口神ノ川198(笹ヶ谷374-1)__] │
|
||||
│ │
|
||||
│ 面積(反) │
|
||||
│ [0.4___] │
|
||||
│ │
|
||||
│ 面積(m2) │
|
||||
│ [400___] │
|
||||
│ │
|
||||
│ 所有者 │
|
||||
│ [吉田___] │
|
||||
│ │
|
||||
│ グループ名 │
|
||||
│ [口神___] │
|
||||
│ │
|
||||
│ 📋 共済情報(Phase 1 予定) │
|
||||
│ 紐づき共済区画: 2件 │
|
||||
│ • 耕地2-1: 四万十町 笹ヶ谷 374-1 │
|
||||
│ • 耕地2-2: 四万十町 笹ヶ谷 374-2 │
|
||||
│ │
|
||||
│ 📋 中山間情報(Phase 1 予定) │
|
||||
│ 紐づき中山間区画: 1件 │
|
||||
│ • ID50: 口神ノ川 壱町切 1694 │
|
||||
│ 面積(反) 面積(m2) │
|
||||
│ [0.4___] [400___] │
|
||||
│ 所有者 グループ名 │
|
||||
│ [吉田___] [口神___] │
|
||||
│ │
|
||||
│ [保存] │
|
||||
│ │
|
||||
├────────────────────────────────────┤
|
||||
│ 📋 共済情報 (2件) [+追加] │
|
||||
│ ⚠️ 面積差異: 400m2≠800m2 │
|
||||
│ ┌──────────────────────────────┐│
|
||||
│ │ 2-1 四万十町笹ヶ谷374-1 ││
|
||||
│ │ 400m2 [×] ││
|
||||
│ └──────────────────────────────┘│
|
||||
│ ┌──────────────────────────────┐│
|
||||
│ │ 2-2 四万十町笹ヶ谷374-2 ││
|
||||
│ │ 400m2 [×] ││
|
||||
│ └──────────────────────────────┘│
|
||||
│ │
|
||||
├────────────────────────────────────┤
|
||||
│ 📋 中山間情報 (1件) [+追加] │
|
||||
│ ✅ 面積一致 │
|
||||
│ ┌──────────────────────────────┐│
|
||||
│ │ ID50 口神ノ川壱町切1694 ││
|
||||
│ │ 400m2 ¥8,000 [×] ││
|
||||
│ └──────────────────────────────┘│
|
||||
│ │
|
||||
└────────────────────────────────────┘
|
||||
```
|
||||
|
||||
@@ -372,11 +436,39 @@
|
||||
- [x] [保存]ボタン → PATCH API で更新
|
||||
- [x] [← 一覧に戻る] → `/fields` へ遷移
|
||||
- [x] エラーメッセージ表示
|
||||
- [ ] **共済/中山間情報の表示** — **未実装(A-8: 最優先で実装予定)**
|
||||
- 紐づいている共済区画の一覧(耕地番号-分筆、漢字地名)
|
||||
- 紐づいている中山間区画の一覧(ID、所在地)
|
||||
- [x] 共済情報の読み取り専用テーブル表示(A-8 完了)
|
||||
- [x] 中山間情報の読み取り専用テーブル表示(A-8 完了)
|
||||
- [ ] **紐づけ管理機能(E-2: 対応付け可視化・編集)** — **未実装**
|
||||
- [ ] 共済/中山間セクションに [+追加] ボタン
|
||||
- [ ] 追加モーダル: 未紐づけの区画一覧から選択して追加
|
||||
- [ ] 検索フィルタ(地番、漢字地名、IDで絞り込み)
|
||||
- [ ] 既に他の圃場に紐づいている区画は紐づけ先を表示(M:N のため追加は可能)
|
||||
- [ ] 各行に [×] ボタンで紐づけ解除(区画自体は削除しない)
|
||||
- [ ] 確認ダイアログ: 「この紐づけを解除しますか?」
|
||||
- [ ] **面積整合性チェック(E-2)** — **未実装**
|
||||
- [ ] 圃場面積 vs 紐づけ区画合計面積を比較表示
|
||||
- [ ] 一致: ✅ アイコン表示
|
||||
- [ ] 不一致: ⚠️ アイコン + 差異を表示(例: 「圃場400m2 ≠ 共済合計800m2」)
|
||||
- [ ] ※ M:N のため必ずしも一致しなくてよい場合もある。あくまで参考情報
|
||||
- [ ] 将来的に栽培履歴も表示(Phase 2)
|
||||
|
||||
### 必要なAPI(E-2 用)
|
||||
|
||||
| メソッド | エンドポイント | 説明 |
|
||||
|---------|---------------|------|
|
||||
| GET | `/api/kyosai-fields/` | 共済マスタ全件取得(紐づけ追加モーダル用) |
|
||||
| GET | `/api/chusankan-fields/` | 中山間マスタ全件取得(紐づけ追加モーダル用) |
|
||||
| POST | `/api/fields/{id}/kyosai-links/` | 共済紐づけ追加 `{ kyosai_field_ids: [1,2,3] }` |
|
||||
| DELETE | `/api/fields/{id}/kyosai-links/{kyosai_id}/` | 共済紐づけ解除 |
|
||||
| POST | `/api/fields/{id}/chusankan-links/` | 中山間紐づけ追加 `{ chusankan_field_ids: [1,2,3] }` |
|
||||
| DELETE | `/api/fields/{id}/chusankan-links/{chusankan_id}/` | 中山間紐づけ解除 |
|
||||
|
||||
### デザインノート
|
||||
- [+追加] ボタンはセクション見出しの右端に配置
|
||||
- [×] ボタンは各行の右端、テキストリンクスタイル(赤系)
|
||||
- 面積チェックは情報表示のみ(警告であり、保存をブロックしない)
|
||||
- モーダルの区画一覧はチェックボックス選択式(複数同時追加可能)
|
||||
|
||||
---
|
||||
|
||||
## 画面6: 圃場新規作成
|
||||
|
||||
@@ -221,6 +221,35 @@
|
||||
|
||||
---
|
||||
|
||||
### E-2: 対応付け可視化・紐づけ管理機能
|
||||
|
||||
- **背景**: 3つのODSデータファイル(吉田農地台帳 → Field、水稲共済細目用 → OfficialKyosaiField、中山間 → OfficialChusankanField)間のM:N対応関係を確認・編集する手段がない
|
||||
- **現状**: 圃場詳細画面に共済/中山間の読み取り専用テーブルはある(A-8完了)が、紐づけの追加・解除ができない。面積の整合性チェックもない
|
||||
- **状態**: 🔜 未着手
|
||||
|
||||
**対応方針(仕様は画面設計書 画面5 に記載済み):**
|
||||
|
||||
1. **圃場詳細画面(/fields/[id])の拡張**:
|
||||
- 共済/中山間セクションに [+追加] ボタンを追加
|
||||
- 追加モーダル: 全マスタ一覧から検索・選択して紐づけ追加(チェックボックス複数選択)
|
||||
- 各行に [×] ボタンで紐づけ解除(確認ダイアログ付き)
|
||||
- 面積整合性チェック: 圃場面積 vs 紐づけ区画合計面積の比較表示(✅ 一致 / ⚠️ 差異あり)
|
||||
|
||||
2. **圃場一覧画面(/fields)の拡張**:
|
||||
- 「共済」「中山間」列を追加し、紐づけ件数を表示
|
||||
- 未紐づけ圃場は ⚠️ 警告表示
|
||||
- 面積不一致がある場合も ⚠️ 表示
|
||||
|
||||
3. **必要なバックエンドAPI**:
|
||||
- `GET /api/kyosai-fields/` — 共済マスタ全件取得
|
||||
- `GET /api/chusankan-fields/` — 中山間マスタ全件取得
|
||||
- `POST /api/fields/{id}/kyosai-links/` — 共済紐づけ追加
|
||||
- `DELETE /api/fields/{id}/kyosai-links/{kyosai_id}/` — 共済紐づけ解除
|
||||
- `POST /api/fields/{id}/chusankan-links/` — 中山間紐づけ追加
|
||||
- `DELETE /api/fields/{id}/chusankan-links/{chusankan_id}/` — 中山間紐づけ解除
|
||||
|
||||
---
|
||||
|
||||
## 対応状況サマリー
|
||||
|
||||
| カテゴリ | 項目 | 状態 |
|
||||
@@ -237,3 +266,4 @@
|
||||
| C-1〜C-8 | ドキュメント/実装の食い違い修正 | ✅ 全件完了 |
|
||||
| D-1〜D-4 | 不具合修正 | ✅ 全件完了 |
|
||||
| E-1 | PDF帳票再設計 | ✅ 完了 |
|
||||
| E-2 | 対応付け可視化・紐づけ管理 | 🔜 未着手 |
|
||||
|
||||
Reference in New Issue
Block a user