diff --git a/app/src/main/java/kz/istt/locust/DBGUITable.java b/app/src/main/java/kz/istt/locust/DBGUITable.java index 5a905a3..f9cd4d0 100644 --- a/app/src/main/java/kz/istt/locust/DBGUITable.java +++ b/app/src/main/java/kz/istt/locust/DBGUITable.java @@ -304,7 +304,7 @@ public class DBGUITable Log.e("CCALM", "1 field " + cursor.getColumnName(i) + " = " + cursor.getString(i) + " type= " + cursor.getType(i)); } - if(cursor.getType(i)==2){ //Because cutting double + if(cursor.getType(i)==Cursor.FIELD_TYPE_FLOAT){ //Because cutting double setValue(obj, ""+cursor.getDouble(i)); }else { setValue(obj, cursor.getString(i)); diff --git a/app/src/main/java/kz/istt/locust/LocustDelActivity.java b/app/src/main/java/kz/istt/locust/LocustDelActivity.java index 8135b48..563a023 100644 --- a/app/src/main/java/kz/istt/locust/LocustDelActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustDelActivity.java @@ -2474,7 +2474,7 @@ public class LocustDelActivity extends FragmentActivity implements LocationListe if(!eFields && !isGONE(spiSafNonTarget) && ((selectDB)spiSafNonTarget).getText().toString().isBlank()) // воздействие на нецелевые организмы { scrollTo(spiSafNonTarget); - atxt = atxt + ": \"" + getResources().getString(R.string.Effect_on_non_terget_organism) + "\"!"; + atxt = atxt + ": \"" + getResources().getString(R.string.Effect_on_non_target_organism) + "\"!"; eFields = true; } if (eFields) // Если не заполнены все обязательные поля diff --git a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java index efa5829..07911fc 100644 --- a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java @@ -1,11 +1,13 @@ package kz.istt.locust; +import android.Manifest; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteStatement; @@ -35,6 +37,7 @@ import android.widget.ListView; import android.widget.ScrollView; import android.widget.Toast; +import androidx.core.app.ActivityCompat; import androidx.core.content.FileProvider; import androidx.fragment.app.FragmentActivity; @@ -44,9 +47,12 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.UUID; import java.util.zip.CRC32; @@ -102,6 +108,9 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public EditText edtObserverHealth = null; //H Имя руководителя бригады по мониторингу ЗЧ и ОС public EditText edtMonitoringDate = null; //H Дата мониторинга public EditText edtMonitoringTimeZone = null; //H Временная зона для: Дата мониторинга + public EditText edtLatCenter2 = null; // Широта + public EditText edtLonCenter2 = null; // Долгота + public View spiFrmLocustDelFilled = null; //H Заполнялась ли Форма по Мониторингу противосаранчовых обработок бригадой по обработке? //Бригада по обработке @@ -197,7 +206,6 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi // public DateInput edtDateCalibration = null; // Дата последней калибровки public EditText edtSprHeight = null; // Высота над поверхностью почвы (м) public View spiSprLeak = null; //H Механическая безопасность: наблюдалась ли утечка инсектицида? - public EditText edtSprLeakPlace = null; //H Если Да, в какой части опрыскивателя имеется утечка? public View spiSprDamage = null; //H Система опрыскивания: повреждены распылители или сопла? public EditText edtSprDamagePlace = null; //H Если Да, какие повреждения? @@ -313,8 +321,8 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public View btnOk = null; public View btnCancel = null; - public View btnGetGPSCenter = null; - public View btnDelGPSCenter = null; + public View btnGetGPSCenter2 = null; + public View btnDelGPSCenter2 = null; public View btnOnMap = null; public View btnImage1 = null; @@ -491,6 +499,10 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi View btnMonitoringGetDate = (View) findViewById(R.id.btnMonitoringGetDate); btnMonitoringGetDate.setOnClickListener(new OnClickListenerDateTime((fieldDB)edtMonitoringDate,this)); + edtLatCenter2 = (EditText) findViewById(R.id.edtLatCenter2); // Широта + guiTableHealth.add(edtLatCenter2, "lat_center"); + edtLonCenter2 = (EditText) findViewById(R.id.edtLonCenter2); // Долгота + guiTableHealth.add(edtLonCenter2, "lon_center"); //**********Бригада по обработке********** //H Количество работников в бригаде по обработке @@ -1003,6 +1015,23 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiSprLeak).addField("", ""); ((selectDB)spiSprLeak).addField(getString(R.string.Yes), "1"); ((selectDB)spiSprLeak).addField(getString(R.string.No), "0"); + + // Чтоб при изменении значения скрывались соответствующие поля + ((selectDB)spiSprLeak).setOnChangeValueListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + LinearLayout llSprLeakPlace = findViewById(R.id.llSprLeakPlace); + if(((selectDB)spiSprLeak).getValue() != null && ((selectDB)spiSprLeak).getValue().equals("1")) { + llSprLeakPlace.setVisibility(View.VISIBLE); + }else{ + edtSprLeakPlace.setText(""); + llSprLeakPlace.setVisibility(View.GONE); + } + } + }); + //H Если Да, в какой части опрыскивателя имеется утечка? edtSprLeakPlace = (EditText) findViewById(R.id.edtSprLeakPlace); guiTableHealth.add(edtSprLeakPlace, "spr_leak_place"); @@ -1012,6 +1041,23 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiSprDamage).addField("", ""); ((selectDB)spiSprDamage).addField(getString(R.string.Yes), "1"); ((selectDB)spiSprDamage).addField(getString(R.string.No), "0"); + + // Чтоб при изменении значения скрывались соответствующие поля + ((selectDB)spiSprDamage).setOnChangeValueListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + LinearLayout llSprDamagePlace = findViewById(R.id.llSprDamagePlace); + if(((selectDB)spiSprDamage).getValue() != null && ((selectDB)spiSprDamage).getValue().equals("1")) { + llSprDamagePlace.setVisibility(View.VISIBLE); + }else{ + edtSprDamagePlace.setText(""); + llSprDamagePlace.setVisibility(View.GONE); + } + } + }); + //H Если Да, какие повреждения? edtSprDamagePlace = (EditText) findViewById(R.id.edtSprDamagePlace); guiTableHealth.add(edtSprDamagePlace, "spr_damage_place"); @@ -1109,6 +1155,31 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiCalibrConsumptionCheck).addField("", ""); ((selectDB)spiCalibrConsumptionCheck).addField(getString(R.string.Yes), "1"); ((selectDB)spiCalibrConsumptionCheck).addField(getString(R.string.No), "0"); + + // Чтоб при изменении значения скрывались соответствующие поля + ((selectDB)spiCalibrConsumptionCheck).setOnChangeValueListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + LinearLayout llCalibrTime = findViewById(R.id.llCalibrTime); + LinearLayout llCalibrVolume = findViewById(R.id.llCalibrVolume); + LinearLayout llCalibrRate = findViewById(R.id.llCalibrRate); + if(((selectDB)spiCalibrConsumptionCheck).getValue() != null && ((selectDB)spiCalibrConsumptionCheck).getValue().equals("1")) { + llCalibrTime.setVisibility(View.VISIBLE); + llCalibrVolume.setVisibility(View.VISIBLE); + llCalibrRate.setVisibility(View.VISIBLE); + }else{ + edtCalibrTime.setText(""); + edtCalibrVolume.setText(""); + edtCalibrRate.setText(""); + llCalibrTime.setVisibility(View.GONE); + llCalibrVolume.setVisibility(View.GONE); + llCalibrRate.setVisibility(View.GONE); + } + } + }); + //H Время калибровки (мин.): edtCalibrTime = (EditText) findViewById(R.id.edtCalibrTime); guiTableHealth.add(edtCalibrTime, "calibr_time"); @@ -1124,6 +1195,35 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiCalibrPrecipitation).addField("", ""); ((selectDB)spiCalibrPrecipitation).addField(getString(R.string.Yes), "1"); ((selectDB)spiCalibrPrecipitation).addField(getString(R.string.No), "0"); + + // Чтоб при изменении значения скрывались соответствующие поля + ((selectDB)spiCalibrPrecipitation).setOnChangeValueListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + LinearLayout llCalibrWidthCard = findViewById(R.id.llCalibrWidthCard); + LinearLayout llCalibrWindSpeed = findViewById(R.id.llCalibrWindSpeed); + LinearLayout llCalibrDropletCoating = findViewById(R.id.llCalibrDropletCoating); + LinearLayout llCalibrPassesInterval = findViewById(R.id.llCalibrPassesInterval); + if(((selectDB)spiCalibrPrecipitation).getValue() != null && ((selectDB)spiCalibrPrecipitation).getValue().equals("1")) { + llCalibrWidthCard.setVisibility(View.VISIBLE); + llCalibrWindSpeed.setVisibility(View.VISIBLE); + llCalibrDropletCoating.setVisibility(View.VISIBLE); + llCalibrPassesInterval.setVisibility(View.VISIBLE); + }else{ + edtCalibrWidthCard.setText(""); + edtCalibrWindSpeed.setText(""); + edtCalibrDropletCoating.setText(""); + edtCalibrPassesInterval.setText(""); + llCalibrWidthCard.setVisibility(View.GONE); + llCalibrWindSpeed.setVisibility(View.GONE); + llCalibrDropletCoating.setVisibility(View.GONE); + llCalibrPassesInterval.setVisibility(View.GONE); + } + } + }); + //H Длина трансекты, определенная с использованием масляно-/водочувствительной бумаги (м) edtCalibrWidthCard = (EditText) findViewById(R.id.edtCalibrWidthCard); guiTableHealth.add(edtCalibrWidthCard, "calibr_width_card"); @@ -1283,19 +1383,12 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //**********Здоровье человека********** // Индивидуальные средства защиты cbSafClothingGoggles = (CheckBox) findViewById(R.id.cbSafClothingGoggles); - //cbSafClothingGoggles.setOnCheckedChangeListener(cclsl); cbSafClothingMasks = (CheckBox) findViewById(R.id.cbSafClothingMasks); - //cbSafClothingMasks.setOnCheckedChangeListener(cclsl); cbSafClothingGloves = (CheckBox) findViewById(R.id.cbSafClothingGloves); - //cbSafClothingGloves.setOnCheckedChangeListener(cclsl); cbSafClothingOveralls = (CheckBox) findViewById(R.id.cbSafClothingOveralls); - //cbSafClothingOveralls.setOnCheckedChangeListener(cclsl); cbSafClothingCaps = (CheckBox) findViewById(R.id.cbSafClothingCaps); - //cbSafClothingCaps.setOnCheckedChangeListener(cclsl); cbSafClothingBoots = (CheckBox) findViewById(R.id.cbSafClothingBoots); - //cbSafClothingBoots.setOnCheckedChangeListener(cclsl); cbSafClothingAbsent = (CheckBox) findViewById(R.id.cbSafClothingAbsent); - //cbSafClothingAbsent.setOnCheckedChangeListener(cclsl); edtClothing = (EditText) findViewById(R.id.edtClothing); guiTableDel.add(edtClothing, "safety_clothing"); @@ -1499,6 +1592,21 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiSafControl).addField("", ""); ((selectDB)spiSafControl).addField(getString(R.string.Yes), "1"); ((selectDB)spiSafControl).addField(getString(R.string.No), "0"); + // Чтоб при изменении значения скрывались соответствующие поля + ((selectDB)spiSafControl).setOnChangeValueListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + LinearLayout llSafControlActions = findViewById(R.id.llSafControlActions); + if(((selectDB)spiSafControl).getValue() != null && ((selectDB)spiSafControl).getValue().equals("1")) { + llSafControlActions.setVisibility(View.VISIBLE); + }else{ + edtSafControlActions.setText(""); + llSafControlActions.setVisibility(View.GONE); + } + } + }); //H Если Да, опишите последующее действие(я) edtSafControlActions = (EditText) findViewById(R.id.edtSafControlActions); @@ -1942,9 +2050,6 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi edtRiskProbeAnalysisNumber = (EditText) findViewById(R.id.edtRiskProbeAnalysisNumber); guiTableHealth.add(edtRiskProbeAnalysisNumber, "risk_probe_analysis_number"); - - - Integer user_id = null; /*DbOpenHelper dboh = new DbOpenHelper(this); SQLiteDatabase db = dboh.getReadableDatabase(); @@ -1966,867 +2071,46 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi guiTableHealth.add(m_Filled, "filled"); -/* - btnInfoSafNonTargetEffectPerson = findViewById(R.id.btnInfoSafNonTargetEffectPerson); - btnInfoSafNonTargetEffectPerson.setOnClickListener( - new OnClickListener() - { - @Override - public void onClick(View v) - { - AlertDialog.Builder builder = new AlertDialog.Builder(LocustHealthActivity.this); - builder.setTitle(getString(R.string.Help)) - .setMessage("This is your help text. You can customize this as needed.") - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog dialog = builder.create(); - dialog.show(); - } - } - ); -*/ - - //edtImage1 = (EditText) findViewById(R.id.edtImage1); // Фото - //guiTable.add(edtImage1, "image_name1"); - //edtImage2 = (EditText) findViewById(R.id.edtImage2); // Фото - //guiTable.add(edtImage2, "image_name2"); - //edtImage3 = (EditText) findViewById(R.id.edtImage3); // Фото - //guiTable.add(edtImage3, "image_name3"); - - //spiCountry = findViewById(R.id.spiCountry); // страна - //guiTable.add(spiCountry, "country_id"); - //((selectDB)spiCountry).addField("", ""); - // Выбираем страны и заполняем поля - //dboh = new DbOpenHelper(this); - //cursor = dboh.getReadableDatabase().rawQuery("select id, name from countries where del=0 order by name", null); - //if (cursor.moveToFirst()) - //{ - // do - // { - // ((selectDB)spiCountry).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); - // } while (cursor.moveToNext()); - //} - //cursor.close(); - //dboh.close(); - - // Чтоб при изменении страны обновлялся список регионов -// ((selectDB)spiCountry).setOnChangeValueListener(new OnClickListener() -// { -// @Override -// public void onClick(View v) -// { -// ((selectDB)spiRegion).clearFields(); -// ((selectDB)spiRegion).addField("", ""); -// -// if(((selectDB)spiCountry).getValue() != null && !((selectDB)spiCountry).getValue().equals("")) -// { -// DbOpenHelper dboh = new DbOpenHelper(LocustHealthActivity.this); -// Cursor cursor = dboh.getReadableDatabase().rawQuery( -// "select id, name from countriesregions where del=0 and country_id=" + ((selectDB)spiCountry).getValue() + " order by name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiRegion).addField(cursor.getString(cursor.getColumnIndex("name")), -// cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// } -// } -// }); - -// spiRegion = findViewById(R.id.spiRegion); // Регион -// guiTable.add(spiRegion, "region_id"); -// -// edtArea = (EditText) findViewById(R.id.edtArea); // Район -// guiTable.add(edtArea, "area"); -// edtDistrict = (EditText) findViewById(R.id.edtDistrict); -// guiTable.add(edtDistrict, "district"); -// -// edtVillage = (EditText) findViewById(R.id.edtVillage); // Название местности либо урочища -// guiTable.add(edtVillage, "village"); -// edtTerrain = (EditText) findViewById(R.id.edtTerrain); // Название местности либо урочища -// guiTable.add(edtTerrain, "terrain"); - -// edtObserver = (EditText) findViewById(R.id.edtObserver); -// guiTable.add(edtObserver, "observer"); -// edtDate = (EditText) findViewById(R.id.edtDate); // Должна быть уникальной -// guiTable.add(edtDate, "date"); - -// View btnGetDate = (View) findViewById(R.id.btnGetDate); - -// edtTimeZone = (EditText) findViewById(R.id.edtTimeZone); -// guiTable.add(edtTimeZone,"timezone"); -// - - -// edtInfestedArea = (EditText) findViewById(R.id.edtInfestedArea); // заселенная площадь(га) -// guiTable.add(edtInfestedArea, "infested_area"); -// edtTreatedArea = (EditText) findViewById(R.id.edtTreatedArea); // обработанная площадь(га) -// guiTable.add(edtTreatedArea, "treated_area"); - - - - - -// - -// - -// -// spiVegDamage = findViewById(R.id.spiVegDamage); // Повреждения растительного покрова(%) -// guiTable.add(spiVegDamage, "vegetation_damage"); -// ((selectDB)spiVegDamage).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_damage d where d.del=0 order by d.sort, d.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiVegDamage).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// edtVegDamageArea = (EditText) findViewById(R.id.edtVegDamageArea); // Площядь повреждения -// guiTable.add(edtVegDamageArea, "vegetation_damage_area"); -// - - -// edtInsRate = (EditText) findViewById(R.id.edtInsRate); // расход рабочей жидкости(л/га) -// guiTable.add(edtInsRate, "insecticide_rate"); -// edtInsUsedVolume = (EditText) findViewById(R.id.edtInsUsedVolume); // Общий объем использованной рабочей жидкости (л) -// guiTable.add(edtInsUsedVolume, "insecticide_used_volume"); -// -// spiWeaTimeStart = findViewById(R.id.spiWeaTimeStart); // время начала -// guiTable.add(spiWeaTimeStart, "weather_time_start"); -// ((selectDB)spiWeaTimeStart).addField("", ""); -// for (int i = 0; i < 24; i++) { -// ((selectDB) spiWeaTimeStart).addField(String.valueOf(i), String.valueOf(i)+".0"); -// } -// spiWeaTimeEnd = findViewById(R.id.spiWeaTimeEnd); // время окончания -// guiTable.add(spiWeaTimeEnd, "weather_time_end"); -// ((selectDB)spiWeaTimeEnd).addField("", ""); -// for (int i = 0; i < 24; i++) { -// ((selectDB) spiWeaTimeEnd).addField(String.valueOf(i), String.valueOf(i)+".0"); -// } -// edtWeaTemperatureStart = (EditText) findViewById(R.id.edtWeaTemperatureStart); // Температура нач.(°C) -// guiTable.add(edtWeaTemperatureStart, "weather_temperature_start"); -// edtWeaTemperatureEnd = (EditText) findViewById(R.id.edtWeaTemperatureEnd); // Температура кон.(°C) -// guiTable.add(edtWeaTemperatureEnd, "weather_temperature_end"); -// -// edtWeaWindSpeedStart = (EditText) findViewById(R.id.edtWeaWindSpeedStart); // скорость ветра нач. (м/с) -// guiTable.add(edtWeaWindSpeedStart, "weather_wind_speed_start"); -// edtWeaWindSpeedEnd = (EditText) findViewById(R.id.edtWeaWindSpeedEnd); // скорость ветра кон. (м/с) -// guiTable.add(edtWeaWindSpeedEnd, "weather_wind_speed_end"); -// -// spiWindDirectionStart = findViewById(R.id.spiWindDirectionStart); // направление ветра нач. -// guiTable.add(spiWindDirectionStart, "weather_direction_start"); -// ((selectDB)spiWindDirectionStart).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, degree from list_directions d where d.del=0 order by d.degree", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiWindDirectionStart).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiWindDirectionEnd = findViewById(R.id.spiWindDirectionEnd); // направление ветра кон. -// guiTable.add(spiWindDirectionEnd, "weather_direction_end"); -// ((selectDB)spiWindDirectionEnd).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, degree from list_directions d where d.del=0 order by d.degree", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiWindDirectionEnd).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiSprayDirectionStart = findViewById(R.id.spiSprayDirectionStart); // направление опрыскивания нач. -// guiTable.add(spiSprayDirectionStart, "weather_spray_direction_start"); -// ((selectDB)spiSprayDirectionStart).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, d.degree from list_directions d where d.del=0 and d.degree>=0 order by d.degree", -// null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprayDirectionStart).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiSprayDirectionEnd = findViewById(R.id.spiSprayDirectionEnd); // направление опрыскивания кон. -// guiTable.add(spiSprayDirectionEnd, "weather_spray_direction_end"); -// ((selectDB)spiSprayDirectionEnd).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, degree from list_directions d where d.del=0 and d.degree>=0 order by d.degree", -// null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprayDirectionEnd).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// // locuststypes -// /*spiLocSpecies = findViewById(R.id.spiLocSpeciese); -// guiTable.add(spiLocSpecies, "locust_type_id"); -// ((selectDB)spiLocSpecies).addField("", ""); -// dboh = new DbOpenHelper(this); -// cursor = dboh -// .getReadableDatabase() -// .rawQuery( -// "select lt.id, COALESCE((SELECT translation FROM _translations t JOIN _languages l ON t.language_id=l.id WHERE t.del = 0 AND identifier = lt.name AND l.short_name='" -// + Tools.getLang() + "' LIMIT 1),lt.name) name from LocustsTypes lt where lt.del=0 order by lt.sort,lt.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiLocSpecies).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close();*/ -// -// spiLocHoppers = findViewById(R.id.spiLocHoppers); // Стадии личинок -// guiTable.add(spiLocHoppers, "locust_hoppers_id"); -// ((selectDB)spiLocHoppers).addField("", ""); -// dboh = new DbOpenHelper(this); -// cursor = dboh -// .getReadableDatabase() -// .rawQuery( -// "select lt.id, COALESCE((SELECT translation FROM _translations t JOIN _languages l ON t.language_id=l.id WHERE t.del = 0 AND identifier = lt.name AND l.short_name='" -// + Tools.getLang() + "' LIMIT 1),lt.name) name from list_age lt where lt.del=0 order by lt.sort,lt.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiLocHoppers).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// /* -// * list = new ArrayList(); list.add(""); list.add(getString(R.string.Younger)); // Младшие list.add(getString(R.string.Middle)); // Средние list.add(getString(R.string.Senior)); // Старшие list.add(getString(R.string.Adult)); // Имаго -// * -// * dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list); dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spiLocHoppers.setAdapter(dataAdapter); -// */ -// -//// spiImago = findViewById(R.id.spiImago); // Стаи (да, нет) -//// guiTable.add(spiImago, "locust_imago"); -//// ((selectDB)spiImago).addField("", ""); -//// ((selectDB)spiImago).addField(getString(R.string.Have), "1"); -//// ((selectDB)spiImago).addField(getString(R.string.No), "0"); -// -// edtLocDensity = (EditText) findViewById(R.id.edtLocDensity); // плотность на м2 -// guiTable.add(edtLocDensity, "locust_density"); -// -//// spiKuliguli = findViewById(R.id.spiKuliguli); // Кулиги (да, нет) -//// guiTable.add(spiKuliguli, "locust_kuliguli"); -//// ((selectDB)spiKuliguli).addField("", ""); -//// ((selectDB)spiKuliguli).addField(getString(R.string.Have), "1"); -//// ((selectDB)spiKuliguli).addField(getString(R.string.No), "0"); -// -//// spiSwarm = findViewById(R.id.spiSwarm); // Стаи (да, нет) -//// guiTable.add(spiSwarm, "locust_swarm"); -//// ((selectDB)spiSwarm).addField("", ""); -//// ((selectDB)spiSwarm).addField(getString(R.string.Have), "1"); -//// ((selectDB)spiSwarm).addField(getString(R.string.No), "0"); -// -//// spiSparse = findViewById(R.id.spiSparse); // Разреженные (да, нет) -//// guiTable.add(spiSparse, "locust_sparse"); -//// ((selectDB)spiSparse).addField("", ""); -//// ((selectDB)spiSparse).addField(getString(R.string.Have), "1"); -//// ((selectDB)spiSparse).addField(getString(R.string.No), "0"); -// -// spiMainPurpose = findViewById(R.id.spiMainPurpose); -// guiTable.add(spiMainPurpose, "main_purpose"); -////TODO добавить выборку из справочника! -// -// spiLocustPhaseId = findViewById(R.id.spiLocustPhaseId); -// guiTable.add(spiLocustPhaseId, "locust_phase_id"); -// ((selectDB)spiLocustPhaseId).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_phase d where d.del=0 order by d.sort,d.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiLocustPhaseId).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiSprPlatform = findViewById(R.id.spiSprPlatform); // Вид опрыскивания -// guiTable.add(spiSprPlatform, "spray_platform"); -// ((selectDB)spiSprPlatform).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 sprayers_types d where d.del=0 order by d.sort,d.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprPlatform).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiSprPlatformA = findViewById(R.id.spiSprPlatformA); // «Авиа» - выпадающий список:«Самолет», «Вертолет», «Дельтаплан». -// guiTable.add(spiSprPlatformA, "spray_platform_a"); -// ((selectDB)spiSprPlatformA).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 sprayers d where d.del=0 and d.sprayer_type_id=1 order by d.sort,d.name", -// null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprPlatformA).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiSprPlatformG = findViewById(R.id.spiSprPlatformG); // «Наземное» - выпадающий список:«Трактор», «Машина», «Аэроз.генераторG». -// guiTable.add(spiSprPlatformG, "spray_platform_g"); -// ((selectDB)spiSprPlatformG).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 sprayers d where d.del=0 and d.sprayer_type_id=3 order by d.sort,d.name", -// null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprPlatformG).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// spiSprPlatformH = findViewById(R.id.spiSprPlatformH); // «Ручное» - выпадающий список:«Ранцевый», «Моторный», «Батарейный». -// guiTable.add(spiSprPlatformH, "spray_platform_h"); -// ((selectDB)spiSprPlatformH).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 sprayers d where d.del=0 and d.sprayer_type_id=5 order by d.sort,d.name", -// null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprPlatformH).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// /* -// * spiSprOperator = findViewById(R.id.spiSprOperator); // Оператор (пилот, водитель, др...) guiTable.add(spiSprOperator,"spray_operatortype_id"); spiSprOperator.addField(this, "", ""); 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_operatorstypes d where d.del=0 order by d.sort,d.name", null); if (cursor.moveToFirst()) { do { spiSprOperator.addField(this, cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); } while -// * (cursor.moveToNext()); } cursor.close(); dboh.close(); -// */ -// -// // edtSprOperatorName = (EditText) findViewById(R.id.edtSprOperatorName); // Имя оператора -// // guiTable.add(edtSprOperatorName,"spray_operator_name"); -// edtSprManufacturer = (EditText) findViewById(R.id.edtSprManufacturer); // Марка опрыскивателя/модель -// guiTable.add(edtSprManufacturer, "spray_manufacturer_name"); -// //edtSprModel = (EditText) findViewById(R.id.edtSprModel); // Модель опрыскивателя -// //guiTable.add(edtSprModel, "spray_model_name"); -// -// // edtDateCalibration = (DateInput) findViewById(R.id.edtDateCalibration); // Дата последней калибровки -// // guiTable.add(edtDateCalibration,"spray_date_calibration"); -// // edtDateCalibration.setVisibleDMY("my"); //Кроме дня -// -// edtSprHeight = (EditText) findViewById(R.id.edtSprHeight); // Высота над поверхностью почвы (м) -// guiTable.add(edtSprHeight, "spray_height"); -// // edtSprWidth = (EditText) findViewById(R.id.edtSprWidth); // Ширина захвата (м) -// // guiTable.add(edtSprWidth,"spray_width"); -// // edtSprSpacing = (EditText) findViewById(R.id.edtSprSpacing); // Расстояние между проходами опрыскивателя (м) -// // guiTable.add(edtSprSpacing,"spray_spacing"); -// spiSprBarrier = findViewById(R.id.spiSprBarrier); // Барьеры (да, нет) -// guiTable.add(spiSprBarrier, "spray_barrier"); -// ((selectDB)spiSprBarrier).addField("", ""); -// ((selectDB)spiSprBarrier).addField(getString(R.string.Barriers), "1"); -// ((selectDB)spiSprBarrier).addField(getString(R.string.Continuous), "0"); -// //edtSprBarrierWidth = (EditText) findViewById(R.id.edtSprBarrierWidth); // ширина (м) -// //guiTable.add(edtSprBarrierWidth, "spray_barrier_width"); -// edtSprBarrierSpace = (EditText) findViewById(R.id.edtSprBarrierSpace); // промежуток (м) -// guiTable.add(edtSprBarrierSpace, "spray_barrier_space"); -// -// edtSprSpeed = (EditText) findViewById(R.id.edtSprSpeed); // Скорость движения (км/ч) -// guiTable.add(edtSprSpeed, "spray_speed"); -// -// spiSprMarking = findViewById(R.id.spiSprMarking); // Наземная маркировка(Сиг-нальщики, GPS, Машина, Нет) -// guiTable.add(spiSprMarking, "spray_marking_id"); -// ((selectDB)spiSprMarking).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_markings d where d.del=0 order by d.sort,d.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// ((selectDB)spiSprMarking).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// cbEffectiveness = (CheckBox) findViewById(R.id.cbEffectiveness); -// guiTable.add(cbEffectiveness, "efficiency"); -// -// OnClickListener oclCbBoxEggs = new OnClickListener() -// { -// @Override -// public void onClick(View v) -// { -// CheckBox cbx=(CheckBox)v; -// if(!cbx.isChecked()) { -// AlertDialog.Builder adb = new AlertDialog.Builder(LocustHealthActivity.this, R.style.AlertDialogTheme); -// adb.setTitle(getString(R.string.Warning)); -// adb.setMessage(LocustHealthActivity.this.getResources().getString(R.string.Cancel_filling_section)); -// adb.setPositiveButton(LocustHealthActivity.this.getResources().getString(R.string.Yes), new DialogInterface.OnClickListener() { -// @Override -// public void onClick(DialogInterface dialog, int id) { -// updateAlpha(); -// } -// }); -// adb.setNegativeButton(LocustHealthActivity.this.getResources().getString(R.string.No), new DialogInterface.OnClickListener() { -// public void onClick(DialogInterface dialog, int id) { -// cbx.setChecked(true); -// } -// }); -// AlertDialog ad = adb.show(); -// ad.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.BLACK); -// ad.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLACK); -// -// -// }else{ -// updateAlpha(); -// } -// -// } -// }; -// cbEffectiveness.setOnClickListener(oclCbBoxEggs); -// -// -// edtEffMortality = (EditText) findViewById(R.id.edtEffMortality); // смертность саранчи(%) -// guiTable.add(edtEffMortality, "efficacy_mortality"); -// //edtEffMortality.setFilters(new InputFilter[] { new InputFilterMinMax("0", "100") }); -// -// edtEffTime = (EditText) findViewById(R.id.edtEffTime); // Прошло времени после обработки -// guiTable.add(edtEffTime, "efficacy_passed_time"); -// -// spiEffMethod = findViewById(R.id.spiEffMethod); // метод подсчета смертности "Визуальный", "Учётная рамка". -// guiTable.add(spiEffMethod, "efficacy_mortality_method"); -// ((selectDB)spiEffMethod).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)spiEffMethod).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// OnCheckedChangeListener cclsl = new OnCheckedChangeListener() -// { -// public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) -// { -// String val = ""; -// if (LocustHealthActivity.this.cbSafClothingGoggles.isChecked()) -// val += '1'; -// if (LocustHealthActivity.this.cbSafClothingMasks.isChecked()) -// val += '2'; -// if (LocustHealthActivity.this.cbSafClothingGloves.isChecked()) -// val += '3'; -// if (LocustHealthActivity.this.cbSafClothingOveralls.isChecked()) -// val += '4'; -// if (LocustHealthActivity.this.cbSafClothingCaps.isChecked()) -// val += '5'; -// if (LocustHealthActivity.this.cbSafClothingBoots.isChecked()) -// val += '6'; -// -// if (LocustHealthActivity.this.cbSafClothingAbsent.isChecked()) -// { -// val = "7"; -// LocustHealthActivity.this.cbSafClothingGoggles.setEnabled(false); -// LocustHealthActivity.this.cbSafClothingMasks.setEnabled(false); -// LocustHealthActivity.this.cbSafClothingGloves.setEnabled(false); -// LocustHealthActivity.this.cbSafClothingOveralls.setEnabled(false); -// LocustHealthActivity.this.cbSafClothingCaps.setEnabled(false); -// LocustHealthActivity.this.cbSafClothingBoots.setEnabled(false); -// } else -// { -// LocustHealthActivity.this.cbSafClothingGoggles.setEnabled(true); -// LocustHealthActivity.this.cbSafClothingMasks.setEnabled(true); -// LocustHealthActivity.this.cbSafClothingGloves.setEnabled(true); -// LocustHealthActivity.this.cbSafClothingOveralls.setEnabled(true); -// LocustHealthActivity.this.cbSafClothingCaps.setEnabled(true); -// LocustHealthActivity.this.cbSafClothingBoots.setEnabled(true); -// } -// LocustHealthActivity.this.edtClothing.setText(val); -// } -// }; -// cbSafClothingGoggles = (CheckBox) findViewById(R.id.cbSafClothingGoggles); -// cbSafClothingGoggles.setOnCheckedChangeListener(cclsl); -// cbSafClothingMasks = (CheckBox) findViewById(R.id.cbSafClothingMasks); -// cbSafClothingMasks.setOnCheckedChangeListener(cclsl); -// cbSafClothingGloves = (CheckBox) findViewById(R.id.cbSafClothingGloves); -// cbSafClothingGloves.setOnCheckedChangeListener(cclsl); -// cbSafClothingOveralls = (CheckBox) findViewById(R.id.cbSafClothingOveralls); -// cbSafClothingOveralls.setOnCheckedChangeListener(cclsl); -// cbSafClothingCaps = (CheckBox) findViewById(R.id.cbSafClothingCaps); -// cbSafClothingCaps.setOnCheckedChangeListener(cclsl); -// cbSafClothingBoots = (CheckBox) findViewById(R.id.cbSafClothingBoots); -// cbSafClothingBoots.setOnCheckedChangeListener(cclsl); -// cbSafClothingAbsent = (CheckBox) findViewById(R.id.cbSafClothingAbsent); -// cbSafClothingAbsent.setOnCheckedChangeListener(cclsl); -// -// edtClothing = (EditText) findViewById(R.id.edtClothing); -// guiTable.add(edtClothing, "safety_clothing"); -// -// edtClothing.addTextChangedListener(new TextWatcher() -// { -// public void afterTextChanged(Editable s) -// { -// } -// -// public void beforeTextChanged(CharSequence s, int start, int count, int after) -// { -// } -// -// public void onTextChanged(CharSequence s, int start, int before, int count) -// { -// String str = LocustHealthActivity.this.edtClothing.getText().toString(); -// -// if (str.indexOf("1") != -1) -// LocustHealthActivity.this.cbSafClothingGoggles.setChecked(true); -// if (str.indexOf("2") != -1) -// LocustHealthActivity.this.cbSafClothingMasks.setChecked(true); -// if (str.indexOf("3") != -1) -// LocustHealthActivity.this.cbSafClothingGloves.setChecked(true); -// if (str.indexOf("4") != -1) -// LocustHealthActivity.this.cbSafClothingOveralls.setChecked(true); -// if (str.indexOf("5") != -1) -// LocustHealthActivity.this.cbSafClothingCaps.setChecked(true); -// if (str.indexOf("6") != -1) -// LocustHealthActivity.this.cbSafClothingBoots.setChecked(true); -// if (str.indexOf("7") != -1) -// LocustHealthActivity.this.cbSafClothingAbsent.setChecked(true); -// -// } -// }); -// -// spiProtectiveClothingClean = findViewById(R.id.spiProtectiveClothingClean); -// guiTable.add(spiProtectiveClothingClean, "safety_clothing_clean"); -// ((selectDB)spiProtectiveClothingClean).addField("", ""); -// ((selectDB)spiProtectiveClothingClean).addField(getString(R.string.Yes), "1"); -// ((selectDB)spiProtectiveClothingClean).addField(getString(R.string.No), "0"); -// -// cbTest = (CheckBox) findViewById(R.id.cbTest); guiTableHealth.add(cbTest, "test"); -// OnCheckedChangeListener ccl = new OnCheckedChangeListener() -// { -// public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) -// { -// String val = ""; -// if (LocustHealthActivity.this.cbSafInformFarmer.isChecked()) -// val += '1'; -// if (LocustHealthActivity.this.cbSafInformShepherd.isChecked()) -// val += '6'; -// if (LocustHealthActivity.this.cbSafInformVillager.isChecked()) -// val += '2'; -// if (LocustHealthActivity.this.cbSafInformOfficial.isChecked()) -// val += '3'; -// if (LocustHealthActivity.this.cbSafInformBeekeeper.isChecked()) -// val += '4'; -// if (LocustHealthActivity.this.cbSafInformOther.isChecked()) -// val += '5'; -// LocustHealthActivity.this.edtInform.setText(val); -// } -// }; -// cbSafInformFarmer = (CheckBox) findViewById(R.id.cbSafInformFarmer); // Кто был оповещен об обработках? Фермер -// cbSafInformFarmer.setOnCheckedChangeListener(ccl); -// cbSafInformShepherd = (CheckBox) findViewById(R.id.cbSafInformShepherd); // Кто был оповещен об обработках? Пастух -// cbSafInformShepherd.setOnCheckedChangeListener(ccl); -// cbSafInformVillager = (CheckBox) findViewById(R.id.cbSafInformVillager); // Кто был оповещен об обработках? Сельский житель -// cbSafInformVillager.setOnCheckedChangeListener(ccl); -// cbSafInformOfficial = (CheckBox) findViewById(R.id.cbSafInformOfficial); // Кто был оповещен об обработках? Чиновник -// cbSafInformOfficial.setOnCheckedChangeListener(ccl); -// cbSafInformBeekeeper = (CheckBox) findViewById(R.id.cbSafInformBeekeeper); // Кто был оповещен об обработках? Пчеловод -// cbSafInformBeekeeper.setOnCheckedChangeListener(ccl); -// cbSafInformOther = (CheckBox) findViewById(R.id.cbSafInformOther); // Кто был оповещен об обработках? Другие -// cbSafInformOther.setOnCheckedChangeListener(ccl); -// -// edtInform = (EditText) findViewById(R.id.edtInform); -// guiTable.add(edtInform, "safety_inform"); -// -// edtInform.addTextChangedListener(new TextWatcher() -// { -// public void afterTextChanged(Editable s) -// { -// } -// -// public void beforeTextChanged(CharSequence s, int start, int count, int after) -// { -// } -// -// public void onTextChanged(CharSequence s, int start, int before, int count) -// { -// String str = LocustHealthActivity.this.edtInform.getText().toString(); -// -// if (str.indexOf("1") != -1) -// LocustHealthActivity.this.cbSafInformFarmer.setChecked(true); // Кто был оповещен об обработках? Фермер -// if (str.indexOf("6") != -1) -// LocustHealthActivity.this.cbSafInformShepherd.setChecked(true); // Кто был оповещен об обработках? Фермер -// if (str.indexOf("2") != -1) -// LocustHealthActivity.this.cbSafInformVillager.setChecked(true); // Кто был оповещен об обработках? Сельский житель -// if (str.indexOf("3") != -1) -// LocustHealthActivity.this.cbSafInformOfficial.setChecked(true); // Кто был оповещен об обработках? Чиновник -// if (str.indexOf("4") != -1) -// LocustHealthActivity.this.cbSafInformBeekeeper.setChecked(true); // Кто был оповещен об обработках? Пчеловод -// if (str.indexOf("5") != -1) -// LocustHealthActivity.this.cbSafInformOther.setChecked(true); // Кто был оповещен об обработках? Пчеловод -// -// } -// }); -// -// -// //spiSafEmptyСontainers = findViewById(R.id.spiSafEmptyContainers); // Что сделали с пустыми контейнерами -// //guiTable.add(spiSafEmptyСontainers, "safety_container_id"); -// //spiSafEmptyСontainers.addField(this, "", ""); -// 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_containers d where d.del=0 order by d.sort,d.name", null); -// if (cursor.moveToFirst()) -// { -// do -// { -// //spiSafEmptyСontainers.addField(this, cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); -// -// if(cursor.getLong(cursor.getColumnIndex("id"))==1) -// ((CheckBox) findViewById(R.id.cbTripleRinsed)).setText(cursor.getString(cursor.getColumnIndex("name"))); -// if(cursor.getLong(cursor.getColumnIndex("id"))==2) -// ((CheckBox) findViewById(R.id.cbPunctured)).setText(cursor.getString(cursor.getColumnIndex("name"))); -// if(cursor.getLong(cursor.getColumnIndex("id"))==3) -// ((CheckBox) findViewById(R.id.cbTakenBackToBase)).setText(cursor.getString(cursor.getColumnIndex("name"))); -// if(cursor.getLong(cursor.getColumnIndex("id"))==4) -// ((CheckBox) findViewById(R.id.cbLeftInField)).setText(cursor.getString(cursor.getColumnIndex("name"))); -// if(cursor.getLong(cursor.getColumnIndex("id"))==5) -// ((CheckBox) findViewById(R.id.cbBuried)).setText(cursor.getString(cursor.getColumnIndex("name"))); -// if(cursor.getLong(cursor.getColumnIndex("id"))==6) -// ((CheckBox) findViewById(R.id.cbBurned)).setText(cursor.getString(cursor.getColumnIndex("name"))); -// -// } while (cursor.moveToNext()); -// } -// cursor.close(); -// dboh.close(); -// -// ccl = new OnCheckedChangeListener() -// { -// public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) -// { -// String val = ""; -// if (LocustHealthActivity.this.cbTripleRinsed.isChecked()) -// val += '1'; -// if (LocustHealthActivity.this.cbPunctured.isChecked()) -// val += '2'; -// if (LocustHealthActivity.this.cbTakenBackToBase.isChecked()) -// val += '3'; -// if (LocustHealthActivity.this.cbLeftInField.isChecked()) -// val += '4'; -// if (LocustHealthActivity.this.cbBuried.isChecked()) -// val += '5'; -// if (LocustHealthActivity.this.cbBurned.isChecked()) -// val += '6'; -// LocustHealthActivity.this.edtSafEmptyContainers.setText(val); -// } -// }; -// cbTripleRinsed = (CheckBox) findViewById(R.id.cbTripleRinsed); -// cbTripleRinsed.setOnCheckedChangeListener(ccl); -// cbPunctured = (CheckBox) findViewById(R.id.cbPunctured); -// cbPunctured.setOnCheckedChangeListener(ccl); -// cbTakenBackToBase = (CheckBox) findViewById(R.id.cbTakenBackToBase); -// cbTakenBackToBase.setOnCheckedChangeListener(ccl); -// cbLeftInField = (CheckBox) findViewById(R.id.cbLeftInField); -// cbLeftInField.setOnCheckedChangeListener(ccl); -// cbBuried = (CheckBox) findViewById(R.id.cbBuried); -// cbBuried.setOnCheckedChangeListener(ccl); -// cbBurned = (CheckBox) findViewById(R.id.cbBurned); -// cbBurned.setOnCheckedChangeListener(ccl); -// -// edtSafEmptyContainers = (EditText) findViewById(R.id.edtSafEmptyContainers); -// guiTable.add(edtSafEmptyContainers, "safety_container"); -// -// -// edtSafEmptyContainers.addTextChangedListener(new TextWatcher() -// { -// public void afterTextChanged(Editable s) -// { -// } -// -// public void beforeTextChanged(CharSequence s, int start, int count, int after) -// { -// } -// -// public void onTextChanged(CharSequence s, int start, int before, int count) -// { -// String str = LocustHealthActivity.this.edtSafEmptyContainers.getText().toString(); -// if (str.indexOf("1") != -1) -// LocustHealthActivity.this.cbTripleRinsed.setChecked(true); -// if (str.indexOf("2") != -1) -// LocustHealthActivity.this.cbPunctured.setChecked(true); -// if (str.indexOf("3") != -1) -// LocustHealthActivity.this.cbTakenBackToBase.setChecked(true); -// if (str.indexOf("4") != -1) -// LocustHealthActivity.this.cbLeftInField.setChecked(true); -// if (str.indexOf("5") != -1) -// LocustHealthActivity.this.cbBuried.setChecked(true); -// if (str.indexOf("6") != -1) -// LocustHealthActivity.this.cbBurned.setChecked(true); -// } -// }); -// -// spiSafNonTarget = findViewById(R.id.spiSafNonTarget); // воздействие на нецелевые организмы -// guiTable.add(spiSafNonTarget, "safety_non_target"); -// ((selectDB)spiSafNonTarget).addField("", ""); -// ((selectDB)spiSafNonTarget).addField(getString(R.string.Yes), "1"); -// ((selectDB)spiSafNonTarget).addField(getString(R.string.No), "0"); -// -// edtSafNonTargetEffect = (EditText) findViewById(R.id.edtSafNonTargetEffect); // если да, то какое -// guiTable.add(edtSafNonTargetEffect, "safety_non_target_effect"); -// -// // "safety_incident boolean," + //Другие инциденты по здоровью или окружающей среде, возникшие возможно при обработке -// // "safety_incident_effect text," + //Если Да, тип инцидента и кем сообщен (описание) -// spiSafIncident = findViewById(R.id.spiSafIncident); // Другие инциденты по здоровью или окружающей среде, возникшие возможно при обработке -// guiTable.add(spiSafIncident, "safety_incident"); -// ((selectDB)spiSafIncident).addField("", ""); -// ((selectDB)spiSafIncident).addField(getString(R.string.Yes), "1"); -// ((selectDB)spiSafIncident).addField(getString(R.string.No), "0"); -// -// edtSafIncidentEffect = (EditText) findViewById(R.id.edtSafIncidentEffect); // Если Да, тип инцидента и кем сообщен (описание) -// guiTable.add(edtSafIncidentEffect, "safety_incident_effect"); -// -// edtComments = (EditText) findViewById(R.id.edtComments); // КОММЕНТАР�?�? -// guiTable.add(edtComments, "comments"); -// -// // *** Кнопки *** -// btnGetGPSCenter = (View) findViewById(R.id.btnGetGPSCenter); -// OnClickListener oclBtnGetGPSCenter = new OnClickListener() -// { -// @Override -// public void onClick(View v) -// { -// DecimalFormatSymbols custom = new DecimalFormatSymbols(new Locale("en", "US")); -// custom.setDecimalSeparator('.'); -// -// DecimalFormat df = new DecimalFormat("0.0000000"); -// df.setDecimalFormatSymbols(custom); -// -// if(LocustHealthActivity.this._lat!=0 && LocustHealthActivity.this._lon!=0) { -// LocustHealthActivity.this.edtLatCenter.setText(df.format(LocustHealthActivity.this._lat)); -// LocustHealthActivity.this.edtLonCenter.setText(df.format(LocustHealthActivity.this._lon)); -// } -// //Checking if the GPS is active and if it is inactive, I display a warning about it -// LocationManager locationManager = (LocationManager) LocustHealthActivity.this.getSystemService(Context.LOCATION_SERVICE);; -// if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ -// Toast.makeText(LocustHealthActivity.this, LocustHealthActivity.this.getResources().getString(R.string.Please_activate_GPS), Toast.LENGTH_LONG).show(); -// } -// } -// }; -// btnGetGPSCenter.setOnClickListener(oclBtnGetGPSCenter); -// -// btnDelGPSCenter = (View) findViewById(R.id.btnDelGPSCenter); -// btnDelGPSCenter.setOnClickListener(new OnClickListener() { -// @Override -// public void onClick(View v) { -// LocustHealthActivity.this.edtLatCenter.setText(""); -// LocustHealthActivity.this.edtLonCenter.setText(""); -// } -// }); -// + + // *** Кнопки *** + btnGetGPSCenter2 = (View) findViewById(R.id.btnGetGPSCenter2); + OnClickListener oclBtnGetGPSCenter2 = new OnClickListener() + { + @Override + public void onClick(View v) + { + DecimalFormatSymbols custom = new DecimalFormatSymbols(new Locale("en", "US")); + custom.setDecimalSeparator('.'); + + DecimalFormat df = new DecimalFormat("0.0000000"); + df.setDecimalFormatSymbols(custom); + + if(LocustHealthActivity.this._lat!=0 && LocustHealthActivity.this._lon!=0) { + LocustHealthActivity.this.edtLatCenter2.setText(df.format(LocustHealthActivity.this._lat)); + LocustHealthActivity.this.edtLonCenter2.setText(df.format(LocustHealthActivity.this._lon)); + } + //Checking if the GPS is active and if it is inactive, I display a warning about it + LocationManager locationManager = (LocationManager) LocustHealthActivity.this.getSystemService(Context.LOCATION_SERVICE);; + if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ + Toast.makeText(LocustHealthActivity.this, LocustHealthActivity.this.getResources().getString(R.string.Please_activate_GPS), Toast.LENGTH_LONG).show(); + } + } + }; + btnGetGPSCenter2.setOnClickListener(oclBtnGetGPSCenter2); + + btnDelGPSCenter2 = (View) findViewById(R.id.btnDelGPSCenter2); + btnDelGPSCenter2.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + LocustHealthActivity.this.edtLatCenter2.setText(""); + LocustHealthActivity.this.edtLonCenter2.setText(""); + } + }); + btnOnMap = (View) findViewById(R.id.btnOnMap); OnClickListener oclBtnOnMap = new OnClickListener() { @@ -2907,12 +2191,12 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi // // //updateAlpha(); movied to onResume // -// // Чтоб слушать GPS (в конце метода чтобы успели присвоиться GUI компоненты локальным переменным) -// _lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); -// if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { -// return; -// } -// _lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 1, this); + // Чтоб слушать GPS (в конце метода чтобы успели присвоиться GUI компоненты локальным переменным) + _lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + return; + } + _lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 1, this); } @Override @@ -3132,6 +2416,70 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi llSprDescription.setVisibility(View.GONE); } + //Механическая безопасность: наблюдалась ли утечка инсектицида? + LinearLayout llSprLeakPlace = findViewById(R.id.llSprLeakPlace); + if(((selectDB)spiSprLeak).getValue() != null && ((selectDB)spiSprLeak).getValue().equals("1")) { + llSprLeakPlace.setVisibility(View.VISIBLE); + }else{ + edtSprLeakPlace.setText(""); + llSprLeakPlace.setVisibility(View.GONE); + } + + //Система опрыскивания: повреждены распылители или сопла? + LinearLayout llSprDamagePlace = findViewById(R.id.llSprDamagePlace); + if(((selectDB)spiSprDamage).getValue() != null && ((selectDB)spiSprDamage).getValue().equals("1")) { + llSprDamagePlace.setVisibility(View.VISIBLE); + }else{ + edtSprDamagePlace.setText(""); + llSprDamagePlace.setVisibility(View.GONE); + } + + //Калибровка расхода жидкости: проверялся ли расход жидкости опрыскивателя во время мониторинга? + LinearLayout llCalibrTime = findViewById(R.id.llCalibrTime); + LinearLayout llCalibrVolume = findViewById(R.id.llCalibrVolume); + LinearLayout llCalibrRate = findViewById(R.id.llCalibrRate); + if(((selectDB)spiCalibrConsumptionCheck).getValue() != null && ((selectDB)spiCalibrConsumptionCheck).getValue().equals("1")) { + llCalibrTime.setVisibility(View.VISIBLE); + llCalibrVolume.setVisibility(View.VISIBLE); + llCalibrRate.setVisibility(View.VISIBLE); + }else{ + edtCalibrTime.setText(""); + edtCalibrVolume.setText(""); + edtCalibrRate.setText(""); + llCalibrTime.setVisibility(View.GONE); + llCalibrVolume.setVisibility(View.GONE); + llCalibrRate.setVisibility(View.GONE); + } + //Качество применения: проверялось ли осаждение капель во время мониторинга? + LinearLayout llCalibrWidthCard = findViewById(R.id.llCalibrWidthCard); + LinearLayout llCalibrWindSpeed = findViewById(R.id.llCalibrWindSpeed); + LinearLayout llCalibrDropletCoating = findViewById(R.id.llCalibrDropletCoating); + LinearLayout llCalibrPassesInterval = findViewById(R.id.llCalibrPassesInterval); + if(((selectDB)spiCalibrPrecipitation).getValue() != null && ((selectDB)spiCalibrPrecipitation).getValue().equals("1")) { + llCalibrWidthCard.setVisibility(View.VISIBLE); + llCalibrWindSpeed.setVisibility(View.VISIBLE); + llCalibrDropletCoating.setVisibility(View.VISIBLE); + llCalibrPassesInterval.setVisibility(View.VISIBLE); + }else{ + edtCalibrWidthCard.setText(""); + edtCalibrWindSpeed.setText(""); + edtCalibrDropletCoating.setText(""); + edtCalibrPassesInterval.setText(""); + llCalibrWidthCard.setVisibility(View.GONE); + llCalibrWindSpeed.setVisibility(View.GONE); + llCalibrDropletCoating.setVisibility(View.GONE); + llCalibrPassesInterval.setVisibility(View.GONE); + } + + //Осуществлялся ли бригадой по мониторингу ЗЧ и ОС контроль в отношении наблюдаемого или зарегистрированного воздействия на окружающую среду + LinearLayout llSafControlActions = findViewById(R.id.llSafControlActions); + if(((selectDB)spiSafControl).getValue() != null && ((selectDB)spiSafControl).getValue().equals("1")) { + llSafControlActions.setVisibility(View.VISIBLE); + }else{ + edtSafControlActions.setText(""); + llSafControlActions.setVisibility(View.GONE); + } + //Имеются ли в непосредственной близости от обработок жилые дома или жилье (в радиусе 2 км вокруг обрабатываемого участка) LinearLayout llRiskHouseDistance = findViewById(R.id.llRiskHouseDistance); LinearLayout llRiskHouseBufferZones = findViewById(R.id.llRiskHouseBufferZones); diff --git a/app/src/main/java/kz/istt/locust/MySynchronizationOld.java b/app/src/main/java/kz/istt/locust/MySynchronizationOld.java index 8044707..333b852 100644 --- a/app/src/main/java/kz/istt/locust/MySynchronizationOld.java +++ b/app/src/main/java/kz/istt/locust/MySynchronizationOld.java @@ -231,7 +231,7 @@ public class MySynchronizationOld { String val=""; if(!cursor.isNull(i)) { - if (cursor.getType(i) == 2) { //Because cutting double + if (cursor.getType(i) == Cursor.FIELD_TYPE_FLOAT) { //Because cutting double val = "" + cursor.getDouble(i); } else { val = cursor.getString(i); @@ -307,7 +307,7 @@ public class MySynchronizationOld { String val=""; if(!cursor.isNull(i)) { - if (cursor.getType(i) == 2) { //Because cutting double + if (cursor.getType(i) == Cursor.FIELD_TYPE_FLOAT) { //Because cutting double val = "" + cursor.getDouble(i); } else { val = cursor.getString(i); @@ -413,11 +413,17 @@ public class MySynchronizationOld if(fname!=null && !fname.equals("")) myThread.addRequest("pic5","xml",MySynchronizationOld.URL+"/get/?fn=6", null, null,Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/" + fname,null); - for(int i=0;i + android:hint="@string/Effect_on_non_target_organism"> + + + + + + + + + + + + + + + + + + + + + + Имеются ли в непосредственной близости от обработок поверхностные воды (в радиусе 2 км вокруг обрабатываемого участка) Расстояние от ближайшего края обрабатываемого участка (м) до ближайшего источника поверхностной воды - Was exposure of the surface water probable? + Существует ли вероятность воздействия на поверхностные воды? Имеются ли в непосредственной близости от обработок пчеловодства (в радиусе 5 км вокруг обрабатываемого участка) Расстояние от ближайшего края обрабатываемого участка (м) до пасеки Были ли пчеловоды проинформированы о применении инсектицидов