21H_LeakTesting
DashPerm
EWI_Assembly
APQP Management System
DynaShippingPortal
KitValidation
DAVIE API
Guided Picking
21H_LeakTesting
WPF desktop application for 21H leak testing, targeting .NET 8.
Solution Structure
Application Overview
The 21H Leak Testing application is a WPF desktop tool used on the Dynacraft production floor to perform automated hose leak tests. It targets .NET 8 (net8.0-windows) and communicates with up to four serial-connected leak-test instruments simultaneously.
What It Does
Operators follow a guided workflow to execute and record pressure-based leak tests:
Badge in – Authenticate with an employee ID validated against the StaticProduction SQL Server database.
Select a station – On first launch, choose a test station from a database-driven list (persisted to user settings for subsequent runs).
Scan a production order – Enter or scan an 8–9 digit production order barcode.
Scan a material/assembly number – The application looks up the corresponding TCAP program number via the DataApps database.
How It Works
Layer Responsibility
UI (MainWindow, TestChannel, StationWindow, OrderEntry) WPF views for operator interaction, channel status display, and station selection
Serial Communication (System.IO.Ports) Sends commands to and receives data from leak-test instruments on dedicated COM ports; data is received on a background thread and marshalled to the UI via Dispatcher.Invoke
Data Access (DataAppsContext, StaticProductionContext) Entity Framework Core 9 DbContexts that call SQL Server stored procedures for employee validation, test result recording, station/port lookups, and error logging
Security (DAL, Crypto) Decrypts EncPassword_LeakTester from App.config using TripleDES and injects the password into connection strings at runtime — passwords are never stored in plain text
Error Handling (Util, App.xaml.cs) Global exception handlers catch unhandled errors from the dispatcher, app domain, and task scheduler; errors are dual-written to a local log file (error_21H_LeakTesting.txt) and the DataApps_ErrorLog_INSERT stored procedure
Enter parts quantity & assign channels – Distribute work across available test channels (CH1–CH4).
Run tests – The application sends TCAP program and start commands to the instruments over serial ports, parses the response data, and determines pass or fail.
Record results – Test outcomes, part quantities, and any errors are written to the DataApps SQL Server database in real time. The app
DashPerm
Application Overview
NGP DashPerm Desktop (NGP_587_DashPerm) is an internal WPF desktop application built for Dynacraft (PACCAR) manufacturing operations. It serves as a production dashboard for the NGP 587 dash panel assembly line, providing station-specific views for operators to scan chassis, view panel build instructions, track build times, log defects, verify orders, and request part resupply.
Operators select a production station at launch (A Panel, B Panel, C Panel, D Panel, Inspection, or Pack), and the dashboard tailors its display and data to that station context. The application connects to multiple SQL Server databases for chassis data, defect tracking, employee achievements, and order verification workflows.
Getting Started
Prerequisites
- Visual Studio 2022+ (Enterprise recommended) with the .NET desktop development workload installed.
- .NET Framework 4.8 targeting pack.
- Network access to internal SQL Server databases (
StaticProduction, EWI_DataWarehouse, EASOP_PB). - NuGet package restore enabled.
StaticProduction, EWI_DataWarehouse, EASOP_PB).Clone the Repository
Build
- Open
NGP_587_DashPerm.sln in Visual Studio. - Restore NuGet packages (automatic on build).
- Build the solution (Ctrl+Shift+B) or via command line:
NGP_587_DashPerm.sln in Visual Studio.Run
- Set
NGP_587_DashPerm as the startup project. - Press F5 to start debugging, or Ctrl+F5 to run without the debugger.
NGP_587_DashPerm as the startup project.Run Tests
- Open Test Explorer in Visual Studio and run all tests from the
NGP_587_DashPerm_Test project. - Tests use the NUnit framework with Moq for mocking.
NGP_587_DashPerm_Test project.Environment Configuration
The application includes environment-specific configuration files that are copied to the output directory:
| File | Environment |
|---|---|
NGP_587_DashPerm.exe.CERT.config | Certification |
NGP_587_DashPerm.exe.TEST.config | Test |
NGP_587_DashPerm.exe.PROD.config | Production |
Solution Structure
Key Modules
Login (Login.xaml)
Station selection screen presented at application launch. Operators choose their assembly station (A Panel, B Panel, C Panel, D Panel, Inspection, or Pack), which sets the station context (Station and StationID) in Application.Current.Resources before opening the MainWindow.
Station selection screen presented at application launch. Operators choose their assembly station (A Panel, B Panel, C Panel, D Panel, Inspection, or Pack), which sets the station context (Station and StationID) in Application.Current.Resources before opening the MainWindow.
MainWindow (MainWindow.xaml)
The primary dashboard (~2,000 lines). Displays chassis-specific panel build data including part numbers, locations, wire guard images, and punch labels. Incorporates a DispatcherTimer for build-time tracking against station targets. Handles chassis scanning, archive lookups, and station-specific tab views (J1/J2 panels, C Panel, etc.).
The primary dashboard (~2,000 lines). Displays chassis-specific panel build data including part numbers, locations, wire guard images, and punch labels. Incorporates a DispatcherTimer for build-time tracking against station targets. Handles chassis scanning, archive lookups, and station-specific tab views (J1/J2 panels, C Panel, etc.).
InputUser (InputUser.xaml)
Employee login window. Operators scan or enter their badge ID, which is validated against the vwEmployees view in EWI_DataWarehouse. The matched employee name is stored in application-level resources for display and achievement tracking.
Employee login window. Operators scan or enter their badge ID, which is validated against the vwEmployees view in EWI_DataWarehouse. The matched employee name is stored in application-level resources for display and achievement tracking.
Print (Print.xaml)
Print and report view for chassis build sheets. Loads chassis data and location maps, then renders printable layouts using WPF visual trees. Supports image display from a shared UNC network path.
Print and report view for chassis build sheets. Loads chassis data and location maps, then renders printable layouts using WPF visual trees. Supports image display from a shared UNC network path.
Defect (Defect.xaml)
Defect logging window. Allows operators to record defects by selecting the originating station and defect category from database-driven dropdown lists, with a description field. Categories and stations are loaded from StaticProduction database views.
Defect logging window. Allows operators to record defects by selecting the originating station and defect category from database-driven dropdown lists, with a description field. Categories and stations are loaded from StaticProduction database views.
Achievement (Achievement.xaml)
Trophy/achievement popup triggered when an employee unlocks a milestone. Displays the appropriate trophy image (keyed by TrophyKey and Level) and a congratulatory message with the employee name and station context.
Trophy/achievement popup triggered when an employee unlocks a milestone. Displays the appropriate trophy image (keyed by TrophyKey and Level) and a congratulatory message with the employee name and station context.
AvgUpdate (AvgUpdate.xaml)
Displays the operator's month-to-date average build time for the current station versus the target. Build time text is color-coded: green when at or below target, red when above.
Displays the operator's month-to-date average build time for the current station versus the target. Build time text is color-coded: green when at or below target, red when above.
Order_Verify (Order_Verify.xaml)
Order conflict verification module. Compares JIT component lists against production data for a date range, highlights conflicts, and sends email notifications (via System.Net.Mail) to a distribution list loaded from a stored procedure.
Order conflict verification module. Compares JIT component lists against production data for a date range, highlights conflicts, and sends email notifications (via System.Net.Mail) to a distribution list loaded from a stored procedure.
Resupply (Resupply.xaml)
Part resupply request form. Operators scan a part number to submit a resupply request record to the tblResupplyRequests table in EWI_DataWarehouse, tagged with the current station and timestamp.
Part resupply request form. Operators scan a part number to submit a resupply request record to the tblResupplyRequests table in EWI_DataWarehouse, tagged with the current station and timestamp.
Welcome (Welcome.xaml)
Welcome screen that shows a summary of viewed defects from the vwDefectVieweds view, providing operators a quick defect overview on entry.
Welcome screen that shows a summary of viewed defects from the vwDefectVieweds view, providing operators a quick defect overview on entry.
CounterTest (CounterTest.xaml)
Countdown timer utility using DispatcherTimer. Visually counts down from a set time with color-coded urgency indicators (blue under 10 seconds, red under 6 seconds).
Countdown timer utility using DispatcherTimer. Visually counts down from a set time with color-coded urgency indicators (blue under 10 seconds, red under 6 seconds).
DAL (DAL.cs)
Centralized Data Access Layer. Reads connection strings from app.config and injects the decrypted password (via Crypto) at runtime by replacing {PASSWORD} placeholders. Exposes typed getter methods for each database connection.
Centralized Data Access Layer. Reads connection strings from app.config and injects the decrypted password (via Crypto) at runtime by replacing {PASSWORD} placeholders. Exposes typed getter methods for each database connection.
Crypto (Crypto.cs)
Encryption and decryption utility using TripleDES with MD5-hashed keys. Used by DAL to decrypt database passwords stored in AppSettings at runtime.
Encryption and decryption utility using TripleDES with MD5-hashed keys. Used by DAL to decrypt database passwords stored in AppSettings at runtime.
Key Features
Feature Description Station-Based Dashboard Tailored panel views per assembly station with chassis-specific build instructions. Chassis Scanning Scan-to-load workflow for retrieving chassis build data from SQL Server. Build Time Tracking Real-time countdown timer comparing actual build time to station targets. Defect Logging Station- and category-based defect entry with database persistence. Employee Achievements Trophy/milestone notification system with tiered achievement images. Average Build Time Reports Month-to-date build time vs. target with color-coded performance feedback. Order Conflict Verification JIT-to-production comparison with automated email conflict alerts. Part Resupply Requests One-scan resupply submissions tagged by station and timestamp. Print / Report Generation Printable chassis build sheets with part images from shared network paths. Chassis Archiving Archive and retrieve historical chassis build records. Encrypted Credentials TripleDES-encrypted database passwords with runtime decryption in DAL. Multi-Environment Config Separate config files for CERT, TEST, and PROD environments. ClickOnce Deployment Published to an internal web server with auto-update support.
| Feature | Description |
|---|---|
| Station-Based Dashboard | Tailored panel views per assembly station with chassis-specific build instructions. |
| Chassis Scanning | Scan-to-load workflow for retrieving chassis build data from SQL Server. |
| Build Time Tracking | Real-time countdown timer comparing actual build time to station targets. |
| Defect Logging | Station- and category-based defect entry with database persistence. |
| Employee Achievements | Trophy/milestone notification system with tiered achievement images. |
| Average Build Time Reports | Month-to-date build time vs. target with color-coded performance feedback. |
| Order Conflict Verification | JIT-to-production comparison with automated email conflict alerts. |
| Part Resupply Requests | One-scan resupply submissions tagged by station and timestamp. |
| Print / Report Generation | Printable chassis build sheets with part images from shared network paths. |
| Chassis Archiving | Archive and retrieve historical chassis build records. |
| Encrypted Credentials | TripleDES-encrypted database passwords with runtime decryption in DAL. |
| Multi-Environment Config | Separate config files for CERT, TEST, and PROD environments. |
| ClickOnce Deployment | Published to an internal web server with auto-update support. |
Technologies Used
Technology Version / Details .NET Framework 4.8 WPF Windows Presentation Foundation (XAML + code-behind) C# Primary language Entity Framework 6.4.4 (Database First with EDMX models) ADO.NET SqlConnection / SqlCommand for stored procedure callsTyped DataSets StaticProductionDataSet.xsd, DataSet1.xsdSQL Server Backend databases (StaticProduction, EWI_DataWarehouse, EASOP_PB) TripleDES / MD5 Connection string password encryption System.Net.Mail SMTP email notifications (Order Verify) ClickOnce Desktop application deployment and auto-update NUnit 3.12.0 — Unit testing framework Moq 4.20.72 — Mocking library for tests Microsoft.NET.Test.Sdk 16.5.0 — Test platform Azure DevOps Pipelines CI build, test, and ClickOnce publish Git / GitHub Source control (PaccarInc-Dynacraft/OPS-DashPerm-Desktop)
| Technology | Version / Details |
|---|---|
| .NET Framework | 4.8 |
| WPF | Windows Presentation Foundation (XAML + code-behind) |
| C# | Primary language |
| Entity Framework | 6.4.4 (Database First with EDMX models) |
| ADO.NET | SqlConnection / SqlCommand for stored procedure calls |
| Typed DataSets | StaticProductionDataSet.xsd, DataSet1.xsd |
| SQL Server | Backend databases (StaticProduction, EWI_DataWarehouse, EASOP_PB) |
| TripleDES / MD5 | Connection string password encryption |
| System.Net.Mail | SMTP email notifications (Order Verify) |
| ClickOnce | Desktop application deployment and auto-update |
| NUnit | 3.12.0 — Unit testing framework |
| Moq | 4.20.72 — Mocking library for tests |
| Microsoft.NET.Test.Sdk | 16.5.0 — Test platform |
| Azure DevOps Pipelines | CI build, test, and ClickOnce publish |
| Git / GitHub | Source control (PaccarInc-Dynacraft/OPS-DashPerm-Desktop) |
EWI_Assembly
A comprehensive assembly management system for PACCAR's EWI (Electrical Wiring Integration) operations. This solution provides workstation management, BOM (Bill of Materials) tracking, and line assembly visualization capabilities.
A comprehensive assembly management system for PACCAR's EWI (Electrical Wiring Integration) operations. This solution provides workstation management, BOM (Bill of Materials) tracking, and line assembly visualization capabilities.
Overview
The EWI_Assembly solution is designed to manage and track the assembly process of electrical wiring components in a manufacturing environment. It consists of two main web applications and supporting projects for testing and data management.
The EWI_Assembly solution is designed to manage and track the assembly process of electrical wiring components in a manufacturing environment. It consists of two main web applications and supporting projects for testing and data management.
Technology Stack
Core Technologies
- .NET 8.0 - Modern, cross-platform framework for building web applications
- ASP.NET Core MVC - Model-View-Controller framework for traditional web applications
- Blazor Server - Interactive web UI framework with server-side rendering
- Entity Framework Core 9.0 - Object-Relational Mapping (ORM) for database access
- SQL Server - Enterprise database system for data storage and management
- .NET 8.0 - Modern, cross-platform framework for building web applications
- ASP.NET Core MVC - Model-View-Controller framework for traditional web applications
- Blazor Server - Interactive web UI framework with server-side rendering
- Entity Framework Core 9.0 - Object-Relational Mapping (ORM) for database access
- SQL Server - Enterprise database system for data storage and management
UI Frameworks & Libraries
- Telerik UI for Blazor 12.0 - Professional UI component library for Blazor applications
- jQuery - JavaScript library for DOM manipulation (in EWI_Assembly project)
- Telerik UI for Blazor 12.0 - Professional UI component library for Blazor applications
- jQuery - JavaScript library for DOM manipulation (in EWI_Assembly project)
Testing & Automation
- MSTest - Microsoft's testing framework for unit and integration tests
- Selenium WebDriver 4.17 - Browser automation for end-to-end testing
- MSTest - Microsoft's testing framework for unit and integration tests
- Selenium WebDriver 4.17 - Browser automation for end-to-end testing
Build & Deployment
- Azure Pipelines - CI/CD automation for building, testing, and deploying applications
- NuGet - Package management for .NET dependencies
- Azure Pipelines - CI/CD automation for building, testing, and deploying applications
- NuGet - Package management for .NET dependencies
Projects
1. EWI_Assembly
Type: ASP.NET Core 8.0 MVC Web Application
Purpose: The primary web application providing workstation interfaces for assembly operations. This application manages BOM (Bill of Materials) workstations where workers can:
- View component headers and details by Purchase Order (PO)
- Track station orders and mark them as complete
- Validate parts during assembly
- Record defects and their sources
- Manage CATL (Critical Attribute Tracking Log) data
Key Features:
- MVC architecture with Controllers, Models, and Views
- Direct SQL Server integration using Microsoft.Data.SqlClient
- Stored procedure-based data access for performance
- Support for multiple environments (DEV, CERT, PROD)
- Connection to both EWI_Assembly and EWI_DataWarehouse databases
Main Controllers:
BOMWorkstationController - Core workstation functionality for BOM managementBOMLookupController - BOM search and lookup operationsHomeController - Application home page and navigation
Type: ASP.NET Core 8.0 MVC Web Application
Purpose: The primary web application providing workstation interfaces for assembly operations. This application manages BOM (Bill of Materials) workstations where workers can:
- View component headers and details by Purchase Order (PO)
- Track station orders and mark them as complete
- Validate parts during assembly
- Record defects and their sources
- Manage CATL (Critical Attribute Tracking Log) data
Key Features:
- MVC architecture with Controllers, Models, and Views
- Direct SQL Server integration using Microsoft.Data.SqlClient
- Stored procedure-based data access for performance
- Support for multiple environments (DEV, CERT, PROD)
- Connection to both EWI_Assembly and EWI_DataWarehouse databases
Main Controllers:
BOMWorkstationController- Core workstation functionality for BOM managementBOMLookupController- BOM search and lookup operationsHomeController- Application home page and navigation
2. LineAssembly
Type: Blazor Server Web Application (.NET 8.0)
Purpose: A modern, interactive web application built with Blazor providing visual representations and real-time updates for line assembly operations. This application offers:
- SVG-based visualization of assembly line layouts
- Real-time order and pallet tracking
- Interactive UI components using Telerik Blazor controls
- Responsive design for various screen sizes
Key Features:
- Server-side Blazor with interactive components
- Entity Framework Core with DbContextFactory pattern (optimized for Blazor Server)
- Telerik UI for Blazor professional components
- SQL Server database integration
- Component-based architecture with reusable Razor components
Main Pages:
Home.razor - Application landing pageHomeSvg.razor - SVG-based visual representation of assembly linesTestOrderPallet.razor - Order and pallet testing interface
Type: Blazor Server Web Application (.NET 8.0)
Purpose: A modern, interactive web application built with Blazor providing visual representations and real-time updates for line assembly operations. This application offers:
- SVG-based visualization of assembly line layouts
- Real-time order and pallet tracking
- Interactive UI components using Telerik Blazor controls
- Responsive design for various screen sizes
Key Features:
- Server-side Blazor with interactive components
- Entity Framework Core with DbContextFactory pattern (optimized for Blazor Server)
- Telerik UI for Blazor professional components
- SQL Server database integration
- Component-based architecture with reusable Razor components
Main Pages:
Home.razor- Application landing pageHomeSvg.razor- SVG-based visual representation of assembly linesTestOrderPallet.razor- Order and pallet testing interface
3. EWI_AssemblyDB
Type: SQL Server Database Project (.sqlproj)
Purpose: Database schema management and version control for the EWI_Assembly database. This project contains:
- Database schema definitions (tables, views, stored procedures)
- Security configurations and user permissions
- Multiple schemas for different functional areas:
ADMIN - Administrative functionsASSEMBLY - Core assembly operationsWORKSTATION - Workstation-specific data and proceduresREPORTS - Reporting functionalityPRINT - Printing operations
Key Features:
- Source control for database objects
- Deployment scripts for environment promotion
- Security principal management for service accounts
- Schema-based organization of database objects
Type: SQL Server Database Project (.sqlproj)
Purpose: Database schema management and version control for the EWI_Assembly database. This project contains:
- Database schema definitions (tables, views, stored procedures)
- Security configurations and user permissions
- Multiple schemas for different functional areas:
ADMIN- Administrative functionsASSEMBLY- Core assembly operationsWORKSTATION- Workstation-specific data and proceduresREPORTS- Reporting functionalityPRINT- Printing operations
Key Features:
- Source control for database objects
- Deployment scripts for environment promotion
- Security principal management for service accounts
- Schema-based organization of database objects
4. EWI_Assembly.MSTests
Type: MSTest Test Project (.NET 8.0)
Purpose: Automated testing suite providing end-to-end testing using Selenium WebDriver. This project ensures:
- Browser-based integration testing
- UI workflow validation
- Cross-browser compatibility testing
- Regression testing for critical user paths
Key Features:
- Selenium WebDriver for browser automation
- MSTest framework for test organization and execution
- DotNetSeleniumExtras.WaitHelpers for reliable element interactions
- Integration with EWI_Assembly project for testing actual application behavior
Type: MSTest Test Project (.NET 8.0)
Purpose: Automated testing suite providing end-to-end testing using Selenium WebDriver. This project ensures:
- Browser-based integration testing
- UI workflow validation
- Cross-browser compatibility testing
- Regression testing for critical user paths
Key Features:
- Selenium WebDriver for browser automation
- MSTest framework for test organization and execution
- DotNetSeleniumExtras.WaitHelpers for reliable element interactions
- Integration with EWI_Assembly project for testing actual application behavior
Database Configuration
The solution connects to multiple SQL Server databases in the PACCAR network:
- EWI_Assembly - Main application database
- EWI_DataWarehouse - Data warehouse for reporting and analytics
Database connections are configured per environment:
- DEV:
sql-d-DynlouEWIAssy.na.paccar.com - CERT:
sql-c-DynlouEWIAssy.na.paccar.com - PROD:
sql-p-DynlouEWIAssy.na.paccar.com
All connections use Windows Integrated Authentication (Trusted_Connection) for secure access.
The solution connects to multiple SQL Server databases in the PACCAR network:
- EWI_Assembly - Main application database
- EWI_DataWarehouse - Data warehouse for reporting and analytics
Database connections are configured per environment:
- DEV:
sql-d-DynlouEWIAssy.na.paccar.com - CERT:
sql-c-DynlouEWIAssy.na.paccar.com - PROD:
sql-p-DynlouEWIAssy.na.paccar.com
All connections use Windows Integrated Authentication (Trusted_Connection) for secure access.
Build and Deployment
Build Process
The solution uses Azure Pipelines for automated builds:
- azure-pipelines-1.yml - Triggered on
master branch commits - azure-pipelines.yml - Triggered on
Release branch commits
Build steps include:
- NuGet package restoration
- MSBuild compilation with Release configuration
- Automated test execution with VSTest
- Package creation for deployment
The solution uses Azure Pipelines for automated builds:
- azure-pipelines-1.yml - Triggered on
masterbranch commits - azure-pipelines.yml - Triggered on
Releasebranch commits
Build steps include:
- NuGet package restoration
- MSBuild compilation with Release configuration
- Automated test execution with VSTest
- Package creation for deployment
Prerequisites for Local Development
- Visual Studio 2022 (Version 17.5 or later)
- .NET 8.0 SDK
- SQL Server access to PACCAR network databases
- Windows authentication credentials for database access
- Visual Studio 2022 (Version 17.5 or later)
- .NET 8.0 SDK
- SQL Server access to PACCAR network databases
- Windows authentication credentials for database access
APQP Management System
Application Overview
Built using ASP.NET MVC and targeting .NET Framework 4.7.2, this application is a comprehensive Advanced Product Quality Planning (APQP) management system designed specifically for automotive manufacturing and procurement workflows.
APQP is an established industry framework that supports cross-functional teams in the development of products and processes to ensure customer satisfaction. The framework emphasizes quality planning, supplier collaboration, and risk mitigation throughout the product development lifecycle. Key APQP tenets include:
- Quality at Source: Implementing process controls and quality checks early in the development cycle
- Supplier Collaboration: Managing requests for quotes (RFQs), bid entries, and quality approvals with supplier partners
- Production Part Approval: Formal approval workflows for new part production using the Production Part Approval Process (PPAP)
- Change Control: Managing engineering change notices (ECNs) with formal review and implementation tracking
- Bill of Materials (BOM) Management: Tracking component sourcing, pricing, and quoting for complete assemblies
- Continuous Improvement: Supporting part family management, variation control, and data-driven reporting
This system is tailored for PACCAR Inc. and Dynacraft organizations to streamline product quality planning, accelerate supplier approval cycles, and maintain regulatory compliance across multiple plants and business divisions. The application provides real-time visibility into quality workflows, supplier performance, and engineering changes through an integrated dashboard and comprehensive reporting infrastructure.
Built using ASP.NET MVC and targeting .NET Framework 4.7.2, this application is a comprehensive Advanced Product Quality Planning (APQP) management system designed specifically for automotive manufacturing and procurement workflows.
APQP is an established industry framework that supports cross-functional teams in the development of products and processes to ensure customer satisfaction. The framework emphasizes quality planning, supplier collaboration, and risk mitigation throughout the product development lifecycle. Key APQP tenets include:
- Quality at Source: Implementing process controls and quality checks early in the development cycle
- Supplier Collaboration: Managing requests for quotes (RFQs), bid entries, and quality approvals with supplier partners
- Production Part Approval: Formal approval workflows for new part production using the Production Part Approval Process (PPAP)
- Change Control: Managing engineering change notices (ECNs) with formal review and implementation tracking
- Bill of Materials (BOM) Management: Tracking component sourcing, pricing, and quoting for complete assemblies
- Continuous Improvement: Supporting part family management, variation control, and data-driven reporting
This system is tailored for PACCAR Inc. and Dynacraft organizations to streamline product quality planning, accelerate supplier approval cycles, and maintain regulatory compliance across multiple plants and business divisions. The application provides real-time visibility into quality workflows, supplier performance, and engineering changes through an integrated dashboard and comprehensive reporting infrastructure.
Solution Structure
Project Description APQP_MVCMain ASP.NET MVC web application APQP_MVC.TestUnit tests for the main project APQP.MSTestAdditional MSTest-based tests
| Project | Description |
|---|---|
APQP_MVC | Main ASP.NET MVC web application |
APQP_MVC.Test | Unit tests for the main project |
APQP.MSTest | Additional MSTest-based tests |
Key Modules
RFQ (Request for Quote)
Manages the complete supplier bidding and quote lifecycle. This module enables procurement teams to publish bid requests, collect and evaluate supplier responses, and compare pricing and technical proposals. Key workflows include:
- Quote Creation & Distribution: Generate and distribute requests for quotes to multiple suppliers with deadlines and specification details
- Bid Tracking & Submission: Monitor supplier bid submissions and enforced deadline management with escalation capabilities
- Bid Evaluation: Track bid status, comments, and approval workflows with linked checklists for quality compliance verification
- Supplier Comparison: Analyze competing bids side-by-side with pricing, lead time, and quality metrics for data-driven supplier selection
- Task & Checkpoint Management: Assign quality approval tasks to cross-functional teams with completion tracking and audit trails
- Document Attachments & Comments: Maintain complete communication history with suppliers throughout the bidding process
- Reporting & Analytics: Generate bid reports by supplier, plant, or business division for performance trending and procurement analysis
Manages the complete supplier bidding and quote lifecycle. This module enables procurement teams to publish bid requests, collect and evaluate supplier responses, and compare pricing and technical proposals. Key workflows include:
- Quote Creation & Distribution: Generate and distribute requests for quotes to multiple suppliers with deadlines and specification details
- Bid Tracking & Submission: Monitor supplier bid submissions and enforced deadline management with escalation capabilities
- Bid Evaluation: Track bid status, comments, and approval workflows with linked checklists for quality compliance verification
- Supplier Comparison: Analyze competing bids side-by-side with pricing, lead time, and quality metrics for data-driven supplier selection
- Task & Checkpoint Management: Assign quality approval tasks to cross-functional teams with completion tracking and audit trails
- Document Attachments & Comments: Maintain complete communication history with suppliers throughout the bidding process
- Reporting & Analytics: Generate bid reports by supplier, plant, or business division for performance trending and procurement analysis
PPAP (Production Part Approval Process)
Manages the formal approval process required before suppliers can release production quantities. PPAP ensures that new parts or design revisions meet technical specifications and manufacturing capability standards. Core capabilities include:
- Production Scheduling: Define new production part projects with part families, drawings, and quality codes linked to APQP workflows
- Submission Timeline Management: Track firm implementation dates and target implementation dates to keep production schedules aligned across the supply chain
- Employee PPAP Schedule Tracking: Assign PPAP approval tasks to quality engineers, manufacturing engineers, and plant personnel with deadline visibility and role-based responsibilities
- Multi-Level Approval Workflows: Support hierarchical approval chains ensuring design, process, and quality reviews occur before production release
- Calendar Views & Planning: Visualize PPAP schedules by plant, product line, and engineer for capacity planning and workload management
- Status Tracking & Escalation: Monitor approvals in real-time with alerts for overdue reviews and readiness assessments
- Change Control Integration: Link PPAP approvals to engineering changes (ECNs) and requirement modifications to maintain traceability throughout the product lifecycle
- Compliance Documentation: Maintain audit trails and approval records for regulatory compliance (ISO/TS 16949, AIAG PPAP guidelines)
Manages the formal approval process required before suppliers can release production quantities. PPAP ensures that new parts or design revisions meet technical specifications and manufacturing capability standards. Core capabilities include:
- Production Scheduling: Define new production part projects with part families, drawings, and quality codes linked to APQP workflows
- Submission Timeline Management: Track firm implementation dates and target implementation dates to keep production schedules aligned across the supply chain
- Employee PPAP Schedule Tracking: Assign PPAP approval tasks to quality engineers, manufacturing engineers, and plant personnel with deadline visibility and role-based responsibilities
- Multi-Level Approval Workflows: Support hierarchical approval chains ensuring design, process, and quality reviews occur before production release
- Calendar Views & Planning: Visualize PPAP schedules by plant, product line, and engineer for capacity planning and workload management
- Status Tracking & Escalation: Monitor approvals in real-time with alerts for overdue reviews and readiness assessments
- Change Control Integration: Link PPAP approvals to engineering changes (ECNs) and requirement modifications to maintain traceability throughout the product lifecycle
- Compliance Documentation: Maintain audit trails and approval records for regulatory compliance (ISO/TS 16949, AIAG PPAP guidelines)
ECN (Engineering Change Notices)
Manages the engineering change control process to track, review, and implement design and process changes throughout the product lifecycle. This module ensures all stakeholders are informed of changes and impacts are managed systematically. Key features include:
- Change Notice Creation & Routing: Define changes with title, description, cost-savings impact, and internal/external classification for appropriate review workflows
- Group-Based Management: Organize changes by division, program, or business unit with customizable approval groups and notification rules
- Multi-Stage Review Process: Route changes through design, manufacturing, quality, and supply chain reviews with tracked workflows and decision points
- Change Tracking Grid: Interactive data grid with real-time filtering, sorting, and modal-based controls for viewing change details, history, and status
- Implementation Date Management: Track firm implementation dates and target implementation dates to coordinate production transitions with suppliers and plant operations
- Part Impact Analysis: Identify which parts and suppliers are affected by changes to enable targeted communication and compliance verification
- Readiness Assessment: Verify supplier readiness before change implementation through linked PPAP approvals and manufacturing capability assessments
- Change History & Audit Trail: Maintain complete records of change reviews, approvals, rejections, and implementation status for compliance and continuous improvement analysis
Manages the engineering change control process to track, review, and implement design and process changes throughout the product lifecycle. This module ensures all stakeholders are informed of changes and impacts are managed systematically. Key features include:
- Change Notice Creation & Routing: Define changes with title, description, cost-savings impact, and internal/external classification for appropriate review workflows
- Group-Based Management: Organize changes by division, program, or business unit with customizable approval groups and notification rules
- Multi-Stage Review Process: Route changes through design, manufacturing, quality, and supply chain reviews with tracked workflows and decision points
- Change Tracking Grid: Interactive data grid with real-time filtering, sorting, and modal-based controls for viewing change details, history, and status
- Implementation Date Management: Track firm implementation dates and target implementation dates to coordinate production transitions with suppliers and plant operations
- Part Impact Analysis: Identify which parts and suppliers are affected by changes to enable targeted communication and compliance verification
- Readiness Assessment: Verify supplier readiness before change implementation through linked PPAP approvals and manufacturing capability assessments
- Change History & Audit Trail: Maintain complete records of change reviews, approvals, rejections, and implementation status for compliance and continuous improvement analysis
IncrediBOM (Bill of Materials)
Provides comprehensive bill of materials management for product assemblies, including component tracking, supplier sourcing, pricing, and quoting. This module enables procurement teams to visualize complete assembly structures and manage supplier relationships at the part level. Key capabilities include:
- Full & Partial BOM Views: Display complete assembly hierarchies or filtered sub-assemblies for targeted analysis and component sourcing
- Component-Level Supplier Management: Assign suppliers to components with pricing and lead time data for competitive analysis and cost optimization
- BOM Pricing & Cost Analysis: Aggregate component costs into assembly-level BOMs with supplier pricing comparisons and margin tracking
- Quote & RFQ Integration: Create or update quotes directly from BOM data, link bids to components, and track supplier selections across assemblies
- Part Search & Lookup: Search components by part number, description, or supplier for rapid access to sourcing and pricing history
- Excel Import/Export: Support bulk BOM entry through copy/paste and Excel file import, enabling rapid data entry and streamlined supplier updates
- PPAP Integration: Link BOM components to PPAP records to track which parts require approval and coordinate production readiness across the supply base
- Cross-Reference & Version Control: Maintain BOM revisions and track part number changes to ensure manufacturing and procurement teams work with current designs
Provides comprehensive bill of materials management for product assemblies, including component tracking, supplier sourcing, pricing, and quoting. This module enables procurement teams to visualize complete assembly structures and manage supplier relationships at the part level. Key capabilities include:
- Full & Partial BOM Views: Display complete assembly hierarchies or filtered sub-assemblies for targeted analysis and component sourcing
- Component-Level Supplier Management: Assign suppliers to components with pricing and lead time data for competitive analysis and cost optimization
- BOM Pricing & Cost Analysis: Aggregate component costs into assembly-level BOMs with supplier pricing comparisons and margin tracking
- Quote & RFQ Integration: Create or update quotes directly from BOM data, link bids to components, and track supplier selections across assemblies
- Part Search & Lookup: Search components by part number, description, or supplier for rapid access to sourcing and pricing history
- Excel Import/Export: Support bulk BOM entry through copy/paste and Excel file import, enabling rapid data entry and streamlined supplier updates
- PPAP Integration: Link BOM components to PPAP records to track which parts require approval and coordinate production readiness across the supply base
- Cross-Reference & Version Control: Maintain BOM revisions and track part number changes to ensure manufacturing and procurement teams work with current designs
Part Management
Provides centralized management of part families, variations, and design revisions to support product configuration and supply chain coordination. This module enables engineering teams to manage part hierarchies and track design changes across multiple suppliers and plant locations. Core functions include:
- Part Family Definition: Create and organize part families representing logical groupings of related components (e.g., alternator family with multiple voltages or configurations)
- Part Variation Handling: Define and manage part variations (color, material, voltage, capacity) through modal dialog workflows for rapid configuration updates
- Revision Tracking: Maintain multiple revisions of part families with change history and effectivity dates to coordinate design updates with suppliers and manufacturing
- Design Documents & Drawings: Associate drawing files, specifications, and technical documentation with part families for quick reference and compliance verification
- Supplier Assignment: Link part families to approved suppliers and track approval status, pricing, and lead time by supplier and part variation
- ECN Integration: Track which ECNs affect specific part families to maintain traceability and ensure suppliers implement changes at the correct time
- Data Import/Export: Support bulk part family creation and updates through Excel import/export to streamline data entry and simplify supplier onboarding
- Cross-Plant Standardization: Enable sharing of part families across multiple plants to drive standardization and reduce engineering redundancy
Provides centralized management of part families, variations, and design revisions to support product configuration and supply chain coordination. This module enables engineering teams to manage part hierarchies and track design changes across multiple suppliers and plant locations. Core functions include:
- Part Family Definition: Create and organize part families representing logical groupings of related components (e.g., alternator family with multiple voltages or configurations)
- Part Variation Handling: Define and manage part variations (color, material, voltage, capacity) through modal dialog workflows for rapid configuration updates
- Revision Tracking: Maintain multiple revisions of part families with change history and effectivity dates to coordinate design updates with suppliers and manufacturing
- Design Documents & Drawings: Associate drawing files, specifications, and technical documentation with part families for quick reference and compliance verification
- Supplier Assignment: Link part families to approved suppliers and track approval status, pricing, and lead time by supplier and part variation
- ECN Integration: Track which ECNs affect specific part families to maintain traceability and ensure suppliers implement changes at the correct time
- Data Import/Export: Support bulk part family creation and updates through Excel import/export to streamline data entry and simplify supplier onboarding
- Cross-Plant Standardization: Enable sharing of part families across multiple plants to drive standardization and reduce engineering redundancy
Key Features
- DataTables Integration - Sorting, filtering, and export to Excel/PDF/clipboard
- AJAX-Driven UI - Asynchronous updates to minimize page reloads
- User Notifications - Real-time feedback using Toastr
- Windows Authentication - Integrated IIS authentication (no login page)
- Excel Import/Export - Bulk data operations via ExcelDataReader
- DataTables Integration - Sorting, filtering, and export to Excel/PDF/clipboard
- AJAX-Driven UI - Asynchronous updates to minimize page reloads
- User Notifications - Real-time feedback using Toastr
- Windows Authentication - Integrated IIS authentication (no login page)
- Excel Import/Export - Bulk data operations via ExcelDataReader
Technologies Used
Layer Technology Framework .NET Framework 4.7.2 Web Framework ASP.NET MVC 5 Data Access Entity Framework 6.5.1 (EDMX), LINQ Frontend jQuery 3.7.1, jQuery UI 1.13.3, Bootstrap 5.1.3, DataTables, Toastr Validation jQuery Validation 1.21.0 Cryptography Portable.BouncyCastle 1.9.0 Authentication Windows Authentication (IIS) Testing MSTest 3.8.3, Moq 4.20.72, Selenium WebDriver 4.32.0 CI/CD Azure Pipelines (azure-pipelines.yml) Package Management NuGet (packages.config)
| Layer | Technology |
|---|---|
| Framework | .NET Framework 4.7.2 |
| Web Framework | ASP.NET MVC 5 |
| Data Access | Entity Framework 6.5.1 (EDMX), LINQ |
| Frontend | jQuery 3.7.1, jQuery UI 1.13.3, Bootstrap 5.1.3, DataTables, Toastr |
| Validation | jQuery Validation 1.21.0 |
| Cryptography | Portable.BouncyCastle 1.9.0 |
| Authentication | Windows Authentication (IIS) |
| Testing | MSTest 3.8.3, Moq 4.20.72, Selenium WebDriver 4.32.0 |
| CI/CD | Azure Pipelines (azure-pipelines.yml) |
| Package Management | NuGet (packages.config) |
ESMS Support Web Application
Enterprise Supplier Management System (ESMS) Support is an ASP.NET MVC 5 web application for managing supplier relationships, EDI operations, and chargeback workflows.
Quick Start
- Prerequisites: Visual Studio 2022+ with .NET Framework 4.7.2
echnology Stack
MAT-DynaShippingPortal-Web
Overview
DynaShippingPortal is an internal logistics management application that enables shipping teams to schedule, track, and manage outbound shipments. The application provides real-time visibility into trailer schedules, carrier assignments, customer shipments, and related documentation.
DynaShippingPortal is an internal logistics management application that enables shipping teams to schedule, track, and manage outbound shipments. The application provides real-time visibility into trailer schedules, carrier assignments, customer shipments, and related documentation.
Key Features
Feature Description Outbound Schedule Management Create, update, and track outbound shipping schedules with trailer numbers, skid spots, utilization metrics, and scheduled/released dates Carrier Management Maintain carrier information with active/inactive status tracking Customer Management Track customers with trailer summary reporting and color-coded status indicators Kit Summary Tracking Associate ASN (Advanced Shipping Notice), shipping authorizations, and shipment types with schedules File Attachments Upload and manage documents via UNC-based file storage with permitted file type validation Email Notifications Automated shipping confirmation notifications Error Logging & Monitoring ELMAH for exception logging, Application Insights for telemetry Windows Authentication Integrated Windows/Active Directory authentication
| Feature | Description |
|---|---|
| Outbound Schedule Management | Create, update, and track outbound shipping schedules with trailer numbers, skid spots, utilization metrics, and scheduled/released dates |
| Carrier Management | Maintain carrier information with active/inactive status tracking |
| Customer Management | Track customers with trailer summary reporting and color-coded status indicators |
| Kit Summary Tracking | Associate ASN (Advanced Shipping Notice), shipping authorizations, and shipment types with schedules |
| File Attachments | Upload and manage documents via UNC-based file storage with permitted file type validation |
| Email Notifications | Automated shipping confirmation notifications |
| Error Logging & Monitoring | ELMAH for exception logging, Application Insights for telemetry |
| Windows Authentication | Integrated Windows/Active Directory authentication |
Architecture
The application follows a layered architecture pattern:
The application follows a layered architecture pattern:
Layer Responsibilities
- Controllers – Handle HTTP requests, return Views/JSON, manage anti-forgery tokens
- Services – Business logic, data transformation (ViewModels ↔ Models)
- Repositories – Data access using ADO.NET with stored procedures
- Helpers – Shared utilities (SQL commands, file uploads, logging, date calculations)
- Controllers – Handle HTTP requests, return Views/JSON, manage anti-forgery tokens
- Services – Business logic, data transformation (ViewModels ↔ Models)
- Repositories – Data access using ADO.NET with stored procedures
- Helpers – Shared utilities (SQL commands, file uploads, logging, date calculations)
Technologies & Tools
Category Technology Version Framework .NET Framework 4.7.2 Web Framework ASP.NET MVC 5.3.0 Frontend Bootstrap 5.1.3 JavaScript jQuery 3.7.1 Validation jQuery Validation, Unobtrusive Validation 1.21.0 / 3.2.11 Data Access ADO.NET (System.Data.SqlClient) - Database SQL Server (Stored Procedures) - Serialization Newtonsoft.Json 13.0.4 Monitoring Microsoft Application Insights 2.8.0 Error Logging ELMAH 1.2.2 Navigation MvcSiteMapProvider 4.6.26 Authentication Windows Authentication (IIS) - File Storage UNC Path (System.IO) -
| Category | Technology | Version |
|---|---|---|
| Framework | .NET Framework | 4.7.2 |
| Web Framework | ASP.NET MVC | 5.3.0 |
| Frontend | Bootstrap | 5.1.3 |
| JavaScript | jQuery | 3.7.1 |
| Validation | jQuery Validation, Unobtrusive Validation | 1.21.0 / 3.2.11 |
| Data Access | ADO.NET (System.Data.SqlClient) | - |
| Database | SQL Server (Stored Procedures) | - |
| Serialization | Newtonsoft.Json | 13.0.4 |
| Monitoring | Microsoft Application Insights | 2.8.0 |
| Error Logging | ELMAH | 1.2.2 |
| Navigation | MvcSiteMapProvider | 4.6.26 |
| Authentication | Windows Authentication (IIS) | - |
| File Storage | UNC Path (System.IO) | - |
KitValidation
A Blazor Server application for validating manufacturing kit materials against production sequences. Operators scan parts to verify the correct materials are present in each kit before assembly, with real-time visual feedback and validation logging.
A Blazor Server application for validating manufacturing kit materials against production sequences. Operators scan parts to verify the correct materials are present in each kit before assembly, with real-time visual feedback and validation logging.
Features
- Area & Station Selection — Cascading dropdowns to choose the work area and station
- Single & Range Sequence Modes — Validate a single sequence or navigate through a range with Previous / Next controls
- Part Scanning — Scan parts via barcode scanner against the expected material list with instant green (valid) / red (invalid) feedback. Paste is blocked on the Employee field to prevent manual data entry errors, but scanner input is fully supported on the Scan Part field.
- Validation Logging — Every scanned part is logged to the database for traceability
- Toast Notifications — Success and error messages via Blazor.Bootstrap toasts
- Area & Station Selection — Cascading dropdowns to choose the work area and station
- Single & Range Sequence Modes — Validate a single sequence or navigate through a range with Previous / Next controls
- Part Scanning — Scan parts via barcode scanner against the expected material list with instant green (valid) / red (invalid) feedback. Paste is blocked on the Employee field to prevent manual data entry errors, but scanner input is fully supported on the Scan Part field.
- Validation Logging — Every scanned part is logged to the database for traceability
- Toast Notifications — Success and error messages via Blazor.Bootstrap toasts
Tech Stack
Layer Technology UI Blazor Server (.NET 8, Interactive Server) Components Blazor.Bootstrap ORM Entity Framework Core (SQL Server) Database SQL Server (EWI_Admin) Testing MSTest, Selenium WebDriver
| Layer | Technology |
|---|---|
| UI | Blazor Server (.NET 8, Interactive Server) |
| Components | Blazor.Bootstrap |
| ORM | Entity Framework Core (SQL Server) |
| Database | SQL Server (EWI_Admin) |
| Testing | MSTest, Selenium WebDriver |
DAVIE API Readme
This API allows you to take DAVIE results and store them in a database called DAVIE. The stored results are stored in a table called DAVIEResults. Additionally, the API can concatenate data and generate a bartender label using a stored procedure called [cs_BEVPPCResult_SELECT].
This API allows you to take DAVIE results and store them in a database called DAVIE. The stored results are stored in a table called DAVIEResults. Additionally, the API can concatenate data and generate a bartender label using a stored procedure called [cs_BEVPPCResult_SELECT].
Endpoints
1. Store DAVIE Results
- Endpoint: /davie/label
- Method: POST
- Description: This endpoint allows you to store DAVIE results in the DAVIE database and DAVIEResults table.
- Request Body:
data: The DAVIE results to be stored.
- Response:
status: The status of the operation.message: A message describing the result of the operation.
- Endpoint: /davie/label
- Method: POST
- Description: This endpoint allows you to store DAVIE results in the DAVIE database and DAVIEResults table.
- Request Body:
data: The DAVIE results to be stored.
- Response:
status: The status of the operation.message: A message describing the result of the operation.
2. Generate Bartender Label
- Endpoint:
/davie/label - Method: GET
- Description: This endpoint generates a bartender label by concatenating data and using the stored procedure [cs_BEVPPCResult_SELECT].
- Response:
status: The status of the operation.message: A message describing the result of the operation.label: The generated bartender label.
- Endpoint:
/davie/label - Method: GET
- Description: This endpoint generates a bartender label by concatenating data and using the stored procedure [cs_BEVPPCResult_SELECT].
- Response:
status: The status of the operation.message: A message describing the result of the operation.label: The generated bartender label.
Database Information
- Database Name: DAVIE
- Table Name: DAVIEResults
- Database Name: DAVIE
- Table Name: DAVIEResults
Stored Procedure
- Stored Procedure Name: [cs_BEVPPCResult_SELECT]
- Description: This stored procedure is used to concatenate data and generate a bartender label.
- Stored Procedure Name: [cs_BEVPPCResult_SELECT]
- Description: This stored procedure is used to concatenate data and generate a bartender label.
How to Use
- Install the necessary dependencies.
- Set up the DAVIE database and create the DAVIEResults table.
- Configure the API to connect to the DAVIE database.
- Make API requests to store DAVIE results and generate bartender labels.
- Install the necessary dependencies.
- Set up the DAVIE database and create the DAVIEResults table.
- Configure the API to connect to the DAVIE database.
- Make API requests to store DAVIE results and generate bartender labels.
Example
Store DAVIE Results
- Endpoint:
/davie/results - Method: POST
- Request Body:
{
"data": {
"result1": "value1",
"result2": "value2"
}
} - Response:
{
"status": "success",
"message": "DAVIE results stored successfully."
}
- Endpoint:
/davie/results - Method: POST
- Request Body:
{ "data": { "result1": "value1", "result2": "value2" } } - Response:
{ "status": "success", "message": "DAVIE results stored successfully." }
Generate Bartender Label
- Endpoint:
/davie/label - Method: GET
- Endpoint:
/davie/label - Method: GET
Guided Picking Application
Overview
Guided Picking is an innovative application designed to streamline the picking process in warehouse and production environments. By allowing users to easily input their badge number, area, and production order number, the app efficiently displays the necessary part numbers, quantities, and corresponding SAP bin locations. Additionally, it includes a bin validation feature to ensure accuracy in picking.
Guided Picking is an innovative application designed to streamline the picking process in warehouse and production environments. By allowing users to easily input their badge number, area, and production order number, the app efficiently displays the necessary part numbers, quantities, and corresponding SAP bin locations. Additionally, it includes a bin validation feature to ensure accuracy in picking.
Features
- User Input: Enter badge number, area, and production order number to retrieve relevant picking information.
- Part Display: View part numbers and quantities associated with the production order.
- SAP Bin Locations: Automatically fetches and displays the correct SAP bin locations for each part.
- Bin Validation: Ensures that users are picking from the correct bin, reducing errors and improving efficiency.
- User Input: Enter badge number, area, and production order number to retrieve relevant picking information.
- Part Display: View part numbers and quantities associated with the production order.
- SAP Bin Locations: Automatically fetches and displays the correct SAP bin locations for each part.
- Bin Validation: Ensures that users are picking from the correct bin, reducing errors and improving efficiency.
No comments:
Post a Comment