34 |
34 |
35 function Checkline($text) { |
35 function Checkline($text) { |
36 $this->Cell(2, 4,' ',0,0,'L',true); |
36 $this->Cell(2, 4,' ',0,0,'L',true); |
37 $this->Cell(4, 4,' ',1,0,'L',true); |
37 $this->Cell(4, 4,' ',1,0,'L',true); |
38 $this->Cell(0, 4,' '.$text,0,1,'L',true); |
38 $this->Cell(0, 4,' '.$text,0,1,'L',true); |
|
39 $this->Ln(1); |
|
40 } |
|
41 |
|
42 function CheckInput($text, $prompt) { |
|
43 $this->Cell(2, 4,' ',0,0,'L',true); |
|
44 $this->Cell(4, 4,' ',1,0,'L',true); |
|
45 $this->Cell(130, 4,' '.$text,0,0,'L',true); |
|
46 $this->Cell(0, 4, 'Gemeten: _________ '.$prompt,0,1,'L',true); |
39 $this->Ln(1); |
47 $this->Ln(1); |
40 } |
48 } |
41 |
49 |
42 function Checksplit($moment, $row) { |
50 function Checksplit($moment, $row) { |
43 global $splitat; |
51 global $splitat; |
182 $s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` toevoegen'; |
190 $s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` toevoegen'; |
183 $this->Checkline($s); |
191 $this->Checkline($s); |
184 } |
192 } |
185 } |
193 } |
186 $this->Checkline($item['step_time'].' min. bij '.$item['step_temp'].' '.DEG.'C'); |
194 $this->Checkline($item['step_time'].' min. bij '.$item['step_temp'].' '.DEG.'C'); |
187 $this->Checkline('pH meten en bijstellen (doel pH beslag: '.sprintf("%.1f",$row['mash_ph']).' pH)'); |
195 $this->CheckInput('pH meten en bijstellen (doel pH beslag: '.sprintf("%.1f",$row['mash_ph']).' pH)', 'pH'); |
188 } else { |
196 } else { |
189 if ($item['step_type'] == 0) { // Infusion |
197 if ($item['step_type'] == 0) { // Infusion |
190 $s = 'toevoegen '.sprintf("%.1f",$item['step_infuse_amount'] * $factor).' liter water van '; |
198 $s = 'toevoegen '.sprintf("%.1f",$item['step_infuse_amount'] * $factor).' liter water van '; |
191 $s .= $item['step_infuse_temp'].' '.DEG.'C'; |
199 $s .= $item['step_infuse_temp'].' '.DEG.'C'; |
192 } else if ($item['step_type'] == 1) { // Direct heat |
200 } else if ($item['step_type'] == 1) { // Direct heat |
194 } else { // Decoction |
202 } else { // Decoction |
195 $s = 'uitnemen, opwarmen, koken en terugstorten van '.sprintf("%.1f",$item['step_infuse_amount']*$factor); |
203 $s = 'uitnemen, opwarmen, koken en terugstorten van '.sprintf("%.1f",$item['step_infuse_amount']*$factor); |
196 $s .= ' liter deelbeslag'; |
204 $s .= ' liter deelbeslag'; |
197 } |
205 } |
198 $this->Checkline($s); |
206 $this->Checkline($s); |
199 $this->Checkline($item['step_time'].' min. bij '.$item['step_temp'].' '.DEG.'C'); |
207 $this->CheckInput($item['step_time'].' min. bij '.$item['step_temp'].' '.DEG.'C', 'Brix'); |
200 } |
208 } |
201 $loop++; |
209 $loop++; |
202 } |
210 } |
203 $est_mash_sg = 0; |
211 $est_mash_sg = 0; |
204 foreach($ferms as $item) { |
212 foreach($ferms as $item) { |
211 } |
219 } |
212 $sugardensity = 1.611; |
220 $sugardensity = 1.611; |
213 $v = $msugars / $sugardensity + $mvol; |
221 $v = $msugars / $sugardensity + $mvol; |
214 $plato = 1000 * $msugars / ($v * 10); // deg. Plato |
222 $plato = 1000 * $msugars / ($v * 10); // deg. Plato |
215 $mash_sg = plato_to_sg($plato); |
223 $mash_sg = plato_to_sg($plato); |
216 $this->Checkline('doel SG eind maischen: '.density_str($mash_sg)); |
224 $this->CheckInput('doel SG eind maischen: '.density_str($mash_sg), 'Brix'); |
217 } |
225 } |
218 if ($this->GetY() > 200) |
226 if ($this->GetY() > 200) |
219 $this->AddPage(); |
227 $this->AddPage(); |
220 else |
228 else |
221 $this->Ln(5); |
229 $this->Ln(5); |
223 $this->Checkheader('Filteren en spoelen'); |
231 $this->Checkheader('Filteren en spoelen'); |
224 $s = sprintf("%.1f",$row['sparge_volume'] * $factor).' liter spoelwater opwarmen tot '.sprintf("%.1f",$row['sparge_temp']).' '.DEG.'C'; |
232 $s = sprintf("%.1f",$row['sparge_volume'] * $factor).' liter spoelwater opwarmen tot '.sprintf("%.1f",$row['sparge_temp']).' '.DEG.'C'; |
225 $this->Checkline($s); |
233 $this->Checkline($s); |
226 $s = 'spoelwater aanzuren tot pH <= '.sprintf("%.1f",$row['sparge_ph']).' met '; |
234 $s = 'spoelwater aanzuren tot pH <= '.sprintf("%.1f",$row['sparge_ph']).' met '; |
227 $s .= sprintf("%.2f",$row['sparge_acid_amount']*1000*$factor).' ml. '.$acidtype[$row['sparge_acid_type']]; |
235 $s .= sprintf("%.2f",$row['sparge_acid_amount']*1000*$factor).' ml. '.$acidtype[$row['sparge_acid_type']]; |
228 $this->Checkline($s); |
236 $this->CheckInput($s, 'pH'); |
229 $spoelw = (($row['boil_size']*$factor) - $mashwater + $grainabsorbtion + $row['eq_lauter_deadspace']) * 1.03; // A small heat correction |
237 $spoelw = (($row['boil_size']*$factor) - $mashwater + $grainabsorbtion + $row['eq_lauter_deadspace']) * 1.03; // A small heat correction |
230 $this->Checkline('spoelen met ongeveer '.sprintf("%.1f",$spoelw).' liter spoelwater'); |
238 $this->Checkline('spoelen met ongeveer '.sprintf("%.1f",$spoelw).' liter spoelwater'); |
231 $s = 'doelvolume in kookketel: '.sprintf("%.1f",$row['boil_size'] * $factor * 1.04).' liter ('; |
239 $s = 'doelvolume in kookketel: '.sprintf("%.1f",$row['boil_size'] * $factor * 1.04).' liter ('; |
232 $s .= sprintf("%.1f",kettle_cm($row['boil_size'] * $factor * 1.04,$row['eq_kettle_volume'],$row['eq_kettle_height'])).' cm onder de rand)'; |
240 $s .= sprintf("%.1f",kettle_cm($row['boil_size'] * $factor * 1.04,$row['eq_kettle_volume'],$row['eq_kettle_height'])).' cm onder de rand)'; |
233 $this->Checkline($s); |
241 $this->CheckInput($s, 'cm'); |
234 $pre_sg = estimate_sg($msugars * floatval($row['efficiency']) / 100,floatval($row['boil_size'] * $factor)); |
242 $pre_sg = estimate_sg($msugars * floatval($row['efficiency']) / 100,floatval($row['boil_size'] * $factor)); |
235 $this->Checkline('doel SG in kookketel: '.density_str($pre_sg)); |
243 $this->CheckInput('doel SG in kookketel: '.density_str($pre_sg), 'Brix'); |
236 foreach($hops as $item2) { |
244 foreach($hops as $item2) { |
237 if ($item2['h_useat'] == 1) { |
245 if ($item2['h_useat'] == 1) { |
238 $s = sprintf("%.1f",$item2['h_amount']*1000*$factor).' gr `'; |
246 $s = sprintf("%.1f",$item2['h_amount']*1000*$factor).' gr `'; |
239 $s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` toevoegen na het spoelen'; |
247 $s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` toevoegen na het spoelen'; |
240 $this->Checkline($s); |
248 $this->Checkline($s); |
290 |
298 |
291 } |
299 } |
292 $s = 'doelvolume einde koken: '.sprintf("%.1f",$row['batch_size']*$factor*1.04).' liter ('; |
300 $s = 'doelvolume einde koken: '.sprintf("%.1f",$row['batch_size']*$factor*1.04).' liter ('; |
293 $s .= sprintf("%.1f",kettle_cm($row['batch_size']*$factor*1.04,$row['eq_kettle_volume'],$row['eq_kettle_height'])); |
301 $s .= sprintf("%.1f",kettle_cm($row['batch_size']*$factor*1.04,$row['eq_kettle_volume'],$row['eq_kettle_height'])); |
294 $s .= ' cm onder de rand)'; |
302 $s .= ' cm onder de rand)'; |
295 $this->Checkline($s); |
303 $this->CheckInput($s, 'cm'); |
296 $this->Checkline('doel SG einde koken: '.density_str($row['est_og3'])); |
304 $this->CheckInput('doel SG einde koken: '.density_str($row['est_og3']), 'Brix'); |
297 if ($this->Checksplit(2, $row)) |
305 if ($this->Checksplit(2, $row)) |
298 $factor = 1; |
306 $factor = 1; |
299 } else { |
307 } else { |
300 $this->Checkline('Dit is een `no-boil\' recept'); |
308 $this->Checkline('Dit is een `no-boil\' recept'); |
301 } |
309 } |