문제점:
- 리비전 파일 업로드 시 모든 자재가 purchase_confirmed=false로 새로 저장됨
- 이전 리비전에서 구매확정한 자재가 다시 미구매 상태로 돌아가는 버그
해결방법:
1. perform_simple_revision_comparison 함수에서 구매확정 정보 반환
- purchase_confirmed, purchase_confirmed_at, purchase_confirmed_by
- purchased_materials_map 딕셔너리로 반환
2. materials 테이블 insert 시 구매확정 상태 상속
- 자재 식별 키로 purchased_materials_map 확인
- 매칭되면 구매확정 상태와 메타데이터 상속
- 로그 출력: "🔥 구매확정 상태 상속: ..."
3. 디버깅 정보 개선
- 리비전 비교 결과에 excluded_purchased_count 추가
- 첫 번째 자재 저장 시 purchase_confirmed 상태 출력
동작 방식:
1. Rev.1에서 자재 A를 구매확정 → purchase_confirmed=true
2. Rev.2 업로드 시 자재 A가 포함되어 있으면
3. 리비전 비교에서 자재 A를 purchased_materials_map에 저장
4. 새 파일의 자재 A 저장 시 구매확정 상태 상속
5. Rev.2의 자재 A도 purchase_confirmed=true 유지
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>