flowchart TD A[User Login ke System] --> B[Select Bulk Upload Option] B --> C{Choose Upload Type} C --> D1[Premises Upload] C --> D2[Inspections Upload] C --> D3[Food Handlers Upload] C --> D4[Users Upload] D1 --> E1[Download Premises Template] D2 --> E2[Download Inspections Template] D3 --> E3[Download Food Handlers Template] D4 --> E4[Download Users Template] E1 --> F1[Fill Excel: business_name, license_number, owner_name, etc.] E2 --> F2[Fill Excel: premise_id, inspector_id + ALL criteria scores
a1_score, a2_1_score, a2_2_score, etc.] E3 --> F3[Fill Excel: premise_id, name, ic_number, vaccination_date] E4 --> F4[Fill Excel: name, email, role, department] F1 --> G[Upload Excel File] F2 --> G F3 --> G F4 --> G G --> H[Pre-Upload Validation] H --> I{File Structure Valid?} I -->|No| J[Show Validation Errors
- Missing columns
- Wrong format
- File size too large] J --> K[Fix Excel & Re-upload] K --> G I -->|Yes| L[Create BulkUploadLog Record
status: processing] L --> M[Process Each Row] M --> N{Row Processing} N --> O[Validate Row Data] O --> P{Data Valid?} P -->|No| Q[Log Error
- Row number
- Error message
- Continue to next row] P -->|Yes| R{Upload Type?} R -->|Premises| S1[Create Premise Record] R -->|Inspections| S2[Process Complex Inspection] R -->|Food Handlers| S3[Create Food Handler Record] R -->|Users| S4[Create User Record] S1 --> T1[Validate category_id exists
Check duplicate license_number] S2 --> T2[Create Inspection Record
Process ALL Criteria Details
Calculate Final Grade] S3 --> T3[Validate premise_id exists
Check vaccination dates] S4 --> T4[Validate unique email
Hash password
Assign role] T1 --> U{Save Success?} T2 --> U T3 --> U T4 --> U U -->|No| V[Log Database Error
error_count++] U -->|Yes| W[success_count++] V --> X{More Rows?} W --> X Q --> X X -->|Yes| M X -->|No| Y[Update BulkUploadLog
- Total processed
- Success count
- Error count
- Status: completed/failed] Y --> Z[Show Results Summary] Z --> AA{Has Errors?} AA -->|No| BB[Success Message
All records imported successfully] AA -->|Yes| CC[Partial Success Message
Show success/error counts
Offer error report download] BB --> DD[View Upload History] CC --> EE[Download Error Report CSV
- Row numbers
- Error messages
- Suggested fixes] EE --> FF[Fix Data & Re-upload Failed Records] FF --> G DD --> GG[End Process] style A fill:#e1f5fe style G fill:#fff3e0 style L fill:#f3e5f5 style S2 fill:#ffebee style Y fill:#e8f5e8 style BB fill:#c8e6c9 style CC fill:#ffcdd2