249 lines
14 KiB
Markdown
249 lines
14 KiB
Markdown
# Claim Management System - Complete Data Flow
|
|
|
|
## 🎯 Overview
|
|
|
|
The claim management system now has complete integration with automatic dealer lookup and proper workflow management.
|
|
|
|
## 📊 Data Flow Diagram
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 1. User Creates Claim │
|
|
│ (ClaimManagementWizard) │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 2. Select Dealer Code (e.g., RE-MH-001) │
|
|
│ │
|
|
│ Triggers: getDealerInfo(dealerCode) │
|
|
│ Returns from dealerDatabase.ts: │
|
|
│ • Dealer Name: "Royal Motors Mumbai" │
|
|
│ • Email: "dealer@royalmotorsmumbai.com" │
|
|
│ • Phone: "+91 98765 12345" │
|
|
│ • Address: "Shop No. 12-15, Central Avenue..." │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 3. Complete Form & Submit (formData) │
|
|
│ │
|
|
│ Captured Fields: │
|
|
│ • activityName │
|
|
│ • activityType │
|
|
│ • activityDate │
|
|
│ • location │
|
|
│ • dealerCode │
|
|
│ • dealerName ┐ │
|
|
│ • dealerEmail ├─ Auto-populated from database │
|
|
│ • dealerPhone │ │
|
|
│ • dealerAddress ┘ │
|
|
│ • estimatedBudget │
|
|
│ • requestDescription │
|
|
│ • periodStart, periodEnd │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 4. App.tsx Creates Request Object │
|
|
│ │
|
|
│ REQUEST_DATABASE[requestId] = { │
|
|
│ id: 'RE-REQ-2024-CM-XXX', │
|
|
│ title: '...', │
|
|
│ status: 'pending', │
|
|
│ currentStep: 1, │
|
|
│ totalSteps: 8, │
|
|
│ templateType: 'claim-management', │
|
|
│ claimDetails: { │
|
|
│ activityName: formData.activityName, │
|
|
│ dealerEmail: formData.dealerEmail, ← From DB │
|
|
│ dealerPhone: formData.dealerPhone, ← From DB │
|
|
│ dealerAddress: formData.dealerAddress, ← From DB │
|
|
│ estimatedBudget: formData.estimatedBudget, │
|
|
│ ...all other fields │
|
|
│ }, │
|
|
│ approvalFlow: [ 8 steps... ] │
|
|
│ } │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 5. MyRequests Shows Request in List │
|
|
│ │
|
|
│ RE-REQ-2024-CM-001 │
|
|
│ Dealer Marketing Activity Claim │
|
|
│ Status: Pending | Step 1 of 8 │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 6. User Clicks Request → RequestDetail.tsx │
|
|
│ │
|
|
│ Fetches from REQUEST_DATABASE[requestId] │
|
|
│ Displays all information: │
|
|
│ │
|
|
│ ┌─────────────────────────────────────────────────┐ │
|
|
│ │ Overview Tab │ │
|
|
│ │ │ │
|
|
│ │ 📋 Activity Information │ │
|
|
│ │ • Activity Name: "..." │ │
|
|
│ │ • Activity Type: "..." │ │
|
|
│ │ • Date: "..." │ │
|
|
│ │ • Location: "..." │ │
|
|
│ │ │ │
|
|
│ │ 🏢 Dealer Information │ │
|
|
│ │ • Dealer Code: RE-MH-001 │ │
|
|
│ │ • Dealer Name: Royal Motors Mumbai │ │
|
|
│ │ • Email: dealer@royalmotorsmumbai.com ✓ │ │
|
|
│ │ • Phone: +91 98765 12345 ✓ │ │
|
|
│ │ • Address: Shop No. 12-15... ✓ │ │
|
|
│ │ │ │
|
|
│ │ 💰 Claim Request Details │ │
|
|
│ │ • Description: "..." │ │
|
|
│ │ • Estimated Budget: ₹2,45,000 ✓ │ │
|
|
│ │ • Period: Oct 1 - Oct 10 │ │
|
|
│ └─────────────────────────────────────────────────┘ │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 7. Workflow Tab Shows 8-Step Process │
|
|
│ │
|
|
│ Step 1: Dealer Document Upload [PENDING] │
|
|
│ Action: [Upload Proposal Documents] ← Opens modal │
|
|
│ │
|
|
│ Step 2: Initiator Evaluation [WAITING] │
|
|
│ Actions: [Approve] [Request Modifications] │
|
|
│ │
|
|
│ Step 3: IO Confirmation (Auto) [WAITING] │
|
|
│ │
|
|
│ Step 4: Department Lead Approval [WAITING] │
|
|
│ Action: [Approve & Lock Budget] │
|
|
│ │
|
|
│ Step 5: Dealer Completion Documents [WAITING] │
|
|
│ Action: [Upload Completion Documents] │
|
|
│ │
|
|
│ Step 6: Initiator Verification [WAITING] │
|
|
│ Action: [Verify & Set Amount] ← Opens modal │
|
|
│ │
|
|
│ Step 7: E-Invoice Generation (Auto) [WAITING] │
|
|
│ │
|
|
│ Step 8: Credit Note Issuance [WAITING] │
|
|
│ Action: [Issue Credit Note] │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## 🔄 Key Features Implemented
|
|
|
|
### 1. Dealer Database Auto-Population
|
|
```typescript
|
|
// When dealer selected in wizard
|
|
handleDealerChange('RE-MH-001')
|
|
↓
|
|
getDealerInfo('RE-MH-001')
|
|
↓
|
|
Returns complete dealer object
|
|
↓
|
|
Auto-fills: name, email, phone, address
|
|
```
|
|
|
|
### 2. Complete Data Capture
|
|
- ✅ All activity details
|
|
- ✅ All dealer information (from database)
|
|
- ✅ Estimated budget
|
|
- ✅ Request description
|
|
- ✅ Period dates
|
|
|
|
### 3. Step-Specific Actions
|
|
Each workflow step shows relevant action buttons:
|
|
- **Upload buttons** for document steps
|
|
- **Approve/Reject buttons** for approval steps
|
|
- **Set Amount button** for verification step
|
|
- **Automatic processing** for system steps
|
|
|
|
### 4. Modal Integration
|
|
- **DealerDocumentModal**: For steps 1 & 5
|
|
- Upload multiple documents
|
|
- Add dealer comments
|
|
- Validation before submit
|
|
|
|
- **InitiatorVerificationModal**: For step 6
|
|
- Review completion documents
|
|
- Set final approved amount
|
|
- Add verification comments
|
|
|
|
## 🎨 UI Components
|
|
|
|
### ClaimManagementWizard
|
|
```
|
|
Step 1: Claim Details
|
|
├── Activity Name & Type
|
|
├── Dealer Selection → Auto-fills email, phone, address
|
|
├── Date & Location
|
|
├── Estimated Budget (new!)
|
|
└── Request Description
|
|
|
|
Step 2: Review & Submit
|
|
├── Activity Information Card
|
|
├── Dealer Information Card (with email, phone, address)
|
|
├── Date & Location Card (with budget)
|
|
└── Request Details Card
|
|
```
|
|
|
|
### RequestDetail Overview Tab
|
|
```
|
|
├── Activity Information
|
|
│ ├── Activity Name
|
|
│ ├── Activity Type
|
|
│ ├── Date
|
|
│ └── Location
|
|
│
|
|
├── Dealer Information
|
|
│ ├── Dealer Code
|
|
│ ├── Dealer Name
|
|
│ ├── Email ← From dealer database
|
|
│ ├── Phone ← From dealer database
|
|
│ └── Address ← From dealer database
|
|
│
|
|
└── Claim Request Details
|
|
├── Description
|
|
├── Estimated Budget ← User input
|
|
└── Period
|
|
```
|
|
|
|
## 📝 Database Schema
|
|
|
|
### dealerDatabase.ts Structure
|
|
```typescript
|
|
{
|
|
'RE-MH-001': {
|
|
code: 'RE-MH-001',
|
|
name: 'Royal Motors Mumbai',
|
|
email: 'dealer@royalmotorsmumbai.com',
|
|
phone: '+91 98765 12345',
|
|
address: 'Shop No. 12-15, Central Avenue, Andheri West',
|
|
city: 'Mumbai',
|
|
state: 'Maharashtra',
|
|
region: 'West',
|
|
managerName: 'Rahul Deshmukh'
|
|
},
|
|
// ... 9 more dealers
|
|
}
|
|
```
|
|
|
|
## ✅ Verification Checklist
|
|
|
|
- [x] Dealer database created with 10+ dealers
|
|
- [x] Auto-population works when dealer selected
|
|
- [x] All fields captured in claimDetails
|
|
- [x] RequestDetail displays all information
|
|
- [x] Step-specific action buttons appear
|
|
- [x] Modals integrate properly
|
|
- [x] 8-step workflow displays correctly
|
|
- [x] IDs synchronized across components
|
|
- [x] Data flows from wizard → app → detail
|
|
|
|
## 🚀 Ready for Testing!
|
|
|
|
The system is now complete and ready for end-to-end testing. All dealer information is automatically fetched from the database, properly saved in the request, and correctly displayed in the detail view.
|