o2o-negosium-original/negodata/backend/crud
Mina Choi 69e4240039 [fix] negodata: 협상카드 성공률에 회사 스코프 누락 — 타사 견적 이력이 섞이던 문제
card_success_map 이 quotations 조인 없이 DB 전체 chats 를 카드별로 집계해,
다른 회사 견적에서 쓰인 이력이 내 카드 목록의 used_count/success_rate 로 잡혔다.
통계 화면 '협상카드 성공률 TOP 5' 와 견적 생성 시 카드 추천 순위가 모두 이 값을 쓴다.

- quotations 조인 + 작성자 회사(users.company_id) 스코프 추가
- 소프트 삭제분 제외(sessions.deleted / quotations.deleted 필터 누락분 보강)
2026-08-13 14:06:34 +09:00
..
card_crud.py [fix] negodata: 협상카드 성공률에 회사 스코프 누락 — 타사 견적 이력이 섞이던 문제 2026-08-13 14:06:34 +09:00
dashboard_crud.py [refactor] negodata: 목표가 산정 정리 — purchase_only 죽은코드 제거(백+프론트)·산정 재료 로더 공용화·자동재생성 잔재 주석 정정 2026-07-27 16:07:21 +09:00
item_crud.py [feat] negodata: 회사 커스터마이징(설정·라벨·커스텀필드·엑셀·상품공급사#20·분류카테고리#17)·일괄삭제·로그export·구분·카드 전체선택·부가정보 표시 2026-07-22 15:20:24 +09:00
learning_crud.py [feat] negosium·negodata: 협상 거부 흐름 정리 + 오프라인 계약가 낙찰 + 견적 상세 리모델링 2026-08-12 10:25:26 +09:00
lps_sync_crud.py feat(negodata): 4단계 — 사용자 화면에서 '없음'과 '확인 못함'을 구분 2026-08-07 11:21:56 +09:00
notification_crud.py [feat] negodata: 알림함 — 견적 마감 결과(낙찰/재생성/결렬) 자동 통지 2026-06-30 17:24:59 +09:00
quotation_crud.py [feat] negodata: 낙찰 방식 구분(자동/직접) + 계약가·사유 저장 위치 재정리 2026-08-12 10:25:26 +09:00
quotation_setting_crud.py [feat] negodata/backend: 상품·협력사·견적 도메인 CRUD + delivery_type 코드화 + 공용 /v1/enums 2026-06-17 15:58:38 +09:00
renegotiation_crud.py [feat] negodata: 재협상 소유권 게이팅·처리담당자·상세 링크·재생성 타이틀·알림 토스트(읽음API)·재협상요청 표기·커스텀필드 select 2026-07-24 14:18:52 +09:00
statistics_crud.py [feat] negodata: 낙찰 방식 구분(자동/직접) + 계약가·사유 저장 위치 재정리 2026-08-12 10:25:26 +09:00
supplier_crud.py [feat] negodata: 소유권 게이팅 + 견적 낙찰 + 작성자명 표시 + 전화입력 + 카드 엑셀 2026-07-07 16:18:33 +09:00
supplier_item_crud.py [feat] negodata: 회사 커스터마이징(설정·라벨·커스텀필드·엑셀·상품공급사#20·분류카테고리#17)·일괄삭제·로그export·구분·카드 전체선택·부가정보 표시 2026-07-22 15:20:24 +09:00
supplier_user_crud.py [feat] negodata: 협력사 채팅 계정(supplier_users) 관리 — 발급·비번 재설정·활성상태 2026-07-10 10:14:00 +09:00
user_crud.py [feat] negodata: 권한 3단계(개발자 신설)·개발자 메뉴 그룹·디자인 시스템 페이지 2026-07-23 15:41:36 +09:00