Загрузка данных


<!DOCTYPE html>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
	<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
		<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
			<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
				<%@ taglib prefix="s" uri="http://www.springframework.org/tags" %>
					<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

						<%@ page session="true" language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

							<html lang="ru">
								<head>
									<jsp:include page="head.jsp"/>
									<style>
										th {
											text-align: center;
										}
									</style>
								</head>
								<body>

									<script type="text/javascript" src="<c:url value='/js/latest/queryAction.js'/>"></script>
									<script type="text/javascript" src="<c:url value='/js/latest/queryTable.js'/>"></script>

									<script type="text/javascript">
										//  ka.kopteva задача 98519 от 13.04.2026
										let Search_All = false;
										let sr_number = null;

										$(document).ready(function() {
											$("#filter_activity_type").select2({
												placeholder: "Вид деятельности",
												allowClear: true,
												minimumResultsForSearch: Infinity
											});

											clearFilters();
										});

										function clearFilters() {
											$('#filter_startDate').val('');
											$('#filter_endDate').val('');
											$('#filter_Number').val('');
										}

										function clearBottomFilters() {
											$("#filter_insuranceNumber").val('');
											$("#filter_activity_type").val(null).trigger('change');
											$("#filter_lastName").val('');
											$("#filter_firstName").val('');
											$("#filter_middleName").val('');
											$("#filter_contractNumber").val('');
										}//

										$(function() {
											const fns_journal = new QueryTable("VxvzLyks", {
												initComplete: function(queryAction) {
													fns_journal.addActionButton("AddButtonMain", "Отправить в ФНС", uploadRegister, "btn-primary", true);
												},
												onRowSelect: function(data, index) {
													sr_number = data.request_number;
													fns_detail.reload();
													$('#openModalBtn').prop('disabled', false);
												},
												onRowDeselect: function(data, index) {
													sr_number = null;
													fns_detail.reload();
													$('#openModalBtn').prop('disabled', true);
												} //  ka.kopteva задача 98519 от 13.04.2026
											}, function() {      
												return {
													flk_id: getQueryParam('flk_id'),
													id: getQueryParam('id'),
													startDate: $("#filter_startDate").val(),
													endDate: $("#filter_endDate").val(),
													Number: $("#filter_Number").val(),
													filterShowList: Search_All
												};
											});

											$("#filter_search_top").click(() => {
												const hasFilters = $('#filter_startDate').val().trim() || 
															$('#filter_endDate').val().trim() || 
															$('#filter_Number').val().trim();

												if (!hasFilters) {
													return;
												}

												Search_All = true;
												fns_journal.reload();
											});

											$('#filter_clean_top').click(() => {
												Search_All = false;
												clearFilters();
												sr_number = null; 
												fns_journal.reload();
												fns_detail.reload(); 
											});//

											function uploadRegister() {
												const validationResult = [];
												const message_level = 'info';

												const appData = fns_journal.data();
												if (!appData.model_file_id) {
													validationResult.push({ messageType: message_level, message: 'Отсутствует документ в СФР' });
													showMessages(validationResult);
													return;
												}

												$.ajax({
													url: "queryAction/action",
													type: "POST",
													async: false,
													data: {
														viewCode: '7K6FKG8e',
														queryActionCode: 'DaizGytc',
														record_id: appData.model_file_id,
														unload_mode: 1
													},
													dataType: "json",
													success: response => handleUploadResponse(response, validationResult)
												});

												$.ajax({
													url: "queryAction/action",
													type: "POST",
													async: false,
													data: {
														viewCode: '7K6FKG8e',
														queryActionCode: 'sr8LySCh',
														model_file_to_verification_id: appData.model_file_id
													},
													dataType: "json",
													success: response => handleUploadResponse(response, validationResult)
												});

												showMessages(validationResult);
												fns_journal.reload();
											}

											function editNumber() {
												const validationResult = [];
												const message_level = 'info';

												const appData = fns_journal.data();
												if (!appData.smevRegisterId) {
													validationResult.push({ messageType: message_level, message: 'Отсутствует ИД Реестра' });
													showMessages(validationResult);
													return;
												}
												const newNumber = $('#modalInput').val();


												$.ajax({
													url: "queryAction/action",
													type: "POST",
													async: false,
													data: {
														viewCode: '7K6FKG8e',
														queryActionCode: '4eEKszab',
														smevRegisterId: appData.smevRegisterId,
														new_number: newNumber
													},
													dataType: "json",
													//	success: response => handleUploadResponse(response, validationResult)
												});

												$('#editModal').modal('hide');
												showMessages(validationResult);
												fns_journal.reload();
												$('#openModalBtn').prop('disabled', true);
											}

											$('#editForm').on('submit', function (e) {
												console.log('ВВВ')
												e.preventDefault();
												editNumber();
											});

											function handleUploadResponse(response, validationResult) {
												if (response.data === 0) {
													validationResult.push({ messageType: message_level, message: 'Файл выгружен.' });
												} else if (response.data === 1) {
													validationResult.push({ messageType: message_level, message: 'Файл с таким именем уже существует во внешнем хранилище.' });
												} else {
													validationResult.push({ messageType: message_level, message: `Ошибка: код процесса выгрузки ${response.data}` });
												}
											}
											//  ka.kopteva задача 98519 от 13.04.2026
											const fns_detail = new QueryTable("T4gawA5f", {}, function() {
												return {
													sr_number: sr_number,
													filterInsuranceNumber: $("#filter_insuranceNumber").val(),
													filterActivityType: $("#filter_activity_type").val(),
													filterLastName: $("#filter_lastName").val(),
													filterFirstName: $("#filter_firstName").val(),
													filterMiddleName: $("#filter_middleName").val(),
													filterContractNumber: $("#filter_contractNumber").val(),
													filterShowList: Search_All
												};
											});

											$("#filter_search_bottom").click(() => fns_detail.reload());

											$("#filter_clean_bottom").click(() => {
												clearBottomFilters();
												sr_number = null;
												fns_detail.reload();
											});
										}); //

										function getQueryParam(key) {
											const url = new URL(window.location.href);
											return url.searchParams.get(key);
										}

										$(document).ready(function(){
											$('#openModalBtn').on('click', function(){
												$('#modalInput').val(sr_number);
												$('#editModal').modal('show');
											});
										});
									</script>

									<jsp:include page="header.jsp"/>
									<jsp:include page="navbar.jsp"/>

									<div class="container" id="mainContainer">
										<div class="page-header">
											<h1>Журнал запросов в ФНС</h1>
										</div>
										<div class="container-fluid">
											<div class="row row-main">
												<jsp:include page="sidebar.jsp"/>

												<div class="col-sm-10">
													<tags:breadcrumbs path="https://portal.futurenpf.ru/knowledgebase/category/31164/"/>

													<form class="form-horizontal" local-storage id="searchContractFilter" style="background-color: #d4edda; margin: -21px -15px 0px; padding: 20px 20px 10px;">
														<div class="row" style="margin-left: 2px;">
															<div class="form-group">
																<div class="col-sm-2">
																	<input type="text" class="form-control date-picker-on" id="filter_startDate" name="filter_startDate" placeholder="Дата запроса с.."/>
																</div>
																<div class="col-sm-2">
																	<input type="text" class="form-control date-picker-on" id="filter_endDate" name="filter_endDate" placeholder="Дата запроса по.."/>
																</div>
																<div class="col-sm-2">
																	<input type="text" class="form-control" maxlength="20" id="filter_Number" name="filter_Number" placeholder="Номер запроса"/>
																</div>
															</div>

															<div class="row" style="margin-left: -15px; margin-top: 20px;">
																<div class="col-sm-10 offset-sm-2">
																	<div class="btn-group">
																		<button id="filter_search_top" name="filter_search_top" type="button" class="btn btn-success"
																						data-loading-text="Отбор...">
																			<span class="glyphicon glyphicon-search"></span> Найти
																		</button>
																		<button id="filter_clean_top" name="filter_clean_top" type="button" class="btn btn-warning"
																						data-loading-text="Очистка...">
																			<span class="glyphicon glyphicon-trash"></span> Сбросить
																		</button>
																	</div>
																</div>
															</div>
														</div>
													</form>

													<div class="row">
														<h3 class="col-sm-12">Журнал запросов в ФНС</h3>
														<div class="col-sm-12">
															<jsp:include page="queryTable.jsp">
																<jsp:param name="queryTableCode" value="VxvzLyks"/>
															</jsp:include>
														</div>

														<div class="mb-2">
															<button type="button" class="btn btn-warning" id="openModalBtn" style="position: relative; left: 157px; top: -45px;"
																			disabled>
																Редактировать
															</button>
														</div>

													</div>

													<div class="row">
														<form class="form-horizontal" local-storage id="searchContractDetailFilter" style="background-color: #d4edda; margin: 0px -15px 0px; padding: 20px 20px 10px;">
															<div class="row" style="margin-left: 15px;">
																<div class="form-group">
																	<div class="col-sm-2">
																		<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" maxlength="50"
																					 id="filter_lastName" name="filter_lastName" placeholder="Фамилия"/>
																	</div>
																	<div class="col-sm-2">
																		<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" maxlength="50"
																					 id="filter_firstName" name="filter_firstName" placeholder="Имя"/>
																	</div>
																	<div class="col-sm-2">
																		<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" maxlength="50"
																					 id="filter_middleName" name="filter_middleName" placeholder="Отчество"/>
																	</div>
																	<div class="col-sm-2">
																		<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" maxlength="50"
																					 id="filter_insuranceNumber" name="filter_insuranceNumber" data-mask="999-999-999 99"
																					 placeholder="СНИЛС"/>
																	</div>
																</div>
															</div>

															<div class="row" style="margin-left: 15px;">
																<div class="form-group">
																	<div class="col-sm-2">
																		<input type="text" class="form-control" maxlength="20" id="filter_contractNumber"
																					 name="filter_contractNumber" placeholder="Номер договора"/>
																	</div>
																	<div class="col-sm-2">
																		<select id="filter_activity_type" class="form-control">
																			<option value=""></option>
																			<option value="NPO">НПО</option>
																			<option value="PDS">ПДС</option>
																		</select>
																	</div>
																</div>
															</div>

															<div class="row" style="margin-left: 0px; margin-top: 20px;">
																<div class="col-sm-10 offset-sm-2">
																	<div class="btn-group">
																		<button id="filter_search_bottom" name="filter_search_bottom" type="button" class="btn btn-success"
																						data-loading-text="Отбор...">
																			<span class="glyphicon glyphicon-search"></span> Найти
																		</button>
																		<button id="filter_clean_bottom" name="filter_clean_bottom" type="button" class="btn btn-warning"
																						data-loading-text="Очистка...">
																			<span class="glyphicon glyphicon-trash"></span> Сбросить
																		</button>
																	</div>
																</div>
															</div>
														</form>

														<h3 class="col-sm-12">Данные запроса в ФНС</h3>
														<div class="col-sm-12">
															<jsp:include page="queryTable.jsp">
																<jsp:param name="queryTableCode" value="T4gawA5f"/>
															</jsp:include>
														</div>
													</div>
												</div>
											</div>
										</div>
									</div>

									<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="editModalLabel" aria-hidden="true">
										<div class="modal-dialog">
											<div class="modal-content">
												<div class="modal-header">
													<h5 class="modal-title" id="editModalLabel">Редактирование данных</h5>

												</div>
												<div class="modal-body">
													<form id="editForm">
														<div class="mb-3">
															<label for="modalInput" class="form-label">Введите новое значение:</label>
															<input type="text" class="form-control" id="modalInput" placeholder="Заполните поле...">
														</div>
													</form>
												</div>
												<div class="modal-footer">
													<button type="button" class="btn btn-secondary" data-dismiss="modal">Отмена</button>
													<button type="submit" form="editForm" class="btn btn-primary">Сохранить</button>
												</div>
											</div>
										</div>
									</div>

									<jsp:include page="footer.jsp"/>
								</body>
							</html>