www/prod_reduce.php

changeset 356
36c72e368948
parent 355
64d6f3c857d7
child 357
74d56bed75b9
equal deleted inserted replaced
355:64d6f3c857d7 356:36c72e368948
1 <?php
2
3 require_once('config.php');
4
5 #Connect to the database
6 $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
7 if (! $connect) {
8 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
9 }
10 mysqli_set_charset($connect, "utf8" );
11
12 if (isset($_POST['reduce']) && isset($_POST['uuid'])) {
13 $sql1 = "SELECT * FROM products WHERE uuid = '" . $_POST['uuid'] . "';";
14 } else {
15 exit;
16 }
17
18 //syslog(LOG_NOTICE, $sql1);
19
20 $result1 = mysqli_query($connect, $sql1) or die("SQL Error 1: " . mysqli_error($connect));
21 while ($row = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
22
23 if ($row['stage'] < 6) {
24 syslog(LOG_NOTICE, "code: " . $row['code'] . " cannot reduce inventory, not yet packaged.");
25 exit;
26 }
27 if ($row['inventory_reduced']) {
28 syslog(LOG_NOTICE, "code: " . $row['code'] . " cannot reduce inventory, already reduced.");
29 exit;
30 }
31
32 syslog(LOG_NOTICE, "Start reducing inventory from ". $row['code'].' '.$row['name']);
33
34 $fermentables = json_decode($row['json_fermentables'], true);
35 for ($i = 0; $i < count($fermentables); $i++) {
36
37 $sql2 = "UPDATE inventory_fermentables SET inventory = inventory - " . $fermentables[$i]['f_amount'];
38 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_name']);
39 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_origin']);
40 $sql2 .= "' AND supplier='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_supplier']);
41 $sql2 .= "' AND inventory >= " . $fermentables[$i]['f_amount'];
42 $sql2 .= " LIMIT 1;";
43 // syslog(LOG_NOTICE, $sql2);
44 $result2 = mysqli_query($connect, $sql2);
45 $ar = mysqli_affected_rows($connect);
46 if ($ar == 1) {
47 syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' with ".$fermentables[$i]['f_amount']." kg");
48 } else if ($ar == 0) {
49 $sql2 = "UPDATE inventory_fermentables SET inventory = 0";
50 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_name']);
51 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_origin']);
52 $sql2 .= "' AND supplier='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_supplier']);
53 $sql2 .= "' AND inventory < " . $fermentables[$i]['f_amount'];
54 $sql2 .= " LIMIT 1;";
55 // syslog(LOG_NOTICE, $sql2);
56 $result2 = mysqli_query($connect, $sql2);
57 $ar = mysqli_affected_rows($connect);
58 if ($ar == 1) {
59 syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' to 0 kg");
60 } else if ($ar == 0) {
61 syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' failed");
62 }
63 // syslog(LOG_NOTICE, "affected rows: ".$ar);
64 }
65 }
66
67 $hops = json_decode($row['json_hops'], true);
68 for ($i = 0; $i < count($hops); $i++) {
69
70 $sql2 = "UPDATE inventory_hops SET inventory = inventory - " . $hops[$i]['h_amount'];
71 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $hops[$i]['h_name']);
72 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $hops[$i]['h_origin']);
73 $sql2 .= "' AND form=" . $hops[$i]['h_form'];
74 $sql2 .= " AND inventory >= " . $hops[$i]['h_amount'] . " LIMIT 1;";
75 // syslog(LOG_NOTICE, $sql2);
76 $result2 = mysqli_query($connect, $sql2);
77 $ar = mysqli_affected_rows($connect);
78 if ($ar == 1) {
79 syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' with ".$hops[$i]['h_amount']." kg");
80 } else if ($ar == 0) {
81 $sql2 = "UPDATE inventory_hops SET inventory = 0";
82 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $hops[$i]['h_name']);
83 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $hops[$i]['h_origin']);
84 $sql2 .= "' AND form=" . $hops[$i]['h_form'];
85 $sql2 .= " AND inventory < " . $hops[$i]['h_amount'] . " LIMIT 1;";
86 // syslog(LOG_NOTICE, $sql2);
87 $result2 = mysqli_query($connect, $sql2);
88 $ar = mysqli_affected_rows($connect);
89 if ($ar == 1) {
90 syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' to 0 kg");
91 } else if ($ar == 0) {
92 syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' failed");
93 }
94 }
95 }
96
97 $miscs = json_decode($row['json_miscs'], true);
98 for ($i = 0; $i < count($miscs); $i++) {
99
100 $sql2 = "UPDATE inventory_miscs SET inventory = inventory - " . $miscs[$i]['m_amount'];
101 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $miscs[$i]['m_name']);
102 $sql2 .= "' AND inventory >= " . $miscs[$i]['m_amount'] . " LIMIT 1;";
103 // syslog(LOG_NOTICE, $sql2);
104 $result2 = mysqli_query($connect, $sql2);
105 $ar = mysqli_affected_rows($connect);
106 if ($ar == 1) {
107 syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' with ".$miscs[$i]['m_amount']);
108 } else if ($ar == 0) {
109 $sql2 = "UPDATE inventory_miscs SET inventory = 0";
110 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $miscs[$i]['m_name']);
111 $sql2 .= "' AND inventory < " . $miscs[$i]['m_amount'] . " LIMIT 1;";
112 // syslog(LOG_NOTICE, $sql2);
113 $result2 = mysqli_query($connect, $sql2);
114 $ar = mysqli_affected_rows($connect);
115 if ($ar == 1) {
116 syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' to 0");
117 } else if ($ar == 0) {
118 syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' failed");
119 }
120 }
121 }
122
123 $yeasts = json_decode($row['json_yeasts'], true);
124 for ($i = 0; $i < count($yeasts); $i++) {
125
126 $sql2 = "UPDATE inventory_yeasts SET inventory = inventory - " . $yeasts[$i]['y_amount'];
127 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_name']);
128 $sql2 .= "' AND laboratory='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_laboratory']);
129 $sql2 .= "' AND product_id='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_product_id']);
130 $sql2 .= "' AND form=" . $yeasts[$i]['y_form'];
131 $sql2 .= " AND inventory >= " . $yeasts[$i]['y_amount'] . " LIMIT 1;";
132 // syslog(LOG_NOTICE, $sql2);
133 $result2 = mysqli_query($connect, $sql2);
134 $ar = mysqli_affected_rows($connect);
135 if ($ar == 1) {
136 syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' with ".$yeasts[$i]['y_amount']);
137 } else if ($ar == 0) {
138 $sql2 = "UPDATE inventory_yeasts SET inventory = 0";
139 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_name']);
140 $sql2 .= "' AND laboratory='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_laboratory']);
141 $sql2 .= "' AND product_id='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_product_id']);
142 $sql2 .= "' AND form=" . $yeasts[$i]['y_form'];
143 $sql2 .= " AND inventory < " . $yeasts[$i]['y_amount'] . " LIMIT 1;";
144 // syslog(LOG_NOTICE, $sql2);
145 $result2 = mysqli_query($connect, $sql2);
146 $ar = mysqli_affected_rows($connect);
147 if ($ar == 1) {
148 syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' to 0");
149 } else if ($ar == 0) {
150 syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' failed");
151 }
152 }
153 }
154
155 if ($row['w1_name'] != '') {
156 $sql2 = "UPDATE inventory_waters SET inventory = inventory - ".$row['w1_amount'];
157 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w1_name']);
158 $sql2 .= "' AND unlimited_stock=0 AND inventory >= ".$row['w1_amount']." LIMIT 1;";
159 // syslog(LOG_NOTICE, $sql2);
160 $result2 = mysqli_query($connect, $sql2);
161 $ar = mysqli_affected_rows($connect);
162 if ($ar == 1) {
163 syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' with ".$row['w1_amount']." liter");
164 } else if ($ar == 0) {
165 $sql2 = "UPDATE inventory_waters SET inventory = 0";
166 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w1_name']);
167 $sql2 .= "' AND unlimited_stock=0 AND inventory < ".$row['w1_amount']." LIMIT 1;";
168 // syslog(LOG_NOTICE, $sql2);
169 $result2 = mysqli_query($connect, $sql2);
170 $ar = mysqli_affected_rows($connect);
171 if ($ar == 1) {
172 syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' to 0 liters");
173 } else {
174 syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' failed or tapwater");
175 }
176 }
177 }
178 if ($row['w2_name'] != '') {
179 $sql2 = "UPDATE inventory_waters SET inventory = inventory - ".$row['w2_amount'];
180 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w2_name']);
181 $sql2 .= "' AND unlimited_stock=0 AND inventory >= ".$row['w2_amount']." LIMIT 1;";
182 // syslog(LOG_NOTICE, $sql2);
183 $result2 = mysqli_query($connect, $sql2);
184 $ar = mysqli_affected_rows($connect);
185 if ($ar == 1) {
186 syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' with ".$row['w2_amount']." liter");
187 } else if ($ar == 0) {
188 $sql2 = "UPDATE inventory_waters SET inventory = 0";
189 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w2_name']);
190 $sql2 .= "' AND unlimited_stock=0 AND inventory < ".$row['w2_amount']." LIMIT 1;";
191 // syslog(LOG_NOTICE, $sql2);
192 $result2 = mysqli_query($connect, $sql2);
193 $ar = mysqli_affected_rows($connect);
194 if ($ar == 1) {
195 syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' to 0 liters");
196 }
197 }
198 }
199
200 syslog(LOG_NOTICE, "Finished reducing inventory from ". $row['code'].' '.$row['name']);
201 mysqli_free_result($result1);
202
203 $sql1 = "UPDATE products SET inventory_reduced=1 WHERE uuid = '" . $_POST['uuid'] . "';";
204 //syslog(LOG_NOTICE, $sql1);
205 $result1 = mysqli_query($connect, $sql1);
206 $ar = mysqli_affected_rows($connect);
207 }
208
209 exit(0);

mercurial