更新内容のサマリー
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 ps:*)",
|
||||||
"Bash(docker exec:*)",
|
"Bash(docker exec:*)",
|
||||||
"Bash(npx playwright test:*)",
|
"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. **エラーハンドリング**: フロントエンドでの統一的なエラー表示が未実装
|
2. **エラーハンドリング**: フロントエンドでの統一的なエラー表示が未実装
|
||||||
3. **テスト**: 自動テストが未実装(Phase 2で追加予定)
|
3. **テスト**: 自動テストが未実装(Phase 2で追加予定)
|
||||||
4. **パフォーマンス**: N+1問題が一部存在(現状は問題ないが、データ増加時に対応必要)
|
4. **パフォーマンス**: N+1問題が一部存在(現状は問題ないが、データ増加時に対応必要)
|
||||||
5. **セキュリティ**: DEFAULT_PERMISSION_CLASSES が AllowAny → IsAuthenticated に変更必要
|
5. **対応付け可視化**: 圃場と共済/中山間マスタのM:N紐づけを管理する画面がない(E-2で対応予定)
|
||||||
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)
|
|
||||||
|
|
||||||
### 🔜 次の実装タスク(優先順)
|
### 🔜 次の実装タスク(優先順)
|
||||||
|
|
||||||
1. **A-8**: 圃場詳細に共済/中山間情報表示(最優先)
|
1. **E-2**: 対応付け可視化・紐づけ管理(圃場詳細画面の拡張、面積整合性チェック)
|
||||||
2. **D-1〜D-4**: バグ修正(null crash, settings二重定義, AllowAny→IsAuthenticated, init_crops削除)
|
2. **A-3**: 前年度コピーボタン(Frontend)
|
||||||
3. **E-1**: PDF帳票フォーマット再設計(中山間モデル拡張含む)
|
3. **A-4**: 品種のインライン追加・削除
|
||||||
4. **A-3**: 前年度コピーボタン(Frontend)
|
4. **A-5**: PDFプレビュー機能
|
||||||
5. **A-4**: 品種のインライン追加・削除
|
5. **A-6**: エクスポート機能(サーバー移行時のデータ移動用)
|
||||||
6. **A-5**: PDFプレビュー機能
|
6. **A-2**: チェックボックス・一括操作
|
||||||
7. **A-6**: エクスポート機能(サーバー移行時のデータ移動用)
|
7. **A-1**: ダッシュボード画面
|
||||||
8. **A-2**: チェックボックス・一括操作
|
8. **A-7**: 検索・フィルタ
|
||||||
9. **A-1**: ダッシュボード画面
|
|
||||||
10. **A-7**: 検索・フィルタ
|
|
||||||
|
|
||||||
詳細は `document/06_ドキュメントvs実装_差異レポート.md` を参照
|
詳細は `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-17: ドキュメント一斉更新(差異レポートA〜E反映、CSV→PDF統一、M:N関係、中山間モデル17列化、インライン編集方式、Navbar追加、既知の課題・次タスク一覧追加)
|
||||||
- 2026-02-16: 初版作成(ハイブリッドアプローチの方針決定)
|
- 2026-02-16: 初版作成(ハイブリッドアプローチの方針決定)
|
||||||
|
|||||||
@@ -319,15 +319,77 @@
|
|||||||
- [x] [新規作成]ボタン → 画面6へ遷移
|
- [x] [新規作成]ボタン → 画面6へ遷移
|
||||||
- [x] [✏️ 編集]ボタン → 画面5(圃場詳細)へ遷移
|
- [x] [✏️ 編集]ボタン → 画面5(圃場詳細)へ遷移
|
||||||
- [x] [🗑 削除]ボタン → 確認ダイアログ後に削除
|
- [x] [🗑 削除]ボタン → 確認ダイアログ後に削除
|
||||||
|
- [ ] **紐づけ状況列(E-2)** — **未実装**
|
||||||
|
- [ ] 「共済」列: 紐づけ件数表示(例: 「2件」)。0件の場合は「⚠️ 未紐づけ」と警告表示
|
||||||
|
- [ ] 「中山間」列: 紐づけ件数表示。0件の場合は「⚠️ 未紐づけ」と警告表示
|
||||||
|
- [ ] 面積不一致がある場合は件数の横に ⚠️ を表示
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 画面5: 圃場詳細・編集
|
## 画面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)__] │
|
│ [口神ノ川198(笹ヶ谷374-1)__] │
|
||||||
│ │
|
│ 面積(反) 面積(m2) │
|
||||||
│ 面積(反) │
|
│ [0.4___] [400___] │
|
||||||
│ [0.4___] │
|
│ 所有者 グループ名 │
|
||||||
│ │
|
│ [吉田___] [口神___] │
|
||||||
│ 面積(m2) │
|
|
||||||
│ [400___] │
|
|
||||||
│ │
|
|
||||||
│ 所有者 │
|
|
||||||
│ [吉田___] │
|
|
||||||
│ │
|
|
||||||
│ グループ名 │
|
|
||||||
│ [口神___] │
|
|
||||||
│ │
|
|
||||||
│ 📋 共済情報(Phase 1 予定) │
|
|
||||||
│ 紐づき共済区画: 2件 │
|
|
||||||
│ • 耕地2-1: 四万十町 笹ヶ谷 374-1 │
|
|
||||||
│ • 耕地2-2: 四万十町 笹ヶ谷 374-2 │
|
|
||||||
│ │
|
|
||||||
│ 📋 中山間情報(Phase 1 予定) │
|
|
||||||
│ 紐づき中山間区画: 1件 │
|
|
||||||
│ • ID50: 口神ノ川 壱町切 1694 │
|
|
||||||
│ │
|
│ │
|
||||||
│ [保存] │
|
│ [保存] │
|
||||||
│ │
|
│ │
|
||||||
|
├────────────────────────────────────┤
|
||||||
|
│ 📋 共済情報 (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] [保存]ボタン → PATCH API で更新
|
||||||
- [x] [← 一覧に戻る] → `/fields` へ遷移
|
- [x] [← 一覧に戻る] → `/fields` へ遷移
|
||||||
- [x] エラーメッセージ表示
|
- [x] エラーメッセージ表示
|
||||||
- [ ] **共済/中山間情報の表示** — **未実装(A-8: 最優先で実装予定)**
|
- [x] 共済情報の読み取り専用テーブル表示(A-8 完了)
|
||||||
- 紐づいている共済区画の一覧(耕地番号-分筆、漢字地名)
|
- [x] 中山間情報の読み取り専用テーブル表示(A-8 完了)
|
||||||
- 紐づいている中山間区画の一覧(ID、所在地)
|
- [ ] **紐づけ管理機能(E-2: 対応付け可視化・編集)** — **未実装**
|
||||||
|
- [ ] 共済/中山間セクションに [+追加] ボタン
|
||||||
|
- [ ] 追加モーダル: 未紐づけの区画一覧から選択して追加
|
||||||
|
- [ ] 検索フィルタ(地番、漢字地名、IDで絞り込み)
|
||||||
|
- [ ] 既に他の圃場に紐づいている区画は紐づけ先を表示(M:N のため追加は可能)
|
||||||
|
- [ ] 各行に [×] ボタンで紐づけ解除(区画自体は削除しない)
|
||||||
|
- [ ] 確認ダイアログ: 「この紐づけを解除しますか?」
|
||||||
|
- [ ] **面積整合性チェック(E-2)** — **未実装**
|
||||||
|
- [ ] 圃場面積 vs 紐づけ区画合計面積を比較表示
|
||||||
|
- [ ] 一致: ✅ アイコン表示
|
||||||
|
- [ ] 不一致: ⚠️ アイコン + 差異を表示(例: 「圃場400m2 ≠ 共済合計800m2」)
|
||||||
|
- [ ] ※ M:N のため必ずしも一致しなくてよい場合もある。あくまで参考情報
|
||||||
- [ ] 将来的に栽培履歴も表示(Phase 2)
|
- [ ] 将来的に栽培履歴も表示(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: 圃場新規作成
|
## 画面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 | ドキュメント/実装の食い違い修正 | ✅ 全件完了 |
|
| C-1〜C-8 | ドキュメント/実装の食い違い修正 | ✅ 全件完了 |
|
||||||
| D-1〜D-4 | 不具合修正 | ✅ 全件完了 |
|
| D-1〜D-4 | 不具合修正 | ✅ 全件完了 |
|
||||||
| E-1 | PDF帳票再設計 | ✅ 完了 |
|
| E-1 | PDF帳票再設計 | ✅ 完了 |
|
||||||
|
| E-2 | 対応付け可視化・紐づけ管理 | 🔜 未着手 |
|
||||||
|
|||||||
Reference in New Issue
Block a user