#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Полная проверка Classification Codes с выводом полных наименований
"""
import frappe

def check_full_names():
	"""Проверка полных наименований"""

	print('\n' + '='*100)
	print('ПРОВЕРКА CLASSIFICATION CODES')
	print('='*100)

	# Проверяем несколько записей с полными наименованиями
	codes = frappe.db.sql("""
		SELECT name, code, name_az
		FROM `tabClassification code`
		ORDER BY code
		LIMIT 5
	""", as_dict=True)

	for idx, c in enumerate(codes, 1):
		print(f'\n{idx}. Запись:')
		print(f'   ID (name):   {c.name}')
		print(f'   Code:        {c.code}')
		print(f'   Name_az:     {c.name_az if c.name_az else "❌ ПУСТОЕ"}')
		print(f'   Длина name:  {len(c.name_az) if c.name_az else 0} символов')

	# Статистика
	total = frappe.db.count('Classification code')
	empty = frappe.db.sql("""
		SELECT COUNT(*) as cnt
		FROM `tabClassification code`
		WHERE name_az IS NULL OR name_az = ''
	""")[0][0]

	print('\n' + '='*100)
	print('СТАТИСТИКА:')
	print('='*100)
	print(f'Всего записей:            {total}')
	print(f'С пустым name_az:         {empty}')
	print(f'С заполненным name_az:    {total - empty}')
	print('='*100)

if __name__ == '__main__':
	frappe.init(site='site1')
	frappe.connect()
	check_full_names()
	frappe.destroy()
