akira
|
ae0249be69
|
Add allocation variety change history UI
|
2026-04-05 16:55:44 +09:00 |
|
akira
|
491f05eee8
|
その判断で進めました。在庫管理を先に固めるように切り替えて、手元の実装もそちらを優先して直しています。
今回入れたのは、在庫履歴の編集・削除対応と、種子資材を資材マスタ側で品種に直接結び付ける流れです。backend/apps/materials/views.py と backend/apps/materials/serializers.py で stock-transactions の更新を許可しつつ、計画や実績に紐づく履歴はロック扱いにしました。画面側は frontend/src/app/materials/page.tsx、frontend/src/app/materials/_components/StockOverview.tsx、frontend/src/app/materials/_components/StockTransactionForm.tsx を更新して、手動登録の入出庫履歴をあとから編集・削除できるようにしています。
あわせて frontend/src/app/materials/masters/page.tsx と frontend/src/app/materials/_components/MaterialForm.tsx で、種子 タブから品種を直接選んで紐付ける形にしました。重複を避けるため、作付け計画側の品種管理モーダル frontend/src/app/allocation/page.tsx から種子資材の紐付け UI は外しています。Issue #2 にもこの方針でコメント追記済みです。
確認できたのは python3 -m py_compile までで、フロントのビルドは frontend/node_modules が無いためまだ回していません。次はブラウザで在庫管理の操作感を確認してから、田植え計画側の細部を詰めるのがよさそうです。
|
2026-04-05 11:43:03 +09:00 |
|
akira
|
a38472e4a0
|
品種ごとの種子在庫前提まで実装を進めました。
主な変更は、seed 資材種別の追加と Variety.seed_material の導入です。backend/apps/materials/models.py、backend/apps/plans/models.py、backend/apps/plans/serializers.py で、田植え計画が作物在庫ではなく品種に紐づく種子資材の現在庫を参照するように切り替えました。マイグレーションは backend/apps/materials/migrations/0005_material_seed_type.py と backend/apps/plans/migrations/0008_variety_seed_material.py を追加しています。
画面側は、frontend/src/app/materials/page.tsx と frontend/src/app/materials/masters/page.tsx に「種子」タブを追加し、frontend/src/app/allocation/page.tsx の品種管理モーダルで品種ごとに種子在庫資材を設定できるようにしました。田植え計画画面 frontend/src/app/rice-transplant/_components/RiceTransplantEditPage.tsx も、苗箱数 列中心に整理し、種もみkg 列を削除、反当苗箱枚数 の列反映と ≈ / ↩ の四捨五入トグルを施肥計画寄りの操作感に寄せています。仕様書 document/16_マスタードキュメント_田植え計画編.md も更新済みです。
確認できたのは python3 -m py_compile backend/apps/materials/models.py backend/apps/materials/serializers.py backend/apps/plans/models.py backend/apps/plans/serializers.py backend/apps/plans/views.py までです。frontend/node_modules が無いためフロントのビルド確認はまだできていません。Issue #2 にも反映内容をコメント済みです。必要なら次にコミットします。
|
2026-04-05 11:22:07 +09:00 |
|
akira
|
0c57dd7886
|
Add rice transplant planning feature
|
2026-04-04 17:26:55 +09:00 |
|
Akira
|
9169018392
|
作付け計画画面 (/allocation):
年度をlocalStorageに保存・復元(ブラウザを閉じても維持、明示的に変えるまで固定)
過去年度を表示中は琥珀色のバナー「{year}年度のデータを参照中(過去年度)」+ 「今年度に戻る」ボタン
テーブル枠も過去年度では薄いセピア調に変化
デフォルトは今年度(2026)
帳票出力画面 (/reports):
デフォルトを 2025 固定 → new Date().getFullYear() に変更
セレクタも動的5年分に変更
ダッシュボード (/dashboard):
既に今年度デフォルト(変更不要)
記憶:
CLAUDE.md「重要な設計判断」に年度管理方針を追記済み
MEMORY.md に Phase 2 のグローバル作業年度導入方針を記録済み
|
2026-02-20 16:52:38 +09:00 |
|
Akira
|
6eb19f75b7
|
A-7(検索・フィルタ)の実装が完了しました。
実装内容:
テキスト検索: 圃場名・住所で部分一致検索(リアルタイムフィルタリング、検索アイコン付き)
作物フィルタ: ドロップダウンで特定作物に絞り込み
未割当トグル: チェックボックスで未割当の圃場のみ表示
件数表示: フィルタ適用中は 5/39件 のように表示
チェックボックス全選択もフィルタ結果に連動
http://localhost:3000/allocation で確認できます。
|
2026-02-19 13:11:13 +09:00 |
|
Akira
|
cce119b1a8
|
A-2 実装内容まとめ:
バックエンド: POST /api/plans/bulk_update/ API(field_ids, year, crop, variety を受けて一括設定)
フロントエンド: チェックボックス列、全選択/個別選択、一括操作バー(作物・品種セレクタ + 確認ダイアログ)
|
2026-02-19 12:29:54 +09:00 |
|
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
|
9c21caa017
|
見直し前の最終
|
2026-02-16 13:45:16 +09:00 |
|
Akira
|
4486722949
|
圃場グループ機能
|
2026-02-15 15:51:51 +09:00 |
|
Akira
|
f4165e2c68
|
Day 14 完了
作付け計画画面に集計サイドバーを追加しました:
機能:
- PC: 左側に集計サイドバー(開/閉可能)
- スマホ: 「📊 集計を表示」ボタン → モーダル表示
- リアルタイム更新: 作物・品种選択時に自動再計算
- 未設定圃場の警告表示(黄色)
実装:
- useMemo で集計計算を最適化
- 作物別・品种別の面積集計
- 展開可能なツリー表示
http://localhost:3000/allocation で確認できます。
|
2026-02-15 15:26:03 +09:00 |
|
Akira
|
15a94867fa
|
修正完了
作付け計画画面のスクロールリセット防止:
1. fetchData に background パラメータ追加:
- background = false の場合のみローディング表示
- background = true の場合はバックグラウンド更新(スピナーなし)
2. 保存ハンドラで fetchData(true) を呼び出し:
- handleCropChange, handleVarietyChange, handleNotesChange の3箇所
これにより、作物・品种保存時に画面がチラついたりスクロールがリセットされたりしなくな
|
2026-02-15 14:57:26 +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 |
|