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>
This commit is contained in:
cproudlock
2025-12-11 09:05:06 -05:00
parent e598f72616
commit 1f1bd8ee02
10 changed files with 327 additions and 219 deletions

View File

@@ -1,26 +1,4 @@
<%
'=============================================================================
' SUBROUTINE: AutoDeactivateExpiredNotifications
' PURPOSE: Automatically deactivate notifications where endtime has passed
'
' LOGIC:
' - Find all active notifications where endtime < NOW() (expired)
' - Set isactive = 0 for those notifications
' - This provides automatic cleanup without manual intervention
'
' RUNS: On every page load (minimal performance impact - simple UPDATE query)
'=============================================================================
Sub AutoDeactivateExpiredNotifications()
On Error Resume Next
Dim strAutoDeactivate
strAutoDeactivate = "UPDATE notifications SET isactive = 0 " & _
"WHERE isactive = 1 " & _
"AND endtime IS NOT NULL " & _
"AND endtime < NOW()"
objConn.Execute strAutoDeactivate
On Error Goto 0
End Sub
' objConn - script-global connection object (no Dim for global scope)
Session.Timeout=15
Set objConn=Server.CreateObject("ADODB.Connection")
@@ -37,8 +15,4 @@ End Sub
"Pooling=True;Max Pool Size=100;"
objConn.Open
set rs = server.createobject("ADODB.Recordset")
' Auto-deactivate expired notifications
' This runs on every page load to ensure notifications with past endtime are automatically disabled
Call AutoDeactivateExpiredNotifications()
%>