Fri, 14 Jun 2024 10:29:21 +0200
SO4/Cl ratio using target_water and final water.
/***************************************************************************** * Copyright (C) 2018-2022 * * Michiel Broek <mbroek at mbse dot eu> * * This file is part of BMS * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * BrewCloud is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with ThermFerm; see the file COPYING. If not, write to the Free * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *****************************************************************************/ $(document).ready(function() { var source = { datatype: 'json', cache: false, datafields: [ { name: 'record', type: 'number' }, { name: 'name', type: 'string' }, { name: 'code', type: 'string' }, { name: 'birth', type: 'string' }, { name: 'stage', type: 'int' }, { name: 'brew_date', type: 'string' }, { name: 'package_date', type: 'string' }, ], id: 'record', url: 'includes/db_product.php?select=inprod' }, dataAdapter = new $.jqx.dataAdapter(source); // initialize jqxGrid $('#jqxgrid').jqxGrid({ width: 1280, height: 630, source: dataAdapter, theme: theme, columns: [ { text: 'Datum', datafield: 'birth', width: 120 }, { text: 'Code', datafield: 'code', width: 120 }, { text: 'Naam', datafield: 'name' }, { text: 'Fase', datafield: 'stage', width: 200, cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { var fase, d, date1, date2, date1_unixtime, date2_unixtime, timeDifference, timeDifferenceInDays; // 2 = brew, 6 = package, 7 = carbonation, 8 = mature, 9 = taste fase = StageData[value].nl; if (value == 2) { fase = StageData[value].nl + ' op ' + rowdata.brew_date; } if (value == 7 || value == 8) { d = new Date(); date2 = rowdata.package_date; date2 = date2.split('-'); // Now we convert the array to a Date object date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate()); date2 = new Date(date2[0], date2[1] - 1, date2[2]); // We use the getTime() method and get the unixtime date1_unixtime = parseInt(date1.getTime() / 1000); date2_unixtime = parseInt(date2.getTime() / 1000); // This is the calculated difference in seconds timeDifference = date1_unixtime - date2_unixtime; // Round the result for brews that overlap summer/wintertime changes. timeDifferenceInDays = Math.round(timeDifference / 60 / 60 / 24); if (timeDifferenceInDays >= 14) fase = StageData[value].nl + ' dag ' + (timeDifferenceInDays - 14) + ' van 28'; else fase = StageData[value].nl + ' dag ' + timeDifferenceInDays + ' van 14'; } return '<span style="margin: 3px; margin-top: 6px; float: left;">' + fase + '</span>'; } }, { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function() { return 'Bekijk'; }, buttonclick: function(row) { var datarecord = dataAdapter.records[row]; window.location.href = 'prod_view.php?record=' + datarecord.record + '&select=inprod&return=prod_inprod.php'; } } ], }); });