Commit Graph

77 Commits

Author SHA1 Message Date
cproudlock
06c8ec9cf7 Add printer lookup page and fiscal week theme styling
- Add printerlookup.asp for Zabbix integration (lookup by IP/FQDN)
- Add fiscal week sidebar styling for all 16 themes
- Update CLAUDE.md with External Integrations section
- Fix fiscal week box centering with inline styles

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 16:56:08 -05:00
cproudlock
69b5df8505 Consolidate documentation: archive 45+ historical docs
- Move completed migration docs to docs/archive/
- Move session summaries to docs/archive/sessions/
- Rename API_ASP_DOCUMENTATION.md to docs/API.md
- Archive redundant Claude reference files
- Update docs/README.md as simplified index
- Reduce active docs from 45+ files to 8 essential files

Remaining docs:
- CLAUDE.md (AI context)
- TODO.md (task tracking)
- docs/README.md, API.md, QUICK_REFERENCE.md
- docs/ASP_DEVELOPMENT_GUIDE.md, STANDARDS.md

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 13:13:41 -05:00
cproudlock
4290066a1d Clean up sql directory after production sync
- Remove 27 completed one-off migration scripts
- Remove old backup file (dev-backup-20251120)
- Remove completed shell scripts for prod import/export
- Archive migration_phase1-4 directories and documentation
- Keep only view_consolidation.sql as active script

All migrations have been applied to production.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 12:33:49 -05:00
cproudlock
8b6eb4ecbc Add database view consolidation and migrate legacy tables
- Drop 27 unused views, create 24 new purpose-built views
- New views cover: equipment, PCs, printers, notifications, applications,
  knowledge base, USB history, subnets, maps, and reports/charts
- Migration scripts for legacy network device tables (servers, cameras,
  switches, accesspoints, idfs) to unified machines table
- Migration scripts for legacy tables (machineoverrides, dualpathassignments,
  networkinterfaces)
- Update displaydevice.asp and displaylocationdevice.asp to use machines table
- Fix deviceserver.asp type mismatch error with HTMLEncode
- Hide Applications tab for equipment in displaymachine.asp

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 11:16:48 -05:00
cproudlock
201761f25f Remove legacy pc tables, fix ASP issues, update dashboard APIs
Database changes (run sql/migration_drop_pc_tables.sql on prod):
- Drop pc, pc_backup_phase2, pc_to_machine_id_mapping tables
- Rename pcid columns to machineid in machineoverrides, dualpathassignments, networkinterfaces
- Recreate 9 views to use machines.machineid instead of pcid
- Clean orphaned records and add FK constraints to machines table

ASP fixes:
- editprinter.asp: Fix CLng type mismatch when no printerid provided
- includes/sql.asp: Remove AutoDeactivateExpiredNotifications (endtime handles expiry)
- includes/leftsidebar.asp: Update fiscal week banner styling, remove dead Information link
- charts/warrantychart.asp: Use vw_warranty_status instead of pc table

Dashboard API renames (naming convention):
- shopfloor-dashboard: Update to use apishopfloor.asp, apibusinessunits.asp
- tv-dashboard: Rename api_slides.asp to apislides.asp

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 09:05:06 -05:00
cproudlock
6dd298c59c Remove emojis from all markdown docs, add consolidation plan
- Strip emojis from 47 markdown files across docs/, sql/, and root
- Add docs/DOCS_CONSOLIDATION_PLAN.md with plan to reduce 45 docs to 8
- Establish no-emoji rule for documentation going forward

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 07:42:52 -05:00
cproudlock
1a91833d49 Remove unused and backup ASP files
Cleanup:
- 41 backup/broken files (.backup*, .broken, .bak)
- 3 duplicate PC listing files (listpcs.asp, pclist.asp, pcs.asp)
- 6 unused utility files:
  - aspJSON.asp (test stub)
  - printerlookup.asp (unused, had SQL injection)
  - bulkupdatenotificationtypes.asp
  - cleanupduplicateprintersexecute.asp
  - checkprintermachinescount.asp
  - checkduplicateprinters.asp
- backup/ directory with old v2 design assets
- Include backup files (.production, .produciton typo)

