- InterviewScenarioController: 카테고리/항목/질문 CRUD + 세션 관리 API
- InterviewScenarioService: 비즈니스 로직 (트리 조회, 세션 시작/토글/완료)
- MNG 모델 5개: InterviewCategory, InterviewTemplate, InterviewQuestion, InterviewSession, InterviewAnswer
- React 뷰: 2-패널 레이아웃 (카테고리 사이드바 + 항목/질문 관리)
- 인터뷰 실시 모달: 카테고리 선택 → 체크리스트 → 완료
- 인터뷰 기록 모달: 기록 목록 + 상세 보기
- InterviewMenuSeeder: 영업관리 > 인터뷰 시나리오 메뉴 추가
- 라우트 18개 추가 (sales/interviews/api/*)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- corp_name 필드 sometimes→nullable 변경 (null 전달 시 string 오류 방지)
- tax_amount nullable 처리, 미입력 시 0
- 한글 validation 메시지 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
invoicer_corp_name, invoicee_corp_name에 null coalescing 추가
매출 입력 시 invoicer 필드가 null로 전달되어 DB NOT NULL 제약 위반 발생
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 같은 거래가 잔액만 다르게 저장된 경우도 중복으로 인식하도록 수정
- save() upsert에서도 balance 제외하여 향후 중복 방지
- 기존 레코드 발견 시 balance도 갱신
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- periodReport에서 동일 거래(계좌+일시+금액) 중복 제거 로직 추가
- EaccountController save() 금액 비교를 정수 캐스트로 변경하여 decimal 정밀도 차이 중복 방지
- 합계행 잔액 계산 시 Number() 캐스트로 NaN 방지
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 수동입력: MAN-YYYYMMDD-NNN 형식 자동채번, 생성/수정/삭제
- 분개: 세금계산서에서 일반전표 자동 생성 (매출/매입 패턴)
- 카드내역 참조: 수동입력 시 카드사용내역에서 금액/거래처 자동채움
- 테이블에 액션 컬럼 추가 (분개/수정/삭제 버튼)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- BankTransactionSplit 모델 생성
- EaccountController에 splits/saveSplits/deleteSplits 메서드 추가
- 라우트 3개 추가 (GET/POST/DELETE splits)
- BankSplitModal React 컴포넌트 추가
- TransactionTable에 분개 컬럼/하위행 렌더링
- App 컴포넌트에 분개 상태 및 핸들러 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- BankAccountController에 HX-Redirect 추가 (HTMX 네비게이션 시 스크립트 실행 보장)
- latestBalances() 수동입력 거래 포함 정확한 잔액 계산으로 개선
- N+1 쿼리 제거: 전체 거래를 한번에 조회 후 계좌별 그룹화 처리
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- findBaseBalance를 이전 전체 거래 순회 방식으로 변경
- API 데이터는 바로빌 잔액을 그대로 사용
- 수동입력 건(잔액 0 저장)은 입출금 누적으로 잔액 계산
- 9월 수동입력 → 10월 조회 시 정확한 이전 잔액 적용
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 조회기간 이전의 마지막 잔액을 DB에서 조회하여 기준값으로 사용
- findBaseBalance() 메소드 추가: 조회 시작일 이전 최종 잔액 탐색
- 수동입력 건의 잔액이 0에서 시작하지 않고 이전 실제 잔액에서 계산
- 단일계좌/전체계좌/수동건만 조회 모든 케이스에 적용
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- /finance/card-transactions에서 EcardController 직접 호출 (리디렉션 제거)
- /barobill/ecard index는 재무관리로 리디렉션
- 데이터 API 라우트(cards, transactions 등)는 barobill 하위 유지
- 바로빌 메뉴에서 카드 사용내역 제거 (재무관리에 이미 존재)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 기본 조회 건수 50 → 200으로 변경
- 단일 카드 조회 시 전체 데이터를 가져와서 통계 계산 후 로컬 페이지네이션
- 상단 통계(총 사용금액, 공제, 불공제)가 페이지네이션과 무관하게 전체 조회기간 반영
- 페이지네이션 중일 때 프론트엔드 재계산이 백엔드 통계를 덮어쓰지 않도록 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 재무관리 > 계좌거래내역 → 계좌입출금내역으로 명칭 변경
- /finance/account-transactions에서 EaccountController 직접 호출 (리디렉션 제거)
- /barobill/eaccount index는 재무관리로 리디렉션
- 데이터 API 라우트(accounts, transactions 등)는 barobill 하위 유지
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- recalcManualBalances() 메서드 추가: 병합된 로그를 시간순으로 순회하며
수동입력 건의 잔액을 직전 거래 잔액 + 입금 - 출금으로 재계산
- 단일 계좌/전체 계좌/수동건만 있는 경우 모두 적용
- API 거래의 잔액은 그대로 유지
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- BankTransaction 모델에 is_manual 필드 추가
- EaccountController에 storeManual/updateManual/destroyManual 메서드 추가
- transactions() 메서드에서 수동입력 데이터와 API 데이터 병합
- 라우트에 수동입력 관련 POST/PUT/DELETE 추가
- 뷰에 ManualEntryModal 컴포넌트 추가 (계좌선택, 입금/출금 유형, 금액 등)
- 거래 목록에 수동 뱃지, 수정/삭제 버튼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- BankTransactionOverride 모델 추가 (오버라이드 데이터 관리)
- EaccountController에 saveOverride 엔드포인트 추가
- parseTransactionLogs에서 오버라이드 데이터 병합 로직 추가
- 프론트엔드에 TransactionEditModal 컴포넌트 추가
- 적요 셀 클릭 시 수정 모달 표시
- 오버라이드된 항목 시각적 표시 (배경색, 수정 배지)
- 원본 복원 기능 포함
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- store/bulkStore 메소드에 중복 휴일 등록 방지 로직 추가
- 년도별 일괄 삭제 기능 (destroyByYear) 추가
- 휴일관리 UI에 년도 전체 삭제 버튼 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- latestBalances API 추가 (barobill_bank_transactions 테이블)
- 바로빌 GetBankAccountEx 대신 로컬 DB 최신 잔액 사용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- DocumentTemplateApiController: 연결 품목 ID로 품목명 조회
- table.blade.php: 연결 품목 컬럼 추가 (최대 3개 표시 + 더보기)
- index.blade.php: 카테고리 필터 code/name 구조 적용
- preview-modal.blade.php: 기본필드 테이블 비율 조정 (15:35:15:35)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CardTransactionHide 모델 생성 (숨김 테이블 연동)
- EcardController에 hide/restore/hidden 메서드 추가
- 기존 transactions/getAllCardsTransactions에 숨김 키 필터링 적용
- 프론트엔드에 숨김 버튼, 삭제데이터 보기 토글, 복원 기능 추가
- web.php에 숨김 관련 라우트 3개 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SplitModal: 금액 단일필드 → 공급가액+부가세 2필드로 변경
- 행별 합계금액 자동계산 표시
- 분개 리스트 행에 공급가액/부가세 개별 표시
- 분개 기반 요약 재계산 로직 추가 (recalculateSummary)
- 모델: split_supply_amount, split_tax 필드 추가
- 컨트롤러: 분개 합계 검증 및 CSV 내보내기 반영
- 레거시 데이터(supply/tax 없는 기존 분개) 호환성 유지
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- getCategories()를 common_codes 우선 조회로 변경
- 기존 템플릿 카테고리 폴백 유지
- 카테고리 select를 동적 옵션으로 전환
- 직접 입력 옵션 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- fetchRemoteMenus()에서 tenant_id 쿼리 파라미터 추가
- export() API에서 요청의 tenant_id 파라미터 우선 사용
- getMenuTreeForTenant() 메서드 추가로 특정 테넌트 메뉴 조회 지원
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 수동입력 모달 (등록/수정) 추가
- storeManual, updateManual, destroyManual 컨트롤러 메서드 추가
- 바로빌 API 데이터와 수동 입력 건 병합 표시
- 수동 건에 "수동" 배지, 수정/삭제 버튼 표시
- 라우트: POST/PUT/DELETE /barobill/ecard/manual
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- totalTax 집계 시 deductionType이 'deductible'인 건만 포함
- parseTransactionLogs(), getAllCardsTransactions() 양쪽 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>