@@ -23,6 +23,7 @@ import java.sql.Types;
import java.text.DateFormat ;
import java.text.SimpleDateFormat ;
import java.time.LocalDate ;
import java.time.LocalDateTime ;
import java.time.Year ;
import java.time.ZonedDateTime ;
import java.time.format.DateTimeFormatter ;
@@ -133,17 +134,7 @@ public class AcceptJSON implements ServletContextAware {
@RequestParam ( required = false , name = " skip " , defaultValue = " 0 " ) Boolean skip
) {
JSONObject json = new JSONObject ( ) ;
int count = 0 ;
try {
Connection conn = null ;
try {
Class . forName ( " org.postgresql.Driver " ) ;
conn = DriverManager . getConnection ( db_url , db_login , db_password ) ;
} catch ( Exception ex ) {
ex . printStackTrace ( ) ;
}
LocalDate lastDate = null ;
String sql = """
select to_char(max(date), 'YYYY-MM-DD') as date from integration.days_kz
@@ -157,9 +148,9 @@ public class AcceptJSON implements ServletContextAware {
lastDate = LocalDate . parse ( obj . getString ( " date " ) ) ;
}
}
if ( lastDate = = null )
lastDate = LocalDate . parse ( " 2025-07-01 " ) ;
//lastDate = LocalDate.parse("2025-07-16");
if ( lastDate = = null ) {
lastDate = LocalDate . parse ( " 2025-07-16 " ) ;
}
//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 ) ) ) {
@@ -172,10 +163,11 @@ public class AcceptJSON implements ServletContextAware {
StringBuilder sb = new StringBuilder ( 1024 ) ;
try {
//String strURL = "http://91.185.13.233:98/get_fito?start_date="+dateBegin+"&end_date="+dateEnd;
String strURL = " http://95.56.225.145:98/get_fito?start_date= " + dateBegin + " &end_date= " + dateEnd ;
URL url = new URL ( strURL ) ;
URI uri = new URI ( strURL ) ;
URL url = uri . toURL ( ) ;
HttpURLConnection hConn = ( HttpURLConnection ) url . openConnection ( ) ;
hConn . setRequestMethod ( " GET " ) ;
hConn . setRequestProperty ( " Authorization " , " Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMyIsInVzZXJuYW1lIjoiQ0NBTE0iLCJyb2xlIjoidXNlciIsImlhdCI6MTcwNjc4NjQ0Nn0.bypDbAZYjbQu8hWrb6MnnAZ80AbO4ZifP3inEnpbabI " ) ;
@@ -195,30 +187,13 @@ public class AcceptJSON implements ServletContextAware {
inputStream . close ( ) ;
}
} catch ( IOException e ) {
e . printStackTrace ( ) ;
throw new CustomException ( 200 , 10000 , " Error download: " + e . getMessage ( ) , null , true ) ;
}
String content = sb . toString ( ) ;
//int year = 2025;
if ( content = = null | | content . isEmpty ( ) ) {
System . out . println ( " Content is null " ) ;
} else {
System . out . println ( " Start " ) ;
//String sql = "delete from main.frmlocust where country_id=5 and eid=0 and extract(year from date)=" + String.valueOf(year);
//try {
// PreparedStatement stmt = conn.prepareStatement(sql);
// int cont = stmt.executeUpdate();
// System.out.println("cnt: " + String.valueOf(cont));
//} catch (SQLException e) {
// e.printStackTrace();
//}
//System.out.println(content);
//Iterate over the elements of the array.
int count = 0 ;
if ( content ! = null | | ! content . isEmpty ( ) ) {
JSONObject jsonObject = new JSONObject ( content ) ;
JSONArray jsonArray = jsonObject . getJSONArray ( " data " ) ;
for ( Object o : jsonArray ) {
@@ -228,241 +203,23 @@ public class AcceptJSON implements ServletContextAware {
//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 ( updateLocust . update ( locust ) ) {
count + + ;
} else {
throw new CustomException ( 200 , 10000 , " Error insert or update " , null , true ) ;
}
System . out . println ( " count = " + count ) ;
/*
//I don't miss other dates
ZonedDateTime dateTime = ZonedDateTime.parse(jsonObj.getString("examination_date"), DateTimeFormatter.ISO_ZONED_DATE_TIME);
if (dateTime.getYear() != year)
continue;
sql = """
insert into main.frmlocust(
eid, --1
lat_center, --2
lon_center, --3
lat1, --4
lon1, --5
date, --6
village, --7
terrain, --8
district, --9
country_id, --10
region_id, --11
locust_type_id, --12
bio_hectare, --13
locust_populated, --14
description, --15
eggs, --16
hoppers, --17
bands, --18
adults, --19
swarms --20
)values(
?, --1 eid
?, --2 lat_center
?, --3 lon_center
?, --4 lat1
?, --5 lon1
TO_TIMESTAMP(?, 'YYYY-MM-DD\"T\"HH24:MI:SS.US\"Z\"'), --6 date
LEFT(?, 100), --7 village
LEFT(?, 100), --8 terrain
LEFT(?, 100), --9 district
?, --10 country_id
?, --11 region_id
?, --12 locust_type_id
?, --13 bio_hectare
?, --14 locust_populated
?, --15 description
?, --16 eggs CheckBox
?, --17 hoppers CheckBox
?, --18 bands CheckBox
?, --19 adults CheckBox
? --20 swarms CheckBox
)""";
PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement(sql);
} catch (SQLException ex) {
ex.printStackTrace();
model.addAttribute("PreviewTable", "Error prepare 2");
return "json";
}
String description = "";
description += "city: " + jsonObj.getString("city") + "\n";
description += "message_type: " + jsonObj.getString("message_type") + "\n";
if (jsonObj.has("development_stage") && !jsonObj.isNull("development_stage"))
description += "stage: " + jsonObj.getString("development_stage") + "\n";
try {
stmt.setLong(1, 0);
stmt.setDouble(2, jsonObj.getDouble("latitude"));
stmt.setDouble(3, jsonObj.getDouble("longitude"));
stmt.setDouble(4, jsonObj.getDouble("latitude"));
stmt.setDouble(5, jsonObj.getDouble("longitude"));
stmt.setString(6, jsonObj.getString("examination_date")); //2023-03-20T06:23:20.000Z
if (jsonObj.has("village") && !jsonObj.isNull("village"))
stmt.setString(7, jsonObj.getString("village"));
else
stmt.setNull(7, Types.VARCHAR);
if (jsonObj.has("farm") && !jsonObj.isNull("farm"))
stmt.setString(8, jsonObj.getString("farm"));
else
stmt.setNull(8, Types.VARCHAR);
if (jsonObj.has("district") && !jsonObj.isNull("district"))
stmt.setString(9, jsonObj.getString("district"));
else
stmt.setNull(9, Types.VARCHAR);
stmt.setInt(10, 5); //country_id
int region_id = -1;
switch (jsonObj.getString("region")) {
case "Туркестанская": //5 false -215739 1691403679 5 "Түркістан облысы (Туркестанская область)"
region_id = 5;
break;
case "Жамбылская": //4 false -215722 1691403679 5 "Жамбыл облысы (Жамбылская область)"
region_id = 4;
break;
case "Алматинская": //3 false -215718 1691403679 5 "Алматы облысы (Алматинская область)"
region_id = 3;
break;
case "Карагандинская": //2 false -215776 1691403679 5 "Қарағанды облысы (Карагандинская область)"
region_id = 2;
break;
case "Жетысу": //478 false -14312169 1691403679 5 "Жетісу облысы"
region_id = 478;
break;
case "Кызылординская": //6 false -215727 1691403679 5 "Қызылорда облысы (Кызылординская область)"
region_id = 6;
break;
case "Атырауская": //13 false -214834 1691403679 5 "Атырау облысы (Атырауская область)"
region_id = 13;
break;
case "Западно-Казахстанская": //12 false -215441 1691403679 5 "Батыс Қазақстан облысы (Западно-Казахстанская область)"
region_id = 12;
break;
case "Акмолинская": //10 false -215743 1691403679 5 "Ақмола облысы (Акмолинская область)"
region_id = 10;
break;
case "Восточно-Казахстанская": //1 false -215699 1691403679 5 "Шығыс Қазақстан облысы (Восточно-Казахстанская область)"
region_id = 1;
break;
case "Абай": //477 false -14243026 1691473439 5 "Абай облысы"
region_id = 477;
break;
case "Костанайская": //8 false -1288730 1691403679 5 "Қостанай облысы (Костанайская область)"
region_id = 8;
break;
case "Павлодарская": //11 false -215772 1691403679 5 "Павлодар облысы (Павлодарская область)"
region_id = 11;
break;
case "Северо-Казахстанская": //9 false -215760 1691403679 5 "Солтүстік Қазақстан облысы (Северо-Казахстанская область)"
region_id = 9;
break;
case "Актюбинская": //7 false -215683 1691403679 5 "Ақтөбе облысы (Актюбинская область)"
region_id = 7;
break;
case "Мангистауская": //14 false -215686 1691403679 5 "Маңғыстау облысы (Мангистауская область)"
region_id = 14;
break;
case "Улытау": //479 false -14312737 1691462768 5 "Ұлытау облысы"
region_id = 14;
break;
default:
throw new CustomException(200, 10000, "Not find region: " + jsonObj.getString("region"), null, true);
} else {
throw new CustomException ( 200 , 10000 , " Data content kz is null " , null , true ) ;
}
if (region_id == -1)
stmt.setInt(11, region_id); //region_id
else
stmt.setNull(11, Types.INTEGER);
//Вид саранчи
int locust_id = -1;
switch (jsonObj.getString("grasshopper_type")) {
case "Мароккская саранча":
locust_id = 2;
break;
case "Итальянский прус":
locust_id = 1;
break;
case "Азиатская саранча":
locust_id = 3;
break;
default:
throw new CustomException(200, 10000, "Not grasshopper_type: " + jsonObj.getString("grasshopper_type"), null, true);
//Save last download date
sql = " INSERT INTO integration.days_kz(date, count) VALUES (:date, :count) " ;
parameters = new MapSqlParameterSource ( ) ;
parameters . addValue ( " date " , java . sql . Date . valueOf ( lastDate ) ) ;
parameters . addValue ( " count " , count ) ;
jdbcTemplate . update ( sql , parameters ) ;
}
stmt.setInt(12, locust_id); //locust_id
//Обследованно
if (jsonObj.has("examination_area") && !jsonObj.isNull("examination_area"))
stmt.setDouble(13, Double.parseDouble(jsonObj.get("examination_area").toString()));
else
stmt.setNull(13, Types.DOUBLE);
//Площадь заселения
if (jsonObj.has("settlement_area") && !jsonObj.isNull("settlement_area"))
stmt.setDouble(14, Double.parseDouble(jsonObj.get("settlement_area").toString()));
else
stmt.setNull(14, Types.DOUBLE);
//Прочее описание
stmt.setString(15, description); //description
boolean eggs = false; // Яйца
boolean hoppers = false; // Личинки
boolean bands = false; // Кулиги
boolean adults = false; // Имаго
boolean swarms = false; // Стаи
if (jsonObj.has("development_stage") && !jsonObj.isNull("development_stage")) {
if (jsonObj.getString("development_stage").equals("Яйца")) eggs = true;
if (jsonObj.getString("development_stage").equals("Личинки") || jsonObj.getString("development_stage").equals("Заселенность личинками") || jsonObj.getString("development_stage").equals("Личинка"))
hoppers = true;
if (jsonObj.getString("development_stage").equals("Кулиги")) bands = true;
if (jsonObj.getString("development_stage").equals("Имаго")) adults = true;
if (jsonObj.getString("development_stage").equals("Стаи")) swarms = true;
}
if (eggs)
stmt.setBoolean(16, true);
else
stmt.setNull(16, Types.BOOLEAN);
if (hoppers)
stmt.setBoolean(17, true);
else
stmt.setNull(17, Types.BOOLEAN);
if (bands)
stmt.setBoolean(18, true);
else
stmt.setNull(18, Types.BOOLEAN);
if (adults)
stmt.setBoolean(19, true);
else
stmt.setNull(19, Types.BOOLEAN);
if (swarms)
stmt.setBoolean(20, true);
else
stmt.setNull(20, Types.BOOLEAN);
if (region_id != -1) {
stmt.execute();
} else {
System.out.println("region: " + jsonObj.getString("region"));
}
} catch (SQLException ex) {
ex.printStackTrace();
model.addAttribute("PreviewTable", "Error set data");
return "json";
}
cnt++;*/
}
}
}
} catch ( CustomException e ) {
if ( e . isSaveToLog ( ) ) {
String uuid = UUID . randomUUID ( ) . toString ( ) ;
@@ -483,65 +240,24 @@ public class AcceptJSON implements ServletContextAware {
result . company_uid = " f52a99a6-db5a-4d15-b29c-5a7989d548eb " ; //Company: "Kazakhstan Locust"
//result.uid = obj.getString("uuid");
//result.eid = String.valueOf(obj.getInt("id")); //Internal identifier in the Uzbek database
result . eid = String . valueOf ( obj . getLong ( " OBJECTID " ) ) ;
//result.seq = obj.getLong("seq")*1000;
result . country_id = " 5 " ; //Kazakhstan
result . country_uid = " 3c7df90e-9632-4e71-8f36-c184751216df " ; //Kazakhstan
/*
sql = """
insert into main.frmlocust(
eid, --1
lat_center, --2
lon_center, --3
lat1, --4
lon1, --5
date, --6
village, --7
terrain, --8
district, --9
country_id, --10
region_id, --11
locust_type_id, --12
bio_hectare, --13
locust_populated, --14
description, --15
eggs, --16
hoppers, --17
bands, --18
adults, --19
swarms --20
)values(
?, --1 eid
?, --2 lat_center
?, --3 lon_center
?, --4 lat1
?, --5 lon1
TO_TIMESTAMP(?, 'YYYY-MM-DD\"T\"HH24:MI:SS.US\"Z\"'), --6 date
LEFT(?, 100), --7 village
LEFT(?, 100), --8 terrain
LEFT(?, 100), --9 district
?, --10 country_id
?, --11 region_id
?, --12 locust_type_id
?, --13 bio_hectare
?, --14 locust_populated
?, --15 description
?, --16 eggs CheckBox
?, --17 hoppers CheckBox
?, --18 bands CheckBox
?, --19 adults CheckBox
? --20 swarms CheckBox
)""";
*/
result . eid = " 0 " ;
result . lat_center = String . valueOf ( obj . getDouble ( " latitude " ) ) ;
result . lon_center = String . valueOf ( obj . getDouble ( " longitude " ) ) ;
result . date = obj . getString ( " examination_date " ) ; //2023-03-20T06:23:20.000Z
try {
String dateStr = obj . getString ( " examination_date " ) . replace ( " Z " , " " ) ;
DateTimeFormatter formatter = DateTimeFormatter . ISO_LOCAL_DATE_TIME ;
LocalDateTime dateTime = LocalDateTime . parse ( dateStr , formatter ) ;
result . date = java . sql . Timestamp . valueOf ( dateTime ) ;
} catch ( Exception ex ) {
throw new CustomException ( 200 , 10000 , " Date error: " + obj . optString ( " examination_date " , " null " ) , null , true ) ;
}
if ( obj . has ( " village " ) & & ! obj . isNull ( " village " ) )
result . village = obj . getString ( " village " ) ;
if ( obj . has ( " farm " ) & & ! obj . isNull ( " farm " ) )
@@ -551,105 +267,76 @@ public class AcceptJSON implements ServletContextAware {
if ( ! obj . isNull ( " region " ) & & ! obj . optString ( " region " , " " ) . isBlank ( ) ) {
switch ( obj . optString ( " region " , null ) . trim ( ) ) {
case " Акмолинская " :
result . region_id = " 10 " ;
result . region_uid = " 3a3deedc-45ef-4fe5-a77a-17092f11b55e " ;
case " Туркестанская " :
result . region_id = " 5 " ;
//result.region_uid = "8f4f586f-6159-4fbf-a627-2c8d637abb5e";
result . region_uid = " d7da7b40-dad8-450d-b455-8f39f3c9e824 " ;
break ;
case " Жамбылская " :
result . region_id = " 4 " ;
//result.region_uid = "2a6adb56-19a7-4f28-9a00-87559db91db9";
result . region_uid = " 1d7c0ab2-62d2-4645-be90-9675c5cc7d3b " ;
break ;
case " Алматинская " :
result . region_id = " 3 " ;
//result.region_uid = "2a6adb56-19a7-4f28-9a00-87559db91db9";
result . region_uid = " ffcb6886-531a-4559-af6c-902a3f3dbcca " ;
break ;
case " Карагандинская " :
result . region_id = " 2 " ;
//result.region_uid = "2a6adb56-19a7-4f28-9a00-87559db91db9";
result . region_uid = " f6cc2454-f78e-48d4-aa91-d36aa6873f07 " ;
break ;
case " Жетысу " :
result . region_id = " 478 " ;
//result.region_uid = "2a6adb56-19a7-4f28-9a00-87559db91db9";
break ;
case " Кызылординская " :
result . region_id = " 478 " ;
//result.region_uid = "2a6adb56-19a7-4f28-9a00-87559db91db9";
break ;
default :
System . out . println ( obj . optString ( " region " , null ) ) ;
throw new CustomException ( 200 , 10000 , " Not find region by region: " + obj . optString ( " region " , null ) , null , true ) ;
}
}
if ( ! obj . isNull ( " region " ) & & ! obj . optString ( " region " , " " ) . isBlank ( ) ) {
switch ( obj . optString ( " region " , null ) . trim ( ) ) {
case " Туркестанская " :
result . region_id = " 5 " ;
//result.region_uid = "";
break ;
case " Жамбылская " :
result . region_id = " 4 " ;
//result.region_uid = "";
break ;
case " Алматинская " :
result . region_id = " 3 " ;
//result.region_uid = "";
break ;
case " Карагандинская " :
result . region_id = " 2 " ;
//result.region_uid = "";
break ;
case " Жетысу " :
result . region_id = " 478 " ;
//result.region_uid = "";
result . region_uid = " 327f5e9c-91eb-477c-ba02-0a1e1e49ebc6 " ;
break ;
case " Кызылординская " :
result . region_id = " 6 " ;
//result.region_uid = "";
result . region_uid = " 54caa739-fa8b-4196-a64c-0df12bfb60bc " ;
break ;
case " Атырауская " :
result . region_id = " 13 " ;
//result.region_uid = "";
result . region_uid = " 51f7f494-a700-42f3-8006-4233655bf6a8 " ;
break ;
case " Западно-Казахстанская " :
result . region_id = " 12 " ;
//result.region_uid = "";
break ;
case " Акмолинская " :
result . region_id = " 10 " ;
//result.region_uid = "";
result . region_uid = " b87f6741-e01a-45fc-a9da-2b8f9f0aad97 " ;
break ;
case " Восточно-Казахстанская " :
result . region_id = " 1 " ;
//result.region_uid = "";
result . region_uid = " 73d12ffe-55f9-4294-bcb4-0ee78f1875a5 " ;
break ;
case " Абай " :
result . region_id = " 477 " ;
//result.region_uid = "";
result . region_uid = " 992ce0b6-85e9-406a-a031-a23b62f167ea " ;
break ;
case " Костанайская " :
result . region_id = " 8 " ;
//result.region_uid = "";
result . region_uid = " 1b9299a2-43a8-4a27-a0f0-ab36b33b8d5c " ;
break ;
case " Павлодарская " :
result . region_id = " 11 " ;
//result.region_uid = "";
result . region_uid = " c7894755-1ac6-4fbe-8d60-af9b0c3ec3a5 " ;
break ;
case " Северо-Казахстанская " :
result . region_id = " 9 " ;
//result.region_uid = "";
result . region_uid = " 5d9e75b4-b7d2-4af8-9aa2-14b5fa38842e " ;
break ;
case " Актюбинская " :
result . region_id = " 7 " ;
//result.region_uid = "";
result . region_uid = " 9e6889d3-aa2f-47a0-a0b9-90973e3971c6 " ;
break ;
case " Мангистауская " :
result . region_id = " 14 " ;
//result.region_uid = "";
result . region_uid = " 87a47fe7-3cdf-4d96-924d-5d4888972a82 " ;
break ;
case " Улытау " :
result . region_id = " 479 " ;
//result.region_uid = "";
result . region_uid = " 76468ad3-5f73-4c33-bf7d-ce2ff1006fdd " ;
break ;
case " ----------- " :
result . region_id = null ;
result . region_uid = null ;
break ;
default :
System . out . println ( obj . optString ( " region " , null ) ) ;
@@ -657,20 +344,21 @@ public class AcceptJSON implements ServletContextAware {
}
}
//Вид саранчи
if ( ! obj . isNull ( " region " ) & & ! obj . optString ( " region " , " " ) . isBlank ( ) ) {
if ( ! obj . isNull ( " grasshopper_type " ) & & ! obj . optString ( " grasshopper_type " , " " ) . isBlank ( ) ) {
switch ( obj . getString ( " grasshopper_type " ) ) {
case " Мароккская саранча " :
result . locust_type_id = " 2 " ;
//result.locust_type_uid = "";
result . locust_type_uid = " 8dd9e74f-d7ba-492a-8c75-7aed4f0847c6 " ;
break ;
case " Итальянский прус " :
result . locust_type_id = " 1 " ;
//result.locust_type_uid = "";
result . locust_type_uid = " 688e484b-babd-4a48-b318-be85e40682b0 " ;
break ;
case " Азиатская саранча " :
result . locust_type_id = " 3 " ;
//result.locust_type_uid = "";
result . locust_type_uid = " d61a5325-e8c7-497a-9cff-7ee4c4e1e37d " ;
break ;
default :
System . out . println ( obj . optString ( " grasshopper_type " , null ) ) ;
@@ -680,54 +368,53 @@ public class AcceptJSON implements ServletContextAware {
//Обследованно
if ( obj . has ( " examination_area " ) & & ! obj . isNull ( " examination_area " ) )
stmt . setDouble ( 13 , Double . parseDouble ( obj . get ( " examination_area " ) . toString ( ) ) ) ;
else
stmt . setNull ( 13 , Types . DOUBLE ) ;
result . bio_hectare = obj . get ( " examination_area " ) . toString ( ) ;
//Площадь заселения
if ( obj . has ( " settlement_area " ) & & ! obj . isNull ( " settlement_area " ) )
stmt . setDouble ( 14 , Double . parseDouble ( obj . get ( " settlement_area " ) . toString ( ) ) ) ;
else
stmt . setNull ( 14 , Types . DOUBLE ) ;
result . locust_populated = obj . get ( " settlement_area " ) . toString ( ) ;
boolean eggs = false ; // Яйца
boolean hoppers = false ; // Личинки
boolean bands = false ; // Кулиги
boolean adults = false ; // Имаго
boolean swarms = false ; // Стаи
if ( obj . has ( " development_stage " ) & & ! obj . isNull ( " development_stage " ) ) {
if ( obj . getString ( " development_stage " ) . equals ( " Яйца " ) ) eggs = true ;
if ( obj . getString ( " development_stage " ) . equals ( " Личинки " ) | | obj . getString ( " development_stage " ) . equals ( " Заселенность личинками " ) | | obj . getString ( " development_stage " ) . equals ( " Личинка " ) )
hoppers = true ;
if ( obj . getString ( " development_stage " ) . equals ( " Кулиги " ) ) bands = true ;
if ( obj . getString ( " development_stage " ) . equals ( " Имаго " ) ) adults = true ;
if ( obj . getString ( " development_stage " ) . equals ( " Стаи " ) ) swarms = true ;
}
if ( eggs )
if ( ! obj . isNull ( " development_stage " ) & & ! obj . optString ( " development_stage " , " " ) . isBlank ( ) ) {
switch ( obj . getString ( " development_stage " ) ) {
case " Яйца " :
result . eggs = " true " ;
//stmt.setBoolean(16, true);
if ( hoppers )
result . hoppers = " true " ;
//stmt.setBoolean(17, true);
if ( bands )
result . bands = " true " ;
//stmt.setBoolean(18, true);
if ( adults )
result . adults = " true " ;
//stmt.setBoolean(19, true);
if ( swarms )
break ;
case " Личинки " , " Заселенность личинками " , " Личинка " , " личинки " , " личинка " , " 2-5 " , " дернасил " , " дернәсіл " , " дернасіл " , " дернәсілдері " :
result . larva = " true " ;
break ;
case " Кулиги " :
result . kuliguli = " true " ;
break ;
case " Имаго " :
result . imago = " true " ;
break ;
case " спаривание " , " шағылысу " :
result . imago = " true " ;
result . imago_copulation = " true " ;
break ;
case " жұмыртқа салу " , " тұқым " : //Кладка яиц
result . imago = " true " ;
result . imago_laying = " true " ;
break ;
case " спаривание и яйцекладка " , " Спаривания и яйцекладки " :
result . imago = " true " ;
result . imago_copulation = " true " ;
result . imago_laying = " true " ;
break ;
case " Стаи " , " Ұшу шағылысу " :
result . swarms = " true " ;
//stmt.setBoolean(20, true);
break ;
//default: закомментировал так как люди понаписали ерунды....
// System.out.println(obj.optString("development_stage",null));
// throw new CustomException(200, 10000, "Not find development_stage: " + obj.optString("development_stage",null), null, true);
}
}
result . description = " " ;
result . description + = " city: " + obj . getString ( " city " ) + " \ n " ;
if ( ! obj . isNull ( " message_type " ) ) {
result . description + = " message_type: " + obj . getString ( " message_type " ) + " \ n " ;
}
if ( obj . has ( " development_stage " ) & & ! obj . isNull ( " development_stage " ) )
result . description + = " stage: " + obj . getString ( " development_stage " ) + " \ n " ;
@@ -735,7 +422,6 @@ public class AcceptJSON implements ServletContextAware {
return result ;
}
//---------------------------------------------------------------------------
/**
* Пример запроса: http://127.0.0.1:8081/AcceptJSON но в теле нужно поменять строку "Year y = Year.of(2024);" а также номер дня
* @param user
@@ -873,7 +559,13 @@ public class AcceptJSON implements ServletContextAware {
JSONObject jsonObj = ( JSONObject ) o ;
FrmLocustModel locust = new FrmLocustModel ( ) ;
locust . date = jsonObj . getString ( " date " ) ;
try {
DateTimeFormatter formatter = DateTimeFormatter . ofPattern ( " dd.MM.yyyy HH:mm " ) ;
LocalDateTime dateTime = LocalDateTime . parse ( jsonObj . getString ( " date " ) , formatter ) ;
locust . date = java . sql . Timestamp . valueOf ( dateTime ) ;
} catch ( Exception ex ) {
throw new CustomException ( 200 , 10000 , " Date error: " + jsonObj . optString ( " date " , " null " ) , null , true ) ;
}
String regionName = " " ;
if ( ! jsonObj . isNull ( " regionName " ) )
@@ -1203,7 +895,7 @@ public class AcceptJSON implements ServletContextAware {
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 . setTimestamp ( 8 , locust . date ) ; //27.04.2020 09:17
stmt . setString ( 9 , locust . description ) ;
stmt . setString ( 10 , locust . drawPolygon ) ;
@@ -1528,7 +1220,7 @@ public class AcceptJSON implements ServletContextAware {
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 . setTimestamp ( 8 , locust . date ) ;
stmt . setString ( 9 , locust . description ) ;
stmt . setString ( 10 , locust . drawPolygon ) ;
stmt . setInt ( 11 , Integer . parseInt ( locust . locust_type_id ) ) ;
@@ -1800,7 +1492,6 @@ public class AcceptJSON implements ServletContextAware {
int count = 0 ;
if ( content ! = null & & ! content . isEmpty ( ) ) {
JSONArray jsonArray = new JSONArray ( content ) ;
for ( Object o : jsonArray ) {
JSONObject jsonObj = ( JSONObject ) o ;
@@ -1814,11 +1505,13 @@ public class AcceptJSON implements ServletContextAware {
System . out . println ( " count = " + count ) ;
}
} else {
throw new CustomException ( 200 , 10000 , " Data content uz is null " , null , true ) ;
}
//Save last download date
String insertSql = """
insert into integration.days_uz (date, count) values (:date, :count)
insert into integration.days_uz(date, count) values (:date, :count)
""" ;
MapSqlParameterSource insertParams = new MapSqlParameterSource ( ) ;
insertParams . addValue ( " date " , lastDate , Types . DATE ) ;
@@ -1951,7 +1644,14 @@ public class AcceptJSON implements ServletContextAware {
}
}
result . district = obj . optString ( " town_name " , null ) ;
result . date = obj . optString ( " date " , null ) ;
try {
DateTimeFormatter formatter = DateTimeFormatter . ISO_LOCAL_DATE_TIME ;
LocalDateTime dateTime = LocalDateTime . parse ( obj . getString ( " date " ) , formatter ) ;
result . date = java . sql . Timestamp . valueOf ( dateTime ) ;
} catch ( Exception ex ) {
throw new CustomException ( 200 , 10000 , " Date error: " + obj . optString ( " date " , " null " ) , null , true ) ;
}
result . bio_hectare = obj . optString ( " surveyed_area " , null ) ;
if ( ! obj . isNull ( " point " ) ) {