pharmacy-pos-qr-system/backend/scripts/check_basecode_stats.py

27 lines
850 B
Python

# -*- coding: utf-8 -*-
import sys
sys.path.insert(0, 'c:\\Users\\청춘약국\\source\\pharmacy-pos-qr-system\\backend')
from db.dbsetup import get_db_session
from sqlalchemy import text
session = get_db_session('PM_DRUG')
result = session.execute(text("""
SELECT
COUNT(*) as total,
SUM(CASE WHEN BASECODE IS NULL THEN 1 ELSE 0 END) as null_count,
SUM(CASE WHEN BASECODE = '' THEN 1 ELSE 0 END) as empty_count,
SUM(CASE WHEN BASECODE IS NOT NULL AND BASECODE != '' THEN 1 ELSE 0 END) as has_value
FROM CD_BARCODE
"""))
row = result.fetchone()
print('=== CD_BARCODE.BASECODE 현황 ===')
print(f'전체: {row.total:,}')
print(f'NULL: {row.null_count:,}')
print(f'빈문자열: {row.empty_count:,}')
print(f'값 있음: {row.has_value:,}개 ({row.has_value/row.total*100:.1f}%)')
session.close()