diff --git a/.idea/other.xml b/.idea/other.xml deleted file mode 100644 index 0d3a1fb..0000000 --- a/.idea/other.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/java/kz/istt/locust/DbOpenHelper.java b/app/src/main/java/kz/istt/locust/DbOpenHelper.java index c97f219..9c3a99b 100644 --- a/app/src/main/java/kz/istt/locust/DbOpenHelper.java +++ b/app/src/main/java/kz/istt/locust/DbOpenHelper.java @@ -741,8 +741,8 @@ public class DbOpenHelper extends SQLiteOpenHelper "spr_damage boolean," + //Система опрыскивания: повреждены распылители или сопла? (Да, Нет) "spr_damage_place text," + //Если Да, какие повреждения? (Текст) - "spr_treated_area_check boolean,"+// Обработанная площадь (проверено бригадой по мониторингу) (га) - //"spr_fact_volume float," + // Фактическая норма объема опрыскивания (л/га) Расчет: (объем/площадь) + "spr_treated_area_check float,"+// Обработанная площадь (проверено бригадой по мониторингу) (га) + "spr_fact_volume float," + // Фактическая норма объема опрыскивания (л/га) Расчет: (объем/площадь) "spr_observation boolean," + // Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов? "spr_description text," + // Замечания относительно наблюдаемой практики опрыскивания @@ -762,7 +762,7 @@ public class DbOpenHelper extends SQLiteOpenHelper "efficacy_impact_type_id integer," + // Тип оцениваемого биологического воздействия "efficacy_mortality float," + // Наблюдаемая эффективность обработки (%) "efficacy_passed_time float," + // Прошло времени после обработки - "efficacy_mortality_method integer," + // Метод оценки эффективности обработки (выбор: подсчет квадратов; подсчет по разрезам; подсчет кулиг личинок; другое) + "efficacy_mortality_method_id integer," + // Метод оценки эффективности обработки (выбор: подсчет квадратов; подсчет по разрезам; подсчет кулиг личинок; другое) // Здоровье человека "hlth_clothing_state text," + // Замечания относительно типа и состояния средств индивидуальной защиты @@ -1259,8 +1259,8 @@ public class DbOpenHelper extends SQLiteOpenHelper "spr_damage boolean," + //Система опрыскивания: повреждены распылители или сопла? (Да, Нет) "spr_damage_place text," + //Если Да, какие повреждения? (Текст) - "spr_treated_area_check boolean,"+// Обработанная площадь (проверено бригадой по мониторингу) (га) - //"spr_fact_volume float," + // Фактическая норма объема опрыскивания (л/га) Расчет: (объем/площадь) + "spr_treated_area_check float,"+// Обработанная площадь (проверено бригадой по мониторингу) (га) + "spr_fact_volume float," + // Фактическая норма объема опрыскивания (л/га) Расчет: (объем/площадь) "spr_observation boolean," + // Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов? "spr_description text," + // Замечания относительно наблюдаемой практики опрыскивания @@ -1404,6 +1404,13 @@ public class DbOpenHelper extends SQLiteOpenHelper db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN spr_leak_place TEXT;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN spr_damage_place TEXT;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN spr_treated_area_check TO spr_treated_area_check_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN spr_treated_area_check float;"); + + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN spr_fact_volume float;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN efficacy_mortality_method_id integer;"); + + oldVersion=153; } diff --git a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java index 1e9bb13..a574274 100644 --- a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java @@ -122,6 +122,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public EditText edtInfestedArea = null; // заселенная площадь(га) public EditText edtTreatedArea = null; // обработанная площадь(га) + public EditText edtTreatedAreaCheck = null; //H Обработанная площадь (проверено бригадой по мониторингу) (га) public View spiVegType = null; // Тип(дикая, культурная) public EditText edtVegHeight = null; // Высота (м) public View spiVegCover = null; // Растительный покров (Редкий, Ср., Густой) @@ -144,10 +145,31 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public View spiInsContainerState = null; //H Состояние пакетов или контейнеров с инсектицидами public EditText edtInsUsedVolume = null; // Общий объем использованной рабочей жидкости (л) + public EditText edtSprFactVolume = null; //H Фактическая норма объема опрыскивания (л/га) + public View spiSprObservation = null; //H Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов? + public EditText edtSprDescription = null; //H Замечания относительно наблюдаемой практики опрыскивания - public View spiEffectiveness = null; // Контроль эфективности - public View spiTypeImpact = null; // Тип оцениваемого биологического воздействия + public View spiCalibrConsumptionCheck = null; //H Калибровка расхода жидкости: проверялся ли расход жидкости опрыскивателя во время мониторинга? + public EditText edtCalibrTime = null; //H Время калибровки (мин.): + public EditText edtCalibrVolume = null; //H Собранный объем (л): + public EditText edtCalibrRate = null; //H Расход жидкости (л/мин): + public View spiCalibrPrecipitation = null; //H Качество применения: проверялось ли осаждение капель во время мониторинга? + public EditText edtCalibrWidthCard = null; //H Длина трансекты, определенная с использованием масляно-/водочувствительной бумаги (м) + public EditText edtCalibrWindSpeed = null; //H Средняя скорость ветра при осаждении капель (м/с) + public EditText edtCalibrDropletCoating = null; //H Ширина дорожки с хорошим покрытием капель (м) + public EditText edtCalibrPassesInterval = null; //H Рекомендуемый интервал между проходами (м) + public View spiEffControl = null; // Контроль эфективности + public View spiEffTypeImpact = null; // Тип оцениваемого биологического воздействия + public EditText edtEffMortality = null; // смертность саранчи(%) + public EditText edtEffPassedTime = null; // Прошло времени после обработки в часах + public View spiEffMethod = null; // метод подсчета смертности + + public View spiEffControl2 = null; //H Проведен ли контроль эффективности (бригада мониторинга)? + public View spiEffTypeImpact2 = null; //H Тип оцениваемого биологического воздействия + public EditText edtEffMortality2 = null; //H Наблюдаемая эффективность обработки (%) + public EditText edtEffPassedTime2 = null; //H Прошло времени после обработки + public View spiEffMethod2 = null; //H Метод оценки эффективности обработки (выбор: подсчет квадратов; подсчет по разрезам; подсчет кулиг личинок; другое) //public EditText edtInsUsedVolume = null; // Общий объем использованной рабочей жидкости (л) // public DateInput edtInsExpiryDate = null; // окончание срока действия (дата) @@ -187,7 +209,6 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public EditText edtSprHeight = null; // Высота над поверхностью почвы (м) public View spiSprLeak = null; //H Механическая безопасность: наблюдалась ли утечка инсектицида? - public View spiSprLeak = null; //H Механическая безопасность: наблюдалась ли утечка инсектицида? public EditText edtSprLeakPlace = null; //H Если Да, в какой части опрыскивателя имеется утечка? public View spiSprDamage = null; //H Система опрыскивания: повреждены распылители или сопла? public EditText edtSprDamagePlace = null; //H Если Да, какие повреждения? @@ -200,13 +221,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public EditText edtSprSpeed = null; // Скорость движения (км/ч) public View spiSprMarking = null; // Наземная маркировка(Сиг-нальщики, GPS, Машина, Нет) - public CheckBox cbEffectiveness = null; // Галочка чтоб сделать поля не обязательными - - public EditText edtEffMortality = null; // смертность саранчи(%) - public EditText edtEffTime = null; // Прошло времени после обработки в часах - public View spiEffMethod = null; // метод подсчета смертности - - +//+++++++++++++++++++ public CheckBox cbSafClothingGoggles = null; // Какой защитной одеждой пользовался оператор: Очки public CheckBox cbSafClothingMasks = null; // Какой защитной одеждой пользовался оператор: Маска public CheckBox cbSafClothingGloves = null; // Какой защитной одеждой пользовался оператор: Перчатки @@ -875,40 +890,77 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi edtTreatedArea = (EditText) findViewById(R.id.edtTreatedArea); guiTableDel.add(edtTreatedArea, "treated_area"); -//H Обработанная площадь (проверено бригадой по мониторингу) (га) - + //H Обработанная площадь (проверено бригадой по мониторингу) (га) + edtTreatedAreaCheck = (EditText) findViewById(R.id.edtTreatedAreaCheck); + guiTableHealth.add(edtTreatedAreaCheck, "spr_treated_area_check"); // Общий объем использованной рабочей жидкости (л) edtInsUsedVolume = (EditText) findViewById(R.id.edtInsUsedVolume); guiTableDel.add(edtInsUsedVolume, "insecticide_used_volume"); -//H Фактическая норма объема опрыскивания (л/га) -//H Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов? -//H Замечания относительно наблюдаемой практики опрыскивания + //H Фактическая норма объема опрыскивания (л/га) + edtSprFactVolume = (EditText) findViewById(R.id.edtSprFactVolume); + guiTableHealth.add(edtSprFactVolume, "spr_fact_volume"); -//********** Калибровка опрыскивателя ********** + //H Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов? + spiSprObservation = findViewById(R.id.spiSprObservation); + guiTableHealth.add(spiSprObservation, "spr_observation"); + ((selectDB)spiSprObservation).addField("", ""); + ((selectDB)spiSprObservation).addField(getString(R.string.Yes), "1"); + ((selectDB)spiSprObservation).addField(getString(R.string.No), "0"); -//H Калибровка расхода жидкости: проверялся ли расход жидкости опрыскивателя во время мониторинга? -//H Время калибровки (мин.): -//H Собранный объем (л): -//H Расход жидкости (л/мин): -//H Качество применения: проверялось ли осаждение капель во время мониторинга? -//H Длина трансекты, определенная с использованием масляно-/водочувствительной бумаги (м) -//H Средняя скорость ветра при осаждении капель (м/с) -//H Ширина дорожки с хорошим покрытием капель (м) -//H Рекомендуемый интервал между проходами (м) + //H Замечания относительно наблюдаемой практики опрыскивания + edtSprDescription = (EditText) findViewById(R.id.edtSprDescription); + guiTableHealth.add(edtSprDescription, "spr_description"); - // Контроль эфективности - spiEffectiveness = findViewById(R.id.spiEffectiveness); - guiTableDel.add(spiEffectiveness, "efficiency"); - ((selectDB)spiEffectiveness).addField("", ""); - ((selectDB)spiEffectiveness).addField(getString(R.string.Yes), "1"); - ((selectDB)spiEffectiveness).addField(getString(R.string.No), "0"); + //********** Калибровка опрыскивателя ********** + //H Калибровка расхода жидкости: проверялся ли расход жидкости опрыскивателя во время мониторинга? + spiCalibrConsumptionCheck = findViewById(R.id.spiCalibrConsumptionCheck); + guiTableHealth.add(spiCalibrConsumptionCheck, "calibr_consumption_check"); + ((selectDB)spiCalibrConsumptionCheck).addField("", ""); + ((selectDB)spiCalibrConsumptionCheck).addField(getString(R.string.Yes), "1"); + ((selectDB)spiCalibrConsumptionCheck).addField(getString(R.string.No), "0"); + //H Время калибровки (мин.): + edtCalibrTime = (EditText) findViewById(R.id.edtCalibrTime); + guiTableHealth.add(edtCalibrTime, "calibr_time"); + //H Собранный объем (л): + edtCalibrVolume = (EditText) findViewById(R.id.edtCalibrVolume); + guiTableHealth.add(edtCalibrVolume, "calibr_volume"); + //H Расход жидкости (л/мин): + edtCalibrRate = (EditText) findViewById(R.id.edtCalibrRate); + guiTableHealth.add(edtCalibrRate, "calibr_rate"); + //H Качество применения: проверялось ли осаждение капель во время мониторинга? + spiCalibrPrecipitation = findViewById(R.id.spiCalibrPrecipitation); + guiTableHealth.add(spiCalibrPrecipitation, "calibr_precipitation"); + ((selectDB)spiCalibrPrecipitation).addField("", ""); + ((selectDB)spiCalibrPrecipitation).addField(getString(R.string.Yes), "1"); + ((selectDB)spiCalibrPrecipitation).addField(getString(R.string.No), "0"); + //H Длина трансекты, определенная с использованием масляно-/водочувствительной бумаги (м) + edtCalibrWidthCard = (EditText) findViewById(R.id.edtCalibrWidthCard); + guiTableHealth.add(edtSprDescription, "calibr_width_card"); + //H Средняя скорость ветра при осаждении капель (м/с) + edtCalibrWindSpeed = (EditText) findViewById(R.id.edtCalibrWindSpeed); + guiTableHealth.add(edtCalibrWindSpeed, "calibr_wind_speed"); + //H Ширина дорожки с хорошим покрытием капель (м) + edtCalibrDropletCoating = (EditText) findViewById(R.id.edtCalibrDropletCoating); + guiTableHealth.add(edtCalibrDropletCoating, "calibr_droplet_coating"); + //H Рекомендуемый интервал между проходами (м) + edtCalibrPassesInterval = (EditText) findViewById(R.id.edtCalibrPassesInterval); + guiTableHealth.add(edtCalibrPassesInterval, "calibr_passes_interval"); + + + //********** Контроль эфективности ********** + //Контроль эфективности + spiEffControl = findViewById(R.id.spiEffControl); + guiTableDel.add(spiEffControl, "efficiency"); + ((selectDB)spiEffControl).addField("", ""); + ((selectDB)spiEffControl).addField(getString(R.string.Yes), "1"); + ((selectDB)spiEffControl).addField(getString(R.string.No), "0"); //Тип оцениваемого биологического воздействия - spiTypeImpact = findViewById(R.id.spiTypeImpact); - guiTableDel.add(spiTypeImpact, "efficacy_impact_id"); - ((selectDB)spiTypeImpact).addField("", ""); + spiEffTypeImpact = findViewById(R.id.spiEffTypeImpact); + guiTableDel.add(spiEffTypeImpact, "efficacy_impact_id"); + ((selectDB)spiEffTypeImpact).addField("", ""); dboh = new DbOpenHelper(this); cursor = dboh .getReadableDatabase() @@ -919,7 +971,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi { do { - ((selectDB)spiTypeImpact).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); + ((selectDB)spiEffTypeImpact).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); } while (cursor.moveToNext()); } cursor.close(); @@ -930,8 +982,8 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi guiTableDel.add(edtEffMortality, "efficacy_mortality"); // Прошло времени после обработки - edtEffTime = (EditText) findViewById(R.id.edtEffTime); - guiTableDel.add(edtEffTime, "efficacy_passed_time"); + edtEffPassedTime = (EditText) findViewById(R.id.edtEffPassedTime); + guiTableDel.add(edtEffPassedTime, "efficacy_passed_time"); // Метод оценки эфективности обработок spiEffMethod = findViewById(R.id.spiEffMethod); @@ -953,11 +1005,58 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi cursor.close(); dboh.close(); -//H Проведен ли контроль эффективности (бригада мониторинга)? -//H Тип оцениваемого биологического воздействия -//H Наблюдаемая эффективность обработки (%) -//H Прошло времени после обработки -//H Метод оценки эффективности обработки (выбор: подсчет квадратов; подсчет по разрезам; подсчет кулиг личинок; другое) + //H Проведен ли контроль эффективности (бригада мониторинга)? + spiEffControl2 = findViewById(R.id.spiEffControl2); + guiTableDel.add(spiEffControl2, "efficacy_control"); + ((selectDB)spiEffControl2).addField("", ""); + ((selectDB)spiEffControl2).addField(getString(R.string.Yes), "1"); + ((selectDB)spiEffControl2).addField(getString(R.string.No), "0"); + //H Тип оцениваемого биологического воздействия + spiEffTypeImpact2 = findViewById(R.id.spiEffTypeImpact2); + guiTableDel.add(spiEffTypeImpact2, "efficacy_impact_type_id"); + ((selectDB)spiEffTypeImpact2).addField("", ""); + dboh = new DbOpenHelper(this); + cursor = dboh + .getReadableDatabase() + .rawQuery( + "select d.id, COALESCE((SELECT translation FROM _translations t JOIN _languages l ON t.language_id=l.id WHERE t.del = 0 AND identifier = d.name AND l.short_name='" + + Tools.getLang() + "' LIMIT 1),d.name) name from list_impact d where d.del=0 order by d.sort,d.name", null); + if (cursor.moveToFirst()) + { + do + { + ((selectDB)spiEffTypeImpact2).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); + } while (cursor.moveToNext()); + } + cursor.close(); + dboh.close(); + + //H Наблюдаемая эффективность обработки (%) + edtEffMortality2 = (EditText) findViewById(R.id.edtEffMortality2); + guiTableDel.add(edtEffMortality2, "efficacy_mortality"); + //H Прошло времени после обработки + edtEffPassedTime2 = (EditText) findViewById(R.id.edtEffPassedTime2); + guiTableHealth.add(edtEffPassedTime2, "efficacy_passed_time"); + //H Метод оценки эффективности обработки (выбор: подсчет квадратов; подсчет по разрезам; подсчет кулиг личинок; другое) + spiEffMethod2 = findViewById(R.id.spiEffMethod2); + guiTableHealth.add(spiEffMethod2, "efficacy_mortality_method_id"); + ((selectDB)spiEffMethod2).addField("", ""); + dboh = new DbOpenHelper(this); + cursor = dboh + .getReadableDatabase() + .rawQuery( + "select d.id, COALESCE((SELECT translation FROM _translations t JOIN _languages l ON t.language_id=l.id WHERE t.del = 0 AND identifier = d.name AND l.short_name='" + + Tools.getLang() + "' LIMIT 1),d.name) name from list_mortality d where d.del=0 order by d.sort,d.name", null); + if (cursor.moveToFirst()) + { + do + { + ((selectDB)spiEffMethod2).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); + } while (cursor.moveToNext()); + } + cursor.close(); + dboh.close(); + //**********Здоровье человека********** // Индивидуальные средства защиты @@ -1013,10 +1112,10 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //Защитная одежда читая и в хорошем состоянии spiHlthProtectiveClothingClean = findViewById(R.id.spiHlthProtectiveClothingClean); - guiTableHealth.add(spiEffectiveness, "safety_clothing_clean"); - ((selectDB)spiEffectiveness).addField("", ""); - ((selectDB)spiEffectiveness).addField(getString(R.string.Yes), "1"); - ((selectDB)spiEffectiveness).addField(getString(R.string.No), "0"); + guiTableHealth.add(spiHlthProtectiveClothingClean, "safety_clothing_clean"); + ((selectDB)spiHlthProtectiveClothingClean).addField("", ""); + ((selectDB)spiHlthProtectiveClothingClean).addField(getString(R.string.Yes), "1"); + ((selectDB)spiHlthProtectiveClothingClean).addField(getString(R.string.No), "0"); //H Замечания относительно типа и состояния средств индивидуальной защиты diff --git a/app/src/main/res/layout/activity_locust_health.xml b/app/src/main/res/layout/activity_locust_health.xml index 497de0c..33f0590 100644 --- a/app/src/main/res/layout/activity_locust_health.xml +++ b/app/src/main/res/layout/activity_locust_health.xml @@ -1841,7 +1841,7 @@ app:boxBackgroundColor="@color/transparent"> @@ -2418,7 +2418,7 @@ android:layout_height="wrap_content" android:hint="@string/Type_of_assessed_biological_impact"> @@ -2441,6 +2441,7 @@ app:boxBackgroundColor="@color/transparent">