EIOS/integration/tpl/page_students.html

294 lines
17 KiB
HTML
Raw Permalink Normal View History

2023-12-28 15:39:22 +03:00
{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}