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

65 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
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')
print('=== 테이블별 레코드 수 ===\n')
tables = ['CD_GOODS', 'CD_SALEGOODS', 'CD_BARCODE']
for tbl in tables:
result = session.execute(text(f"SELECT COUNT(*) as cnt FROM {tbl}"))
cnt = result.fetchone().cnt
print(f'{tbl}: {cnt:,}')
print('\n=== 안텔민 비교 (CD_GOODS vs CD_SALEGOODS) ===\n')
# CD_GOODS
print('CD_GOODS:')
result = session.execute(text("""
SELECT DrugCode, GoodsName, BARCODE
FROM CD_GOODS
WHERE GoodsName LIKE N'%안텔민%'
"""))
for row in result:
print(f' {row.DrugCode}: {row.GoodsName} | BARCODE: [{row.BARCODE}]')
# CD_SALEGOODS
print('\nCD_SALEGOODS:')
result2 = session.execute(text("""
SELECT DrugCode, GoodsName, BARCODE
FROM CD_SALEGOODS
WHERE GoodsName LIKE N'%안텔민%'
"""))
for row in result2:
print(f' {row.DrugCode}: {row.GoodsName} | BARCODE: [{row.BARCODE}]')
# CD_BARCODE
print('\nCD_BARCODE (안텔민 관련):')
result3 = session.execute(text("""
SELECT DRUGCODE, BARCODE, ETCNAME
FROM CD_BARCODE
WHERE ETCNAME LIKE N'%안텔민%'
"""))
rows = list(result3)
if rows:
for row in rows:
print(f' {row.DRUGCODE}: {row.ETCNAME} | BARCODE: [{row.BARCODE}]')
else:
print(' (없음 - 동물약은 CD_BARCODE에 없음)')
print('\n=== CD_BARCODE는 어떤 용도? (샘플) ===\n')
result4 = session.execute(text("""
SELECT TOP 5 DRUGCODE, BARCODE, ETCNAME, CL_GUBUN
FROM CD_BARCODE
"""))
for row in result4:
print(f' {row.DRUGCODE}: {row.ETCNAME} | {row.CL_GUBUN}')
session.close()