81 lines
2.5 KiB
Python
81 lines
2.5 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('=== CD_ITEM_UNIT_MEMBER 테이블 구조 ===\n')
|
|
result = session.execute(text("""
|
|
SELECT COLUMN_NAME, DATA_TYPE
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE TABLE_NAME = 'CD_ITEM_UNIT_MEMBER'
|
|
ORDER BY ORDINAL_POSITION
|
|
"""))
|
|
for row in result:
|
|
print(f' {row.COLUMN_NAME}: {row.DATA_TYPE}')
|
|
|
|
print('\n=== 관계 확인: 안텔민킹 ===\n')
|
|
|
|
# CD_GOODS
|
|
print('1. CD_GOODS:')
|
|
result = session.execute(text("""
|
|
SELECT DrugCode, GoodsName, BARCODE
|
|
FROM CD_GOODS WHERE DrugCode = 'LB000003157'
|
|
"""))
|
|
for row in result:
|
|
print(f' DrugCode: {row.DrugCode}')
|
|
print(f' GoodsName: {row.GoodsName}')
|
|
print(f' BARCODE: [{row.BARCODE}]')
|
|
|
|
# CD_SALEGOODS
|
|
print('\n2. CD_SALEGOODS:')
|
|
result = session.execute(text("""
|
|
SELECT DrugCode, GoodsName, BARCODE
|
|
FROM CD_SALEGOODS WHERE DrugCode = 'LB000003157'
|
|
"""))
|
|
for row in result:
|
|
print(f' DrugCode: {row.DrugCode}')
|
|
print(f' BARCODE: [{row.BARCODE}]')
|
|
|
|
# CD_ITEM_UNIT_MEMBER
|
|
print('\n3. CD_ITEM_UNIT_MEMBER:')
|
|
result = session.execute(text("""
|
|
SELECT DRUGCODE, CD_CD_UNIT, CD_CD_BARCODE, CHANGE_DATE
|
|
FROM CD_ITEM_UNIT_MEMBER
|
|
WHERE DRUGCODE = 'LB000003157'
|
|
ORDER BY SN DESC
|
|
"""))
|
|
for row in result:
|
|
print(f' DRUGCODE: {row.DRUGCODE} | UNIT: {row.CD_CD_UNIT} | BARCODE: {row.CD_CD_BARCODE} | DATE: {row.CHANGE_DATE}')
|
|
|
|
# CD_SALEGOODS.BARCODE 와 CD_ITEM_UNIT_MEMBER.CD_CD_BARCODE 비교
|
|
print('\n=== 다른 제품으로 관계 확인 (안텔민) ===\n')
|
|
result = session.execute(text("""
|
|
SELECT
|
|
g.DrugCode,
|
|
g.GoodsName,
|
|
s.BARCODE as SALE_BARCODE,
|
|
u.CD_CD_BARCODE as UNIT_BARCODE,
|
|
u.CD_CD_UNIT
|
|
FROM CD_GOODS g
|
|
LEFT JOIN CD_SALEGOODS s ON g.DrugCode = s.DrugCode
|
|
LEFT JOIN CD_ITEM_UNIT_MEMBER u ON g.DrugCode = u.DRUGCODE
|
|
WHERE g.GoodsName LIKE N'%안텔민%'
|
|
ORDER BY g.DrugCode, u.SN DESC
|
|
"""))
|
|
|
|
current_drug = None
|
|
for row in result:
|
|
if row.DrugCode != current_drug:
|
|
print(f'\n{row.DrugCode}: {row.GoodsName}')
|
|
print(f' CD_SALEGOODS.BARCODE: {row.SALE_BARCODE}')
|
|
current_drug = row.DrugCode
|
|
print(f' └ CD_ITEM_UNIT_MEMBER: {row.UNIT_BARCODE} (UNIT: {row.CD_CD_UNIT})')
|
|
|
|
session.close()
|