Перевожу текст RU EN

This commit is contained in:
2024-06-17 18:50:30 +05:00
parent 2c29159b51
commit ce9fbe69eb
12 changed files with 1266 additions and 84 deletions

2
.idea/compiler.xml generated
View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
<bytecodeTargetLevel target="17" />
</component>
</project>

2
.idea/gradle.xml generated
View File

@ -5,7 +5,7 @@
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="21" />
<option name="gradleJvm" value="jbr-17" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

3
.idea/misc.xml generated
View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
@ -77,7 +78,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@ -0,0 +1,678 @@
package kz.istt.locust;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class LocustHealthListActivity extends AppCompatActivity
{
public LinearLayout llList;
public MyButton btn;
public FloatingActionButton btnAdd = null;
public Spinner spiList = null;
private Timer timer = new Timer();
public File file = null;
public void alert(String text)
{
AlertDialog.Builder adb = new AlertDialog.Builder(this,R.style.AlertDialogTheme);
adb.setTitle(getString(R.string.Warning));
adb.setMessage(text);
adb.setPositiveButton("OK", new DialogInterface.OnClickListener() //Кнопка открыть
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{}
});
AlertDialog ad = adb.show();
ad.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLACK);
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_locust_health_list);
//Загрузка сохранёного языка
Tools.loadLocale(this);
llList = (LinearLayout) findViewById(R.id.llList);
/*
* btn = (Button) findViewById(R.id.button1); OnClickListener oclBtnRus = new OnClickListener() {
*
* @Override public void onClick(View v) { //Отобразим окно уничтожения саранчи Intent intent = new Intent(LocustHealthListActivity.this, LocustHealthActivity.class); //intent.putExtra("id", b.id); //intent.putExtra("date", b.date); startActivity(intent); } }; btn.setOnClickListener(oclBtnRus);
*/
spiList = (Spinner) findViewById(R.id.spiList); // Оператор (пилот, водитель, др...)
ArrayList<String> list = new ArrayList<String>();
list.add(getString(R.string.Waiting_to_be_filled));
list.add(getString(R.string.Not_submitted));
list.add(getString(R.string.Submitted));
list.add(getString(R.string.All));
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spiList.setAdapter(dataAdapter);
spiList.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id)
{
//onStart();
updateList();
}
@Override
public void onNothingSelected(AdapterView<?> parentView)
{
}
});
btnAdd = (FloatingActionButton) findViewById(R.id.btnAdd);
btnAdd.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(LocustHealthListActivity.this, LocustHealthActivity.class);
startActivity(intent);
}
});
//Чтоб список обновлялся раз в минуту в соответствии с текущем фильтром (для наглядности отправки данных)
timer.scheduleAtFixedRate(new TimerTask()
{
@SuppressLint("HandlerLeak")
private Handler myHandle = new Handler() {
@Override
public void handleMessage(Message msg)
{
//onStart();
updateList();
}
};
@Override
public void run() {
myHandle.sendMessage(myHandle.obtainMessage());
}
}, 0, 1000 ); //Раз в секунду
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.locust_health_list, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.itemCreate: // Создание карточки
Intent intent = new Intent(this, LocustHealthActivity.class);
startActivity(intent);
break;
case R.id.itemDelete: //Удаление всех отправленных из базы
AlertDialog.Builder alertDialog = new AlertDialog.Builder(LocustHealthListActivity.this,R.style.AlertDialogTheme);//new AlertDialog.Builder(this).create();
alertDialog.setCancelable(false);
alertDialog.setTitle(getString(R.string.Warning));
alertDialog.setMessage(getString(R.string.Cleaning));
alertDialog.setPositiveButton(getString(R.string.action_delete), new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int arg1)
{
DbOpenHelper dboh = new DbOpenHelper(LocustHealthListActivity.this);
dboh.getReadableDatabase().execSQL("delete from frmlocusthealth where send=1");
dboh.close();
LocustHealthListActivity.this.onStart();
}
});
alertDialog.setNegativeButton(getString(R.string.Cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int arg1)
{
dialog.cancel();
}
});
AlertDialog ad = alertDialog.show();
ad.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.BLACK);
ad.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLACK);
break;
/* case R.id.itemExport: // Экспорт в Excel всего что накопилось
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss dd.MM.yyyy");
DbOpenHelper dboh = new DbOpenHelper(this);
SQLiteDatabase db = dboh.getReadableDatabase();
String user = "";
Cursor cursor = db.rawQuery("select name,surname,patronymic from _user where del=0;", null);
if (cursor.moveToFirst())
{
user = cursor.getString(cursor.getColumnIndex("surname")) + " " + cursor.getString(cursor.getColumnIndex("name")) + " "
+ cursor.getString(cursor.getColumnIndex("patronymic"));
}
cursor.close();
String html = "";
html += "<html>\n";
html += " <head>\n";
html += " <title>Locust</title>\n";
html += " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n";
html += " <style>td {mso-number-format: \"\\@\";}</style>";
html += " </head>\n";
html += " <body>\n";
html += "<b>" + getString(R.string.title_activity_locust_del) + ": </b><br>";
html += "<b>" + getString(R.string.Date) + ": </b><i>" + sdf.format(new Date()) + "</i><br>";
html += "<b>" + getString(R.string.User) + ": </b>" + user;
html += " <table border=\"1\" cellspacing=\"0\">\n";
html += " <caption><b>" + getString(R.string.Attributes) + "</b></caption>\n";
html += " <thead>\n";
html += " <tr>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\">&nbsp;</td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"4\">&nbsp;</td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"7\"><b>" + getString(R.string.CONTROL_LOCATION) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"6\"><b>" + getString(R.string.VEGETATION_DATA) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"10\"><b>" + getString(R.string.INSECTICIDE_DATA) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"12\"><b>" + getString(R.string.WEATHER_CONDITIONS) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"7\"><b>" + getString(R.string.LOCUST_INFORMATION_INCLUDING_EGG_PODS) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"17\"><b>" + getString(R.string.SPRAY_APPLICATION) + "</b></td>"; //СВЕДЕНИЯ ПО ОПРЫСКИВАНИЮ
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"3\"><b>" + getString(R.string.EFFECTIVENESS) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"5\"><b>" + getString(R.string.SAFETY_AND_ENVIRONMENT) + "</b></td>";
//html += "<td bgcolor=\"#d1d1d1\" width=\"100px\" style=\"text-align: center\" colspan=\"1\">&nbsp;</td>";
html += " </tr>";
html += " <tr>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>№</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Country) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Region) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Area) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Rural_district) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Name_of_survey_team_leader) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Date) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Village) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Lat) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Lon) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Area_infested) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Area_treated) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Vegetation_type) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Height_cm) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Vegetation_crops) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Vegetation_cover) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Damage) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Veg_damage_area) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Trade_name) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.The_active_substance) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Concentration) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Formulation) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Dose_rate) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Rate_of_working_solution) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Expiry_date) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Is_insecticide_mixed_with_water_or_solvent) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.If_yes_what_solvent_and_mixing_name) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.If_yes_what_solvent_and_mixing_ratio) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Time_start) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Time_end) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Temperature_start) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Temperature_end) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Relative_humidity_start) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Relative_humidity_end) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Wind_speed_start) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Wind_speed_end) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Wind_direction_start) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Wind_direction_end) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_direction_start) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_direction_end) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Species) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Hoppers) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Density) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Kuliguli) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Swarm) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Del_Scattered) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Phase) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_platform) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_platform_a) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_platform_g) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_platform_h) + "</b></td>";
//html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_operator) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Name_of_operator) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spray_manufacturer_model) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Date_of_last_calibration) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Atomizer_height_above_ground_m) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Coverage_width) + "</b></td>";
//html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spacing_between_the_sprayer) + "</b></td>"; //Расстояние между проходами опрыскивателя (м)
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Barriers) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Barrier_width) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Spacing_of_barriers_m) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Speed) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Antenna_DGPS_used) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Ground_marking) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Biological_efficiency_of_treatment) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Time_after_treatment_hours) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Efficacy_mortality_method) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Protective_clothing) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Inform_abaut_spraying) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Safety_non_target) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Safety_non_target_effect) + "</b></td>";
html += "<td bgcolor=\"#d1d1d1\" width=\"100px\"><b>" + getString(R.string.Comments) + "</b></td>";
html += " </tr>\n";
html += " </thead>\n";
html += " <tbody>\n";
int n = 0;
String sql="";
sql+="SELECT\n";
sql+=" fld.id,\n";
sql+=" c.name country_name,\n";
sql+=" cr.name region_name,\n";
sql+=" fld.area,\n"; //Район
sql+=" fld.district,\n"; //Сельский округ и/или хозяйство
sql+=" fld.observer,\n"; //ФИО наблюдателя
sql+=" date(fld.date, 'unixepoch') date,\n"; //Должна быть уникальной
sql+=" fld.terrain,\n"; //Название местности либо урочища
sql+=" fld.lat,\n"; //Широта
sql+=" fld.lon,\n"; //Долгота
sql+=" fld.infested_area,\n"; //заселенная площадь(га)
sql+=" fld.treated_area,\n"; //обработанная площадь(га)
sql+=" fld.vegetation_type,\n"; //Тип(дикая, культурная)
sql+=" fld.vegetation_height,\n"; //Высота (м)
sql+=" fld.vegetation_crop,\n"; //Текстовое поле для перечисления произрастающих культур
sql+=" fld.vegetation_cover,\n"; //Растительный покров (%)
sql+=" fld.vegetation_damage,\n"; //Повреждения растительного покрова(%)
sql+=" fld.vegetation_damage_area,\n"; //Площадь повреждений (га)
sql+=" fld.insecticide_name,\n"; //коммерческое название
sql+=" fld.insecticide_active_substance,\n"; //Наименование активного вещества
sql+=" fld.insecticide_concentration,\n"; //концентрация(г д.в./л или%)
sql+=" fld.insecticide_formulation,\n"; //формуляция(УМО, КЭ, др.)
sql+=" fld.insecticide_dose,\n"; //норма расхода(л/га)
sql+=" fld.insecticide_rate,\n"; //расход рабочей жидкости(л/га)
sql+=" date(fld.insecticide_expiry_date, 'unixepoch') insecticide_expiry_date,\n"; //окончание срока действия
sql+=" CASE fld.insecticide_mixed WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END insecticide_mixed,\n"; //смешивается ли инсектицид с водой или растворителем?
sql+=" fld.insecticide_mixed_name,\n"; //если да, то с чем
sql+=" fld.insecticide_mixed_ratio,\n"; //если да, то в каком соотношении (%)
sql+=" fld.weather_time_start,\n"; //время начала
sql+=" fld.weather_time_end,\n"; //время окончания
sql+=" fld.weather_temperature_start,\n"; //Температура нач.(°C)
sql+=" fld.weather_temperature_end,\n"; //Температура кон.(°C)
sql+=" fld.weather_wind_speed_start,\n"; //скорость ветра нач. (м/с)
sql+=" fld.weather_wind_speed_end,\n"; //скорость ветра кон. (м/с)
sql+=" ld1.name weather_direction_start,\n"; //направление ветра нач.
sql+=" ld2.name weather_direction_end,\n"; //направление ветра кон.
sql+=" ld3.name weather_spray_direction_start,\n"; //направление опрыскивания нач.
sql+=" ld4.name weather_spray_direction_end,\n"; //направление опрыскивания кон.
sql+=" fld.locust_speciese,\n"; //вид: CIT, DMA, LMI, др.
sql+=" fld.locust_hoppers,\n"; //Стадии личинок
sql+=" fld.locust_density,\n"; //плотность на м2
sql+=" CASE fld.locust_kuliguli WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END locust_kuliguli,\n"; //Кулиги (да, нет)
sql+=" CASE fld.locust_swarm WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END locust_swarm,\n"; ////Стаи (да, нет)
sql+=" CASE fld.locust_sparse WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END locust_sparse,\n"; //Разреженные (да, нет)
sql+=" p.name locust_phase_name,\n"; //Фаза саранчи (одиночная, переходная, стадная)
sql+=" st.name spray_platform,\n"; //Вид опрыскивания
sql+=" sp_a.name spray_platform_a,\n"; //1) «Авиа» - выпадающий список:«Самолет», «Вертолет», «Дельтаплан».
sql+=" sp_g.name spray_platform_g,\n"; //2) «Наземное» - выпадающий список:«Трактор», «Машина», «Аэроз.генераторG».
sql+=" sp_h.name spray_platform_h,\n"; //3) «Ручное» - выпадающий список:«Ранцевый», «Моторный», «Батарейный».
//sql+=" lot.name spray_operatortype_name,\n"; //Оператор (пилот, водитель, др...)
//sql+=" fld.spray_operator_name,\n"; //Имя оператора
sql+=" fld.spray_manufacturer_name,\n"; //Марка опрыскивателя
sql+=" fld.spray_model_name,\n"; //Модель опрыскивателя
//sql+=" date(fld.spray_date_calibration, 'unixepoch') spray_date_calibration,\n"; //Дата последней калибровки
sql+=" fld.spray_height,\n"; //Высота над поверхностью почвы (м)
sql+=" fld.spray_width,\n"; //Ширина захвата (м)
//sql+=" fld.spray_spacing,\n"; //Расстояние между проходами опрыскивателя (м)
sql+=" CASE fld.spray_barrier WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END spray_barrier,\n"; //Барьеры (да, нет)
sql+=" fld.spray_barrier_width,\n"; //Ширина (м)
sql+=" fld.spray_barrier_space,\n"; //промежуток (м)
sql+=" fld.spray_speed,\n"; //Скорость движения (км/ч)
sql+=" CASE fld.spray_gps WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END spray_gps,\n"; //Антена: DGPS использовалась
sql+=" fld.spray_marking,\n"; //Наземная маркировка(Сиг-нальщики, GPS, Машина, Нет)
sql+=" fld.efficacy_mortality,\n"; //смертность саранчи(%)
sql+=" fld.efficacy_passed_time,\n"; //Прошло времени после обработки
sql+=" lm.name efficacy_mortality_method,\n"; //метод подсчета смертности
sql+=" CASE fld.safety_clothing WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END safety_clothing,\n"; //Какой защитной одеждой пользовался оператор (да, нет)
sql+=" fld.safety_inform,\n"; //Кто был оповещен об обработках?
sql+=" CASE fld.safety_non_target WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END safety_non_target,\n"; //воздействие на нецелевые организмы (да, нет)
sql+=" fld.safety_non_target_effect,\n"; //если да, то какое
sql+=" fld.description\n"; //КОММЕНТАРИИ
sql+="FROM\n";
sql+=" frmlocustdel fld\n";
sql+=" LEFT JOIN countries c ON fld.country_id = c.id\n";
sql+=" LEFT JOIN countriesregions cr ON fld.region_id = cr.id\n";
sql+=" LEFT JOIN list_phase p ON fld.locust_phase_id = p.id\n";
//sql+=" LEFT JOIN list_operatorstypes lot ON lot.id = fld.spray_operatortype_id\n";
sql+=" LEFT JOIN list_directions ld1 ON ld1.id = fld.weather_direction_start\n";
sql+=" LEFT JOIN list_directions ld2 ON ld2.id = fld.weather_direction_end\n";
sql+=" LEFT JOIN list_directions ld3 ON ld3.id = fld.weather_spray_direction_start\n";
sql+=" LEFT JOIN list_directions ld4 ON ld4.id = fld.weather_spray_direction_end\n";
sql+=" LEFT JOIN sprayers_types st ON st.id = fld.spray_platform\n";
sql+=" LEFT JOIN Sprayers sp_a ON sp_a.id = fld.spray_platform_a\n";
sql+=" LEFT JOIN Sprayers sp_g ON sp_g.id = fld.spray_platform_g\n";
sql+=" LEFT JOIN Sprayers sp_h ON sp_h.id = fld.spray_platform_h\n";
sql+=" LEFT JOIN list_mortality lm ON lm.id = fld.efficacy_mortality_method\n";
sql+="where fld.del=0\n";
cursor = dboh.getReadableDatabase().rawQuery(sql, null);
if (cursor.moveToFirst())
{
do
{
n++;
html += " <tr>";
html += "<td>" + n + "</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "country_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "region_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "area") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "district") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "observer") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "date") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "terrain") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "lat") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "lon") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "infested_area") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "treated_area") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "vegetation_type") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "vegetation_height") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "vegetation_crop") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "vegetation_cover") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "vegetation_damage") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "vegetation_damage_area") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_active_substance") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_concentration") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_formulation") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_dose") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_rate") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_expiry_date") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_mixed") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_mixed_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "insecticide_mixed_ratio") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_time_start") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_time_end") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_temperature_start") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_temperature_end") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_humidity_start") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_humidity_end") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_wind_speed_start") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_wind_speed_end") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_direction_start") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_direction_end") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_spray_direction_start") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "weather_spray_direction_end") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_speciese") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_hoppers") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_density") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_kuliguli") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_swarm") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_sparse") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "locust_phase_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_platform") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_platform_a") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_platform_g") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_platform_h") + "&nbsp;</td>";
//html += "<td>" + Tools.getStringFromCursor(cursor, "spray_operatortype_name") + "&nbsp;</td>";
//html += "<td>" + Tools.getStringFromCursor(cursor, "spray_operator_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_manufacturer_name") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_model_name") + "&nbsp;</td>";
//html += "<td>" + Tools.getStringFromCursor(cursor, "spray_date_calibration") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_height") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_width") + "&nbsp;</td>";
//html += "<td>" + Tools.getStringFromCursor(cursor, "spray_spacing") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_barrier") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_barrier_width") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_barrier_space") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_speed") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_gps") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "spray_marking") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "efficacy_mortality") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "efficacy_passed_time") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "efficacy_mortality_method") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "safety_clothing") + "&nbsp;</td>";
//html += "<td>" + Tools.getStringFromCursor(cursor, "safety_inform") + "&nbsp;</td>";
html += "<td>";
String dv="";
if(Tools.getStringFromCursor(cursor, "safety_inform").indexOf("1") != -1)
{
html += dv + getString(R.string.Farmer);
dv = ", ";
}
if(Tools.getStringFromCursor(cursor, "safety_inform").indexOf("2") != -1)
{
html += dv + getString(R.string.Villager);
dv = ", ";
}
if(Tools.getStringFromCursor(cursor, "safety_inform").indexOf("3") != -1)
{
html += dv + getString(R.string.Official);
dv = ", ";
}
if(Tools.getStringFromCursor(cursor, "safety_inform").indexOf("4") != -1)
{
html += dv + getString(R.string.Beekeeper);
dv = ", ";
}
if(Tools.getStringFromCursor(cursor, "safety_inform").indexOf("5") != -1)
{
html += dv + getString(R.string.Other);
dv = ", ";
}
html += "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "safety_non_target") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "safety_non_target_effect") + "&nbsp;</td>";
html += "<td>" + Tools.getStringFromCursor(cursor, "description") + "&nbsp;</td>";
html += "</tr>\n";
} while (cursor.moveToNext());
}
cursor.close();
dboh.close();
html += " </tbody>\n";
html += " </table>\n";
html += " </body>\n";
html += "</html>\n";
// Сохраняем на карточку
sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
file = new File(Environment.getExternalStorageDirectory() + File.separator + "Data" + File.separator + "Locust" + File.separator
+ "locust_" + sdf.format(new Date()) + ".html");
file.getParentFile().mkdirs();
// создади переменную для записи создания и наполнения файла
FileWriter writer = null;
try
{
writer = new FileWriter(file);
} catch (IOException e)
{
Log.e("Error", "Не создался writer", e);
}
// запишем в файл пару строк
try
{
writer.write(html);
writer.flush();
writer.close();
} catch (IOException e)
{
Log.e("Error", "Не записываются строки", e);
}
//Предлагаем открыть созданый файл
AlertDialog.Builder adb;
adb = new AlertDialog.Builder(this);
adb.setTitle(getString(R.string.Warning)); // заголовок
adb.setMessage(getString(R.string.File_saved_in)+" "+file.getAbsolutePath()); // сообщение
adb.setPositiveButton(getString(R.string.Open), new DialogInterface.OnClickListener() //Кнопка открыть
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{
//Предлагаем открыть созданый файл
if(LocustDelListActivity.this.file.exists())
{
Intent i = new Intent();
i.setAction(android.content.Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(LocustDelListActivity.this.file), "text/html");
startActivity(i);
}
}
});
adb.setNegativeButton(getString(R.string.Cancel), new DialogInterface.OnClickListener() //Кнопка отмена
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{
}
});
AlertDialog ad = adb.show();
ad.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.BLACK);
ad.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLACK);
break;
*/
default:
return false;
}
return true;
}
public void updateList()
{
llList.removeAllViews();
DbOpenHelper dboh = new DbOpenHelper(LocustHealthListActivity.this);
Cursor cursor = null;
switch (spiList.getSelectedItemPosition())
{
case 0:
cursor = dboh.getReadableDatabase().rawQuery("select lh.uid, coalesce(ld.district,'') || ' ' || coalesce(ld.terrain,'') terrain, lh.date from frmlocusthealth lh left join frmlocustdel ld on lh.frmlocustdel_uid=ld.uid where lh.del=0 and lh.filled!=1", null); //Не отправленные
break;
case 1:
cursor = dboh.getReadableDatabase().rawQuery("select lh.uid, coalesce(ld.district,'') || ' ' || coalesce(ld.terrain,'') terrain, lh.date from frmlocusthealth lh left join frmlocustdel ld on lh.frmlocustdel_uid=ld.uid where lh.del=0 and lh.send=0 and lh.filled=1", null); //Не отправленные
break;
case 2:
cursor = dboh.getReadableDatabase().rawQuery("select lh.uid, coalesce(ld.district,'') || ' ' || coalesce(ld.terrain,'') terrain, lh.date from frmlocusthealth lh left join frmlocustdel ld on lh.frmlocustdel_uid=ld.uid where lh.del=0 and lh.send=1", null); //Отправленные
break;
default:
cursor = dboh.getReadableDatabase().rawQuery("select lh.uid, coalesce(ld.district,'') || ' ' || coalesce(ld.terrain,'') terrain, lh.date from frmlocusthealth lh left join frmlocustdel ld on lh.frmlocustdel_uid=ld.uid where lh.del=0", null); //Все
break;
}
// Tools.logCursor(cursor);
OnClickListener oclBtn = new OnClickListener()
{
@Override
public void onClick(View v)
{
MyButton b = (MyButton) v;
Intent intent = new Intent(LocustHealthListActivity.this, LocustHealthActivity.class);
intent.putExtra("uid", b.uid);
startActivity(intent);
}
};
if (cursor.moveToFirst())
{
do
{
btn = new MyButton(this);
btn.setOnClickListener(oclBtn);
btn.uid = cursor.getString(cursor.getColumnIndex("uid"));
// Преобразует с учётом временой зоны (пример long dv = 946684800L * 1000L; //2000 ный по гринвичу дало 6 утра)
long dv = cursor.getLong(cursor.getColumnIndex("date")) * (long) 1000;// its need to be in milisecond
Date df = new Date(dv);
String vv = new SimpleDateFormat("dd.MM.yyyy").format(df);
btn.setText(cursor.getString(cursor.getColumnIndex("terrain")) + " (" + vv + ")");
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.bottomMargin = 2;
llList.addView(btn,params);
} while (cursor.moveToNext());
}
cursor.close();
dboh.close();
}
/**
* СМ. http://developer.android.com/reference/android/app/Activity.html Событие происходит при старте и при возврате на этот Activity
* */
@Override
public void onStart()
{
super.onStart();
DbOpenHelper dboh = new DbOpenHelper(this);
SQLiteDatabase db = dboh.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from terminals where del=0 and serial='"+ Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID)+"';", null);
if(!cursor.moveToFirst())
{
Toast toast = Toast.makeText(getApplicationContext(),
getResources().getString(R.string.Please_authorize_the_tablet), Toast.LENGTH_LONG);
toast.show();
}
cursor.close();
dboh.close();
}
}

