--- a/www/js/prod_edit.js Thu Sep 05 20:14:16 2019 +0200 +++ b/www/js/prod_edit.js Thu Sep 05 21:25:13 2019 +0200 @@ -74,7 +74,6 @@ var MMNa = 22.98976928; var MMCl = 35.453; var MMSO4 = 96.0626; - var MMCO3 = 60.01684; var MMHCO3 = 61.01684; var MMCaSO4 = 172.171; var MMCaCl2 = 147.015; @@ -1086,7 +1085,7 @@ var row = rows[i]; if (row.m_name == name) { var id = $("#miscGrid").jqxGrid('getrowid', i); - var commit = $("#miscGrid").jqxGrid('deleterow', id); + $("#miscGrid").jqxGrid('deleterow', id); } } } else { @@ -1116,7 +1115,7 @@ row["m_amount_is_weight"] = record.amount_is_weight; row["m_inventory"] = record.inventory; row["m_avail"] = 1; - var commit = $("#miscGrid").jqxGrid('addrow', null, row); + $("#miscGrid").jqxGrid('addrow', null, row); } } } @@ -1318,7 +1317,7 @@ $('#wg_amount').val(liters); var wg_calcium = calcium; $('#wg_calcium').val(Math.round(calcium * 10) / 10); - var wg_magnesium = magnesium; + //var wg_magnesium = magnesium; $('#wg_magnesium').val(Math.round(magnesium * 10) / 10); var wg_sodium = sodium; $('#wg_sodium').val(Math.round(sodium * 10) / 10); @@ -1329,7 +1328,7 @@ var wg_sulfate = sulfate; $('#wg_sulfate').val(Math.round(sulfate * 10) / 10); // Note: brouwhulp has the malts included here in the result. - var wg_ph = ph; + //var wg_ph = ph; $('#wg_ph').val(Math.round(ph * 10) / 10); $('#wb_ph').val(Math.round(MashpH() * 10) / 10); $('#est_mash_ph').val(Math.round(MashpH() * 10) / 10); @@ -1714,7 +1713,7 @@ var r2 = Math.pow(10, Source_pH - 10.373); var d = 1 + r1 + r1*r2; var f1 = 1/d; - var f2 = r1/d; + //var f2 = r1/d; var f3 = r1 * r2 / d; //Step 2. Compute the mole fractions at pH = 4.3 (the pH which defines alkalinity) @@ -1722,7 +1721,7 @@ var r243 = Math.pow(10, 4.3 - 10.373); var d43 = 1 + r143 + r143*r243; var f143 = 1/d43; - var f243 = r143 / d43; + //var f243 = r143 / d43; var f343 = r143 * r243 / d43; //Step 3. Convert the water alkalinity to milliequivalents/L @@ -1736,7 +1735,7 @@ var r2g = Math.pow(10, TargetpH - 10.373); var dg = 1 + r1g + r1g*r2g; var f1g = 1/dg; - var f2g = r1g / dg; + //var f2g = r1g / dg; var f3g = r1g * r2g / dg; //Step 6. Use these to compute the milliequivalents acid required per liter (mEq/L) @@ -1776,32 +1775,44 @@ $("#sparge_acid_amount").val(Acid); } -function calcFermentation(){ -if(dataRecord.brew_fermenter_sg<1.020)return; -var obrix=sg_to_brix(dataRecord.brew_fermenter_sg); -if((dataRecord.primary_end_sg>0.990)&&(dataRecord.primary_end_sg<dataRecord.brew_fermenter_sg)){ -var primary_svg=Round(100*(dataRecord.brew_fermenter_sg-dataRecord.primary_end_sg)/(dataRecord.brew_fermenter_sg-1),1); -$("#primary_svg").val(primary_svg); -if((dataRecord.secondary_end_sg>0.990)&&(dataRecord.secondary_end_sg<dataRecord.brew_fermenter_sg)){ -var secondary_svg=Round(100*(dataRecord.brew_fermenter_sg-dataRecord.secondary_end_sg)/(dataRecord.brew_fermenter_sg-1),1); -$("#secondary_svg").val(secondary_svg); -if((dataRecord.fg>0.990)&&(dataRecord.fg<dataRecord.brew_fermenter_sg)){ -var final_svg=Round(100*(dataRecord.brew_fermenter_sg-dataRecord.fg)/(dataRecord.brew_fermenter_sg-1),1); -$("#final_svg").val(final_svg); -var ABV=Round(abvol(dataRecord.brew_fermenter_sg,dataRecord.fg),2); -$("#final_abv").val(ABV);}}} -} - -function ResCO2(CO2,T){ -var F=T*1.8+32; -return 3.0378-0.050062*F+0.00026555*F*F; -} - -function CarbCO2toS(CO2,T,SFactor){ -var sugar=SFactor*(CO2-ResCO2(CO2,T))/0.286; -if(sugar<0)sugar=0; -return Round(sugar,3); -} + function calcFermentation(){ + + if (dataRecord.brew_fermenter_sg<1.020) + return; + +// var obrix = sg_to_brix(dataRecord.brew_fermenter_sg); + if ((dataRecord.primary_end_sg>0.990)&&(dataRecord.primary_end_sg<dataRecord.brew_fermenter_sg)){ + var primary_svg=Round(100*(dataRecord.brew_fermenter_sg-dataRecord.primary_end_sg)/(dataRecord.brew_fermenter_sg-1),1); + $("#primary_svg").val(primary_svg); + if((dataRecord.secondary_end_sg>0.990)&&(dataRecord.secondary_end_sg<dataRecord.brew_fermenter_sg)){ + var secondary_svg=Round(100*(dataRecord.brew_fermenter_sg-dataRecord.secondary_end_sg)/(dataRecord.brew_fermenter_sg-1),1); + $("#secondary_svg").val(secondary_svg); + if((dataRecord.fg>0.990)&&(dataRecord.fg<dataRecord.brew_fermenter_sg)){ + var final_svg=Round(100*(dataRecord.brew_fermenter_sg-dataRecord.fg)/(dataRecord.brew_fermenter_sg-1),1); + $("#final_svg").val(final_svg); + var ABV=Round(abvol(dataRecord.brew_fermenter_sg,dataRecord.fg),2); + $("#final_abv").val(ABV); + } + } + } + } + + + + function ResCO2(CO2,T){ + + var F=T*1.8+32; + return 3.0378-0.050062*F+0.00026555*F*F; + } + + + + function CarbCO2toS(CO2,T,SFactor){ + var sugar=SFactor*(CO2-ResCO2(CO2,T))/0.286; + if(sugar<0) + sugar=0; + return Round(sugar,3); + } function GetPressure(CO2, T1, T2) { var V = CO2 - ResCO2(CO2, T1); @@ -1816,88 +1827,94 @@ return Round(P,1); } -function CarbCO2ToPressure(CO2, T) { -return (CO2-(-0.000005594056*Math.pow(T,4)+0.000144357886*Math.pow(T,3)+0.000362999168*T*T-0.064872987645*T+1.641145175049)) / - (0.00000498031*Math.pow(T,4)-0.00024358267*Math.pow(T,3)+0.00385867329*T*T-0.05671206825*T+1.53801423376); -} - -function calcCarbonation() { -var TSec=dataRecord.secondary_temp; -if(TSec<1)TSec=dataRecord.primary_end_temp; -if(TSec<1)TSec=18; -if(dataRecord.fg==0.000) -var ABV=abvol(dataRecord.brew_fermenter_sg,parseFloat($("#est_fg").jqxNumberInput('decimal'))); -else -var ABV=abvol(dataRecord.brew_fermenter_sg,dataRecord.fg); -/* Calculate new volume and alcohol. */ -var bvol=dataRecord.package_volume-(ABV*dataRecord.package_volume)/100; -var balc=dataRecord.package_volume-bvol; -var mvol=dataRecord.package_infuse_amount-(dataRecord.package_infuse_abv*dataRecord.package_infuse_amount)/100; -var malc=dataRecord.package_infuse_amount-mvol; -var talc=balc+malc; -var tvol=bvol+mvol; -ABV = Round(talc/(tvol+talc)*100,2); -dataRecord.package_abv=ABV; -$("#package_abv").val(ABV); + function CarbCO2ToPressure(CO2, T) { + return (CO2-(-0.000005594056*Math.pow(T,4)+0.000144357886*Math.pow(T,3)+0.000362999168*T*T-0.064872987645*T+1.641145175049)) / + (0.00000498031*Math.pow(T,4)-0.00024358267*Math.pow(T,3)+0.00385867329*T*T-0.05671206825*T+1.53801423376); + } + + function calcCarbonation() { + + var TSec=dataRecord.secondary_temp; + if(TSec<1) + TSec=dataRecord.primary_end_temp; + if(TSec<1) + TSec=18; + + if(dataRecord.fg==0.000) + var ABV=abvol(dataRecord.brew_fermenter_sg,parseFloat($("#est_fg").jqxNumberInput('decimal'))); + else + var ABV=abvol(dataRecord.brew_fermenter_sg,dataRecord.fg); + + /* Calculate new volume and alcohol. */ + var bvol=dataRecord.package_volume-(ABV*dataRecord.package_volume)/100; + var balc=dataRecord.package_volume-bvol; + var mvol=dataRecord.package_infuse_amount-(dataRecord.package_infuse_abv*dataRecord.package_infuse_amount)/100; + var malc=dataRecord.package_infuse_amount-mvol; + var talc=balc+malc; + var tvol=bvol+mvol; + ABV = Round(talc/(tvol+talc)*100,2); + dataRecord.package_abv=ABV; + $("#package_abv").val(ABV); // console.log("calcCarbonation() TSec:"+TSec+" ABV:"+ABV); -if(!(rows = $('#fermentableGrid').jqxGrid('getrows'))){return;} - -// Bottles -dataRecord.bottle_priming_amount=0; -dataRecord.bottle_priming_total=0; -for (var i=0;i<rows.length;i++){ -var row=rows[i]; -if(row.f_added==4){ -var SFactor=1/((row.f_yield/100)*(1-row.f_moisture/100)); -dataRecord.bottle_priming_amount=CarbCO2toS(dataRecord.bottle_carbonation,TSec,SFactor); -dataRecord.bottle_priming_total=Round(dataRecord.bottle_amount*dataRecord.bottle_priming_amount,2); -$("#fermentableGrid").jqxGrid('setcellvalue',i,'f_amount',dataRecord.bottle_priming_total/1000); -}} -$("#bottle_priming_amount").val(Round(dataRecord.bottle_priming_amount,1)); -$("#bottle_priming_total").val(dataRecord.bottle_priming_total); -var pabv=ABV+dataRecord.bottle_priming_amount*0.47/7.907; -var pvol=dataRecord.bottle_amount-(pabv*dataRecord.bottle_amount)/100; -var talc=dataRecord.bottle_amount-pvol; -var tvol=pvol+dataRecord.bottle_priming_water; -var babv = Round(talc/(tvol+talc)*100,2); -//console.log("bottle pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.bottle_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+babv); -$("#bottle_abv").val(babv); -$("#bottle_pressure").val(GetPressure(dataRecord.bottle_carbonation,TSec,dataRecord.bottle_carbonation_temp)); - -// Kegs -var Pressure=CarbCO2ToPressure(dataRecord.keg_carbonation,dataRecord.keg_carbonation_temp); -if(Pressure<0)Pressure=0; -dataRecord.keg_pressure=Pressure; -$("#keg_pressure").val(Round(Pressure,1)); - -dataRecord.keg_priming_amount=0; -dataRecord.keg_priming_total=0; -if(!dataRecord.keg_forced_carb){ -for(var i=0;i<rows.length;i++){ -var row=rows[i]; -if(row.f_added==5){ -var SFactor=1/((row.f_yield/100)*(1-row.f_moisture/100)); -dataRecord.keg_priming_amount=CarbCO2toS(dataRecord.keg_carbonation,TSec,SFactor); -dataRecord.keg_priming_total=Round(dataRecord.keg_amount*dataRecord.keg_priming_amount,2); -$("#fermentableGrid").jqxGrid('setcellvalue',i,'f_amount',dataRecord.keg_priming_total/1000); -} -} -$("#keg_priming_amount").val(Round(dataRecord.keg_priming_amount,1)); -$("#keg_priming_total").val(dataRecord.keg_priming_total); -var pabv=ABV+dataRecord.keg_priming_amount*0.47/7.907; -var pvol=dataRecord.keg_amount-(pabv*dataRecord.keg_amount)/100; -var talc=dataRecord.keg_amount-pvol; -var tvol=pvol+dataRecord.keg_priming_water; -var kabv=Round(talc/(tvol+talc)*100,2); -//console.log("kegs pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.keg_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+kabv); -$("#keg_abv").val(kabv); -} else { -$("#keg_priming_amount").val(0); -$("#keg_priming_total").val(0); -$("#keg_abv").val(ABV); -} -} + if(!(rows = $('#fermentableGrid').jqxGrid('getrows'))){return;} + + // Bottles + dataRecord.bottle_priming_amount=0; + dataRecord.bottle_priming_total=0; + for (var i=0;i<rows.length;i++){ + var row=rows[i]; + if(row.f_added==4){ + var SFactor=1/((row.f_yield/100)*(1-row.f_moisture/100)); + dataRecord.bottle_priming_amount=CarbCO2toS(dataRecord.bottle_carbonation,TSec,SFactor); + dataRecord.bottle_priming_total=Round(dataRecord.bottle_amount*dataRecord.bottle_priming_amount,2); + $("#fermentableGrid").jqxGrid('setcellvalue',i,'f_amount',dataRecord.bottle_priming_total/1000); + } + } + $("#bottle_priming_amount").val(Round(dataRecord.bottle_priming_amount,1)); + $("#bottle_priming_total").val(dataRecord.bottle_priming_total); + var pabv=ABV+dataRecord.bottle_priming_amount*0.47/7.907; + var pvol=dataRecord.bottle_amount-(pabv*dataRecord.bottle_amount)/100; + var talc=dataRecord.bottle_amount-pvol; + var tvol=pvol+dataRecord.bottle_priming_water; + var babv = Round(talc/(tvol+talc)*100,2); + //console.log("bottle pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.bottle_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+babv); + $("#bottle_abv").val(babv); + $("#bottle_pressure").val(GetPressure(dataRecord.bottle_carbonation,TSec,dataRecord.bottle_carbonation_temp)); + + // Kegs + var Pressure=CarbCO2ToPressure(dataRecord.keg_carbonation,dataRecord.keg_carbonation_temp); + if(Pressure<0)Pressure=0; + dataRecord.keg_pressure=Pressure; + $("#keg_pressure").val(Round(Pressure,1)); + + dataRecord.keg_priming_amount=0; + dataRecord.keg_priming_total=0; + if(!dataRecord.keg_forced_carb){ + for(var i=0;i<rows.length;i++){ + var row=rows[i]; + if(row.f_added==5){ + var SFactor=1/((row.f_yield/100)*(1-row.f_moisture/100)); + dataRecord.keg_priming_amount=CarbCO2toS(dataRecord.keg_carbonation,TSec,SFactor); + dataRecord.keg_priming_total=Round(dataRecord.keg_amount*dataRecord.keg_priming_amount,2); + $("#fermentableGrid").jqxGrid('setcellvalue',i,'f_amount',dataRecord.keg_priming_total/1000); + } + } + $("#keg_priming_amount").val(Round(dataRecord.keg_priming_amount,1)); + $("#keg_priming_total").val(dataRecord.keg_priming_total); + var pabv=ABV+dataRecord.keg_priming_amount*0.47/7.907; + var pvol=dataRecord.keg_amount-(pabv*dataRecord.keg_amount)/100; + var talc=dataRecord.keg_amount-pvol; + var tvol=pvol+dataRecord.keg_priming_water; + var kabv=Round(talc/(tvol+talc)*100,2); + //console.log("kegs pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.keg_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+kabv); + $("#keg_abv").val(kabv); + } else { + $("#keg_priming_amount").val(0); + $("#keg_priming_total").val(0); + $("#keg_abv").val(ABV); + } + } function calcStage() { @@ -3395,7 +3412,6 @@ selectionmode: 'singlerow', showtoolbar: true, rendertoolbar: function (toolbar) { - var me = this; var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); toolbar.append(container); container.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>'); @@ -3460,7 +3476,7 @@ row["f_di_ph"] = datarecord.di_ph; row["f_acid_to_ph_57"] = datarecord.acid_to_ph_57; row["f_inventory"] = datarecord.inventory; - var commit = $("#fermentableGrid").jqxGrid('addrow', null, row); + $("#fermentableGrid").jqxGrid('addrow', null, row); } }); @@ -3479,7 +3495,7 @@ var id = $("#fermentableGrid").jqxGrid('getrowid', selectedrowindex); var percent = $('#fermentableGrid').jqxGrid('getcellvalue', id, "f_percentage"); var amount = $('#fermentableGrid').jqxGrid('getcellvalue', id, "f_amount"); - var commit = $("#fermentableGrid").jqxGrid('deleterow', id); + $("#fermentableGrid").jqxGrid('deleterow', id); } rowscount = $("#fermentableGrid").jqxGrid('getdatainformation').rowscount; if (rowscount > 1) { @@ -3634,7 +3650,6 @@ selectionmode: 'singlerow', showtoolbar: true, rendertoolbar: function (toolbar) { - var me = this; var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); toolbar.append(container); container.append('<div style="float: left; margin-left: 165px;" id="haddrowbutton"></div>'); @@ -3681,7 +3696,7 @@ row["h_myrcene"] = datarecord.myrcene; row["h_total_oil"] = datarecord.total_oil; row["h_inventory"] = datarecord.inventory; - var commit = $("#hopGrid").jqxGrid('addrow', null, row); + $("#hopGrid").jqxGrid('addrow', null, row); } $("#haddrowbutton").jqxDropDownList('clearSelection'); }); @@ -3699,7 +3714,7 @@ var rowscount = $("#hopGrid").jqxGrid('getdatainformation').rowscount; if (selectedrowindex >= 0 && selectedrowindex < rowscount) { var id = $("#hopGrid").jqxGrid('getrowid', selectedrowindex); - var commit = $("#hopGrid").jqxGrid('deleterow', id); + $("#hopGrid").jqxGrid('deleterow', id); } calcIBUs(); }); @@ -3902,7 +3917,6 @@ selectionmode: 'singlerow', showtoolbar: true, rendertoolbar: function (toolbar) { - var me = this; var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); toolbar.append(container); container.append('<div style="float: left; margin-left: 165px;" id="maddrowbutton"></div>'); @@ -3935,7 +3949,7 @@ row["m_time"] = 0; row["m_amount_is_weight"] = datarecord.amount_is_weight; row["m_inventory"] = datarecord.inventory; - var commit = $("#miscGrid").jqxGrid('addrow', null, row); + $("#miscGrid").jqxGrid('addrow', null, row); } }); $("#minstockbutton").jqxCheckBox({ theme: theme, height: 27, disabled: (dataRecord.stage > 3) }); @@ -3951,7 +3965,7 @@ var type = $("#miscGrid").jqxGrid('getcellvalue', selectedrowindex, "m_type"); if (selectedrowindex >= 0 && selectedrowindex < rowscount && type != 4) { // Water agent var id = $("#miscGrid").jqxGrid('getrowid', selectedrowindex); - var commit = $("#miscGrid").jqxGrid('deleterow', id); + $("#miscGrid").jqxGrid('deleterow', id); } }); }, @@ -4083,7 +4097,6 @@ selectionmode: 'singlerow', showtoolbar: true, rendertoolbar: function (toolbar) { - var me = this; var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); toolbar.append(container); container.append('<div style="float: left; margin-left: 165px;" id="yaddrowbutton"></div>'); @@ -4127,7 +4140,7 @@ row["y_cells"] = datarecord.cells; row["y_tolerance"] = datarecord.tolerance; row["y_inventory"] = datarecord.inventory; - var commit = $("#yeastGrid").jqxGrid('addrow', null, row); + $("#yeastGrid").jqxGrid('addrow', null, row); } calcYeast(); $("#yaddrowbutton").jqxDropDownList('clearSelection'); @@ -4144,7 +4157,7 @@ var rowscount = $("#yeastGrid").jqxGrid('getdatainformation').rowscount; if (selectedrowindex >= 0 && selectedrowindex < rowscount) { var id = $("#yeastGrid").jqxGrid('getrowid', selectedrowindex); - var commit = $("#yeastGrid").jqxGrid('deleterow', id); + $("#yeastGrid").jqxGrid('deleterow', id); calcYeast(); } }); @@ -4293,7 +4306,6 @@ selectionmode: 'singlerow', showtoolbar: true, rendertoolbar: function (toolbar) { - var me = this; var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); toolbar.append(container); container.append('<input style="float: left; margin-left: 165px;" id="saddrowbutton" type="button" value="Nieuwe stap" />'); @@ -4314,7 +4326,7 @@ row['step_thickness'] = 0; row['ramp_time'] = 1.0; row['end_temp'] = 62.0; - var commit = $("#mashGrid").jqxGrid('addrow', null, row); + $("#mashGrid").jqxGrid('addrow', null, row); }); // delete selected step. $("#sdeleterowbutton").jqxButton({ template: "danger", theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) }); @@ -4323,7 +4335,7 @@ var rowscount = $("#mashGrid").jqxGrid('getdatainformation').rowscount; if (selectedrowindex >= 0 && selectedrowindex < rowscount) { var id = $("#mashGrid").jqxGrid('getrowid', selectedrowindex); - var commit = $("#mashGrid").jqxGrid('deleterow', id); + $("#mashGrid").jqxGrid('deleterow', id); } }); }, @@ -5324,7 +5336,7 @@ // Then add the new steps var datarecord = mashlist.records[index]; $("#mash_name").val(datarecord.name); - for (var i = 0; i < datarecord.steps.length; i++) { + for (i = 0; i < datarecord.steps.length; i++) { var data = datarecord.steps[i]; var row = {}; row["step_name"] = data.step_name; @@ -5344,7 +5356,7 @@ row["end_temp"] = data.end_temp; row["step_time"] = data.step_time; row["ramp_time"] = data.ramp_time; - var commit = $("#mashGrid").jqxGrid('addrow', null, row); + $("#mashGrid").jqxGrid('addrow', null, row); } } });