Commit Graph

83 Commits

Author SHA1 Message Date
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
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
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
8c20c8b8db fix: KIMS 심각도 매핑 수정 (SeverityDesc 사용) + 상호작용 약품 pill 색상 강조 2026-02-28 13:29:53 +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
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
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
866d10fd92 fix: lottie CDN을 로컬 파일로 변경 (Tracking Prevention 차단 해결) 2026-02-27 16:10: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