View File

@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="256dp"
android:height="256dp"
android:viewportWidth="256"
android:viewportHeight="256">
<path
android:pathData="M139.33,202.29l16.23,-61.71l11.76,-42.84c9.83,-45.47 -91.9,-6.85 -106.79,4.76l1.19,13.64c13.56,-9.54 64.89,-21.76 54.65,12.01l-4.59,17.24l0,0l-23.4,87.31c-9.83,45.47 91.9,6.85 106.79,-4.76l-1.19,-13.64C180.43,223.84 129.1,236.06 139.33,202.29z"
android:strokeLineJoin="miter"
android:strokeWidth="2.81"
android:fillColor="#000000"
android:fillType="nonZero"
android:strokeColor="#00000000"
android:strokeLineCap="butt"/>
<path
android:pathData="M152.78,32.88m-31.47,0a31.47,31.47 0,1 1,62.95 0a31.47,31.47 0,1 1,-62.95 0"
android:strokeLineJoin="miter"
android:strokeWidth="2.81"
android:fillColor="#000000"
android:fillType="nonZero"
android:strokeColor="#00000000"
android:strokeLineCap="butt"/>
</vector>

View File

@ -342,7 +342,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Идентификация места мониторинга"
android:text="@string/Identification_of_the_monitoring_site"
android:textStyle="bold"/>
</LinearLayout>
@ -456,7 +456,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Бригада по обработке"
android:text="@string/Control_team"
android:textStyle="bold"/>
</LinearLayout>
@ -481,7 +481,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Количество работников в бригаде по обработке"
android:hint="@string/Number_of_agents_in_control_team"
android:maxLines="1"
android:singleLine="true"
android:inputType="number"/>
@ -509,7 +509,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Из них количество работников, ранее обученных обращению с инсектицидами и их применению"
android:hint="@string/Number_of_agents_previously_trained_in_insecticide_handling_and_application"
android:maxLines="1"
android:singleLine="true"
android:inputType="number"/>
@ -708,7 +708,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Номер партии препарата (если указан на контейнере)"
android:hint="@string/Batch_or_Lot_number_of_the_pesticide_product"
android:maxLines="1"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
@ -734,7 +734,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Дата производства или срок годности (срок хранения)"
android:hint="@string/Date_of_production_or_expiry_date"
android:maxLines="1"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
@ -947,7 +947,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Состояние пакетов или контейнеров с инсектицидами">
android:hint="@string/Condition_of_the_insecticide_containers_or_bags">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiInsContainerState"
android:layout_width="match_parent"
@ -1465,7 +1465,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Механическая безопасность: наблюдалась ли утечка инсектицида?">
android:hint="@string/Mechanical_safety_any_insecticide_leakage_observed">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiSprLeak"
android:layout_width="match_parent"
@ -1492,7 +1492,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Если Да, в какой части опрыскивателя имеется утечка?"
android:hint="@string/If_Yes_which_part_of_the_sprayer_shows_leakage"
android:maxLines="1"
android:singleLine="true"
android:inputType="text"/>
@ -1509,7 +1509,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Система опрыскивания: повреждены распылители или сопла?">
android:hint="@string/Spray_system_atomisers_or_nozzles_damaged">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiSprDamage"
android:layout_width="match_parent"
@ -1537,7 +1537,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Если Да, какие повреждения?"
android:hint="@string/If_Yes_what_kind_of_damage"
android:maxLines="1"
android:singleLine="true"
android:inputType="text"/>
@ -1700,7 +1700,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Обработанная площадь (проверено бригадой по мониторингу) (га)"
android:hint="@string/Area_treated_check_by_monitoring_team_ha"
android:maxLines="1"
android:singleLine="true"
android:inputType="numberDecimal"/>
@ -1728,7 +1728,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Фактическая норма объема опрыскивания (л/га)"
android:hint="@string/Actual_volume_application_rate_L_ha"
android:maxLines="1"
android:singleLine="true"
android:inputType="numberDecimal"/>
@ -1745,7 +1745,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов?">
android:hint="@string/@string/If_spraying_observed_good_insecticide_application_practice_followed">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiSprObservation"
android:layout_width="match_parent"
@ -1772,7 +1772,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Замечания относительно наблюдаемой практики опрыскивания"
android:hint="@string/Remarks_about_the_observed_spray_application_practice"
android:maxLines="1"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
@ -1790,7 +1790,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Калибровка опрыскивателя"
android:text="@string/Sprayer_calibration"
android:textStyle="bold" />
</LinearLayout>

