Configure Dumper Statistic
This commit is contained in:
parent
8351350843
commit
bd7fb770f0
@ -1,7 +1,7 @@
|
||||
{
|
||||
"custom": {},
|
||||
"params": {
|
||||
"Tab_ID": 0,
|
||||
"Tab_ID": 1,
|
||||
"Table": "Statistics"
|
||||
},
|
||||
"propConfig": {
|
||||
@ -1140,7 +1140,7 @@
|
||||
},
|
||||
"onChange": {
|
||||
"enabled": null,
|
||||
"script": "\tpath \u003d \"\"\n\theaders \u003d []\n\tgraph \u003d []\n\t\n\tif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Count\":\n\t\tpath \u003d \"Dumper/Dumper Lane Count\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1\",\"Cycles of ULGL2\",\"Cycles of ULGL3\",\"Cycles of ULGL4\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\telif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Percentage\":\n\t\tpath \u003d \"Dumper/Dumper Lane Percent\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (%)\",\"Cycles of ULGL2 (%)\",\"Cycles of ULGL3 (%)\",\"Cycles of ULGL4 (%)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d 100\n\t\n\telse:\n\t\tpath \u003d \"Dumper/Dumper Lane Rate\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (cph)\",\"Cycles of ULGL2 (cph)\",\"Cycles of ULGL3 (cph)\",\"Cycles of ULGL4 (cph)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\tparams \u003d {\n\t\t\"starttime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.StartDate,\n\t\t\"endtime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.EndDate,\n\t\t\"dumper\": self.parent.parent.parent.getChild(\"Dumper Drop Down_0\").getChild(\"Dumper\").props.value\n\t}\t\n\t\n\tdata \u003d system.dataset.toPyDataSet(system.db.runNamedQuery(path, params))\n\t\n\tfor row in data:\t\n\t\tdict \u003d {}\n\t\tdict[\u0027Hour\u0027] \u003d row[\u0027Hour\u0027]\n\t\tdict[\u0027ULGL1\u0027] \u003d row[\u0027ULGL1\u0027]\n\t\tdict[\u0027ULGL2\u0027] \u003d row[\u0027ULGL2\u0027]\n\t\tdict[\u0027ULGL3\u0027] \u003d row[\u0027ULGL3\u0027]\n\t\tdict[\u0027ULGL4\u0027] \u003d row[\u0027ULGL4\u0027]\n\t\t\n\t\tgraph.append(dict)\n\t\n\t# GET CHART COMPONENT\n\tdumper_chart \u003d self.getSibling(\"Dumper_cycles\")\n\t\n\t# SOLUTION 1: Replace entire dataSources object (MOST RELIABLE)\n\tdumper_chart.props.dataSources \u003d {\"example\": graph}\n\t\n\t# SOLUTION 2: Update table data\n\tself.props.data \u003d system.dataset.toDataSet(headers, data)"
|
||||
"script": "\tpath \u003d \"\"\n\theaders \u003d []\n\tgraph \u003d []\n\t\n\tif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Count\":\n\t\tpath \u003d \"Dumper/Dumper Lane Count\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULC1\",\"Cycles of ULC2\",\"Cycles of ULC3\",\"Cycles of ULC4\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\telif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Percentage\":\n\t\tpath \u003d \"Dumper/Dumper Lane Percent\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULC1 (%)\",\"Cycles of ULC2 (%)\",\"Cycles of ULC3 (%)\",\"Cycles of ULC4 (%)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d 100\n\t\n\telse:\n\t\tpath \u003d \"Dumper/Dumper Lane Rate\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULC1 (cph)\",\"Cycles of ULC2 (cph)\",\"Cycles of ULC3 (cph)\",\"Cycles of ULC4 (cph)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\tparams \u003d {\n\t\t\"starttime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.StartDate,\n\t\t\"endtime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.EndDate,\n\t\t\"dumper\": self.parent.parent.parent.getChild(\"Dumper Drop Down_0\").getChild(\"Dumper\").props.value\n\t}\t\n\t\n\tdata \u003d system.dataset.toPyDataSet(system.db.runNamedQuery(path, params))\n\t\n\tfor row in data:\t\n\t\tdict \u003d {}\n\t\tdict[\u0027Hour\u0027] \u003d row[\u0027Hour\u0027]\n\t\tdict[\u0027ULC1\u0027] \u003d row[\u0027ULC1\u0027]\n\t\tdict[\u0027ULC2\u0027] \u003d row[\u0027ULC2\u0027]\n\t\tdict[\u0027ULC3\u0027] \u003d row[\u0027ULC3\u0027]\n\t\tdict[\u0027ULC4\u0027] \u003d row[\u0027ULC4\u0027]\n\t\t\n\t\tgraph.append(dict)\n\t\n\t# GET CHART COMPONENT\n\tdumper_chart \u003d self.getSibling(\"Dumper_cycles\")\n\t\n\t# SOLUTION 1: Replace entire dataSources object (MOST RELIABLE)\n\tdumper_chart.props.dataSources \u003d {\"example\": graph}\n\t\n\t# SOLUTION 2: Update table data\n\tself.props.data \u003d system.dataset.toDataSet(headers, data)"
|
||||
}
|
||||
},
|
||||
"custom.time": {
|
||||
@ -1159,7 +1159,7 @@
|
||||
"boolean": "checkbox",
|
||||
"dateFormat": "MM/DD/YYYY HH:mm:ss",
|
||||
"editable": false,
|
||||
"field": "ulgl1",
|
||||
"field": "ulc1",
|
||||
"footer": {
|
||||
"align": "center",
|
||||
"justify": "left",
|
||||
@ -1227,7 +1227,7 @@
|
||||
"boolean": "value",
|
||||
"dateFormat": "MM/DD/YYYY HH:mm:ss",
|
||||
"editable": false,
|
||||
"field": "ulgl1",
|
||||
"field": "ulc1",
|
||||
"footer": {
|
||||
"align": "center",
|
||||
"justify": "left",
|
||||
@ -1295,7 +1295,7 @@
|
||||
"boolean": "checkbox",
|
||||
"dateFormat": "MM/DD/YYYY HH:mm:ss",
|
||||
"editable": false,
|
||||
"field": "ulgl2",
|
||||
"field": "ulc2",
|
||||
"footer": {
|
||||
"align": "center",
|
||||
"justify": "left",
|
||||
@ -1363,7 +1363,7 @@
|
||||
"boolean": "checkbox",
|
||||
"dateFormat": "MM/DD/YYYY",
|
||||
"editable": false,
|
||||
"field": "ulgl3",
|
||||
"field": "ulc3",
|
||||
"footer": {
|
||||
"align": "center",
|
||||
"justify": "left",
|
||||
@ -1567,7 +1567,7 @@
|
||||
"boolean": "checkbox",
|
||||
"dateFormat": "MM/DD/YYYY",
|
||||
"editable": false,
|
||||
"field": "ulg4",
|
||||
"field": "ulc4",
|
||||
"filter": {
|
||||
"boolean": {
|
||||
"condition": ""
|
||||
@ -1659,37 +1659,49 @@
|
||||
"$": [
|
||||
"ds",
|
||||
192,
|
||||
1758706866228
|
||||
1760284942576
|
||||
],
|
||||
"$columns": [
|
||||
{
|
||||
"data": [],
|
||||
"data": [
|
||||
"2025-10-12 19:00"
|
||||
],
|
||||
"name": "Start Timestamp",
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"data": [],
|
||||
"data": [
|
||||
"H1"
|
||||
],
|
||||
"name": "Hour",
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"data": [],
|
||||
"name": "Cycles of ULGL1 (%)",
|
||||
"data": [
|
||||
null
|
||||
],
|
||||
"name": "Cycles of ULC1 (%)",
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"data": [],
|
||||
"name": "Cycles of ULGL2 (%)",
|
||||
"data": [
|
||||
null
|
||||
],
|
||||
"name": "Cycles of ULC2 (%)",
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"data": [],
|
||||
"name": "Cycles of ULGL3 (%)",
|
||||
"data": [
|
||||
null
|
||||
],
|
||||
"name": "Cycles of ULC3 (%)",
|
||||
"type": "String"
|
||||
},
|
||||
{
|
||||
"data": [],
|
||||
"name": "Cycles of ULGL4 (%)",
|
||||
"data": [
|
||||
null
|
||||
],
|
||||
"name": "Cycles of ULC4 (%)",
|
||||
"type": "String"
|
||||
}
|
||||
]
|
||||
@ -1724,7 +1736,15 @@
|
||||
},
|
||||
"props": {
|
||||
"dataSources": {
|
||||
"example": []
|
||||
"example": [
|
||||
{
|
||||
"Hour": "H1",
|
||||
"ULC1": null,
|
||||
"ULC2": null,
|
||||
"ULC3": null,
|
||||
"ULC4": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"enabled": false
|
||||
@ -1898,7 +1918,7 @@
|
||||
"y": ""
|
||||
}
|
||||
},
|
||||
"name": "ULGL1",
|
||||
"name": "ULC1",
|
||||
"render": "column",
|
||||
"stepLine": {
|
||||
"appearance": {
|
||||
@ -1983,7 +2003,7 @@
|
||||
"cornerRadius": 3,
|
||||
"enabled": true,
|
||||
"pointerLength": 4,
|
||||
"text": "ULGL1 (#): [bold]{valueY}[/]"
|
||||
"text": "ULC1 (#): [bold]{valueY}[/]"
|
||||
},
|
||||
"visible": true,
|
||||
"xAxis": "Hour",
|
||||
@ -2158,7 +2178,7 @@
|
||||
"y": ""
|
||||
}
|
||||
},
|
||||
"name": "ULGL2",
|
||||
"name": "ULC2",
|
||||
"render": "column",
|
||||
"stepLine": {
|
||||
"appearance": {
|
||||
@ -2243,7 +2263,7 @@
|
||||
"cornerRadius": 3,
|
||||
"enabled": true,
|
||||
"pointerLength": 4,
|
||||
"text": "ULGL2 (#): [bold]{valueY}[/]"
|
||||
"text": "ULC2 (#): [bold]{valueY}[/]"
|
||||
},
|
||||
"visible": true,
|
||||
"xAxis": "Hour",
|
||||
@ -2418,7 +2438,7 @@
|
||||
"y": ""
|
||||
}
|
||||
},
|
||||
"name": "ULGL3",
|
||||
"name": "ULC3",
|
||||
"render": "column",
|
||||
"stepLine": {
|
||||
"appearance": {
|
||||
@ -2503,7 +2523,7 @@
|
||||
"cornerRadius": 3,
|
||||
"enabled": true,
|
||||
"pointerLength": 4,
|
||||
"text": "ULGL3 (#): [bold]{valueY}[/]"
|
||||
"text": "ULC3 (#): [bold]{valueY}[/]"
|
||||
},
|
||||
"visible": true,
|
||||
"xAxis": "Hour",
|
||||
@ -2626,7 +2646,7 @@
|
||||
"y": ""
|
||||
}
|
||||
},
|
||||
"name": "ULGL4",
|
||||
"name": "ULC4",
|
||||
"render": "column",
|
||||
"stepLine": {
|
||||
"appearance": {
|
||||
@ -2711,7 +2731,7 @@
|
||||
"cornerRadius": 3,
|
||||
"enabled": true,
|
||||
"pointerLength": 4,
|
||||
"text": "ULGL4 (#): [bold]{valueY}[/]"
|
||||
"text": "ULC4 (#): [bold]{valueY}[/]"
|
||||
},
|
||||
"visible": true,
|
||||
"xAxis": "Hour",
|
||||
@ -2927,6 +2947,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"currentTabIndex": 1,
|
||||
"menuStyle": {
|
||||
"backgroundColor": "#FFFFFFBD",
|
||||
"fontSize": "1.0vmin",
|
||||
@ -5472,7 +5493,7 @@
|
||||
},
|
||||
"props": {
|
||||
"dismissOnSelect": false,
|
||||
"formattedValue": "Sep 24, 2025 12:41 PM",
|
||||
"formattedValue": "Oct 12, 2025 7:02 PM",
|
||||
"formattedValues": {
|
||||
"date": "Mar 26, 2021",
|
||||
"datetime": "Mar 26, 2021 12:00 AM",
|
||||
@ -5490,9 +5511,9 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1758706866224
|
||||
1760284943009
|
||||
],
|
||||
"$ts": 1758703266000
|
||||
"$ts": 1760281343000
|
||||
}
|
||||
},
|
||||
"type": "ia.input.date-time-input"
|
||||
@ -5643,7 +5664,7 @@
|
||||
},
|
||||
"props": {
|
||||
"dismissOnSelect": false,
|
||||
"formattedValue": "Sep 24, 2025 1:41 PM",
|
||||
"formattedValue": "Oct 12, 2025 8:02 PM",
|
||||
"formattedValues": {
|
||||
"date": "Mar 29, 2021",
|
||||
"datetime": "Mar 29, 2021 1:37 PM",
|
||||
@ -5661,9 +5682,9 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1758706866223
|
||||
1760284943106
|
||||
],
|
||||
"$ts": 1758706866000
|
||||
"$ts": 1760284943000
|
||||
}
|
||||
},
|
||||
"type": "ia.input.date-time-input"
|
||||
|
||||
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
{
|
||||
"scope": "G",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"data.bin"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-12T15:42:18Z"
|
||||
},
|
||||
"lastModificationSignature": "4504114d561ca43f62412a71d1219ce98b958493d5ac025dae704282be6328ed"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
{
|
||||
"scope": "G",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"data.bin"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-12T15:42:18Z"
|
||||
},
|
||||
"lastModificationSignature": "2ce3ba4cdd7f5ee49eb1dc1dce3533d4ae5c21ba5fe614e036b51136bb78a7f1"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
{
|
||||
"scope": "G",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"data.bin"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-12T15:43:43Z"
|
||||
},
|
||||
"lastModificationSignature": "ea17210d5fcdc9ef6529f51f389e4a8bee9b07605100c960bce054651c95cf10"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
{
|
||||
"scope": "G",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"data.bin"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-12T15:43:21Z"
|
||||
},
|
||||
"lastModificationSignature": "5ecf14b27628aceb2e660ed1f6861004d372c7ca64f69591bd804201adeae692"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,10 +2,10 @@ SELECT
|
||||
CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp,
|
||||
CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour,
|
||||
|
||||
SUM(dumper_cycles.ulgl1 = 1) AS ULGL1,
|
||||
SUM(dumper_cycles.ulgl2 = 1) AS ULGL2,
|
||||
SUM(dumper_cycles.ulgl3 = 1) AS ULGL3,
|
||||
SUM(dumper_cycles.ulgl4 = 1) AS ULGL4 -- <-- ADD THIS LINE
|
||||
SUM(dumper_cycles.ulc1 = 1) AS ULC1,
|
||||
SUM(dumper_cycles.ulc2 = 1) AS ULC2,
|
||||
SUM(dumper_cycles.ulc3 = 1) AS ULC3,
|
||||
SUM(dumper_cycles.ulc4 = 1) AS ULC4 -- <-- ADD THIS LINE
|
||||
|
||||
FROM dumper_cycles
|
||||
WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
|
||||
|
||||
@ -2,10 +2,10 @@ SELECT
|
||||
CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp,
|
||||
CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour,
|
||||
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulgl1 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL1,
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulgl2 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL2,
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulgl3 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL3,
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulgl4 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL4 -- <-- ADD THIS LINE
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulc1 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC1,
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulc2 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC2,
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulc3 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC3,
|
||||
CONCAT(ROUND(SUM(dumper_cycles.ulc4 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC4 -- <-- ADD THIS LINE
|
||||
|
||||
FROM dumper_cycles
|
||||
WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
|
||||
|
||||
@ -2,10 +2,10 @@ SELECT
|
||||
CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp,
|
||||
CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour,
|
||||
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulgl1 = 1) AS CHAR),' cph') AS ULGL1,
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulgl2 = 1) AS CHAR),' cph') AS ULGL2,
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulgl3 = 1) AS CHAR),' cph') AS ULGL3,
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulgl4 = 1) AS CHAR),' cph') AS ULGL4 -- <-- ADD THIS LINE
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulc1 = 1) AS CHAR),' cph') AS ULC1,
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulc2 = 1) AS CHAR),' cph') AS ULC2,
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulc3 = 1) AS CHAR),' cph') AS ULC3,
|
||||
CONCAT(CAST(SUM(dumper_cycles.ulc4 = 1) AS CHAR),' cph') AS ULC4 -- <-- ADD THIS LINE
|
||||
|
||||
FROM dumper_cycles
|
||||
WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user