Total: 69 files removed
2025-12-10 20:45:23 -05:00
cproudlock
13ce7c6af2 Standardize ASP filenames: remove underscores
Renamed 45 ASP files to follow lowercase concatenated naming convention:
- Direct handlers: save_machine_direct.asp -> savemachinedirect.asp
- USB files: checkin_usb.asp -> checkinusb.asp
- API files: api_usb.asp -> apiusb.asp
- Map files: network_map.asp -> networkmap.asp
- Printer files: printer_lookup.asp -> printerlookup.asp

Also:
- Updated 84+ internal references across all ASP and JS files
- Deleted 6 test/duplicate files (editmacine.asp, test_*.asp)
- Updated production migration guide with filename changes
- Added rename scripts for Linux (bash) and Windows (PowerShell)
2025-12-10 20:40:05 -05:00
cproudlock
77e5387917 Fix compliance table column names (snake_case to camelCase)
Renamed columns in compliance and compliancescans tables:
- scan_date -> scandate
- deployment_notes -> deploymentnotes
- is_third_party_managed -> isthirdpartymanaged
- third_party_manager -> thirdpartymanager
- ot_asset_* -> otasset*
- is_compliant -> iscompliant
- compliance_notes -> compliancenotes
- scan_name -> scanname
- scan_result -> scanresult
- scan_details -> scandetails

Updated ASP files:
- displaymachine.asp, displaypc.asp - fixed column reads
- editmachine.asp, editpc.asp, editdevice.asp, machine_edit.asp - fixed column reads
- savemachineedit.asp, savemachine_direct.asp, updatedevice_direct.asp - fixed SQL

Updated production migration guide with new Step 4 for compliance columns.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 20:22:49 -05:00
cproudlock
c552913173 Add comprehensive production migration guide for Dec 10, 2025 changes
Consolidates all database changes into a single step-by-step guide:
1. Table naming convention fix (6 tables renamed)
2. View recreation (9 views)
3. Fix backwards Controls relationships
4. Propagate controllers to dualpath machines
5. Sync equipment data between dualpath partners

Includes pre-deployment checklist, rollback plan, and verification steps.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 20:12:47 -05:00
cproudlock
4606a763ec Add equipment data sync for dualpath partner machines
When a dualpath relationship is created, equipment data is now automatically
synced between partners. This ensures both machines share the same:
- Controller type and OS
- Model number
- Serial number
- Communication settings (IP, Serial config)

Location data (mapleft, maptop) is NOT synced since dualpath machines
occupy slightly different physical positions.

Changes:
- includes/db_helpers.asp: Add CopyEquipmentDataToDualpathPartner(),
  CopyCommConfigToDualpathPartner(), and SyncDualpathPartnerData() functions
- savemachineedit.asp: Call SyncDualpathPartnerData() on dualpath creation
- savemachine_direct.asp: Call SyncDualpathPartnerData() on dualpath creation
- sql/sync_dualpath_equipment_data.sql: One-time script to sync existing pairs

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 20:09:56 -05:00
cproudlock
e9fc33c0a2 Add automatic controller propagation for dualpath machines
When a PC is assigned to control equipment that has a dualpath relationship,
the controller is now automatically propagated to the dualpath partner machine.

Changes:
- includes/db_helpers.asp: Add PropagateControllerToDualpathMachines() and
  PropagateControllerFromDualpathMachine() helper functions
- savemachine_direct.asp: Call propagation on new equipment creation
- savemachineedit.asp: Call propagation when editing equipment relationships
- api.asp: Add PropagateControllerToDualpathMachinesAPI() for PowerShell API

Also includes one-time fix script (sql/fix_dualpath_controller_relationships.sql)
that fixes 140 backwards relationships (Equipment->PC to PC->Equipment) and
propagates controllers to 30 dualpath machines that were missing them.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 20:04:01 -05:00
cproudlock
f465504dee Execute naming convention fix on dev - tables renamed, ASP updated
Database changes applied:
- machine_overrides -> machineoverrides
- pc_comm_config -> commconfig
- pc_dnc_config -> dncconfig
- pc_dualpath_assignments -> dualpathassignments
- pc_network_interfaces -> networkinterfaces
- usb_checkouts -> usbcheckouts

ASP files updated (10 files):
- api.asp, api_usb.asp
- displaypc.asp, displaysubnet.asp, displaymachine.asp
- displayusb.asp, displayprofile.asp
- usb_history.asp, savecheckin_usb.asp, savecheckout_usb.asp