View File

@ -458,7 +458,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Бригада по обработке"
android:text="@string/Control_team"
android:textStyle="bold"/>
</LinearLayout>
@ -475,7 +475,7 @@
android:id="@+id/tvVegHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Количество работников в бригаде по обработке"
android:text="@string/Number_of_agents_in_control_team"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
<EditText
@ -502,18 +502,9 @@
android:id="@+id/tvVegHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Из них количество работников, ранее обученных обращению с инсектицидами и их применению"
android:text="@string/Number_of_agents_previously_trained_in_insecticide_handling_and_application"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
<EditText
android:id="@+id/edtBrigadeCountTrained"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
@ -690,7 +681,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Номер партии препарата (если указан на контейнере)"
android:text="@string/Batch_or_Lot_number_of_the_pesticide_product"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<EditText
android:id="@+id/edtInsPartNumber"
@ -710,7 +701,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Дата производства или срок годности (срок хранения)"
android:text="@string/Date_of_production_or_expiry_date"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<dbfields.DateTimeText
android:id="@+id/edtInsManufacturedDate"
@ -914,7 +905,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Состояние пакетов или контейнеров с инсектицидами"
android:text="@string/Condition_of_the_insecticide_containers_or_bags"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<dbfields.SpinnerDB
android:id="@+id/spiInsContainerState"
@ -1336,7 +1327,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Механическая безопасность: наблюдалась ли утечка инсектицида?"
android:text="@string/Mechanical_safety_any_insecticide_leakage_observed"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
@ -1353,7 +1344,7 @@
android:id="@+id/tvVegHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Если да то в какой части опрыскивателя имеется утечка?"
android:text="@string/If_Yes_which_part_of_the_sprayer_shows_leakage"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<EditText
android:id="@+id/edtSprLeakPlase"
@ -1370,13 +1361,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Система опрыскивания: повреждены распылители или сопла?"
android:text="@string/Spray_system_atomisers_or_nozzles_damaged"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiSprDamage"
android:layout_width="match_parent"
@ -1388,10 +1377,9 @@
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/tvVegHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Если Да, какие повреждения?"
android:text="@string/If_Yes_what_kind_of_damage"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<EditText
android:id="@+id/edtSprDamagePlase"
@ -1512,10 +1500,9 @@
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/tvSprSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Обработанная площадь (проверено бригадой по мониторингу) (га)"
android:text="@string/Area_treated_check_by_monitoring_team_ha"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<EditText
android:id="@+id/edtTreatedAreaCheck2"
@ -1536,7 +1523,7 @@
android:id="@+id/tvSprSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Фактическая норма объема опрыскивания (л/га)"
android:text="@string/Actual_volume_application_rate_L_ha"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<EditText
android:id="@+id/edtSprFactVolume"
@ -1556,7 +1543,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов?"
android:text="@string/If_spraying_observed_good_insecticide_application_practice_followed"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
@ -1578,7 +1565,7 @@
android:id="@+id/tvVegHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Замечания относительно наблюдаемой практики опрыскивания"
android:text="@string/Remarks_about_the_observed_spray_application_practice"
android:textAppearance="?android:attr/textAppearanceSmall"/>
</LinearLayout>
<LinearLayout
@ -1608,7 +1595,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Калибровка опрыскивателя"
android:text="@string/Sprayer_calibration"
android:textStyle="bold" />
</LinearLayout>
@ -1659,7 +1646,6 @@
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/tvSprSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Собранный объем (л)"
@ -2488,7 +2474,6 @@
android:contentDescription="@null"
android:layout_gravity="center_vertical"/>
<TextView
android:id="@+id/tvSafNonTarget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Effect_on_non_terget_organism"
@ -3024,26 +3009,412 @@
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_star"
android:contentDescription="@null"
android:layout_gravity="center_vertical"/>
<TextView
android:id="@+id/tvSafNonTarget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Были ли обработаны или подверглись воздействию какие-либо сельхозкультуры?"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<dbfields.SpinnerDB
android:id="@+id/spiRiskAgricultural"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Наименование сельхозкультуры"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskAgriculturalName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Фаза развития сельхозкультуры"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskAgriculturalPhase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Наблюдалась ли фитотоксичность"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskAgriculturalToxic"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Были ли фермеры проинформированы о предуборочном периоде"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskAgriculturalInform"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_star"
android:contentDescription="@null"
android:layout_gravity="center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Имеются ли в непосредственной близости от обработок шелководства"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<dbfields.SpinnerDB
android:id="@+id/spiRiskSilk"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Расстояние от ближайшего края обрабатываемого участка (м) до тутовой плантации"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskSilkDistance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="number"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Были ли шелководы проинформированы о применении инсектицидов?"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskSilkInform"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Какие меры были предприняты для снижения отрицательного воздействия на тутовые деревья"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<EditText
android:id="@+id/edtRiskSilkTreesMeasure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Существует ли вероятность воздействия на тутовые деревья"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskSilkTreesImpact"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_star"
android:contentDescription="@null"
android:layout_gravity="center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Были ли обработаны луга или пастбища?"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskPastures"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Были ли пастухи проинформированы о периодах удержания домашнего скота?"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<dbfields.SpinnerDB
android:id="@+id/spiRiskPasturesInform"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_star"
android:contentDescription="@null"
android:layout_gravity="center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Имеются ли в непосредственной близости от обработок другие экологически чувствительные зоны"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<dbfields.SpinnerDB
android:id="@+id/spiRiskPark"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Какой тип экологически чувствительной зоны"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskParkType"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Расстояние от ближайшего края обрабатываемого участка (м) до экологически чувствительной зоны"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskParkDistance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Соблюдались ли буферные зоны?"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskParkBufferZones"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Существует ли вероятность воздействия на экологически чувствительные зоны?"
android:textAppearance="?android:attr/textAppearanceSmall" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskParkImpact"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:paddingLeft="10dp"
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Отбор проб для анализа остатков"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_star"
android:contentDescription="@null"
android:layout_gravity="center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Пробы, взятые для анализа остатков"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
<dbfields.SpinnerDB
android:id="@+id/spiRiskProbeAnalysis"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Проба какого субстрата или организма была взята"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskProbeAnalysisName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Регистрационный номер формы отбора проб"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/edtRiskProbeAnalysisNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:importantForAutofill="no"
android:autofillHints=""
android:ems="10"
android:inputType="text"
android:minWidth="10dp" />
</LinearLayout>

