Akira
|
8b5e0fc66e
|
A-6 完了。 本セッションの進捗まとめ:
タスク 内容 状態
A-3 前年度コピーボタン ✅ 完了
A-4 品種のインライン追加・削除 ✅ 完了
A-5 PDFプレビュー機能 ✅ 完了
A-6 エクスポート機能 ✅ 完了
残りタスク:
A-2: チェックボックス・一括操作
A-1: ダッシュボード画面
A-7: 検索・フィルタ
確認ポイント:
作付け計画 (/allocation): 年度セレクタの横に「前年度コピー」「品種管理」ボタン、品種セレクトに「+ 新しい品種を追加...」
帳票出力 (/reports): 各帳票にプレビュー/ダウンロードの2ボタン
データ取込 (/import): ページ下部に「データエクスポート」(ZIPダウンロード)
|
2026-02-19 12:21:17 +09:00 |
|
Akira
|
64e7701456
|
実装サマリー
バックエンド(3ファイル変更)
ファイル 変更内容
views.py OfficialKyosaiFieldViewSet、OfficialChusankanFieldViewSet(ReadOnly)、紐づけ追加/解除の4つのAPIビューを追加
urls.py 紐づけ管理用の4パス追加
serializers.py linked_field_namesフィールドを追加(紐づけ先の圃場名を返す)
keinasystem/urls.py /api/kyosai-fields/、/api/chusankan-fields/ をルーターに登録
新規API一覧
メソッド エンドポイント 動作確認
GET /api/kyosai-fields/ 31件返却
GET /api/chusankan-fields/ 71件返却
POST /api/fields/{id}/kyosai-links/ {"added":1}
DELETE /api/fields/{id}/kyosai-links/{kyosai_id}/ 204
POST /api/fields/{id}/chusankan-links/ 同上
DELETE /api/fields/{id}/chusankan-links/{chusankan_id}/ 同上
フロントエンド(3ファイル変更)
ファイル 変更内容
types/index.ts linked_field_namesプロパティ追加
fields/[id]/page.tsx 紐づけ管理UI全面実装(+追加ボタン、x解除ボタン、検索付きモーダル、面積参考表示)
fields/page.tsx 「共済」「中山間」紐づけ件数列を追加
http://localhost:3000/fields/4 などで圃場詳細画面を開いて動作確認できます。
|
2026-02-18 14:02:40 +09:00 |
|
Akira
|
987b7572b7
|
下記の通りお返事きましたので、実データでテストしてください。
|
2026-02-15 14:19:15 +09:00 |
|
Akira
|
afd434cd4c
|
Day 8 完了
実装内容:
1. frontend/src/types/index.ts - 型定義(Field, Crop, Variety, Plan)
2. frontend/src/components/Navbar.tsx - ナビゲーションバー(ログアウトボタン)
3. backend/apps/fields/views.py - FieldViewSet追加
4. backend/apps/fields/serializers.py - 新規作成(Fieldシリアライザー)
5. backend/apps/fields/urls.py - ViewSetルート追加
6. frontend/src/app/allocation/page.tsx - 作付け計画画面(作物・品種選択可能)
7. frontend/src/app/page.tsx - 自動リダイレクト(ログイン状態による)
API動作確認:
- /api/fields/ → HTTP 200(圃場データなし)
- /api/plans/crops/ → HTTP 200(2作物:水稲・大豆)
- /api/plans/?year=2025 → HTTP 200
テスト: http://localhost:3000/ → 自動リダイレクトで /login または /allocation
※ 現在圃場データがないため、画面には「圃場データがありません。インポートを実行してください。」と表示されます。
次の工程に移りますか?
|
2026-02-15 13:23:40 +09:00 |
|
Akira
|
d30125d0a1
|
Day 4 のデータインポート機能実装が完了しました。
実装内容
views.py
- import_kyosai_master - 共済マスタのODSファイルをインポート
- import_yoshida_fields - 実圃場のODSファイルをインポート
urls.py
- /api/fields/import/kyosai/ - 共済マスタ用エンドポイント
- /api/fields/import/yoshida/ - 実圃場用エンドポイント
Many-to-Many 紐付け
field.kyosai_fields.add(kyosai_record)
field.chusankan_fields.add(chusankan_record)
.add() を使用して累積的に関連付けを追加しています。
動作確認
✅ POST /api/fields/import/kyosai/ → {"error": "No file uploaded"}
✅ POST /api/fields/import/yoshida/ → {"error": "No file uploaded"}
ODSファイルをPOSTすればインポートが始まります。
|
2026-02-15 12:00:30 +09:00 |
|