294 lines
17 KiB
HTML
294 lines
17 KiB
HTML
|
{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}
|