# -*- 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') # 1. CD_BARCODE 테이블 구조 print('=== CD_BARCODE 테이블 구조 ===') result = session.execute(text(""" SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CD_BARCODE' ORDER BY ORDINAL_POSITION """)) for row in result: print(f' {row.COLUMN_NAME} ({row.DATA_TYPE})') # 2. CD_BARCODE 데이터 샘플 print('\n=== CD_BARCODE 샘플 데이터 (BASECODE 있는 것) ===') result2 = session.execute(text(""" SELECT TOP 20 * FROM CD_BARCODE WHERE BASECODE IS NOT NULL AND BASECODE != '' """)) columns = result2.keys() print(f'컬럼: {list(columns)}') print() count = 0 for row in result2: count += 1 print(f'--- Row {count} ---') for col in columns: val = getattr(row, col) if val: print(f' {col}: {val}') if count == 0: print('(BASECODE가 있는 레코드 없음)') # BASECODE 없어도 샘플 보기 print('\n=== CD_BARCODE 전체 샘플 (상위 5개) ===') result3 = session.execute(text(""" SELECT TOP 5 * FROM CD_BARCODE """)) for row in result3: print(f'---') for col in columns: val = getattr(row, col) print(f' {col}: {val}') # 3. CD_BARCODE 전체 레코드 수 print('\n=== CD_BARCODE 통계 ===') result4 = session.execute(text(""" SELECT COUNT(*) as total, SUM(CASE WHEN BASECODE IS NOT NULL AND BASECODE != '' THEN 1 ELSE 0 END) as with_basecode, SUM(CASE WHEN DSTANDARD IS NOT NULL AND DSTANDARD != '' THEN 1 ELSE 0 END) as with_dstandard FROM CD_BARCODE """)) row = result4.fetchone() print(f'전체 레코드: {row.total}개') print(f'BASECODE 있음: {row.with_basecode}개') print(f'DSTANDARD 있음: {row.with_dstandard}개') session.close()