feat: POS GUI 적립자 정보 컬럼 분리

- '적립 사용자' 단일 컬럼을 '적립자명'과 '전화번호' 2개 컬럼으로 분리
- 각 컬럼에 녹색 볼드 텍스트 스타일 유지
- 테이블 컬럼 수: 6개 → 7개
- 윈도우 너비: 1100px → 1200px

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
시골약사 2026-01-23 16:46:07 +09:00
parent 8190601340
commit 30abf18e95

View File

@ -90,11 +90,13 @@ class SalesQueryThread(QThread):
""", (order_no,)) """, (order_no,))
claimed_user = sqlite_cursor.fetchone() claimed_user = sqlite_cursor.fetchone()
# 적립 사용자 정보 포맷팅 # 적립 사용자 정보 분리
if claimed_user and claimed_user['nickname'] and claimed_user['phone']: if claimed_user and claimed_user['nickname'] and claimed_user['phone']:
claimed_info = f"{claimed_user['nickname']} ({claimed_user['phone']})" claimed_name = claimed_user['nickname']
claimed_phone = claimed_user['phone']
else: else:
claimed_info = "" claimed_name = ""
claimed_phone = ""
sales_list.append({ sales_list.append({
'order_no': order_no, 'order_no': order_no,
@ -102,7 +104,8 @@ class SalesQueryThread(QThread):
'amount': float(sale_amount) if sale_amount else 0.0, 'amount': float(sale_amount) if sale_amount else 0.0,
'customer': customer, 'customer': customer,
'item_count': item_count, 'item_count': item_count,
'claimed_user': claimed_info 'claimed_name': claimed_name,
'claimed_phone': claimed_phone
}) })
self.query_complete.emit(sales_list) self.query_complete.emit(sales_list)
@ -373,7 +376,7 @@ class POSSalesGUI(QMainWindow):
def init_ui(self): def init_ui(self):
"""UI 초기화""" """UI 초기화"""
self.setWindowTitle('POS 판매 조회') self.setWindowTitle('POS 판매 조회')
self.setGeometry(100, 100, 1100, 600) self.setGeometry(100, 100, 1200, 600)
# 중앙 위젯 # 중앙 위젯
central_widget = QWidget() central_widget = QWidget()
@ -427,16 +430,17 @@ class POSSalesGUI(QMainWindow):
sales_group.setLayout(sales_layout) sales_group.setLayout(sales_layout)
self.sales_table = QTableWidget() self.sales_table = QTableWidget()
self.sales_table.setColumnCount(6) self.sales_table.setColumnCount(7)
self.sales_table.setHorizontalHeaderLabels([ self.sales_table.setHorizontalHeaderLabels([
'주문번호', '시간', '금액', '고객명', '품목수', '적립 사용' '주문번호', '시간', '금액', '고객명', '품목수', '적립', '전화번호'
]) ])
self.sales_table.setColumnWidth(0, 160) self.sales_table.setColumnWidth(0, 160)
self.sales_table.setColumnWidth(1, 70) self.sales_table.setColumnWidth(1, 70)
self.sales_table.setColumnWidth(2, 110) self.sales_table.setColumnWidth(2, 110)
self.sales_table.setColumnWidth(3, 100) self.sales_table.setColumnWidth(3, 100)
self.sales_table.setColumnWidth(4, 70) self.sales_table.setColumnWidth(4, 70)
self.sales_table.setColumnWidth(5, 180) self.sales_table.setColumnWidth(5, 100)
self.sales_table.setColumnWidth(6, 120)
self.sales_table.setSelectionBehavior(QTableWidget.SelectRows) self.sales_table.setSelectionBehavior(QTableWidget.SelectRows)
self.sales_table.doubleClicked.connect(self.show_sale_detail) self.sales_table.doubleClicked.connect(self.show_sale_detail)
@ -531,15 +535,24 @@ class POSSalesGUI(QMainWindow):
count_item.setTextAlignment(Qt.AlignCenter) count_item.setTextAlignment(Qt.AlignCenter)
self.sales_table.setItem(row, 4, count_item) self.sales_table.setItem(row, 4, count_item)
# 적립 사용자 (SQLite) # 적립 (SQLite)
claimed_item = QTableWidgetItem(sale['claimed_user']) from PyQt5.QtGui import QColor, QFont
if sale['claimed_user']: claimed_name_item = QTableWidgetItem(sale['claimed_name'])
from PyQt5.QtGui import QColor, QFont if sale['claimed_name']:
claimed_item.setForeground(QColor('#4CAF50')) claimed_name_item.setForeground(QColor('#4CAF50'))
font = QFont() font = QFont()
font.setBold(True) font.setBold(True)
claimed_item.setFont(font) claimed_name_item.setFont(font)
self.sales_table.setItem(row, 5, claimed_item) self.sales_table.setItem(row, 5, claimed_name_item)
# 전화번호 (SQLite)
claimed_phone_item = QTableWidgetItem(sale['claimed_phone'])
if sale['claimed_phone']:
claimed_phone_item.setForeground(QColor('#4CAF50'))
font = QFont()
font.setBold(True)
claimed_phone_item.setFont(font)
self.sales_table.setItem(row, 6, claimed_phone_item)
def on_query_error(self, error_msg): def on_query_error(self, error_msg):
"""DB 조회 에러 처리""" """DB 조회 에러 처리"""