Files
shopdb/charts/ma3chart.asp
cproudlock 7b6ae1ad4c 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

78 lines
2.5 KiB
Plaintext

<%
' 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)
%>
<script>
$(function() {
var ctx2 = document.getElementById("chart2").getContext('2d');
var myChart2 = new Chart(ctx2, {
type: 'doughnut',
data: {
labels: ["Machine Auth 3", "Machine Auth 2"],
datasets: [{
backgroundColor: [
"rgba(255, 255, 255, 0.70)",
"rgba(255, 255, 255, 0.20)"
],
data: [<%Response.Write(ma3count)%>,<%Response.Write(ma2count)%>],
borderWidth: [1, 1]
}]
},
options: {
maintainAspectRatio: false,
legend: {
position :"bottom",
display: false,
labels: {
fontColor: '#ddd',
boxWidth:15
}
}
,
tooltips: {
displayColors:false
}
}
});
});
</script>
<div class="col-lg-4">
<div class="card">
<div class="card-header">Machine Auth 3.1
<div class="card-action">
</div>
</div>
<div class="card-body">
<div class="chart-container-1">
<canvas id="chart2"></canvas>
</div>
</div>
<div class="table-responsive">
<table class="table align-items-center">
<tbody>
<tr>
<td><i class="fa fa-circle text-white mr-2"></i>Machine Auth 3.0</td>
<td><%Response.Write(ma3count)%></td>
<td><%Response.Write(ma3pct)%>%</td>
</tr>
<tr>
<td><i class="fa fa-circle text-light-1 mr-2"></i>Machine Auth 2.0</td>
<td><%Response.Write(ma2count)%></td>
<td><%Response.Write(ma2pct)%>%</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>