9 views recreated with new table references.

Tested and verified working on dev environment.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 14:59:47 -05:00
cproudlock
37a0f10e34 Convert bash scripts to PowerShell for Windows production
- Replace 05_update_asp_files.sh with 05_update_asp_files.ps1
- Replace 06_update_docs.sh with 06_update_docs.ps1
- Update PRODUCTION_DEPLOYMENT_GUIDE.md with PowerShell commands

Both scripts support -Execute flag (dry run by default)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 14:50:42 -05:00
cproudlock
62c21d4565 Add database naming convention fix scripts
Scripts to standardize table names from snake_case to camelCase:
- machine_overrides -> machineoverrides
- pc_comm_config -> commconfig
- pc_dnc_config -> dncconfig
- pc_dualpath_assignments -> dualpathassignments
- pc_network_interfaces -> networkinterfaces
- usb_checkouts -> usbcheckouts

Includes:
- SQL scripts for table renames and view recreation
- ASP file update script
- Documentation update script
- Production deployment guide for Windows/IIS/MySQL 5.6

Related to Gitea Issue #1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 14:48:40 -05:00
cproudlock
2778a35ab7 Standardize UI consistency across ShopDB pages
Security fixes:
- Add HTMLEncode to displaysubnets.asp output
- Add HTMLEncode to displayapplications.asp URL attributes

Icon standardization:
- Use zmdi-plus-circle for all Add buttons (displaypcs, pcs, pclist, computers, listpcs)
- Use zmdi-edit for all Edit tab icons (displayapplication, displayprinter, displaysubnet, displaydevice)
- Replace icon-note with zmdi icons throughout

Layout consistency:
- Standardize title row margin-bottom to 15px across all pages
- Add table-hover class to all data tables
- Fix editpc.asp title from "Edit Equipment" to "Edit PC"
- Fix editpc.asp back link to point to displaypcs.asp

Terminology:
- Change "Make" to "Vendor" in displayprinters.asp
- Standardize Back button text to "Back to [Page]" format

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 14:20:35 -05:00
cproudlock
dff29f23f9 Remove scripts folder - moved to dedicated powershell-scripts repo
PowerShell scripts have been moved to a separate repository:
ssh://git@localhost:2222/cproudlock/powershell-scripts.git

This separates concerns and allows independent versioning of:
- Asset collection scripts
- Remote execution scripts
- WinRM configuration utilities
- Registry backup tools

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 10:59:47 -05:00
cproudlock
8ca6049076 Add machine map editor and fix machine map display
- Create machine_map_editor.asp for bulk position editing
  - Draggable Leaflet markers for repositioning machines
  - Sidebar with filterable machine list
  - Pending changes tracking with save/reset functionality
  - Proper Y-axis coordinate conversion (2550 - top)

- Update machine_map.asp
  - Reduce marker size from 20px to 12px to reduce overlap
  - Filter out network devices (16-20) and PCs (33+) from display
  - Show equipment only (machinetypeid 2-15)

- Add updateMachinePositions API endpoint in api.asp
  - Accepts JSON array of position changes
  - Updates mapleft/maptop for multiple machines

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 18:28:09 -05:00
cproudlock
be83d6886f Fix reports charts to count only PCs, exclude PCs from equipment list
charts/udcchart.asp, charts/ma3chart.asp:
- Add COALESCE to handle NULL aggregate values
- Add NULL checks for VBScript CInt operations
- Change machinecount to only count PCs (pctypeid IS NOT NULL)
- UDC/CLM/MA3 apps only exist on PCs, not equipment

displaymachines.asp:
- Add machinetypeid < 33 filter to exclude PC machine types
- PCs with NULL pctypeid were incorrectly showing on equipment list

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 16:37:12 -05:00
cproudlock
0036017fed Add WinRM filter, VNC IP fallback, UDC/CLM process detection
displaypcs.asp:
- Replace "All Time" filter with WinRM status filter
- Options: All, Needs WinRM (Has Equipment), Has WinRM, No WinRM
- Add VNC IP fallback when hostname unavailable

displaypc.asp:
- Add VNC IP fallback when hostname unavailable

api.asp:
- Add isactive field support for installedapps table
- UDC/CLM process detection sets isactive=1 if running, 0 if not

