طراحی و پیادهسازی سامانه شاهمانیتورینگ
۱ روز پیش
کارفرمای جدید
قزوین

ثبت پیشنهاد روی پروژه
ثبت پروژه مشابه شکاف موجود: در حال حاضر هیچ مدل، کنترلر، سرویس یا صفحه اختصاصی برای **«شاهمانیتورینگ ورودیهای املاک و محیطهای سهبعدی (VOD Property Entry * در لایه بکاند لاراول (app/Models/ و app/Http/Controllers/Api/)، مدلهای Feature.php، FeatureProperties.php و IsicCode.php و کنترلرهای LandsController.php و IsicCodeController.php وجود دارند.
در لایه فرانتاند (resources/js/pages/lands/ و resources/js/pages/isic-codes/)، صفحات پایه مدیریت زمینها (Listing.vue, Prices.vue, Pricing.vue, Sold.vue, Traded.vue, FeatureLimits.vue) با استفاده از کامپوزبل() و کامپوننتهای `
0).
date_from و date_to: فیلتر بازه زمانی ورود/خروج برای محاسبه پویا در بازه دلخواه.
sort_by: مرتبسازی بر اساس activity_seconds (بیشترین ساعت فعالیت)، entries_count (بیشترین میزان ورود)، یا online_count (بیشترین افراد حاضر در محیط).
sort_dir: asc | desc (پیشفرض: desc).
منطق کوئری تجمیعی SQL / Eloquent:
$sessionsSubquery = DB::table('building_entry_sessions')
->selectRaw('
feature_id,
COUNT(*) as total_entries_count,
SUM(CASE WHEN exited_at IS NULL THEN 1 ELSE 0 END) as active_online_count,
"total_activity_hours": 10.0,
"total_activity_formatted": "۱۰ ساعت و ۰ دقیقه",
"total_entries_count": 48,
"active_online_count": 5
},
"entry_conf COALESCE(SUM(CASE WHEN exited_at IS NOT NULL THEN COALESCE(duration_seconds, TIMESTAMPDIFF(SECOND, entered_at, exited_at)) ELSE 0 END), 0) as total_activity_seconds
')
->when($request->filled('date_from'), fn($q) => $q->where('entered_at', '>=', $request->date_from))
->when($request->filled('date_to'), fn($q) => $q->where('entered_at', '<=', $request->date_to))
->groupBy('feature_id');
سپس Join کردن این Subquery با feature_properties، features، users (مالک)، building_entry_configs و isic_codes تا در یک کوئری واحد و بدون مشکل
N
+
1
، تمام اطلاعات هر محیط استخراج شود.
ساختار JSON خروجی هر ردیف در API:
{
"feature_id": 44,
"feature_properties_id": "TO111",
"label": "مجتمع تجاری الماس",
"karbari": "t",
"application_title": "تجاری",
"isic_code": {
"id": 12,
"code": 4711,
"name": "خردهفروشی در فروشگاههای غیرتخصصی"
},
"owner": {
"id": 105,
"name": "حسین قدیری",
"code": "hm-2000001"
},
"metrics": {
"total_activity_seconds": 36000,
ig": {
"is_active": true,
"fee_psc": "1.50000000",
"fee_irr": "150000"
}
}
مشاهده جزئیات پیشنهادهای این پروژه
گزارش تخلف
ثبت پیشنهاد روی پروژه
ثبت پروژه مشابه پروژه را با دوستان خود به اشتراک بگذارید