<?php
include_once(_DIR_TO_CLASS.'/c_page.php');
include_once(_DIR_TO_MODULES.'/m_skd.php');


class c_page_cab_post_shift_poll extends c_page{

    function set_head_tags(){
        parent::set_head_tags();
        //$this->HEAD['css'][]=_PATH_TO_EXT.'/post_shift_poll/lib/style.css';


        $this->HEAD['js'][] = '/AddOns/google/charts/gstatic/charts/loader.js';
        $this->HEAD['css'][] = '/AddOns/google/charts/fonts/Roboto_medium.css';



        $this->HEAD['js'][]=_PATH_TO_EXT.'/post_shift_poll/lib/jqtable/jquery.tablesorter.js';

        $this->HEAD['css'][] = _PATH_TO_EXT.'/post_shift_poll/lib/global_styles_v1.0.css';
        $this->HEAD['js'][]=_PATH_TO_EXT.'/post_shift_poll/lib/jqtable/jquery-3.6.0.min.js';
        $this->HEAD['js'][]=_PATH_TO_EXT.'/post_shift_poll/lib/jqtable/jquery.tablesorter.combined.js';
        $this->HEAD['js'][]=_PATH_TO_EXT.'/post_shift_poll/lib/jqtable/jquery.tablesorter.js';
        $this->HEAD['js'][]=_PATH_TO_EXT.'/post_shift_poll/lib/jqtable/jquery.tablesorter.widgets.js';
    }

    function second_menu_config(){

        parent::second_menu_config();
        $this->second_menu['/cab/post_shift_poll/']=array('title'=>'Общий график организации');
        $this->second_menu['/cab/post_shift_poll/positions/']=array('title'=>'Должности');
        $this->second_menu['/cab/post_shift_poll/actions/']=array('title'=>'Журнал сотрудников');
        $this->second_menu['/cab/post_shift_poll/results/']=array('title'=>'Результаты опросов');
        $this->second_menu['/cab/post_shift_poll/setting/']=array('title'=>'Настройки');
        $this->second_menu['/cab/post_shift_poll/info/']=array('title'=>'Информация');

        //$this->second_menu['/cab/post_shift_poll/summary/']=array('title'=>'Сотрудники');
        //$this->second_menu['/cab/post_shift_poll/alternative_analytics/']=array('title'=>'Альтернативная аналитика');
    }



