Re_Figma_Code/CLAIM_MANAGEMENT_FLOW.md
2025-10-22 10:27:06 +05:30

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.