Commit Graph

1169 Commits

Author SHA1 Message Date
김보곤
f73e8a18a1 fix:입출금내역 저장 시 decimal:2 cast dirty 감지로 인한 unique 제약조건 위반 수정
Eloquent 모델의 decimal:2 cast가 balance를 dirty로 잘못 감지하여
UPDATE 시 balance가 포함되면서 unique 제약조건 위반 발생.
Query Builder(DB::table)로 변경하여 지정 필드만 업데이트.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:35:04 +09:00
김보곤
13f2e1df73 fix:입출금내역 상대계좌예금주명 저장 후 원복되는 문제 수정
인라인 편집으로 cast 저장 시 override 테이블의 modified_cast가
메인 테이블 값보다 우선하여 이전 값이 표시되는 문제.
save() 후 override의 modified_cast를 동기화(제거)하여 충돌 방지.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:25:00 +09:00
김보곤
77c412367a fix:회의록 녹음 중지 후 자동 화자 분리 실행
녹음 중지 시 오디오 업로드 → 자동 화자 분리(Google Cloud STT)
→ 자동 AI 요약 순서로 진행하도록 변경
기존에는 수동으로 "화자 분리" 버튼을 눌러야 했음

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:09:44 +09:00
김보곤
7af96006f8 fix:회의록 레이아웃 화면 전체 너비로 변경
max-w-6xl mx-auto 제거하여 전체 너비 사용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:49:31 +09:00
김보곤
fefd224c36 fix:보유계좌관리 레이아웃 화면 전체 너비로 변경
container mx-auto 제거하여 전체 너비 사용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:45:10 +09:00
김보곤
c6498d4001 fix:최종처리일시에 바로빌 거래내역 최신일시 연결
barobill_bank_transactions에서 계좌번호 매칭(하이픈 제거)으로
최신 거래일시를 서브쿼리로 조회하여 fallback 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:43:07 +09:00
김보곤
fed6bff247 fix:보유계좌 최종처리일시에 마지막 거래일시 표시
last_transaction_at이 null일 때 eager load된 최신 거래내역의
transaction_date + transaction_time을 fallback으로 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:37:42 +09:00
김보곤
bc4322c1f5 feat:거래처 등록 사업자등록증 OCR 기능 추가
- TradingPartnerOcrService 신규 생성 (Gemini Vision API 사업자등록증 OCR)
- TradingPartnerController에 ocr() 메서드 추가
- partners 라우트 그룹에 OCR 엔드포인트 추가
- 거래처 등록 모달에 이미지 드래그앤드롭 업로드 UI 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:18:51 +09:00
김보곤
beae44db24 fix:회의록 수동 AI 요약 시 세그먼트 먼저 저장하도록 수정
수동으로 '요약 실행' 클릭 시 로컬 세그먼트가 서버에 저장되지 않아
full_transcript가 비어있어 '요약할 텍스트가 없습니다' 에러 발생.
요약 API 호출 전에 로컬 세그먼트를 먼저 서버에 저장하도록 수정.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:17:59 +09:00
김보곤
f8a276f3b0 fix:Vite 빌드 결과물 추가하여 서버 ViteManifestNotFoundException 해결
서버에서 @vite() 사용 시 manifest.json이 없어 500 에러 발생.
.gitignore에서 public/build/ 제외하고 빌드 결과물을 커밋하여 서버 배포.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 13:59:22 +09:00
김보곤
d4ff6dae25 fix:일일자금일보 중복 제거 키에 balance 추가하여 동일 금액 다른 거래 구분
계좌 입출금내역과 동일한 문제: balance 없이 중복 제거하면
같은 출금금액의 서로 다른 거래가 하나로 합쳐지는 문제 수정.
BankTransaction 모델의 unique_key 속성(balance 포함)을 재사용.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 12:17:09 +09:00
김보곤
20568765e0 fix:계좌 입출금내역 저장 키값에 balance 추가하여 동일 금액 다른 거래 구분
같은 출금금액이라도 잔액(balance)이 다르면 별도 거래로 인식하도록 개선.
기존에는 balance 없이 매칭하여 김종성/곽형석 등 다른 거래가 같은 키로 인식되는 문제 수정.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:39:16 +09:00
김보곤
597fbdf0e0 Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-manage into develop 2026-02-10 10:29:26 +09:00
김보곤
b2fbd3d113 feat:회의록 자동 화자 분리(Phase 2) 구현 및 세그먼트 저장 에러 수정
- GoogleCloudService에 speechToTextWithDiarization 메서드 추가
- Google STT V1 diarizationConfig 활성화로 자동 화자 구분
- MeetingMinuteService에 processDiarization 메서드 추가
- POST /{id}/diarize 엔드포인트 및 라우트 추가
- 프론트엔드에 '화자 분리' 버튼 추가 (RecordingControlBar)
- saveSegments 컨트롤러에 try-catch 에러 핸들링 추가
- 빈 텍스트 세그먼트 필터링 로직 추가 (서버/클라이언트 양쪽)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:29:16 +09:00
a57fbf5425 Merge remote-tracking branch 'origin/develop' into develop 2026-02-10 10:27:26 +09:00
118c9ff6c7 style: 메뉴 동기화 페이지 UI 개선
- 동기화 요약 카드 → 탭 바 우측 인라인 뱃지로 축소
- 에러/경고 메시지 탭 하단 인라인으로 이동
- 비교 테이블 영역 overflow 처리 개선 (min-h-0)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:27:00 +09:00
ee9a5ececb feat: 메뉴 체크박스 상위 선택 시 하위 메뉴 연동 선택/해제
- toggleMenuChildren 함수 추가 (재귀적 하위 메뉴 체크)
- import/normal 모드 체크박스에 onchange 연동

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:26:57 +09:00
김보곤
0f312bcf77 fix:회의록 상세 레이아웃 높이 조정 (하단 녹음바 잘림 해결)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:18:05 +09:00
김보곤
60daac465f fix:회의록 AI 요약 버튼 대화 내용 없을 때 모달 안내 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:13:38 +09:00
김보곤
418aa0c469 feat:Tiro AI 스타일 회의록 작성 기능 추가 (음성인식+화자분리+AI요약)
- MeetingMinute/MeetingMinuteSegment 모델
- MeetingMinuteService (CRUD, GCS 업로드, Gemini AI 요약)
- MeetingMinuteController (11개 엔드포인트)
- React SPA Blade 뷰 (대화기록/스크립트 탭, AI 요약 사이드패널)
- Web Speech API 실시간 STT + 수동 화자 전환 + MediaRecorder 녹음

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 09:50:23 +09:00
김보곤
16309c5f61 refactor:영업/매니저 시나리오 음성 인식 STT 개선
- onresult에서 event.resultIndex부터 순회 (중복 처리 방지)
- finalizedSegments[] 배열로 확정 텍스트 영구 관리
- 다크 프리뷰 패널(bg-gray-900)로 UI 통일
- 확정=흰색 일반체, 미확정=회색 이탤릭 스타일 적용
- 고정 line-height(1.6)으로 텍스트 전환 시 흔들림 방지
- 인식 중/완료 상태 표시 추가
- 공사현장 사진대지 VoiceInputButton과 동일 규칙 적용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 09:19:14 +09:00
김보곤
8b0f78f364 fix:모달 내 사진 업로드/삭제 시 배경 리스트 갱신 지연
- 모달에서 사진 업로드/삭제/수정 시 배경 리스트 fetchList() 제거
- modalDirtyRef로 변경 여부 추적
- 모달 닫힐 때만 dirty 상태면 리스트 한 번 갱신
- 카드 많을 때 불필요한 리렌더링으로 인한 성능 저하 방지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 09:03:19 +09:00
김보곤
969976ad6b refactor:음성입력 STT 스트리밍 프리뷰 규칙 적용 (finalizedSegments 기반)
- interim 텍스트: italic + gray (수정 가능)
- final 텍스트: normal weight + solid color (영구 저장, 삭제 불가)
- finalizedSegments 배열로 확정 텍스트 누적 관리
- 고정 line-height(1.6)으로 부드러운 전환
- 녹음 종료 후 2초 dismiss 타이머

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 08:59:07 +09:00
김보곤
97b5f66077 refactor:AI 설정 페이지 탭 제거, 한 페이지에 전체 표시
AI 설정 + 스토리지 설정을 섹션별로 나누어 한 페이지에 표시
각 섹션에 개별 추가 버튼 배치

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 08:01:50 +09:00
김보곤
5b35938abe fix:음성입력 미리보기 개선 - 텍스트 잘림/깜빡임 방지
- 말풍선 max-w 확대 + 줄바꿈 허용 (truncate 제거)
- final 결과 시 녹색 말풍선으로 1.2초 유지 후 페이드
- interim→final 전환 시 깜빡임 없이 자연스럽게 연결
- 인식 중 노란 점 애니메이션, 확정 시 체크 아이콘

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 22:03:43 +09:00
김보곤
d7a656a047 feat:음성입력 STT 사용량 AI 토큰 추적 연동
logSttUsage 엔드포인트 추가, 녹음 종료 시 duration 전송
AI 토큰 사용량에 '공사현장사진대지-음성입력' 카테고리로 기록

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:54:30 +09:00
김보곤
e638d97d65 feat:음성입력 실시간 미리보기 + 재클릭 중지 기능
continuous 모드로 변경, interimResults로 실시간 텍스트 표시
녹음 중 버튼 재클릭 시 중지, 아이콘 정지 모양으로 변경

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:52:45 +09:00
김보곤
e1a9910939 feat:현장명/설명 음성입력(STT) 버튼 추가
Web Speech API 기반 음성→텍스트 변환
신규등록/수정 모드에서만 마이크 버튼 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:49:02 +09:00
김보곤
95fbbd4fff feat:공사현장 사진대지 GCS 업로드 시 AI 토큰 사용량 기록
AiTokenHelper::saveGcsStorageUsage 호출 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:41:32 +09:00
김보곤
16337a243d fix:tenant_id를 session에서 가져오도록 수정
Auth::user()->tenant_id → session('selected_tenant_id')

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:34:49 +09:00
김보곤
18150e1b82 fix:CSRF 토큰 누락 수정 (apiFetch headers 덮어쓰기 문제)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:33:45 +09:00
2182f177f2 Merge remote-tracking branch 'origin/develop' into develop 2026-02-09 21:32:55 +09:00
김보곤
ed2d3425b7 fix:Toast 컴포넌트 이름 충돌 수정
레이아웃의 전역 Toast(SweetAlert)와 이름 충돌 → ToastNotification으로 변경

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:30:30 +09:00
김보곤
beff95b4e1 feat:공사현장 사진대지 기능 추가
모델, 서비스, 컨트롤러, React SPA 뷰, 라우트 추가
GCS 업로드/다운로드, 드래그앤드롭 사진 관리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:25:07 +09:00
8f20fa8163 feat:트리거 관리(4.4) + 파티션 관리(4.6) UI 구현
- TriggerManagementService: 테이블별 트리거 상태 조회/재생성/삭제
- PartitionManagementService: 파티션 현황 조회/추가/삭제 (보관기간 검증)
- triggers.blade.php: 트리거 상태 대시보드 + 개별/전체 재생성·삭제
- partitions.blade.php: 파티션 통계 + 추가/삭제 (초과분만)
- sub-nav: 감사 로그 목록/트리거 관리/파티션 관리 탭 내비게이션
- 라우트 6개 추가, 컨트롤러 6개 메서드 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 19:53:32 +09:00
김보곤
64ac667cfd fix:계좌 입출금내역 상대계좌예금주명/적요 업데이트 누락 수정
기존 거래 업데이트 시 cast(상대계좌예금주명), summary(적요)가
업데이트 대상에서 빠져있어 저장되지 않던 문제 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 17:46:57 +09:00
김보곤
2c138a1135 feat:홈택스 분개 저장 구조 변경 (journal_entries → hometax_invoice_journals)
- HometaxInvoiceJournal 모델 신규 생성
- HometaxInvoice에 journals() 관계 추가
- HometaxController: 저장 로직 변경 + 조회/삭제 엔드포인트 추가
- HometaxSyncService: hasJournal 필드 추가
- 프론트엔드: 분개완료 상태 표시, 기존 분개 로드/수정/삭제 지원

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 17:03:07 +09:00
김보곤
13a6e5e922 Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-manage into develop 2026-02-09 16:25:25 +09:00
김보곤
943648169a fix:홈택스 분개 차/대 토글 기능 추가 및 저장 오류 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 16:25:16 +09:00
cfd3aa0f74 Merge remote-tracking branch 'origin/develop' into develop 2026-02-09 16:16:27 +09:00
5968795d9f chore: .env.example 이력관리 제거
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 16:11:57 +09:00
d6e2368f00 feat:중간검사 성적서 템플릿 개선 (수주 LOT NO, 기준서 이미지, 섹션 타이틀)
- basic_fields에 수주 LOT NO 필드 추가
- 중간검사 기준서 이미지 섹션 추가 (4종 공통)
- 데이터 섹션 타이틀 "중간검사 DATA"로 통일
- 절곡품 4개 검사 섹션을 1개로 병합
- 미리보기에 ■ 섹션 타이틀 렌더링 (이미지/데이터 분리)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 16:01:52 +09:00
김보곤
b2b07bffbe feat:홈택스 분개 모달에 계정과목 검색 드롭다운 적용
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 15:59:26 +09:00
김보곤
95ddc6be2a docs:CLAUDE.md 메뉴 관리 규칙 변경 (시더→수동 관리)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 15:22:40 +09:00
김보곤
4c9daf3633 fix:부가세 카드매입 분개 이중계산 버그 수정
분개가 있는 카드거래의 unique_key가 금액 변경/수동입력으로
달라질 경우 매칭 실패하여 원본+분개 이중 집계되는 문제 수정.
금액을 제외한 부분키(card_num|use_dt|approval_num)로
보조 매칭하여 분개가 있으면 원본 금액을 사용하지 않도록 개선.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 15:05:39 +09:00
김보곤
625a6ccf69 fix:서버 메뉴 이름 불일치 보정 시더 추가
서버 DB의 메뉴 이름(미수금 관리, 미지급금 관리, 환불/해지 관리)이
로컬과 달라 이동되지 않은 3개 메뉴를 고객/거래처/채권관리로 이동

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 12:32:26 +09:00
김보곤
79f60969d0 feat:재무/영업 메뉴 대분류 재구성 시더 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 12:29:54 +09:00
김보곤
92104e59ad fix:일일자금일보 출금처/적요 표시 순서 수정 (거래처-적요 순으로)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 12:21:04 +09:00
김보곤
313ed15e7e fix:Toast 컴포넌트명 충돌 수정 (레이아웃 SweetAlert2 Toast와 중복)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:32:31 +09:00
김보곤
9935906465 fix:Blade @verbatim 추가 - JSX 이중 중괄호 파싱 오류 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:31:38 +09:00