www/js/prod_edit.js

changeset 263
ed22ac46404b
parent 262
36cf32fcd210
child 264
24139883b9fa
equal deleted inserted replaced
262:36cf32fcd210 263:ed22ac46404b
386 $("#hop_flavour").jqxProgressBar('val', hop_flavour); 386 $("#hop_flavour").jqxProgressBar('val', hop_flavour);
387 $("#hop_aroma").jqxProgressBar('val', hop_aroma); 387 $("#hop_aroma").jqxProgressBar('val', hop_aroma);
388 $("#brew_fermenter_ibu").val(ferm_ibus); 388 $("#brew_fermenter_ibu").val(ferm_ibus);
389 calcStage(); 389 calcStage();
390 }; 390 };
391
392 function adjustHops(factor) {
393
394 console.log("adjustHops("+factor+")");
395
396 var rowscount = $("#hopGrid").jqxGrid('getdatainformation').rowscount;
397 if (rowscount == 0)
398 return;
399
400 for (var i = 0; i < rowscount; i++) {
401 var row = $("#hopGrid").jqxGrid('getrowdata', i);
402 var amount = row.h_amount * factor;
403 $("#hopGrid").jqxGrid('setcellvalue', i, "h_amount", amount);
404 }
405 };
406
407 function adjustMiscs(factor) {
408
409 console.log("adjustMiscs("+factor+")");
410
411 var rowscount = $("#miscGrid").jqxGrid('getdatainformation').rowscount;
412 if (rowscount == 0)
413 return;
414
415 for (var i = 0; i < rowscount; i++) {
416 var row = $("#miscGrid").jqxGrid('getrowdata', i);
417 var amount = row.m_amount * factor;
418 $("#miscGrid").jqxGrid('setcellvalue', i, "m_amount", amount);
419 switch (row.m_name) {
420 case 'CaCl2': $("#wa_cacl2").val(row.m_amount * 1000);
421 break;
422 case 'CaSO4': $("#wa_caso4").val(row.m_amount * 1000);
423 break;
424 case 'MgSO4': $("#wa_mgso4").val(row.m_amount * 1000);
425 break;
426 case 'NaCl': $("#wa_nacl").val(row.m_amount * 1000);
427 break;
428 case 'Melkzuur':
429 case 'Zoutzuur':
430 case 'Fosforzuur':
431 case 'Zwavelzuur': $("#wa_acid").val(row.m_amount * 1000);
432 break;
433 case 'NaHCO3':
434 case 'Na2CO3':
435 case 'CaCO3':
436 case 'Ca(OH)2': $("#wa_base").val(row.m_amount * 1000);
437 break;
438 }
439 }
440 };
441
442 function adjustYeasts(factor) {
443
444 console.log("adjustYeasts("+factor+")");
445
446 var rowscount = $("#yeastGrid").jqxGrid('getdatainformation').rowscount;
447 if (rowscount == 0)
448 return;
449
450 for (var i = 0; i < rowscount; i++) {
451 var row = $("#yeastGrid").jqxGrid('getrowdata', i);
452 if (row.y_form == 1) { // Only adjust dry yeast
453 var amount = row.y_amount * factor;
454 $("#yeastGrid").jqxGrid('setcellvalue', i, "y_amount", amount);
455 }
456 }
457 // TODO: adjust starter size
458 };
459
460 function adjustWaters(factor) {
461
462 console.log("adjustWaters("+factor+")");
463
464 var rowscount = $("#mashGrid").jqxGrid('getdatainformation').rowscount;
465 if (rowscount == 0)
466 return;
467
468 mash_infuse = 0;
469 for (var i = 0; i < rowscount; i++) {
470 var row = $("#mashGrid").jqxGrid('getrowdata', i);
471 if (row.step_type == 0) { // Infusion
472 var amount = Math.round(row.step_infuse_amount * factor * 10) / 10;
473 $("#mashGrid").jqxGrid('setcellvalue', i, "step_infuse_amount", amount);
474 mash_infuse += amount;
475 }
476 }
477 if (dataRecord.w2_amount == 0) {
478 dataRecord.w1_amount = mash_infuse;
479 $("#w1_amount").val(mash_infuse);
480 } else {
481 dataRecord.w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
482 dataRecord.w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
483 $("#w1_amount").val(dataRecord.w1_amount);
484 $("#w2_amount").val(dataRecord.w2_amount);
485 }
486 };
487
488
391 489
392 function calcMashEfficiency() { 490 function calcMashEfficiency() {
393 // console.log("calcMashEfficiency()"); 491 // console.log("calcMashEfficiency()");
394 var c = sg_to_plato(est_mash_sg); 492 var c = sg_to_plato(est_mash_sg);
395 var m = sg_to_plato(parseFloat($("#brew_mash_sg").jqxNumberInput('decimal'))); 493 var m = sg_to_plato(parseFloat($("#brew_mash_sg").jqxNumberInput('decimal')));
1418 1516
1419 $('#batch_size').on('change', function (event) { 1517 $('#batch_size').on('change', function (event) {
1420 console.log("batch_size change:"+event.args.value+" old:"+dataRecord.batch_size); 1518 console.log("batch_size change:"+event.args.value+" old:"+dataRecord.batch_size);
1421 $("#est_a_vol").val(event.args.value * 1.04); 1519 $("#est_a_vol").val(event.args.value * 1.04);
1422 var new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size; 1520 var new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size;
1521 var factor = parseFloat(event.args.value) / dataRecord.batch_size;
1423 dataRecord.boil_size = new_boil; 1522 dataRecord.boil_size = new_boil;
1424 $("#boil_size").val(Math.round(new_boil * 100) / 100); 1523 $("#boil_size").val(Math.round(new_boil * 100) / 100);
1425 $("#est_pre_vol").val(Math.round(new_boil * 1.04 * 100) / 100); 1524 $("#est_pre_vol").val(Math.round(new_boil * 1.04 * 100) / 100);
1525 dataRecord.sparge_volume *= factor;
1526 $("#sparge_volume").val(dataRecord.sparge_volume);
1426 dataRecord.batch_size = parseFloat(event.args.value); 1527 dataRecord.batch_size = parseFloat(event.args.value);
1427 calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG 1528 calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG
1529 adjustWaters(factor);
1428 calcFermentables(); 1530 calcFermentables();
1429 // TODO: adjust the hops, miscs, yeast, water. 1531 adjustHops(factor);
1532 adjustMiscs(factor);
1533 adjustYeasts(factor);
1430 calcIBUs(); 1534 calcIBUs();
1535 calcWater();
1536 calcSparge();
1431 }); 1537 });
1432 $('#boil_time').on('change', function (event) { 1538 $('#boil_time').on('change', function (event) {
1433 console.log("boil_time change:"+parseFloat(event.args.value)+" old:"+dataRecord.boil_time); 1539 console.log("boil_time change:"+parseFloat(event.args.value)+" old:"+dataRecord.boil_time);
1434 var old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size); 1540 var old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size);
1435 var new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time); 1541 var new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time);
1436 var new_boil = parseFloat(dataRecord.batch_size) + new_evap; 1542 var new_boil = parseFloat(dataRecord.batch_size) + new_evap;
1543 var factor = new_boil / dataRecord.boil_size;
1437 dataRecord.boil_time = parseFloat(event.args.value); 1544 dataRecord.boil_time = parseFloat(event.args.value);
1438 dataRecord.boil_size = new_boil; 1545 dataRecord.boil_size = new_boil;
1439 $("#est_pre_vol").val(Math.round(new_boil * 1.04 * 100) / 100); 1546 $("#est_pre_vol").val(Math.round(new_boil * 1.04 * 100) / 100);
1440 $("#boil_size").val(Math.round(new_boil * 100) / 100); 1547 $("#boil_size").val(Math.round(new_boil * 100) / 100);
1441 calcFermentables(); 1548 calcFermentables();
1442 // TODO: adjust the hops, miscs, yeast, water.
1443 calcIBUs(); 1549 calcIBUs();
1444 }); 1550 });
1445 $('#efficiency').on('change', function (event) { 1551 $('#efficiency').on('change', function (event) {
1446 console.log("efficiency change:"+event.args.value); 1552 console.log("efficiency change:"+event.args.value);
1447 calcFermentables(); 1553 calcFermentables();
1599 }); 1705 });
1600 $("#equipmentSelect").on('select', function (event) { 1706 $("#equipmentSelect").on('select', function (event) {
1601 if (event.args) { 1707 if (event.args) {
1602 var index = event.args.index; 1708 var index = event.args.index;
1603 var datarecord = equipmentlist.records[index]; 1709 var datarecord = equipmentlist.records[index];
1710 var factor = datarecord.batch_size / dataRecord.batch_size;
1604 $("#eq_name").val(datarecord.name); 1711 $("#eq_name").val(datarecord.name);
1605 $("#eq_boil_size").val(datarecord.boil_size); 1712 $("#eq_boil_size").val(datarecord.boil_size);
1606 dataRecord.boil_size = datarecord.boil_size; 1713 dataRecord.boil_size = datarecord.boil_size;
1607 $("#boil_size").val(datarecord.boil_size); 1714 $("#boil_size").val(datarecord.boil_size);
1608 $("#eq_batch_size").val(datarecord.batch_size); 1715 $("#eq_batch_size").val(datarecord.batch_size);
1613 dataRecord.eq_tun_weight = datarecord.tun_weight; 1720 dataRecord.eq_tun_weight = datarecord.tun_weight;
1614 dataRecord.eq_tun_specific_heat = datarecord.tun_specific_heat; 1721 dataRecord.eq_tun_specific_heat = datarecord.tun_specific_heat;
1615 dataRecord.eq_tun_material = datarecord.tun_material; 1722 dataRecord.eq_tun_material = datarecord.tun_material;
1616 dataRecord.eq_tun_height = datarecord.tun_height / 100.0; 1723 dataRecord.eq_tun_height = datarecord.tun_height / 100.0;
1617 $("#eq_top_up_water").val(datarecord.top_up_water); 1724 $("#eq_top_up_water").val(datarecord.top_up_water);
1725 dataRecord.eq_trub_chiller_loss = datarecord.trub_chiller_loss;
1618 $("#eq_trub_chiller_loss").val(datarecord.trub_chiller_loss); 1726 $("#eq_trub_chiller_loss").val(datarecord.trub_chiller_loss);
1619 $("#eq_evap_rate").val(datarecord.evap_rate); 1727 $("#eq_evap_rate").val(datarecord.evap_rate);
1620 $("#eq_boil_time").val(datarecord.boil_time); 1728 $("#eq_boil_time").val(datarecord.boil_time);
1621 dataRecord.eq_calc_boil_volume = datarecord.calc_boil_volume; 1729 dataRecord.eq_calc_boil_volume = datarecord.calc_boil_volume;
1622 $("#eq_top_up_kettle").val(datarecord.top_up_kettle); 1730 $("#eq_top_up_kettle").val(datarecord.top_up_kettle);
1633 $("#mash_max").val(datarecord.mash_max); 1741 $("#mash_max").val(datarecord.mash_max);
1634 $("#eq_efficiency").val(datarecord.efficiency); 1742 $("#eq_efficiency").val(datarecord.efficiency);
1635 dataRecord.efficiency = datarecord.efficiency; 1743 dataRecord.efficiency = datarecord.efficiency;
1636 $("#efficiency").val(datarecord.efficiency); 1744 $("#efficiency").val(datarecord.efficiency);
1637 1745
1746 dataRecord.sparge_volume = Math.round(datarecord.boil_size * 5) / 10;
1747 $("#sparge_volume").val(dataRecord.sparge_volume);
1748 $("#est_pre_vol").val(datarecord.boil_size * 1.04);
1638 calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG 1749 calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG
1750 adjustWaters(factor);
1639 calcFermentables(); 1751 calcFermentables();
1640 // TODO: adjust the hops, miscs, yeast, water. 1752 adjustHops(factor);
1753 adjustMiscs(factor);
1754 adjustYeasts(factor);
1641 calcIBUs(); 1755 calcIBUs();
1756 calcWater();
1757 calcSparge();
1642 } 1758 }
1643 }); 1759 });
1644 1760
1645 var dataRecord = {}; 1761 var dataRecord = {};
1646 var url = "includes/db_product.php"; 1762 var url = "includes/db_product.php";

mercurial