- MngMenuSeeder에 영업관리 메뉴 그룹 추가
- 영업담당자 관리 (/sales/managers)
- 가망고객 관리 (/sales/prospects)
- 영업실적 관리 (/sales/records)
- 담당자 등록 화면에 번개 아이콘 자동입력 기능 추가
- 랜덤 샘플 데이터 자동 채우기
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
레거시 sales 시스템에서 MNG로 마이그레이션:
- 마이그레이션: sales_managers, sales_prospects, sales_records 등 6개 테이블
- 모델: SalesManager, SalesProspect, SalesRecord 등 6개 모델
- 컨트롤러: SalesManagerController, SalesProspectController, SalesRecordController
- 뷰: managers, prospects, records CRUD 화면
- 라우트: /sales/* 경로 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CorpNum을 파트너사 사업자번호 대신 테넌트 사업자번호로 변경
- 바로빌 회원사 정보 없을 때 명확한 에러 메시지 반환
- 에러 메시지 개선 (-10008, -60001 등)
- 진단 기능에서 파트너사/테넌트 사업자번호 구분 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 상단에 조회 기간 카드 추가 (날짜 선택, 이번 달/지난달 버튼, 조회 버튼)
- 현재 조회 기간 및 매출/매입 건수 표시
- InvoiceTable 컴포넌트 간소화 (중복 날짜 필터 제거)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- HometaxController에 서비스 진단 메소드 추가 (diagnose)
- 홈택스 스크래핑 URL 조회 메소드 추가 (getScrapRequestUrl)
- 홈택스 스크래핑 갱신 요청 메소드 추가 (refreshScrap)
- 뷰에 서비스 진단 모달 UI 추가
- 라우트: scrap-url, refresh-scrap, diagnose 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- GetHomeTaxTIBySalesEx → GetTaxInvoiceSalesListEx
- GetHomeTaxTIByPurchaseEx → GetTaxInvoicePurchaseListEx
- parseInvoices() 응답 구조 수정
- 홈택스 수집 기능 별도 구독 필요 안내 추가
- HometaxController 생성 (HOMETAX.asmx SOAP API 연동)
- 매출 세금계산서 목록 조회 (GetHomeTaxTIBySalesEx)
- 매입 세금계산서 목록 조회 (GetHomeTaxTIByPurchaseEx)
- 홈택스 수집 요청 및 상태 조회 기능
- React 기반 UI (매출/매입 탭 전환, 통계 대시보드)
- CSV 엑셀 다운로드 기능
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- toggleActive, toggleHidden 함수를 낙관적 업데이트 방식으로 변경
- 토글 클릭 시 즉시 UI 상태 변경 후 백엔드 비동기 요청
- 실패 시에만 원래 상태로 롤백 및 에러 토스트 표시
- 일반 메뉴, 글로벌 메뉴 페이지 모두 적용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- API에서 ApprovalType이 "승인"/"취소" 한글 텍스트로 반환되는 문제 해결
- 기존: '1', '0', '' 만 승인으로 처리 (한글 "승인" 누락)
- 수정: '2', '취소'가 아닌 경우 모두 승인으로 처리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 빈값(''), '0', '1' 모두 승인으로 처리
- '2'만 취소로 처리
- 통계 및 표시 모두 동일한 isApproval 변수 사용
- 디버깅 로그에 amount 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ApprovalType을 문자열로 캐스팅하여 비교
- 숫자(1)와 문자열('1') 비교 불일치 문제 해결
- 디버깅용 로그 추가 (첫 번째 로그의 ApprovalType 값 확인)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- GET → POST 방식으로 변경
- 저장된 DB 데이터 대신 현재 화면에 표시된 데이터 내보내기
- 프론트엔드에서 logs, splits 데이터를 JSON으로 전송
- Blob 다운로드 방식으로 파일 저장
- 금액 필드에 콤마 포맷팅 적용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 금액 입력 시 3자리마다 콤마 자동 추가
- type="number" → type="text"로 변경
- 금액 우측 정렬 (text-right)
- formatAmountInput/parseAmountInput 헬퍼 함수 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CSV 헤더에 공제여부, 증빙/판매자상호, 내역, 메모 열 추가
- 구분 열 추가: 일반/원본/분개 구분 표시
- 분개된 거래: 원본 행 + 각 분개 행으로 출력
- 분개 행: └ 분개 #N 형식으로 표시
- 분개별 공제여부, 금액, 계정과목 개별 출력
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 부모 행: 분개된 경우 공제 열에 "-" 표시
- 분개 행: 각 분개별 공제/불공 배지 표시
- 분개 행 레이아웃 개선: 공제, 증빙/판매자상호, 내역, 금액, 계정과목 열 배치
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SplitModal에 공제/불공 선택 드롭다운 추가
- 공제: 녹색 배경, 불공: 붉은색 배경
- CardTransactionSplit 모델에 deduction_type 필드 추가
- 마이그레이션으로 splits 테이블에 deduction_type 컬럼 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SplitModal에 증빙/판매자상호, 내역 입력 필드 추가
- CardTransactionSplit 모델에 evidence_name, description 필드 추가
- 마이그레이션으로 splits 테이블에 새 컬럼 추가
- 분개 저장/로드 시 새 필드 처리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 너비 1.5배 증가 (min-width: 70px, padding 증가)
- 폰트 크기 증가 (text-xs → text-sm)
- 불공 선택 시 강한 붉은색 배경 (bg-red-500 text-white)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 공제 필드: 공제/불공 선택 가능 (불공은 적색 표시)
- 증빙/판매자상호 필드: 텍스트 입력으로 수정 가능
- 내역 필드: 텍스트 입력으로 수정 가능
- CardTransaction 모델에 deduction_type, evidence_name, description 필드 추가
- 마이그레이션 추가
- 컨트롤러에서 새 필드 저장/로드 처리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 공제 열: 사업자번호 유무에 따라 공제/불공제 표시
- 증빙/판매자상호 열: 가맹점명 + 사업자번호 표시
- 내역 열: 업종 또는 메모 표시
- 기존 가맹점 열을 새로운 구조로 재배치
- 분개 행 colspan 조정 (3→5)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 할부(paymentPlanName) 열 제거
- 구분(approvalTypeName) 열 제거
- 분개 행의 colspan 조정 (10→8열)
- 빈 데이터 행의 colspan 조정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CardTransactionSplit 모델 및 마이그레이션 추가
- EcardController에 splits, saveSplits, deleteSplits API 추가
- 분개 라우트 추가 (GET/POST/DELETE /barobill/ecard/splits)
- 프론트엔드 SplitModal 컴포넌트 추가
- 각 거래 행에 +/- 버튼으로 분개 추가/삭제
- 분개 행 시각적 구분 (들여쓰기, 배경색)
- 분개 금액 합계 검증
- 고유키(cardNum|useDt|approvalNum|amount)로 원본 데이터 연결
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>