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>
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
<%
|
||||
|
||||
strSQL2 = "SELECT sum(case when appid = '42' then 1 else 0 end) AS ma3count," &_
|
||||
"(SELECT COUNT(*) FROM machines WHERE machines.isactive=1 AND machines.islocationonly=0) AS machinecount "& _
|
||||
' Count only PCs (pctypeid IS NOT NULL) for MA3 stats
|
||||
strSQL2 = "SELECT COALESCE(sum(case when appid = '42' then 1 else 0 end), 0) AS ma3count," &_
|
||||
"(SELECT COUNT(*) FROM machines WHERE machines.isactive=1 AND machines.pctypeid IS NOT NULL) AS machinecount "& _
|
||||
"FROM installedapps WHERE appid=42 and installedapps.isactive=1"
|
||||
set rs2 = objconn.Execute(strSQL2)
|
||||
ma3count = rs2("ma3count")
|
||||
machinecount = rs2("machinecount")
|
||||
If IsNull(ma3count) Or ma3count = "" Then ma3count = 0
|
||||
If IsNull(machinecount) Or machinecount = "" Or CInt(machinecount) = 0 Then machinecount = 1
|
||||
ma2count = CInt(machinecount) - CInt(ma3count)
|
||||
ma3pct = FormatNumber(CInt(ma3count)/Cint(machinecount)*100,2)
|
||||
ma2pct = FormatNumber(CInt(ma2count)/Cint(machinecount)*100,2)
|
||||
|
||||
@@ -2,15 +2,18 @@
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
|
||||
<%
|
||||
|
||||
strSQL = "SELECT sum(case when appid = '4' then 1 else 0 end) AS clmcount," &_
|
||||
"sum(case when appid = '2' then 1 else 0 end) AS udccount, "&_
|
||||
"(SELECT COUNT(*) FROM machines WHERE machines.isactive=1 AND machines.islocationonly=0) AS machinecount "& _
|
||||
' Count only PCs (pctypeid IS NOT NULL) for UDC/CLM stats
|
||||
strSQL = "SELECT COALESCE(sum(case when appid = '4' then 1 else 0 end), 0) AS clmcount," &_
|
||||
"COALESCE(sum(case when appid = '2' then 1 else 0 end), 0) AS udccount, "&_
|
||||
"(SELECT COUNT(*) FROM machines WHERE machines.isactive=1 AND machines.pctypeid IS NOT NULL) AS machinecount "& _
|
||||
"FROM installedapps WHERE appid IN (2,4) and installedapps.isactive=1"
|
||||
set rs = objconn.Execute(strSQL)
|
||||
clmcount = rs("clmcount")
|
||||
udccount = rs("udccount")
|
||||
machinecount = rs("machinecount")
|
||||
If IsNull(clmcount) Or clmcount = "" Then clmcount = 0
|
||||
If IsNull(udccount) Or udccount = "" Then udccount = 0
|
||||
If IsNull(machinecount) Or machinecount = "" Or CInt(machinecount) = 0 Then machinecount = 1
|
||||
nocollections = CInt(machinecount) - CInt(clmcount) - CInt(udccount)
|
||||
udcpct = FormatNumber(CInt(udccount)/Cint(machinecount)*100,2)
|
||||
clmpct = FormatNumber(CInt(clmcount)/Cint(machinecount)*100,2)
|
||||
|
||||
Reference in New Issue
Block a user