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
95fdd23817
docs: 이미지 교체 바코드 전달 오류 트러블슈팅 문서 추가
2026-03-02 23:56:34 +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