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


<!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 contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

							<html lang="ru">

								<jsp:include page="head.jsp"/>

								<body>

									<script type="text/javascript" src="<c:url value='/js/${version}/queryAction.js'/>"></script>
									<script type="text/javascript" src="<c:url value='/js/${version}/queryTable.js'/>"></script>
									<script type="text/javascript">

										$(function () {


											var registerTable = new QueryTable("q3kuEgbp", {

												initComplete: function (settings, json) {
													$('#queryTableActionContainer_q3kuEgbp').append($('#addNewTransferDropDown'));
													//  registerTable.addActionButton("approveRegister", "Зарегистрировать фактическую выплату", approveRegister, "btn-primary", true);
													//                    registerTable.addActionButton("printRegisterButton", "Печать", printRegister, "btn-info", true);
													registerTable.addActionButton("pp1c_KL", "Сформировать ПП в Клиент-банк(txt)", pp1c_KL, "btn-info", true);
													registerTable.addActionButton("printFinRegisterButton", "Печать финреестра", printFinRegister, "btn-primary", true);
													registerTable.addActionButton("del_transfert", "Удалить трансферт", del_transfert, "btn-primary", true);
													$('#queryTableActionButton_q3kuEgbp_NbNfwynx').remove();
												},

												onRowSelect: function (data, index) {
													dataTable.reload();
													// setPrintButtonVisible();

												},
												onRowDeselect: function (data, index) {
													$("#printRegisterButton").prop("disabled", true);
												},
												drawCallback: function (settings) {
													dataTable.reload();
												}
											},
																												 function () {
												var appData = registerTable.data();
												var data = {};
												data.registerType = "СФВ";

												if ($("#filter\\.created_at_from").val()) {
													data.created_at_from = $("#filter\\.created_at_from").val();
												}

												if ($("#filter\\.created_at_to").val()) {
													data.created_at_to = $("#filter\\.created_at_to").val();
												}
												if ($("#type_transfert").val()) {
													data.type_transfert = $("#type_transfert").val();
												}
												if ($("#status").val()) {
													data.status = $("#status").val();
												}
												if ($("#filter\\.n_insurer").val()) {
													data.n_insurer = $('#filter\\.n_insurer').select2('data').name;
												}
												data.snils = $("#filter\\.insuranceNumber").val();
												data.id = ${id}?${id}:-1;
												
												return data;
											},
																												 {order: [[0, 'desc']]});


											var dataTable = new QueryTable("fK7tLRxO", {},
																										 function () {
												var appData = registerTable.data();
												var data = {};
												data.registerId = (appData ? appData.id : -1);
                    //data.sharerId = (appData ? appData.sharer_id : -1);
												return data;
											});


											function printRegister() {
												var appData = registerTable.data();
												var id = (appData ? appData.id : "");
												var npfName = (appData ? appData.new_insurer : "");

												var report = new QueryReport("S0UsYHyW", null, {
													id: id, npfName: npfName
												});
												report.run();

											}


											function pp1c_KL() {

												var appData = registerTable.data();
												var next_order_id = (appData ? appData.next_order_id +1 : "");
												var next_order_prefix = (appData ? appData.next_order_prefix : "");
												var registerId = (appData ? appData.id : "");
												$('#register_id').val(registerId);
												if(appData.status === 'Сформированы ПП') {
													CreateOrdersAction.button().click();
													return;
												} 
												//            var id = (appData ? appData.id : "");
												//            var npfName = (appData ? appData.new_insurer : "");
												$('#OrderNumber').val(next_order_id);
												$('#Prefix').val(next_order_prefix);
												$('#OrderDate').val(moment().format('YYYY-MM-DD'))


												$('#CreateOrders').modal('show');

												//						if (appData.name == 'По расторгнутым договорам') {
												//
												//
												//						}else{
												//							alert('Для этого типа реестра печать платежного поручения не предусмотрена.');
												//						}

											}



											var CreateOrdersAction = new QueryAction("buvOKXFb", {
												initComplete: function (queryAction) {
													CreateOrdersAction.button().text("Создать");
													CreateOrdersAction.enable();
												},
												actionComplete: function (data) {
													$("#CreateOrders").modal('hide');
													hideProcessing();
													if (data.result){
														//							openNewWindow("queryModel/file?queryModelCode=s8UhkzNN&queryModelCharset=windows-1251&order_date=" + $('#OrderDate').val());
														var url = "queryModel/file?queryModelCode=s8UhkzNN&queryModelCharset=windows-1251&order_date=" + $('#OrderDate').val()
														var base = $("head base").attr("href");
														var w = window.open(base + url, '_blank');
														window.focus();
														w.onbeforeunload = function(){
															//								alert('aaaa')
															$.ajax({
																url: "queryAction/action",
																type: "POST",
																data:  {'queryActionCode': "3ZVn5Rbm",
																			 },
																dataType: "json",
																success: function (data) {
																	showSuccessMessage("Создание платежных поручений завершено.");
																},
																error: function (request, status, error) {
																	showMessages(error);
																}
															});
														}
													}

													$("#CreateOrders").modal('hide');
													registerTable.reload();
													hideProcessing();
												}
											}, getParam
																															);

											function del_transfert () {

												$.ajax({
													url: "queryAction/action",
													type: "POST",
													data:  {
														queryActionCode: "NbNfwynx",
														id: registerTable.data().id,
													},
													dataType: "json",
													success: function (data) {
														showSuccessMessage("Трансферт удален");
													},
													error: function (request, status, error) {
														showMessages(error);
													}
												});
											};

											function getParam() {
												var data = {};
												$("#CreateOrdersForm").serializeArray().map(function (x) {
													data[x.name] = x.value;
												});
												data["status"] = 1; // Сформированы ПП
											//	data["order_date"] = '30.01.2026'
												return data;
											}



											function printFinRegister() {
												var appData = registerTable.data();
												var register_id = (appData ? appData.id : "");
												var new_insurer_name = (appData ? appData.new_insurer_name : "");
												var new_insurer_inn = (appData ? appData.new_insurer_inn : "");
												var agent_fio = (appData ? appData.agent_fio : "");
												var agent_phone = (appData ? appData.agent_phone : "");
												var register_number = (appData ? appData.number : "");
												var register_date = (appData ? appData.date : "");
												var transfert_type_id = (appData ? appData.transfert_type_id : "");


												var report = new QueryReport("faTV9Kli", null, {
													register_id: register_id,
													new_insurer_inn:new_insurer_inn,
													new_insurer_name:new_insurer_name,
													agent_fio:agent_fio,
													agent_phone:agent_phone,
													register_number: register_number,
													register_date:register_date,
													transfert_type_id: transfert_type_id
												});
												report.run();

											}

											function setPrintButtonVisible() {
												var appData = registerTable.data();
												var transferRecipientCode = (appData ? appData.transferRecipientCode : "");

												console.log(transferRecipientCode);

												if (transferRecipientCode == 'NPF') {
													$("#printRegisterButton").prop('disabled', false);
												} else {
													$("#printRegisterButton").prop("disabled", true);
												}
											}

											function approveRegister() {
												var data = registerTable.data();
												var registerId = (data ? data.id : -1);
												openNewWindow("view?viewCode=Ey6IENUC&id=" + registerId);
											}

											$("#type_transfert")
												.select2({
												placeholder: "Выберите значение",
												allowClear: true,
												minimumInputLength: 0,
												data: [
													{ id: "3", text: "По решению суда" },
													{ id: "4", text: "МСК в связи с отказом ЗЛ" },
													{ id: "5", text: "МСК в связи со смертью ЗЛ" },
													{ id: "6", text: "По объединённым/разъединённым ИЛС" },
													{ id: "7", text: "Корректировка ЕРЗЛ" },
													{ id: "1", text: "Переходная компания" },
													{ id: "8", text: "Иные переводы" },
													{ id: "2", text: "По не вступившим в силу договорам" },
													{ id: "9", text: "МСК в связи с передачей СПН в ПДС" },
													{ id: "10", text: "В связи с переводом ОПС в ПДС" },
												],
											})


											$("#status")
												.select2({
												placeholder: "Выберите значение",
												allowClear: true,
												minimumInputLength: 0,
												data: [
													{ id: "0", text: "Создан" },
													{ id: "2", text: "Выплата зарегистрирована" },
													{ id: "3", text: "Операция отменена" },
													{ id: "1", text: "Сформированы ПП" },
													{ id: "4", text: "Выплата произведена" },
												],
											})
											
											$("#filter\\.n_insurer").select2({
												placeholder: "Выберите страховщика",
												allowClear: true,
												minimumInputLength: 0,
												id: function(e) {
													return e.id;
												},
												ajax: {
													url: "queryModel?queryModelCode=hOt6ENED",
													dataType: 'json',
													data: function(term, page) {
														return {
															term: term,
															maxResults: 10
														};
													},
													results: function(data, page) {
														results = data.list;
														return {
															results
														};
													}
												},
												formatResult: data => '<div>' + data.name + '</div>',
												formatSelection: data => data.name,
												initSelection: () => {},
											}).on("change", function(e) {
												$("#filter\\.n_insurer").attr("value", e.val);
											});


											// Кнопка "Найти"
											$('#filter\\.search').click(function () {
												registerTable.reload();
											});

											// Кнопка "Сбросить"
											$('#filter\\.cleanFilter').click(function () {
												
												if (${id}!=-1)
												{
													const url = new URL(window.location.href);
													const viewCode = url.searchParams.get('viewCode');
													url.search = '';
													if (viewCode !== null) {
														url.searchParams.set('viewCode', viewCode);
													}
													window.location.href = url.href;
												}else{
													$('#paramForm')[0].reset();
													registerTable.reload();
												}

											});
											
											$('#filter\\.insuranceNumber').mask('000-000-000 00');


										});

									</script>

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

									<div id="CreateOrders" class="modal fade" tabindex="-1"
											 role="dialog" data-backdrop="static" aria-labelledby="ChangeFormMainTable" aria-hidden="true">
										<div class="modal-dialog">
											<div class="modal-content">
												<div class="modal-header">
													<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span>
														<span
																	class="sr-only"><s:message code="dialog.close"/></span></button>
													<h4 class="modal-title">Создать платежные поручения</h4>
												</div>
												<div class="modal-body">
													<form id="CreateOrdersForm" class="form-vertical" role="form">

														<%--input type="hidden" name="MainTableFieldID" id="MainTableFieldID"--%>
															<input type="hidden" name="register_id" id="register_id">

															<div class="form-group">
																<label for="OrderNumber">Следующий номер ПП</label>
																<div class="row">
																	<div class="col-sm-6">
																		<input type="number" class="form-control" style="text-align: right;"
																					 id="OrderNumber" name="order_number">
																	</div>
																	<div class="col-sm-6">
																		<input type="text" readonly class="form-control" style="background-color: transparent; border: 0; box-shadow: none;" id="Prefix">
																	</div>
																</div>
															</div>

															<div class="form-group">
																<label for="OrderNumber">Дата ПП</label>
																<input type="date" class="form-control"
																			 id="OrderDate" name="order_date">
																<span id="Prefix"></span>
															</div>

															</form>
														</div>
													<div class="modal-footer">
														<jsp:include page="queryAction.jsp">
															<jsp:param name="queryActionCode" value="buvOKXFb"/>
														</jsp:include>
														<button class="btn btn-default" type="button" data-dismiss="modal">
															<s:message code="button.cancel"/></button>
													</div>

												</div>
											</div>
										</div>
										<%--CreateOrders--%>


											<div class="container" id="mainContainer">

												<div class="page-header">
													<h1>${view.name}</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/29146/"/>

														

															<div class="row">
																<div class="col-sm-12">
																	<form class="form-vertical" id="paramForm">

																		<div class="col-sm-3">
																			<label for="type_transfert">Тип передачи</label>
																			<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" 
																						 id="type_transfert" name="type_transfert" placeholder="Тип передачи">
																		</div>

																		<div class="col-sm-2">
																			<label for="status">Статус</label>
																			<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" 
																						 id="status" name="status" placeholder="Статус">
																		</div>
																		<div class="col-sm-2">
																			<label for="filter.n_insurer">Страховщик</label>
																			<input type="text" id="filter.n_insurer" name="filter.n_insurer" class="form-control" placeholder="Страховщик">
																		</div>
																		<div class="col-sm-2">
																			<label for="filter.created_at_from">Дата выплаты c</label>
                                                                            <input type="text" id="filter.created_at_from" value="<fmt:formatDate value='${currentDate}' pattern='dd.MM.yyyy' />"
																						 class="form-control date-picker-on">
																		</div>
																		<div class="col-sm-2">
																			<label for="filter.created_at_to">Дата выплаты по</label>
																			<input type="text" id="filter.created_at_to" value="<fmt:formatDate value='${currentDate}' pattern='dd.MM.yyyy' />"
																						 class="form-control date-picker-on">
																		</div>
																		
																		<div class="col-sm-2">
																			<label for="filter.insuranceNumber">СНИЛС</label>
																			<input type="text" class="form-control" id="filter.insuranceNumber" name="filter.insuranceNumber" placeholder="СНИЛС" maxlength="14">
																		</div>

																		<div class="col-sm-3 btn-group" style="margin-top: 25px;">
																			<button id="filter.search" name="filter.search" type="button" class="btn btn-success">
																				<span class="glyphicon glyphicon-search" aria-hidden="true"></span> Найти
																			</button>
																			<button id="filter.cleanFilter" name="filter.cleanFilter" type="button" class="btn btn-warning">
																				<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Сбросить
																			</button>
																		</div>

																		<input type="hidden" name="registerId" id="registerId">
																		<div class="row">
																			<div class="col-sm-12">
																				<jsp:include page="queryTable.jsp">
																					<jsp:param name="queryTableCode" value="q3kuEgbp"/>
																					<jsp:param name="queryTableStyle" value="white-space:nowrap;"/>
																				</jsp:include>
																			</div>
																		</div>
																		<div class="hidden">
																			<div id="addNewTransferDropDown" class="btn-group" role="group">
																				<button id="addNewTransfer" name="addNewTransfer"
																								class="btn btn-success dropdown-toggle" type="button"
																								data-toggle="dropdown">Создать новый трансферт
																					<span class="caret"></span></button>
																				<ul class="dropdown-menu">
																					<li><a href="view?viewCode=KlcrCWd6">Переходная компания</a></li>
																					<li><a href="view?viewCode=9zQrxo4f">МСК в связи с отказом ЗЛ</a></li>
																					<li><a href="view?viewCode=P8JUxMJf">МСК в связи со смертью ЗЛ</a></li>
																					<li><a href="view?viewCode=W2rekbAM">Корректировка ЕРЗЛ</a></li>
																					<li><a href="view?viewCode=L53ckqg2">По решению суда</a></li>
																					<li><a href="view?viewCode=jNO77PGw">По не вступившим в силу договорам</a></li>
																					<li><a href="view?viewCode=C18ndKrq">Иные переводы</a></li>
																				</ul>
																			</div>
																		</div>
																		
																		
																			<div id="addNewReport" class="btn-group" role="group">
																				<button id="addNewReport" name="addNewReport"
																								class="btn btn-success dropdown-toggle" type="button"
																								data-toggle="dropdown">Сформировать отчет в СФР
																					</button>
																				</div>
																			

																	</form>
																</div>
															</div>
															<hr>
															<div class="row">
																<div class="col-sm-12">
																	<jsp:include page="queryTable.jsp">
																		<jsp:param name="queryTableCode" value="fK7tLRxO"/>
																		<jsp:param name="queryTableStyle" value="white-space:nowrap;"/>
																	</jsp:include>
																</div>
															</div>
														</div>
													</div>
												</div>

											</div>

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

											</body>
										</html>