Модуль:CatNav/rank

Материал из Кадровый состав НКВД 1935-1939
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Для документации этого модуля может быть создана страница Модуль:CatNav/rank/doc

--local cq = mw.ext.cargo.query

--local req = cq(
--			'ranks_table',
--			'rank,subrank,COUNT(DISTINCT nFull)',
--			{
--				where = 'rank NOT LIKE "Отмена%" AND rank <> "лишен"',
--				groupBy = 'rank,subrank',
--				limit = 3000,
--			}
--		)

--local bar = {}

--for _,foo in ipairs( req ) do
--	bar[foo.rank] = bar[foo.rank] or {}
--	bar[foo.rank][foo.subrank] = foo['COUNT(DISTINCT nFull)']
--end

--mw.logObject(bar)
local twice = {
	['младший лейтенант государственной безопасности'] = true,
	['лейтенант государственной безопасности'] = true,
	['старший лейтенант государственной безопасности'] = true,
	['капитан государственной безопасности'] = true,
	['майор государственной безопасности'] = true,
	['сержант милиции'] = true,
	['младший лейтенант милиции'] = true,
	['лейтенант милиции'] = true,
	['старший лейтенант милиции'] = true,
	['капитан милиции'] = true,
	['майор милиции'] = true,
}
local diap = {
	['1'] = ' (до 02.1943)',
	['0'] = ' (с 02.1943)',
}

local foo = mw.ext.externalData.getExternalData( { db='cargoview', from = 'aa_szr__rank_counter', data = 'rank, old, persons', limit = 1000 } )
local bar = {}
for _, foo in ipairs( foo ) do
	local rank = foo.rank or 'нет'
	if twice[rank] then
		rank = rank .. diap[foo.old]
	end
	bar[rank] = foo.persons
end

return bar