PM_Console/backend/database/seeders/MeetingSeeder.php

130 خطوط
5.7 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class MeetingSeeder extends Seeder
{
public function run(): void
{
$projects = DB::table('projects')->pluck('id');
$users = DB::table('users')->pluck('id', 'email');
$now = now();
DB::table('meetings')->insert([
[
'project_id' => $projects[0],
'title' => 'جلسه برنامه‌ریزی اسپرینت ۲',
'meeting_type' => 'جلسه برنامه‌ریزی',
'date' => '2026-02-10',
'start_time' => '09:00:00',
'end_time' => '11:00:00',
'location' => 'اتاق جلسات طبقه سوم',
'agenda' => 'بررسی تسک‌های اسپرینت قبل، تعیین تسک‌های اسپرینت جدید و اولویت‌بندی',
'notes' => 'لطفاً تسک‌های خود را قبل از جلسه به‌روزرسانی کنید',
'created_by' => $users['manager@pm.com'],
'created_at' => $now,
'updated_at' => $now,
],
[
'project_id' => $projects[0],
'title' => 'جلسه بررسی ماژول حقوق و دستمزد',
'meeting_type' => 'جلسه بررسی',
'date' => '2026-03-20',
'start_time' => '14:00:00',
'end_time' => '15:30:00',
'location' => 'اتاق کنفرانس آنلاین',
'agenda' => 'بررسی پیشرفت کار، چالش‌ها و نیازمندی‌های قانونی ماژول حقوق',
'notes' => 'حضور کارشناس حقوقی الزامی است',
'created_by' => $users['manager@pm.com'],
'created_at' => $now,
'updated_at' => $now,
],
[
'project_id' => $projects[1],
'title' => 'جلسه هماهنگی با تیم فینتک',
'meeting_type' => 'جلسه عمومی',
'date' => '2026-04-05',
'start_time' => '10:00:00',
'end_time' => '12:00:00',
'meeting_link' => 'https://meet.google.com/abc-defg-hij',
'agenda' => 'هماهنگی برای یکپارچه‌سازی درگاه پرداخت و رفع موانع فنی',
'notes' => 'مستندات API درگاه پرداخت به‌روزرسانی شد',
'created_by' => $users['manager@pm.com'],
'created_at' => $now,
'updated_at' => $now,
],
]);
$meetings = DB::table('meetings')->pluck('id');
$participants = [
['meeting_id' => $meetings[0], 'user_id' => $users['manager@pm.com']],
['meeting_id' => $meetings[0], 'user_id' => $users['member@pm.com']],
['meeting_id' => $meetings[0], 'user_id' => $users['observer@pm.com']],
['meeting_id' => $meetings[1], 'user_id' => $users['manager@pm.com']],
['meeting_id' => $meetings[1], 'user_id' => $users['member@pm.com']],
['meeting_id' => $meetings[1], 'user_id' => $users['observer@pm.com']],
['meeting_id' => $meetings[1], 'user_id' => $users['admin@pm.com']],
['meeting_id' => $meetings[2], 'user_id' => $users['manager@pm.com']],
['meeting_id' => $meetings[2], 'user_id' => $users['member@pm.com']],
];
foreach ($participants as $participant) {
$participant['created_at'] = $now;
$participant['updated_at'] = $now;
DB::table('meeting_user')->insert($participant);
}
DB::table('meeting_action_items')->insert([
[
'meeting_id' => $meetings[0],
'title' => 'آماده‌سازی لیست تسک‌های تکمیل شده توسط رضا',
'assigned_to' => $users['member@pm.com'],
'due_date' => '2026-02-09',
'is_completed' => true,
'created_at' => $now,
'updated_at' => $now,
],
[
'meeting_id' => $meetings[0],
'title' => 'به‌روزرسانی تخمین زمانی تسک‌های باقیمانده توسط مدیر پروژه',
'assigned_to' => $users['manager@pm.com'],
'due_date' => '2026-02-10',
'is_completed' => true,
'created_at' => $now,
'updated_at' => $now,
],
[
'meeting_id' => $meetings[1],
'title' => 'بررسی قوانین جدید کار و ارائه گزارش به تیم',
'assigned_to' => $users['observer@pm.com'],
'due_date' => '2026-03-18',
'is_completed' => false,
'created_at' => $now,
'updated_at' => $now,
],
[
'meeting_id' => $meetings[1],
'title' => 'تهیه مستند فنی محاسبات حقوق',
'assigned_to' => $users['member@pm.com'],
'due_date' => '2026-03-25',
'is_completed' => false,
'created_at' => $now,
'updated_at' => $now,
],
[
'meeting_id' => $meetings[2],
'title' => 'دریافت مستندات API از تیم فینتک',
'assigned_to' => $users['manager@pm.com'],
'due_date' => '2026-04-07',
'is_completed' => false,
'created_at' => $now,
'updated_at' => $now,
],
]);
}
}