75 lines
2.2 KiB
Python
75 lines
2.2 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('=== 안텔민킹 (LB000003157) 바코드 전체 조회 ===\n')
|
|
|
|
# 1. CD_SALEGOODS에서 같은 DrugCode로 여러 행?
|
|
print('1. CD_SALEGOODS (DrugCode = LB000003157):')
|
|
result = session.execute(text("""
|
|
SELECT DrugCode, GoodsName, BARCODE
|
|
FROM CD_SALEGOODS
|
|
WHERE DrugCode = 'LB000003157'
|
|
"""))
|
|
for row in result:
|
|
print(f' {row.BARCODE}')
|
|
|
|
# 2. 바코드 전용 테이블이 따로 있나?
|
|
print('\n2. 바코드 관련 테이블에서 LB000003157 검색:')
|
|
|
|
tables = [
|
|
'CD_BARCODE',
|
|
'CD_Bundle',
|
|
'CD_ITEM_UNIT_MEMBER',
|
|
'CD_NameTag',
|
|
'BI_DRUG_MAPPING',
|
|
'PharmBridgeMapping'
|
|
]
|
|
|
|
for tbl in tables:
|
|
try:
|
|
result = session.execute(text(f"""
|
|
SELECT * FROM {tbl}
|
|
WHERE DrugCode = 'LB000003157' OR DRUGCODE = 'LB000003157'
|
|
"""))
|
|
rows = list(result)
|
|
if rows:
|
|
print(f'\n ★ {tbl}: {len(rows)}개 발견!')
|
|
for row in rows:
|
|
print(f' {dict(row._mapping)}')
|
|
except:
|
|
pass
|
|
|
|
# 3. 바코드 값으로 역검색 (APC)
|
|
print('\n3. APC 0230237810109 검색 (전체 테이블):')
|
|
apc = '0230237810109'
|
|
|
|
for tbl in ['CD_GOODS', 'CD_SALEGOODS', 'CD_BARCODE', 'CD_Bundle', 'BI_DRUG_MAPPING', 'PharmBridgeMapping']:
|
|
try:
|
|
# 바코드 관련 컬럼 찾기
|
|
cols = session.execute(text(f"""
|
|
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE TABLE_NAME = '{tbl}' AND COLUMN_NAME LIKE '%BARCODE%'
|
|
"""))
|
|
for col_row in cols:
|
|
col = col_row.COLUMN_NAME
|
|
result = session.execute(text(f"""
|
|
SELECT * FROM {tbl} WHERE {col} = '{apc}'
|
|
"""))
|
|
rows = list(result)
|
|
if rows:
|
|
print(f' ★ {tbl}.{col}: {len(rows)}개!')
|
|
for row in rows:
|
|
print(f' {dict(row._mapping)}')
|
|
except Exception as e:
|
|
pass
|
|
|
|
session.close()
|