View File

@ -559,7 +559,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Бригада по обработке"
android:text="@string/Control_team"
android:textStyle="bold"/>
</LinearLayout>
@ -584,7 +584,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Количество работников в бригаде по обработке"
android:hint="@string/Number_of_agents_in_control_team"
android:maxLines="1"
android:singleLine="true"
android:inputType="number"/>
@ -612,7 +612,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Из них количество работников, ранее обученных обращению с инсектицидами и их применению"
android:hint="@string/Number_of_agents_previously_trained_in_insecticide_handling_and_application"
android:maxLines="1"
android:singleLine="true"
android:inputType="number"/>
@ -854,7 +854,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Номер партии препарата (если указан на контейнере)"
android:hint="@string/Batch_or_Lot_number_of_the_pesticide_product"
android:maxLines="1"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
@ -880,7 +880,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Дата производства или срок годности (срок хранения)"
android:hint="@string/Date_of_production_or_expiry_date"
android:maxLines="1"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
@ -1107,7 +1107,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Состояние пакетов или контейнеров с инсектицидами">
android:hint="@string/Condition_of_the_insecticide_containers_or_bags">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiInsContainerState"
android:layout_width="match_parent"
@ -1617,7 +1617,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Механическая безопасность: наблюдалась ли утечка инсектицида?">
android:hint="@string/Mechanical_safety_any_insecticide_leakage_observed">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiSprLeak"
android:layout_width="match_parent"
@ -1644,7 +1644,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Если Да, в какой части опрыскивателя имеется утечка?"
android:hint="@string/If_Yes_which_part_of_the_sprayer_shows_leakage"
android:maxLines="1"
android:singleLine="true"
android:inputType="text"/>
@ -1661,7 +1661,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Система опрыскивания: повреждены распылители или сопла?">
android:hint="@string/Spray_system_atomisers_or_nozzles_damaged">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiSprDamage"
android:layout_width="match_parent"
@ -1689,7 +1689,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Если Да, какие повреждения?"
android:hint="@string/If_Yes_what_kind_of_damage"
android:maxLines="1"
android:singleLine="true"
android:inputType="text"/>
@ -1851,7 +1851,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Обработанная площадь (проверено бригадой по мониторингу) (га)"
android:hint="@string/Area_treated_check_by_monitoring_team_ha"
android:maxLines="1"
android:singleLine="true"
android:inputType="numberDecimal"/>
@ -1909,7 +1909,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Фактическая норма объема опрыскивания (л/га)"
android:hint="@string/Actual_volume_application_rate_L_ha"
android:maxLines="1"
android:singleLine="true"
android:inputType="numberDecimal"/>
@ -1926,7 +1926,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов?">
android:hint="@string/If_spraying_observed_good_insecticide_application_practice_followed">
<dbfields.AutoCompleteTextViewDB
android:id="@+id/spiSprObservation"
android:layout_width="match_parent"
@ -1953,7 +1953,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Замечания относительно наблюдаемой практики опрыскивания"
android:hint="@string/Remarks_about_the_observed_spray_application_practice"
android:maxLines="1"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
@ -1971,7 +1971,7 @@
android:textColor="@color/text_title"
android:gravity="left|center"
android:background="#dddddd"
android:text="Калибровка опрыскивателя"
android:text="@string/Sprayer_calibration"
android:textStyle="bold" />
</LinearLayout>
@ -3898,7 +3898,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Расстояние от ближайшего края обрабатываемого участка (м) до пасеки"
android:hint="Расстояние от ближайшего края обрабатываемого участка (м) до тутовой плантации"
android:maxLines="1"
android:maxLength="255"
android:singleLine="true"
@ -4094,7 +4094,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/transparent"
android:hint="Расстояние от ближайшего края обрабатываемого участка (м) до пасеки"
android:hint="Расстояние от ближайшего края обрабатываемого участка (м) до экологически чувствительной зоны"
android:maxLines="1"
android:maxLength="255"
android:singleLine="true"

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_example"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".LocustHealthListActivity" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spiList"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<LinearLayout
android:id="@+id/llList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/star" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:backgroundTint="@color/button_normal_color_start"
app:srcCompat="@android:drawable/ic_input_add"
app:tint="@android:color/white"
/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,21 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/itemCreate"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_add"/>
<item
android:id="@+id/itemDelete"
android:orderInCategory="101"
android:showAsAction="never"
android:title="@string/action_delete"/>
<!-- item
android:id="@+id/itemExport"
android:orderInCategory="101"
android:showAsAction="never"
android:title="@string/action_export"/-->
</menu>

