UPDATE
This commit is contained in:
@@ -32,16 +32,22 @@ class YieldHarvestSummaryService:
|
||||
season_year: str,
|
||||
crop_name: str,
|
||||
include_narrative: bool = True,
|
||||
irrigation_recommendation: dict[str, Any] | None = None,
|
||||
fertilization_recommendation: dict[str, Any] | None = None,
|
||||
) -> dict[str, Any]:
|
||||
farm_context = self._get_farm_context(farm_uuid)
|
||||
farm_context["season_year"] = season_year
|
||||
farm_context["crop_name"] = crop_name or farm_context.get("crop_name") or ""
|
||||
farm_context["irrigation_recommendation"] = irrigation_recommendation or {}
|
||||
farm_context["fertilization_recommendation"] = fertilization_recommendation or {}
|
||||
yield_prediction = self._build_yield_prediction(
|
||||
farm_uuid=farm_uuid,
|
||||
season_year=season_year,
|
||||
crop_name=crop_name,
|
||||
include_narrative=include_narrative,
|
||||
farm_context=farm_context,
|
||||
irrigation_recommendation=irrigation_recommendation,
|
||||
fertilization_recommendation=fertilization_recommendation,
|
||||
)
|
||||
harvest_prediction_card = self._build_harvest_prediction_card(
|
||||
farm_uuid=farm_uuid,
|
||||
@@ -49,6 +55,8 @@ class YieldHarvestSummaryService:
|
||||
crop_name=crop_name,
|
||||
include_narrative=include_narrative,
|
||||
farm_context=farm_context,
|
||||
irrigation_recommendation=irrigation_recommendation,
|
||||
fertilization_recommendation=fertilization_recommendation,
|
||||
)
|
||||
harvest_readiness_zones = self._build_harvest_readiness_zones(
|
||||
farm_uuid=farm_uuid,
|
||||
@@ -75,6 +83,8 @@ class YieldHarvestSummaryService:
|
||||
crop_name=crop_name,
|
||||
include_narrative=include_narrative,
|
||||
farm_context=farm_context,
|
||||
irrigation_recommendation=irrigation_recommendation,
|
||||
fertilization_recommendation=fertilization_recommendation,
|
||||
)
|
||||
season_highlights_card = self._build_season_highlights_card(
|
||||
farm_uuid=farm_uuid,
|
||||
@@ -126,11 +136,15 @@ class YieldHarvestSummaryService:
|
||||
crop_name: str,
|
||||
include_narrative: bool,
|
||||
farm_context: dict[str, Any],
|
||||
irrigation_recommendation: dict[str, Any] | None = None,
|
||||
fertilization_recommendation: dict[str, Any] | None = None,
|
||||
) -> dict[str, Any]:
|
||||
service = apps.get_app_config("crop_simulation").get_yield_prediction_service()
|
||||
result = service.get_yield_prediction(
|
||||
farm_uuid=farm_uuid,
|
||||
plant_name=crop_name or None,
|
||||
irrigation_recommendation=irrigation_recommendation,
|
||||
fertilization_recommendation=fertilization_recommendation,
|
||||
)
|
||||
supporting_metrics = dict(result.get("supportingMetrics") or {})
|
||||
|
||||
@@ -173,11 +187,15 @@ class YieldHarvestSummaryService:
|
||||
crop_name: str,
|
||||
include_narrative: bool,
|
||||
farm_context: dict[str, Any],
|
||||
irrigation_recommendation: dict[str, Any] | None = None,
|
||||
fertilization_recommendation: dict[str, Any] | None = None,
|
||||
) -> dict[str, Any]:
|
||||
service = apps.get_app_config("crop_simulation").get_harvest_prediction_service()
|
||||
result = service.get_harvest_prediction(
|
||||
farm_uuid=farm_uuid,
|
||||
plant_name=crop_name or None,
|
||||
irrigation_recommendation=irrigation_recommendation,
|
||||
fertilization_recommendation=fertilization_recommendation,
|
||||
)
|
||||
|
||||
fallback_description = (
|
||||
@@ -211,11 +229,15 @@ class YieldHarvestSummaryService:
|
||||
crop_name: str,
|
||||
include_narrative: bool,
|
||||
farm_context: dict[str, Any],
|
||||
irrigation_recommendation: dict[str, Any] | None = None,
|
||||
fertilization_recommendation: dict[str, Any] | None = None,
|
||||
) -> dict[str, Any]:
|
||||
simulator = apps.get_app_config("crop_simulation").get_current_farm_chart_simulator()
|
||||
result = simulator.simulate(
|
||||
farm_uuid=farm_uuid,
|
||||
plant_name=crop_name or None,
|
||||
irrigation_recommendation=irrigation_recommendation,
|
||||
fertilization_recommendation=fertilization_recommendation,
|
||||
)
|
||||
pcse_timeseries = list(result.get("daily_output") or [])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user