meraproject/themes/merakomis/team/member/structure/eMemberRole.php

257 lines
7.9 KiB
PHP
Raw Permalink Normal View History

<?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;
}
}