From 9f06a550fc4cc3485c15a5461926f5ac8cde4046 Mon Sep 17 00:00:00 2001 From: igor Date: Mon, 11 Aug 2025 07:20:50 +0500 Subject: [PATCH] Repair send threshold warnings for soil and air temperature --- org-ccalm-main.yml | 4 ++-- src/main/java/org/ccalm/main/SendWarning.java | 15 ++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/org-ccalm-main.yml b/org-ccalm-main.yml index 8b9683f..f73da5a 100644 --- a/org-ccalm-main.yml +++ b/org-ccalm-main.yml @@ -10,9 +10,9 @@ spring: application: name: org-ccalm-main 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://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 password: 309A86FF65A78FB428F4E38DFE35F730 driver-class-name: org.postgresql.Driver diff --git a/src/main/java/org/ccalm/main/SendWarning.java b/src/main/java/org/ccalm/main/SendWarning.java index 855f750..b8a76fb 100644 --- a/src/main/java/org/ccalm/main/SendWarning.java +++ b/src/main/java/org/ccalm/main/SendWarning.java @@ -147,7 +147,7 @@ public class SendWarning { JSONObject tmp_air = getAirTemperature(obj.getDouble("lat"),obj.getDouble("lon")); JSONObject tmp_soil = getSoilTemperature(obj.getDouble("lat"),obj.getDouble("lon")); - if(tmp_air!=null && obj.getBoolean("warn_air")) { + if(tmp_air!=null && obj.getBoolean("warn_air") && !obj.isNull("temperature_air")) { Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate); double value = obj.getDouble("temperature_air"); if (value < tmp_air.getDouble("value")) { @@ -169,7 +169,7 @@ public class SendWarning { .append("") .append("
") .append("

").append(trt.trt(true,"Warning")).append("

") - .append("

").append(trt.trt(true,"The_soil_temperature_has_exceeded_the_set_value")).append(": ").append(value).append("

") + .append("

").append(trt.trt(true,"The_air_temperature_has_exceeded_the_set_value")).append(": ").append(value).append("

") .append("") .append("") .append("") @@ -192,7 +192,9 @@ public class SendWarning { main.frmcheckpoints set warn_air=false - where uid=CAST(:uid AS uuid) + where + uid=CAST(:uid AS uuid) + and (warn_hold!=true or warn_hold is null) """; MapSqlParameterSource param = new MapSqlParameterSource(); param.addValue("uid", obj.getString("uid"), Types.VARCHAR); @@ -202,7 +204,7 @@ public class SendWarning { } } - if(tmp_soil!=null && obj.getBoolean("warn_soil")) { + if(tmp_soil!=null && obj.getBoolean("warn_soil") && !obj.isNull("temperature_soil")) { Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate); double value = obj.getDouble("temperature_soil"); if (value < tmp_soil.getDouble("value")) { @@ -247,7 +249,9 @@ public class SendWarning { main.frmcheckpoints set warn_soil=false - where uid=CAST(:uid AS uuid) + where + uid=CAST(:uid AS uuid) + and (warn_hold!=true or warn_hold is null) """; MapSqlParameterSource param = new MapSqlParameterSource(); param.addValue("uid", obj.getString("uid"), Types.VARCHAR); @@ -260,6 +264,7 @@ public class SendWarning { } catch (Exception ex) { String uuid = UUID.randomUUID().toString(); logger.error(MarkerFactory.getMarker(uuid),ex.getMessage(), ex); + result.put("error_code", 10000); } return new ResponseEntity<>(result, HttpStatus.OK); }
").append(trt.trt(true,"Date")).append("").append(tmp_air.getString("date")).append("
").append(trt.trt(true,"Value")).append("").append(tmp_air.getDouble("value")).append(" °C