<?php // этот модуль необходимо делать тольео для крупных проектов, для небольшых описание пунктов меню и файлов меню лучше делать в init.php
$__functions['init'][]      ='_terapevt_admin_vars' ;
$__functions['boot_admin'][] ='_terapevt_admin_boot' ;
//$__functions['alert'][]   ='_terapevt_admin_alert' ;
$__functions['install'][]	='_terapevt_install_modul' ;



function _terapevt_admin_vars() //
{   //-----------------------------------------------------------------------------------------------------------------------------
	// описание переменных модуля
	//-----------------------------------------------------------------------------------------------------------------------------

	//-----------------------------------------------------------------------------------------------------------------------------
	// описание классов модуля
	//-----------------------------------------------------------------------------------------------------------------------------
    //-----------------------------------------------------------------------------------------------------

    $_SESSION['descr_clss'][261]['name']='Статистика терапевта' ;
    $_SESSION['descr_clss'][261]['parent']=0 ;
    $_SESSION['descr_clss'][261]['fields']['type']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][261]['fields']['personal_id']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][261]['fields']['ssd']=array('type'=>'float(10,2)') ;
    $_SESSION['descr_clss'][261]['fields']['sdd']=array('type'=>'float(10,2)') ;
    $_SESSION['descr_clss'][261]['fields']['sp']=array('type'=>'float(10,2)') ;
    $_SESSION['descr_clss'][261]['fields']['gr']=array('type'=>'int(1)') ;
    $_SESSION['descr_clss'][261]['fields']['Mag']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][261]['fields']['M']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][261]['fields']['Kuag']=array('type'=>'float(10,2)') ;
    $_SESSION['descr_clss'][261]['fields']['mo_cnt']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][261]['fields']['minmo_cnt']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][261]['index']['c_data']='c_data';
    $_SESSION['descr_clss'][261]['index']['personal_id']='personal_id';
    $_SESSION['descr_clss'][261]['index']['type']='type';

    $_SESSION['descr_clss'][262]['name']='Оценка давления' ;
    $_SESSION['descr_clss'][262]['parent']=20 ;
    $_SESSION['descr_clss'][262]['fields']['v1']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][262]['fields']['v2']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][262]['fields']['ball']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][262]['fields']['group']=array('type'=>'int(11)') ;
 
    $_SESSION['descr_clss'][262]['list']['field']['obj_name']		    =array('title'=>'Название') ;
    $_SESSION['descr_clss'][262]['list']['field']['v1']		        	=array('title'=>'От') ;
    $_SESSION['descr_clss'][262]['list']['field']['v2']			        =array('title'=>'До') ;
    $_SESSION['descr_clss'][262]['list']['field']['ball']			    =array('title'=>'Оценка') ;
 
    $_SESSION['descr_clss'][263]['name']='Вызовы на прием' ;
    $_SESSION['descr_clss'][263]['parent']=0 ;
    $_SESSION['descr_clss'][263]['fields']['account_id']=array('type'=>'int(11)') ; //вызвал на прием
    $_SESSION['descr_clss'][263]['fields']['medic_id']=array('type'=>'int(11)') ; //проводил прием
    $_SESSION['descr_clss'][263]['fields']['personal_id']=array('type'=>'int(11)') ;
//    $_SESSION['descr_clss'][263]['fields']['cnt_view']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][263]['fields']['status']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][263]['fields']['s_data']=array('type'=>'timedata') ; // время начала осмотра
    $_SESSION['descr_clss'][263]['fields']['e_data']=array('type'=>'timedata') ; // время окончания осмотра
    $_SESSION['descr_clss'][263]['fields']['anamnes']=array('type'=>'serialize') ;
    $_SESSION['descr_clss'][263]['fields']['recomendation']=array('type'=>'serialize') ;
    $_SESSION['descr_clss'][263]['fields']['ufs']=array('type'=>'float(10,3)') ; //коэф УФС
    $_SESSION['descr_clss'][263]['fields']['rsso']=array('type'=>'int(1)') ; //РССО
    $_SESSION['descr_clss'][263]['fields']['message_id']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][263]['index']['c_data']='c_data';
    $_SESSION['descr_clss'][263]['index']['personal_id']='personal_id';
    $_SESSION['descr_clss'][263]['index']['message_id']='message_id';

    $_SESSION['descr_clss'][264]['name']='Индикаторы терапевта' ;
    $_SESSION['descr_clss'][264]['parent']=0 ;
    $_SESSION['descr_clss'][264]['fields']['period_type']=array('type'=>'int(1)') ;
    $_SESSION['descr_clss'][264]['fields']['cnt_personals']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][264]['fields']['cnt_gr']=array('type'=>'int(11)') ;
    $_SESSION['descr_clss'][264]['fields']['cnt_stable_gr']=array('type'=>'int(11)') ;

}