displaymachines.asp:
- Fix to exclude PC machine types (machinetypeid >= 33)
- PCs were incorrectly showing on equipment list

Update-ShopfloorPCs-Remote.ps1:
- Add UDC.exe and PPMon.exe (CLM) process detection
- Set isactive flag based on running process
- Add 10.134.* to TrustedHosts for IP fallback connections

Update-PC-CompleteAsset.ps1:
- Add UDC/CLM process detection for local execution
- Set isactive flag on tracked applications

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 16:26:15 -05:00
cproudlock
49e6a8bf07 Fix PowerShell string parsing in Backup-GERegistry.ps1
Use string concatenation instead of variable interpolation to avoid
PowerShell interpreting KB as a special token.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 15:06:10 -05:00
cproudlock
e0edbaf47f Fix printer mapping to strip underscore suffix from port name
Port names like 10.80.92.53_2 are now cleaned to 10.80.92.53 before
sending to the API for printer lookup.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 14:55:07 -05:00
cproudlock
021b231991 Fix PowerShell syntax error in Backup-GERegistry.ps1
Changed ${fileSizeKB} to $fileSizeKB to fix parsing error on some systems.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 14:53:22 -05:00
cproudlock
bbb40ffd61 Update registry backup path to S:\DT\cameron\scan\backup\reg
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:29:26 -05:00
cproudlock
c8bd75c6c7 Consolidate all PowerShell scripts and fix production issues
Scripts added to shopdb/scripts/:
- Backup-GERegistry.ps1
- Get-InstalledApps.ps1
- Install-AssetCollectionSchedule.ps1
- Setup-WinRM.ps1
- Test-API-Connection.ps1

Updates to existing scripts:
- Update-PC-Minimal.ps1: Added SSL bypass, added 8003 to Part Marker machines
- Update-ShopfloorPCs-Remote.ps1: Added SSL bypass, added 8003 to Part Marker machines

Part Marker machine numbers now include: 0612, 0613, 0615, 8003

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:23:56 -05:00
cproudlock
8074636398 Update Invoke-RemoteAssetCollection-HTTPS.ps1 for production
- Changed DashboardURL to production: https://tsgwp00525.rd.ds.ge.com/shopdb/api.asp
- Added SSL/TLS certificate bypass
- Added TLS 1.2 protocol requirement

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:21:17 -05:00
cproudlock
80c39b33e2 Add Part Marker detection by machine number
Part Marker PCs identified by:
- Machine numbers: 0612, 0613, 0615, 8003
- Software: Part Mark, Telesis, MECCO, Pryor, Gravotech, SIC Marking

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:19:47 -05:00
cproudlock
df744db708 Add Part Marker PC type detection
Added detection for Part Marker PCs (pctypeid 10) based on installed software:
- Part Mark, PartMark
- Telesis, MECCO, Pryor, Gravotech, SIC Marking

Detection order: CMM > Wax Trace > Keyence > EAS1000 > Genspect > Heat Treat > Part Marker > Shopfloor

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:16:29 -05:00
cproudlock
b9f2bea41e Fix lastBootUpTime datetime format for MySQL
PowerShell was sending datetime in US locale format (12/7/2025 10:05:28 PM)
but MySQL requires ISO format (YYYY-MM-DD HH:MM:SS).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:13:46 -05:00
cproudlock
3a834f7ae4 Update PowerShell scripts for production API and SSL bypass
- Changed Invoke-RemoteAssetCollection.ps1 default URL to production:
  https://tsgwp00525.rd.ds.ge.com/shopdb/api.asp
- Added SSL/TLS certificate bypass for HTTPS connections in both:
  - Update-PC-CompleteAsset.ps1
  - Invoke-RemoteAssetCollection.ps1
