--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/prod_reduce.php Wed Feb 13 20:28:54 2019 +0100 @@ -0,0 +1,211 @@ +<?php + +require_once('config.php'); + +#Connect to the database +$connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); +if (! $connect) { + die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); +} +mysqli_set_charset($connect, "utf8" ); + +if (isset($_POST['reduce']) && isset($_POST['uuid'])) { + $sql1 = "SELECT * FROM products WHERE uuid = '" . $_POST['uuid'] . "';"; +} else { + exit; +} + +//syslog(LOG_NOTICE, $sql1); + +$result1 = mysqli_query($connect, $sql1) or die("SQL Error 1: " . mysqli_error($connect)); +while ($row = mysqli_fetch_array($result1, MYSQLI_ASSOC)) { + + if ($row['stage'] < 6) { + syslog(LOG_NOTICE, "code: " . $row['code'] . " cannot reduce inventory, not yet packaged."); + exit; + } + if ($row['inventory_reduced']) { + syslog(LOG_NOTICE, "code: " . $row['code'] . " cannot reduce inventory, already reduced."); + exit; + } + + syslog(LOG_NOTICE, "Start reducing inventory from ". $row['code'].' '.$row['name']); + + $fermentables = json_decode($row['json_fermentables'], true); + for ($i = 0; $i < count($fermentables); $i++) { + + $sql2 = "UPDATE inventory_fermentables SET inventory = inventory - " . $fermentables[$i]['f_amount']; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_name']); + $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_origin']); + $sql2 .= "' AND supplier='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_supplier']); + $sql2 .= "' AND inventory >= " . $fermentables[$i]['f_amount']; + $sql2 .= " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' with ".$fermentables[$i]['f_amount']." kg"); + } else if ($ar == 0) { + $sql2 = "UPDATE inventory_fermentables SET inventory = 0"; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_name']); + $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_origin']); + $sql2 .= "' AND supplier='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_supplier']); + $sql2 .= "' AND inventory < " . $fermentables[$i]['f_amount']; + $sql2 .= " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' to 0 kg"); + } else if ($ar == 0) { + syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' failed"); + } +// syslog(LOG_NOTICE, "affected rows: ".$ar); + } + } + + $hops = json_decode($row['json_hops'], true); + for ($i = 0; $i < count($hops); $i++) { + + $sql2 = "UPDATE inventory_hops SET inventory = inventory - " . $hops[$i]['h_amount']; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $hops[$i]['h_name']); + $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $hops[$i]['h_origin']); + $sql2 .= "' AND form=" . $hops[$i]['h_form']; + $sql2 .= " AND inventory >= " . $hops[$i]['h_amount'] . " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' with ".$hops[$i]['h_amount']." kg"); + } else if ($ar == 0) { + $sql2 = "UPDATE inventory_hops SET inventory = 0"; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $hops[$i]['h_name']); + $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $hops[$i]['h_origin']); + $sql2 .= "' AND form=" . $hops[$i]['h_form']; + $sql2 .= " AND inventory < " . $hops[$i]['h_amount'] . " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' to 0 kg"); + } else if ($ar == 0) { + syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' failed"); + } + } + } + + $miscs = json_decode($row['json_miscs'], true); + for ($i = 0; $i < count($miscs); $i++) { + + $sql2 = "UPDATE inventory_miscs SET inventory = inventory - " . $miscs[$i]['m_amount']; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $miscs[$i]['m_name']); + $sql2 .= "' AND inventory >= " . $miscs[$i]['m_amount'] . " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' with ".$miscs[$i]['m_amount']); + } else if ($ar == 0) { + $sql2 = "UPDATE inventory_miscs SET inventory = 0"; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $miscs[$i]['m_name']); + $sql2 .= "' AND inventory < " . $miscs[$i]['m_amount'] . " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' to 0"); + } else if ($ar == 0) { + syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' failed"); + } + } + } + + $yeasts = json_decode($row['json_yeasts'], true); + for ($i = 0; $i < count($yeasts); $i++) { + + $sql2 = "UPDATE inventory_yeasts SET inventory = inventory - " . $yeasts[$i]['y_amount']; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_name']); + $sql2 .= "' AND laboratory='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_laboratory']); + $sql2 .= "' AND product_id='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_product_id']); + $sql2 .= "' AND form=" . $yeasts[$i]['y_form']; + $sql2 .= " AND inventory >= " . $yeasts[$i]['y_amount'] . " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' with ".$yeasts[$i]['y_amount']); + } else if ($ar == 0) { + $sql2 = "UPDATE inventory_yeasts SET inventory = 0"; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_name']); + $sql2 .= "' AND laboratory='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_laboratory']); + $sql2 .= "' AND product_id='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_product_id']); + $sql2 .= "' AND form=" . $yeasts[$i]['y_form']; + $sql2 .= " AND inventory < " . $yeasts[$i]['y_amount'] . " LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' to 0"); + } else if ($ar == 0) { + syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' failed"); + } + } + } + + if ($row['w1_name'] != '') { + $sql2 = "UPDATE inventory_waters SET inventory = inventory - ".$row['w1_amount']; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w1_name']); + $sql2 .= "' AND unlimited_stock=0 AND inventory >= ".$row['w1_amount']." LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' with ".$row['w1_amount']." liter"); + } else if ($ar == 0) { + $sql2 = "UPDATE inventory_waters SET inventory = 0"; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w1_name']); + $sql2 .= "' AND unlimited_stock=0 AND inventory < ".$row['w1_amount']." LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' to 0 liters"); + } else { + syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' failed or tapwater"); + } + } + } + if ($row['w2_name'] != '') { + $sql2 = "UPDATE inventory_waters SET inventory = inventory - ".$row['w2_amount']; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w2_name']); + $sql2 .= "' AND unlimited_stock=0 AND inventory >= ".$row['w2_amount']." LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' with ".$row['w2_amount']." liter"); + } else if ($ar == 0) { + $sql2 = "UPDATE inventory_waters SET inventory = 0"; + $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w2_name']); + $sql2 .= "' AND unlimited_stock=0 AND inventory < ".$row['w2_amount']." LIMIT 1;"; +// syslog(LOG_NOTICE, $sql2); + $result2 = mysqli_query($connect, $sql2); + $ar = mysqli_affected_rows($connect); + if ($ar == 1) { + syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' to 0 liters"); + } else { + syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' failed or tapwater"); + } + } + } + + syslog(LOG_NOTICE, "Finished reducing inventory from ". $row['code'].' '.$row['name']); + mysqli_free_result($result1); + + $sql1 = "UPDATE products SET inventory_reduced=1 WHERE uuid = '" . $_POST['uuid'] . "';"; + //syslog(LOG_NOTICE, $sql1); + $result1 = mysqli_query($connect, $sql1); + $ar = mysqli_affected_rows($connect); +} + +exit(0);