65 lines
1.8 KiB
Python
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()
|