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


var registerTable = new QueryTable("Ky2zYzjd", {

			initComplete: function (settings, json) {
				registerTable.insertActionButton("addNewRegister", "Создать", addNewRegister, "btn-success", false, 0);
				registerTable.insertActionButton("checkRegister", "Проверить", checkRegister, "btn-primary", true, 2);
				registerTable.addActionButton("exportRegister", "Сформировать xml c проверкой", exportRegister, "btn-primary", true);
				registerTable.addActionButton("uploadRegister", "Отправить в СФР", uploadRegister, "btn-primary", true);				
				registerTable.addActionButton("deleteRegister", "Удалить", deleteRegister, "btn-danger", true); 
				registerTable.addActionButton("exportSettings", ' ', exportSettings, "btn-primary", true);
				
				$('#exportSettings').css('display', 'inline-block').append($('<i></i>').addClass('glyphicon glyphicon-wrench icon-white')); // glyphicon glyphicon-cog
				$('#exportSettings').append(' Настройка');
				//registerTable.addActionButton("exportRegisterXML", "Выгрузить xml", exportRegisterXML, "btn-primary", true);
			},

			onRowSelect: function (data, index) {
				dataTable.reload();
				dataTable_error.reload();
				defaultBatches = true;

			},
			onRowDeselect: function (data, index) {
				dataTable.reload();
				dataTable_error.reload();

			},
			drawCallback: function (settings) {
				skip_url_app = (settings.oAjaxData.queryTableFilter.size != 0);
				dataTable.reload();
				dataTable_error.reload();

			}
		},
		function () {
			var appData = registerTable.data();
			var data = {};
			data.registerType ="СИЗЛП";
			let id_register = application().id;
			
			// есть ли выбранные фильтры
			const isFilterActive = registerTable.filter().parts.some(function (value) {
				return (
					["VALUE", "PREDICATE"].includes(value.type) || value.id.includes("NULL")
				);
			});

			if (id_register && id_register > -1) {
				data.id = id_register; // показываем переданный ID
			} else if (isFilterActive) {
				data.id = -1; // при выбранном фильтре показываем записи
			} else {
				data.id = null; // записи скрыты
			}
			/*if(skip_url_app) {
				data.id = -1;
			}else{
				data.id = id_register;
			}*/
			var filter_status = $("#filter_status").val();
  var filter_date_from = $("#filter\\.created_at_from").val();
  var filter_date_to = $("#filter\\.created_at_to").val();
  var filter_number = $("#filter\\.register_number").val();

  data.filter_status = filter_status;
  data.filter_date_from = filter_date_from;
  data.filter_date_to = filter_date_to;
  data.filter_number = filter_number;
			return data;
		},
		{selectFirstRow: true, order: [[0, 'desc']]}												
																			
		);





SELECT
  r.id as id,
  to_char(r.date, 'dd.MM.yyyy') as date,
  r.year as year,
  r.number as number,
  case when mftv.zip_name is null then
  case when mftv.name is not null then
    '<a target="_blank" href="modelFileToVerification/modelFileToVerification/downloadSource?id='|| mftv.id ||'" '|| 
        case when mftv.name is null then 'style="color: #d9534f;"' else '' end ||'>	
    <span class="glyphicon glyphicon-file" aria-hidden="true"></span>' || case when mftv.name = '' then 
         '' else mftv.name end || '</a>'
  else ''
  end
else 
   '<a target="_blank" href="modelFileToVerification/modelFileToVerification/downloadArchive?ArchiveName='|| mftv.zip_name 
     ||'" '|| '>
    <span class="glyphicon glyphicon-file" aria-hidden="true"></span>' || mftv.zip_name ||   '</a>'
end as verified_file_id,
  case when  mftv.id is not null then
    '<a target="_blank" href="view?viewCode=9hUIiHYU&ids=' || mftv.id ||'">	
    <span class="glyphicon glyphicon-book" aria-hidden="true"></span>' || ' ' || mftv.id || '</a>'
else
    ' '
end as journal_id,
  case mftv.count when 1 then 'Сформирован'
        when 2 then 'Проверяется'
        when 3 then 'ФЛК пройден'
  	when 4 then 'Ошибка ФЛК'
        when 5 then 'Отправлен'
  	else ''
end as sfr_status,
  '<a href="queryDataSource/ufvhPMTj/queryDataSourceFile/download?id='|| smev.get_sk_file_id(r.sk1) ||'" '|| 
case when r.sk1 is not null then 
    case when smev.get_sk_file_status_id(r.sk1) = 0 then 'style="color: #d9534f;"' else '' end
end ||'>	
<span class="glyphicon glyphicon-file" aria-hidden="true"></span>' || case when r.sk1 is not null then 
    case when smev.get_sk_file_status_id(r.sk1) = 0 then 'Ошибка' else 'Отчёт' end
end || '</a>' as sk1,
  '<a href="queryDataSource/ufvhPMTj/queryDataSourceFile/download?id='|| smev.get_sk_file_id(r.sk2) ||'" '|| 
case when r.sk2 is not null then 
    case when smev.get_sk_file_status_id(r.sk2) = 0 then 'style="color: #d9534f;"' else '' end
end ||'>	
<span class="glyphicon glyphicon-file" aria-hidden="true"></span>' || case when r.sk2 is not null then 
    case when smev.get_sk_file_status_id(r.sk2) = 0 then 'Ошибка' else 'Отчёт' end
end || '</a>' as sk2,
  mftv.name as sfr_file_name,
  r.description as decription,
  mftv.id as v_file_id,
  mftv.count in (3,5) as ready_to_upload,
  to_char(r.query_date, 'dd.MM.yyyy') as query_date,
  to_char(r.sent, 'dd.MM.yyyy') as sent,
  r.short_name as short_name,
  r.inn as inn,
  r.kpp as kpp,
  r.address as address,
  r.guid as guid,
  r.username as username,
  to_char(r.version, 'DD.MM.YYYY HH24:MI:SS') as version 
FROM report.smev_register r
left join dev.model_file_to_verification mftv on r.verified_file_id = mftv.id
WHERE (case when :like_sign = false 
 then r.smev_register_type_code = any(string_to_array(:registerType, ','))
 else r.smev_register_type_code in ('РПФР-ДСВ','РПФР-М','РПФР-СВ') end)
AND case  
when :id = -1 then true
when :id is null then false 
else r.id = :id
end
AND (:filter_status is null or :filter_status = '' or mftv.count = cast(:filter_status as int))
AND (:filter_date_from is null or :filter_date_from = '' or r.date >= to_date(:filter_date_from, 'YYYY-MM-DD'))
AND (:filter_date_to is null or :filter_date_to = '' or r.date <= to_date(:filter_date_to, 'YYYY-MM-DD'))
AND (:filter_number is null or :filter_number = '' or cast(r.number as text) like '%' || :filter_number || '%')