DmitrMakeev commited on
Commit
0d92d57
·
verified ·
1 Parent(s): e234896

Update nutri_call.html

Browse files
Files changed (1) hide show
  1. nutri_call.html +36 -21
nutri_call.html CHANGED
@@ -1095,29 +1095,44 @@ function updateNitrogenFields(data) {
1095
 
1096
 
1097
  // Функция для расчета соотношения NPK
1098
- function updateNPK(data) {
1099
  console.log("=== РАСЧЕТ СООТНОШЕНИЯ NPK ===");
 
1100
  // Извлекаем значения из actual_profile
1101
- const nValue = data.actual_profile["N (NH4+)"] + data.actual_profile["N (NO3-)"];
1102
- const pValue = data.actual_profile["P"];
1103
- const kValue = data.actual_profile["K"];
1104
- // Проверяем, что значения существуют
1105
- if (nValue !== undefined && pValue !== undefined && kValue !== undefined) {
1106
- console.log(`Значения NPK: N=${nValue}, P=${pValue}, K=${kValue}`);
1107
- // Находим минимальное значение
1108
- const minValue = Math.min(nValue, pValue, kValue);
1109
- // Рассчитываем соотношение
1110
- const nRatio = Math.round(nValue / minValue);
1111
- const pRatio = Math.round(pValue / minValue);
1112
- const kRatio = Math.round(kValue / minValue);
1113
- console.log(`Соотношение NPK: ${nRatio}:${pRatio}:${kRatio}`);
1114
- // Обновляем поля на странице
1115
- document.getElementById("npk-n-value").textContent = nRatio;
1116
- document.getElementById("npk-p-value").textContent = pRatio;
1117
- document.getElementById("npk-k-value").textContent = kRatio;
1118
- } else {
1119
- console.error("Ошибка: Значения NPK не найдены в ответе сервера.");
1120
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1121
  }
1122
 
1123
 
 
1095
 
1096
 
1097
  // Функция для расчета соотношения NPK
1098
+ function updateNPK(data) (data) {
1099
  console.log("=== РАСЧЕТ СООТНОШЕНИЯ NPK ===");
1100
+
1101
  // Извлекаем значения из actual_profile
1102
+ const nValue = (data.actual_profile["N (NH4+)"] || 0) + (data.actual_profile["N (NO3-)"] || 0);
1103
+ const pValue = data.actual_profile["P"] || 0;
1104
+ const kValue = data.actual_profile["K"] || 0;
1105
+
1106
+ // Переводим в оксидную форму
1107
+ const nOxide = nValue; // N остается без изменений
1108
+ const pOxide = pValue * 2.29; // P P2O5
1109
+ const kOxide = kValue * 1.2; // K → K2O
1110
+
1111
+ console.log(`Оксидная форма: N=${nOxide.toFixed(2)}, P2O5=${pOxide.toFixed(2)}, K2O=${kOxide.toFixed(2)}`);
1112
+
1113
+ // Сумма активных питательных веществ
1114
+ const sumNPK = nOxide + pOxide + kOxide;
1115
+
1116
+ // Процентное содержание относительно суммы NPK
1117
+ const nPercent = (nOxide / sumNPK) * 100;
1118
+ const pPercent = (pOxide / sumNPK) * 100;
1119
+ const kPercent = (kOxide / sumNPK) * 100;
1120
+
1121
+ console.log(`Проценты: N=${nPercent.toFixed(2)}%, P2O5=${pPercent.toFixed(2)}%, K2O=${kPercent.toFixed(2)}%`);
1122
+
1123
+ // Применяем коэффициент нормировки (÷2)
1124
+ const nNormalized = nPercent / 2;
1125
+ const pNormalized = pPercent / 2;
1126
+ const kNormalized = kPercent / 2;
1127
+
1128
+ console.log(`Нормированные значения: N=${nNormalized.toFixed(1)}, P2O5=${pNormalized.toFixed(1)}, K2O=${kNormalized.toFixed(1)}`);
1129
+
1130
+ // Выводим результат
1131
+ return {
1132
+ N: nNormalized.toFixed(1),
1133
+ P2O5: pNormalized.toFixed(1),
1134
+ K2O: kNormalized.toFixed(1)
1135
+ };
1136
  }
1137
 
1138