Роли, переделывание отчета, изменение на главной странице

This commit is contained in:
brusnitsyn
2026-01-11 23:37:18 +09:00
parent eb019504d7
commit d4f077cdaf
59 changed files with 2099 additions and 366 deletions

View File

@@ -16,7 +16,7 @@ class DatabaseSeeder extends Seeder
public function run(): void
{
$this->call([
TestLpuDataSeeder::class,
TestDepartmentDataSeeder::class,
TestMetrikaSeeder::class,
TestUserSeeder::class,
]);

View File

@@ -0,0 +1,145 @@
<?php
namespace Database\Seeders;
use App\Models\Department;
use App\Models\DepartmentMetrikaDefault;
use App\Models\DepartmentType;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Schema;
class TestDepartmentDataSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
DepartmentType::create([
'name_short' => 'Хирургические',
'name_full' => 'Хирургические отделения'
]);
DepartmentType::create([
'name_short' => 'Терапевтические',
'name_full' => 'Терапевтические отделения'
]);
DepartmentType::create([
'name_short' => 'Перинатальный',
'name_full' => 'Перинатальный центр'
]);
Department::create([
'name_full' => 'Гинекологическое отделение',
'name_short' => 'Гинекологическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Нейрохирургическое отделение',
'name_short' => 'Нейрохирургическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Отделение термических поражений',
'name_short' => 'Термических поражений',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Отоларингологическое отделение',
'name_short' => 'Отоларингологическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Проктологическое отделение',
'name_short' => 'Проктологическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Отделение сосудистой хирургии',
'name_short' => 'Сосудистой хирургии',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Отделение торакальной хирургии',
'name_short' => 'Торакальной хирургии',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Травматологическое отделение',
'name_short' => 'Травматологическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Урологическое отделение',
'name_short' => 'Урологическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Хирургическое отделение',
'name_short' => 'Хирургическое',
'rf_department_type' => 1
]);
Department::create([
'name_full' => 'Отделение ЧЛХ',
'name_short' => 'ЧЛХ',
'rf_department_type' => 1
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 1,
'rf_metrika_item_id' => 1,
'value' => '50'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 2,
'rf_metrika_item_id' => 1,
'value' => '45'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 3,
'rf_metrika_item_id' => 1,
'value' => '39'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 4,
'rf_metrika_item_id' => 1,
'value' => '30'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 5,
'rf_metrika_item_id' => 1,
'value' => '34'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 6,
'rf_metrika_item_id' => 1,
'value' => '40'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 7,
'rf_metrika_item_id' => 1,
'value' => '25'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 8,
'rf_metrika_item_id' => 1,
'value' => '50'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 9,
'rf_metrika_item_id' => 1,
'value' => '50'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 10,
'rf_metrika_item_id' => 1,
'value' => '55'
]);
DepartmentMetrikaDefault::create([
'rf_department_id' => 11,
'rf_metrika_item_id' => 1,
'value' => '25'
]);
}
}

View File

@@ -1,46 +0,0 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Schema;
class TestLpuDataSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
Schema::create('oms_lpu', function (Blueprint $table) {
$table->id('lpuid');
$table->string('mname_s');
$table->foreignId('mainlpuid')->nullable()->constrained('oms_lpu', 'lpuid');
});
Schema::create('oms_department', function (Blueprint $table) {
$table->id('depatmentid');
$table->string('departmentname');
$table->foreignId('rf_lpuid')->constrained('oms_lpu', 'lpuid');
});
\DB::table('oms_lpu')->insert([
'lpuid' => 1,
'mname_s' => 'ГАУЗ АО АОКБ',
'mainlpuid' => null
]);
\DB::table('oms_lpu')->insert([
'lpuid' => 2,
'mname_s' => 'Приемное отделение',
'mainlpuid' => 1
]);
\DB::table('oms_department')->insert([
'departmentname' => 'Тест',
'rf_lpuid' => 2,
'depatmentid' => 1
]);
}
}

View File

@@ -50,5 +50,33 @@ class TestMetrikaSeeder extends Seeder
'rf_metrika_item_id' => $item->metrika_item_id
]);
}
MetrikaGroup::create([
'name' => 'Поступления',
]);
MetrikaItem::create([
'name' => 'Выбыло',
'data_type' => 'integer',
'default_value' => 0,
]);
MetrikaItem::create([
'name' => 'Состоит',
'data_type' => 'integer',
'default_value' => 0,
]);
MetrikaGroupItem::create([
'rf_metrika_group_id' => 2,
'rf_metrika_item_id' => 3
]);
MetrikaGroupItem::create([
'rf_metrika_group_id' => 2,
'rf_metrika_item_id' => 7
]);
MetrikaGroupItem::create([
'rf_metrika_group_id' => 2,
'rf_metrika_item_id' => 8
]);
}
}

View File

@@ -2,7 +2,9 @@
namespace Database\Seeders;
use App\Models\Role;
use App\Models\User;
use App\Models\UserRole;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
@@ -13,6 +15,23 @@ class TestUserSeeder extends Seeder
*/
public function run(): void
{
Role::create([
'name' => 'Администратор',
'slug' => 'admin',
]);
Role::create([
'name' => 'Заведующий отделением',
'slug' => 'head_of_department',
]);
Role::create([
'name' => 'Врач',
'slug' => 'doctor',
]);
Role::create([
'name' => 'Статистик',
'slug' => 'statistician',
]);
User::create([
'name' => 'Test User',
'login' => 'test',
@@ -20,5 +39,19 @@ class TestUserSeeder extends Seeder
'rf_department_id' => 1,
'rf_lpudoctor_id' => null
]);
UserRole::create([
'rf_user_id' => 1,
'rf_role_id' => 1,
'is_default' => true
]);
UserRole::create([
'rf_user_id' => 1,
'rf_role_id' => 2,
]);
UserRole::create([
'rf_user_id' => 1,
'rf_role_id' => 3,
]);
}
}