From 4495513299b14b835f643d6dfce6ee2d3220c534 Mon Sep 17 00:00:00 2001 From: Igor I Date: Tue, 16 Jul 2024 18:13:08 +0500 Subject: [PATCH] =?UTF-8?q?+=D0=BF=D0=BE=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kz/istt/locust/DbOpenHelper.java | 107 ++++++++++------ .../kz/istt/locust/LocustHealthActivity.java | 121 ++++++++++++++++-- .../kz/istt/locust/MySynchronizationOld.java | 3 + 3 files changed, 175 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/kz/istt/locust/DbOpenHelper.java b/app/src/main/java/kz/istt/locust/DbOpenHelper.java index 06deda2..88913ac 100644 --- a/app/src/main/java/kz/istt/locust/DbOpenHelper.java +++ b/app/src/main/java/kz/istt/locust/DbOpenHelper.java @@ -62,7 +62,8 @@ public class DbOpenHelper extends SQLiteOpenHelper //Таблица пользователей sql = "create table if not exists _user(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, del boolean NOT NULL DEFAULT 0," + + "uid text," + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться + "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + "name text," + "surname text," + @@ -74,7 +75,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Список языков (для переводя) sql = "create table if not exists _languages(" + "id integer," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "short_name text NOT NULL," + @@ -85,7 +86,7 @@ public class DbOpenHelper extends SQLiteOpenHelper // Таблица переводов для базы данных (пока все языки загружаются) sql = "create table if not exists _translations(" + "id integer," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "language_id integer NOT NULL," + @@ -97,7 +98,7 @@ public class DbOpenHelper extends SQLiteOpenHelper // Для идентификации терминала как зарегистрированного (должна быть 1 запись) sql = "create table if not exists terminals(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "country_id integer," + @@ -112,7 +113,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Список компаний sql = "create table if not exists companies(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL" + @@ -122,7 +123,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Список стран sql = "create table if not exists Countries(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL" + @@ -132,7 +133,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Список регионов для стран sql = "create table if not exists CountriesRegions(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "country_id int NOT NULL," + @@ -148,7 +149,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Коордионаты границы для региона /*sql = "create table if not exists CountriesRegionsPoints(" + "id integer NOT NULL PRIMARY KEY AUTOINCREMENT," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "country_region_id int NOT NULL," + @@ -161,7 +162,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Виды саранчи sql = "create table if not exists LocustsTypes(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -172,7 +173,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Справочник отрождения "Начало", "Массовое". sql = "create table if not exists Borns(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -183,7 +184,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Справочник окрыление. sql = "create table if not exists Fledgling(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -194,7 +195,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Справочник плотности «низкая», «средняя» и «высокая». sql = "create table if not exists list_density(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -205,7 +206,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Фаза саранчи «одиночная», «переходная» и «стадная». sql = "create table if not exists list_phase(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -216,7 +217,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Опрыскиватели: "Трактор", "Самолёт" итд. sql = "create table if not exists Sprayers(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "sprayer_type_id integer," + @@ -228,7 +229,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Виды опрыскивания: "Авиа", "Наземное", "Ручное". sql = "create table if not exists sprayers_types(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -239,7 +240,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Метод подсчёта смертности: «визуальный» или «учетная рамка». sql = "create table if not exists list_mortality(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -250,7 +251,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Направления sql = "create table if not exists list_directions(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -261,7 +262,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Справочник повреждения растительного покрова sql = "create table if not exists list_damage(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -273,7 +274,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Справочник зелени «Сухая,Зеленая,Всходы,Засыхающая». sql = "create table if not exists list_greenery(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -283,7 +284,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_biotope(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -293,7 +294,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_cover(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -303,7 +304,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_age(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -313,7 +314,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_actions(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -323,7 +324,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_paintings(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -333,7 +334,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_behaviors(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -344,7 +345,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Похожая таблица на "list_behaviors" и содержимое sql = "create table if not exists list_breeding(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -354,7 +355,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_capacities(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -364,7 +365,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_markings(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -374,7 +375,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_containers(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -382,9 +383,19 @@ public class DbOpenHelper extends SQLiteOpenHelper ");"; db.execSQL(sql); + sql = "create table if not exists list_containers_states(" + + "id integer NOT NULL PRIMARY KEY," + + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться + "del boolean NOT NULL DEFAULT 0," + + "seq integer NOT NULL DEFAULT 1," + //Время изменения + "name text NOT NULL," + + "sort integer" + //Порядок сортировки (специально для справичников) + ");"; + db.execSQL(sql); + sql = "create table if not exists list_vegetation(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -394,7 +405,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_formulation(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -404,7 +415,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_height(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -414,7 +425,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_enemies(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -424,7 +435,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_purpose(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -434,7 +445,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_impact(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -444,7 +455,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists list_diluted(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "name text NOT NULL," + @@ -455,7 +466,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Форма саранчи id может быть пустым (только если создали на КПК) sql = "create table if not exists frmlocust(" + "id integer," + - "uid text NOT NULL, " + //Уникальный идентификатор + "uid text NOT NULL, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "send boolean NOT NULL DEFAULT 0," + //Отправлена ли запись на сервер (При изменении отмечается как не отправленное false) @@ -559,7 +570,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Для формы уничтожения саранчи id может быть пустым (только если создали на КПК) sql = "create table if not exists frmlocustdel(" + "id integer," + - "uid text NOT NULL, " + //Уникальный идентификатор + "uid text NOT NULL, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + "send boolean NOT NULL DEFAULT 0," + @@ -695,7 +706,7 @@ public class DbOpenHelper extends SQLiteOpenHelper //Для формы уничтожения саранчи id может быть пустым (только если создали на КПК) sql = "create table if not exists frmlocusthealth(" + "id integer," + //Локальный идентификатор на сервере для убыстрения доступа - "uid text NOT NULL, " + //Уникальный идентификатор записи + "uid text NOT NULL, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + "send boolean NOT NULL DEFAULT 0," + @@ -835,7 +846,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists frmlocust_locations(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "frmlocust_uid text," + @@ -847,7 +858,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists frmlocustdel_locations(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "frmlocustdel_uid text," + @@ -859,7 +870,7 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "create table if not exists frmlocusthealth_locations(" + "id integer NOT NULL PRIMARY KEY," + - "uid text, " + //Уникальный идентификатор (пока не используется) + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться "del boolean NOT NULL DEFAULT 0," + "seq integer NOT NULL DEFAULT 1," + //Время изменения "frmlocusthealth_uid text," + @@ -1380,6 +1391,16 @@ public class DbOpenHelper extends SQLiteOpenHelper sql = "ALTER TABLE frmlocusthealth ADD timezone text;"; db.execSQL(sql); + sql = "create table if not exists list_containers_states(" + + "id integer NOT NULL PRIMARY KEY," + + "uid text, " + //Уникальный идентификатор пока не используется но для распределенной базы будет использоваться + "del boolean NOT NULL DEFAULT 0," + + "seq integer NOT NULL DEFAULT 1," + //Время изменения + "name text NOT NULL," + + "sort integer" + //Порядок сортировки (специально для справичников) + ");"; + db.execSQL(sql); + oldVersion=153; } @@ -1423,6 +1444,8 @@ public class DbOpenHelper extends SQLiteOpenHelper db.execSQL("DROP TABLE IF EXISTS list_breeding"); //«Одиночные, разреженные, группы» db.execSQL("DROP TABLE IF EXISTS list_capacities"); //«Полнообъемное», «Малообъемное», «Ультрамалообъемное». db.execSQL("DROP TABLE IF EXISTS list_markings"); + db.execSQL("DROP TABLE IF EXISTS list_containers"); + db.execSQL("DROP TABLE IF EXISTS list_containers_states"); //"Неповрежденные и этикетки читаемые", "Неповрежденные, но этикетка отсутствует или не возможно читать информацию", "Повреждены", "Не проверялось" db.execSQL("DROP TABLE IF EXISTS list_purpose"); db.execSQL("DROP TABLE IF EXISTS list_impact"); db.execSQL("DROP TABLE IF EXISTS list_diluted"); diff --git a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java index 49a47f6..44050c8 100644 --- a/app/src/main/java/kz/istt/locust/LocustHealthActivity.java +++ b/app/src/main/java/kz/istt/locust/LocustHealthActivity.java @@ -141,6 +141,8 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi public View spiInsDiluted = null; // Коммерческий припарат разбавлен? public EditText edtInsProportion = null; // пропорция разбавления рабочей жидкости public EditText edtInsRate = null; // расход рабочей жидкости(л/га) + public View spiInsContainerState = null; //H Состояние пакетов или контейнеров с инсектицидами + public EditText edtInsUsedVolume = null; // Общий объем использованной рабочей жидкости (л) public View spiEffectiveness = null; // Контроль эфективности @@ -527,7 +529,25 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi edtInsRate = (EditText) findViewById(R.id.edtInsRate); guiTableDel.add(edtInsRate, "insecticide_rate"); -//H Состояние пакетов или контейнеров с инсектицидами + //H Состояние пакетов или контейнеров с инсектицидами + spiInsContainerState = findViewById(R.id.spiInsContainerState); + guiTableDel.add(spiInsDiluted, "insecticide_container_state_id"); + ((selectDB)spiInsContainerState).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_containers_states d where d.del=0 order by d.sort, d.name", null); + if (cursor.moveToFirst()) + { + do + { + ((selectDB)spiInsContainerState).addField(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("id"))); + } while (cursor.moveToNext()); + } + cursor.close(); + dboh.close(); //**********Погодные условия********** // время начала @@ -790,6 +810,7 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi guiTableDel.add(edtSprHeight, "spray_height"); //H Механическая безопасность: наблюдалась ли утечка инсектицида? + ++++++++++++ //H Если Да, в какой части опрыскивателя имеется утечка? //H Система опрыскивания: повреждены распылители или сопла? //H Если Да, какие повреждения? @@ -845,19 +866,16 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi //H Замечания относительно наблюдаемой практики опрыскивания //********** Калибровка опрыскивателя ********** - ++++++++++++++++ -//H -//H -//H -//H -//H -//H -//H -//H -//H -//H -//H -//H + +//H Калибровка расхода жидкости: проверялся ли расход жидкости опрыскивателя во время мониторинга? +//H Время калибровки (мин.): +//H Собранный объем (л): +//H Расход жидкости (л/мин): +//H Качество применения: проверялось ли осаждение капель во время мониторинга? +//H Длина трансекты, определенная с использованием масляно-/водочувствительной бумаги (м) +//H Средняя скорость ветра при осаждении капель (м/с) +//H Ширина дорожки с хорошим покрытием капель (м) +//H Рекомендуемый интервал между проходами (м) // Контроль эфективности spiEffectiveness = findViewById(R.id.spiEffectiveness); @@ -914,6 +932,13 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi cursor.close(); dboh.close(); +//H Проведен ли контроль эффективности (бригада мониторинга)? +//H Тип оцениваемого биологического воздействия +//H Наблюдаемая эффективность обработки (%) +//H Прошло времени после обработки +//H Метод оценки эффективности обработки (выбор: подсчет квадратов; подсчет по разрезам; подсчет кулиг личинок; другое) + + //**********Здоровье человека********** // Индивидуальные средства защиты cbSafClothingGoggles = (CheckBox) findViewById(R.id.cbSafClothingGoggles); //cbSafClothingGoggles.setOnCheckedChangeListener(cclsl); @@ -972,6 +997,14 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi ((selectDB)spiEffectiveness).addField(getString(R.string.Yes), "1"); ((selectDB)spiEffectiveness).addField(getString(R.string.No), "0"); + +//H Замечания относительно типа и состояния средств индивидуальной защиты +//H В бригаде или на ближайшей противосаранчовой базе имеется запасная защитная одежда (в частности, комбинезоны и перчатки) +//H Количество операторов с паспортами использования пестицидов +//H Количество правильно заполненных паспортов использования пестицидов +//H Во время мониторинга измерялось ли ингибирование холинэстеразы? + + //Оператор случайно подвергся воздействию инсектицида или плохое самочувствие spiOperatorExposedInsecticide = findViewById(R.id.spiOperatorExposedInsecticide); guiTableDel.add(spiOperatorExposedInsecticide, "safety_operator_health"); @@ -983,7 +1016,9 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi edtDescription = (EditText) findViewById(R.id.edtDescription); guiTableDel.add(edtDescription, "description"); +//H Дополнительные сведения о случайном воздействии или отравлении + //**********Состояние окружающей среды********** // Пустые контейнеры (выборка локализованных названий) dboh = new DbOpenHelper(this); cursor = dboh @@ -1042,6 +1077,8 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi cbBuried = (CheckBox) findViewById(R.id.cbBuried); cbBurned = (CheckBox) findViewById(R.id.cbBurned); +//H Наблюдалось или сообщалось о случайном загрязнении? (например, разлив инсектицидов, неправильная очистка оборудования и т. д.) +//H Если Да, то где и какой тип загрязнения? // воздействие на нецелевые организмы spiSafNonTarget = findViewById(R.id.spiSafNonTarget); @@ -1054,6 +1091,10 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi edtSafNonTargetEffect = (EditText) findViewById(R.id.edtSafNonTargetEffect); guiTableDel.add(edtSafNonTargetEffect, "safety_non_target_effect"); +//H Наблюдалось или сообщалось о воздействии на нецелевые организмы? (например, болезни домашнего скота, смертность рыб, гибель пчел и т.д.) +//H Если Да, то где и какое воздействие? +//H Если информация поступила от прочих лиц, от кого именно? (укажите имя, номер телефона, адрес) + // Другие инциденты по здоровью или окружающей среде, возникшие возможно при обработке spiSafIncident = findViewById(R.id.spiSafIncident); guiTableDel.add(spiSafIncident, "safety_incident"); @@ -1065,10 +1106,62 @@ public class LocustHealthActivity extends FragmentActivity implements LocationLi edtSafIncidentEffect = (EditText) findViewById(R.id.edtSafIncidentEffect); guiTableDel.add(edtSafIncidentEffect, "safety_incident_effect"); +//H Осуществлялся ли бригадой по мониторингу ЗЧ и ОС контроль в отношении наблюдаемого или зарегистрированного воздействия на окружающую среду +//H Если Да, опишите последующее действие(я) + //********** Предоставление информации ********* edtComments = (EditText) findViewById(R.id.edtComments); // КОММЕНТАР�?�? guiTableDel.add(edtComments, "comments"); +//********** Карта и фотографии ********** + +//H Была ли составлена ситуационная карта обработки? +//H Фото ситуации, возникшей при обработке, любых инцидентов и т. д. + +//********** Оценки риска ********** + +//H Имеются ли в непосредственной близости от обработок жилые дома или жилье (в радиусе 2 км вокруг обрабатываемого участка) +//H Расстояние от ближайшего края обрабатываемого участка (м) до ближайшего жилья: +//H Соблюдались ли буферные зоны? +//H Существует ли вероятность воздействия на жилые дома/жилье? +//H Были ли проинформированы жители о применении инсектицидов? (проверка бригадой по мониторингу) + +//H Имеются ли в непосредственной близости от обработок поверхностные воды (в радиусе 2 км вокруг обрабатываемого участка) +//H Расстояние от ближайшего края обрабатываемого участка (м) до ближайшего источника поверхностной воды: +//H Соблюдались ли буферные зоны? +//H Существует ли вероятность воздействия на поверхностные воды? + +//H Имеются ли в непосредственной близости от обработок пчеловодства (в радиусе 5 км вокруг обрабатываемого участка) +//H Расстояние от ближайшего края обрабатываемого участка (м) до пасеки +//H Были ли пчеловоды проинформированы о применении инсектицидов +//H Какие меры были предприняты для снижения отрицательного воздействия на пчел +//H Существует ли вероятность воздействия на пчел + +//H Были ли обработаны или подверглись воздействию какие-либо сельхозкультуры? +//H Наименование сельхозкультуры +//H Фаза развития сельхозкультуры +//H Наблюдалась ли фитотоксичность +//H Были ли фермеры проинформированы о предуборочном периоде + +//H Имеются ли в непосредственной близости от обработок шелководства (в радиусе 2 км вокруг обрабатываемого участка) +//H Расстояние от ближайшего края обрабатываемого участка (м) до тутовой плантации +//H Были ли шелководы проинформированы о применении инсектицидов? +//H Какие меры были предприняты для снижения отрицательного воздействия на тутовые деревья +//H Существует ли вероятность воздействия на тутовые деревья + +//H Были ли обработаны луга или пастбища? +//H Были ли пастухи проинформированы о периодах удержания домашнего скота? + +//H Имеются ли в непосредственной близости от обработок другие экологически чувствительные зоны (например, национальный парк, заповедник) (в радиусе 2 км вокруг обрабатываемого участка) +//H Какой тип экологически чувствительной зоны +//H Расстояние от ближайшего края обрабатываемого участка (м) до экологически чувствительной зоны +//H Соблюдались ли буферные зоны? +//H Существует ли вероятность воздействия на экологически чувствительные зоны? + +//H Отбор проб для анализа остатков +//H Пробы, взятые для анализа остатков +//H Проба какого субстрата или организма была взята +//H Регистрационный номер формы отбора проб Integer user_id = null; diff --git a/app/src/main/java/kz/istt/locust/MySynchronizationOld.java b/app/src/main/java/kz/istt/locust/MySynchronizationOld.java index c0e5f0c..b025360 100644 --- a/app/src/main/java/kz/istt/locust/MySynchronizationOld.java +++ b/app/src/main/java/kz/istt/locust/MySynchronizationOld.java @@ -114,6 +114,7 @@ public class MySynchronizationOld private int rid_list_capacities = -1; private int rid_list_markings = -1; private int rid_list_containers = -1; //Что сделали с пустыми контейнерами от отравы + private int rid_list_containers_states = -1; private int rid_list_vegetation = -1; private int rid_list_formulation = -1; private int rid_list_height = -1; @@ -383,6 +384,7 @@ public class MySynchronizationOld rid_list_capacities = makeRequest("list_capacities",null,null); rid_list_markings = makeRequest("list_markings",null,null); rid_list_containers = makeRequest("list_containers",null,null); + rid_list_containers_states = makeRequest("list_containers_states",null,null); rid_list_vegetation = makeRequest("list_vegetation",null,null); rid_list_formulation = makeRequest("list_formulation",null,null); rid_list_height = makeRequest("list_height",null,null); @@ -454,6 +456,7 @@ public class MySynchronizationOld (rid == rid_list_capacities && rid_list_capacities!=-1) || (rid == rid_list_markings && rid_list_markings!=-1) || (rid == rid_list_containers && rid_list_containers!=-1) || + (rid == rid_list_containers_states && rid_list_containers_states!=-1) || (rid == rid_list_vegetation && rid_list_vegetation!=-1) || (rid == rid_list_formulation && rid_list_formulation!=-1) || (rid == rid_list_height && rid_list_height!=-1) ||