257 lines
7.9 KiB
PHP
257 lines
7.9 KiB
PHP
<?php
|
||
|
||
namespace themes\merakomis\team\Member\structure;
|
||
|
||
use themes\merakomis\Emp;
|
||
|
||
class eMemberRole {
|
||
const DIRECTOR = 1;
|
||
const MAIN_ENGINEER = 2;
|
||
const MAIN_CONSTRUCTOR = 3;
|
||
const ENGINEER_CONSTRUCTOR = 4;
|
||
const MAIN_ARCHITECT = 5;
|
||
const ARCHITECT = 6;
|
||
const DIRECTOR_ENGINEER = 7;
|
||
const ENGINEER = 8;
|
||
const DIRECTOR_ARCHITECT = 9;
|
||
const BIM_COORDINATOR = 10;
|
||
const SPECIALIST_GENERAL_PLAN = 11;
|
||
const ENGINEER_GEO = 12;
|
||
const ENGINEER_SEARCHER = 13;
|
||
|
||
const DIRECTOR_ENGINEER_EOM = 14;
|
||
const ENGINEER_EOM = 15;
|
||
const DIRECTOR_ENGINEER_SSIAK = 16;
|
||
const ENGINEER_SSIAK = 17;
|
||
const DIRECTOR_ENGINEER_VK = 18;
|
||
const ENGINEER_VK = 19;
|
||
const DIRECTOR_ENGINEER_OVIK = 20;
|
||
const ENGINEER_OVIK = 21;
|
||
const EMPLOYER = 22;
|
||
|
||
static $arr;
|
||
static $nl;
|
||
static $sep = '• ';
|
||
|
||
static function getArray(){
|
||
return static::$arr ? : [
|
||
/*
|
||
self::DIRECTOR => [
|
||
'n'=>'РП - Руководитель проекта',
|
||
't'=>str_repeat(self::$sep,0),
|
||
'sub'=>[
|
||
self::MAIN_ENGINEER,
|
||
self::MAIN_CONSTRUCTOR,
|
||
self::ENGINEER_CONSTRUCTOR,
|
||
self::MAIN_ARCHITECT,
|
||
self::ARCHITECT,
|
||
self::DIRECTOR_ENGINEER,
|
||
self::ENGINEER,
|
||
self::DIRECTOR_ARCHITECT,
|
||
],
|
||
],
|
||
*/
|
||
self::MAIN_ENGINEER => [
|
||
'n'=>'ГИП',
|
||
't'=>str_repeat(self::$sep,1),
|
||
'sub'=>[
|
||
self::MAIN_CONSTRUCTOR,
|
||
self::ENGINEER_CONSTRUCTOR,
|
||
self::MAIN_ARCHITECT,
|
||
self::ARCHITECT,
|
||
self::DIRECTOR_ENGINEER,
|
||
self::ENGINEER,
|
||
self::DIRECTOR_ARCHITECT,
|
||
self::DIRECTOR_ENGINEER_EOM,
|
||
self::DIRECTOR_ENGINEER_SSIAK,
|
||
self::DIRECTOR_ENGINEER_VK,
|
||
self::DIRECTOR_ENGINEER_OVIK,
|
||
]
|
||
],
|
||
self::MAIN_ARCHITECT => [
|
||
'n'=>'ГАП',
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::DIRECTOR_ARCHITECT,
|
||
self::ARCHITECT,
|
||
self::SPECIALIST_GENERAL_PLAN,
|
||
]
|
||
],
|
||
self::ARCHITECT => [
|
||
'n'=>'Архитектор',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::SPECIALIST_GENERAL_PLAN => [
|
||
'n'=>'Специалист генплана',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::MAIN_CONSTRUCTOR => [
|
||
'n'=>'ГКП',
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::ENGINEER_CONSTRUCTOR,
|
||
self::ENGINEER_GEO,
|
||
self::ENGINEER_SEARCHER,
|
||
]
|
||
],
|
||
self::ENGINEER_CONSTRUCTOR => [
|
||
'n'=>'Инженер-конструктор',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::ENGINEER_GEO => [
|
||
'n'=>'Инженер-геотехник',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::ENGINEER_SEARCHER => [
|
||
'n'=>'Инженер-обследователь',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
|
||
|
||
|
||
self::DIRECTOR_ENGINEER_EOM => [
|
||
'n'=>'Ведущий инженер ЭОМ',
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::ENGINEER_EOM
|
||
]
|
||
],
|
||
self::ENGINEER_EOM => [
|
||
'n'=>'Инженер ЭОМ',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::DIRECTOR_ENGINEER_SSIAK => [
|
||
'n'=>'Ведущий инженер ССиАК',
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::ENGINEER_SSIAK
|
||
]
|
||
],
|
||
self::ENGINEER_SSIAK => [
|
||
'n'=>'Инженер ССиАК',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::DIRECTOR_ENGINEER_VK => [
|
||
'n'=>'Ведущий инженер ВК',
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::ENGINEER_VK
|
||
]
|
||
],
|
||
self::ENGINEER_VK => [
|
||
'n'=>'Инженер ВК',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
self::DIRECTOR_ENGINEER_OVIK => [
|
||
'n'=>'Ведущий инженер ОВиК',
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::ENGINEER_OVIK
|
||
]
|
||
],
|
||
self::ENGINEER_OVIK => [
|
||
'n'=>'Инженер ОВиК',
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
|
||
|
||
self::DIRECTOR_ENGINEER => [
|
||
'n'=>'Ведущий инженер',
|
||
'archive'=>true,
|
||
't'=>str_repeat(self::$sep,2),
|
||
'sub'=>[
|
||
self::ENGINEER
|
||
]
|
||
],
|
||
self::ENGINEER => [
|
||
'n'=>'Инженер',
|
||
'archive'=>true,
|
||
't'=>str_repeat(self::$sep,3),
|
||
'sub'=>[]
|
||
],
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/*
|
||
self::DIRECTOR_ARCHITECT => [
|
||
'n'=>'Ведущий архитектор',
|
||
'sub'=>[
|
||
self::ARCHITECT,
|
||
]
|
||
],
|
||
*/
|
||
self::BIM_COORDINATOR => [
|
||
'n'=>'BIM-координатор',
|
||
't'=>str_repeat(self::$sep,1),
|
||
'sub'=>[]
|
||
],
|
||
self::EMPLOYER => [
|
||
'n'=>'Сотрудник',
|
||
't'=>str_repeat(self::$sep,1),
|
||
'sub'=>[]
|
||
],
|
||
];
|
||
|
||
|
||
}
|
||
static function getSubRoles($role){
|
||
if(Emp::isSuperView() ){
|
||
return [
|
||
self::DIRECTOR,
|
||
self::MAIN_ENGINEER,
|
||
self::MAIN_CONSTRUCTOR,
|
||
self::ENGINEER_CONSTRUCTOR,
|
||
self::MAIN_ARCHITECT,
|
||
self::ARCHITECT,
|
||
self::DIRECTOR_ENGINEER,
|
||
self::ENGINEER,
|
||
self::DIRECTOR_ARCHITECT,
|
||
];
|
||
}
|
||
return self::getArray()[$role]['sub'];
|
||
}
|
||
|
||
static function getName($x){
|
||
return self::getArray()[$x]['n'];
|
||
}
|
||
|
||
static function getRealNameList($x = null){
|
||
if(static::$nl) return self::$nl;
|
||
$res = [];
|
||
$a = self::getArray();
|
||
foreach ($a as $k=>$v){
|
||
if($v['archive'] && $k!=$x) continue;
|
||
$res[] = ['id'=>$k,'title'=>$v['t'].' '.$v['n']];
|
||
}
|
||
return self::$nl = $res;
|
||
}
|
||
|
||
static function getNameList(){
|
||
if(static::$nl) return self::$nl;
|
||
$res = [];
|
||
$a = self::getArray();
|
||
foreach ($a as $k=>$v){
|
||
$res[] = ['id'=>$k,'title'=>$v['t'].' '.$v['n']];
|
||
}
|
||
return self::$nl = $res;
|
||
}
|
||
|
||
|
||
|
||
}
|