Files
2026-02-17 09:29:34 -06:00

629 lines
26 KiB
PHP

<?php
// phpcs:ignoreFile
use JsonException;
use RuntimeException;
$configuredBaseUrl = getenv('192.168.0.10');
if ($configuredBaseUrl !== false && $configuredBaseUrl !== '') {
$baseUrl = rtrim($configuredBaseUrl, '/');
$endpointUrl = $baseUrl . '192.168.0.10/shared-endpoint/public/index.php';
$scheme = parse_url($endpointUrl, PHP_URL_SCHEME) ?: 'http';
} else {
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
$isHttps = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || ($_SERVER['SERVER_PORT'] ?? null) === '443';
$scheme = $isHttps ? 'https' : 'http';
$endpointUrl = sprintf('%s://192.168.0.10/shared-endpoint/public/index.php', $scheme, $host);
}
$context = null;
if (strcasecmp($scheme, 'https') === 0) {
$host = parse_url($endpointUrl, PHP_URL_HOST) ?: 'localhost';
if (in_array($host, ['localhost', '127.0.0.1'], true)) {
$context = stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
]);
}
}
$response = @file_get_contents($endpointUrl, false, $context ?: null);
if ($response === false && strcasecmp($scheme, 'https') === 0) {
$fallbackUrl = preg_replace('#^https#i', 'http', $endpointUrl);
$response = @file_get_contents($fallbackUrl);
if ($response !== false) {
$endpointUrl = $fallbackUrl;
}
}
if ($response === false) {
throw new RuntimeException('Unable to reach shared endpoint: ' . $endpointUrl);
}
try {
$payload = json_decode($response, true, flags: JSON_THROW_ON_ERROR);
} catch (JsonException $exception) {
throw new RuntimeException('Malformed JSON from shared endpoint', 0, $exception);
}
if (($payload['status'] ?? null) !== 'ok') {
$message = $payload['message'] ?? 'unknown error';
throw new RuntimeException('Shared endpoint returned an error: ' . $message);
}
if (!isset($payload['items']) || !is_array($payload['items'])) {
$snippet = substr(strip_tags($response), 0, 200);
throw new RuntimeException('Shared endpoint response missing items. Snippet: ' . $snippet);
}
$roundedid = [];
$rounded = [];
$rounded1 = [];
$ID = [];
$value = [];
foreach ($payload['items'] as $item) {
$tagKey = str_pad((string) $item['tagId'], 5, '0', STR_PAD_LEFT);
$value[$item['name']] = $item['value'];
$rounded[$item['name']] = $item['rounded1'];
$rounded1[$item['name']] = $item['rounded2'];
$roundedid[$tagKey] = $item['rounded2'];
$ID[$tagKey] = $item['value'];
}
$unixtime=time();
$unix5am=mktime(10, 00, 00);
if ($unixtime<=$unix5am) {
$unixtime += 86400;
}
$since5am=($unixtime-$unix5am)/3600;
$avgtonstoday=round($value['W TONS GROUND']/$since5am*24, 0);
ob_start();
?>
<table width="100%" border="1" cellspacing="0" cellpadding="4">
<tr>
<td colspan="4" id="title">Steam</td>
</tr>
<tr>
<td id="vtitle" >Exhaust Pressure:</a></td>
<td colspan="2" id="sum-count"><?php echo $roundedid['00302']; ?></td>
<td id="vtitle">PSI</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Live Steam Pressure:</a></td>
<td colspan="2" id="sum-count"><?php echo $value['PT_001']; ?></td>
<td colspan="2" id="vtitle">PSI</a></td>
</tr>
<tr>
<td colspan="4" id="title">Tank Levels</td>
</tr>
<tr>
<td id="vtitle" >Juice Tank 1 Level:</td>
<td colspan="3" ><progress id="progresstanks" data-label="<?php echo $value['Juice Tank1']; ?>%" max="100" value="<?php echo $value['Juice Tank1']; ?>"></progress></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Juice Tank 2 Level:</td>
<td colspan="3" align="left"><progress id="progresstanks" data-label="<?php echo $value['Juice Tank2']; ?>%" max="100" value="<?php echo $value['Juice Tank2']; ?>"></progress></td
</tr>
<tr>
<td id="vtitle" id="padded">Total Syrup:</a></td>
<td colspan="3"><progress id="progresstanks" data-label="<?php echo round(($value['Syrup Overflow Lvl']*.82569)+($value['Syrup RCVR']*.17431), 0); ?>%" max="100" value="<?php echo round(($value['Syrup Overflow Lvl']*.82569)+($value['Syrup RCVR']*.17431), 0); ?>"></meter></td>
</tr>
<td colspan="4" id="title">YTD Grinding Info</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">Total <font size="" color="0eb31d"><b><?php require "../includes/milltotal.php";?></b></font> Tons Ground</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">East Mills <font size="" color="0eb31d"><b><?php require "../includes/easttotal.php";?></b></font> Tons Ground</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">West Mills <font size="" color="0eb31d"><b><?php require "../includes/westtotal.php";?></b></font> Tons Ground</td>
</tr>
<tr>
<td colspan="4" id="title">Daily Grinding Totals</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">Record Of <font size="" color="0eb31d"><b><?php require "../includes/record.php";?></b></font> Tons On <font size="" color="0eb31d"><b><?php require "../includes/recorddate.php";?></b></font></td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">Total Of <font size="" color="0eb31d"><b><?php echo ($value['PREVTONS'] + $value['WPREVGROUND']); ?></b></font> Tons Ground Yesterday</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">Total Of <font size="" color="0eb31d"><b><?php echo ($value['CANETOT'] + $value['W TONS GROUND']); ?></b></font> Tons Ground</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">Total Of <font size="" color="0eb31d"><b><?php require "../includes/millprojected60min.php";?></b></font> Tons Projected</td>
</tr>
<tr>
<td colspan="4" id="total-tons" align="center">Total Rate Of <font size="" color="0eb31d"><b><?php require "../includes/stablerate30.php";?></b></font> Tons/HR</td>
</tr>
<tr>
<tr class="milling-alt-row">
<td id="vtitle" ></td>
<td id="sum-count">East</td>
<td id="sum-count">West</td>
<td id="vtitle"></td>
</tr>
<tr>
<td id="vtitle" >Tons Per Hour:</a></td>
<td id="sum-count"><?php echo $value['TONS_PER_HOUR']; ?></td>
<td id="sum-count"> <?php echo $value['RATE']; ?></td>
<td id="vtitle">Tons/Hr</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Avg Tons Per Hour:</a></td>
<td id="sum-count"><?php require "../includes/east15minavg.php";?></td>
<td id="sum-count"><?php require "../includes/west15minavg.php";?></td>
<td id="vtitle">Tons/15</a></td>
</tr>
<tr>
<td id="vtitle" >Tons Ground:</a></td>
<td id="sum-count"><?php echo $value['CANETOT']; ?></td>
<td id="sum-count"><?php echo $value['W TONS GROUND']; ?> </td>
<td id="vtitle">Tons</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >AVG TCD:</a></td>
<td id="sum-count"><?php echo $value['AVGTCD']; ?></td>
<td id="sum-count"> <?php echo $avgtonstoday; ?></td>
<td id="vtitle">Tons</a></td>
</tr>
<tr>
<td id="vtitle" >Run Hours Today:</a></td>
<td id="sum-count"><?php echo $rounded['RUNHRSTODAY']; ?></td>
<td id="sum-count"><?php echo $value['todayrun'] / (10); ?></td>
<td id="vtitle">Hours</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Loss Time Today:</a></td>
<td id="sum-count"><?php echo $rounded['LOSSTIME']; ?></td>
<td id="sum-count"><?php echo $value['todayloss'] / (10); ?></td>
<td id="vtitle">Hours</a></td>
</tr>
<tr>
<td id="vtitle" >Previous Day TCD:</a></td>
<td id="sum-count"><?php echo $value['PREVTONS']; ?></td>
<td id="sum-count"><?php echo $value['WPREVGROUND']; ?></td>
<td id="vtitle">Tons</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Previous Day Run Hours:</a></td>
<td id="sum-count"><?php echo $value['PREVTIME']; ?></td>
<td id="sum-count"><?php // echo $value['WPREVTIME'] / (10 ** $d); ?></td>
<td id="vtitle">Hours</a></td>
</tr>
<tr>
<td id="vtitle" >Previous Day PPH/Ton:</a></td>
<td id="sum-count"><?php echo $value['LBSPERHR']; ?></td>
<td id="sum-count"> </td>
<td id="vtitle">PPH/Ton</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Previous Day IMB 5:</a></td>
<td id="sum-count"><?php echo round($value['EIMB5PrevDay'] * 8.34 / 2000); ?></td>
<td id="sum-count"> </td>
<td id="vtitle">Tons</a></td>
</tr>
<tr>
<td id="vtitle" >Previous Day IMB 6:</a></td>
<td id="sum-count"><?php echo round($value['EIMB6PrevDay'] * 8.34 / 2000); ?></td>
<td id="sum-count"> </td>
<td id="vtitle">Tons</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Imibition 5 Flow:</a></td>
<td id="sum-count"><?php echo $value['IMB5Flow']; ?></td>
<td id="sum-count"><?php echo $value['WMillIMBFlow']; ?> </td>
<td id="vtitle">GPM</a></td>
</tr>
<tr>
<td id="vtitle" >Imibition 5 Total:</a></td>
<td id="sum-count"><?php echo $value['IMB5TOT']; ?></td>
<td id="sum-count"></td>
<td id="vtitle">GPM</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Imibition 6 Flow:</a></td>
<td id="sum-count"><?php echo $value['IMB6Flow']; ?></td>
<td id="sum-count"> </td>
<td id="vtitle">GPM</a></td>
</tr>
<tr>
<td id="vtitle" >Imibition 6 Total:</a></td>
<td id="sum-count"><?php echo $value['IMB6TOT']; ?></td>
<td id="sum-count"></td>
<td id="vtitle">GPM</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Imibition 5 SP:</a></td>
<td id="sum-count"><?php echo $ID['00164']; ?></td>
<td id="sum-count"><?php echo $value['WMillIMBSP']; ?></td>
<td id="vtitle">GPM</a></td>
</tr>
<tr>
<td id="vtitle" >Imibition 6 SP:</a></td>
<td id="sum-count"><?php echo $value['IMB6SP']; ?></td>
<td id="sum-count"> </td>
<td id="vtitle">GPM</a></td>
</tr>
<tr>
<td colspan="4" id="title">Main Carrier</td>
</tr>
<tr>
<td id="vtitle" ></td>
<td id="sum-count">East</td>
<td id="sum-count">West</td>
<td id="vtitle"></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >MCC FPM:</a></td>
<td id="sum-count"><?php echo $value['MAINSPD']; ?></td>
<td id="sum-count"><?php echo $value['Feet/Minute']; ?></td>
<td id="vtitle">FPM</a></td>
</tr>
<tr>
<td id="vtitle" >MCC Output:</a></td>
<td id="sum-count"><?php echo $value['MCCOUTPUT']; ?></td>
<td id="sum-count"><?php echo $value['Output']; ?></td>
<td id="vtitle">%</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >MCC Tons:</a></td>
<td id="sum-count"><?php echo $rounded1['MCCTONS']; ?></td>
<td id="sum-count"> </td>
<td id="vtitle">Tons</a></td>
</tr>
<tr>
<td colspan="4" id="title">Mill 1</td>
</tr>
<tr>
<td id="vtitle" >Chute Level:</a></td>
<td id="sum-count"><?php echo $ID['00350']; ?></td>
<td id="sum-count"><?php echo $ID['00914']; ?></td>
<td id="vtitle">%</a></td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</a></td>
<td id="sum-count"><?php echo $value['MILL1PRES']; ?></td>
<td id="vtitle">PSI</a></td>
</tr>
-->
<tr class="milling-alt-row">
<td id="vtitle" >Turbin Speed:</a></td>
<td id="sum-count"><?php echo $value['EMILL1RPM']; ?></td>
<td id="sum-count"><?php echo $ID['00926']; ?></td>
<td id="vtitle">RPM</a></td>
</tr>
<tr>
<td id="vtitle" >Turbin Output:</a></td>
<td id="sum-count"><?php echo $value['MILL1OUTPUT']; ?></td>
<td id="sum-count"> </td>
<td id="vtitle">%</a></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Set Point East:</td>
<?php
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 1) {
echo "<td colspan=\"2\" id=\"sum-count\" >".$value['WEIGHT_WSP']."</font></td>";
}
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 0) {
echo "<td colspan=\"2\" id=\"sum-count\">".$value['MILL1WSP']."</font></td>";
}
?>
<?php
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 1) {
echo "<td id=\"vtitle\">Tons/Hr</font></td>";
}
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 0) {
echo "<td id=\"vtitle\">%</font></td>";
}
?>
</tr><tr>
<td id="vtitle" >Set Point West:</td>
<?php
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 1) {
echo "<td colspan=\"2\" id=\"sum-count\" > </font></td>";
}
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 0) {
echo "<td colspan=\"2\" id=\"sum-count\"> </font></td>";
}
?>
<?php
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 1) {
echo "<td id=\"vtitle\">Tons/Hr</font></td>";
}
if ($value['LEVEL_THROUGHPUT_SWITCH'] == 0) {
echo "<td id=\"vtitle\">%</font></td>";
}
?>
</tr>
<tr>
<?php
if ($value['MILL1AUTOMAN1'] == 1) {
echo "<td colspan=\"4\" id=\"gopen\">Auto</td>";
}
if ($value['MILL1AUTOMAN1'] == 0) {
echo "<td colspan=\"4\" id=\"gclose\">Manual</td>";
}
?>
</tr>
<tr>
<td colspan="4" id="title">Mill 2</td>
</tr>
<tr>
<td id="vtitle" ></td>
<td id="sum-count">East</td>
<td id="sum-count">West</td>
<td id="vtitle"></td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Chute Level:</td>
<td id="sum-count"><?php echo $value['M2LVL']; ?></td>
<td id="sum-count"><?php echo $ID['00916']; ?></td>
<td id="vtitle">%</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['MIL2PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr>
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['EMILL2RPM']; ?></td>
<td id="sum-count"><?php echo $ID['00930']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td colspan="4" id="title">Mill 3</td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Chute Level:</td>
<td id="sum-count"><?php echo $value['MIL3LVL']; ?></td>
<td id="sum-count"><?php echo $ID['01020']; ?></td>
<td id="vtitle">%</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['MIL3PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr>
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['EMILL3RPM']; ?></td>
<td id="sum-count"><?php echo $value['W3RPM']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td colspan="4" id="title">Mill 4</td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Chute Level:</td>
<td id="sum-count"><?php echo $value['MIL4LVL']; ?></td>
<td id="sum-count"><?php echo $ID['00918']; ?></td>
<td id="vtitle">%</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['MIL4PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr>
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['EMILL4RPM']; ?></td>
<td id="sum-count"><?php echo $ID['00934']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td colspan="4" id="title">Mill 5</td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Chute Level:</td>
<td id="sum-count"><?php echo $value['MIL5LVL']; ?></td>
<td id="sum-count"><?php echo $ID['00920']; ?></td>
<td id="vtitle">%</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['MIL5PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr>
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['EMILL5RPM']; ?></td>
<td id="sum-count"><?php echo $ID['00940']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td colspan="4" id="title">Mill 6</td>
</tr>
<tr class="milling-alt-row">
<td id="vtitle" >Chute Level:</td>
<td colspan="2" id="sum-count"><?php echo $value['MIL6LVL']; ?></td>
<td id="vtitle">%</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['MIL6PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr>
<td id="vtitle" >Turbin Speed:</td>
<td colspan="2" id="sum-count"><?php echo $value['EMILL6RPM']; ?></td>
<td id="vtitle">RPM</td>
</tr>
</table>
<br>
<table class="col-4" border="1" cellspacing="0" cellpadding="4">
<tr>
<td colspan="3" id="title">Shredder</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['KNIFE3PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr>
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['shredderrpm']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<!--
<tr>
<td id="vtitle" >Output:</td>
<td id="sum-count"><?php // echo 0; ?></td>
<td id="vtitle">%</td>
</tr>
-->
<tr>
<?php
if ($value['KC3'] == 1) {
echo "<td colspan=\"3\" id=\"gopen\">Control</td>";
}
if ($value['KC3'] == 0) {
echo "<td colspan=\"3\" id=\"gclose\">Knife</td>";
}
?>
</tr>
</table>
<table class="col-4" border="1" cellspacing="0" cellpadding="4">
<tr>
<td colspan="3" id="title">Knife 1</td>
</tr>
<!--
<tr>
<td id="vtitle">Ring Pressure:</a></td>
<td id="sum-count"><?php echo $value['KNIFE1PRES']; ?></td>
<td id="vtitle">PSI</a></td>
</tr>
-->
<tr class="milling-alt-row">
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['K1SPD']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td id="vtitle" >Output:</td>
<td id="sum-count"><?php echo $value['KNIFE1OP']; ?></td>
<td id="vtitle">%</td>
</tr>
<tr>
<?php
if ($value['KC1'] == 1) {
echo "<td colspan=\"3\" id=\"gopen\">Control</td>";
}
if ($value['KC1'] == 0) {
echo "<td colspan=\"3\" id=\"gclose\">Knife</td>";
}
?>
</tr>
</table>
<table class="col-4" border="1" cellspacing="0" cellpadding="4">
<tr>
<td colspan="4" id="title">Knife 2</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['KNIFE2PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr class="milling-alt-row">
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['KNF2SPD']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td id="vtitle" >Output:</td>
<td id="sum-count"><?php echo $value['KNIFE2OP']; ?></td>
<td id="vtitle">%</td>
</tr>
<tr>
<?php
if ($value['KC2'] == 1) {
echo "<td colspan=\"3\" id=\"gopen\">Control</td>";
}
if ($value['KC2'] == 0) {
echo "<td colspan=\"3\" id=\"gclose\">Knife</td>";
}
?>
</tr>
</table>
<table class="col-4" border="1" cellspacing="0" cellpadding="4">
<tr>
<td colspan="3" id="title">Knife 3</td>
</tr>
<!--
<tr>
<td id="vtitle" >Ring Pressure:</td>
<td id="sum-count"><?php echo $value['KNIFE3PRES']; ?></td>
<td id="vtitle">PSI</td>
</tr>
-->
<tr class="milling-alt-row">
<td id="vtitle" >Turbin Speed:</td>
<td id="sum-count"><?php echo $value['KNF3SPD']; ?></td>
<td id="vtitle">RPM</td>
</tr>
<tr>
<td id="vtitle" >Output:</td>
<td id="sum-count"><?php echo $value['KNIFE3OP']; ?></td>
<td id="vtitle">%</td>
</tr>
<tr>
<?php
if ($value['KC3'] == 1) {
echo "<td colspan=\"3\" id=\"gopen\">Control</td>";
}
if ($value['KC3'] == 0) {
echo "<td colspan=\"3\" id=\"gclose\">Knife</td>";
}
?>
</tr>
</table>
<?php
$payload = ob_get_clean();
$etag = '"' . md5($payload) . '"';
$clientEtag = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? trim($_SERVER['HTTP_IF_NONE_MATCH']) : null;
if ($clientEtag && $clientEtag === $etag) {
header('HTTP/1.1 304 Not Modified');
header('Cache-Control: no-cache, must-revalidate');
header('ETag: ' . $etag);
exit;
}
header('Cache-Control: no-cache, must-revalidate');
header('Content-Type: text/html; charset=utf-8');
header('ETag: ' . $etag);
echo $payload;