UPDATE
This commit is contained in:
@@ -10,7 +10,7 @@ from django.apps import apps
|
||||
from django.conf import settings
|
||||
|
||||
from farm_data.models import SensorData
|
||||
from farm_data.services import get_farm_details
|
||||
from farm_data.services import build_ai_farm_snapshot
|
||||
from location_data.models import NdviObservation, SoilLocation
|
||||
|
||||
from rag.failure_contract import RAGServiceError
|
||||
@@ -720,13 +720,13 @@ class YieldHarvestSummaryService:
|
||||
"recent_sensor_averages": {},
|
||||
}
|
||||
|
||||
farm_details = get_farm_details(str(farm_uuid)) or {}
|
||||
farm_details = build_ai_farm_snapshot(str(farm_uuid)) or {}
|
||||
center_location = farm.center_location
|
||||
soil_details = (farm_details.get("soil") or {}).get("resolved_metrics") or {}
|
||||
weather_details = farm_details.get("weather") or {}
|
||||
soil_details = (farm_details.get("farm_metrics") or {}).get("resolved_metrics") or {}
|
||||
weather_details = ((farm_details.get("weather") or {}).get("forecast") or {})
|
||||
recent_sensor_averages = {
|
||||
"soil_moisture": self._safe_float(soil_details.get("soil_moisture", farm.soil_moisture), None),
|
||||
"soil_temperature": self._safe_float(soil_details.get("soil_temperature", farm.soil_temperature), None),
|
||||
"soil_moisture": self._safe_float(soil_details.get("soil_moisture"), None),
|
||||
"soil_temperature": self._safe_float(soil_details.get("soil_temperature"), None),
|
||||
"air_temperature_mean": self._safe_float(weather_details.get("temperature_mean"), None),
|
||||
}
|
||||
|
||||
@@ -744,7 +744,7 @@ class YieldHarvestSummaryService:
|
||||
"lat": float(center_location.latitude),
|
||||
"lon": float(center_location.longitude),
|
||||
},
|
||||
"farm_boundary": farm_details.get("center_location", {}).get("farm_boundary"),
|
||||
"farm_boundary": getattr(center_location, "farm_boundary", None),
|
||||
"soil": {
|
||||
"provider": getattr(settings, "SOIL_DATA_PROVIDER", "نامشخص"),
|
||||
"soil_type": self._infer_soil_type(soil_details),
|
||||
@@ -760,6 +760,10 @@ class YieldHarvestSummaryService:
|
||||
"sensor_data": SensorData.__name__,
|
||||
"soil_location": SoilLocation.__name__,
|
||||
},
|
||||
"source_metadata": {
|
||||
"farm_metrics": (farm_details.get("source_metadata") or {}).get("farm_metrics", {}),
|
||||
"weather": ((farm_details.get("weather") or {}).get("source_metadata") or {}),
|
||||
},
|
||||
}
|
||||
|
||||
def _extract_pcse_dvs_stage(self, harvest_prediction_card: dict[str, Any]) -> float:
|
||||
|
||||
Reference in New Issue
Block a user