View File

@ -363,5 +363,20 @@
<string name="Date_of_monitoring">Дата мониторинга</string>
<string name="Name_of_the_HH_Env_monitoring_team_leader">Имя руководителя бригады по мониторингу ЗЧ и ОС </string>
<string name="Was_a_spray_monitoring_form_for_this_treatment_filled_out_by_the_control_team">Заполнялась ли Форма по Мониторингу противосаранчовых обработок бригадой по обработке?</string>
<string name="Control_team">Бригада по обработке</string>
<string name="Number_of_agents_in_control_team">Количество работников в бригаде по обработке</string>
<string name="Number_of_agents_previously_trained_in_insecticide_handling_and_application">Количество работников, ранее обученных обращению с инсектицидами и их применению</string>
<string name="Batch_or_Lot_number_of_the_pesticide_product">Номер партии препарата (если указан на контейнере)</string>
<string name="Date_of_production_or_expiry_date">Дата производства или срок годности (срок хранения)</string>
<string name="Condition_of_the_insecticide_containers_or_bags">Состояние пакетов или контейнеров с инсектицидами</string>
<string name="Mechanical_safety_any_insecticide_leakage_observed">Механическая безопасность: наблюдалась ли утечка инсектицида?</string>
<string name="If_Yes_which_part_of_the_sprayer_shows_leakage">Если Да, в какой части опрыскивателя имеется утечка?</string>
<string name="Spray_system_atomisers_or_nozzles_damaged">Система опрыскивания: повреждены распылители или сопла?</string>
<string name="If_Yes_what_kind_of_damage">Если Да, какие повреждения?</string>
<string name="Area_treated_check_by_monitoring_team_ha">Обработанная площадь (проверено бригадой по мониторингу) (га)</string>
<string name="Actual_volume_application_rate_L_ha">Фактическая норма объема опрыскивания (л/га)</string>
<string name="If_spraying_observed_good_insecticide_application_practice_followed">Если проводилось наблюдение за опрыскиванием: соблюдалась ли надлежащая практика применения инсектицидов?</string>
<string name="Remarks_about_the_observed_spray_application_practice">Замечания относительно наблюдаемой практики опрыскивания</string>
<string name="Sprayer_calibration">Калибровка опрыскивателя</string>
</resources>