- Set TLS 1.2 as minimum protocol version
- Security group logon\g03078610 confirmed correct

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:12:49 -05:00
cproudlock
65a509e4c0 Update VNC link to use RealVNC protocol in displaypcs.asp
Changed vnc:// to com.realvnc.vncviewer.connect:// for proper
RealVNC Viewer integration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:58:39 -05:00
cproudlock
718c0ee004 Update VNC link to use RealVNC protocol
Changed vnc:// to com.realvnc.vncviewer.connect:// for proper
RealVNC Viewer integration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:58:10 -05:00
cproudlock
bdc9e16600 Update displaypc.asp: PC Type label, WinRM text, uptime display
- Changed "Function" label to "PC Type"
- Added PC Type value from pctype table (pctypename) instead of machinetype
- Changed WinRM display from badge to plain text
- Added uptime display showing days since last boot
- Added lastboottime and uptime_days to SQL query
- Added LEFT JOIN to pctype table for PC type name

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:51:28 -05:00
cproudlock
cbd1d945c2 Add Part Marker machinetypeid and update editpc.asp filtering
sql/add_genspect_partmarker_machinetypes.sql:
- Add Genspect (machinetypeid 45) and Part Marker (machinetypeid 46)

editpc.asp:
- Add pctypeid 10 (Part Marker) -> machinetypeid 46 filter
- Fix comment for Genspect to show machinetypeid 45

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:11:20 -05:00
cproudlock
66f0357d32 Add pctypeid-based equipment filtering in editpc.asp, add Genspect machinetype
editpc.asp:
- Filter equipment dropdown by pctypeid instead of pcMachineTypeId
- pctypeid 5 (CMM) -> machinetypeid 3 (CMM)
- pctypeid 6 (Wax/Trace) -> machinetypeid 5 (Wax Trace)
- pctypeid 7 (Keyence) -> machinetypeid 23 (Measuring Machine)
- pctypeid 8 (Genspect) -> machinetypeid 45 (Genspect)
- pctypeid 9 (Heat Treat) -> machinetypeid 14 (Furnace)

sql/add_genspect_machinetype.sql:
- Add Genspect equipment type (machinetypeid 45)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:05:45 -05:00
cproudlock
75ccdb55d5 Inline pctypeId logic to fix production Object required error 2025-12-09 10:47:09 -05:00
cproudlock
bccd6a0d47 Fix pctypeid in inline UpdateCompleteAsset, add HEATTREAT variant, add relationship notification
api.asp:
- Add pctypeid to inline UPDATE and INSERT statements in UpdateCompleteAsset
- Call GetPCTypeIdFromPCType to properly map pcType string to pctypeid
- Add "HEATTREAT" (no space) variant to GetPCTypeIdFromPCType function

displaypc.asp:
- Add relationship notification for PC types that can control equipment
  (CMM=5, Wax/Trace=6, Keyence=7, Genspect=8, Heat Treat=9, Part Marker=10)
- Shows info alert with link to Edit Machine page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 10:36:08 -05:00
cproudlock
58f745312e Fix pctypeid UPDATE, add installedApps handling, fix network_map IDF query
- api.asp: Add pctypeid to UPDATE statement so PC type changes are saved
  (was only set on INSERT, not UPDATE - Heat Treat PCs stayed as Shopfloor)
- api.asp: Add installedApps parameter and SaveInstalledApps() function
  to save tracked apps during updateCompleteAsset calls
