src/EditWater.cpp

changeset 236
d0b1640ba951
parent 90
2396457a8167
child 353
324a7268796b
equal deleted inserted replaced
235:57dba736d10b 236:d0b1640ba951
46 ui->phEdit->setValue(query.value(9).toDouble()); 46 ui->phEdit->setValue(query.value(9).toDouble());
47 ui->notesEdit->setPlainText(query.value(10).toString()); 47 ui->notesEdit->setPlainText(query.value(10).toString());
48 ui->alkalinityEdit->setValue(query.value(11).toDouble()); 48 ui->alkalinityEdit->setValue(query.value(11).toDouble());
49 ui->inventoryEdit->setValue(query.value(12).toDouble()); 49 ui->inventoryEdit->setValue(query.value(12).toDouble());
50 ui->costEdit->setValue(query.value(13).toDouble()); 50 ui->costEdit->setValue(query.value(13).toDouble());
51 ui->noEdit->setValue(query.value(15).toDouble());
51 } else { 52 } else {
52 /* Set some defaults */ 53 /* Set some defaults */
53 ui->phEdit->setValue(7.0); 54 ui->phEdit->setValue(7.0);
54 } 55 }
55 WaterSet(); 56 WaterSet();
64 connect(ui->phEdit, &QDoubleSpinBox::textChanged, this, &EditWater::water_changed); 65 connect(ui->phEdit, &QDoubleSpinBox::textChanged, this, &EditWater::water_changed);
65 connect(ui->alkalinityEdit, &QDoubleSpinBox::textChanged, this, &EditWater::alkalinity_changed); 66 connect(ui->alkalinityEdit, &QDoubleSpinBox::textChanged, this, &EditWater::alkalinity_changed);
66 connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(is_changed())); 67 connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(is_changed()));
67 connect(ui->inventoryEdit, &QDoubleSpinBox::textChanged, this, &EditWater::is_changed); 68 connect(ui->inventoryEdit, &QDoubleSpinBox::textChanged, this, &EditWater::is_changed);
68 connect(ui->costEdit, &QDoubleSpinBox::textChanged, this, &EditWater::is_changed); 69 connect(ui->costEdit, &QDoubleSpinBox::textChanged, this, &EditWater::is_changed);
70 connect(ui->noEdit, &QDoubleSpinBox::textChanged, this, &EditWater::water_changed);
69 71
70 ui->saveButton->setEnabled(false); 72 ui->saveButton->setEnabled(false);
71 ui->deleteButton->setEnabled((ui->inventoryEdit->value() == 0 && id >= 0) ? true:false); 73 ui->deleteButton->setEnabled((ui->inventoryEdit->value() == 0 && id >= 0) ? true:false);
72 } 74 }
73 75
112 114
113 if (this->textIsChanged) { 115 if (this->textIsChanged) {
114 if (this->recno == -1) { 116 if (this->recno == -1) {
115 query.prepare("INSERT INTO inventory_waters SET name=:name, unlimited_stock=:unlimited, calcium=:ca, " 117 query.prepare("INSERT INTO inventory_waters SET name=:name, unlimited_stock=:unlimited, calcium=:ca, "
116 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, " 118 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, "
117 "total_alkalinity=:alkalinity, inventory=:inventory, cost=:cost, uuid = :uuid"); 119 "total_alkalinity=:alkalinity, inventory=:inventory, cost=:cost, nitrate=:no, uuid = :uuid");
118 } else { 120 } else {
119 query.prepare("UPDATE inventory_waters SET name=:name, unlimited_stock=:unlimited, calcium=:ca, " 121 query.prepare("UPDATE inventory_waters SET name=:name, unlimited_stock=:unlimited, calcium=:ca, "
120 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, " 122 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, "
121 "total_alkalinity=:alkalinity, inventory=:inventory, cost=:cost WHERE record = :recno"); 123 "total_alkalinity=:alkalinity, inventory=:inventory, cost=:cost, nitrate=:no WHERE record = :recno");
122 } 124 }
123 query.bindValue(":name", ui->nameEdit->text()); 125 query.bindValue(":name", ui->nameEdit->text());
124 query.bindValue(":unlimited", ui->unlimitedEdit->isChecked() ? 1:0); 126 query.bindValue(":unlimited", ui->unlimitedEdit->isChecked() ? 1:0);
125 query.bindValue(":ca", QString("%1").arg(ui->caEdit->value(), 2, 'f', 1, '0')); 127 query.bindValue(":ca", QString("%1").arg(ui->caEdit->value(), 2, 'f', 1, '0'));
126 query.bindValue(":hco", QString("%1").arg(ui->hcoEdit->value(), 2, 'f', 1, '0')); 128 query.bindValue(":hco", QString("%1").arg(ui->hcoEdit->value(), 2, 'f', 1, '0'));
131 query.bindValue(":ph", QString("%1").arg(ui->phEdit->value(), 3, 'f', 2, '0')); 133 query.bindValue(":ph", QString("%1").arg(ui->phEdit->value(), 3, 'f', 2, '0'));
132 query.bindValue(":notes", ui->notesEdit->toPlainText()); 134 query.bindValue(":notes", ui->notesEdit->toPlainText());
133 query.bindValue(":alkalinity", QString("%1").arg(ui->alkalinityEdit->value(), 2, 'f', 1, '0')); 135 query.bindValue(":alkalinity", QString("%1").arg(ui->alkalinityEdit->value(), 2, 'f', 1, '0'));
134 query.bindValue(":inventory", QString("%1").arg(ui->inventoryEdit->value(), 2, 'f', 1, '0')); 136 query.bindValue(":inventory", QString("%1").arg(ui->inventoryEdit->value(), 2, 'f', 1, '0'));
135 query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 6, 'f', 5, '0')); 137 query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 6, 'f', 5, '0'));
138 query.bindValue(":no", QString("%1").arg(ui->noEdit->value(), 3, 'f', 2, '0'));
136 if (this->recno == -1) { 139 if (this->recno == -1) {
137 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); 140 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
138 } else { 141 } else {
139 query.bindValue(":recno", this->recno); 142 query.bindValue(":recno", this->recno);
140 } 143 }
182 185
183 void EditWater::WaterSet() 186 void EditWater::WaterSet()
184 { 187 {
185 double cations, anions, balance; 188 double cations, anions, balance;
186 189
190 double CaCO3 = ui->hcoEdit->value() / 1.22;
191 double pH = ui->phEdit->value();
192 double CO3 = ((CaCO3 / 50) / (1+(2* pow(10, pH - 10.33))) * pow(10, pH - 10.33)) * 60;
187 cations = (ui->caEdit->value() / 20.039) + (ui->mgEdit->value() / 12.1525) + (ui->naEdit->value() / 22.989); 193 cations = (ui->caEdit->value() / 20.039) + (ui->mgEdit->value() / 12.1525) + (ui->naEdit->value() / 22.989);
188 anions = (ui->hcoEdit->value() / 61.016) + (ui->so4Edit->value() / 48.031) + (ui->clEdit->value() / 35.4527); 194 anions = (ui->hcoEdit->value() / 61.016) + (CO3 / 30) + (ui->so4Edit->value() / 48.031) +
195 (ui->clEdit->value() / 35.4527) + (ui->noEdit->value() / 62.0049);
189 balance = round((cations - anions) * 100) / 100; 196 balance = round((cations - anions) * 100) / 100;
190 ui->balanceEdit->setValue(balance); 197 ui->balanceEdit->setValue(balance);
198 ui->co3Edit->setValue(CO3);
199 //qDebug() << A13 << B13 << CO3;
191 200
192 if (balance <= 0.1 && balance >= -0.1) { 201 if (balance <= 0.1 && balance >= -0.1) {
193 ui->balanceIcon->setPixmap(QPixmap(":icons/silk/tick.png")); 202 ui->balanceIcon->setPixmap(QPixmap(":icons/silk/tick.png"));
194 } else if (balance <= 0.5 && balance >= -0.5) { 203 } else if (balance <= 0.5 && balance >= -0.5) {
195 ui->balanceIcon->setPixmap(QPixmap(":icons/silk/thumb_down.png")); 204 ui->balanceIcon->setPixmap(QPixmap(":icons/silk/thumb_down.png"));

mercurial