View File

@ -362,7 +362,22 @@
<string name="Name_of_the_HH_Env_monitoring_team_leader">Name of the HH&amp;Env monitoring team leader</string>
<string name="Was_a_spray_monitoring_form_for_this_treatment_filled_out_by_the_control_team">Was a spray monitoring form for this treatment filled out by the control team?</string>
<string name="Control_team">Control team</string>
<string name="Number_of_agents_in_control_team">Number of agents in control team</string>
<string name="Number_of_agents_previously_trained_in_insecticide_handling_and_application">Number of agents previously trained in insecticide handling and application</string>
<string name="Batch_or_Lot_number_of_the_pesticide_product">Batch or Lot number of the pesticide product (if shown on the container)</string>
<string name="Date_of_production_or_expiry_date">Date of production or expiry date (shelf life)</string>
<string name="Condition_of_the_insecticide_containers_or_bags">Condition of the insecticide containers or bags</string>
<string name="Mechanical_safety_any_insecticide_leakage_observed">Mechanical safety: Any insecticide leakage observed?</string>
<string name="Mechanical_safety_any_insecticide_leakage_observed">Mechanical safety: Any insecticide leakage observed?</string>
<string name="If_Yes_which_part_of_the_sprayer_shows_leakage">If Yes, which part of the sprayer shows leakage?</string>
<string name="Spray_system_atomisers_or_nozzles_damaged">Spray system: Atomisers or nozzles damaged?</string>
<string name="If_Yes_what_kind_of_damage">If Yes, what kind of damage?</string>
<string name="Area_treated_check_by_monitoring_team_ha">Area treated (check by monitoring team) (ha)</string>
<string name="Actual_volume_application_rate_L_ha">Actual volume application rate (L/ha)</string>
<string name="If_spraying_observed_good_insecticide_application_practice_followed">If spraying observed: good insecticide application practice followed?</string>
<string name="Remarks_about_the_observed_spray_application_practice">Remarks about the observed spray application practice</string>
<string name="Sprayer_calibration">Sprayer calibration</string>
</resources>