change mock data of all projects to show positive net profit

This commit is contained in:
Satyam Rastogi
2026-05-21 17:48:55 +05:30
parent 680b2b4cfe
commit e648547f1b
+74 -74
View File
@@ -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,