施肥計画機能を追加(年度×品種単位のマトリクス管理)
- Backend: apps/fertilizer を新規追加 - Fertilizer(肥料マスタ)、FertilizationPlan、FertilizationEntry モデル - 肥料マスタ・施肥計画 CRUD API - 3方式の自動計算API(反当袋数・均等配分・反当チッソ成分量) - 作付け計画から圃場候補を取得する API - WeasyPrint による PDF 出力(圃場×肥料=袋数 マトリクス表) - Frontend: app/fertilizer を新規追加 - 施肥計画一覧(年度セレクタ・PDF出力・編集・削除) - 肥料マスタ管理(インライン編集) - 施肥計画編集(品種選択→圃場自動取得→肥料追加→自動計算→マトリクス手動調整) - Navbar に「施肥計画」メニューを追加(Sprout アイコン) - Cursor ルールファイル・連携ガイドを削除(Claude Code 単独運用へ) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
30
CLAUDE.md
30
CLAUDE.md
@@ -171,6 +171,25 @@ WeatherRecord (日次気象記録)
|
||||
└── pressure_min (最低気圧hPa)
|
||||
※ 観測地点: 窪川 (lat=33.213, lon=133.133)、データソース: Open-Meteo archive API
|
||||
※ 2016-01-01 から蓄積(初回は fetch_weather --full で一括投入)
|
||||
|
||||
Fertilizer (肥料マスタ)
|
||||
├── name(肥料名、必須・unique)
|
||||
├── maker(メーカー、任意)
|
||||
├── capacity_kg(1袋重量kg、任意)
|
||||
├── nitrogen_pct / phosphorus_pct / potassium_pct(成分%、任意)
|
||||
└── notes(備考、任意)
|
||||
|
||||
FertilizationPlan (施肥計画)
|
||||
├── name(計画名)
|
||||
├── year(年度)
|
||||
└── variety (FK to plans.Variety)
|
||||
|
||||
FertilizationEntry (施肥エントリ・中間テーブル)
|
||||
├── plan (FK to FertilizationPlan)
|
||||
├── field (FK to fields.Field)
|
||||
├── fertilizer (FK to Fertilizer)
|
||||
├── bags(袋数、Decimal)
|
||||
└── unique_together = ['plan', 'field', 'fertilizer']
|
||||
```
|
||||
|
||||
### 重要な設計判断
|
||||
@@ -290,6 +309,12 @@ WeatherRecord (日次気象記録)
|
||||
- フロントエンド `/weather` 画面(年別集計・期間指定 モード、グラフは Recharts)
|
||||
- **将来計画**: 開花・収穫予測(品種ごとの目標GDD設定 → 到達日予測)
|
||||
- マスタードキュメント: `document/12_マスタードキュメント_気象データ編.md`
|
||||
10. **施肥計画機能**:
|
||||
- Django `apps/fertilizer` アプリ(Fertilizer, FertilizationPlan, FertilizationEntry)
|
||||
- API(JWT認証): `GET/POST /api/fertilizer/fertilizers/`, `GET/POST /api/fertilizer/plans/?year=`, `GET /api/fertilizer/plans/{id}/pdf/`, `GET /api/fertilizer/candidate_fields/?year=&variety_id=`, `POST /api/fertilizer/calculate/`
|
||||
- 自動計算3方式: 反当袋数(per_tan)、均等配分(even)、反当チッソ(nitrogen)
|
||||
- フロントエンド: `/fertilizer/`(一覧), `/fertilizer/new`・`/fertilizer/[id]/edit`(編集・マトリクス表), `/fertilizer/masters/`(肥料マスタ)
|
||||
- スコープ外(将来): 購入管理、配置計画
|
||||
|
||||
### 🚧 既知の課題・技術的負債
|
||||
|
||||
@@ -314,8 +339,6 @@ Phase 2 のタスクに進む段階。
|
||||
|
||||
## 🛠️ よくある作業パターン
|
||||
|
||||
- **Cursor / Claude Code 連携**: 詳細な運用ルールは `document/20_Cursor_Claude連携ガイド.md` を参照すること。
|
||||
|
||||
### 新しいモデルを追加する場合
|
||||
|
||||
1. `apps/<app_name>/models.py` にモデルクラスを追加
|
||||
@@ -416,7 +439,8 @@ docker-compose exec backend python manage.py migrate
|
||||
|
||||
## 📝 更新履歴
|
||||
|
||||
- 2026-02-28: Cursor / Claude Code 連携運用ルールを追加(詳細は `document/20_Cursor_Claude連携ガイド.md` を参照)
|
||||
- 2026-02-28: Cursor連携を廃止。Claude Code 単独運用に変更。`document/20_Cursor_Claude連携ガイド.md` を削除
|
||||
- 2026-03-01: 施肥計画機能を実装。`apps/fertilizer`(Fertilizer, FertilizationPlan, FertilizationEntry, 自動計算3方式, PDF出力)、フロントエンド `/fertilizer/`(一覧・編集・肥料マスタ)。スコープ外: 購入管理・配置計画
|
||||
- 2026-02-28: 気象データ機能を実装・本番稼働。`apps/weather`(WeatherRecord, 5 API)、Windmill `f/weather/weather_sync`(毎朝6時)、フロントエンド `/weather`(年別集計・期間指定・Rechartsグラフ)。`Crop.base_temp` 追加。デプロイコマンドの本番パス修正(/home/keinasystem/)。マスタードキュメント `document/12_マスタードキュメント_気象データ編.md` 追加
|
||||
- 2026-02-25: CLAUDE.md更新。パスワード変更機能追記。メールフィルタリング機能を本番稼働済みに更新。マスタードキュメント `document/11_マスタードキュメント_メール通知関連編.md` リンク追加。デプロイコマンド(`--env-file .env.production` 必須)をトラブルシューティングに追加
|
||||
- 2026-02-22: メールフィルタリング機能を実装。`apps/mail` Django app、Windmill向けAPI(APIキー認証)、フィードバックページ、ルール管理ページを追加。仕様書: `document/メールフィルタ/mail_filter_spec.md`
|
||||
|
||||
Reference in New Issue
Block a user