Department Progress Page for Cabinet Production
Budget: $50 – $200 USD
Project Background
Our manufacturing plant runs one production schedule per day. Each schedule includes 1–12 Sales Orders, and each Sales Order includes Cabinet IDs with various parts that progress through multiple departments.
We need a Department Progress Page to visualize the current location of all active parts in production and track their status in terms of Cabinet ID, Sales Order, and overall Schedule completion.
Initial view would be of the schedules currently in the plant with a progress bar under percentage indicator to the right showing the progress based on the number of cabinets in the schedule
when clicked or time triggered the orders of the schedule appear with the same format for the cabinets
the same happens when the cabinets are shown
---
Objective
Develop a Blazor Server Page that:
- Groups and displays all cabinet parts by:
- Schedule
- Sales Order
- Cabinet ID
- Shows each part's **current department** (real-time)
- Tracks how many parts are needed vs. how many have been completed
- Calculates completion progress for:
- Each Cabinet ID
- Each Sales Order
- Entire Daily Schedule
---
Data Model Overview
All relevant data is pulled from a single SQL query (example below), based on `CVPartTracker`:
```sql
SELECT
[Cabinet ID],
[Part ID],
Width,
Length,
[Material ID],
JobNumber,
Description,
PartDeptOriginID,
CurrentDeptID,
CheckIn,
CheckOut,
IsYellow,
Schedule
FROM CVPartTracker
WHERE
CurrentDeptID IN (2,3,4,5,7) -- Active manufacturing departments
AND CheckOut IS NULL
AND CheckIn > '2025-04-01 00:01'
AND Schedule IN (
SELECT DISTINCT Schedule
FROM CVPartTracker
WHERE CurrentDeptID = 8 -- Finishing Department
AND CheckIn > '2025-04-08 00:01'
)
Important Logic Considerations
- Each cabinet may include multiple parts: sides, backs, floors, shelves, drawer boxes, drawer fronts, doors, and frames.
- Doors and frames break down further:
- Frames = Rails + Stiles
- Doors = Rails + Stiles + Panels
- The number of sub-parts is unknown at runtime, so the solution must group dynamically by:
- `Schedule > JobNumber (Sales Order) > Cabinet ID > Part Description`
- A cabinet is complete when all its parts have checked out of the Department.
- An Order is completed when all the Cabinets have checked out the Department
- The Schedule is completed when all Orders have been check out of the Department
Deliverables
- Fully functional Blazor Server page
- Real-time or near-real-time view showing:
- Each part's current location
- Total vs. completed part count per cabinet
- Status indicators (color-coded by part status: yellow = flagged)
- Clean and readable UI (table or card view is fine)
- Efficient grouping and progress calculation logic
---
Technologies
- Backend: SQL Server
- Frontend: Blazor Server (preferred)
- Data Access: EF Core or raw SQL (your call)
---
Please provide the following:
- Short overview of your experience with Blazor and SQL Server
- Estimate of hours and total cost
- Example of a similar dashboard or report (optional)
- Any questions or clarifications you need
Our manufacturing plant runs one production schedule per day. Each schedule includes 1–12 Sales Orders, and each Sales Order includes Cabinet IDs with various parts that progress through multiple departments.
We need a Department Progress Page to visualize the current location of all active parts in production and track their status in terms of Cabinet ID, Sales Order, and overall Schedule completion.
Initial view would be of the schedules currently in the plant with a progress bar under percentage indicator to the right showing the progress based on the number of cabinets in the schedule
when clicked or time triggered the orders of the schedule appear with the same format for the cabinets
the same happens when the cabinets are shown
---
Objective
Develop a Blazor Server Page that:
- Groups and displays all cabinet parts by:
- Schedule
- Sales Order
- Cabinet ID
- Shows each part's **current department** (real-time)
- Tracks how many parts are needed vs. how many have been completed
- Calculates completion progress for:
- Each Cabinet ID
- Each Sales Order
- Entire Daily Schedule
---
Data Model Overview
All relevant data is pulled from a single SQL query (example below), based on `CVPartTracker`:
```sql
SELECT
[Cabinet ID],
[Part ID],
Width,
Length,
[Material ID],
JobNumber,
Description,
PartDeptOriginID,
CurrentDeptID,
CheckIn,
CheckOut,
IsYellow,
Schedule
FROM CVPartTracker
WHERE
CurrentDeptID IN (2,3,4,5,7) -- Active manufacturing departments
AND CheckOut IS NULL
AND CheckIn > '2025-04-01 00:01'
AND Schedule IN (
SELECT DISTINCT Schedule
FROM CVPartTracker
WHERE CurrentDeptID = 8 -- Finishing Department
AND CheckIn > '2025-04-08 00:01'
)
Important Logic Considerations
- Each cabinet may include multiple parts: sides, backs, floors, shelves, drawer boxes, drawer fronts, doors, and frames.
- Doors and frames break down further:
- Frames = Rails + Stiles
- Doors = Rails + Stiles + Panels
- The number of sub-parts is unknown at runtime, so the solution must group dynamically by:
- `Schedule > JobNumber (Sales Order) > Cabinet ID > Part Description`
- A cabinet is complete when all its parts have checked out of the Department.
- An Order is completed when all the Cabinets have checked out the Department
- The Schedule is completed when all Orders have been check out of the Department
Deliverables
- Fully functional Blazor Server page
- Real-time or near-real-time view showing:
- Each part's current location
- Total vs. completed part count per cabinet
- Status indicators (color-coded by part status: yellow = flagged)
- Clean and readable UI (table or card view is fine)
- Efficient grouping and progress calculation logic
---
Technologies
- Backend: SQL Server
- Frontend: Blazor Server (preferred)
- Data Access: EF Core or raw SQL (your call)
---
Please provide the following:
- Short overview of your experience with Blazor and SQL Server
- Estimate of hours and total cost
- Example of a similar dashboard or report (optional)
- Any questions or clarifications you need