Fix Part Marker machine number detection in minimal script

- Separate valid machine type indicators from generic placeholders
- Part Marker numbers (0612, 0613, 0615, 8003) are now sent to API
- Wax Trace (0600) also sent as valid machine number
- Only WJPRT, WJCMM, WJMEAS prefixes treated as generic/placeholder
- Add machineTypeHint for PC type detection from valid machine numbers

Previously these valid machine numbers were incorrectly treated as
generic placeholders and not submitted to the API.

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
cproudlock
2025-12-10 11:29:51 -05:00
parent 8aa935c22e
commit 0b470ef177

View File

@@ -157,18 +157,29 @@ try {
} }
if ($machineNo) { if ($machineNo) {
# Check if machine number is a generic/placeholder value # Machine numbers that indicate specific PC types (these ARE valid machine numbers)
# These should not be sent to API - must be set manually $machineTypeIndicators = @{
# Generic machine numbers - don't send to API but can help identify PC type "^0?600$" = "Wax Trace" # Wax trace machines
$genericMachineTypes = @{ "^0?(612|613|615)$" = "Part Marker" # Part marker machines
"^M?(612|613|615)$" = "Part Marker" # Part marker machines (M prefix)
"^8003$" = "Part Marker" # Part marker machines
}
# Check if machine number indicates a specific PC type
$script:machineTypeHint = $null
foreach ($pattern in $machineTypeIndicators.Keys) {
if ($machineNo -match $pattern) {
$script:machineTypeHint = $machineTypeIndicators[$pattern]
"Machine # '$machineNo' indicates PC type: $($script:machineTypeHint)" | Tee-Object -FilePath $logFile -Append
break
}
}
# Generic/placeholder machine numbers - don't send to API
$genericPatterns = @{
"^WJPRT" = "Measuring" # Generic printer/measuring tool "^WJPRT" = "Measuring" # Generic printer/measuring tool
"^WJCMM" = "CMM" # Generic CMM "^WJCMM" = "CMM" # Generic CMM
"^WJMEAS" = "Measuring" # Generic measuring "^WJMEAS" = "Measuring" # Generic measuring
"^0600$" = "Wax Trace" # Wax trace machines
"^0612$" = "Part Marker" # Part markers
"^0613$" = "Part Marker" # Part markers
"^0615" = "Part Marker" # Part markers
"^8003$" = "Part Marker" # Part markers
"^TEST" = $null # Test machines - no type hint "^TEST" = $null # Test machines - no type hint
"^TEMP" = $null # Temporary - no type hint "^TEMP" = $null # Temporary - no type hint
"^DEFAULT"= $null # Default value - no type hint "^DEFAULT"= $null # Default value - no type hint
@@ -177,10 +188,10 @@ try {
$isGeneric = $false $isGeneric = $false
$genericTypeHint = $null $genericTypeHint = $null
foreach ($pattern in $genericMachineTypes.Keys) { foreach ($pattern in $genericPatterns.Keys) {
if ($machineNo -match $pattern) { if ($machineNo -match $pattern) {
$isGeneric = $true $isGeneric = $true
$genericTypeHint = $genericMachineTypes[$pattern] $genericTypeHint = $genericPatterns[$pattern]
break break
} }
} }
@@ -188,8 +199,9 @@ try {
if ($isGeneric) { if ($isGeneric) {
if ($genericTypeHint) { if ($genericTypeHint) {
"Machine # '$machineNo' is generic ($genericTypeHint) - NOT sending to API (requires manual assignment)" | Tee-Object -FilePath $logFile -Append "Machine # '$machineNo' is generic ($genericTypeHint) - NOT sending to API (requires manual assignment)" | Tee-Object -FilePath $logFile -Append
# Store the type hint for later use in PC type detection if (-not $script:machineTypeHint) {
$script:genericTypeHint = $genericTypeHint $script:machineTypeHint = $genericTypeHint
}
} else { } else {
"Machine # '$machineNo' is generic/placeholder - NOT sending to API (requires manual assignment)" | Tee-Object -FilePath $logFile -Append "Machine # '$machineNo' is generic/placeholder - NOT sending to API (requires manual assignment)" | Tee-Object -FilePath $logFile -Append
} }