From 4ee480ec8770f56e5a39afc60af0cc2c068bc7fd Mon Sep 17 00:00:00 2001 From: Satyam Rastogi Date: Fri, 29 May 2026 04:01:27 +0530 Subject: [PATCH] fix(data): reconcile project financials and add missing budget breakdowns --- src/data/mockStore.jsx | 62 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 55 insertions(+), 7 deletions(-) diff --git a/src/data/mockStore.jsx b/src/data/mockStore.jsx index f1b63a4..1fd7aab 100644 --- a/src/data/mockStore.jsx +++ b/src/data/mockStore.jsx @@ -2190,8 +2190,8 @@ const MOCK_PROJECTS = [ ], invoices: [ { id: 'inv_002_1', amount: 2272.17, submittedBy: 'v3', status: 'paid', dueDate: '2025-11-25', datePaid: '2025-11-26' }, - { id: 'inv_002_2', amount: 4200, submittedBy: 'con_001', status: 'paid', dueDate: '2025-12-05', datePaid: '2025-12-06' }, - { id: 'inv_002_3', amount: 2027.83, submittedBy: 'con_001', status: 'paid', dueDate: '2025-12-10', datePaid: '2025-12-10' } + { id: 'inv_002_2', amount: 3927.83, submittedBy: 'con_001', status: 'paid', dueDate: '2025-12-05', datePaid: '2025-12-06' }, + { id: 'inv_002_3', amount: 2027.83, submittedBy: 'con_001', status: 'pending', dueDate: '2025-12-10' } ], documents: [ { name: 'Scope of Work - Gutter', url: '#', type: 'contract' }, @@ -2326,11 +2326,11 @@ const MOCK_PROJECTS = [ 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: 'Sparky Electric', category: 'Electrical', allocated: 7000, committed: 4800, 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: 'Reserve Fund', category: 'Contingency', allocated: 8000, committed: 11500, actual: 11500 } ], 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.' }, @@ -2389,7 +2389,7 @@ const MOCK_PROJECTS = [ phase: 'Structural', budget: 28000, approvedBudget: 28000, - committedCost: 20700, + committedCost: 28850, actualCost: 14200, spent: 14200, variancePercent: -49.3, @@ -2482,6 +2482,13 @@ const MOCK_PROJECTS = [ changeOrderCount: 0, pendingInvoiceCount: 1, // TODO: cross-reference — Contractor: Texas Builders LLC, Vendors: Sparky Electric + budgetBreakdown: [ + { name: 'Eaton Corporation', category: 'Materials - Panel & Breakers', allocated: 7500, committed: 5500, actual: 2500 }, + { name: 'Sparky Electric', category: 'Labor - Panel Replacement', allocated: 5000, committed: 4000, actual: 2000 }, + { name: 'Sparky Electric', category: 'Labor - Circuit Re-routing', allocated: 3000, committed: 2000, actual: 1000 }, + { name: 'City of Plano', category: 'Permits & Inspection Fees', allocated: 1000, committed: 900, actual: 100 }, + { name: 'Conduit Supply DFW', category: 'Conduit & Wiring Materials', allocated: 2000, committed: 0, actual: 0 } + ], milestones: [ { id: 'ms_006_1', name: 'Panel Assessment', dueDate: '2026-02-05', status: 'completed', assignedTo: 'sub_001' }, { id: 'ms_006_2', name: 'Permit Approval', dueDate: '2026-02-10', status: 'completed', assignedTo: 'con_001' }, @@ -2638,6 +2645,14 @@ const MOCK_PROJECTS = [ changeOrderCount: 2, pendingInvoiceCount: 2, // TODO: cross-reference — Contractor: Texas Builders LLC, Vendors: DFW Foundation Pros, ABC Supply Co. + budgetBreakdown: [ + { name: 'DFW Foundation Pros', category: 'Labor - Pier Installation', allocated: 28000, committed: 24000, actual: 20000 }, + { name: 'DFW Foundation Pros', category: 'Labor - Slab Lifting', allocated: 12000, committed: 10000, actual: 9000 }, + { name: 'ABC Supply Co.', category: 'Materials - Steel Piers', allocated: 8000, committed: 5500, actual: 4000 }, + { name: 'Lone Star Plumbing', category: 'Plumbing Re-test & Reroute', allocated: 5000, committed: 4000, actual: 3000 }, + { name: 'Structural Solutions TX', category: 'Engineering & Re-certification', allocated: 10000, committed: 8500, actual: 8500 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 12000, committed: 0, actual: 0 } + ], milestones: [ { id: 'ms_008_1', name: 'Structural Engineering Report', dueDate: '2025-11-22', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_008_2', name: 'Pier Installation - East', dueDate: '2025-12-06', status: 'completed', assignedTo: 'v5' }, @@ -2650,7 +2665,7 @@ const MOCK_PROJECTS = [ invoices: [ { id: 'inv_008_1', amount: 30000, submittedBy: 'con_001', status: 'paid', dueDate: '2025-12-01', datePaid: '2025-12-03' }, { id: 'inv_008_2', amount: 9352.80, submittedBy: 'v5', status: 'paid', dueDate: '2025-12-20', datePaid: '2025-12-22' }, - { id: 'inv_008_3', amount: 24000, submittedBy: 'v5', status: 'paid', dueDate: '2026-01-15', datePaid: '2026-01-18' }, + { id: 'inv_008_3', amount: 24000, submittedBy: 'v5', status: 'pending', dueDate: '2026-01-15' }, { id: 'inv_008_4', amount: 18500, submittedBy: 'v5', status: 'pending', dueDate: '2026-02-15' }, { id: 'inv_008_5', amount: 9647.20, submittedBy: 'con_001', status: 'pending', dueDate: '2026-02-28' } ], @@ -2696,6 +2711,14 @@ const MOCK_PROJECTS = [ openRFIs: 0, changeOrderCount: 0, pendingInvoiceCount: 1, + budgetBreakdown: [ + { name: 'Andersen Windows', category: 'Materials - Custom Windows', allocated: 18000, committed: 14000, actual: 14000 }, + { name: 'Texas Builders LLC', category: 'Labor - Floor 1 Installation', allocated: 8000, committed: 8000, actual: 6000 }, + { name: 'Texas Builders LLC', category: 'Labor - Floor 2 Installation', allocated: 4000, committed: 3000, actual: 0 }, + { name: 'Seal-Rite TX', category: 'Exterior Trim & Sealant', allocated: 5000, committed: 4000, actual: 4000 }, + { name: 'Texas Energy Audit Co.', category: 'Energy Audit & Verification', allocated: 4000, committed: 3000, actual: 1800 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 3000, committed: 0, actual: 0 } + ], milestones: [ { id: 'ms_009_1', name: 'Window Measurements', dueDate: '2026-01-16', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_009_2', name: 'Custom Window Fabrication', dueDate: '2026-01-30', status: 'completed', assignedTo: 'v3' }, @@ -2748,6 +2771,14 @@ const MOCK_PROJECTS = [ openRFIs: 0, changeOrderCount: 0, pendingInvoiceCount: 0, + budgetBreakdown: [ + { name: 'DFW Asphalt Co.', category: 'Materials - Asphalt Mix', allocated: 12000, committed: 9000, actual: 8400 }, + { name: 'DFW Asphalt Co.', category: 'Labor - Milling & Paving', allocated: 6000, committed: 4800, actual: 4000 }, + { name: 'Texas Sealcoat Supply', category: 'Materials - Sealcoat', allocated: 5000, committed: 4000, actual: 3500 }, + { name: 'Texas Builders LLC', category: 'Labor - Base Repair & Grading', allocated: 4000, committed: 3500, actual: 3000 }, + { name: 'Striping Pro TX', category: 'Striping & ADA Signage', allocated: 5000, committed: 4000, actual: 3700 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 3000, committed: 1200, actual: 1200 } + ], milestones: [ { id: 'ms_010_1', name: 'Surface Milling', dueDate: '2025-09-20', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_010_2', name: 'Base Repair', dueDate: '2025-09-28', status: 'completed', assignedTo: 'con_001' }, @@ -2758,7 +2789,7 @@ const MOCK_PROJECTS = [ invoices: [ { id: 'inv_010_1', amount: 8400, submittedBy: 'v3', status: 'paid', dueDate: '2025-09-25', datePaid: '2025-09-26' }, { id: 'inv_010_2', amount: 14200, submittedBy: 'v1', status: 'paid', dueDate: '2025-10-12', datePaid: '2025-10-13' }, - { id: 'inv_010_3', amount: 12400, submittedBy: 'con_001', status: 'paid', dueDate: '2025-10-28', datePaid: '2025-10-28' } + { id: 'inv_010_3', amount: 12400, submittedBy: 'con_001', status: 'pending', dueDate: '2025-10-28' } ], documents: [ { name: 'Paving Contract', url: '#', type: 'contract' }, @@ -2801,6 +2832,15 @@ const MOCK_PROJECTS = [ openRFIs: 2, changeOrderCount: 3, pendingInvoiceCount: 2, + budgetBreakdown: [ + { name: 'ScaffoldPro DFW', category: 'Scaffolding & Site Protection', allocated: 20000, committed: 20000, actual: 20000 }, + { name: 'Legacy Masonry Group', category: 'Masonry Repair & Restoration', allocated: 25000, committed: 23000, actual: 18400 }, + { name: 'StoneSeal TX', category: 'Waterproofing & Coating', allocated: 15000, committed: 14000, actual: 12000 }, + { name: 'Texas Builders LLC', category: 'Surface Cleaning & Prep', allocated: 12000, committed: 12000, actual: 10000 }, + { name: 'Lone Star Plumbing', category: 'Window Sealant Replacement', allocated: 8000, committed: 7000, actual: 6000 }, + { name: 'Premier Finishes', category: 'Final Paint & Restoration', allocated: 10000, committed: 9000, actual: 2000 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 5000, committed: 3000, actual: 0 } + ], milestones: [ { id: 'ms_011_1', name: 'Scaffolding and Protection', dueDate: '2025-12-12', status: 'completed', assignedTo: 'con_001' }, { id: 'ms_011_2', name: 'Surface Cleaning and Prep', dueDate: '2025-12-22', status: 'completed', assignedTo: 'con_001' }, @@ -2861,6 +2901,14 @@ const MOCK_PROJECTS = [ openRFIs: 0, changeOrderCount: 0, pendingInvoiceCount: 2, + budgetBreakdown: [ + { name: 'Lone Star Plumbing', category: 'Labor - Main Line Replacement', allocated: 20000, committed: 12000, actual: 8600 }, + { name: 'Ferguson Plumbing Supply', category: 'Materials - Pipe & Fittings', allocated: 12000, committed: 8000, actual: 6500 }, + { name: 'Lone Star Plumbing', category: 'Labor - Branch Line Reroute', allocated: 8000, committed: 6000, actual: 4000 }, + { name: 'AO Smith', category: 'Materials - Water Heaters', allocated: 6000, committed: 4000, actual: 2000 }, + { name: 'Texas Builders LLC', category: 'Site Prep & Wall Access', allocated: 7000, committed: 4000, actual: 1500 }, + { name: 'Reserve Fund', category: 'Contingency', allocated: 5000, committed: 0, actual: 0 } + ], milestones: [ { id: 'ms_012_1', name: 'Plumbing Assessment', dueDate: '2026-01-17', status: 'completed', assignedTo: 'v4' }, { id: 'ms_012_2', name: 'Material Procurement', dueDate: '2026-01-25', status: 'completed', assignedTo: 'v4' },