    function block_main()
    {


        include "lib/style_and_js_for_table.php";
        include "lib/sliding_with_forecast.php";


        $_org_name_orijin = execSQL('select _org_name, _org_id from view_personals  group by _org_name'); // Организации
        $_org_name = array_values($_org_name_orijin);



        // Организация по умолчанию
        if(!$_GET['_org_name']){
            $_GET['_org_id'] = '15057';
            $_GET['_org_name'] = 'АО+"Полюс+Алдан"';
        }
        // Фильтрация по умолчанию
        if(!$_GET['sel_in']){
            $_GET['sel_in'] = '2';
        }


        if($_GET['_org_name'] or $_GET['_org_id']){
            include "lib/page_fn/_main.php"; // Вычисления для главноей страницы
        ?>

        <style>
                .new-bt-3{
                    float: right !important;
                    margin-top: -5px !important;
                    margin-right: 0px !important;
                    background: #2da5da !important;
                    border: 0px !important;
                    color: #fff !important;
                    border-radius: 9px !important;
                    padding: 9px 25px !important;
                    height: auto !important;
                    font-weight: 600 !important;
                    font-size: 11px !important;
                    text-decoration: auto !important;
                }
            </style>

        <h1>Общий график (Уровень: <?=$lvl?>)</h1>


        <div class="card_container mb-0" style="margin-top: 45px;margin-bottom: 20px;max-width: 2620px;">
            <form>
                <script>
                    var expanded = false;

                    function showCheckboxes() {
                        var checkboxes = document.getElementById("checkboxes");
                        if (!expanded) {
                            checkboxes.style.display = "block";
                            expanded = true;
                        } else {
                            checkboxes.style.display = "none";
                            expanded = false;
                        }
                    }
                </script>

                <div class="d-inter">
                    <div class="in_card_title">Интервал данных:</div>
                    <select id="interval_data" class="sel_in" name="sel_in">
                        <option <?if($_GET['sel_in'] == 2) echo'selected="selected"';?> value="2">Неделя</option>
                        <option <?if($_GET['sel_in'] == 1) echo'selected="selected"';?> value="1">Сутки</option>
                        <option <?if($_GET['sel_in'] == 3) echo'selected="selected"';?> value="3">30 дней</option>
                        <option <?if($_GET['sel_in'] == 4) echo'selected="selected"';?> value="4">Прогрессивный</option>
                    </select>
                </div>



                <div class="d-inter" <?=$st_1?>>
                    <div class="in_card_title">Организация:</div>
                    <input type="text" class="form-control autocomplete sel_in sel_in-c" autocomplete="off" list="_org_name" placeholder="Необходимо выбрать" name="_org_name" value='<?=$ORGNAME?>'>
                    <datalist id="_org_name">
                        <?
                        $t = 1;
                        if (sizeof($_org_name)) foreach ($_org_name as $key => $value){
                            echo '<option data-id="'.$t.'" value=\''.$value['_org_name'].'\'">';
                            $t++;
                        }
                        ?>
                    </datalist>
                </div>
                <?



                if($wk_n){

                    /*
                    ?>
                    <div class="d-inter">
                        <div class="in_card_title">Подразделение:</div>
                        <input type="text" class="form-control autocomplete sel_in sel_in-c" autocomplete="off" list="_pos" placeholder="Необходимо выбрать" name="_pos" value='<?=$ORGNAME_2?>'>
                        <datalist id="_pos">
                            <?
                            $t = 1;

                            if (sizeof($wk_n)) foreach ($wk_n as $key => $value){
                                echo '<option data-id="'.$t.'" value=\''.$value['_otdel_name'].'\'>';
                                $t++;
                            }
                            ?>
                        </datalist>
                    </div>
                    <?*/
                }
                ?>

                <button class="bt_s_3">Сортировать</button>
            </form>
        </div>


        <div>
            <div class="wh-40 dis">
                <table id="table" class="table_main" cellpadding="0" cellspacing="0" style="margin-top: 20px;border-radius: 9px;overflow: hidden;background: #f9f9f9;width: 100%">
                    <thead>
                    <tr class="title_tab_table">
                        <td>Тип</td>
                        <td>Наименование</td>
                        <td><?=$d_in[$in][1]?> дней</td>
                        <td><?=$d_in[$in][2]?> дней</td>
                        <td><?=$d_in[$in][3]?> дней</td>
                        <td><?=$d_in[$in][4]?> дней</td>
                        <td><?=$d_in[$in][5]?> дней</td>
                        <td><?=$d_in[$in][6]?> дней</td>
                    </tr>
                    </thead>
                    <tbody>
                    <?
                    $r = 0;
                    if (sizeof($table_title_1)) foreach ($table_title_1 as $key => $value) {
                        echo '
                        <tr>
                            <td>'.$value.'</td>
                            <td>'.$table_title_2[$r].'</td>
                            <td>'.$arr_data[$r][0].'</td>
                            <td>'.$arr_data[$r][1].'</td>
                            <td>'.$arr_data[$r][2].'</td>
                            <td>'.$arr_data[$r][3].'</td>
                            <td>'.$arr_data[$r][4].'</td>
                            <td>'.$arr_data[$r][5].'</td>
                        </tr>
                        ';
                        $r++;
                    }
                    echo '
                </tbody></table>
                
                <div class="title-dash">Показатели динамики балла
                
                <a class="new-bt-3 v2" cmd="post_shift_poll/trendGraph"  sel_in="'.$_GET['sel_in'].'" period="'.$t.'" org_id="'.$_org_id.'"  otdel_id="'.$otdel_id.'">График тренда баллов</a>
                
                </div>
                
                <table id="table" class="table_main" cellpadding="0" cellspacing="0" style="margin-top: 20px;border-radius: 9px;overflow: hidden;background: #f9f9f9;width: 100%">
                    <thead>
                    <tr class="title_tab_table">
                        <td>Тип</td>
                        <td>Наименование</td>
                        <td>'.$d_in[$in][1].' дней</td>
                        <td>'.$d_in[$in][2].' дней</td>
                        <td>'.$d_in[$in][3].' дней</td>
                        <td>'.$d_in[$in][4].' дней</td>
                        <td>'.$d_in[$in][5].' дней</td>
                        <td>'.$d_in[$in][6].' дней</td>
                    </tr>
                    </thead>
                    <tbody>
                    <?
                    ';

                    $rN = 0;

                    if (sizeof($title_2)) foreach ($title_2 as $key => $value) {
                        echo '
                        <tr>
                            <td>'.$value.'</td>
                            <td>'.$table_title_2[$r].'</td>
                            <td>'.$arr_data_t2[$rN][0].'';if($rN > 4){echo '%';} echo'</td>
                            <td>'.$arr_data_t2[$rN][1].'';if($rN > 4){echo '%';} echo'</td>
                            <td>'.$arr_data_t2[$rN][2].'';if($rN > 4){echo '%';} echo'</td>
                            <td>'.$arr_data_t2[$rN][3].'';if($rN > 4){echo '%';} echo'</td>
                            <td>'.$arr_data_t2[$rN][4].'';if($rN > 4){echo '%';} echo'</td>
                            <td>'.$arr_data_t2[$rN][5].'';if($rN > 4){echo '%';} echo'</td>
                        </tr>
                        ';
                        $r++;
                        $rN++;
                    }

                    ?>
                    </tbody>
                </table>

                <script type="text/javascript">
                    google.charts.load("current", {packages:["corechart"]});
                    google.charts.setOnLoadCallback(drawChart);
                    function drawChart() {
                        var data = google.visualization.arrayToDataTable([
                            ['Task', 'Hours per Day'],
                            ['Оценок 5 Баллов',   <?=$arr_data_t2[9][0]?>],
                            ['Оценок 4 Балла',      <?=$arr_data_t2[8][0]?>],
                            ['Оценок 3 Балла',  <?=$arr_data_t2[7][0]?>],
                            ['Оценок 2 Балла', <?=$arr_data_t2[6][0]?>],
                            ['Оценок 1 Балл',    <?=$arr_data_t2[5][0]?>]
                        ]);

                        var options = {
                            title: 'График крайнего периода отношения баллов (<?=$d_in[$in][1]?> дней)',
                            pieHole: 0.4,
                        };

                        var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
                        chart.draw(data, options);
                    }
                </script>


                <div id="donutchart"></div>


            </div>

            <div class="wh-60 dis">

                <?
                $maxValue = [];
                $t = 0;
                $i = 1;

                $grapData = [];

                if (sizeof($arr_data[2])) foreach ($arr_data[2] as $key => $value) {
                    if($value){

                        if($i > 1){
                            $columnName = $d_in[$in][$i - 1].'-'.$d_in[$in][$i];
                        }else{
                            $columnName = $d_in[$in][$i];
                        }

                        $str = [
                            'day' => $columnName,
                            'value' => $value,
                            'sr' => srBallNK($sb_NK,$t),
                        ];

                        array_push($grapData, $str);

                        //echo "['".$columnName." Дней',  ".$value.", ".srBallNK($sb_NK,$t)."],";
                        array_push($maxValue, $value);
                        array_push($maxValue, srBallNK($sb_NK,$t));
                    }
                    $t++;
                    $i++;
                }



                $max = max($maxValue) * 1.005;
                $min = min($maxValue) * 0.995;


                ?>

                <script>
                    google.charts.load('current', {'packages':['line']});
                    google.charts.setOnLoadCallback(drawChart);

                    function drawChart() {

                        var data = new google.visualization.DataTable();
                        data.addColumn('string', '15 Дней');
                        data.addColumn('number', 'Средняя оценка');
                        data.addColumn('number', 'Средняя оценка накоплением');

                        data.addRows([
                            <?
                            $grapData = array_reverse($grapData);

                            if (sizeof($grapData)) foreach ($grapData as $key => $value) {

                                echo "['".$value['day']." Дней',  ".$value['value'].", ".$value['sr']."],";

                                $t++;
                                $i++;
                            }

                            ?>
                        ]);

                        var options = {
                            hAxis: {title: 'Интервалы (<?=$intervalName[$in]?>)'},
                            vAxis: {
                                title: 'Среднее значение',
                                //minValue:0,
                                //maxValue:6,
                                viewWindow: {
                                    min: <?=$min?>,
                                    max: <?=$max?>
                                }
                            },
                            chart: {
                                title: 'Динамика среднего балла: <?=$ORGNAME?>',
                                subtitle: 'Средняя оценка и средняя оценка накоплением',
                            },
                            height: 500,

                        };

                        var chart = new google.charts.Line(document.getElementById('linechart_material'));

                        chart.draw(data, google.charts.Line.convertOptions(options));
                    }
                </script>

                <div id="linechart_material"></div>



                    <?


                    if ($_org_id) {
                        if ($otdel_id) {
                            echo '<div class="title-dash">Отчеты о динамике среднего балла в подразделении</div><div>';

                            $t = 0;
                            $i = 1;
                            if (sizeof($arr_data[2])) foreach ($arr_data[2] as $key => $value) {
                                if($value){

                                    if($i > 1){
                                        $columnName = $d_in[$in][$i - 1].'-'.$d_in[$in][$i];
                                    }else{
                                        $columnName = $d_in[$in][$i];
                                    }

                                    ?>

                                    <div class="card_t_1_a mt-4">
                                        <div class="card_t_1">
                                            <div class="card_t_1_title" id="button1">Детализировать должности за <?=$columnName?> дней</div>
                                            <div id="re_date" class="card_t_1_des" style="    margin-bottom: 21px !important;">Просмотр данных по должностям. Изменение средней оценки <?=getСhange($arrSRB,$t)?></div>
                                            <a class="bt_s_4 v2" p_url="<?=_CUR_CAB_DIR?>" cmd="post_shift_poll/breakdown_of_posts" sel_in="<?=$_GET['sel_in']?>" period="<?=$t?>" org_id="<?=$_org_id?>" otdel_id="<?=$otdel_id?>">Детализация должностей</a>
                                        </div>
                                    </div>

                                    <?
                                }
                                $i++;
                                $t++;
                            }






                            echo '</div>';
                        } else {

                            echo '<div class="title-dash">Отчеты о динамике среднего балла подразделений</div><div>';
                            $t = 0;
                            $i = 1;
                            if (sizeof($arr_data[2])) foreach ($arr_data[2] as $key => $value) {
                                if($value){

                                    if($i > 1){
                                        $columnName = $d_in[$in][$i - 1].'-'.$d_in[$in][$i];
                                    }else{
                                        $columnName = $d_in[$in][$i];
                                    }

                                    ?>
                                    <div class="card_t_1_a mt-4">
                                        <div class="card_t_1" style="margin-top: 0px !important;">
                                            <div class="card_t_1_title" id="button1">Средний балл за период <?=$columnName?> дней</div>
                                            <div id="re_date" class="card_t_1_des mb-1">Изменение средней оценки <?=getСhange($arrSRB,$t)?></div>
                                            <a class="bt_s_4 v2" p_url="<?=_CUR_CAB_DIR?>" cmd="post_shift_poll/modalListPOs" sel_in="<?=$_GET['sel_in']?>" period="<?=$t?>" org_id="<?=$_org_id?>">Детализация подразделений</a>
                                        </div>
                                    </div>
                                    <?
                                }
                                $i++;
                                $t++;
                            }
                            echo '</div>';
                        }

                    }


                    ?>




                <div class="title-dash">Общие данные используемые в аналитике</div>

                <div>

                    <div class="card_t_1_a mt-4">
                        <div class="card_t_1">
                            <div class="card_t_1_title" id="button1">Cотрудников по списку:</div>
                            <div id="re_date" class="card_t_1_des mb-0">Без учёта наличия оценки уровня безопасности и МО</div>
                            <div id="re_date" class="text_max"><?=count($count_All_filter_noBall)?> человек</div>
                        </div>
                    </div>


                    <div class="card_t_1_a mt-4">
                        <div class="card_t_1">
                            <div class="card_t_1_title" id="button1">Сотрудников с МО и баллами:</div>
                            <div id="re_date" class="card_t_1_des mb-0">Колличество сотрудников за всё время после фильтрации, используемые в аналитике</div>
                            <div id="re_date" class="text_max"><?=count($count_All_filter)?> человек</div>
                        </div>
                    </div>


                    <div class="card_t_1_a mt-4">
                        <div class="card_t_1">
                            <div class="card_t_1_title" id="button1">Исключены из аналитики:</div>
                            <div id="re_date" class="card_t_1_des mb-0">Сотрудники игнорирующие опрос оценки безопасности или не имеющие МО</div>
                            <div id="re_date" class="text_max"><?=$excluded?> человек</div>
                        </div>
                    </div>

                    <div class="card_t_1_a mt-4">
                        <div class="card_t_1">
                            <div class="card_t_1_title" id="button1">Игнор:</div>
                            <div id="re_date" class="card_t_1_des mb-0">Сотрудники стабильно игнорирующие опрос оценки безопасности при прохождении МО</div>
                            <div id="re_date" class="text_max"><?=$pIgnor?> человек</div>
                        </div>
                    </div>

                </div>

            </div>
        </div>

        <?php

        }else{



            ?>


            <h1>Выбор организации для получения аналитики</h1>


            <div class="card_container mb-0" style="margin-top: 45px;margin-bottom: 20px;max-width: 2620px;">
                <form>
                    <script>
                        var expanded = false;

                        function showCheckboxes() {
                            var checkboxes = document.getElementById("checkboxes");
                            if (!expanded) {
                                checkboxes.style.display = "block";
                                expanded = true;
                            } else {
                                checkboxes.style.display = "none";
                                expanded = false;
                            }
                        }
                    </script>

                    <div class="d-inter">
                        <div class="in_card_title">Интервал данных:</div>
                        <select id="interval_data" class="sel_in" name="sel_in">
                            <option <?if($_GET['sel_in'] == 2) echo'selected="selected"';?> value="2">Неделя</option>
                            <option <?if($_GET['sel_in'] == 1) echo'selected="selected"';?> value="1">Сутки</option>
                            <option <?if($_GET['sel_in'] == 3) echo'selected="selected"';?> value="3">30 дней</option>
                            <option <?if($_GET['sel_in'] == 4) echo'selected="selected"';?> value="4">Прогрессивный</option>
                        </select>
                    </div>

                    <div class="d-inter">
                        <div class="in_card_title">Организация:</div>
                        <input type="text" class="form-control autocomplete sel_in sel_in-c" autocomplete="off" list="_org_name" placeholder="Необходимо выбрать" name="_org_name" value='<?=$_GET['_org_name']?>'>
                        <input type="hidden" name="testId"/>
                        <datalist id="_org_name">
                            <?
                            $t = 1;
                            if (sizeof($_org_name)) foreach ($_org_name as $key => $value){
                                echo '<option data-id="'.$t.'" value=\''.$value['_org_name'].'\'">';
                                $t++;
                            }
                            ?>
                        </datalist>
                    </div>

                    <?
                    if($wk_n){
                        ?>
                        <div class="d-inter">
                            <div class="in_card_title">Подразделение:</div>
                            <input type="text" class="form-control autocomplete sel_in sel_in-c" autocomplete="off" list="_pos" placeholder="Необходимо выбрать" name="_pos" value='<?=$_GET['_pos']?>'>
                            <input type="hidden" name="testId"/>
                            <datalist id="_pos">
                                <?
                                $t = 1;
                                if (sizeof($_org_name)) foreach ($_org_name as $key => $value){
                                    echo '<option data-id="'.$t.'" value=\''.$value['_org_name'].'\'>';
                                    $t++;
                                }
                                ?>
                            </datalist>
                        </div>
                        <?
                    }
                    ?>

                    <button class="bt_s_3">Сортировать</button>
                </form>
            </div>

            <div style="padding: 140px;background: #f3f3f3;text-align: center;margin-top: 50px;border-radius: 9px;font-size: 15px;font-weight: 600;">Необходимо выбрать организацию</div>

            <?php
        }
    }
}
?>
