EIOS/integration/tpl/page_students.html

294 lines
17 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{if $view=='check'}
{*<pre>{print_r($items)}</pre>*}
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th class="col-md-4">СИС</th>
<th class="col-md-4">GUID</th>
<th class="col-md-4">ФИО</th>
<th class="col-md-3">Эл.почта</th>
<th class="col-md-3">Телефон</th>
<th class="col-md-3">СНИЛС</th>
{*<th class="col-md-3">Факультет</th>*}
<th class="col-md-3">Группа</th>
<th class="col-md-3">ФО</th>
<th class="col-md-3">Основа</th>
<th class="col-md-3">№зачетки</th>
</tr>
</thead>
<!--{*
[0] => 1 [1] => e667c70f-4fd0-11ed-9368-b42e9988bf39
[2] => Абадзе Алим Адамович [3] =>
[4] => alim.abadze01@gmail.com [5] =>
[6] => 2 [7] => ТО-21 (2022-2 026)
[8] => 23.02.03 [9] => Очная форма обучения
[10] => Коммерческое финансирование [11] => 160-326-285-35
[12] => 918-667-96-53
*}-->
<tbody>
{if count($items.items)}
{foreach from=$items.items[0] item=chel key=k}
<tr class="bg-info">
<td>1С</td>
<td><span class="badge bg-light text-black">{$chel[1]}</span></td>
<td><span class="badge bg-light text-black">{$chel[2]}</span></td>
<td><span class="badge bg-light text-black">{$chel[4]}</span></td>
<td><span class="badge bg-light text-black">{$chel[12]}</span></td>
<td><span class="badge bg-light text-black">{$chel[11]}</span></td>
{*<td><span class="badge bg-light text-black">{$chel[5]}</span></td>*}
<td><span class="badge bg-light text-black">{$chel[7]}</span></td>
<td>{if $chel[9]=='Очная форма обучения'}ОФО{/if}{if $chel[9]=='Заочная форма обучения'}ЗФО{/if}{if $chel[9]=='Очно-заочная форма обучения'}ОЗФО{/if}{if $chel[9]==''}-{/if}</td>
<td><span class="badge bg-light text-black">{if $chel[10]=='Коммерческое финансирование'}КОМ{/if}
{if $chel[10]=='Бюджетное финансирование'}БЮД{/if}
{if $chel[10]==''}-{/if}</span></td>
<td>{$chel[3]}</td>
</tr>
{if isset($chel.check)&&count($chel.check.rez)}
{foreach from=$chel.check.rez item=eios}
<tr class="bg-light">
<td>ЭИ</td>
<td><span class="badge {if $chel[1]!=$eios.guid}bg-danger{else}bg-light text-black{/if}">{$eios.guid}</span></td>
<td>
<span class="badge {if $chel[2]!=$eios.fio}bg-danger{else}bg-light text-black{/if}">{$eios.fio}</span>
{if $eios.status==-1}<span class="badge bg-secondary">заблокирован</span>{/if}
</td>
<td><span class="badge {if $chel[4]!=$eios.email}bg-danger{else}bg-light text-black{/if}">{$eios.email}</span></td>
<td><span class="badge {if $chel[12]!=$eios.phone}bg-danger{else}bg-light text-black{/if}">{$eios.phone}</span></td>
<td><span class="badge {if $chel[11]!=$eios.snils}bg-danger{else}bg-light text-black{/if}">{$eios.snils}</span></td>
{*<td><span class="badge {if $chel[5]!=$eios.grupp.fakultet}bg-danger{else}bg-light text-black{/if}">Факультет</span></td>*}
<td><span class="badge {if $chel[7]!=$eios.grupp[0].sokr}bg-danger{else}bg-light text-black{/if}">{$eios.grupp[0].sokr}</span></td>
<td><span class="badge {if $chel[9]!=$eios.grupp[0].fo}bg-danger{else}bg-light text-black{/if}">{$eios.grupp[0].fo}</span></td>
<td><span class="badge {if $chel[10]!=$eios.student.ob}bg-danger{else}bg-light text-black{/if}">{*Основа обучения*}</span></td>
<td><span class="badge {if $chel[3]!=$eios.grupp[0].num_zach}bg-danger{else}bg-light text-black{/if}">{$eios.grupp[0].num_zach}</span></td>
</tr>
{/foreach}
{/if}
{/foreach}
{else}
<p>нет данных</p>
{/if}
</tbody>
</table>
</div>
{literal}<script>
$(document).ready(function(){
});
</script>{/literal}
{/if}
{if $view=='parse'}
{*<pre>{print_r($items)}</pre>*}
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th class="col-md-4">ФИО<br>GUID</th>
<th class="col-md-3">Эл.почта<br>Телефон<br>СНИЛС</th>
<th class="col-md-3">Факультет<br>Группа /Код</th>
<th class="col-md-2"></th>
</tr>
</thead>
<!--{*
[0] => 1 [1] => e667c70f-4fd0-11ed-9368-b42e9988bf39
[2] => Абадзе Алим Адамович [3] =>
[4] => alim.abadze01@gmail.com [5] =>
[6] => 2 [7] => ТО-21 (2022-2 026)
[8] => 23.02.03 [9] => Очная форма обучения
[10] => Коммерческое финансирование [11] => 160-326-285-35
[12] => 918-667-96-53
*}-->
<tbody>
{if count($items.items)}
{foreach from=$items.items[0] item=chel key=k}
<tr class="">
<td>
{$chel[2]}<br><span class="badge bg-secondary">{$chel[1]}</span>
</td>
<td>
<span class="badge bg-secondary">{$chel[4]}</span><br>
<span class="badge bg-secondary">{$chel[12]}</span><br>
<span class="badge bg-secondary">{$chel[11]}</span>
</td>
<td>
{$chel[5]}<br>
<span class="badge bg-success">{$chel[7]}</span>
<span class="badge bg-success">{if $chel[9]=='Очная форма обучения'}ОФО{/if}{if $chel[9]=='Заочная форма обучения'}ЗФО{/if}{if $chel[9]=='Очно-заочная форма обучения'}ОЗФО{/if}{if $chel[9]==''}-{/if}</span>
{if $chel[10]=='Коммерческое финансирование'}<span class="badge bg-warning">КОМ</span>{/if}
{if $chel[10]=='Бюджетное финансирование'}<span class="badge bg-danger">БЮД</span>{/if}
{if $chel[10]==''}<span class="badge bg-danger">-</span>{/if}
<span class="badge bg-light text-dark">{$chel[3]}</span>
</td>
<td>
<textarea id="chel_json_{$k}" style="display:none;">{json_encode($chel)}</textarea>
<a href="#" class="btn btn-sm btn-warning btn_chel_check" data-id="{$k}" data-bs-toggle="tooltip" data-bs-placement="top" title="Проверить студента"><i class="bi bi-check2-circle"></i></a>
<div id="chel_rez_{$k}"></div>
</td>
</tr>
{/foreach}
{else}
<p>нет данных</p>
{/if}
</tbody>
</table>
</div>
{literal}<script>
$(document).ready(function(){
$(".btn_chel_check").click(function(){
let id = $(this).data('id');
let json = $('#chel_json_'+id).val();
$.ajax({
url: '/integration/students/', cache: false, datatype: 'json', method: 'post',
data: 'ajdes=students_check&json=' + encodeURI(json),
success: function (data) {
$('#chel_rez_'+id).html(data.html);
}
});
return false;
});
});
</script>{/literal}
{/if}
{if $view=='all'}
<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="pills-home-tab" data-bs-toggle="pill" data-bs-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true">Загрузить XLS студентов</button>
</li>
{*<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-profile-tab" data-bs-toggle="pill" data-bs-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Загрузить план - НОВЫЙ</button>
</li>*}
</ul>
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab" tabindex="0">
<form method="post" enctype="multipart/form-data" class="row g-3">
<div class="col-auto">
<label for="info0" class="visually-hidden">Загрузить файл</label>
<input type="text" readonly class="form-control-plaintext" id="info0" value="Загрузить файл">
</div>
<div class="col-auto">
<label for="file0" class="visually-hidden">Файл</label>
<input type="file" class="form-control" id="file0" name="file0">
</div>
<div class="col-auto">
<button type="submit" class="btn btn-primary mb-3" name="upload0">Загрузить</button>
</div>
<div class="col-auto">
Грузить только Excel файлы сохраненные из 1C. Скрипт сверяет по ФИО из 1С и ЭИОС, если находит по ФИО, то обновляет данные(телефон, снилс, GUID), если есть двойники, формирует файл двойников(для ручной обработки)<br>
Скрипт имеет консольные команды:
<ul>
<li><b>1.</b> <a href="#" class="btn btn-sm btn-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Обработать файл"><i class="bi bi-gear"></i></a> Парсинг файла XLS В JSON (php cron.php students_parse 1_studentovMGTU.xls) </li>
<li><b>2.</b> <a href="#" class="btn btn-sm btn-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Сделать сверку студентов"><i class="bi bi-card-checklist"></i></a> Проверка студентов и запись в JSON (php cron.php students_check 1_studentovMGTU.xls) </li>
<li><b>3.</b> <a href="#" class="btn btn-sm btn-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Внести изменения"><i class="bi bi-arrow-bar-right"></i></a> Обновление данных (php cron.php students_update 1_studentovMGTU.xls) </li>
<li><b>4.</b> <a href="#" class="btn btn-sm btn-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Внести изменения в группы"><i class="bi bi-arrow-right-square"></i></a> Обновление данных групп (php cron.php students_update_grupp 1_studentovMGTU.xls) </li>
</ul>
Файл из 1С должен иметь такие столбцы:<br>
<b>[1]</b> => № п/п
<b>[2]</b> => GUID
<b>[3]</b> => ФИО
<b>[4]</b> => Номер зачетной книжки
<b>[5]</b> => Эл.почта
<b>[6]</b> => Факультет<br>
<b>[7]</b> => Курс
<b>[8]</b> => Группа
<b>[9]</b> => Код специальности
<b>[10]</b> => Форма обучения
<b>[11]</b> => Основа обучения
<b>[12]</b> => СНИЛС
<b>[13]</b> => Телефон
</div>
</form>
</div>
{*<div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab" tabindex="0">
<form method="post" enctype="multipart/form-data" class="row g-3">
<div class="col-auto">
<label for="info" class="visually-hidden">Загрузить новый план</label>
<input type="text" readonly class="form-control-plaintext" id="info" value="Загрузить новый план">
</div>
<div class="col-auto">
<label for="file" class="visually-hidden">Файл</label>
<input type="file" class="form-control" id="file" name="file">
</div>
<div class="col-auto">
<button type="submit" class="btn btn-primary mb-3" name="upload">Загрузить</button>
</div>
<div class="col-auto">
грузить только Excel файлы сохраненные из "синей звезды"
{if isset($uplmes)}<div class="alert alert-danger" role="alert">{$uplmes}</div>{/if}
</div>
</form>
</div>*}
</div>
{*if isset($file)}<div class="alert alert-info" role="alert"><pre>{print_r($file)}</pre></div>{/if*}
{if isset($uplmes)}<div class="alert alert-danger" role="alert">{$uplmes}</div>{/if}
<h3>Загруженные файлы</h3>
<table class="table">
<thead>
<tr>
<th class="col-1">Дата/измен</th>
<th class="col-1">Файл</th>
<th class="col-1">Данные</th>
<th class="col-1">Обработка</th>
<th class="col-1">Результаты</th>
</tr>
</thead>
<tbody>
{if count($items)}
{foreach from=$items item=file}
<tr class="">
<td>{date('H:i d.m.Y',$file.data_c)}<br>{date('H:i d.m.Y',$file.data_m)}</td>
<td>{$file.pi.filename}</td>
<td>
<span class="badge bg-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Расширение файла">{$file.pi.extension}</span> <span class="badge bg-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Размер файла">{$file.size}</span>
</td>
<td>
<a href="/{$file.file}" class="btn btn-sm btn-info" data-bs-toggle="tooltip" data-bs-placement="top" title="Скачать файл"><i class="bi bi-file-earmark-arrow-down"></i></a>
{if $file.is_json==0}
<a href="{$url}parse/{$file.pi.filename}.{$file.pi.extension}" class="btn btn-sm btn-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Обработать файл"><i class="bi bi-gear"></i></a>
{else}
{if $file.is_checks==0}
<a href="{$url}check/{$file.pi.filename}.{$file.pi.extension}" class="btn btn-sm btn-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Сделать сверку студентов"><i class="bi bi-card-checklist"></i></a>
{else}
{if $file.is_csv_change==0}
<a href="{$url}update/{$file.pi.filename}.{$file.pi.extension}" class="btn btn-sm btn-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Внести изменения"><i class="bi bi-arrow-bar-right"></i></a>
<a href="{$url}update_grupp/{$file.pi.filename}.{$file.pi.extension}" class="btn btn-sm btn-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Внести изменения в группы"><i class="bi bi-arrow-right-square"></i></a>
{else}
{/if}
{/if}
{/if}
</td>
<td>
{if $file.is_csv_change==0}
{if $file.is_json==0}
<input type="text" class="form-control form-text" value="php cron.php students_parse {$file.pi.filename}.{$file.pi.extension}">
{else}
{if $file.is_checks==0}
<input type="text" class="form-control form-text" value="php cron.php students_check {$file.pi.filename}.{$file.pi.extension}">
{else}
{if $file.is_csv_change==0}
<input type="text" class="form-control form-text form-control-sm" value="php cron.php students_update {$file.pi.filename}.{$file.pi.extension}">
{else}
{/if}
{/if}
{/if}
{/if}
{if $file.is_csv_change==1}
<a href="/integration/{$file.file_csv_change}" class="btn btn-info btn-sm" target="_blank" data-bs-toggle="tooltip" data-bs-placement="top" title="Файл с внесенными изменениями">ОК</a>
{/if}
{if $file.is_csv_double==1}
<a href="/integration/{$file.file_csv_double}" class="btn btn-info btn-sm" target="_blank" data-bs-toggle="tooltip" data-bs-placement="top" title="Файл для ручной проверки">ДВОЙН</a>
{/if}
</td>
</tr>
{/foreach}
{else}
<p>нет файлов</p>
{/if}
</tbody>
</table>
{/if}