- 바코드 스캔 → 제품 조회 → 장바구니 → 결제 흐름의 더미 POS GUI 추가
- ESC/POS 영수증 프린터 설정 다이얼로그 추가
- barcode_reader_gui.py dbsetup import 경로 수정
- POS 프린터 config.json 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- /admin/products: 전체 제품 검색 페이지 (OTC)
- /api/products: 제품 검색 API (세트상품 바코드 포함)
- qr_printer.py: Brother QL-710W 프린터 연동
- /api/qr-print, /api/qr-preview: QR 라벨 인쇄/미리보기 API
- 판매상세 페이지에 QR 인쇄 버튼 추가
- 수량 선택 UI (+/- 버튼, 최대 10장)
- 세트상품 제조사 표시 개선
- 대시보드 헤더에 제품검색/판매조회 탭 추가
- dbsetup: get_sqlite_connection()에 SELECT 1 헬스체크 추가 (죽은 연결 자동 재생성)
- pos_sales_gui: 싱글톤 SQLite conn.close() 제거 (I/O closed file 에러 원인)
- qr_token_generator: DatabaseManager() 새 생성 → 전역 db_manager 싱글톤 사용
- clawdbot_client: model 파라미터 추가, 업셀링에 claude-sonnet-4-5 지정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 키오스크 전체화면 웹 UI (/kiosk) - QR 표시 + 전화번호 숫자패드 입력
- 키오스크 API 4개 (trigger, current, claim, kiosk 페이지)
- POS GUI에 "키오스크 적립" 버튼 추가 (Flask 서버로 HTTP 트리거)
- NHN Cloud 알림톡 발송 모듈 (적립 완료 시 자동 발송)
- Qt 플랫폼 플러그인 경로 자동 설정 (no Qt platform plugin 에러 해결)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ESC/POS QR 영수증 인쇄 함수 추가 (pos_qr_printer.py)
- QR 코드 이미지를 ESC/POS 비트맵 래스터로 변환
- 150x150px QR 코드 + 거래 정보 텍스트 인쇄
- EUC-KR 인코딩으로 한글 지원
- TCP 소켓으로 프린터 전송
- POS GUI에 프린터 선택 토글 버튼 추가
- 🖨️ Zebra 라벨 ⇄ 🖨️ POS 영수증 전환
- POS 모드 시 설정 버튼 표시 (IP/포트 설정)
- 미리보기 모드는 Zebra 전용
- POSSettingsDialog 재사용 (pos_thermal.py 연동)
- config.json에 POS 프린터 설정 저장
- 테스트 인쇄 기능 활용
- QRGeneratorThread 프린터 모드 지원
- printer_mode 매개변수 추가 ('zebra' or 'pos')
- pos_config 설정 전달
- 프린터별 분기 처리
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 프로젝트 구조에 app.py 명시
- Phase 2 완료 상태로 업데이트 (QR 토큰 생성, Flask API)
- 시스템 구성 및 연계 구조 설명 추가
- Flask API 엔드포인트 11개 문서화 (고객용 4개, 관리자용 7개)
- 전체 시스템 실행 방법 상세 가이드 추가
- backend/gui/README.md에 app.py 연동 관계 추가
- OpenAI 기반 AI 분석 기능 안내 추가
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 웹앱에서 적립 완료 시 최대 5초 내 POS GUI에 반영
- 기존 30초 대기 시간이 5초로 감소하여 사용자 경험 개선
- 시스템 부하는 무시할 수준 (5초 간격 DB 조회)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- on_qr_generated 메서드에서 성공 시 refresh_sales() 호출
- QR 생성 완료 즉시 QR 컬럼에 ✓ 체크마크 표시
- 30초 타이머 대기 없이 실시간 업데이트
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- claim_tokens 테이블 조회하여 각 거래의 QR 발행 여부 확인
- 테이블에 'QR' 컬럼 추가 (9번째 컬럼, 60px 너비)
- 발행됨: 초록색 체크마크(✓) 표시 (폰트 크기 14, 굵게)
- 미발행: 회색 하이픈(-) 표시
- 툴팁으로 'QR 발행 완료' / 'QR 미발행' 상태 안내
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- UserMileageDialog 클래스 추가
* 전화번호로 회원 정보 및 적립 내역 조회
* 회원 정보: 이름, 전화번호, 포인트 잔액, 가입일
* 적립 내역 테이블: 날짜, 구분(적립/사용), 포인트, 잔액, 설명
* 최근 50건 표시
- 적립 사용자 클릭 시 모달 팝업
* 적립자명, 전화번호, 적립포인트 컬럼 클릭 가능
* 녹색 볼드 + 밑줄로 클릭 가능 표시
* 툴팁 추가: '클릭하여 회원 마일리지 내역 보기'
- cellClicked 이벤트 핸들러 연결
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- '적립 사용자' 단일 컬럼을 '적립자명'과 '전화번호' 2개 컬럼으로 분리
- 각 컬럼에 녹색 볼드 텍스트 스타일 유지
- 테이블 컬럼 수: 6개 → 7개
- 윈도우 너비: 1100px → 1200px
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- SQLite 적립 사용자 정보 표시 (이름, 전화번호)
* MSSQL 판매 내역과 SQLite 마일리지 데이터 LEFT JOIN
* 적립 사용자 녹색 볼드 텍스트로 강조
* 6번째 컬럼 '적립 사용자' 추가
- QR 생성 기능 활성화
* QRGeneratorThread로 백그라운드 처리
* 미리보기 모드 체크박스 추가
* QRLabelPreviewDialog 팝업 구현
- 자동 새로고침 (30초 주기)
* QTimer로 주기적으로 refresh_sales() 호출
* 실시간 적립 상태 반영
- 윈도우 크기 1100px로 확대
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
backend/gui에서 backend/db로의 상대 경로 import 수정
sys.path에 backend 폴더 추가하여 db.dbsetup 모듈 접근 가능하도록 수정
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- PyQt5 POS 판매 조회 GUI (Phase 1 완료)
- Flask API 서버 스켈레톤 (Phase 2 준비)
- SQLite 마일리지 DB 스키마 설계
- 프로젝트 문서 및 README 추가
- 기본 디렉터리 구조 생성
Phase 1: POS 판매 내역 조회 GUI 완료
Phase 2: QR 토큰 생성 및 마일리지 적립 (예정)
Phase 3: 카카오 로그인 연동 (예정)
Phase 4: 마일리지 시스템 완성 (예정)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>