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>
This commit is contained in:
cproudlock
2025-12-08 16:25:16 -05:00
parent 659e8bad4b
commit a52dd2e932
6 changed files with 15 additions and 8 deletions

View File

@@ -156,7 +156,7 @@ Set rsStatus = Nothing
whereClause = whereClause & "AND (models.modelnumber LIKE '%OptiPlex%' OR models.modelnumber LIKE '%Tower%' OR models.modelnumber LIKE '%Micro%') "
End If
strSQL = strSQL & whereClause & "GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
strSQL = strSQL & whereClause & " GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
set rs = objconn.Execute(strSQL)
while not rs.eof

View File

@@ -166,7 +166,7 @@ Set rsStatus = Nothing
"AND NOT EXISTS (SELECT 1 FROM machinerelationships mr WHERE (mr.machineid = m.machineid OR mr.related_machineid = m.machineid) AND mr.relationshiptypeid = 3 AND mr.isactive = 1) "
End If
strSQL = strSQL & whereClause & "GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
strSQL = strSQL & whereClause & " GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
set rs = objconn.Execute(strSQL)
while not rs.eof

View File

@@ -54,7 +54,7 @@
End If
' Store machine data
Dim serialnumber, hostname, machinenumber, modelid, businessunitid, alias, machinenotes, mapleft, maptop
Dim serialnumber, hostname, machinenumber, modelid, businessunitid, alias, machinenotes, mapleft, maptop, currentPctypeid
serialnumber = "" : If NOT IsNull(rsMachine("serialnumber")) Then serialnumber = rsMachine("serialnumber") & ""
hostname = "" : If NOT IsNull(rsMachine("hostname")) Then hostname = rsMachine("hostname") & ""
machinenumber = "" : If NOT IsNull(rsMachine("machinenumber")) Then machinenumber = rsMachine("machinenumber") & ""
@@ -64,6 +64,7 @@
machinenotes = "" : If NOT IsNull(rsMachine("machinenotes")) Then machinenotes = rsMachine("machinenotes") & ""
mapleft = "" : If NOT IsNull(rsMachine("mapleft")) Then mapleft = rsMachine("mapleft")
maptop = "" : If NOT IsNull(rsMachine("maptop")) Then maptop = rsMachine("maptop")
currentPctypeid = "" : If NOT IsNull(rsMachine("pctypeid")) Then currentPctypeid = rsMachine("pctypeid")
rsMachine.Close
Set rsMachine = Nothing
@@ -566,8 +567,14 @@
<select class="form-control" id="controllingpc" name="controllingpc">
<option value="">-- None --</option>
<%
Dim rsControlPCs
strSQL = "SELECT machineid, machinenumber, alias FROM machines WHERE pctypeid IS NULL AND isactive = 1 ORDER BY machinenumber ASC"
Dim rsControlPCs, equipmentFilter
' Filter equipment dropdown based on PC type
' CMM PCs (pctypeid 5) should only see CMM equipment (machinetypeid 3)
equipmentFilter = ""
If currentPctypeid = 5 Then
equipmentFilter = " AND machinetypeid = 3"
End If
strSQL = "SELECT machineid, machinenumber, alias FROM machines WHERE pctypeid IS NULL AND isactive = 1" & equipmentFilter & " ORDER BY machinenumber ASC"
Set rsControlPCs = objconn.Execute(strSQL)
While Not rsControlPCs.EOF
Dim controlPCDisplay, selectedControlPC

View File

@@ -156,7 +156,7 @@ Set rsStatus = Nothing
whereClause = whereClause & "AND (models.modelnumber LIKE '%OptiPlex%' OR models.modelnumber LIKE '%Tower%' OR models.modelnumber LIKE '%Micro%') "
End If
strSQL = strSQL & whereClause & "GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
strSQL = strSQL & whereClause & " GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
set rs = objconn.Execute(strSQL)
while not rs.eof

View File

@@ -156,7 +156,7 @@ Set rsStatus = Nothing
whereClause = whereClause & "AND (models.modelnumber LIKE '%OptiPlex%' OR models.modelnumber LIKE '%Tower%' OR models.modelnumber LIKE '%Micro%') "
End If
strSQL = strSQL & whereClause & "GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
strSQL = strSQL & whereClause & " GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
set rs = objconn.Execute(strSQL)
while not rs.eof

View File

@@ -156,7 +156,7 @@ Set rsStatus = Nothing
whereClause = whereClause & "AND (models.modelnumber LIKE '%OptiPlex%' OR models.modelnumber LIKE '%Tower%' OR models.modelnumber LIKE '%Micro%') "
End If
strSQL = strSQL & whereClause & "GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
strSQL = strSQL & whereClause & " GROUP BY m.machineid ORDER BY m.machinenumber ASC, m.hostname ASC"
set rs = objconn.Execute(strSQL)
while not rs.eof