Wed, 23 Oct 2019 14:20:50 +0200
Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
<?php require($_SERVER['DOCUMENT_ROOT']."/config.php"); require($_SERVER['DOCUMENT_ROOT']."/version.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" ); $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c"); $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b"); $query = "SELECT * FROM profile_setup WHERE record='1'"; if (isset($_POST['update'])) { /* Search water record */ $result = mysqli_query($connect, "SELECT record FROM inventory_waters WHERE name='".$_POST['default_water']."';"); if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) $default_water = $row['record']; else $default_water = 0; $sql = "UPDATE `profile_setup` SET "; $sql .= "brewery_name='" . mysqli_real_escape_string($connect, $_POST['brewery_name']); $sql .= "', factor_mashhop='" . $_POST['factor_mashhop']; $sql .= "', factor_fwh='" . $_POST['factor_fwh']; $sql .= "', factor_pellet='" . $_POST['factor_pellet']; $sql .= "', factor_plug='" . $_POST['factor_plug']; $sql .= "', factor_wethop='" . $_POST['factor_wethop']; $sql .= "', factor_cryohop='" . $_POST['factor_cryohop']; $sql .= "', color_method='" . $_POST['color_method']; $sql .= "', ibu_method='" . $_POST['ibu_method']; $sql .= "', brix_correction='" . $_POST['brix_correction']; $sql .= "', grain_absorbtion='" . $_POST['grain_absorbtion']; $sql .= "', default_water='" . $default_water; $sql .= "' WHERE record='1';"; //syslog(LOG_NOTICE, $sql); $result = mysqli_query($connect, $sql); if (! $result) { syslog(LOG_NOTICE, "db_profile_setup: ".$sql." result: ".mysqli_error($connect)); } else { syslog(LOG_NOTICE, "db_profile_setup: updated record 1"); } echo $result; } else { $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { /* search water name */ $wresult = mysqli_query($connect, "SELECT name FROM inventory_waters WHERE record='".$row['default_water']."';"); if ($wrow = mysqli_fetch_array($wresult, MYSQLI_ASSOC)) $default_water = $wrow['name']; else $default_water = ''; $data = '{"record":' . $row['record']; $data .= ',"brewery_name":"' . str_replace($escapers, $replacements, $row['brewery_name']); $data .= '","factor_mashhop":' . $row['factor_mashhop']; $data .= ',"factor_fwh":' . $row['factor_fwh']; $data .= ',"factor_pellet":' . $row['factor_pellet']; $data .= ',"factor_plug":' . $row['factor_plug']; $data .= ',"factor_wethop":' . $row['factor_wethop']; $data .= ',"factor_cryohop":' . $row['factor_cryohop']; $data .= ',"ibu_method":' . $row['ibu_method']; $data .= ',"color_method":' . $row['color_method']; $data .= ',"brix_correction":' . floatval($row['brix_correction']); $data .= ',"grain_absorbtion":' . floatval($row['grain_absorbtion']); $data .= ',"default_water":"' . str_replace($escapers, $replacements, $default_water); $data .= '"}'; } header("Content-type: application/json"); echo $data; } ?>