From e648547f1b324b0828aec8d94226067732e8d32f Mon Sep 17 00:00:00 2001 From: Satyam Rastogi Date: Thu, 21 May 2026 17:48:55 +0530 Subject: [PATCH] change mock data of all projects to show positive net profit --- src/data/mockStore.jsx | 148 ++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/src/data/mockStore.jsx b/src/data/mockStore.jsx index 5608142..a1886a3 100644 --- a/src/data/mockStore.jsx +++ b/src/data/mockStore.jsx @@ -677,7 +677,7 @@ const MOCK_USERS = [ companyName: 'Johnson Development Group', phone: '972-555-1234' }, - // Owner 2 — High Risk, vendor payment delays, over-budget project + // Owner 2 — High Volume, large commercial portfolio { id: 'own_002', type: 'owner', @@ -978,9 +978,9 @@ const MOCK_OWNERS = [ lastActivityDate: '2026-02-15', dashboardSummary: { totalBudget: 187000, - committedCost: 156200, - actualSpent: 131500, - roiProjection: 12.4, + committedCost: 130100, + actualSpent: 94100, + roiProjection: 18.6, pendingApprovals: 3, openChangeOrders: 2, openRFIs: 1, @@ -1034,9 +1034,9 @@ const MOCK_OWNERS = [ lastActivityDate: '2026-02-12', dashboardSummary: { totalBudget: 430000, - committedCost: 385000, - actualSpent: 291300, - roiProjection: 4.8, + committedCost: 330500, + actualSpent: 233100, + roiProjection: 14.2, pendingApprovals: 5, openChangeOrders: 5, openRFIs: 3, @@ -1048,12 +1048,12 @@ const MOCK_OWNERS = [ { name: 'Waterproofing Application', project: 'Legacy Town Center', dueDate: '2026-02-12', projectId: 'proj_011' } ], cashFlowForecast: [ - { month: 'Mar 2026', inflow: 85000, outflow: 92000 }, - { month: 'Apr 2026', inflow: 72000, outflow: 68000 }, - { month: 'May 2026', inflow: 55000, outflow: 45000 }, - { month: 'Jun 2026', inflow: 40000, outflow: 32000 }, - { month: 'Jul 2026', inflow: 25000, outflow: 18000 }, - { month: 'Aug 2026', inflow: 15000, outflow: 10000 } + { month: 'Mar 2026', inflow: 95000, outflow: 72000 }, + { month: 'Apr 2026', inflow: 78000, outflow: 58000 }, + { month: 'May 2026', inflow: 60000, outflow: 42000 }, + { month: 'Jun 2026', inflow: 42000, outflow: 30000 }, + { month: 'Jul 2026', inflow: 28000, outflow: 17000 }, + { month: 'Aug 2026', inflow: 16000, outflow: 9000 } ], monthlySpend: [ { month: 'Mar 2025', amount: 0 }, @@ -2073,11 +2073,11 @@ const MOCK_PROJECTS = [ phase: 'Structural', budget: 45000, approvedBudget: 45000, - committedCost: 38500, - actualCost: 22500, - spent: 22500, - variancePercent: -50.0, - margin: 0.40, + committedCost: 26000, + actualCost: 18500, + spent: 18500, + variancePercent: -58.9, + margin: 0.41, commissionType: 'percent_gross', commissionRate: 10, commission: 4500, @@ -2089,12 +2089,12 @@ const MOCK_PROJECTS = [ changeOrderCount: 0, pendingInvoiceCount: 2, budgetBreakdown: [ - { name: 'ABC Supply Co.', category: 'Materials - Shingles', allocated: 15000, committed: 14200, actual: 8500 }, - { name: 'ABC Supply Co.', category: 'Materials - Underlayment', allocated: 3500, committed: 3355, actual: 3355 }, - { name: 'Texas Roofing Crew A', category: 'Labor - Tear Off', allocated: 8000, committed: 8000, actual: 8000 }, - { name: 'Texas Roofing Crew A', category: 'Labor - Install', allocated: 12000, committed: 7200, actual: 0 }, - { name: 'City of Plano', category: 'Permits & Inspection', allocated: 2500, committed: 2500, actual: 2645 }, - { name: 'Junk King DFW', category: 'Cleanup & Haul-Away', allocated: 4000, committed: 3245, actual: 0 } + { name: 'ABC Supply Co.', category: 'Materials - Shingles', allocated: 4200, committed: 3900, actual: 3200 }, + { name: 'ABC Supply Co.', category: 'Materials - Underlayment', allocated: 1200, committed: 1100, actual: 1100 }, + { name: 'Texas Roofing Crew A', category: 'Labor - Tear Off', allocated: 2400, committed: 2400, actual: 2400 }, + { name: 'Texas Roofing Crew A', category: 'Labor - Install', allocated: 1600, committed: 1200, actual: 0 }, + { name: 'City of Plano', category: 'Permits & Inspection', allocated: 800, committed: 800, actual: 750 }, + { name: 'Junk King DFW', category: 'Cleanup & Haul-Away', allocated: 1200, committed: 950, actual: 0 } ], changeOrders: [], rfis: [], @@ -2156,11 +2156,11 @@ const MOCK_PROJECTS = [ phase: 'Handover', budget: 8500, approvedBudget: 8500, - committedCost: 8500, - actualCost: 8500, - spent: 8500, - variancePercent: 0, - margin: 0.35, + committedCost: 6800, + actualCost: 6200, + spent: 6200, + variancePercent: -27.1, + margin: 0.27, commissionType: 'flat', commissionRate: 850, commission: 850, @@ -2234,11 +2234,11 @@ const MOCK_PROJECTS = [ { id: 'ms_003_6', name: 'System Test and Commissioning', dueDate: '2026-02-25', status: 'pending', assignedTo: 'v6' } ], budgetBreakdown: [ - { name: 'Comfort Air Systems', category: 'Equipment & Materials', allocated: 15000, committed: 15000, actual: 12500 }, - { name: 'Comfort Air Systems', category: 'Labor - HVAC', allocated: 8000, committed: 8000, actual: 4000 }, - { name: 'Sparky Electric', category: 'Labor - Electrical', allocated: 3000, committed: 3000, actual: 0 }, - { name: 'City of Plano', category: 'Permits & Fees', allocated: 1000, committed: 1000, actual: 950 }, - { name: 'Reserve Fund', category: 'Contingency', allocated: 5000, committed: 1200, actual: 950 } + { name: 'Comfort Air Systems', category: 'Equipment & Materials', allocated: 6200, committed: 6200, actual: 5400 }, + { name: 'Comfort Air Systems', category: 'Labor - HVAC', allocated: 3200, committed: 3200, actual: 2200 }, + { name: 'Sparky Electric', category: 'Labor - Electrical', allocated: 1400, committed: 1200, actual: 0 }, + { name: 'City of Plano', category: 'Permits & Fees', allocated: 600, committed: 600, actual: 550 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 1200, committed: 800, actual: 450 } ], invoices: [ { id: 'inv_003_1', amount: 8200, submittedBy: 'con_001', status: 'paid', dueDate: '2026-01-15', datePaid: '2026-01-16' }, @@ -2276,7 +2276,7 @@ const MOCK_PROJECTS = [ ] }, - // Project 4: Active, over budget (spent > budget) + // Project 4: Active, on track, under budget { id: 'proj_004', ownerId: 'own_001', @@ -2289,18 +2289,18 @@ const MOCK_PROJECTS = [ phase: 'Finishing', budget: 55000, approvedBudget: 55000, - committedCost: 62300, - actualCost: 62300, - spent: 62300, - variancePercent: 13.3, - margin: -0.13, + committedCost: 36000, + actualCost: 31200, + spent: 31200, + variancePercent: -43.3, + margin: 0.43, commissionType: 'custom', commissionRate: 5500, commission: 5500, startDate: '2025-12-01', endDate: '2026-02-28', completionPercentage: 78, - healthScore: 35, + healthScore: 76, openRFIs: 1, changeOrderCount: 2, pendingInvoiceCount: 2, @@ -2315,13 +2315,13 @@ const MOCK_PROJECTS = [ { id: 'ms_004_7', name: 'Final Punch List', dueDate: '2026-02-25', status: 'pending', assignedTo: 'con_001' } ], budgetBreakdown: [ - { name: 'DemoCrew Pro', category: 'Demolition', allocated: 5000, committed: 5500, actual: 5500 }, - { name: 'Texas Builders LLC', category: 'Framing & Structural', allocated: 8000, committed: 8500, actual: 8500 }, - { name: 'Sparky Electric', category: 'Electrical', allocated: 7000, committed: 7000, actual: 4800 }, - { name: 'DFW Foundation Pros', category: 'Plumbing', allocated: 6000, committed: 6500, actual: 6500 }, - { name: 'Premier Finishes', category: 'Drywall & Paint', allocated: 9000, committed: 10000, actual: 10000 }, - { name: 'FloorCraft Inc.', category: 'Flooring & Trim', allocated: 12000, committed: 15500, actual: 15500 }, - { name: 'Reserve Fund', category: 'Contingency', allocated: 8000, committed: 9300, actual: 11500 } + { name: 'DemoCrew Pro', category: 'Demolition', allocated: 1400, committed: 1300, actual: 1300 }, + { name: 'Texas Builders LLC', category: 'Framing & Structural', allocated: 1800, committed: 1700, actual: 1700 }, + { name: 'Sparky Electric', category: 'Electrical', allocated: 1600, committed: 1500, actual: 1100 }, + { name: 'DFW Foundation Pros', category: 'Plumbing', allocated: 1400, committed: 1300, actual: 1300 }, + { name: 'Premier Finishes', category: 'Drywall & Paint', allocated: 1800, committed: 1700, actual: 1700 }, + { name: 'FloorCraft Inc.', category: 'Flooring & Trim', allocated: 2400, committed: 2300, actual: 2300 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 1400, committed: 1100, actual: 900 } ], changeOrders: [ { id: 'CO-004-01', title: 'Scope Expansion - Kitchen Island', amount: 4500, status: 'approved', dateSubmitted: '2026-01-10', description: 'Add a custom 6ft island with quartz countertop and built-in microwave.' }, @@ -2404,11 +2404,11 @@ const MOCK_PROJECTS = [ { id: 'ms_005_5', name: 'Trim and Caulking', dueDate: '2026-02-15', status: 'pending', assignedTo: 'con_001' } ], budgetBreakdown: [ - { name: 'ABC Supply Co.', category: 'Materials - Siding', allocated: 12000, committed: 12000, actual: 8000 }, - { name: 'Siding Solutions TX', category: 'Labor - Prep & Install', allocated: 9000, committed: 9000, actual: 3500 }, - { name: 'Sunbelt Rentals', category: 'Equipment Rental', allocated: 2000, committed: 2000, actual: 1500 }, - { name: 'Texas Builders LLC', category: 'Structural Repairs (CO)', allocated: 0, committed: 850, actual: 850 }, - { name: 'Reserve Fund', category: 'Contingency', allocated: 5000, committed: 5000, actual: 350 } + { name: 'ABC Supply Co.', category: 'Materials - Siding', allocated: 4800, committed: 4600, actual: 3200 }, + { name: 'Siding Solutions TX', category: 'Labor - Prep & Install', allocated: 3600, committed: 3400, actual: 1400 }, + { name: 'Sunbelt Rentals', category: 'Equipment Rental', allocated: 900, committed: 850, actual: 650 }, + { name: 'Texas Builders LLC', category: 'Structural Repairs (CO)', allocated: 0, committed: 400, actual: 400 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 1400, committed: 1200, actual: 150 } ], invoices: [ { id: 'inv_005_1', amount: 8400, submittedBy: 'con_001', status: 'paid', dueDate: '2026-01-12', datePaid: '2026-01-13' }, @@ -2497,7 +2497,7 @@ const MOCK_PROJECTS = [ // ===================================================================== // OWNER 2: Diana Reeves (own_002) — 6 Projects - // High risk owner, vendor payment delays, over-budget project + // High volume owner, large commercial portfolio // ===================================================================== // Project 7: Active, on track, healthy budget (commercial) @@ -2529,14 +2529,14 @@ const MOCK_PROJECTS = [ changeOrderCount: 0, pendingInvoiceCount: 2, budgetBreakdown: [ - { name: 'Firestone Building Products', category: 'Materials - TPO Membrane', allocated: 38000, committed: 35400, actual: 11400 }, - { name: 'Owens Corning', category: 'Materials - Insulation', allocated: 18000, committed: 16800, actual: 5550 }, - { name: 'ABC Supply Co.', category: 'Materials - Fasteners/Adhesive', allocated: 8000, committed: 7200, actual: 2080 }, - { name: 'Texas Roofing Crew A', category: 'Labor - Section A', allocated: 22000, committed: 18500, actual: 18500 }, - { name: 'Texas Roofing Crew A', category: 'Labor - Section B', allocated: 22000, committed: 8000, actual: 0 }, - { name: 'All American Crane', category: 'Crane Rental', allocated: 8000, committed: 5600, actual: 4200 }, - { name: 'City of Plano', category: 'Permits & Inspection', allocated: 4000, committed: 3500, actual: 3270 }, - { name: 'SafetyFirst Supply', category: 'Safety Equipment', allocated: 5000, committed: 3000, actual: 3000 } + { name: 'Firestone Building Products', category: 'Materials - TPO Membrane', allocated: 3200, committed: 2900, actual: 2200 }, + { name: 'Owens Corning', category: 'Materials - Insulation', allocated: 1800, committed: 1700, actual: 1100 }, + { name: 'ABC Supply Co.', category: 'Materials - Fasteners/Adhesive', allocated: 900, committed: 800, actual: 420 }, + { name: 'Texas Roofing Crew A', category: 'Labor - Section A', allocated: 2400, committed: 2300, actual: 2300 }, + { name: 'Texas Roofing Crew A', category: 'Labor - Section B', allocated: 1600, committed: 900, actual: 0 }, + { name: 'All American Crane', category: 'Crane Rental', allocated: 900, committed: 700, actual: 540 }, + { name: 'City of Plano', category: 'Permits & Inspection', allocated: 600, committed: 540, actual: 510 }, + { name: 'SafetyFirst Supply', category: 'Safety Equipment', allocated: 700, committed: 480, actual: 480 } ], changeOrders: [ { id: 'CO-007-1', title: 'Additional Drainage Scuppers', amount: 4200, status: 'pending', dateSubmitted: '2026-02-10', description: 'Building management requested 4 additional scuppers on east elevation for improved water management' } @@ -2600,7 +2600,7 @@ const MOCK_PROJECTS = [ ] }, - // Project 8: Active, over budget (spent > budget) + // Project 8: Active, on track, under budget { id: 'proj_008', ownerId: 'own_002', @@ -2613,18 +2613,18 @@ const MOCK_PROJECTS = [ phase: 'Finishing', budget: 75000, approvedBudget: 75000, - committedCost: 91500, - actualCost: 91500, - spent: 91500, - variancePercent: 22.0, - margin: -0.22, + committedCost: 52000, + actualCost: 44500, + spent: 44500, + variancePercent: -40.7, + margin: 0.41, commissionType: 'percent_net', commissionRate: 12, commission: 7500, startDate: '2025-11-18', endDate: '2026-02-28', completionPercentage: 88, - healthScore: 25, + healthScore: 80, openRFIs: 0, changeOrderCount: 2, pendingInvoiceCount: 2, @@ -2722,8 +2722,8 @@ const MOCK_PROJECTS = [ projectType: 'Parking Lot Resurface', status: 'completed', budget: 35000, - spent: 35000, - margin: 0.30, + spent: 23800, + margin: 0.32, commissionType: 'custom', commissionRate: 3500, commission: 3500, @@ -2732,9 +2732,9 @@ const MOCK_PROJECTS = [ completionPercentage: 100, phase: 'Handover', approvedBudget: 35000, - committedCost: 35000, - actualCost: 35000, - variancePercent: 0.0, + committedCost: 26500, + actualCost: 23800, + variancePercent: -32.0, healthScore: 100, openRFIs: 0, changeOrderCount: 0,