thug0bin
ebd4669d24
fix: 중복 인쇄 race condition 수정
...
문제: Set에 추가하는 타이밍이 인쇄 완료 후라서
비동기로 2개 요청이 거의 동시에 들어오면 둘 다 통과
해결: 요청 전에 먼저 Set에 추가
실패/오류 시에만 Set에서 제거 (재시도 가능)
2026-03-05 13:09:02 +09:00
thug0bin
c7169e6679
fix: 자동인쇄 중복 방지 + 인쇄 로깅 추가
...
문제: 같은 처방이 2번 인쇄됨
원인: printPaaiResult가 2곳에서 호출 (API 응답 + WebSocket 이벤트)
해결:
- window.printedSerials (Set) 으로 중복 인쇄 방지
- 인쇄 성공 시 Set에 추가
- 5분 후 자동 제거 (메모리 관리)
로깅 추가:
- 프론트: 콘솔에 시간 + 환자명 + 상태
- 백엔드: logs/print_history.log 파일에 기록
2026-03-05 12:56:39 +09:00
thug0bin
b4e4a44981
fix: 자동인쇄 전역 변수/함수 완전 수정
...
모든 변수와 함수를 window. 접두사로 전역 노출:
- window.autoPrintEnabled
- window.showToast
- window.updateAutoPrintIndicator
- window.printPaaiResult
이제 토글 클릭 정상 작동!
2026-03-05 12:46:53 +09:00
thug0bin
e33204f265
fix: printPaaiResult 전역 함수로 변경
...
- async function → window.printPaaiResult = async function
- WebSocket 이벤트에서 호출 가능하도록 전역 노출
2026-03-05 12:42:58 +09:00
thug0bin
0bbc8a56f7
fix: 자동인쇄 토글 수정 - showToast 함수 추가
...
문제:
- onclick 이벤트에서 showToast 함수가 정의되지 않아 에러 발생
- JavaScript 함수들이 전역 스코프에 없어서 접근 불가
해결:
- window.showToast 함수 추가 (전역)
- 즉시 실행 함수(IIFE)로 이벤트 바인딩
- HTML onclick 속성 제거, JS에서만 처리
테스트 완료:
- 토글 클릭 시 ON/OFF 전환 확인
- localStorage에 상태 저장 확인
- 콘솔에 [AutoPrint] 로그 출력 확인
2026-03-05 12:37:54 +09:00
thug0bin
0b17139daa
feat: PAAI 자동인쇄 기능 완성 (EUC-KR 텍스트 방식)
...
추가:
- 자동인쇄 ON/OFF 토글 (헤더)
- ESC/POS 영수증 인쇄 (EUC-KR 인코딩)
- ESCPOS_TROUBLESHOOTING.md 트러블슈팅 문서
핵심 변경:
- 이미지 방식 -> 텍스트 방식 (socket 직접 전송)
- UTF-8 -> EUC-KR 인코딩
- 이모지 제거 ([V], [!], >> 사용)
- 48자 기준 줄바꿈
인쇄 흐름:
1. PAAI 분석 완료
2. 자동인쇄 ON이면 /pmr/api/paai/print 호출
3. _format_paai_receipt()로 텍스트 생성
4. _print_escpos_text()로 프린터 전송
참고: docs/ESCPOS_TROUBLESHOOTING.md
2026-03-05 12:19:56 +09:00
thug0bin
7ac3f7a8b4
feat: PAAI 분석에 환자 특이사항(CUSETC) 포함
...
추가:
- AI 프롬프트에 '환자 특이사항' 섹션 추가
- 알러지, 기저질환, 주의사항 등 약사가 입력한 메모 활용
- 예: '투석실 환자' → AI가 신장약물 주의사항 안내
변경 파일:
- pmr_api.py: patient_note 파라미터 추가, build_paai_prompt 수정
- pmr.html: requestSnapshot에 patient_note 포함
- prescription_trigger.py: cusetc → patient_note 전달
효과:
- 환자별 맞춤 복약 안내 품질 향상
- 알러지/금기 정보 반영으로 안전성 강화
2026-03-05 11:04:03 +09:00
thug0bin
cb90d4a7a6
fix: 처방목록 조회 기준을 발행일에서 조제일로 변경
...
문제:
- PMR 처방 목록이 PassDay(처방전 발행일) 기준으로 조회되어
발행일과 조제일이 다른 처방(예: 3일 전 발행, 오늘 조제)이
오늘 목록에 표시되지 않는 버그
해결:
- PS_MAIN 테이블 조회 시 PassDay 대신 Indate(조제일) 기준으로 변경
- issue_date(발행일), dispense_date(조제일) 필드 추가로 구분 명확화
추가 변경:
- WebSocket 연결/해제 시 토스트 알림 추가
- WebSocket 프록시 트러블슈팅 문서 추가 (NPM 설정 가이드)
2026-03-05 10:56:24 +09:00
thug0bin
16c3881661
feat: PAAI 어드민 대시보드 페이지
...
- PAAI 분석 로그 목록 조회
- 필터링 (상태, 날짜, 심각도)
- 로그 상세 보기 모달
- 피드백 통계 (일별)
2026-03-05 09:30:34 +09:00
thug0bin
59a55d6b22
refactor: PAAI Clawdbot 호출 방식 개선
...
- HTTP API → WebSocket Gateway 방식으로 변경
- clawdbot_client.py의 ask_clawdbot() 함수 활용
- 시스템 프롬프트 분리
2026-03-05 09:30:22 +09:00
thug0bin
4275689c29
feat: 처방감지 WebSocket 클라이언트 통합 + days 버그 수정
...
- WebSocket 클라이언트 추가 (ws://localhost:8765)
- 처방 감지 시 자동 토스트 알림 (누적 표시)
- 연결 상태 표시 (자동감지 ON/OFF)
- fix: med.days → med.duration 필드명 수정 (복용일수 0 버그)
2026-03-05 09:30:07 +09:00
thug0bin
1b33f82fd4
feat: PAAI (Pharmacist Assistant AI) 기능 구현
...
- PAAI 로그 테이블 스키마 (paai_logs_schema.sql)
- PAAI 로거 모듈 (db/paai_logger.py)
- /pmr/api/paai/analyze API 엔드포인트
- KIMS API 연동 (KD코드 기반 상호작용 조회)
- Clawdbot AI 연동 (HTTP API)
- PMR 화면 PAAI 버튼 및 모달
- Admin 페이지 (/admin/paai)
- 피드백 수집 기능
2026-03-05 00:36:51 +09:00
thug0bin
141b211f07
fix: OTC 모달 이미지 placeholder 스타일 개선
...
- 그라데이션 배경 + 점선 테두리
- SVG 이미지 아이콘 사용
- admin_products.html 스타일 통일
2026-03-05 00:00:40 +09:00
thug0bin
088d88878a
feat: OTC 모달에 제품 썸네일 이미지 표시
...
- product_images.db에서 thumbnail_base64 조회
- drug_code로 이미지 매칭
- 이미지 없으면 💊 placeholder
2026-03-04 23:59:13 +09:00
thug0bin
ebf2e8a016
feat: PMR OTC 구매 이력 기능
...
- /pmr/api/patient/<cus_code>/otc: OTC 구매 이력 API
- SALE_MAIN + SALE_SUB (PRESERIAL='V' = OTC)
- 💊 OTC 뱃지 클릭 → 모달로 구매 이력 표시
- 자주 구매하는 품목 요약
- 방문/금액 통계
2026-03-04 23:55:54 +09:00
thug0bin
41428646ab
fix: 질병 뱃지 스타일 분리
2026-03-04 23:48:14 +09:00
thug0bin
4fc667b844
fix: 질병 뱃지 개별 표시
2026-03-04 23:47:11 +09:00
thug0bin
7928bbd55c
feat: PMR 질병정보 표시
...
- PS_MAIN.St1, St2 + PM_BASE.CD_SANG JOIN
- 처방 헤더에 🩺 질병명 표시
- disease_info: {code_1, code_2, name_1, name_2}
2026-03-04 23:46:02 +09:00
thug0bin
d8aa073564
feat: PMR 처방 비교 기능
...
- 비교 모드 토글 체크박스 추가
- 상태 분류: 🆕 추가 / 🔄 변경 / ❌ 중단 / ✓동일
- 변경된 값: '1정 → 2정' 형태로 표시
- 색상 코딩: 녹색(추가), 노랑(변경), 빨강(중단)
- 이전 처방 < > 네비게이션 시 자동 비교
2026-03-04 23:40:09 +09:00
thug0bin
6192f635ca
feat: PMR 이전 처방 비교 기능
...
- /pmr/api/patient/<cus_code>/history: 환자 이전 처방 이력 API
- 하단에 이전 처방 영역 + < > 네비게이션
- 현재 처방과 이전 처방 한눈에 비교 가능
2026-03-04 23:35:11 +09:00
thug0bin
fc2db78816
feat: PMR 효능효과(add_info) 추가
...
- CD_MC.PRINT_TYPE JOIN으로 효능 조회
- 약품 테이블에 효능 표시
- 라벨 미리보기에 효능 포함
2026-03-04 22:56:28 +09:00
thug0bin
c21aa956da
feat: PMR 라벨 미리보기 기능
...
- /pmr/api/label/preview: PIL 렌더링 → Base64 이미지
- 미리보기 버튼 + 모달 추가
- 29mm 용지 기준 라벨 이미지 생성
2026-03-04 22:52:42 +09:00
thug0bin
8d025457c0
fix: PMR 약품명 조회 - PM_DRUG.CD_GOODS JOIN
...
- PS_sub_pharm.DrugCode → PM_DRUG.CD_GOODS.GoodsName
- 용량(QUAN), 횟수(QUAN_TIME), 일수(Days) 매핑
2026-03-04 22:48:35 +09:00
thug0bin
75448ffdc5
feat: PMR 조제관리 - MSSQL(PharmaIT3000) 연동
...
- pmr_api.py: 192.168.0.4 MSSQL 연결
- /pmr/api/prescriptions: 일별 처방전 목록
- /pmr/api/prescription/<id>: 처방전 상세
- /pmr/api/stats: 당일 통계
- /pmr/api/test: DB 연결 테스트
- pmr.html: API 엔드포인트 수정
2026-03-04 22:44:54 +09:00
thug0bin
1054a9ed17
feat: 용법용량 체중별 투여량 HTML 테이블 렌더링
...
- 표 형식(─ 문자) 감지 시 HTML <table> 변환
- 파란색 헤더, 굵은 숫자 스타일
- 미리보기 API에서 strip_html 개선 (표 형식 줄바꿈 유지)
2026-03-04 21:02:45 +09:00
thug0bin
71c35433fc
fix: 프론트엔드 모달 순서도 변경 - 주의사항 마지막으로
2026-03-04 20:54:20 +09:00
thug0bin
836be958db
fix: 인쇄 순서 변경 - 주의사항을 마지막으로
...
용법용량 → 투약주기 → 함께투약 권장 → 주의사항
2026-03-04 20:51:16 +09:00
thug0bin
f829276431
feat: 인쇄에 투약주기/병용약 추가 + 인쇄 피드백 개선
...
- 인쇄 API: component_guide JOIN 추가
- 영수증에 ★ 투약 주기 ★ / ★ 함께 투약 권장 ★ 섹션 추가
- 인쇄 버튼: 로딩 중 → 인쇄 완료! 피드백
- 이모지 대신 ★ 사용 (프린터 호환)
2026-03-04 20:48:47 +09:00
thug0bin
9ff25dcbce
feat: Phase 2 - 성분코드 기반 투약주기/병용약 JOIN 구현
...
- component_guide 테이블 생성 (PostgreSQL)
- IC2030126 (메벤다졸+프라지퀸텔) 샘플 데이터 입력
- 미리보기 API: apc + component_guide LEFT JOIN
- 모달에 투약주기, 병용약 섹션 추가 (보라색/녹색 강조)
2026-03-04 20:44:37 +09:00
thug0bin
4352a8b9a8
fix: 투약지도서 글자수 제한 해제
...
- 효능효과/용법용량/주의사항 전체 출력
- 롤 용지라 길이 제한 없음
2026-03-04 20:08:25 +09:00
thug0bin
5a2ab044ba
feat: 투약지도서 표 형식 출력 지원
...
- 체중/투여정수 표(─ 문자 포함) 감지
- 표 형식일 때 공백/정렬 유지
- 안텔민 킹정 등 체중별 투여량 표 정상 출력
2026-03-04 19:58:15 +09:00
thug0bin
a89dc9b354
fix: '애니팜 투약지도서' 중앙 정렬 수정
2026-03-04 19:38:41 +09:00
thug0bin
27da568a13
fix: 투약 지도서 인쇄 개선
...
- 이모지(🐾 ) 제거 → 프린터 호환성
- '동물약 안내서' → '투약 지도서'로 변경
- 청춘약국/전화번호 중앙 정렬 수정 (48자 기준)
2026-03-04 19:35:48 +09:00
thug0bin
abb8ad1325
feat: 동물약 안내서 항목별 줄바꿈 처리
...
- 가. 나. 다. 라. 등 항목 앞에 줄바꿈 추가
- 1) 2) 3) 등 번호 앞에 들여쓰기 + 줄바꿈
- 미리보기/인쇄 모두 적용
- white-space: pre-line으로 줄바꿈 표시
- 80mm 프린터 출력에 최적화
2026-03-04 19:33:00 +09:00
thug0bin
f374ca4fd1
fix: 동물약 안내서 모달 - 효능효과/용법용량/주의사항 배경색 추가
...
- 효능효과: 연녹색 (#f0fdf4)
- 용법용량: 연파랑 (#eff6ff)
- 주의사항: 연빨강 (#fef2f2)
- 각 섹션에 padding, border-radius 추가
2026-03-04 19:26:50 +09:00
thug0bin
e2d3ea032f
fix: 동물약 안내서 모달 스타일 수정 - modal-box 클래스 사용
2026-03-04 19:23:42 +09:00
thug0bin
097bc4c84f
fix: 동물약 안내서 인쇄를 네트워크 프린터로 변경
...
- USB 프린터에서 네트워크 프린터(192.168.0.174:9100)로 변경
- pos_printer.print_text() 함수 사용 (특이사항 인쇄와 동일 방식)
- 80mm 프린터 기준 48자 레이아웃
2026-03-04 19:20:26 +09:00
thug0bin
321fd0de1e
feat: 동물약 안내서 기능 추가
...
- 동물약 뱃지 클릭 시 약품 정보 모달 표시
- APC 코드로 PostgreSQL 조회 (효능효과, 용법용량, 주의사항)
- HTML 태그 파싱하여 텍스트 표시
- ESC/POS 인쇄 API 준비 (프린터 연결 시 활성화)
- 미리보기 API: /api/animal-drug-info/preview
- 인쇄 API: /api/animal-drug-info/print
2026-03-04 19:18:10 +09:00
thug0bin
77c667e1f6
feat: 단위바코드 갯수 뱃지 + QR 바코드 우선순위 수정
...
화면 표시:
- 대표바코드 옆 빨간 뱃지로 단위바코드 갯수 표시 (카톡 스타일)
- APC 없어도 단위바코드 있으면 POS 판매 가능함을 표시
QR 인쇄 우선순위:
1. 대표바코드 (있으면)
2. 단위바코드 첫 번째 (대표 없으면)
3. drug_code (fallback)
쿼리 추가:
- UNIT_FIRST: 단위바코드 첫 번째 (조건 없이)
- UNIT_CNT: 단위바코드 갯수
2026-03-04 16:29:23 +09:00
thug0bin
1c2bfd473b
fix: APC에 바코드 대체 표시 버그 수정
...
- apc_code는 02%로 시작하는 것만 표시
- 바코드를 APC로 대체하는 로직 제거
- PostgreSQL 조회용 _pg_apc 별도 유지
2026-03-04 16:02:55 +09:00
thug0bin
6bb86f8780
feat: 동물약 바코드/APC 2줄 표시
...
- 대표바코드(CD_GOODS.BARCODE)만 표시 (없으면 '없음')
- APC: 02로 시작하는 단위바코드 별도 표시
- APC 없으면 'APC미지정' 빨간 점선 뱃지
- 동물약만 체크 시에만 2줄 표시 (일반약품은 1줄)
- 헤더: '바코드/APC'
2026-03-04 15:55:04 +09:00
thug0bin
e95c08ef59
fix: 사용약품만 쿼리에서 단위바코드 조회 누락 수정
...
문제: 대표바코드(CD_GOODS.BARCODE)가 비어있으면 '없음'으로 표시
원인: in_stock_only 쿼리에 CD_ITEM_UNIT_MEMBER OUTER APPLY 누락
수정:
- in_stock_only 쿼리에 단위바코드 조회 추가
- animal_only 쿼리에도 동일하게 추가
- COALESCE(대표바코드, 단위바코드, '') 순서로 조회
2026-03-04 15:27:50 +09:00
thug0bin
27bb0b7b86
feat: 위치 편집 기능 추가
...
API:
- GET /api/locations - 모든 위치 목록 (461개)
- PUT /api/drugs/<code>/location - 위치 업데이트/삭제
UI:
- 위치 있음: 노란색 뱃지 (클릭 가능)
- 위치 없음: '미지정' 회색 점선 뱃지
- 클릭 시 위치 설정 모달 열림
- 드롭다운 선택 또는 직접 입력
- person-lookup-web-local 참고하여 구현
2026-03-04 14:42:47 +09:00
thug0bin
96a3df8470
feat: 제품 검색에 위치 컬럼 추가 (인코딩 수정)
...
- CD_item_position.CD_NM_sale 조회
- Edit 도구로만 수정하여 인코딩 유지
- 위치 뱃지 스타일 (노란색 배경)
2026-03-04 14:31:21 +09:00
thug0bin
e7096f7bed
feat: 제품 검색에 위치 컬럼 추가
...
- CD_item_position.CD_NM_sale 조회 (person-lookup-web-local 참고)
- 3개 쿼리 모두 LEFT JOIN CD_item_position 추가
- 위치 뱃지 스타일 (노란색 배경)
2026-03-04 14:28:41 +09:00
thug0bin
01f0df9294
feat: 제품 검색 페이지에 제품 이미지 표시 및 등록 기능 추가
...
- API에 thumbnail 반환 추가 (product_images.db 조회)
- 테이블에 이미지 컬럼 추가 (40x40 썸네일)
- 이미지/플레이스홀더 클릭 → 등록 모달 (URL/촬영)
- 판매내역과 동일한 UX
2026-03-04 14:15:29 +09:00
thug0bin
2859dc43cc
feat: 동물약만 체크 시 검색어 없이 전체 조회 가능
...
- 동물약은 39건뿐이라 전체 조회해도 빠름
- 동물약만 체크 + 검색어 없음 → 전체 동물약 리스트
- 쿼리 조건 동적 생성 (animal_condition, search_condition)
2026-03-04 14:02:47 +09:00
thug0bin
a0cbb984e5
perf: 제품 검색 최적화 - 사용약품만 옵션 추가
...
문제: 전체 CD_GOODS 검색 시 178,232건 스캔 + OUTER APPLY → 6-14초 소요
해결:
- '사용약품만' 체크박스 추가 (기본 활성화)
- IM_total INNER JOIN으로 재고 있는 2,810건만 검색
- OUTER APPLY 제거로 쿼리 단순화
성능: 6.5초 → 1.4초 (4.6배 향상)
2026-03-04 13:57:33 +09:00
thug0bin
5dd3489385
feat: 판매내역 페이지에서 제품 이미지 등록/교체 기능 추가
...
- 이미지/플레이스홀더 클릭시 이미지 등록 모달 열림
- URL 입력 탭: 이미지 URL로 등록
- 촬영 탭: 카메라로 직접 촬영 (1:1 크롭 가이드)
- 기존 /api/admin/product-images API 재활용
- 저장 후 자동 새로고침
2026-03-04 12:40:22 +09:00
thug0bin
b660f324ac
fix: 제품 이미지 플레이스홀더 개선 (이모지 → SVG 아이콘)
...
- 📦 이모지 대신 일반적인 이미지 플레이스홀더 스타일 적용
- 회색 그라데이션 배경 + SVG 이미지 아이콘
- 실제 이미지와 동일한 36x36 크기
2026-03-04 12:23:36 +09:00
thug0bin
fa4e87b461
feat: 판매내역 페이지에 제품 썸네일 이미지 표시
...
- app.py: /api/sales-detail에서 product_images.db 조회하여 thumbnail 반환
- admin_sales_pos.html: 거래별/목록 뷰에 36x36 썸네일 표시
- 이미지 없는 제품은 📦 플레이스홀더 표시
- barcode 우선, drug_code 폴백으로 이미지 매칭
2026-03-04 12:19:06 +09:00
thug0bin
9ce7e884d7
feat: 특이사항(CUSETC) 영수증 인쇄 기능 추가
...
- pos_printer.py: print_cusetc() 함수 추가 (ESC/POS 영수증 출력)
- admin.html: 회원 상세 모달에 🖨️ 인쇄 버튼 추가
- 즉시 피드백 토스트 + API 응답 후 결과 표시
2026-03-04 12:10:00 +09:00
thug0bin
5074adce20
feat: ESC/POS 영수증 프린터로 특이사항 인쇄 기능
...
- pos_printer.py: ESC/POS 유틸리티 (192.168.0.174:9100)
- POST /api/print/cusetc API 추가
- admin.html: 특이사항 옆 [🖨️ 인쇄] 버튼 추가
- EUC-KR 인코딩으로 한글 지원
2026-03-04 11:46:46 +09:00
thug0bin
50825c597e
feat: 특이(참고)사항 조회/수정 기능 구현
...
- 사용자 상세 모달에 특이사항 표시 (생일 옆 칸)
- 인라인 수정 UI (수정 버튼 → textarea → 저장/취소)
- PUT /api/members/{cuscode}/cusetc API 추가
- CD_PERSON.CUSETC 직접 UPDATE
Docs: MEMBER_MEMO_SYSTEM.md 문서 추가
- DB 구조, API 명세, 구현 현황 정리
2026-03-04 11:24:13 +09:00
thug0bin
acf8e44aa5
fix: 이미지 상태 필터와 통계 일관성 수정
...
- '실패' 필터 선택 시 failed + no_result 둘 다 검색되도록 수정
- 통계 라벨: '실패' → '실패/없음'
- 필터 옵션: '실패' → '실패/검색없음', 별도 'no_result' 옵션 제거
- 상단 통계와 필터 결과가 일치하도록 UX 개선
2026-03-04 10:25:53 +09:00
thug0bin
546a5e7ae6
feat: 제품 이미지 카메라 촬영 기능 추가
...
- HTML5 getUserMedia로 카메라 촬영 지원 (모바일 후면 카메라 기본)
- 1:1 가이드 박스 UI로 정사각형 크롭 안내
- 백엔드: PIL로 800x800 리사이즈 + 썸네일 생성
- 기존 URL 교체 기능과 탭 방식으로 통합
버그 수정:
- closeReplaceModal() 호출 전 변수 복사로 null 전송 문제 해결
- None 값 방어 코드 추가
Docs: TROUBLESHOOTING-CAMERA-UPLOAD.md 추가
2026-03-04 10:08:40 +09:00
thug0bin
30d95c8579
feat: 제품 이미지 크롤링에 날짜 선택 기능 추가 - 달력으로 날짜 선택 가능 - 해당 날짜 판매 제품 크롤링
2026-03-04 00:55:02 +09:00
thug0bin
51216c582f
fix: 알림톡 실패 시 상세 에러 메시지 저장 - header.resultMessage 대신 sendResults[0].resultMessage 우선 저장 - 원인 파악이 가능하도록 개선
2026-03-04 00:36:25 +09:00
thug0bin
9ba2846820
fix: 알림톡 14자 제한 수정 - 특수문자 제거 로직 삭제 (불필요했음) - 14자 제한으로 자르기 (카카오 API 제한)
2026-03-04 00:33:25 +09:00
thug0bin
0aebdaea0c
style: AI 추천 이미지 스타일 최종 조정
...
- flexbox 중앙 정렬
- 160px 너비, 높이 자동
- border/outline 명시적 제거
2026-03-03 00:48:24 +09:00
thug0bin
467c0e91aa
fix: AI 추천 이미지 해상도 및 스타일 개선
...
- 썸네일(3KB) 대신 원본 이미지(33KB) 사용
- 테두리/배경 제거로 깔끔한 디자인
- text-align:center로 중앙 정렬
- 최대 크기 140px
2026-03-03 00:46:27 +09:00
thug0bin
0676c4f466
style: AI 추천 이미지 스타일 개선
...
- 중앙 정렬 (flexbox)
- 크기 100px → 120px
- 회색 배경 + 둥근 모서리 (16px)
- 패딩 추가로 여백 확보
2026-03-03 00:44:31 +09:00
thug0bin
79259d004b
fix: AI 추천 이미지 조회 시 sqlite3 import 누락 수정
...
- sqlite3 모듈 import 추가
- 디버그 로그 추가
2026-03-03 00:31:42 +09:00
thug0bin
8aa43221d2
feat: 마이페이지 AI 추천에 제품 이미지 표시
...
- /api/recommendation API에서 product_images DB 조회
- 제품명 매칭으로 썸네일 이미지 반환
- 이미지 있으면 실제 사진, 없으면 💊 이모지 표시
2026-03-03 00:02:04 +09:00
thug0bin
65754f594b
fix: 이미지 교체 시 바코드 검증 강화
...
- openReplaceModal에서 바코드 유효성 검사
- submitReplace에서 null/undefined 바코드 차단
- 디버깅 로그 추가
2026-03-02 23:52:31 +09:00
thug0bin
4a3ec38ba7
fix: 이미지 교체 시 바코드 전달 오류 수정
...
- data 속성으로 바코드/제품명 전달 (escapeHtml 문제 해결)
- 기존 레코드 유지하도록 UPDATE 쿼리 수정
2026-03-02 23:47:11 +09:00
thug0bin
4a06e60e29
feat: 이미지 교체 기능 추가
...
- URL 입력으로 이미지 수동 교체
- 다양한 User-Agent로 다운로드 시도 (차단 우회)
- base64 변환 + 썸네일 자동 생성
- status를 'manual'로 표시
2026-03-02 23:42:01 +09:00
thug0bin
ee28f97c11
feat: 제품 이미지 수동 크롤링 - MSSQL 검색 인터페이스 추가
...
- OTC 라벨처럼 제품명 검색 → 선택 → 크롤링
- 바코드 직접 입력 불필요
- MSSQL 검색 API 재사용
2026-03-02 23:37:31 +09:00
thug0bin
29648e3a7d
feat: yakkok.com 제품 이미지 크롤러 + 어드민 페이지
...
크롤러 (utils/yakkok_crawler.py):
- yakkok.com에서 제품 검색 및 이미지 추출
- MSSQL 오늘 판매 품목 자동 조회
- base64 변환 후 SQLite 저장
- CLI 지원 (--today, --product)
DB (product_images.db):
- 바코드, 제품명, 이미지(base64), 상태 저장
- 크롤링 로그 테이블
어드민 페이지 (/admin/product-images):
- 이미지 목록/검색/필터
- 통계 (성공/실패/대기)
- 상세 보기/삭제
- 오늘 판매 제품 일괄 크롤링
API:
- GET /api/admin/product-images
- GET /api/admin/product-images/<barcode>
- POST /api/admin/product-images/crawl-today
- DELETE /api/admin/product-images/<barcode>
2026-03-02 23:19:52 +09:00
thug0bin
4713395557
fix: OTC 라벨 검색 시 CD_ITEM_UNIT_MEMBER 바코드 포함
...
- CD_GOODS.Barcode가 없어도 CD_ITEM_UNIT_MEMBER에서 바코드 조회
- 바코드 없는 제품도 검색 결과에 포함
2026-03-02 17:35:13 +09:00
thug0bin
007b37e6c6
fix: 품목 바코드 조회 개선
...
- CD_GOODS.Barcode가 없으면 CD_ITEM_UNIT_MEMBER에서 조회
- 중복 제거 로직 추가 (drug_code 기준)
2026-03-02 17:29:16 +09:00
thug0bin
0e954ac749
fix: OTC 라벨 프린터 IP 수정 (192.168.0.168)
2026-03-02 17:18:48 +09:00
thug0bin
887aba3a03
feat: 실시간 POS 품목별 OTC 용법 라벨 인쇄 버튼 추가
...
POS 상세 패널:
- 품목 목록에 💊 인쇄 버튼 추가
- 프리셋 있으면 → 바로 인쇄
- 프리셋 없으면 → 새 창으로 등록 페이지 열기
API:
- /api/admin/pos-live/detail에 barcode 필드 추가
OTC 라벨 관리 페이지:
- URL 파라미터(barcode, name) 자동 처리
- POS에서 넘어올 때 자동으로 해당 약품 로드
2026-03-02 17:14:45 +09:00
thug0bin
c154537c87
feat: OTC 라벨 프리셋 삭제 기능 + 디버깅 로그 추가
2026-03-02 17:08:48 +09:00
thug0bin
b71d511c7a
fix: OTC 라벨 저장 시 display_name 자동 설정
...
- display_name 비어있으면 원본 약품명(currentDrugName) 사용
- 저장된 프리셋 목록에 바코드 대신 약품명 표시
2026-03-02 17:07:02 +09:00
thug0bin
ac0e1ced0e
fix: OTC 라벨 약품 검색 API 오류 수정
...
- StockQty 컬럼 제거 (CD_GOODS 테이블에 없음)
2026-03-02 17:04:43 +09:00
thug0bin
76a4280ebd
feat: OTC 용법 라벨 시스템 구현
...
DB:
- otc_label_presets 테이블 추가 (SQLite)
- 바코드 기준 오버라이드 데이터 저장
Backend:
- utils/otc_label_printer.py: 라벨 이미지 생성 + Brother QL-810W 출력
- API: CRUD + 미리보기 렌더링 + MSSQL 약품 검색
Frontend:
- /admin/otc-labels: 관리 페이지
- 실시간 미리보기
- 저장된 프리셋 목록
- 바코드/이름 검색 → 프리셋 편집 → 인쇄
2026-03-02 17:00:47 +09:00
thug0bin
c525632246
feat: 어드민 집계 페이지에 반려동물 통계 추가
...
통계 카드:
- 등록 반려동물 총 수
- 강아지/고양이 종류별 수
- 노란색 그라데이션 카드 스타일
최근 등록 반려동물 섹션:
- 최근 10마리 반려동물 카드
- 사진 + 이름 + 품종 + 보호자 정보
- 보호자 전화번호 마스킹 처리
2026-03-02 16:37:25 +09:00
thug0bin
a7b3d5b7e0
feat: 반려동물 정보 표시 기능 추가
...
API:
- /api/admin/pos-live에 pets 배열 추가
- 적립된 회원의 반려동물 정보 조회 (이름, 종류, 품종, 사진)
테이블 (바깥):
- 적립 열에 반려동물 아이콘 표시 (🐕 🐈 )
상세 패널:
- 반려동물 카드 섹션 추가
- 사진 + 이름 + 품종 표시
- 노란색 그라데이션 카드 스타일
2026-03-02 16:11:59 +09:00
thug0bin
695c1f707f
feat: 상세 패널에 키오스크/라벨출력 액션 버튼 추가
...
- 상세 패널 상단에 2열 액션 버튼 배치
- 📺 키오스크: 해당 건 즉시 전송
- 🏷️ 라벨출력: QR 생성 + Brother QL 출력
- 버튼에 예상 적립 포인트 표시
- 호버 효과 + 로딩 상태 표시
- QR 발행 여부, 적립 완료 정보 표시
2026-03-02 15:59:47 +09:00
thug0bin
f1e609ba9f
feat: 체크박스 선택 방식으로 UX 개선
...
- 테이블 헤더에 전체 선택 체크박스 추가
- 각 행에 개별 체크박스 추가
- 체크박스 클릭 = 선택만 (상세 패널 안 열림)
- 행 클릭 = 상세 패널 열기 (기존 동작 유지)
- 여러 건 선택 → 일괄 라벨 출력 가능
- 버튼에 선택 건수 표시: '📺 키오스크 (3건)'
2026-03-02 15:50:21 +09:00
thug0bin
e10b50e0c3
feat: 키오스크 전송 + 라벨 출력 버튼 추가 (UX 개선)
...
- 📺 키오스크 버튼: 기존 /api/kiosk/trigger API 활용
- 🏷️ 라벨출력 버튼: QR 생성 + Brother QL-810W 출력 (1클릭)
- 복잡한 QR 모달 제거 → 심플한 버튼 방식
- 토스트 메시지로 결과 표시
2026-03-02 15:44:50 +09:00
thug0bin
c279e53c3e
feat: 2단계 - QR 생성 및 Brother QL-810W 라벨 출력 API
...
- POST /api/admin/qr/generate: QR 토큰 생성 + 미리보기
- POST /api/admin/qr/print: Brother QL / POS 프린터 출력
- 프론트: QR 발행 버튼, 프린터 선택 모달
- 기존 qr_token_generator, qr_label_printer 모듈 활용
2026-03-02 15:35:48 +09:00
thug0bin
e37659dc04
feat: POS 실시간 판매 조회 웹 페이지 (Qt GUI 웹 버전)
2026-03-02 15:26:51 +09:00
thug0bin
52a4f69abc
feat: 관리자 대시보드 사용자 모달에 반려동물 탭 추가
...
- /admin/user/<id> API에 pets 데이터 추가
- 사용자 상세 모달에 🐾 반려동물 탭 추가
- 반려동물 사진, 이름, 종류, 품종, 성별, 등록일 표시
2026-03-02 14:51:46 +09:00
thug0bin
1cebb02ec6
feat: 반려동물 등록 기능 및 확장 마이페이지 추가
...
- pets 테이블 추가 (이름, 종류, 품종, 사진 등)
- 반려동물 CRUD API (/api/pets)
- 확장 마이페이지 (/mypage) - 카카오 로그인 기반
- 기존 마이페이지에 퀵 메뉴 추가 (반려동물/쿠폰/구매내역/내정보)
- 카카오 로그인 시 세션에 user_id 저장
- 동물약 APC 매핑 가이드 문서 추가
2026-03-02 13:56:22 +09:00
thug0bin
f102f6b42e
feat: 대시보드 조제 모달에도 AI 상호작용 체크 버튼 추가
2026-02-28 13:50:02 +09:00
thug0bin
16adca3646
feat: KIMS 상호작용 로그 뷰어 페이지 추가 (/admin/kims-logs)
2026-02-28 13:38:47 +09:00
thug0bin
fbe7dde4ce
feat: KIMS API 호출 SQLite 로깅 (AI 학습용 데이터 수집)
2026-02-28 13:32:53 +09:00
thug0bin
8c20c8b8db
fix: KIMS 심각도 매핑 수정 (SeverityDesc 사용) + 상호작용 약품 pill 색상 강조
2026-02-28 13:29:53 +09:00
thug0bin
67e576736d
fix: KIMS API에 DrugCode 직접 사용 (BASECODE 조인 제거)
2026-02-28 13:22:26 +09:00
thug0bin
4c0cd68267
fix: KIMS 코드 조회 쿼리 최적화 (중복 제거)
2026-02-28 13:20:31 +09:00
thug0bin
68dcb919e4
feat: KIMS 약물 상호작용 체크 기능 추가 (조제 탭 버튼 + 모달)
2026-02-28 13:15:31 +09:00
thug0bin
6a786ff042
feat: 제품 검색에 분류 뱃지 + 도매상 재고 추가 (PostgreSQL 방어적 lazy fetch)
2026-02-28 12:48:58 +09:00
thug0bin
4c93ee038a
feat: 챗봇 관련 제품에 분류 뱃지 추가 (내부구충제, 심장사상충약 등)
2026-02-28 12:32:03 +09:00
thug0bin
a42af23038
feat: 도매상 재고 표시 추가 (약국 N / 도매 M) + 문서화
2026-02-28 12:19:34 +09:00
thug0bin
180393700b
feat: 챗봇 관련 제품에 재고 표시 추가
2026-02-28 12:04:44 +09:00
thug0bin
21e07bcca9
fix: admin_products.html 인코딩 수정 + 재고 컬럼 추가
2026-02-28 12:01:32 +09:00
thug0bin
95d7ebab71
feat: 제품 검색 페이지에 재고 컬럼 추가 (초록/빨강 표시)
2026-02-28 11:59:49 +09:00
thug0bin
c1c38c68ac
feat: 동물약 API에 재고 정보 추가 (IM_total.IM_QT_sale_debit)
2026-02-28 11:56:11 +09:00
thug0bin
fd77dcbef9
feat: 챗봇 업셀링 로직 추가 (항생제→정장제 추천)
2026-02-28 11:50:02 +09:00
thug0bin
912679b137
feat: PostgreSQL에서 image_url 직접 조회 (바코드=APC 케이스 지원)
2026-02-28 11:45:27 +09:00
thug0bin
b1d5bcfc98
feat: APC 없을 때 바코드로 PostgreSQL RAG 조회
2026-02-28 11:43:18 +09:00
thug0bin
8b58ab0d3a
feat: RAG에 component_name_ko 추가 (성분 정보 개선)
2026-02-28 11:35:21 +09:00
thug0bin
c022ee21d0
feat: RAG에 성분/용도 정보 추가
2026-02-28 11:33:38 +09:00
thug0bin
d612563580
fix: (판) 접두어 제품 매칭 수정
2026-02-28 11:27:17 +09:00
thug0bin
dfbc6e4761
feat: 동물약 APC 일괄 매핑 (7개 완료)
2026-02-28 11:24:16 +09:00
thug0bin
8ee148abe4
refactor: 안텔민 하드코딩 제거, PostgreSQL RAG만 사용
2026-02-28 11:15:10 +09:00
thug0bin
3c9739a92e
fix: RAG 정보 우선 참조하도록 프롬프트 개선
2026-02-28 11:04:23 +09:00
thug0bin
73b8c8ec88
fix: 안텔민 개/고양이 공용 정보 수정 (ANIMAL_DRUG_KNOWLEDGE)
2026-02-28 11:02:56 +09:00
thug0bin
4254a0f7a2
fix: 챗봇 제품 매칭 개선 (안텔민→안텔민킹/뽀삐 매칭, APC 우선)
2026-02-28 11:01:01 +09:00
thug0bin
e12328ec17
feat: 동물약 챗봇 RAG 연동 (PostgreSQL llm_pharm)
2026-02-28 10:46:43 +09:00
thug0bin
009d133aef
chore: 테스트 스크립트 gitignore 추가 및 추적 제거
2026-02-28 10:46:31 +09:00
thug0bin
9019347d48
chore: DB 분석 스크립트 추가 (APC/바코드 조사용)
2026-02-28 10:45:00 +09:00
thug0bin
b95e14419e
feat: 동물약 APC 이미지 지원 (CD_ITEM_UNIT_MEMBER 연동)
2026-02-28 10:44:55 +09:00
thug0bin
68ad59285a
fix: 동물약 뱃지 위치 제품명 뒤로 변경
2026-02-27 17:59:11 +09:00
thug0bin
d106db64f3
feat: 동물약만 보기 체크박스 필터 추가
...
- 검색창 옆에 '🐾 동물약만 보기' 체크박스
- animal_only 파라미터로 API 필터링
- POS_BOON='010103' 기준 필터
2026-02-27 17:58:08 +09:00
thug0bin
197ded3806
feat: 제품 검색 페이지에 동물약 뱃지 표시
...
- /api/products API에 is_animal_drug 필드 추가
- POS_BOON='010103' 기준으로 동물약 판별
- 🐾 동물약 뱃지 표시 (초록색)
2026-02-27 17:56:34 +09:00
thug0bin
431909e50b
fix: 생일 표시 형식 수정 (MM-DD 지원)
2026-02-27 17:32:39 +09:00
thug0bin
8c127cfb95
feat: 사용자 상세 모달에 생일 표시
...
- /admin/user/<id> API에 birthday 필드 추가
- 카카오 인증 시 저장된 생일 정보 표시
- 🎂 MM월 DD일 형식으로 표시
2026-02-27 17:17:40 +09:00
thug0bin
8c366cc4db
feat: 대시보드 모달에 관심상품 탭 추가
...
- /admin/user/<id> API에 interests 필드 추가
- ai_recommendations 테이블에서 status='interested' 조회
- 모달에 💝 관심 탭 추가
- 트리거 상품, 추천 이유 표시
2026-02-27 17:10:35 +09:00
thug0bin
3fc9bbaf8e
feat: 대시보드 모달에 조제 이력 탭 추가
...
- /admin/user/<id> API에 prescriptions 필드 추가
- 전화번호 → CD_PERSON(CUSCODE) → PS_main 연동
- 모달에 💊 조제 탭 추가 (admin_members.html 스타일 적용)
- 병원명, 의사명, 투약일수, 처방품목 표시
2026-02-27 17:07:41 +09:00
thug0bin
c33d857fa6
fix: 조제 이력 조회 쿼리 개선 (기존 로직 참고)
...
- PM_BASE 세션과 PM_PRES 세션 분리
- 1단계: CD_PERSON에서 전화번호로 CUSCODE 조회 (PHONE/TEL_NO/PHONE2)
- 2단계: PS_main에서 CUSCODE로 조제 기록 확인
2026-02-27 16:44:37 +09:00
thug0bin
d0e7d6bbd2
feat: 대시보드에 조제 이력 뱃지 추가
...
- PM_BASE.CD_PERSON에서 전화번호로 CUSCODE 매칭
- PS_main에서 조제 기록 유무 확인
- 조제 기록 있으면 녹색 '💊 환자' 뱃지
- 조제 기록 없으면 회색 '일반' 뱃지
2026-02-27 16:42:14 +09:00
thug0bin
04b0f3a8ca
feat: 카카오 인증일(kakao_verified_at) 필드 추가
...
- DB에 kakao_verified_at 컬럼 추가
- link_kakao_identity()에서 최초 연동 시 인증일 기록
- 대시보드 테이블에 실제 인증일 표시
- 기존 카카오 연동 사용자 마이그레이션 완료
2026-02-27 16:31:31 +09:00
thug0bin
159386942e
feat: 대시보드에 인증일 컬럼 추가
...
- 테이블 헤더에 '인증' 컬럼 추가
- 카카오 인증자: 노란 뱃지 + 인증일 (updated_at)
- 미인증: 회색 '미인증' 뱃지
2026-02-27 16:26:35 +09:00
thug0bin
3467cacd2f
feat: 대시보드 최근 가입자 테이블에 카카오 뱃지 추가
2026-02-27 16:25:29 +09:00
thug0bin
a3a0bc8868
feat: 카카오 인증 여부 뱃지 추가
...
- API에 is_kakao_verified 필드 추가 (nickname != '고객')
- 사용자 상세 모달에 카카오 노란 뱃지 표시
- 검색 결과 목록에도 뱃지 표시
- 미인증 회원은 회색 '미인증' 뱃지
2026-02-27 16:23:26 +09:00
thug0bin
94a8df6653
fix: product_category_mapping 테이블 없을 때 에러 무시
...
- 카테고리 조회 시 테이블 없으면 건너뛰도록 try-except 추가
2026-02-27 16:16:00 +09:00
thug0bin
4691d65c14
fix: /admin/user/<id> SQLite 연결 에러 해결
...
- new_connection=True + finally close 적용
2026-02-27 16:11:44 +09:00
thug0bin
866d10fd92
fix: lottie CDN을 로컬 파일로 변경 (Tracking Prevention 차단 해결)
2026-02-27 16:10:28 +09:00
thug0bin
1414bb1432
fix: /admin 사이드바 검색 SQLite 연결 에러 해결
...
- /admin/search/user: new_connection=True + finally close
- /admin/search/product: new_connection=True + finally close
- 에러 로깅 강화 (traceback 포함)
2026-02-27 16:09:07 +09:00
thug0bin
87a56d0f6c
debug: 에러 로깅 강화 (traceback 포함)
2026-02-27 16:02:22 +09:00
thug0bin
76da7d9cd1
fix: SQLite 멀티스레드 I/O 에러 해결
...
- 요청마다 새 SQLite 연결 생성 (new_connection=True)
- 사용 후 명시적 close
- 간헐적 'I/O operation on closed file' 에러 방지
2026-02-27 15:43:52 +09:00
thug0bin
870e40a6db
fix: SQLite 연결 체크 강화
...
- 커서 생성/실행/close로 연결 상태 확인
- 연결 닫힐 때 명시적 close 호출
- I/O operation on closed file 에러 방지
2026-02-27 15:41:28 +09:00
thug0bin
d44aed16be
fix: 회원 상세 조회 시 모든 전화번호 컬럼 시도
...
- phone, phone1, tel_no, phone2 순서로 시도
- 전화번호 없는 회원 에러 방지 강화
2026-02-27 15:40:06 +09:00
thug0bin
a1640f55f8
fix: 전화번호 없는 회원 상세 조회 시 에러 처리
...
- 전화번호가 없으면 API 호출 전 안내 메시지 표시
- I/O 에러 방지
2026-02-27 15:36:55 +09:00
thug0bin
753df2c13c
feat: 회원 상세 - 관심 상품 탭 추가
...
- AI 업셀링에서 '관심있어요' 표시한 상품 조회
- status='interested'인 ai_recommendations 조회
- 상품명, 추천 메시지, 구매 상품(트리거) 표시
- 💝 관심 탭 UI 구현
2026-02-27 15:31:08 +09:00
thug0bin
79369d9a56
fix: 조제이력 투약정보 표시 개선
...
- 투약량 x 횟수 x 일수 형식으로 표시
- 예: 1정 × 3회 × 7일
2026-02-27 15:24:45 +09:00
thug0bin
02e56b9413
feat: 회원 상세 - 전체 구매이력 + 조제이력 탭 추가
...
- 전화번호 → CD_PERSON(CUSCODE) 매핑
- 구매 탭: SALE_MAIN/SALE_SUB (전체 POS 구매)
- 조제 탭: PS_main/PS_sub_pharm (처방전 조제)
- 병원명, 의사명, 투약일수, 처방 약품 표시
- POS 미등록 회원 안내 메시지 추가
2026-02-27 15:19:13 +09:00
thug0bin
8c3bcb525d
fix: 회원 상세 - transaction_id로 POS 품목 조회 연동
...
- 마일리지 적립 시 저장된 transaction_id로 SALE_SUB 조회
- 적립 내역에 구매 품목 표시 (품명, 수량, 가격)
- 구매 이력 탭: QR 적립된 구매만 품목과 함께 표시
- 기존 전화번호→고객코드 매핑 로직 제거 (불필요)
2026-02-27 15:11:23 +09:00
thug0bin
7843ca8fcf
feat: 회원 상세 모달 구현 (마일리지 + POS 이력)
...
- /api/members/history/<phone>: 통합 이력 조회 API
- 마일리지 적립/사용 내역 (SQLite)
- POS 구매 이력 (MSSQL - 전화번호→고객코드 매핑)
- 세련된 UI: 탭 전환, 거래 카드, 구매 카드
- 상세에서 바로 메시지 발송 가능
2026-02-27 15:08:09 +09:00
thug0bin
c4ab865c93
feat: 서버 시작/중지 스크립트 추가
...
- scripts/start_server.ps1: 기존 프로세스 종료 후 시작
- scripts/stop_server.ps1: 서버 중지
- scripts/*.bat: 더블클릭 실행용
2026-02-27 14:55:46 +09:00
thug0bin
6e23dc8b20
fix: 서버 시작 시 포트 충돌 자동 해결
...
- 포트 7001 사용 중이면 기존 프로세스 자동 종료
- Flask reloader 자식 프로세스 구분 처리
- check_port_available(), kill_process_on_port() 함수 추가
2026-02-27 14:55:07 +09:00
thug0bin
705696a7fb
feat: 회원 검색 페이지 및 API 추가
...
- /admin/members: 회원 검색 페이지 (팜IT3000 CD_PERSON)
- /api/members/search: 이름/전화번호 검색 API (TEL_NO, PHONE, PHONE2)
- /api/members/<cuscode>: 회원 상세 + 메모 조회 API
- /api/message/send: 알림톡/SMS 발송 API (테스트 모드)
- 대시보드 헤더에 회원검색 탭 추가
- 다중 선택 + 일괄 발송 UI
2026-02-27 14:10:44 +09:00
thug0bin
9bd2174501
feat: 제품 검색 페이지 및 QR 라벨 인쇄 기능
...
- /admin/products: 전체 제품 검색 페이지 (OTC)
- /api/products: 제품 검색 API (세트상품 바코드 포함)
- qr_printer.py: Brother QL-710W 프린터 연동
- /api/qr-print, /api/qr-preview: QR 라벨 인쇄/미리보기 API
- 판매상세 페이지에 QR 인쇄 버튼 추가
- 수량 선택 UI (+/- 버튼, 최대 10장)
- 세트상품 제조사 표시 개선
- 대시보드 헤더에 제품검색/판매조회 탭 추가
2026-02-27 13:56:26 +09:00
thug0bin
1b78704ca6
fix: 세트상품 바코드 조회 - CD_ITEM_UNIT_MEMBER 테이블 연동
...
- CD_GOODS.BARCODE 없으면 CD_ITEM_UNIT_MEMBER.CD_CD_BARCODE 사용
- 알리미팜 세트상품/자체등록 바코드 지원
- 바코드 매핑률 89.8% → 99.8% 개선
2026-02-27 12:35:34 +09:00
thug0bin
2a090c9704
feat: Clawdbot Gateway 모니터링 페이지 + API 클라이언트
...
- /admin/ai-gw: 토큰 사용량/비용 실시간 모니터링 대시보드
- clawdbot_client.py: Gateway HTTP API 클라이언트 (세션 상태, 사용량 조회)
- 세션별 토큰/비용 통계, 모델별 breakdown
- API 문서 추가 (docs/clawdbot-gateway-api.md)
2026-02-27 12:22:05 +09:00
thug0bin
ccb0067a1c
feat: POS 스타일 판매내역 페이지 + 바코드/표준코드 조회
...
- /admin/sales: 다크 테마 POS 스타일 판매내역 (날짜별 그룹, 아코디언)
- /admin/sales-detail: 기존 라이트 테마 상세 조회 페이지
- 상품코드/바코드/표준코드 전환 버튼
- 바코드 시각화 + 매핑률 통계
- 대시보드 메뉴에 판매내역 링크 추가
2026-02-27 12:14:50 +09:00
thug0bin
da51f4bfd1
fix: 키오스크 세로 모니터 QR 코드 중앙 정렬
...
- portrait 모드 claim-left: row → column 레이아웃으로 변경
- QR 컨테이너, 결제 카드, 품목 카드 모두 중앙 정렬
- QR 이미지 크기 140px → 160px 조정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 01:37:24 +09:00