- network_map.asp: Fix query to use m.machinetypeid instead of mo.machinetypeid
  (IDFs and other network devices weren't appearing on map)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 10:23:01 -05:00
cproudlock
8547cb9db2 Update SQL script with view changes for uptime tracking
- Replaced add_lastboottime_column.sql with comprehensive add_uptime_tracking.sql
- Updates 3 views to include lastboottime and uptime_days columns:
  - vw_active_pcs: Active PCs with warranty info
  - vw_shopfloor_pcs: Shopfloor PCs
  - vw_recent_updates: Recently updated machines
- Includes verification queries

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 09:54:02 -05:00
cproudlock
bbf1d25826 Add PC uptime tracking feature
- Database: Add lastboottime column to machines table
- API: Accept lastBootUpTime parameter and store in lastboottime column
- PowerShell: Collect LastBootUpTime from Win32_OperatingSystem
  - Update-PC-Minimal.ps1: Add last boot time collection
  - Update-ShopfloorPCs-Remote.ps1: Add last boot time collection and API posting
- Display: Add Uptime column to displaypcs.asp with color-coded badges
  - > 90 days: red badge
  - > 30 days: yellow badge
  - > 7 days: blue badge
  - <= 7 days: muted text
- Filter: Add "Uptime > X days" filter dropdown (7, 30, 90 days)
- SQL: Production migration script for lastboottime column

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 09:36:23 -05:00
cproudlock
46d77fa280 Add Heat Treat detection and PC type filter
- PowerShell scripts: Add Heat Treat detection to Update-PC-Minimal.ps1
  and Update-ShopfloorPCs-Remote.ps1 with proper priority chain
  (CMM > Wax Trace > Keyence > EAS1000 > Genspect > Heat Treat > Shopfloor)
- displaypcs.asp: Add PC Type dropdown filter using pctypeid
- displaypcs.asp: Fix SQL spacing issues in WHERE clause filters

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 09:23:40 -05:00
cproudlock
4f7ad06674 Add SQL script for HeatTreat application
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 08:11:13 -05:00
cproudlock
9f5bd38c23 Add HeatTreat application tracking
- Added HeatTreat (appid 77) to applications.csv for detection

Also updated PowerShell script (separate folder):
- Added Heat Treat PC type detection via "HeatTreat" application
- Fixed Genspect to return "Genspect" instead of "Measuring"
- Updated detection priority comment

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 08:10:27 -05:00
cproudlock
7ed24a8860 Consolidate PC machinetypeid: all PCs use 33, pctypeid determines type
- Simplified GetMachineTypeIdFromPCType() to always return 33 (PC)
- PC type differentiation now handled entirely by pctypeid
- Updated savedevice.asp: 28 -> 33
- Updated savedevice_direct.asp: 36 -> 33, added pctypeid
- Removed redundant machinetypeid mapping logic (36-43)
- All 317 existing PCs already use machinetypeid=33

Schema simplified:
  machinetypeid=33 (PC) + pctypeid determines specific type
  pctypeid: 1=Standard, 2=Engineer, 3=Shopfloor, 5=CMM, etc.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 07:53:27 -05:00
cproudlock
e84ef80d6c Fix API to set pctypeid when inserting new PCs
- Added GetPCTypeIdFromPCType() function to map pcType strings to pctypeid
- INSERT now includes pctypeid column (was missing, causing PCs to not be
  properly identified as PCs in Phase 2 schema)
- pctypeid mapping: Standard=1, Engineer=2, Shopfloor=3, CMM=5, Wax/Trace=6,
  Keyence=7, Genspect/EAS1000=8, Heat Treat=9, Part Marker=10
- WJPRT* pattern override now sets both machinetypeid and pctypeid
- Fixed EAS1000/GENSPECT to map to same pctypeid (8)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 07:33:37 -05:00
cproudlock
4f389d6290 Replace machinetypeid 33-43 checks with pctypeid throughout codebase
- PCs now identified by pctypeid IS NOT NULL (not machinetypeid >= 33)
- Equipment identified by pctypeid IS NULL (not machinetypeid < 33)
- Updated 8 files: search.asp, savemachineedit.asp, displaymachine.asp,
  displaypc.asp, displaypcs.asp, machine_map.asp, displaymachines.asp, api.asp
- Simplified queries and removed redundant machinetypeid checks
- Updated all related comments to reflect new pattern

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 07:24:20 -05:00
cproudlock
e18d64fdcc Fix SQL syntax error and add CMM equipment filtering
- Fix missing space before GROUP BY in PC list pages (displaypcs, computers, listpcs, pclist, pcs)
- Add pctypeid-based equipment filtering in editdevice.asp (CMM PCs only see CMM equipment)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 16:25:16 -05:00
cproudlock
d601189bd5 Update pages to use pctypeid instead of machinetypeid IN (33-43)
- PCs identified by pctypeid IS NOT NULL instead of machinetypeid list
- Equipment identified by pctypeid IS NULL instead of NOT IN list
- Fixed devicecamera.asp: IDF dropdown uses machinetypeid 17, not 34
- Fixed displaypcs.asp: measuring tool filter uses pctypeid = 7

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 15:46:48 -05:00
cproudlock
29c5c8bff2 Consolidate PC types: use pctypeid instead of multiple machinetypeids
All PCs now use machinetypeid 33 (PC) with pctypeid for sub-type:
- Standard, Engineer, Shopfloor, CMM, Wax/Trace, Keyence, Genspect, Heat Treat

Added new pctypes: Keyence, Genspect, Heat Treat

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 15:33:08 -05:00
cproudlock
c1511d5740 Fix auto-populate: use attr() instead of data() for reliable reading
jQuery's data() caches values; attr() reads directly from DOM

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 15:21:17 -05:00