function _terapevt_admin_boot($options)
{
    create_system_modul_obj('terapevt',$options) ;

}


function _terapevt_install_modul($DOT_root)
{
	SETUP()->reg_rol(3,'Цеховой терапевт','/cab/esmo_ct/') ;         //

    SETUP()->reg_report('Цеховой терапевт','esmo_ct/report_esmo_ct.php') ;
    SETUP()->reg_report('Цеховой терапевт','esmo_ct/report_esmo_ct_map.php') ;
    SETUP()->reg_report('Цеховой терапевт','esmo_ct/report_terapevt_reception.php') ;         //

    // цеховой терапевт
    $id_sect=SETUP_add_section_to_site_setting('Цеховой терапевт') ;
    SETUP_add_rec_to_site_setting($id_sect,"Значимое количество медосмотров для месяца",5,'LS_ct_MonthMO',array('hidden'=>1)) ;
    SETUP_add_rec_to_site_setting($id_sect,"Значимое количество медосмотров для недели",2,'LS_ct_WeekMO',array('hidden'=>1)) ;
    SETUP_add_rec_to_site_setting($id_sect,"Значимое количество медосмотров для квартала",15,'LS_ct_QuarterMO',array('hidden'=>1)) ;
    SETUP_add_rec_to_site_setting($id_sect,"Выбранный период МО",1,'LS_ct_PeriodMO',array('el'=>'select','array'=>'arr_terapevt_periodMO','hidden'=>1)) ;
    SETUP_add_rec_to_site_setting($id_sect,"Срок прохождения приема у терапевта до блокировки МО",30,'LS_ct_block_mo',array('hidden'=>1)) ;

    ENGINE()->reg_cron('Обновление данных РМЦТ для периода "Неделя"','terapevt/update_stats_and_indicator_week','*/3 * * * *',array('enabled'=>1)) ;
    ENGINE()->reg_cron('Обновление данных РМЦТ для периода "Месяц"','terapevt/update_stats_and_indicator_month','0 */1 * * *',array('enabled'=>1)) ;
    ENGINE()->reg_cron('Обновление данных РМЦТ для периода "Квартал"','terapevt/update_stats_and_indicator_quarter','0 0 * * *',array('enabled'=>1)) ;

    $pattern=array() ;
    $pattern['table_title']		        = 	'Статистика ЦТ' ;
    $pattern['use_clss']		        = 	'261,264' ;
    $pattern['def_recs'][]		        =	array ('parent'=>0,	'clss'=>1,	'enabled'=>1,	'indx'=>0,	'obj_name'=>'Статистика ЦТ') ;
    $pattern['table_name']				= 	'obj_site_ct_stats' ;
    $pattern['table_clss']				= 	101 ;
    $pattern['table_parent']			= 	$DOT_root;
    create_table_by_pattern($pattern) ;

    $pattern=array() ;
    $pattern['table_title']		        = 	'Вызовы на прием' ;
    $pattern['use_clss']		        = 	'263' ;
    //$pattern['def_recs'][]		        =	array ('parent'=>0,	'clss'=>1,	'enabled'=>1,	'indx'=>0,	'obj_name'=>'Документы') ;
    $pattern['table_name']				= 	'obj_site_ct_req' ;
    $pattern['table_clss']				= 	101 ;
    $pattern['table_parent']			= 	$DOT_root;
    create_table_by_pattern($pattern) ;
    
    $sql='create view view_ct_stats as
                    select  t1.*,
                            t2.obj_name as _personal_name,
                            t2._otdel_id,
                            t2._otdel_name,
                            t2._org_id,
                            t2._org_name
                    from obj_site_ct_stats t1
                    left join view_personals t2 on t2.pkey=t1.personal_id
                    where t1.clss=261
                    ' ;
    create_viewer('view_ct_stats',$sql) ;

    $sql='create view view_ct_req as
                    select  t1.*,
                            t2.obj_name as _personal_name,
                            t2._otdel_id,
                            t2._otdel_name,
                            t2._org_id,
                            t2._org_name,
                            t3.obj_name as _account_name,
                            t4.obj_name as _medic_name
                    from obj_site_ct_req t1
                    left join view_personals t2 on t2.pkey=t1.personal_id
                    left join view_ARR_accounts t3 on t3.pkey=t1.account_id
                    left join view_ARR_accounts t4 on t4.pkey=t1.medic_id
                    ' ;
    create_viewer('view_ct_req',$sql) ;

}




?>