From a23e2560ac97f743bac7bd84d8ec87920b5108c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 11 Feb 2026 16:31:25 +0900 Subject: [PATCH] =?UTF-8?q?docs:=EC=B9=B4=EB=93=9C/=EC=B0=A8=EB=9F=89?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20=EA=B0=9C=EB=B0=9C=EB=AC=B8=EC=84=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20(5=EA=B0=9C=20=EB=A9=94=EB=89=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 법인카드관리: 카드 CRUD, 결제일 휴일조정, 사용금액 집계, 선불결제 - 카드사용내역: 바로빌 SOAP 연동, 분개, 거래숨김, 금액수정 - 차량목록: 법인/렌트/리스 차량 등록, 주행거리 자동계산 - 차량일지: 운행기록, 용도별 통계, 출발↔도착 교환 - 정비이력: 카테고리별 비용 관리, 주행거리 자동갱신 Co-Authored-By: Claude Opus 4.6 --- features/card-vehicle/README.md | 117 +++++++ features/card-vehicle/card-transactions.md | 311 +++++++++++++++++++ features/card-vehicle/corporate-cards.md | 222 +++++++++++++ features/card-vehicle/corporate-vehicles.md | 163 ++++++++++ features/card-vehicle/vehicle-logs.md | 179 +++++++++++ features/card-vehicle/vehicle-maintenance.md | 203 ++++++++++++ 6 files changed, 1195 insertions(+) create mode 100644 features/card-vehicle/README.md create mode 100644 features/card-vehicle/card-transactions.md create mode 100644 features/card-vehicle/corporate-cards.md create mode 100644 features/card-vehicle/corporate-vehicles.md create mode 100644 features/card-vehicle/vehicle-logs.md create mode 100644 features/card-vehicle/vehicle-maintenance.md diff --git a/features/card-vehicle/README.md b/features/card-vehicle/README.md new file mode 100644 index 0000000..064692d --- /dev/null +++ b/features/card-vehicle/README.md @@ -0,0 +1,117 @@ +# 카드/차량관리 기능 + +## 개요 + +SAM 프로젝트의 카드/차량관리 모듈은 법인카드 관리, 카드 사용내역 조회, 차량 관리, 운행일지, 정비이력을 종합적으로 관리하는 시스템입니다. +바로빌 API 연동을 통한 카드거래 자동 수집, 카드별 사용금액 집계, 차량 운행/정비 기록 관리 기능을 제공합니다. + +## 메뉴 구성 + +| 메뉴 | 경로 | 설명 | UI 기술 | +|------|------|------|---------| +| [법인카드관리](./corporate-cards.md) | `/finance/corporate-cards` | 법인카드 등록/조회, 요약 대시보드 | React 18 | +| [카드사용내역](./card-transactions.md) | `/finance/card-transactions` | 바로빌 연동 카드거래 조회 및 회계 분류 | React 18 | +| [차량목록](./corporate-vehicles.md) | `/finance/corporate-vehicles` | 법인/렌트/리스 차량 등록 관리 | React 18 | +| [차량일지](./vehicle-logs.md) | `/finance/vehicle-logs` | 차량 운행기록 관리 | React 18 | +| [정비이력](./vehicle-maintenance.md) | `/finance/vehicle-maintenance` | 차량 정비/주유/보험 등 비용 관리 | React 18 | + +## 아키텍처 + +``` +┌───────────────────────────────────────────────────────────────┐ +│ 카드/차량관리 모듈 │ +├──────────────────────┬────────────────────────────────────────┤ +│ 카드 관리 영역 │ 차량 관리 영역 │ +│ │ │ +│ ┌────────────────┐ │ ┌──────────┐ ┌────────┐ ┌────────┐ │ +│ │ 법인카드관리 │ │ │ 차량목록 │ │ 차량일지 │ │ 정비이력│ │ +│ │ (카드 CRUD) │ │ │(차량CRUD)│ │(운행기록)│ │(비용기록)│ │ +│ └───────┬────────┘ │ └────┬─────┘ └────┬───┘ └───┬────┘ │ +│ │ │ │ │ │ │ +│ ┌───────▼────────┐ │ └──────────────┼──────────┘ │ +│ │ 카드사용내역 │ │ │ │ +│ │(바로빌 연동) │ │ │ │ +│ └───────┬────────┘ │ │ │ +├──────────┼───────────┴──────────────────────┼─────────────────┤ +│ ▼ ▼ │ +│ ┌──────────────────────────────────────────────────────────┐ │ +│ │ 데이터베이스 │ │ +│ │ corporate_cards, card_transactions, │ │ +│ │ barobill_card_transactions, corporate_card_prepayments │ │ +│ │ corporate_vehicles, vehicle_logs, vehicle_maintenances │ │ +│ └──────────────────────────────────────────────────────────┘ │ +└───────────────────────────────────────────────────────────────┘ +``` + +## 주요 기술 스택 + +| 기술 | 용도 | +|------|------| +| Laravel 11 (PHP 8.3) | 백엔드 프레임워크 | +| React 18 + Babel | 클라이언트 렌더링 UI (전 페이지) | +| Tailwind CSS + Lucide | 스타일링 및 아이콘 | +| Barobill SOAP API | 카드거래 실시간 연동 | +| MySQL 8.0 | 데이터 저장 | + +## 데이터 흐름 + +``` +바로빌 SOAP API ──────────────────────────────┐ +(CARD.asmx: 카드거래 자동 수집) │ + ▼ +카드 관리: corporate_cards ← 매칭 → barobill_card_transactions + (카드번호 하이픈 제거 후 매칭) + │ + ├── barobill_card_transaction_splits (분개) + ├── barobill_card_transaction_hides (숨김) + ├── barobill_card_transaction_amount_logs (수정이력) + └── corporate_card_prepayments (선불결제) + +차량 관리: corporate_vehicles + │ + ├── vehicle_logs (운행기록 → distance_km 합산) + └── vehicle_maintenances (정비기록 → mileage 갱신) +``` + +## 공통 모델/패턴 + +### 멀티 테넌트 + +모든 테이블은 `tenant_id` 기반으로 데이터를 격리합니다. + +### React 18 + Babel + +모든 페이지는 브라우저 트랜스파일링 방식의 React 18을 사용합니다: +- `@push('scripts')` 블록에 React/Babel/Lucide 스크립트 포함 +- `@verbatim` + `