UZB integration
This commit is contained in:
@ -10,9 +10,9 @@ spring:
|
|||||||
application:
|
application:
|
||||||
name: org-ccalm-main
|
name: org-ccalm-main
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:postgresql://almaty.ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
|
#url: jdbc:postgresql://almaty.ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
|
||||||
#url: jdbc:postgresql://ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
|
#url: jdbc:postgresql://ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
|
||||||
#url: jdbc:postgresql://127.0.0.1:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
|
url: jdbc:postgresql://127.0.0.1:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
|
||||||
username: postgres
|
username: postgres
|
||||||
password: 309A86FF65A78FB428F4E38DFE35F730
|
password: 309A86FF65A78FB428F4E38DFE35F730
|
||||||
driver-class-name: org.postgresql.Driver
|
driver-class-name: org.postgresql.Driver
|
||||||
|
|||||||
@ -1182,7 +1182,7 @@ public class AcceptASDCController implements ServletContextAware {
|
|||||||
if(exists)
|
if(exists)
|
||||||
{
|
{
|
||||||
String sql="update main.frmlocust set\n"
|
String sql="update main.frmlocust set\n"
|
||||||
+" uid = ?,\n"
|
+" uid = main.strtouuid(?),\n"
|
||||||
+" changed = false,\n"
|
+" changed = false,\n"
|
||||||
+" user_id=?,\n"
|
+" user_id=?,\n"
|
||||||
+" device_id=?,\n"
|
+" device_id=?,\n"
|
||||||
@ -1351,7 +1351,7 @@ public class AcceptASDCController implements ServletContextAware {
|
|||||||
+" geom,\n"
|
+" geom,\n"
|
||||||
+" test\n"
|
+" test\n"
|
||||||
+")values(\n"
|
+")values(\n"
|
||||||
+" ?,\n" //1 uid
|
+" main.strtouuid(?),\n" //1 uid
|
||||||
+" false,\n"
|
+" false,\n"
|
||||||
+" ?,\n" //2 user_id
|
+" ?,\n" //2 user_id
|
||||||
+" ?,\n" //3 device_id
|
+" ?,\n" //3 device_id
|
||||||
|
|||||||
@ -1398,7 +1398,7 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
return "json";
|
return "json";
|
||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
//https://127.0.0.1:8081/AcceptJSON_UZB
|
//https://127.0.0.1:8083/AcceptJSON_UZB
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@RequestMapping(value = {"/AcceptJSON_UZB", "/api/locust/v01/AcceptJSON_UZB"}, method = { RequestMethod.GET, RequestMethod.POST }, produces = MediaType.APPLICATION_JSON_VALUE)
|
@RequestMapping(value = {"/AcceptJSON_UZB", "/api/locust/v01/AcceptJSON_UZB"}, method = { RequestMethod.GET, RequestMethod.POST }, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public String acceptUZB(@ModelAttribute User user) {
|
public String acceptUZB(@ModelAttribute User user) {
|
||||||
@ -1425,9 +1425,11 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(lastDate==null)
|
if(lastDate==null)
|
||||||
lastDate = LocalDate.parse("2025-02-11");
|
lastDate = LocalDate.parse("2025-03-03");
|
||||||
|
//lastDate = LocalDate.parse("2025-02-11");
|
||||||
//lastDate = LocalDate.parse("2024-10-01");
|
//lastDate = LocalDate.parse("2024-10-01");
|
||||||
|
|
||||||
|
|
||||||
//By number of day downloading data and write result of downloading to database, try or false, after repair need repeat download
|
//By number of day downloading data and write result of downloading to database, try or false, after repair need repeat download
|
||||||
while(lastDate.isBefore(LocalDate.now().minusDays(3))){
|
while(lastDate.isBefore(LocalDate.now().minusDays(3))){
|
||||||
lastDate=lastDate.plusDays(1);
|
lastDate=lastDate.plusDays(1);
|
||||||
@ -1455,874 +1457,33 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
throw new CustomException(200, 10000, "Error download data from: " + strURL,null,true);
|
throw new CustomException(200, 10000, "Error download data from: " + strURL,null,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int count=0;
|
||||||
if(content!=null && !content.isEmpty()) {
|
if(content!=null && !content.isEmpty()) {
|
||||||
|
|
||||||
|
|
||||||
JSONArray jsonArray = new JSONArray(content);
|
JSONArray jsonArray = new JSONArray(content);
|
||||||
for (Object o : jsonArray) {
|
for (Object o : jsonArray) {
|
||||||
JSONObject jsonObj = (JSONObject) o;
|
JSONObject jsonObj = (JSONObject) o;
|
||||||
|
|
||||||
FrmLocustModel locust = convertUZBJSONToLocustModel(jsonObj);
|
FrmLocustModel locust = convertUZBJSONToLocustModel(jsonObj);
|
||||||
|
|
||||||
|
//I check if there is already such a record in the database, if not, I insert it, if there is, I update it
|
||||||
//Проверяю есть ли уже такая запись в базе данных
|
UpdateLocust updateLocust = new UpdateLocust(jdbcTemplate);
|
||||||
|
if(updateLocust.update(locust))
|
||||||
|
count++;
|
||||||
|
if(count==66)
|
||||||
|
System.out.println( "count = " + count );
|
||||||
//
|
System.out.println( "count = " + count );
|
||||||
// locust.date = jsonObj.getString("date");
|
|
||||||
// String regionName="";
|
|
||||||
// if (!jsonObj.isNull("region_name"))
|
|
||||||
// regionName = jsonObj.getString("region_name");
|
|
||||||
//
|
|
||||||
// if (!jsonObj.isNull("town_name"))
|
|
||||||
// locust.district = jsonObj.getString("town_name");
|
|
||||||
//
|
|
||||||
// if (!jsonObj.isNull("point")) {
|
|
||||||
// locust.lon = jsonObj.getJSONObject("point").getJSONArray("coordinates").getDouble(0);
|
|
||||||
// locust.lat = jsonObj.getJSONObject("point").getJSONArray("coordinates").getDouble(1);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Контур зоны распространения ВО Polygon (geoJSON)
|
|
||||||
// locust.drawPolygon = null;
|
|
||||||
// if (!jsonObj.isNull("drawPolygon")) {
|
|
||||||
// locust.drawPolygon = jsonObj.getJSONObject("drawPolygon").toString();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Площадь контура зоны распространения, в случае если специалист указал его
|
|
||||||
// locust.size = "null";
|
|
||||||
// if (!jsonObj.isNull("polygonArea"))
|
|
||||||
// locust.size = String.valueOf(jsonObj.getDouble("polygonArea"));
|
|
||||||
//
|
|
||||||
// //jsonObj.drawPolygon Краснодар
|
|
||||||
//
|
|
||||||
// if (locust.region.length() > 0) {
|
|
||||||
// //Выбираю ID области
|
|
||||||
// locust.region_id = "";
|
|
||||||
// //Statement stt = null;
|
|
||||||
// //ResultSet rs = null;
|
|
||||||
// try {
|
|
||||||
//
|
|
||||||
// stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
|
||||||
// String sql_query = "select id from main.countriesregions where name like '%" + locust.region + "%';";
|
|
||||||
// rs = stt.executeQuery(sql_query);
|
|
||||||
// if (rs != null) {
|
|
||||||
// try {
|
|
||||||
// if (rs.next()) {
|
|
||||||
// locust.region_id = rs.getString(1);
|
|
||||||
// }
|
|
||||||
// rs.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// } finally {
|
|
||||||
// if (rs != null) try {
|
|
||||||
// rs.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// if (stt != null) try {
|
|
||||||
// stt.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /*if(locust.region_id.isEmpty()){
|
|
||||||
// if(locust.region.indexOf("Воронежс<D0B6><D181>ая область")>=0) locust.region_id="110";
|
|
||||||
// if(locust.region.indexOf("Кра<D180><D0B0>нодарский край")>=0) locust.region_id="164";
|
|
||||||
// if(locust.region.indexOf("Астраха<D185><D0B0>ская область")>=0) locust.region_id="68"; //dayOfYear: 97 at year: 2022 = 07.04.2022
|
|
||||||
// if(locust.region.indexOf("Астраханская област<D181><D182>")>=0) locust.region_id="68"; // dayOfYear: 101 at year: 2022 = 11.04.2022
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
// if (locust.region_id.length() > 0) {
|
|
||||||
// //Выбираю id региона (main.countriesdistricts)
|
|
||||||
// locust.district_id = "";
|
|
||||||
// stt = null;
|
|
||||||
// rs = null;
|
|
||||||
// try {
|
|
||||||
//
|
|
||||||
// if (locust.district.equals("Алапаевский район"))
|
|
||||||
// locust.district = "городской округ Алапаевское";
|
|
||||||
// if (locust.district.equals("Сухоложский район"))
|
|
||||||
// locust.district = "городской округ Сухой Лог";
|
|
||||||
// if (locust.district.equals("Талицкий район"))
|
|
||||||
// locust.district = "Талицкий городской округ";
|
|
||||||
// if (locust.district.equals("Артинский район"))
|
|
||||||
// locust.district = "Талицкий городской округ";
|
|
||||||
// if (locust.district.equals("Богдановичский район"))
|
|
||||||
// locust.district = "городской округ Богданович";
|
|
||||||
// if (locust.district.equals("Красноуфимский район"))
|
|
||||||
// locust.district = "Красноуфимский округ";
|
|
||||||
// if (locust.district.equals("Белоярский район")) locust.region_id = "210";
|
|
||||||
// if (locust.district.equals("Пышминский район"))
|
|
||||||
// locust.district = "Пышминский городской округ";
|
|
||||||
// if (locust.district.equals("Ирбитский район"))
|
|
||||||
// locust.district = "городской округ Ирбитское";
|
|
||||||
// if (locust.district.equals("Фрязино г.о.")) locust.district = "городской округ Фрязино";
|
|
||||||
// if (locust.district.equals("Коломенский г.о.")) locust.district = "Коломенский район";
|
|
||||||
// if (locust.district.equals("Протвино г.о."))
|
|
||||||
// locust.district = "городской округ Протвино";
|
|
||||||
// if (locust.district.equals("Зарайск г.о.")) locust.district = "Зарайский район";
|
|
||||||
// if (locust.district.equals("Анапский район")) locust.district = "городской округ Анапа";
|
|
||||||
// if (locust.district.equals("Луховицы г.о.")) locust.district = "Луховицкий район";
|
|
||||||
// if (locust.district.equals("Дергачевский район"))
|
|
||||||
// locust.district = "Дергачёвский район";
|
|
||||||
// if (locust.district.equals("Чистоозерный район"))
|
|
||||||
// locust.district = "Чистоозёрный район";
|
|
||||||
// if (locust.district.equals("Сунжа город")) locust.district = "Сунженский район";
|
|
||||||
// if (locust.district.equals("Буденновский район"))
|
|
||||||
// locust.district = "Будённовский район";
|
|
||||||
// if (locust.district.equals("Новоселовский район")) {
|
|
||||||
// locust.district = "Новоселицкий район";
|
|
||||||
// locust.region_id = "168";
|
|
||||||
// }
|
|
||||||
// if (locust.district.equals("Тимашевский район")) locust.district = "Тимашёвский район";
|
|
||||||
// if (locust.district.equals("Славгородский район"))
|
|
||||||
// locust.district = "городской округ Славгород";
|
|
||||||
// if (locust.district.equals("Режевский район"))
|
|
||||||
// locust.district = "Режевской городской округ";
|
|
||||||
// if (locust.district.equals("Веселовский район")) locust.district = "Весёловский район";
|
|
||||||
// if (locust.district.equals("Карабулак город"))
|
|
||||||
// locust.district = "городской округ Карабулак";
|
|
||||||
// if (locust.district.equals("Пугачевский район")) locust.district = "Пугачёвский район";
|
|
||||||
// if (locust.district.equals("Кущевский район")) locust.district = "Кущёвский район";
|
|
||||||
// if (locust.district.equals("Репьевский район")) locust.district = "Репьёвский район";
|
|
||||||
// if (locust.district.equals("Калачевский район")) locust.district = "Калачёвский район";
|
|
||||||
// if (locust.district.equals("Гайский район"))
|
|
||||||
// locust.district = "Гайский городской округ";
|
|
||||||
// if (locust.district.equals("Новохоперский район"))
|
|
||||||
// locust.district = "Новохопёрский район";
|
|
||||||
// if (locust.district.equals("Федоровский район")) locust.district = "Фёдоровский район";
|
|
||||||
// if (locust.district.equals("Серебряные Пруды г.о."))
|
|
||||||
// locust.district = "городской округ Серебряные Пруды";
|
|
||||||
// if (locust.district.equals("Минераловодский район"))
|
|
||||||
// locust.district = "Минераловодский городской округ";
|
|
||||||
// if (locust.district.equals("Рузский г.о.")) locust.district = "Рузский район";
|
|
||||||
// if (locust.district.equals("Воробьевский район"))
|
|
||||||
// locust.district = "Воробьёвский район";
|
|
||||||
// if (locust.district.equals("Ачитский район"))
|
|
||||||
// locust.district = "Ачитский городской округ";
|
|
||||||
// if (locust.district.equals("Грачевский район")) locust.district = "Грачёвский район";
|
|
||||||
// if (locust.district.equals("Уссурийский район"))
|
|
||||||
// locust.district = "Уссурийский городской округ";
|
|
||||||
// if (locust.district.equals("Сорочинский район"))
|
|
||||||
// locust.district = "Сорочинский городской округ";
|
|
||||||
// if (locust.district.equals("Ясненский район"))
|
|
||||||
// locust.district = "Ясненский городской округ";
|
|
||||||
//
|
|
||||||
// stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
|
||||||
// String sql_query = "select id from main.countriesdistricts where region_id=" + locust.region_id + " and name like '%" + locust.district + "%';";
|
|
||||||
// rs = stt.executeQuery(sql_query);
|
|
||||||
// if (rs != null) {
|
|
||||||
// try {
|
|
||||||
// if (rs.next()) {
|
|
||||||
// locust.district_id = rs.getString(1);
|
|
||||||
// }
|
|
||||||
// rs.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// } finally {
|
|
||||||
// if (rs != null) try {
|
|
||||||
// rs.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// if (stt != null) try {
|
|
||||||
// stt.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// String row = "";
|
|
||||||
//
|
|
||||||
// if (!jsonObj.isNull("subjectList")) {
|
|
||||||
// JSONArray jsonArraySub = jsonObj.getJSONArray("subjectList");
|
|
||||||
//
|
|
||||||
// for (Object o2 : jsonArraySub) {
|
|
||||||
// JSONObject jsonObjSub = (JSONObject) o2;
|
|
||||||
//
|
|
||||||
// locust.eid = jsonObjSub.getInt("id");
|
|
||||||
// locust.phytoType = jsonObjSub.getString("phytoType"); //"Вредители" или "Обработка"
|
|
||||||
// if (locust.phytoType.equals("Обработка")) {
|
|
||||||
// /*
|
|
||||||
// locust.insecticide_name = jsonObjSub.getString("nameSubject"); //Наименование действующего вещества
|
|
||||||
// if (!jsonObjSub.isNull("nameLatSubject"))
|
|
||||||
// locust.insecticide_active_substance = jsonObjSub.getString("nameLatSubject"); //Латинское наименование действующего вещества
|
|
||||||
// if (!jsonObjSub.isNull("protectionDoze"))
|
|
||||||
// locust.insecticide_dose = String.valueOf(jsonObjSub.getFloat("protectionDoze")); //Доза внесения препарата (л/га)
|
|
||||||
//
|
|
||||||
// if (!jsonObjSub.isNull("agroTreatmentType")) {
|
|
||||||
// String agroTreatmentType = jsonObjSub.getString("agroTreatmentType"); //Тип обработки (Агротехнический, Авиационный, Наземный)
|
|
||||||
// if (agroTreatmentType != null && !agroTreatmentType.isEmpty()) {
|
|
||||||
// if (agroTreatmentType.equals("GROUND")) {
|
|
||||||
// locust.spray_platform = "3";
|
|
||||||
// } else if (agroTreatmentType.equals("AGROTECHNICAL")) {
|
|
||||||
// locust.spray_platform = "5";
|
|
||||||
// } else if (agroTreatmentType.equals("AVIATION")) {
|
|
||||||
// locust.spray_platform = "1";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (locust.spray_platform == null || locust.spray_platform.isEmpty()) {
|
|
||||||
// //model.addAttribute("PreviewTable", "Error spray_platform");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //То что не знаю куда записывать записываю в description
|
|
||||||
// locust.description = "";
|
|
||||||
// if (!jsonObjSub.isNull("agroTreatmentPercentage"))
|
|
||||||
// locust.description += "Процент обработанной площади: " + String.valueOf(jsonObjSub.getFloat("agroTreatmentPercentage")) + "\n";
|
|
||||||
// if (!jsonObjSub.isNull("agroTreatmentPow"))
|
|
||||||
// locust.description += "Степень обработки: " + jsonObjSub.getString("agroTreatmentPow") + "\n";
|
|
||||||
//
|
|
||||||
// //Если записи не существует то вставляем если существует то обновляем
|
|
||||||
// boolean exists = false; //Is there a record.
|
|
||||||
// Statement st;
|
|
||||||
// try {
|
|
||||||
// st = conn.createStatement();
|
|
||||||
// //ResultSet rs=null;
|
|
||||||
// try {
|
|
||||||
// String sql = "select 1 from main.frmlocustdel where eid=" + String.valueOf(locust.eid);
|
|
||||||
// rs = st.executeQuery(sql);
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error select");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// if (rs != null) {
|
|
||||||
// if (rs.next())
|
|
||||||
// exists = true;
|
|
||||||
// }
|
|
||||||
// st.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error select 2");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// PreparedStatement stmt = null;
|
|
||||||
// String sql = "";
|
|
||||||
// if (exists) {
|
|
||||||
// System.out.println(String.valueOf(cntV)+") update main.frmlocustdel");
|
|
||||||
// sql = "update main.frmlocustdel set\n"
|
|
||||||
// + " eid=?,\n"
|
|
||||||
// + " lat_center=?,\n"
|
|
||||||
// + " lon_center=?,\n"
|
|
||||||
// + " country_id=?,\n"
|
|
||||||
// + " region_id=?,\n"
|
|
||||||
// + " area=?,\n"
|
|
||||||
// + " district=?,\n"
|
|
||||||
// + " date=TO_TIMESTAMP(?, 'DD.MM.YYYY HH24:MI'),\n"
|
|
||||||
// + " description=?,\n"
|
|
||||||
// + " geom=ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n"
|
|
||||||
//
|
|
||||||
// + " insecticide_name=?,\n"
|
|
||||||
// + " insecticide_active_substance=?,\n"
|
|
||||||
// + " insecticide_dose=?,\n"
|
|
||||||
// + " spray_platform=?\n"
|
|
||||||
// + " where eid='" + locust.eid + "'";
|
|
||||||
// try {
|
|
||||||
// stmt = conn.prepareStatement(sql);
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error prepare 1");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// System.out.println(String.valueOf(cntV)+") insert into main.frmlocustdel");
|
|
||||||
// sql = "insert into main.frmlocustdel(\n"
|
|
||||||
// + " eid,\n" //1
|
|
||||||
// + " lat_center,\n" //2
|
|
||||||
// + " lon_center,\n" //3
|
|
||||||
// + " country_id,\n" //4
|
|
||||||
// + " region_id,\n" //5
|
|
||||||
// + " area,\n" //6
|
|
||||||
// + " district,\n" //7
|
|
||||||
// + " date,\n" //8
|
|
||||||
// + " description,\n" //9
|
|
||||||
// + " geom,\n" //10
|
|
||||||
//
|
|
||||||
// + " insecticide_name,\n" //11
|
|
||||||
// + " insecticide_active_substance,\n" //12
|
|
||||||
// + " insecticide_dose,\n" //13
|
|
||||||
// + " spray_platform\n" //14
|
|
||||||
//
|
|
||||||
// + ")values(\n"
|
|
||||||
// + " ?,\n" //1 eid
|
|
||||||
// + " ?,\n" //2 lat1
|
|
||||||
// + " ?,\n" //3 lon1
|
|
||||||
// + " ?,\n" //4 country_id
|
|
||||||
// + " ?,\n" //5 region_id
|
|
||||||
// + " ?,\n" //6 district (area)
|
|
||||||
// + " ?,\n" //7 district (area)
|
|
||||||
// + " TO_TIMESTAMP(?, 'DD.MM.YYYY HH24:MI'),\n" //8 date
|
|
||||||
// + " ?,\n" //9 description
|
|
||||||
// + " ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n" //10 geom
|
|
||||||
//
|
|
||||||
// + " ?,\n" //11 insecticide_name
|
|
||||||
// + " ?,\n" //12 insecticide_active_substance
|
|
||||||
// + " ?,\n" //13 insecticide_dose
|
|
||||||
// + " ?\n" //14 spray_platform
|
|
||||||
// + ")";
|
|
||||||
// try {
|
|
||||||
// stmt = conn.prepareStatement(sql);
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error prepare 2");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// try {
|
|
||||||
// stmt.setInt(1, locust.eid);
|
|
||||||
// stmt.setDouble(2, locust.lat);
|
|
||||||
// stmt.setDouble(3, locust.lon);
|
|
||||||
// stmt.setInt(4, 7); //country_id
|
|
||||||
// stmt.setInt(5, Integer.parseInt(locust.region_id)); //region_id
|
|
||||||
// stmt.setString(6, locust.district); //Пишу в поле "area"
|
|
||||||
// stmt.setString(7, null);
|
|
||||||
// stmt.setString(8, locust.date); //27.04.2020 09:17
|
|
||||||
// stmt.setString(9, locust.description);
|
|
||||||
// stmt.setString(10, locust.drawPolygon);
|
|
||||||
//
|
|
||||||
// stmt.setString(11, locust.insecticide_name);
|
|
||||||
// stmt.setString(12, locust.insecticide_active_substance);
|
|
||||||
// if (locust.insecticide_dose == null || locust.insecticide_dose.isEmpty())
|
|
||||||
// stmt.setNull(13, Types.DOUBLE);
|
|
||||||
// else
|
|
||||||
// stmt.setDouble(13, Double.parseDouble(locust.insecticide_dose));
|
|
||||||
//
|
|
||||||
// if (locust.spray_platform == null || locust.spray_platform.isEmpty())
|
|
||||||
// stmt.setNull(14, Types.INTEGER);
|
|
||||||
// else
|
|
||||||
// stmt.setInt(14, Integer.parseInt(locust.spray_platform));
|
|
||||||
//
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error set data");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Выпоняю запрос на свтавку либо обновление
|
|
||||||
// try {
|
|
||||||
// stmt.execute();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error execute frmlocustdel");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// cntO++;
|
|
||||||
// */
|
|
||||||
// } else if (locust.phytoType.equals("Вредители")) {
|
|
||||||
// if (!jsonObjSub.isNull("nameSubject"))
|
|
||||||
// locust.locust = jsonObjSub.getString("nameSubject");
|
|
||||||
//
|
|
||||||
// //Вид саранчи
|
|
||||||
// locust.locust_type_id = "";
|
|
||||||
// if (locust.locust.equals("Короткокрылый зеленчук")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Среднерусская перелётная саранча")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Сибирская кобылка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка изменчивая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка пёстрая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка крестовая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка сибирская")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка голубокрылая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка бескрылая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка чернополосая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка трескучая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка египетская")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Трещотка ширококрылая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Бахчевая кобылка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Малая крестовичка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Конёк белополосый (белополосая кобылка)"))
|
|
||||||
// locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Конек обыкновенный")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Конек обыкновенный")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Кобылка темнокрылая")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Краснокрылая кобылка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Краснокрылая кобылка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Степная кобылка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Гребневка")) locust.locust_type_id = "4";
|
|
||||||
// if (locust.locust.equals("Азиатская перелётная саранча")) locust.locust_type_id = "3";
|
|
||||||
// if (locust.locust.equals("Итальянский прус")) locust.locust_type_id = "1";
|
|
||||||
// if (locust.locust.equals("Мароккская саранча, мароккская кобылка, марокканка"))
|
|
||||||
// locust.locust_type_id = "2";
|
|
||||||
//
|
|
||||||
// //фаза саранчи
|
|
||||||
// if (!jsonObjSub.isNull("phaseEvolutionName"))
|
|
||||||
// locust.phase = jsonObjSub.getString("phaseEvolutionName");
|
|
||||||
//
|
|
||||||
// locust.locust_have = "3";
|
|
||||||
// if (locust.phase != null) {
|
|
||||||
// if (locust.phase.equals("Кубышка")) locust.locust_have = "2"; //Кубышка = Яйца
|
|
||||||
// if (locust.phase.equals("Гусеница")) locust.locust_have = "3";
|
|
||||||
// if (locust.phase.equals("Личинка 2-го возраста")) locust.locust_have = "3";
|
|
||||||
// if (locust.phase.equals("Личинка 3-го возраста")) locust.locust_have = "3";
|
|
||||||
// if (locust.phase.equals("Личинка 4-го возраста")) locust.locust_have = "3";
|
|
||||||
// if (locust.phase.equals("Личинка 5-го возраста")) locust.locust_have = "3";
|
|
||||||
// if (locust.phase.equals("Имаго")) locust.locust_have = "5";
|
|
||||||
// }
|
|
||||||
// //Если эта анкета "Имаго" то записываем плотность имаго на m2
|
|
||||||
// if (locust.locust_have.equals("5")) {
|
|
||||||
// if (!jsonObjSub.isNull("subPestCount"))
|
|
||||||
// locust.imago_density = String.valueOf(jsonObjSub.getFloat("subPestCount"));
|
|
||||||
// }
|
|
||||||
// //Если эта анкета "Кубышка"="Яйца" то записываем плотность кулиг на m2
|
|
||||||
// if (locust.locust_have.equals("2")) {
|
|
||||||
// if (!jsonObjSub.isNull("subPestCount"))
|
|
||||||
// locust.eggs_capsules_density = String.valueOf(jsonObjSub.getFloat("subPestCount"));
|
|
||||||
// }
|
|
||||||
// //Если эта анкета "Кулиги" то записываем плотность кулиг на m2
|
|
||||||
// if (locust.locust_have.equals("4")) {
|
|
||||||
// if (!jsonObjSub.isNull("subPestCount"))
|
|
||||||
// locust.kuliguli_density = String.valueOf(jsonObjSub.getFloat("subPestCount"));
|
|
||||||
// }
|
|
||||||
// //Если эта анкета "Личинок" то записываем плотность личинок на m2
|
|
||||||
// if (locust.locust_have.equals("3")) {
|
|
||||||
// if (!jsonObjSub.isNull("subPestCount"))
|
|
||||||
// locust.larva_density = String.valueOf(jsonObjSub.getFloat("subPestCount"));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Биотоп
|
|
||||||
// switch (jsonObjSub.getString("faoBiotopeName")) {
|
|
||||||
// case "CIT степь":
|
|
||||||
// locust.bio_biotope_id = "1";
|
|
||||||
// break;
|
|
||||||
// case "CIT залежь":
|
|
||||||
// locust.bio_biotope_id = "2";
|
|
||||||
// break;
|
|
||||||
// case "CIT посевы":
|
|
||||||
// locust.bio_biotope_id = "3";
|
|
||||||
// break;
|
|
||||||
// case "CIT пастбища":
|
|
||||||
// locust.bio_biotope_id = "11";
|
|
||||||
// break;
|
|
||||||
// case "CIT холмы, горы":
|
|
||||||
// locust.bio_biotope_id = "19";
|
|
||||||
// break;
|
|
||||||
// case "DMA равнины":
|
|
||||||
// locust.bio_biotope_id = "4";
|
|
||||||
// break;
|
|
||||||
// case "DMA посевы":
|
|
||||||
// locust.bio_biotope_id = "6";
|
|
||||||
// break;
|
|
||||||
// case "DMA пастбища":
|
|
||||||
// locust.bio_biotope_id = "13";
|
|
||||||
// break;
|
|
||||||
// case "DMA холмы, горы":
|
|
||||||
// locust.bio_biotope_id = "14";
|
|
||||||
// break;
|
|
||||||
// case "LMI низкие сухие тростники":
|
|
||||||
// locust.bio_biotope_id = "7";
|
|
||||||
// break;
|
|
||||||
// case "LMI высокие влажные тростники":
|
|
||||||
// locust.bio_biotope_id = "8";
|
|
||||||
// break;
|
|
||||||
// case "LMI другое":
|
|
||||||
// locust.bio_biotope_id = "10";
|
|
||||||
// break;
|
|
||||||
// case "Другие саранчовые на посевах":
|
|
||||||
// locust.bio_biotope_id = "15";
|
|
||||||
// break;
|
|
||||||
// case "Другие саранчовые на равнине":
|
|
||||||
// locust.bio_biotope_id = "16";
|
|
||||||
// break;
|
|
||||||
// case "Другие саранчовые на холмах":
|
|
||||||
// locust.bio_biotope_id = "17";
|
|
||||||
// break;
|
|
||||||
// case "Другое":
|
|
||||||
// locust.bio_biotope_id = "18";
|
|
||||||
// break;
|
|
||||||
// default:
|
|
||||||
// locust.bio_biotope_id = null;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Если те виды что нам нужны
|
|
||||||
// if (locust.region == null || locust.region.isEmpty() || locust.lat == 0 || locust.lon == 0 || locust.locust.equals("Совка ипсилон") || locust.locust.equals("Восточный майский хрущ") || locust.locust.equals("Кукурузный стеблевой мотылек") || locust.locust.equals("Картофельная, или болотная совка, лиловатая яровая совка") || locust.locust.equals("Луговой мотылёк") || locust.locust.equals("Хлопковая совка") || locust.locust.equals("Стеблевой кукурузный мотылек") || locust.locust.equals("Восточная луговая совка") || locust.locust.equals("Коричневая щитовка") || locust.locust.equals("Продолговатая (чайная) подушечница") || locust.locust.equals("Яблоневая запятовидная щитовка") || locust.locust.equals("Виноградная филлоксера") || locust.locust.equals("Бахчевая коровка")) {
|
|
||||||
//
|
|
||||||
// } else {
|
|
||||||
//
|
|
||||||
// if (locust.locust_type_id.isEmpty()) {
|
|
||||||
// System.out.println("locust.locust = "+locust.locust);
|
|
||||||
// //model.addAttribute("PreviewTable", "locust.locust_type_id == 0 locust name = " + locust.locust);
|
|
||||||
// logger.error("Error, not find locust.locust = "+locust.locust);
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// if (locust.region_id.isEmpty()) {
|
|
||||||
// System.out.println("locust.region = "+locust.region);
|
|
||||||
// //model.addAttribute("PreviewTable", "locust.region_id == 0 region name = " + locust.region);
|
|
||||||
// logger.error("Error, not find locust.region = "+locust.region);
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Тех полей что нет в анкете вствляю в комментарии
|
|
||||||
// try {
|
|
||||||
// locust.description = "";
|
|
||||||
//
|
|
||||||
// if (jsonObjSub.getBoolean("notFound"))
|
|
||||||
// locust.description += "Вредитель не обнаружен: " + jsonObjSub.getString("nameSubject") + "\n";
|
|
||||||
// else
|
|
||||||
// locust.description += "Вредитель обнаружен: " + jsonObjSub.getString("nameSubject") + "\n";
|
|
||||||
//
|
|
||||||
// if (!jsonObjSub.isNull("phaseEvolutionName"))
|
|
||||||
// locust.description += "Фаза: " + jsonObjSub.getString("phaseEvolutionName") + "\n"; //Так как фаза у росиян более подробная
|
|
||||||
// if (!jsonObjSub.isNull("subPestCount")) {
|
|
||||||
// locust.description += "Вредителей: " + jsonObjSub.getFloat("subPestCount");
|
|
||||||
// if (!jsonObjSub.isNull("unitName"))
|
|
||||||
// locust.description += " " + jsonObjSub.getString("unitName");
|
|
||||||
// locust.description += "\n";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (!jsonObj.isNull("cropCurrentType"))
|
|
||||||
// locust.description += "Тип сева: " + jsonObj.getString("cropCurrentType") + "\n";
|
|
||||||
// if (!jsonObj.isNull("cropCurrentCulture"))
|
|
||||||
// locust.description += "Наименование культуры: " + jsonObj.getString("cropCurrentCulture") + "\n";
|
|
||||||
// if (!jsonObj.isNull("cropCurrentCultureSort"))
|
|
||||||
// locust.description += "Наименование сорта культуры: " + jsonObj.getString("cropCurrentCultureSort") + "\n";
|
|
||||||
// if (!jsonObj.isNull("cropCurrentGrowthPhase"))
|
|
||||||
// locust.description += "Фаза роста культуры: " + jsonObj.getString("cropCurrentGrowthPhase") + "\n";
|
|
||||||
// if (!jsonObj.isNull("cropFieldArea")) {
|
|
||||||
// locust.description += "Площадь поля: " + jsonObj.getFloat("cropFieldArea") + "\n";
|
|
||||||
// locust.bio_hectare = String.valueOf(jsonObj.getFloat("cropFieldArea"));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// } catch (Exception ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// locust.terrain = "null"; //У росиян нет сельского округа
|
|
||||||
//
|
|
||||||
// row = "<tr>";
|
|
||||||
// if (locust.region_id == null || locust.region_id.isEmpty() || locust.district_id == null || locust.district_id.isEmpty() || locust.locust_type_id == null || locust.locust_type_id.isEmpty()) {
|
|
||||||
// row = "<tr style=\"background-color:red;\">";
|
|
||||||
// }
|
|
||||||
// row += "<td>" + String.valueOf(cntO+cntV) + "</td><td>" + locust.eid + "</td><td>" + locust.lat + "</td><td>" + locust.lon + "</td><td>" + locust.region + " = " + locust.region_id + "</td><td>" + locust.district + " = " + locust.district_id + "</td><td>" + locust.terrain + "</td><td>" + locust.village + "</td><td>" + locust.locust + " = " + locust.locust_type_id + "</td><td>" + locust.phase + " = " + locust.locust_have + "</td><td>" + locust.evp + "</td><td>" + locust.size + " = " + locust.drawPolygon + "</td><td>" + locust.date + "</td>";
|
|
||||||
// row += "</tr>\n";
|
|
||||||
//
|
|
||||||
// //Если записи не существует то вставляем если существует то обновляем
|
|
||||||
// boolean exists = false; //Is there a record.
|
|
||||||
// Statement st;
|
|
||||||
// try {
|
|
||||||
// st = conn.createStatement();
|
|
||||||
// //ResultSet rs=null;
|
|
||||||
// try {
|
|
||||||
// String sql = "select 1 from main.frmlocust where eid=" + String.valueOf(locust.eid);
|
|
||||||
// rs = st.executeQuery(sql);
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error select");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// if (rs != null) {
|
|
||||||
// if (rs.next())
|
|
||||||
// exists = true;
|
|
||||||
// }
|
|
||||||
// st.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error select 2");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// PreparedStatement stmt = null;
|
|
||||||
// String sql = "";
|
|
||||||
// if (exists) {
|
|
||||||
// System.out.println(String.valueOf(cntV)+") update main.frmlocust");
|
|
||||||
// sql = "update main.frmlocust set\n"
|
|
||||||
// + " eid=?,\n"
|
|
||||||
// + " lat_center=?,\n"
|
|
||||||
// + " lon_center=?,\n"
|
|
||||||
// + " country_id=?,\n"
|
|
||||||
// + " region_id=?,\n"
|
|
||||||
// + " area=?,\n"
|
|
||||||
// + " district=?,\n"
|
|
||||||
// + " date=TO_TIMESTAMP(?, 'DD.MM.YYYY HH24:MI'),\n"
|
|
||||||
// + " description=?,\n"
|
|
||||||
// + " geom=ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n"
|
|
||||||
// + " locust_type_id=?,\n"
|
|
||||||
// + " imago_density=?,\n"
|
|
||||||
// + " kuliguli_density=?,\n"
|
|
||||||
// + " larva_density=?,\n"
|
|
||||||
// + " bio_hectare=?\n,"
|
|
||||||
// + " eggs_capsules_density=?,\n"
|
|
||||||
// + " bio_biotope_id=?\n"
|
|
||||||
// + " where eid='" + locust.eid + "'";
|
|
||||||
// try {
|
|
||||||
// stmt = conn.prepareStatement(sql);
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error prepare 1");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// System.out.println(String.valueOf(cntV)+") insert into main.frmlocust");
|
|
||||||
// sql = "insert into main.frmlocust(\n"
|
|
||||||
// + " eid,\n" //1
|
|
||||||
// + " lat_center,\n" //2
|
|
||||||
// + " lon_center,\n" //3
|
|
||||||
// + " country_id,\n" //4
|
|
||||||
// + " region_id,\n" //5
|
|
||||||
// + " area,\n" //6
|
|
||||||
// + " district,\n" //7
|
|
||||||
// + " date,\n" //8
|
|
||||||
// + " description,\n" //9
|
|
||||||
// + " geom,\n" //10
|
|
||||||
// + " locust_type_id,\n" //11
|
|
||||||
// + " imago_density,\n" //12
|
|
||||||
// + " kuliguli_density,\n" //13
|
|
||||||
// + " larva_density,\n" //14
|
|
||||||
// + " bio_hectare,\n" //15
|
|
||||||
// + " eggs_capsules_density,\n" //16
|
|
||||||
// + " bio_biotope_id\n" //17
|
|
||||||
// + ")values(\n"
|
|
||||||
// + " ?,\n" //1 eid
|
|
||||||
// + " ?,\n" //2 lat1
|
|
||||||
// + " ?,\n" //3 lon1
|
|
||||||
// + " ?,\n" //4 country_id
|
|
||||||
// + " ?,\n" //5 region_id
|
|
||||||
// + " ?,\n" //6 district (area)
|
|
||||||
// + " ?,\n" //7 district (area)
|
|
||||||
// + " TO_TIMESTAMP(?, 'DD.MM.YYYY HH24:MI'),\n" //8 date
|
|
||||||
// + " ?,\n" //9 description
|
|
||||||
// + " ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n" //10 geom
|
|
||||||
// + " ?,\n" //11 locust_type_id
|
|
||||||
// + " ?,\n" //12 imago_density
|
|
||||||
// + " ?,\n" //13 kuliguli_density
|
|
||||||
// + " ?,\n" //14 larva_density
|
|
||||||
// + " ?,\n" //15
|
|
||||||
// + " ?,\n" //16
|
|
||||||
// + " ?\n" //17
|
|
||||||
// + ")";
|
|
||||||
// try {
|
|
||||||
// stmt = conn.prepareStatement(sql);
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error prepare 2");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// try {
|
|
||||||
// stmt.setInt(1, locust.eid);
|
|
||||||
// stmt.setDouble(2, locust.lat);
|
|
||||||
// stmt.setDouble(3, locust.lon);
|
|
||||||
// stmt.setInt(4, 7);
|
|
||||||
// stmt.setInt(5, Integer.parseInt(locust.region_id));
|
|
||||||
// stmt.setString(6, locust.district); //Пишу в поле "area"
|
|
||||||
// stmt.setString(7, null);
|
|
||||||
// stmt.setString(8, locust.date); //27.04.2020 09:17
|
|
||||||
// stmt.setString(9, locust.description);
|
|
||||||
// stmt.setString(10, locust.drawPolygon);
|
|
||||||
// stmt.setInt(11, Integer.parseInt(locust.locust_type_id));
|
|
||||||
// if (locust.imago_density != null)
|
|
||||||
// stmt.setFloat(12, Float.parseFloat(locust.imago_density));
|
|
||||||
// else
|
|
||||||
// stmt.setNull(12, Types.FLOAT);
|
|
||||||
// if (locust.kuliguli_density != null)
|
|
||||||
// stmt.setFloat(13, Float.parseFloat(locust.kuliguli_density));
|
|
||||||
// else
|
|
||||||
// stmt.setNull(13, Types.FLOAT);
|
|
||||||
// if (locust.larva_density != null)
|
|
||||||
// stmt.setFloat(14, Float.parseFloat(locust.larva_density));
|
|
||||||
// else
|
|
||||||
// stmt.setNull(14, Types.FLOAT);
|
|
||||||
// if (locust.bio_hectare != null)
|
|
||||||
// stmt.setFloat(15, Float.parseFloat(locust.bio_hectare));
|
|
||||||
// else
|
|
||||||
// stmt.setNull(15, Types.FLOAT);
|
|
||||||
// if (locust.eggs_capsules_density != null)
|
|
||||||
// stmt.setFloat(16, Float.parseFloat(locust.eggs_capsules_density));
|
|
||||||
// else
|
|
||||||
// stmt.setNull(16, Types.FLOAT);
|
|
||||||
// if (locust.bio_biotope_id != null)
|
|
||||||
// stmt.setFloat(17, Float.parseFloat(locust.bio_biotope_id));
|
|
||||||
// else
|
|
||||||
// stmt.setNull(17, Types.INTEGER);
|
|
||||||
//
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error set data");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// //Выпоняю запрос на свтавку либо обновление
|
|
||||||
// try {
|
|
||||||
// stmt.execute();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error execute 0");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// cntV++;
|
|
||||||
//
|
|
||||||
// //Скачиваю фотографию для анкеты
|
|
||||||
// sb = new StringBuilder();
|
|
||||||
// try {
|
|
||||||
// String strURL = "https://rscagex.ru/pmon/rest/getPhotosByParentId?token=QVOUE97HBSI6LBSGJGQZMP3KPSS1QK&parentId=" + locust.eid;
|
|
||||||
// URL url = new URL(strURL);
|
|
||||||
// HttpURLConnection hConn = (HttpURLConnection) url.openConnection();
|
|
||||||
// hConn.setRequestMethod("GET");
|
|
||||||
// //hConn.setRequestProperty("Range","bytes=" + posStart + "-" + posEnd);
|
|
||||||
// hConn.connect();
|
|
||||||
// int responseCode = hConn.getResponseCode();
|
|
||||||
// if (responseCode / 100 == 2) //Code 206 is "Partial Content"
|
|
||||||
// {
|
|
||||||
// InputStream inputStream = hConn.getInputStream();
|
|
||||||
// //FileOutputStream outputStream = new FileOutputStream(strFile);
|
|
||||||
// int bytesRead;
|
|
||||||
// byte[] buffer = new byte[BUFFER_SIZE];
|
|
||||||
// while ((bytesRead = inputStream.read(buffer)) != -1) {
|
|
||||||
// //outputStream.write(buffer, 0, bytesRead);
|
|
||||||
// sb.append(new String(buffer, 0, bytesRead));
|
|
||||||
// }
|
|
||||||
// //outputStream.close();
|
|
||||||
// inputStream.close();
|
|
||||||
// }
|
|
||||||
// hConn.disconnect();
|
|
||||||
// } catch (IOException e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// String base64 = sb.toString();
|
|
||||||
// if (base64.length() > 10) {
|
|
||||||
// //Так как мне присылаю неправильный jSOM то пытаюсь его поправить,.
|
|
||||||
// base64 = base64.replace("[", "[\"");
|
|
||||||
// base64 = base64.replace("]", "\"]");
|
|
||||||
// base64 = base64.replace(", ", "\",\"");
|
|
||||||
//
|
|
||||||
// String strFile = "O:\\temp\\CCALM\\ru_" + locust.eid;
|
|
||||||
// int pos = 0;
|
|
||||||
//
|
|
||||||
// JSONArray jsonArrayIMGS = new JSONArray(base64);
|
|
||||||
// for (Object oStr : jsonArrayIMGS) {
|
|
||||||
// String jsonObjIMG = (String) oStr;
|
|
||||||
// pos++;
|
|
||||||
// if (pos > 3) break;
|
|
||||||
//
|
|
||||||
// //try {
|
|
||||||
// // BufferedWriter writer = new BufferedWriter(new FileWriter(strFile));
|
|
||||||
// // writer.write(jsonObjIMG);
|
|
||||||
// // writer.close();
|
|
||||||
// //} catch (IOException e1) {
|
|
||||||
// // e1.printStackTrace();
|
|
||||||
// //}
|
|
||||||
//
|
|
||||||
// byte[] decodedString = null;
|
|
||||||
// try {
|
|
||||||
// decodedString = Base64.getDecoder().decode(jsonObjIMG);
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error decode");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (decodedString != null) {
|
|
||||||
// try {
|
|
||||||
// FileUtils.writeByteArrayToFile(new File(strFile + "_" + pos + ".jpg"), decodedString);
|
|
||||||
// } catch (IOException e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// decodedString = null;
|
|
||||||
//
|
|
||||||
// BufferedImage imageOnDisk = null;
|
|
||||||
// try {
|
|
||||||
// imageOnDisk = ImageIO.read(new File(strFile + "_" + pos + ".jpg"));
|
|
||||||
// } catch (IOException e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// }
|
|
||||||
// if (imageOnDisk != null) {
|
|
||||||
// Image img;
|
|
||||||
// BufferedImage buffered;
|
|
||||||
// if (imageOnDisk.getWidth() > imageOnDisk.getHeight()) {
|
|
||||||
// img = imageOnDisk.getScaledInstance(1024, 768, Image.SCALE_DEFAULT);
|
|
||||||
// buffered = new BufferedImage(1024, 768, BufferedImage.TYPE_INT_RGB);
|
|
||||||
// buffered.getGraphics().drawImage(img, 0, 0, null);
|
|
||||||
// } else {
|
|
||||||
// img = imageOnDisk.getScaledInstance(768, 1024, Image.SCALE_DEFAULT);
|
|
||||||
// buffered = new BufferedImage(768, 1024, BufferedImage.TYPE_INT_RGB);
|
|
||||||
// buffered.getGraphics().drawImage(img, 0, 0, null);
|
|
||||||
// }
|
|
||||||
// try {
|
|
||||||
// //BufferedImage bIMG = toBufferedImage(img);
|
|
||||||
// ImageIO.write(buffered, "jpg", new File(strFile + "_" + pos + ".jpg"));
|
|
||||||
// } catch (IOException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// if (pos > 3) {
|
|
||||||
// break;
|
|
||||||
// } else {
|
|
||||||
// sql = "";
|
|
||||||
// if (pos == 1) {
|
|
||||||
// sql = "update main.frmlocust set image_name1='ru_" + locust.eid + "_" + pos + ".jpg" + "' where eid=" + locust.eid;
|
|
||||||
// }
|
|
||||||
// if (pos == 2) {
|
|
||||||
// sql = "update main.frmlocust set image_name2='ru_" + locust.eid + "_" + pos + ".jpg" + "' where eid=" + locust.eid;
|
|
||||||
// }
|
|
||||||
// if (pos == 3) {
|
|
||||||
// sql = "update main.frmlocust set image_name3='ru_" + locust.eid + "_" + pos + ".jpg" + "' where eid=" + locust.eid;
|
|
||||||
// }
|
|
||||||
// if (sql.length() > 0) {
|
|
||||||
// try {
|
|
||||||
// st = conn.createStatement();
|
|
||||||
// st.execute(sql);
|
|
||||||
// st.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error update img");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// } //equals("Вредители")
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// table += row;
|
|
||||||
}
|
}
|
||||||
// System.out.println("Обработка = "+String.valueOf(cntO));
|
|
||||||
// System.out.println("Вредители = "+String.valueOf(cntV));
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// table += "</table>";
|
|
||||||
//
|
|
||||||
// //json=json.substring(0,json.length()-1); //Удаляю последнюю запятую
|
|
||||||
// //json+="\n]}";
|
|
||||||
//
|
|
||||||
// //Сохраняю lastDate в базу данных
|
|
||||||
// try {
|
|
||||||
// Statement st = conn.createStatement();
|
|
||||||
// st.execute("insert into integration.days_ru(date,count)values('" + lastDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "'," + String.valueOf(cntV+cntO) + ");");
|
|
||||||
// st.close();
|
|
||||||
// } catch (SQLException ex) {
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// //model.addAttribute("PreviewTable", "Error update img");
|
|
||||||
// return "json";
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Save last download date
|
||||||
|
String insertSql = """
|
||||||
|
insert into integration.days_uz (date, count) values (:date, :count)
|
||||||
|
""";
|
||||||
|
MapSqlParameterSource insertParams = new MapSqlParameterSource();
|
||||||
|
insertParams.addValue("date", lastDate, Types.DATE);
|
||||||
|
insertParams.addValue("count", count, Types.INTEGER);
|
||||||
|
jdbcTemplate.update(insertSql, insertParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (CustomException e) {
|
} catch (CustomException e) {
|
||||||
@ -2378,8 +1539,10 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
|
|
||||||
FrmLocustModel result = new FrmLocustModel();
|
FrmLocustModel result = new FrmLocustModel();
|
||||||
|
|
||||||
result.company_uid = "dc271f2e-1a4b-4987-96ec-7afd91350684"; //Компания: "Узбекистан саранча"
|
result.company_uid = "dc271f2e-1a4b-4987-96ec-7afd91350684"; //Company: "Uzbekistan Locust"
|
||||||
result.eid = String.valueOf(obj.getInt("id"));
|
result.uid = obj.getString("uuid");
|
||||||
|
result.eid = String.valueOf(obj.getInt("id")); //Internal identifier in the Uzbek database
|
||||||
|
|
||||||
result.seq = obj.getLong("seq")*1000;
|
result.seq = obj.getLong("seq")*1000;
|
||||||
result.country_id = "10"; //Uzbekistan
|
result.country_id = "10"; //Uzbekistan
|
||||||
result.country_uid = "05592f5a-1c8b-4d87-a47f-67697cc12c49"; //Uzbekistan
|
result.country_uid = "05592f5a-1c8b-4d87-a47f-67697cc12c49"; //Uzbekistan
|
||||||
@ -2582,9 +1745,30 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
|
|
||||||
result.bio_temperature = obj.optString("air_temperature",null);
|
result.bio_temperature = obj.optString("air_temperature",null);
|
||||||
if(result.bio_temperature!=null && result.bio_temperature.isEmpty()) result.bio_temperature = null;
|
if(result.bio_temperature!=null && result.bio_temperature.isEmpty()) result.bio_temperature = null;
|
||||||
|
if(result.bio_temperature!=null && result.bio_temperature.contains("..")) {
|
||||||
|
result.bio_temperature = result.bio_temperature.substring(result.bio_temperature.indexOf("..") + 2);
|
||||||
|
}
|
||||||
|
if(result.bio_temperature!=null) {
|
||||||
|
try {
|
||||||
|
Double.parseDouble(result.bio_temperature);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
System.out.println( "Double bio_temperature error" + result.bio_temperature );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
result.bio_wind = obj.optString("wind_speed",null);
|
result.bio_wind = obj.optString("wind_speed",null);
|
||||||
|
if(result.bio_wind!=null && result.bio_wind.contains("..")) {
|
||||||
|
result.bio_wind = result.bio_wind.substring(result.bio_wind.indexOf("..") + 2);
|
||||||
|
}
|
||||||
if(result.bio_wind!=null && result.bio_wind.isEmpty()) result.bio_wind = null;
|
if(result.bio_wind!=null && result.bio_wind.isEmpty()) result.bio_wind = null;
|
||||||
|
if(result.bio_wind!=null) {
|
||||||
|
try {
|
||||||
|
Double.parseDouble(result.bio_wind);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
System.out.println( "Double bio_wind error" + result.bio_wind );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//Вид саранчи
|
//Вид саранчи
|
||||||
if(!obj.isNull("subject_name") && !obj.optString("subject_name","").isBlank()) {
|
if(!obj.isNull("subject_name") && !obj.optString("subject_name","").isBlank()) {
|
||||||
@ -2625,6 +1809,8 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
result.eggs_capsules_density = obj.optString("eggs_pods_density_from_m2",null);
|
result.eggs_capsules_density = obj.optString("eggs_pods_density_from_m2",null);
|
||||||
result.eggs_capsules_density_to = obj.optString("eggs_pods_density_to_m2",null);
|
result.eggs_capsules_density_to = obj.optString("eggs_pods_density_to_m2",null);
|
||||||
result.eggs_capsules = obj.optString("eggs_average_number_egg_pod",null);
|
result.eggs_capsules = obj.optString("eggs_average_number_egg_pod",null);
|
||||||
|
if(result.eggs_capsules!=null && result.eggs_capsules.equals(".")) result.eggs_capsules="0";
|
||||||
|
|
||||||
result.eggs_live = obj.optString("eggs_viable",null);
|
result.eggs_live = obj.optString("eggs_viable",null);
|
||||||
if(!obj.isNull("eggs_natural_enemies") && !obj.optString("eggs_natural_enemies","").isBlank()) {
|
if(!obj.isNull("eggs_natural_enemies") && !obj.optString("eggs_natural_enemies","").isBlank()) {
|
||||||
switch (obj.optString("eggs_natural_enemies",null).replace("'", "").trim()) {
|
switch (obj.optString("eggs_natural_enemies",null).replace("'", "").trim()) {
|
||||||
@ -2889,7 +2075,27 @@ public class AcceptJSON implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
result.swarm_maturity = obj.optString("swarms_maturity",null); // boolean,
|
result.swarm_maturity = obj.optString("swarms_maturity",null); // boolean,
|
||||||
result.swarm_density_id = obj.optString("swarms_density",null); // integer,
|
if(!obj.isNull("swarms_density") && !obj.optString("swarms_density","").isBlank()) {
|
||||||
|
switch (obj.optString("swarms_density",null).replace("'", "").trim()) {
|
||||||
|
case "Low density", "Низкая":
|
||||||
|
result.swarm_density_id = "1";
|
||||||
|
result.swarm_density_uid = "d64bdd10-bf56-43a7-96b5-b9d22f36c19a";
|
||||||
|
break;
|
||||||
|
case "Middle density", "Средние", "Среднее":
|
||||||
|
result.swarm_density_id = "2";
|
||||||
|
result.swarm_density_uid = "c0ec55a0-54fa-4df6-a683-a3690eafe464";
|
||||||
|
break;
|
||||||
|
case "High height", "Высокая":
|
||||||
|
result.swarm_density_id = "3";
|
||||||
|
result.swarm_density_uid = "accbb2e3-7b6e-4a7d-9b2b-2569b05c60ef";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new CustomException(200, 10000, "Not find swarms_density: (" + obj.optString("swarms_density",null)+")", null, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!obj.isNull("swarms_height") && !obj.optString("swarms_height","").isBlank()) {
|
||||||
|
|
||||||
|
|
||||||
result.swarm_size = obj.optString("swarms_size",null); // double precision,
|
result.swarm_size = obj.optString("swarms_size",null); // double precision,
|
||||||
result.swarm_count = obj.optString("swarms_count",null); // double precision,
|
result.swarm_count = obj.optString("swarms_count",null); // double precision,
|
||||||
//result.swarm_copulation = obj.optString("",null); // boolean,
|
//result.swarm_copulation = obj.optString("",null); // boolean,
|
||||||
|
|||||||
@ -147,7 +147,7 @@ public class SendWarning {
|
|||||||
JSONObject tmp_air = getAirTemperature(obj.getDouble("lat"),obj.getDouble("lon"));
|
JSONObject tmp_air = getAirTemperature(obj.getDouble("lat"),obj.getDouble("lon"));
|
||||||
JSONObject tmp_soil = getSoilTemperature(obj.getDouble("lat"),obj.getDouble("lon"));
|
JSONObject tmp_soil = getSoilTemperature(obj.getDouble("lat"),obj.getDouble("lon"));
|
||||||
|
|
||||||
if(tmp_air!=null) {
|
if(tmp_air!=null && obj.getBoolean("warn_air")) {
|
||||||
Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate);
|
Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate);
|
||||||
double value = obj.getDouble("temperature_air");
|
double value = obj.getDouble("temperature_air");
|
||||||
if (value < tmp_air.getDouble("value")) {
|
if (value < tmp_air.getDouble("value")) {
|
||||||
@ -202,7 +202,7 @@ public class SendWarning {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tmp_soil!=null) {
|
if(tmp_soil!=null && obj.getBoolean("warn_soil")) {
|
||||||
Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate);
|
Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate);
|
||||||
double value = obj.getDouble("temperature_soil");
|
double value = obj.getDouble("temperature_soil");
|
||||||
if (value < tmp_soil.getDouble("value")) {
|
if (value < tmp_soil.getDouble("value")) {
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import org.ccalm.main.models.FrmLocustModel;
|
|||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.slf4j.MarkerFactory;
|
||||||
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
|
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
|
||||||
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
|
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
|
||||||
import tools.DBTools;
|
import tools.DBTools;
|
||||||
@ -12,8 +13,11 @@ import java.sql.Types;
|
|||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class UpdateLocust {
|
public class UpdateLocust {
|
||||||
|
|
||||||
@ -25,6 +29,7 @@ public class UpdateLocust {
|
|||||||
this.jdbcTemplate = jdbcTemplate;
|
this.jdbcTemplate = jdbcTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Update or insert locust survey form
|
||||||
public boolean update(FrmLocustModel locust){
|
public boolean update(FrmLocustModel locust){
|
||||||
|
|
||||||
String sql;
|
String sql;
|
||||||
@ -64,6 +69,7 @@ public class UpdateLocust {
|
|||||||
sql= """
|
sql= """
|
||||||
update main.frmlocust set
|
update main.frmlocust set
|
||||||
changed = false,
|
changed = false,
|
||||||
|
company_uid=CAST(:company_uid AS uuid),
|
||||||
user_id=:user_id,
|
user_id=:user_id,
|
||||||
device_id=:device_id,
|
device_id=:device_id,
|
||||||
image_name1=:image_name1,
|
image_name1=:image_name1,
|
||||||
@ -128,12 +134,13 @@ public class UpdateLocust {
|
|||||||
description=:description,
|
description=:description,
|
||||||
geom=ST_SetSRID(ST_GeomFromGeoJSON(:geom),4326),
|
geom=ST_SetSRID(ST_GeomFromGeoJSON(:geom),4326),
|
||||||
test=:test
|
test=:test
|
||||||
where uid=CAST(:uid AS uuid)
|
where uid=main.strtouuid(:uid)
|
||||||
""";
|
""";
|
||||||
}else{
|
}else{
|
||||||
sql="""
|
sql="""
|
||||||
insert into main.frmlocust(
|
insert into main.frmlocust(
|
||||||
changed,
|
changed,
|
||||||
|
company_uid,
|
||||||
user_id,
|
user_id,
|
||||||
device_id,
|
device_id,
|
||||||
image_name1,
|
image_name1,
|
||||||
@ -201,6 +208,7 @@ public class UpdateLocust {
|
|||||||
uid
|
uid
|
||||||
)values(
|
)values(
|
||||||
false,
|
false,
|
||||||
|
CAST(:company_uid AS uuid),
|
||||||
:user_id,
|
:user_id,
|
||||||
:device_id,
|
:device_id,
|
||||||
:image_name1,
|
:image_name1,
|
||||||
@ -265,12 +273,14 @@ public class UpdateLocust {
|
|||||||
:description,
|
:description,
|
||||||
ST_SetSRID(ST_GeomFromGeoJSON(:geom),4326),
|
ST_SetSRID(ST_GeomFromGeoJSON(:geom),4326),
|
||||||
:test,
|
:test,
|
||||||
:uid
|
main.strtouuid(:uid)
|
||||||
)
|
)
|
||||||
""";
|
""";
|
||||||
}
|
}
|
||||||
parameters = new MapSqlParameterSource();
|
parameters = new MapSqlParameterSource();
|
||||||
parameters.addValue("uid", locust.uid, Types.VARCHAR);
|
parameters.addValue("uid", locust.uid, Types.VARCHAR);
|
||||||
|
parameters.addValue("company_uid", locust.company_uid, Types.VARCHAR);
|
||||||
|
|
||||||
|
|
||||||
if(locust.user_id == null) { parameters.addValue("user_id", null, Types.BIGINT); } else { parameters.addValue("user_id", Long.parseLong(locust.user_id), Types.BIGINT); }
|
if(locust.user_id == null) { parameters.addValue("user_id", null, Types.BIGINT); } else { parameters.addValue("user_id", Long.parseLong(locust.user_id), Types.BIGINT); }
|
||||||
|
|
||||||
@ -299,19 +309,19 @@ public class UpdateLocust {
|
|||||||
{
|
{
|
||||||
if(locust.date.indexOf("-")==-1) //If old date format in UNIX time
|
if(locust.date.indexOf("-")==-1) //If old date format in UNIX time
|
||||||
{
|
{
|
||||||
int uDate=Integer.parseInt(locust.date)+1;
|
long uDate=Long.parseLong(locust.date)+1;
|
||||||
java.sql.Timestamp tm=new java.sql.Timestamp((long)uDate*1000);
|
java.sql.Timestamp timestamp=new java.sql.Timestamp((long)uDate*1000);
|
||||||
parameters.addValue("date", locust.date, Types.DATE);
|
parameters.addValue("date", timestamp, Types.TIMESTAMP);
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
java.sql.Timestamp tm=null;
|
|
||||||
DateFormat dfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //2016-05-29 18:00:01 in "GMT"
|
|
||||||
try{
|
try{
|
||||||
tm = new java.sql.Timestamp(dfm.parse(locust.date).getTime());
|
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; // ISO 8601 (2025-02-12T14:17:43)
|
||||||
|
LocalDateTime dateTime = LocalDateTime.parse(locust.date, formatter);
|
||||||
|
java.sql.Timestamp timestamp = java.sql.Timestamp.valueOf(dateTime);
|
||||||
|
parameters.addValue("date", timestamp, Types.TIMESTAMP);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.error(ex.getMessage(), ex);
|
logger.error(ex.getMessage(), ex);
|
||||||
}
|
}
|
||||||
parameters.addValue("date", locust.date, Types.DATE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -403,16 +413,23 @@ public class UpdateLocust {
|
|||||||
if(locust.swarm_flying_direction_id==null) parameters.addValue("swarm_flying_direction_id", null, Types.BIGINT); else parameters.addValue("swarm_flying_direction_id",Long.parseLong(locust.swarm_flying_direction_id), Types.BIGINT);
|
if(locust.swarm_flying_direction_id==null) parameters.addValue("swarm_flying_direction_id", null, Types.BIGINT); else parameters.addValue("swarm_flying_direction_id",Long.parseLong(locust.swarm_flying_direction_id), Types.BIGINT);
|
||||||
if(locust.swarm_height_id==null) parameters.addValue("swarm_height_id", null, Types.BIGINT); else parameters.addValue("swarm_height_id",Long.parseLong(locust.swarm_height_id), Types.BIGINT);
|
if(locust.swarm_height_id==null) parameters.addValue("swarm_height_id", null, Types.BIGINT); else parameters.addValue("swarm_height_id",Long.parseLong(locust.swarm_height_id), Types.BIGINT);
|
||||||
|
|
||||||
parameters.addValue("description", Types.VARCHAR);
|
parameters.addValue("description", locust.description, Types.VARCHAR);
|
||||||
parameters.addValue("geom", Types.VARCHAR);
|
parameters.addValue("geom", locust.geom, Types.VARCHAR);
|
||||||
|
|
||||||
if(locust.test==null) parameters.addValue("test", null, Types.BOOLEAN);
|
if(locust.test==null) parameters.addValue("test", null, Types.BOOLEAN);
|
||||||
else {
|
else {
|
||||||
if(locust.test.equals("1")) parameters.addValue("test",true, Types.BOOLEAN);
|
if(locust.test.equals("1")) parameters.addValue("test",true, Types.BOOLEAN);
|
||||||
else parameters.addValue("test",false,Types.BOOLEAN);
|
else parameters.addValue("test",false,Types.BOOLEAN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
return true;
|
int rowsAffected = jdbcTemplate.update(sql, parameters);
|
||||||
|
return rowsAffected > 0;
|
||||||
|
} catch (Exception ex) {
|
||||||
|
String uuid = UUID.randomUUID().toString();
|
||||||
|
logger.error(MarkerFactory.getMarker(uuid), ex.getMessage(), ex);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,6 +60,7 @@ public class FrmLocustModel {
|
|||||||
public String timezone;
|
public String timezone;
|
||||||
|
|
||||||
public String description="";
|
public String description="";
|
||||||
|
public String geom;
|
||||||
|
|
||||||
//Hopper
|
//Hopper
|
||||||
public String larva = null;
|
public String larva = null;
|
||||||
@ -123,6 +124,7 @@ public class FrmLocustModel {
|
|||||||
public String swarms = null; // For CheckBox
|
public String swarms = null; // For CheckBox
|
||||||
public String swarm_maturity = null; //Maturity boolean,
|
public String swarm_maturity = null; //Maturity boolean,
|
||||||
public String swarm_density_id = null; //Density of swarm integer,
|
public String swarm_density_id = null; //Density of swarm integer,
|
||||||
|
public String swarm_density_uid = null; //Density of swarm integer,
|
||||||
public String swarm_size = null; //Swarm size double precision,
|
public String swarm_size = null; //Swarm size double precision,
|
||||||
public String swarm_count = null; //Number of swarms double precision,
|
public String swarm_count = null; //Number of swarms double precision,
|
||||||
public String swarm_copulation = null; //Not used boolean,
|
public String swarm_copulation = null; //Not used boolean,
|
||||||
|
|||||||
Reference in New Issue
Block a user