<?php
$__functions['init'][]='_work_order_site_vars' ;
$__functions['boot_site'][]='_work_order_site_boot' ;

function WO() {return($_SESSION['work_order_system']);$_SESSION['work_order_system']=new c_work_order_system();return($_SESSION['work_order_system']);} ;


function _work_order_site_vars()
{

}

function _work_order_site_boot($options)
{
  create_system_modul_obj('work_order',$options) ;
}


class c_work_order_system
{
	function declare_menu_items_3($page)
   {

       $page->menu['/cab/work_order/']=array('title'=>'Наряды на работу',
                                          //'class'=>'fa fa-book',
                                          //'items'=>array('/cab/docs/'=>array('title'=>'Документы','class'=>'fa fa-book')

                                          //              )
                                          ) ;
   }


   function create_personal_workorder($personal_id,$form_data)
   {  $data['clss']=291 ;
   	  $data['personal_id']=$personal_id ;
   	  $data['data_from']=strtotime($form_data['data_from']) ;
   	  $data['data_to']=strtotime($form_data['data_to']) ;
   	  $data['car_number']=$form_data['car_number'] ;
   	  $id=adding_rec_to_table('list_work_orders',$data) ;
   	  return(array('code'=>'success','id'=>$id)) ;
   }

   function mo_check_personal_access(&$rec_personal)
   {
	   $wo_id=execSQL_value('select pkey from list_work_orders where personal_id='.$rec_personal['pkey'].' and data_from<'.time().' and data_to>'.time().' order by pkey desc limit 1') ;
	   $rec_personal['__check']['work_order']=($wo_id)? $wo_id:0 ;
	   if ($wo_id) $rec_personal['__check']['work_order']=$wo_id ;
	   else
	    {   $rec_personal['__check']['work_order']=0 ;
	        $rec_personal['__check_comment'][]='Для вас отсутствует наряд на работы' ;
		    $rec_personal['__reason']='workOrderNotFound' ;
		    $rec_personal['__pause']=0 ;

	    }

   }

	// обрабочик события прошедшего МО
   function on_event_mo_passed_success($options=array())
   {   $rec_mo=ESMO()->get_mo_by_id($options['mo_id']) ;
	   $server_obj=null ;
       if (is_object($options['this'])) $server_obj=$options['this'] ;

	   // если допуск вписываем номер МО в таблицу нарядов
	   if ($rec_mo['dopusk']==1)
	   {   $rec_wo=execSQL_van('select * from list_work_orders where personal_id='.$rec_mo['member_id'].' and data_from<'.time().' and data_to>'.time().' order by pkey desc limit 1') ;
	   	   update_rec_in_table('list_work_orders',array('mo_id'=>$rec_mo['pkey']),'pkey='.$rec_wo['pkey']) ;
		   if (is_object($server_obj)) $server_obj->reason='МО пройден, Ваш наряд № '.$rec_wo['pkey'].', номер авто: '.$rec_wo['car_number'] ;

	   }

   }

   function create_response_technic($wo_id)
   {
	   update_rec_in_table('list_work_orders',array('tech_status'=>1,'tech_data'=>time()),'pkey='.$wo_id) ;
   }

   // возвращает текущий наряд для сотрудника
   function get_current_work_order_to_personal($personal_id)
   {
	   $rec_wo=execSQL_van('select * from list_work_orders where personal_id='.$personal_id.' and data_from<'.time().' and data_to>'.time().' order by pkey desc limit 1') ;
	   return($rec_wo) ;
   }

   function get_wo_by_id($wo_id)
   {
	   $rec_wo=execSQL_van('select * from list_work_orders where pkey='.$wo_id.'') ;
	   return($rec_wo) ;
   }

   function generate_put_list($wo_id,$options=array())
   {   //$rec_wo=$this->get_wo_by_id($wo_id) ;
       //$rec_member=PERSONAL()->get_personal_by_id($rec_wo['personal_id']) ;

	   include_once(_DIR_TO_ROOT."/AddOns/MPDF57/mpdf.php");
       set_time_point('include_MPDF57') ;
       $mpdf = new mPDF('utf-8', 'A5', '8', '', 0, 0, 0, 0, 0, 0); /*задаем формат, отступы и.т.д.*/
       set_time_point('create mPDF') ;
       $mpdf->charset_in = 'UTF-8'; /*не забываем про русский*/

       //$stylesheet = file_get_contents(_DIR_TO_CLASS.'/style.css'); /*подключаем css*/
       //$stylesheet = file_get_contents(_DIR_TO_ROOT.'/style_pdf.css'); /*подключаем css*/
       //$mpdf->WriteHTML($stylesheet, 1);

       $mpdf->list_indent_first_level = 0;
       //$mpdf->WriteHTML($html, 2); /*формируем pdf*/

       //$mpdf->WriteHTML('<p>This should print on an A4 (portrait) sheet</p>');
       //$mpdf->WriteHTML('<tocpagebreak sheet-size="A4-L" toc-sheet-size="A5" toc-preHTML="This ToC should print on an A5 sheet" />');

       // внедряем в PDF шаблоны путеового листа, которые заполняем через скрипт
       $mpdf->WriteHTML('<img src="'._PATH_TO_SITE.'/cab/work_order/print/put_list_n1.jpg?to_id='.$wo_id.'"/>');
       $mpdf->WriteHTML('<img src="'._PATH_TO_SITE.'/cab/work_order/print/put_list_n2.jpg?to_id='.$wo_id.'"/>');

       //$mpdf->WriteHTML('<tocentry content="A4 landscape" /><p>This page appears just after the ToC and should print on an A4 (landscape) sheet</p>');
       //$mpdf->WriteHTML('<tocentry content="A4 landscape" /><p>This page appears just after the ToC and should print on an A4 (landscape) sheet</p>');
       //$mpdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
       //$mpdf->WriteHTML($html);

       //$mpdf->Output($name.'.pdf', 'I');
       $doc_name='PL_'.$wo_id.'.pdf' ;
       $doc_dir=_TEMP_DIR.$doc_name ;
       $doc_url=_TEMP_PATH.$doc_name ;
       $mode=($options['mode'])? $options['mode']:'F' ;
       $mpdf->Output($doc_dir,$mode);
       return($doc_url) ;
   }





}

?>