diff --git a/app/build.gradle b/app/build.gradle index c413f81..abc9bfb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { defaultConfig { applicationId "kz.istt.locust" minSdkVersion 15 - versionCode 100 - versionName "2.4.4" + versionCode 101 + versionName "3.0.0" targetSdkVersion 33 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/kz/istt/locust/DBGUITable.java b/app/src/main/java/kz/istt/locust/DBGUITable.java index 0eee8c7..0bb82f2 100644 --- a/app/src/main/java/kz/istt/locust/DBGUITable.java +++ b/app/src/main/java/kz/istt/locust/DBGUITable.java @@ -16,6 +16,8 @@ import com.google.android.material.textfield.TextInputEditText; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.UUID; import dbfields.DateInput; @@ -80,6 +82,43 @@ public class DBGUITable } } + //Проверить название полей в базе и название параметров и если есть различия то вывести в консоль + public boolean validateField(ContentValues cv) + { + boolean result = true; + DbOpenHelper dboh = new DbOpenHelper(m_context); + Cursor cursor = dboh.getReadableDatabase().rawQuery("PRAGMA table_info('"+m_table+"');",null); + if(cursor.moveToFirst()) + { + do{ + String name=Tools.getStringFromCursor(cursor,"name"); + boolean find=false; + String value=""; + Set> valueSet = cv.valueSet(); + for (Map.Entry entry : valueSet) { + if(entry.getKey().equals(name)) { + find = true; + Object obj = entry.getValue(); + if(obj!=null) + value = obj.toString()+" "+obj.getClass().toString()+" = "+Tools.getStringFromCursor(cursor,"type"); + else + value="null"; + break; + } + } + if(!find) + Log.e("CCALM", "Validate field = " + name + " not find in CV"); + else + Log.e("CCALM", "Validate field = " + name + " find in CV value = "+value); + }while (cursor.moveToNext()); + } + cursor.close(); + dboh.close(); + + return result; + } + + /* * Передаётся компонент и название поля таблицы */ @@ -112,6 +151,10 @@ public class DBGUITable { String field = m_listN.get(i); String value = getValue(m_listO.get(i)); +//if(field.equals("risk_agricultural")) { +// Object o = m_listO.get(i); +// Log.e("CCALM", "NOT FIND field = " + field + " value = " + getValue(o)); +//} String type = getType(field); if(type==null) { Log.e("CCALM", "NOT FIND field = " + m_listN.get(i) + " value = " + value); @@ -162,6 +205,8 @@ public class DBGUITable uid = UUID.randomUUID().toString();//.replace("-", ""); удаляеть - для экономии места не нужно cv.put("uid", uid); + validateField(cv); + SQLiteDatabase db = dboh.getWritableDatabase(); db.beginTransaction(); //Вроде как защита от многопоточности (для сервиса) try { @@ -174,6 +219,8 @@ public class DBGUITable }else //Обновить запись { + validateField(cv); + SQLiteDatabase db = dboh.getWritableDatabase(); db.beginTransaction(); //Вроде как защита от многопоточности (для сервиса) uid=cv.getAsString("uid"); @@ -220,9 +267,8 @@ public class DBGUITable setValue(obj, cursor.getString(i)); } - - //для проверки обратное дёйствие - //Log.e("CCALM", "2 field " + cursor.getColumnName(i) + " = " + getValue(findComponent(cursor.getColumnName(i)))); + //для проверки обратное действие + Log.e("CCALM", "read field = " + cursor.getColumnName(i) + " val1 = " + cursor.getString(i) + " val2 = " + getValue(findComponent(cursor.getColumnName(i)))); } } } @@ -238,18 +284,19 @@ public class DBGUITable String value = null; if(obj!=null) { - if(obj.getClass().toString().indexOf("android.widget.EditText")!=-1) value = ((EditText)obj).getText().toString(); else - if(obj.getClass().toString().indexOf("android.material.textfield.TextInputEditText")!=-1) value = ((TextInputEditText)obj).getText().toString(); else - if(obj.getClass().toString().indexOf("android.widget.Spinner")!=-1) value = ((Spinner)obj).getSelectedItem().toString(); else - if(obj.getClass().toString().indexOf("android.widget.CheckBox")!=-1) value = ((CheckBox)obj).isChecked() ? "1" : "0"; else - if(obj.getClass().toString().indexOf("java.lang.Integer")!=-1) value = ((Integer)obj).toString(); else - if(obj.getClass().toString().indexOf("java.lang.String")!=-1) value = ((String)obj); else - if(obj.getClass().toString().indexOf("dbfields.SpinnerDB")!=-1) value = ((SpinnerDB)obj).getValue(); else - if(obj.getClass().toString().indexOf("dbfields.AutoCompleteTextViewDB")!=-1) value = ((AutoCompleteTextViewDB)obj).getValue(); else - if(obj.getClass().toString().indexOf("dbfields.StringDB")!=-1) value = ((StringDB)obj).getValue(); else - if(obj.getClass().toString().indexOf("dbfields.DateTimeTM")!=-1) value = ((DateTimeTM)obj).getValue(); else - if(obj.getClass().toString().indexOf("dbfields.DateTimeText")!=-1) value = ((DateTimeText)obj).getValue(); else - if(obj.getClass().toString().indexOf("dbfields.DateInput")!=-1) + String class_name = obj.getClass().toString(); + if(class_name.indexOf("android.widget.EditText")!=-1) value = ((EditText)obj).getText().toString(); else + if(class_name.indexOf("android.material.textfield.TextInputEditText")!=-1) value = ((TextInputEditText)obj).getText().toString(); else + if(class_name.indexOf("android.widget.Spinner")!=-1) value = ((Spinner)obj).getSelectedItem().toString(); else + if(class_name.indexOf("android.widget.CheckBox")!=-1) value = ((CheckBox)obj).isChecked() ? "1" : "0"; else + if(class_name.indexOf("java.lang.Integer")!=-1) value = ((Integer)obj).toString(); else + if(class_name.indexOf("java.lang.String")!=-1) value = ((String)obj); else + if(class_name.indexOf("dbfields.SpinnerDB")!=-1) value = ((SpinnerDB)obj).getValue(); else + if(class_name.indexOf("dbfields.AutoCompleteTextViewDB")!=-1) value = ((AutoCompleteTextViewDB)obj).getValue(); else + if(class_name.indexOf("dbfields.StringDB")!=-1) value = ((StringDB)obj).getValue(); else + if(class_name.indexOf("dbfields.DateTimeTM")!=-1) value = ((DateTimeTM)obj).getValue(); else + if(class_name.indexOf("dbfields.DateTimeText")!=-1) value = ((DateTimeText)obj).getValue(); else + if(class_name.indexOf("dbfields.DateInput")!=-1) { if(((DateInput)obj).getDate()!=null) value = ((DateInput)obj).getDate().toString(); //В секундах diff --git a/app/src/main/java/kz/istt/locust/DbOpenHelper.java b/app/src/main/java/kz/istt/locust/DbOpenHelper.java index c3752b2..da709ca 100644 --- a/app/src/main/java/kz/istt/locust/DbOpenHelper.java +++ b/app/src/main/java/kz/istt/locust/DbOpenHelper.java @@ -773,7 +773,7 @@ public class DbOpenHelper extends SQLiteOpenHelper "hlth_clothing_reserve boolean," + // В бригаде или на ближайшей противосаранчовой базе имеется запасная защитная одежда (в частности, комбинезоны и перчатки) "hlth_operator_passport integer," + // Количество операторов с паспортами использования пестицидов "hlth_filled_passport integer," + // Количество правильно заполненных паспортов использования пестицидов - //"hlth_passport_count integer," + + //"hlth_passport_count integer," + лишнее удалил "hlth_inhibition boolean," + // Во время мониторинга измерялось ли ингибирование холинэстеразы? "hlth_description text," + // Дополнительные сведения о случайном воздействии или отравлении @@ -787,7 +787,6 @@ public class DbOpenHelper extends SQLiteOpenHelper "safety_control boolean," + // Осуществлялся ли бригадой по мониторингу ЗЧ и ОС контроль в отношении наблюдаемого или зарегистрированного воздействия на окружающую среду "safety_control_actions text," + // Если Да, опишите последующее действие(я) - //"safety_clothing_clean boolean," + // Защитная одержа чистая и в хорошем состоянии (перенесли из таблицы обработки саранчи) //**********Предоставление информации********** //**********Карта и фотографии********** @@ -1306,8 +1305,8 @@ public class DbOpenHelper extends SQLiteOpenHelper "safety_non_target_effect text," + // Если Да, то где и какое воздействие? "safety_non_target_effect_person text," + // Если информация поступила от прочих лиц, от кого именно? (укажите имя, номер телефона, адрес) - "safety_Control boolean," + // Осуществлялся ли бригадой по мониторингу ЗЧ и ОС контроль в отношении наблюдаемого или зарегистрированного воздействия на окружающую среду - "safety_Control_Actions text," + // Если Да, опишите последующее действие(я) + "safety_control boolean," + // Осуществлялся ли бригадой по мониторингу ЗЧ и ОС контроль в отношении наблюдаемого или зарегистрированного воздействия на окружающую среду + "safety_control_actions text," + // Если Да, опишите последующее действие(я) "map_treatment boolean," + // Была ли составлена ситуационная карта обработки? @@ -1393,10 +1392,7 @@ public class DbOpenHelper extends SQLiteOpenHelper db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN insecticide_manufactured_date TO insecticide_manufactured_date_DEL;"); db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN insecticide_manufactured_date_temp TO insecticide_manufactured_date;"); - sql = "ALTER TABLE frmlocusthealth ADD safety_clothing_clean boolean;"; - db.execSQL(sql); - sql = "ALTER TABLE frmlocusthealth ADD timezone text;"; - db.execSQL(sql); + db.execSQL("ALTER TABLE frmlocusthealth ADD timezone text;"); sql = "create table if not exists list_containers_states(" + "id integer NOT NULL PRIMARY KEY," + @@ -1408,6 +1404,10 @@ public class DbOpenHelper extends SQLiteOpenHelper ");"; db.execSQL(sql); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN spr_leak_plase TO spr_leak_plase_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN spr_damage_plase TO spr_damage_plase_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN spr_leak_place TEXT;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN spr_damage_place TEXT;"); @@ -1415,16 +1415,97 @@ public class DbOpenHelper extends SQLiteOpenHelper 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 RENAME COLUMN efficacy_mortality_method TO efficacy_mortality_method_DEL;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN efficacy_mortality_method_id integer;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN hlth_inhibition boolean;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN hlth_safety_clothing_clean boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN hlth_passport_count TO hlth_passport_count_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN lat_center double;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN lon_center double;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_house TO risk_house_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_house boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_house_distance TO risk_house_distance_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_house_distance float;"); db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_house_buffer_zones TO risk_house_buffer_zones_DEL;"); db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_house_buffer_zones boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_house_impact TO risk_house_impact_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_house_impact boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_house_informed TO risk_house_informed_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_house_informed boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_water TO risk_water_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_water boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_water_distance TO risk_water_distance_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_water_distance float;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_water_buffer_zones TO risk_water_buffer_zones_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_water_buffer_zones boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_water_impact TO risk_water_impact_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_water_impact boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_apiary TO risk_apiary_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_apiary boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_apiary_distance TO risk_apiary_distance_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_apiary_distance float;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_apiary_informed TO risk_apiary_informed_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_apiary_informed boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_apiary_measure TO risk_apiary_measure_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_apiary_measure text;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_apiary_impact TO risk_apiary_impact_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_apiary_impact boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN safety_control TO safety_control_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN safety_control boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN safety_control_actions TO safety_control_actions_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN safety_control_actions text;"); + + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_agricultural TO risk_agricultural_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_agricultural boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_agricultural_name TO risk_agricultural_name_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_agricultural_name text;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_agricultural_phase TO risk_agricultural_phase_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_agricultural_phase text;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_agricultural_toxic TO risk_agricultural_toxic_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_agricultural_toxic boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_agricultural_inform TO risk_agricultural_inform_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_agricultural_inform boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_silk_inform TO risk_silk_inform_DEL;"); + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_silk_inform boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_silk_trees_measure TO risk_silk_trees_measure_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_silk_trees_measure text;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_silk_trees_impact TO risk_silk_trees_impact_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_silk_trees_impact boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_pastures TO risk_pastures_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_pastures boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_pastures_inform TO risk_pastures_inform_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_pastures_inform boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_park TO risk_park_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_park boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_park_type TO risk_park_type_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_park_type text;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_park_distance TO risk_park_distance_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_park_distance float;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_park_buffer_zones TO risk_park_buffer_zones_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_park_buffer_zones boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_park_impact TO risk_park_impact_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_park_impact boolean;"); + + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_probe_analysis TO risk_probe_analysis_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_probe_analysis boolean;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_probe_analysis_name TO risk_probe_analysis_name_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_probe_analysis_name text;"); + db.execSQL("ALTER TABLE frmlocusthealth RENAME COLUMN risk_probe_analysis_number TO risk_probe_analysis_number_DEL;"); //Гадина при вставке учитывает регистр символов!!! + db.execSQL("ALTER TABLE frmlocusthealth ADD COLUMN risk_probe_analysis_number text;"); oldVersion=153; } diff --git a/app/src/main/java/kz/istt/locust/LatLonAdapter.java b/app/src/main/java/kz/istt/locust/LatLonAdapter.java index 7f2891b..2d24306 100644 --- a/app/src/main/java/kz/istt/locust/LatLonAdapter.java +++ b/app/src/main/java/kz/istt/locust/LatLonAdapter.java @@ -26,13 +26,17 @@ public class LatLonAdapter extends ArrayAdapter { LatLonListener latlonListener=null; ListView productList=null; View.OnClickListener clc=null; + private boolean disabled=false; - LatLonAdapter(Context context, int resource, ArrayList latlon, LatLonListener latlonListener, ListView productList) { + LatLonAdapter(Context context, int resource, ArrayList latlon, LatLonListener latlonListener, ListView productList,boolean disabled) { super(context, resource, latlon); this.latlonList = latlon; this.layout = resource; this.inflater = LayoutInflater.from(context); this.latlonListener = latlonListener; + this.disabled = disabled; + //android:enabled="false" + //android:focusable="false" } @Override @@ -84,6 +88,15 @@ public class LatLonAdapter extends ArrayAdapter { if(viewHolder.btnGetGPS!=null) { viewHolder.btnGetGPS.setOnClickListener(new OnClickListenerIDADD(position, this)); } + + if(disabled) { + viewHolder.btnGetGPS.setEnabled(false); + viewHolder.btnGetGPS.setFocusable(false); + + viewHolder.btnDelGPS.setEnabled(false); + viewHolder.btnDelGPS.setFocusable(false); + } + return convertView; } diff --git a/app/src/main/java/kz/istt/locust/LocustActivity.java b/app/src/main/java/kz/istt/locust/LocustActivity.java index 05b614a..d26662d 100644 --- a/app/src/main/java/kz/istt/locust/LocustActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustActivity.java @@ -423,7 +423,7 @@ public class LocustActivity extends FragmentActivity implements LocationListener latlon.add(new LatLon(0, 0)); } latlonList = findViewById(R.id.latlonList); - LatLonAdapter adapter = new LatLonAdapter(this, R.layout.list_lat_lon, latlon, this, latlonList); + LatLonAdapter adapter = new LatLonAdapter(this, R.layout.list_lat_lon, latlon, this, latlonList,false); latlonList.setAdapter(adapter); adapter.clc=new OnClickListener() { @Override diff --git a/app/src/main/java/kz/istt/locust/LocustDelActivity.java b/app/src/main/java/kz/istt/locust/LocustDelActivity.java index bb63567..585c2e1 100644 --- a/app/src/main/java/kz/istt/locust/LocustDelActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustDelActivity.java @@ -460,7 +460,7 @@ public class LocustDelActivity extends FragmentActivity implements LocationListe ArrayList latlon = new ArrayList(); latlon.add(new LatLon(0, 0)); latlonList = findViewById(R.id.latlonList); - LatLonAdapter adapter = new LatLonAdapter(this, R.layout.list_lat_lon, latlon, this, latlonList); + LatLonAdapter adapter = new LatLonAdapter(this, R.layout.list_lat_lon, latlon, this, latlonList, false); latlonList.setAdapter(adapter); adapter.clc=new OnClickListener() { @Override diff --git a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java index 4eaa5a9..4c6d7e9 100644 --- a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java @@ -240,7 +240,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public EditText edtHlthClothingState = null; //"hlth_clothing_state text," + //H Замечания относительно типа и состояния средств индивидуальной защиты public View spiHlthClothingReserve = null; //"hlth_clothing_reserve boolean," + //H В бригаде или на ближайшей противосаранчовой базе имеется запасная защитная одежда (в частности, комбинезоны и перчатки) public EditText edtHlthOperatorPassport = null; //"hlth_operator_passport integer," + //H Количество операторов с паспортами использования пестицидов - public EditText edtHlthPassportCount = null; //"hlth_filled_passport integer," + //H Количество правильно заполненных паспортов использования пестицидов + public EditText edtHlthFilledPassport = null; //"hlth_filled_passport integer," + //H Количество правильно заполненных паспортов использования пестицидов public View spiHlthInhibition = null; //"hlth_inhibition boolean," + //H Во время мониторинга измерялось ли ингибирование холинэстеразы? public View spiOperatorExposedInsecticide = null; @@ -455,7 +455,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ArrayList latlon = new ArrayList(); latlon.add(new LatLon(0, 0)); latlonList = findViewById(R.id.latlonList); - LatLonAdapter adapter = new LatLonAdapter(this, R.layout.list_lat_lon, latlon, this, latlonList); + LatLonAdapter adapter = new LatLonAdapter(this, R.layout.list_lat_lon, latlon, this, latlonList, true); latlonList.setAdapter(adapter); // adapter.clc=new OnClickListener() { // @Override @@ -613,7 +613,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H Состояние пакетов или контейнеров с инсектицидами spiInsContainerState = findViewById(R.id.spiInsContainerState); - guiTableDel.add(spiInsDiluted, "insecticide_container_state_id"); + guiTableHealth.add(spiInsContainerState, "insecticide_container_state_id"); ((selectDB)spiInsContainerState).addField("", ""); dboh = new DbOpenHelper(this); cursor = dboh @@ -998,7 +998,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiCalibrPrecipitation).addField(getString(R.string.No), "0"); //H Длина трансекты, определенная с использованием масляно-/водочувствительной бумаги (м) edtCalibrWidthCard = (EditText) findViewById(R.id.edtCalibrWidthCard); - guiTableHealth.add(edtSprDescription, "calibr_width_card"); + guiTableHealth.add(edtCalibrWidthCard, "calibr_width_card"); //H Средняя скорость ветра при осаждении капель (м/с) edtCalibrWindSpeed = (EditText) findViewById(R.id.edtCalibrWindSpeed); guiTableHealth.add(edtCalibrWindSpeed, "calibr_wind_speed"); @@ -1017,6 +1017,14 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiEffControl).addField("", ""); ((selectDB)spiEffControl).addField(getString(R.string.Yes), "1"); ((selectDB)spiEffControl).addField(getString(R.string.No), "0"); + findViewById(R.id.btnEffControl).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Control_efficacy_conducted_control_team)); + } + }); //Тип оцениваемого биологического воздействия spiEffTypeImpact = findViewById(R.id.spiEffTypeImpact); @@ -1068,13 +1076,21 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H Проведен ли контроль эффективности (бригада мониторинга)? spiEffControl2 = findViewById(R.id.spiEffControl2); - guiTableDel.add(spiEffControl2, "efficacy_control"); + guiTableHealth.add(spiEffControl2, "efficacy_control"); ((selectDB)spiEffControl2).addField("", ""); ((selectDB)spiEffControl2).addField(getString(R.string.Yes), "1"); ((selectDB)spiEffControl2).addField(getString(R.string.No), "0"); + findViewById(R.id.btnEffControl2).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Control_efficacy_conducted_monitoring_team)); + } + }); //H Тип оцениваемого биологического воздействия spiEffTypeImpact2 = findViewById(R.id.spiEffTypeImpact2); - guiTableDel.add(spiEffTypeImpact2, "efficacy_impact_type_id"); + guiTableHealth.add(spiEffTypeImpact2, "efficacy_impact_type_id"); ((selectDB)spiEffTypeImpact2).addField("", ""); dboh = new DbOpenHelper(this); cursor = dboh @@ -1094,7 +1110,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H Наблюдаемая эффективность обработки (%) edtEffMortality2 = (EditText) findViewById(R.id.edtEffMortality2); - guiTableDel.add(edtEffMortality2, "efficacy_mortality"); + guiTableHealth.add(edtEffMortality2, "efficacy_mortality"); //H Прошло времени после обработки edtEffPassedTime2 = (EditText) findViewById(R.id.edtEffPassedTime2); guiTableHealth.add(edtEffPassedTime2, "efficacy_passed_time"); @@ -1185,12 +1201,15 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H В бригаде или на ближайшей противосаранчовой базе имеется запасная защитная одежда (в частности, комбинезоны и перчатки) spiHlthClothingReserve = findViewById(R.id.spiHlthClothingReserve); guiTableHealth.add(spiHlthClothingReserve, "hlth_clothing_reserve"); + ((selectDB)spiHlthClothingReserve).addField("", ""); + ((selectDB)spiHlthClothingReserve).addField(getString(R.string.Yes), "1"); + ((selectDB)spiHlthClothingReserve).addField(getString(R.string.No), "0"); //H Количество операторов с паспортами использования пестицидов - edtHlthOperatorPassport = (EditText) findViewById(R.id.edtHlthClothingState); + edtHlthOperatorPassport = (EditText) findViewById(R.id.edtHlthOperatorPassport); guiTableHealth.add(edtHlthOperatorPassport, "hlth_operator_passport"); //H Количество правильно заполненных паспортов использования пестицидов - edtHlthPassportCount = (EditText) findViewById(R.id.edtHlthClothingState); - guiTableHealth.add(edtHlthOperatorPassport, "hlth_filled_passport"); + edtHlthFilledPassport = (EditText) findViewById(R.id.edtHlthFilledPassport); + guiTableHealth.add(edtHlthFilledPassport, "hlth_filled_passport"); //H Во время мониторинга измерялось ли ингибирование холинэстеразы? spiHlthInhibition = findViewById(R.id.spiHlthInhibition); guiTableHealth.add(spiHlthInhibition, "hlth_inhibition"); @@ -1210,7 +1229,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi guiTableDel.add(edtDescription, "description"); //H Дополнительные сведения о случайном воздействии или отравлении - edtHlthDescription = (EditText) findViewById(R.id.edtDescription); + edtHlthDescription = (EditText) findViewById(R.id.edtHlthDescription); guiTableHealth.add(edtHlthDescription, "hlth_description"); //**********Состояние окружающей среды********** @@ -1273,13 +1292,13 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi cbBurned = (CheckBox) findViewById(R.id.cbBurned); //H Наблюдалось или сообщалось о случайном загрязнении? (например, разлив инсектицидов, неправильная очистка оборудования и т. д.) - spiSafObservedPollution = findViewById(R.id.spiOperatorExposedInsecticide); - guiTableDel.add(spiSafObservedPollution, "safety_observed_pollution"); + spiSafObservedPollution = findViewById(R.id.spiSafObservedPollution); + guiTableHealth.add(spiSafObservedPollution, "safety_observed_pollution"); ((selectDB)spiSafObservedPollution).addField("", ""); ((selectDB)spiSafObservedPollution).addField(getString(R.string.Yes), "1"); ((selectDB)spiSafObservedPollution).addField(getString(R.string.No), "0"); //H Если Да, то где и какой тип загрязнения? - edtSafTypePollution = (EditText) findViewById(R.id.edtDescription); + edtSafTypePollution = (EditText) findViewById(R.id.edtSafTypePollution); guiTableHealth.add(edtSafTypePollution, "safety_type_pollution"); // воздействие на нецелевые организмы @@ -1295,16 +1314,24 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H Наблюдалось или сообщалось о воздействии на нецелевые организмы? (например, болезни домашнего скота, смертность рыб, гибель пчел и т.д.) spiSafNonTarget2 = findViewById(R.id.spiSafNonTarget2); - guiTableDel.add(spiSafNonTarget2, "safety_non_target"); + guiTableHealth.add(spiSafNonTarget2, "safety_non_target"); ((selectDB)spiSafNonTarget2).addField("", ""); ((selectDB)spiSafNonTarget2).addField(getString(R.string.Yes), "1"); ((selectDB)spiSafNonTarget2).addField(getString(R.string.No), "0"); //H Если Да, то где и какое воздействие? edtSafNonTargetEffect2 = (EditText) findViewById(R.id.edtSafNonTargetEffect2); - guiTableDel.add(edtSafNonTargetEffect2, "safety_non_target_effect"); + guiTableHealth.add(edtSafNonTargetEffect2, "safety_non_target_effect"); //H Если информация поступила от прочих лиц, от кого именно? (укажите имя, номер телефона, адрес) edtSafNonTargetEffectPerson = (EditText) findViewById(R.id.edtSafNonTargetEffectPerson); - guiTableDel.add(edtSafNonTargetEffectPerson, "safety_non_target_effect_person"); + guiTableHealth.add(edtSafNonTargetEffectPerson, "safety_non_target_effect_person"); + findViewById(R.id.btnSafNonTargetEffectPerson).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.If_reported_by_another_person_by_whom)); + } + }); // Другие инциденты по здоровью или окружающей среде, возникшие возможно при обработке spiSafIncident = findViewById(R.id.spiSafIncident); @@ -1319,66 +1346,101 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H Осуществлялся ли бригадой по мониторингу ЗЧ и ОС контроль в отношении наблюдаемого или зарегистрированного воздействия на окружающую среду spiSafControl = findViewById(R.id.spiSafControl); - guiTableDel.add(spiSafControl, "safety_control"); + guiTableHealth.add(spiSafControl, "safety_control"); ((selectDB)spiSafControl).addField("", ""); ((selectDB)spiSafControl).addField(getString(R.string.Yes), "1"); ((selectDB)spiSafControl).addField(getString(R.string.No), "0"); //H Если Да, опишите последующее действие(я) edtSafControlActions = (EditText) findViewById(R.id.edtSafControlActions); - guiTableDel.add(edtSafControlActions, "safety_Control_actions"); + guiTableHealth.add(edtSafControlActions, "safety_control_actions"); //********** Предоставление информации ********* edtComments = (EditText) findViewById(R.id.edtComments); // КОММЕНТАР�?�? guiTableDel.add(edtComments, "comments"); -//********** Карта и фотографии ********** -//H Была ли составлена ситуационная карта обработки? - spiMapTreatment = findViewById(R.id.spiMapTreatment); - guiTableHealth.add(spiMapTreatment, "risk_house"); - ((selectDB)spiMapTreatment).addField("", ""); - ((selectDB)spiMapTreatment).addField(getString(R.string.Yes), "1"); - ((selectDB)spiMapTreatment).addField(getString(R.string.No), "0"); -//H Фото ситуации, возникшей при обработке, любых инцидентов и т. д. - edtImage1 = (EditText) findViewById(R.id.edtImage1); // Фото - guiTableHealth.add(edtImage1, "image_name1"); - edtImage2 = (EditText) findViewById(R.id.edtImage2); // Фото - guiTableHealth.add(edtImage2, "image_name2"); - edtImage3 = (EditText) findViewById(R.id.edtImage3); // Фото - guiTableHealth.add(edtImage3, "image_name3"); - edtImage4 = (EditText) findViewById(R.id.edtImage3); // Фото - guiTableHealth.add(edtImage4, "image_name4"); - edtImage5 = (EditText) findViewById(R.id.edtImage3); // Фото - guiTableHealth.add(edtImage5, "image_name5"); + //********** Карта и фотографии ********** + //H Была ли составлена ситуационная карта обработки? + spiMapTreatment = findViewById(R.id.spiMapTreatment); + guiTableHealth.add(spiMapTreatment, "map_treatment"); + ((selectDB)spiMapTreatment).addField("", ""); + ((selectDB)spiMapTreatment).addField(getString(R.string.Yes), "1"); + ((selectDB)spiMapTreatment).addField(getString(R.string.No), "0"); + //H Фото ситуации, возникшей при обработке, любых инцидентов и т. д. + edtImage1 = (EditText) findViewById(R.id.edtImage1); // Фото + guiTableHealth.add(edtImage1, "image_name1"); + edtImage2 = (EditText) findViewById(R.id.edtImage2); // Фото + guiTableHealth.add(edtImage2, "image_name2"); + edtImage3 = (EditText) findViewById(R.id.edtImage3); // Фото + guiTableHealth.add(edtImage3, "image_name3"); + edtImage4 = (EditText) findViewById(R.id.edtImage3); // Фото + guiTableHealth.add(edtImage4, "image_name4"); + edtImage5 = (EditText) findViewById(R.id.edtImage3); // Фото + guiTableHealth.add(edtImage5, "image_name5"); -//********** Оценки риска ********** -//H Имеются ли в непосредственной близости от обработок жилые дома или жилье (в радиусе 2 км вокруг обрабатываемого участка) - spiRiskHouse = findViewById(R.id.spiRiskHouse); - guiTableHealth.add(spiRiskHouse, "risk_house"); - ((selectDB)spiRiskHouse).addField("", ""); - ((selectDB)spiRiskHouse).addField(getString(R.string.Yes), "1"); - ((selectDB)spiRiskHouse).addField(getString(R.string.No), "0"); -//H Расстояние от ближайшего края обрабатываемого участка (м) до ближайшего жилья: - edtRiskHouseDistance = (EditText) findViewById(R.id.edtRiskHouseDistance); - guiTableHealth.add(edtRiskHouseDistance, "risk_house_distance"); -//H Соблюдались ли буферные зоны? - spiRiskHouseBufferZones = findViewById(R.id.spiRiskHouseBufferZones); - guiTableHealth.add(spiRiskHouseBufferZones, "risk_house_buffer_zones"); - ((selectDB)spiRiskHouseBufferZones).addField("", ""); - ((selectDB)spiRiskHouseBufferZones).addField(getString(R.string.Yes), "1"); - ((selectDB)spiRiskHouseBufferZones).addField(getString(R.string.No), "0"); -//H Существует ли вероятность воздействия на жилые дома/жилье? - spiRiskHouseImpact = findViewById(R.id.spiRiskHouseImpact); - guiTableHealth.add(spiRiskHouseImpact, "risk_house_impact"); - ((selectDB)spiRiskHouseImpact).addField("", ""); - ((selectDB)spiRiskHouseImpact).addField(getString(R.string.Yes), "1"); - ((selectDB)spiRiskHouseImpact).addField(getString(R.string.No), "0"); -//H Были ли проинформированы жители о применении инсектицидов? (проверка бригадой по мониторингу) - spiRiskHouseInformed = findViewById(R.id.spiRiskHouseInformed); - guiTableHealth.add(spiRiskHouseInformed, "risk_house_informed"); - ((selectDB)spiRiskHouseInformed).addField("", ""); - ((selectDB)spiRiskHouseInformed).addField(getString(R.string.Yes), "1"); - ((selectDB)spiRiskHouseInformed).addField(getString(R.string.No), "0"); + //********** Оценки риска ********** + //H Имеются ли в непосредственной близости от обработок жилые дома или жилье (в радиусе 2 км вокруг обрабатываемого участка) + spiRiskHouse = findViewById(R.id.spiRiskHouse); + guiTableHealth.add(spiRiskHouse, "risk_house"); + ((selectDB)spiRiskHouse).addField("", ""); + ((selectDB)spiRiskHouse).addField(getString(R.string.Yes), "1"); + ((selectDB)spiRiskHouse).addField(getString(R.string.No), "0"); + findViewById(R.id.btnRiskHouse).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Any_dwellings_or_housing_nearby_the_treatment)); + } + }); + // Чтоб при изменении значения скрывались соответствующие поля + ((selectDB)spiRiskHouse).setOnChangeValueListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + LinearLayout llRiskHouseDistance = findViewById(R.id.llRiskHouseDistance); + LinearLayout llRiskHouseBufferZones = findViewById(R.id.llRiskHouseBufferZones); + LinearLayout llRiskHouseImpact = findViewById(R.id.llRiskHouseImpact); + LinearLayout llRiskHouseInformed = findViewById(R.id.llRiskHouseInformed); + if(((selectDB)spiRiskHouse).getValue() != null && ((selectDB)spiRiskHouse).getValue().equals("1")) { + llRiskHouseDistance.setVisibility(View.VISIBLE); + llRiskHouseBufferZones.setVisibility(View.VISIBLE); + llRiskHouseImpact.setVisibility(View.VISIBLE); + llRiskHouseInformed.setVisibility(View.VISIBLE); + }else{ + edtRiskHouseDistance.setText(""); + ((dbfields.AutoCompleteTextViewDB)spiRiskHouseBufferZones).setValue(null); + ((dbfields.AutoCompleteTextViewDB)spiRiskHouseImpact).setValue(null); + ((dbfields.AutoCompleteTextViewDB)spiRiskHouseInformed).setValue(null); + llRiskHouseDistance.setVisibility(View.GONE); + llRiskHouseBufferZones.setVisibility(View.GONE); + llRiskHouseImpact.setVisibility(View.GONE); + llRiskHouseInformed.setVisibility(View.GONE); + } + } + }); + //H Расстояние от ближайшего края обрабатываемого участка (м) до ближайшего жилья: + edtRiskHouseDistance = (EditText) findViewById(R.id.edtRiskHouseDistance); + guiTableHealth.add(edtRiskHouseDistance, "risk_house_distance"); + //H Соблюдались ли буферные зоны? + spiRiskHouseBufferZones = findViewById(R.id.spiRiskHouseBufferZones); + guiTableHealth.add(spiRiskHouseBufferZones, "risk_house_buffer_zones"); + ((selectDB)spiRiskHouseBufferZones).addField("", ""); + ((selectDB)spiRiskHouseBufferZones).addField(getString(R.string.Yes), "1"); + ((selectDB)spiRiskHouseBufferZones).addField(getString(R.string.No), "0"); + //H Существует ли вероятность воздействия на жилые дома/жилье? + spiRiskHouseImpact = findViewById(R.id.spiRiskHouseImpact); + guiTableHealth.add(spiRiskHouseImpact, "risk_house_impact"); + ((selectDB)spiRiskHouseImpact).addField("", ""); + ((selectDB)spiRiskHouseImpact).addField(getString(R.string.Yes), "1"); + ((selectDB)spiRiskHouseImpact).addField(getString(R.string.No), "0"); + //H Были ли проинформированы жители о применении инсектицидов? (проверка бригадой по мониторингу) + spiRiskHouseInformed = findViewById(R.id.spiRiskHouseInformed); + guiTableHealth.add(spiRiskHouseInformed, "risk_house_informed"); + ((selectDB)spiRiskHouseInformed).addField("", ""); + ((selectDB)spiRiskHouseInformed).addField(getString(R.string.Yes), "1"); + ((selectDB)spiRiskHouseInformed).addField(getString(R.string.No), "0"); //H Имеются ли в непосредственной близости от обработок поверхностные воды (в радиусе 2 км вокруг обрабатываемого участка) spiRiskWater = findViewById(R.id.spiRiskWater); @@ -1386,6 +1448,15 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiRiskWater).addField("", ""); ((selectDB)spiRiskWater).addField(getString(R.string.Yes), "1"); ((selectDB)spiRiskWater).addField(getString(R.string.No), "0"); + findViewById(R.id.btnRiskWater).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Any_surface_waters_nearby_the_treatment)); + } + }); + // Чтоб при изменении значения скрывались соответствующие поля ((selectDB)spiRiskWater).setOnChangeValueListener(new OnClickListener() { @Override @@ -1401,7 +1472,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi }else{ edtRiskWaterDistance.setText(""); ((dbfields.AutoCompleteTextViewDB)spiRiskWaterBufferZones).setValue(null); - ((dbfields.AutoCompleteTextViewDB)spiRiskAgriculturalInform).setValue(null); + ((dbfields.AutoCompleteTextViewDB)spiRiskWaterImpact).setValue(null); llRiskWaterDistance.setVisibility(View.GONE); llRiskWaterBufferZones.setVisibility(View.GONE); llRiskWaterImpact.setVisibility(View.GONE); @@ -1430,6 +1501,14 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiRiskApiary).addField("", ""); ((selectDB)spiRiskApiary).addField(getString(R.string.Yes), "1"); ((selectDB)spiRiskApiary).addField(getString(R.string.No), "0"); + findViewById(R.id.btnRiskApiary).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Any_apiculture_nearby_the_treatment)); + } + }); // Чтоб при изменении значения скрывались соответствующие поля ((selectDB)spiRiskApiary).setOnChangeValueListener(new OnClickListener() { @@ -1528,13 +1607,21 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiRiskAgriculturalInform).addField(getString(R.string.Yes), "1"); ((selectDB)spiRiskAgriculturalInform).addField(getString(R.string.No), "0"); - //H Имеются ли в непосредственной близости от обработок шелководства (в радиусе 2 км вокруг обрабатываемого участка) spiRiskSilk = findViewById(R.id.spiRiskSilk); guiTableHealth.add(spiRiskSilk, "risk_silk"); ((selectDB)spiRiskSilk).addField("", ""); ((selectDB)spiRiskSilk).addField(getString(R.string.Yes), "1"); ((selectDB)spiRiskSilk).addField(getString(R.string.No), "0"); + findViewById(R.id.btnRiskSilk).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Any_sericulture_nearby_the_treatment)); + } + }); + // Чтоб при изменении значения скрывались соответствующие поля ((selectDB)spiRiskSilk).setOnChangeValueListener(new OnClickListener() { @@ -1644,6 +1731,14 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi } } }); + findViewById(R.id.btnRiskPark).setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) + { + alert(getString(R.string.Any_other_ecologically_sensitive_areas_nearby_the_treatment)); + } + }); //H Какой тип экологически чувствительной зоны edtRiskParkType = (EditText) findViewById(R.id.edtRiskParkType); @@ -1691,10 +1786,10 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi } }); //H Проба какого субстрата или организма была взята - edtRiskProbeAnalysisName = (EditText) findViewById(R.id.edtComments); + edtRiskProbeAnalysisName = (EditText) findViewById(R.id.edtRiskProbeAnalysisName); guiTableHealth.add(edtRiskProbeAnalysisName, "risk_probe_analysis_name"); //H Регистрационный номер формы отбора проб - edtRiskProbeAnalysisNumber = (EditText) findViewById(R.id.edtComments); + edtRiskProbeAnalysisNumber = (EditText) findViewById(R.id.edtRiskProbeAnalysisNumber); guiTableHealth.add(edtRiskProbeAnalysisNumber, "risk_probe_analysis_number"); @@ -3145,17 +3240,36 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public void updateAlpha() { String value; - boolean f; - int c; + //boolean f; + //int c; //Имеются ли в непосредственной близости от обработок жилые дома или жилье (в радиусе 2 км вокруг обрабатываемого участка) - + LinearLayout llRiskHouseDistance = findViewById(R.id.llRiskHouseDistance); + LinearLayout llRiskHouseBufferZones = findViewById(R.id.llRiskHouseBufferZones); + LinearLayout llRiskHouseImpact = findViewById(R.id.llRiskHouseImpact); + LinearLayout llRiskHouseInformed = findViewById(R.id.llRiskHouseInformed); + value = ((selectDB)spiRiskHouse).getValue(); + if(value != null && value.equals("1")) { + llRiskHouseDistance.setVisibility(View.VISIBLE); + llRiskHouseBufferZones.setVisibility(View.VISIBLE); + llRiskHouseImpact.setVisibility(View.VISIBLE); + llRiskHouseInformed.setVisibility(View.VISIBLE); + }else{ + edtRiskHouseDistance.setText(""); + ((dbfields.AutoCompleteTextViewDB)spiRiskHouseBufferZones).setValue(null); + ((dbfields.AutoCompleteTextViewDB)spiRiskHouseImpact).setValue(null); + ((dbfields.AutoCompleteTextViewDB)spiRiskHouseInformed).setValue(null); + llRiskHouseDistance.setVisibility(View.GONE); + llRiskHouseBufferZones.setVisibility(View.GONE); + llRiskHouseImpact.setVisibility(View.GONE); + llRiskHouseInformed.setVisibility(View.GONE); + } //Имеются ли в непосредственной близости от обработок поверхностные воды (в радиусе 2 км вокруг обрабатываемого участка) LinearLayout llRiskWaterDistance = findViewById(R.id.llRiskWaterDistance); LinearLayout llRiskWaterBufferZones = findViewById(R.id.llRiskWaterBufferZones); LinearLayout llRiskWaterImpact = findViewById(R.id.llRiskWaterImpact); - value = ((selectDB)spiRiskApiary).getValue(); + value = ((selectDB)spiRiskWater).getValue(); if(value != null && value.equals("1")) { llRiskWaterDistance.setVisibility(View.VISIBLE); llRiskWaterBufferZones.setVisibility(View.VISIBLE); @@ -3163,7 +3277,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi }else{ edtRiskWaterDistance.setText(""); ((dbfields.AutoCompleteTextViewDB)spiRiskWaterBufferZones).setValue(null); - ((dbfields.AutoCompleteTextViewDB)spiRiskAgriculturalInform).setValue(null); + ((dbfields.AutoCompleteTextViewDB)spiRiskWaterImpact).setValue(null); llRiskWaterDistance.setVisibility(View.GONE); llRiskWaterBufferZones.setVisibility(View.GONE); llRiskWaterImpact.setVisibility(View.GONE); @@ -3281,7 +3395,6 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi llRiskProbeAnalysisNumber.setVisibility(View.GONE); } - /*if (spiEffControl.isChecked()) { f = true; @@ -3960,7 +4073,6 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi startService(new Intent(this, MainService.class).putExtra(MainService.PARAM_ACTION, "1")); // Чтоб вызвать событие таймера в сервисе LocustHealthActivity.this.finish(); // Закрываем форму } - } /** diff --git a/app/src/main/java/kz/istt/locust/MainActivity.java b/app/src/main/java/kz/istt/locust/MainActivity.java index d0e5684..3b21fc4 100644 --- a/app/src/main/java/kz/istt/locust/MainActivity.java +++ b/app/src/main/java/kz/istt/locust/MainActivity.java @@ -84,9 +84,10 @@ public class MainActivity extends Activity { Tools.loadLocale(this); DbOpenHelper dboh = new DbOpenHelper(MainActivity.this);; + //Перебираем и удаляем фото файлы названия которых нет в базе данных! + SQLiteDatabase db = dboh.getReadableDatabase(); + - //Перебираем и удаляем фото файлы названия которых нет в базе данных! - SQLiteDatabase db = dboh.getReadableDatabase(); File directory = new File(Environment.getExternalStorageDirectory() + File.separator + "Pictures" + File.separator + "Locust"); directory.mkdirs(); File[] files = directory.listFiles(); diff --git a/app/src/main/res/layout/activity_locust_health.xml b/app/src/main/res/layout/activity_locust_health.xml index bc336fc..49068f0 100644 --- a/app/src/main/res/layout/activity_locust_health.xml +++ b/app/src/main/res/layout/activity_locust_health.xml @@ -2441,8 +2441,8 @@ android:enabled="false" android:focusable="false"/> -