diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
index 75cb70b..11cf4e9 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
@@ -9,7 +9,7 @@
import com.casic.missiles.modular.system.model.*;
import com.casic.missiles.modular.system.service.IDeviceService;
import com.casic.missiles.modular.system.service.IWaterMeterDataService;
-import lombok.extern.java.Log;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -24,7 +24,7 @@
import java.util.Calendar;
import java.util.Map;
-@Log
+@Slf4j
@Controller
@RequestMapping("/meter")
public class WaterMeterDataReceiver extends BaseController {
@@ -59,6 +59,9 @@
return ResponseData.error("上报时间字段缺失");
}
+ log.debug("设备地址---"+meterData.get("MeterAddr"));
+ log.debug("水表读数---"+meterData.get("MeterNumber"));
+ log.debug("上报时间---"+meterData.get("ReadDate"));
// 创建原始记录对象
DataWaterMeter dataWaterMeter = new DataWaterMeter();
@@ -120,7 +123,7 @@
String jobId=alarmRecordsService.isOldAlarmRecord(meterAddr, "日用水量超阈值报警");
if (!StringUtils.isEmpty(jobId)) {
alarmRecordsService.updateOldAlarmRecord(meterAddr, "日用水量超阈值报警");
- alarmRecord.setAlarmMessage(jobId);
+ alarmRecord.setJobId(Long.valueOf(jobId));
} else {
AlarmJob alarmJob = alarmJobService.saveData(meterAddr, wellDto.getWellCode(), "QLCX", "1");
alarmRecord.setJobId(alarmJob.getId());
@@ -144,7 +147,7 @@
String jobId=alarmRecordsService.isOldAlarmRecord(meterAddr, "日用水量超阈值报警");
if (!StringUtils.isEmpty(jobId)) {
alarmRecordsService.updateOldAlarmRecord(meterAddr, "日用水量超阈值报警");
- alarmRecord.setAlarmMessage(jobId);
+ alarmRecord.setJobId(Long.valueOf(jobId));
} else {
AlarmJob alarmJob = alarmJobService.saveData(meterAddr, wellDto.getWellCode(), "QLCX", "1");
alarmRecord.setJobId(alarmJob.getId());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
index 75cb70b..11cf4e9 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
@@ -9,7 +9,7 @@
import com.casic.missiles.modular.system.model.*;
import com.casic.missiles.modular.system.service.IDeviceService;
import com.casic.missiles.modular.system.service.IWaterMeterDataService;
-import lombok.extern.java.Log;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -24,7 +24,7 @@
import java.util.Calendar;
import java.util.Map;
-@Log
+@Slf4j
@Controller
@RequestMapping("/meter")
public class WaterMeterDataReceiver extends BaseController {
@@ -59,6 +59,9 @@
return ResponseData.error("上报时间字段缺失");
}
+ log.debug("设备地址---"+meterData.get("MeterAddr"));
+ log.debug("水表读数---"+meterData.get("MeterNumber"));
+ log.debug("上报时间---"+meterData.get("ReadDate"));
// 创建原始记录对象
DataWaterMeter dataWaterMeter = new DataWaterMeter();
@@ -120,7 +123,7 @@
String jobId=alarmRecordsService.isOldAlarmRecord(meterAddr, "日用水量超阈值报警");
if (!StringUtils.isEmpty(jobId)) {
alarmRecordsService.updateOldAlarmRecord(meterAddr, "日用水量超阈值报警");
- alarmRecord.setAlarmMessage(jobId);
+ alarmRecord.setJobId(Long.valueOf(jobId));
} else {
AlarmJob alarmJob = alarmJobService.saveData(meterAddr, wellDto.getWellCode(), "QLCX", "1");
alarmRecord.setJobId(alarmJob.getId());
@@ -144,7 +147,7 @@
String jobId=alarmRecordsService.isOldAlarmRecord(meterAddr, "日用水量超阈值报警");
if (!StringUtils.isEmpty(jobId)) {
alarmRecordsService.updateOldAlarmRecord(meterAddr, "日用水量超阈值报警");
- alarmRecord.setAlarmMessage(jobId);
+ alarmRecord.setJobId(Long.valueOf(jobId));
} else {
AlarmJob alarmJob = alarmJobService.saveData(meterAddr, wellDto.getWellCode(), "QLCX", "1");
alarmRecord.setJobId(alarmJob.getId());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml
index 0b1650e..40d303a 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml
@@ -48,7 +48,7 @@
FROM alarm_records ar
LEFT JOIN alarm_job aj ON ar.JOB_ID = aj.ID
LEFT JOIN bus_well_info bwi ON ar.WELL_CODE = bwi.WELL_CODE
- WHERE 1=1
+ WHERE ar.JOB_ID >0
AND ar.STATUS = #{status}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
index 75cb70b..11cf4e9 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataReceiver.java
@@ -9,7 +9,7 @@
import com.casic.missiles.modular.system.model.*;
import com.casic.missiles.modular.system.service.IDeviceService;
import com.casic.missiles.modular.system.service.IWaterMeterDataService;
-import lombok.extern.java.Log;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -24,7 +24,7 @@
import java.util.Calendar;
import java.util.Map;
-@Log
+@Slf4j
@Controller
@RequestMapping("/meter")
public class WaterMeterDataReceiver extends BaseController {
@@ -59,6 +59,9 @@
return ResponseData.error("上报时间字段缺失");
}
+ log.debug("设备地址---"+meterData.get("MeterAddr"));
+ log.debug("水表读数---"+meterData.get("MeterNumber"));
+ log.debug("上报时间---"+meterData.get("ReadDate"));
// 创建原始记录对象
DataWaterMeter dataWaterMeter = new DataWaterMeter();
@@ -120,7 +123,7 @@
String jobId=alarmRecordsService.isOldAlarmRecord(meterAddr, "日用水量超阈值报警");
if (!StringUtils.isEmpty(jobId)) {
alarmRecordsService.updateOldAlarmRecord(meterAddr, "日用水量超阈值报警");
- alarmRecord.setAlarmMessage(jobId);
+ alarmRecord.setJobId(Long.valueOf(jobId));
} else {
AlarmJob alarmJob = alarmJobService.saveData(meterAddr, wellDto.getWellCode(), "QLCX", "1");
alarmRecord.setJobId(alarmJob.getId());
@@ -144,7 +147,7 @@
String jobId=alarmRecordsService.isOldAlarmRecord(meterAddr, "日用水量超阈值报警");
if (!StringUtils.isEmpty(jobId)) {
alarmRecordsService.updateOldAlarmRecord(meterAddr, "日用水量超阈值报警");
- alarmRecord.setAlarmMessage(jobId);
+ alarmRecord.setJobId(Long.valueOf(jobId));
} else {
AlarmJob alarmJob = alarmJobService.saveData(meterAddr, wellDto.getWellCode(), "QLCX", "1");
alarmRecord.setJobId(alarmJob.getId());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml
index 0b1650e..40d303a 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordsMapper.xml
@@ -48,7 +48,7 @@
FROM alarm_records ar
LEFT JOIN alarm_job aj ON ar.JOB_ID = aj.ID
LEFT JOIN bus_well_info bwi ON ar.WELL_CODE = bwi.WELL_CODE
- WHERE 1=1
+ WHERE ar.JOB_ID >0
AND ar.STATUS = #{status}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java
index 8405ae4..030e4d6 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java
@@ -4,21 +4,16 @@
import com.casic.missiles.modular.system.dao.DataWaterMeterMapper;
import com.casic.missiles.modular.system.model.DataWaterMeter;
import com.casic.missiles.modular.system.service.IWaterMeterDataService;
-import lombok.extern.java.Log;
-import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomUtils;
-import org.hswebframework.utils.RandomUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
-import java.time.DateTimeException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
-import java.util.Random;
@Service
@Slf4j
@@ -30,7 +25,10 @@
@Override
@Transactional
- public double saveWaterMeterData(DataWaterMeter dataWaterMeter) {
+ public double
+
+
+ saveWaterMeterData(DataWaterMeter dataWaterMeter) {
dataWaterMeter.setPressure(Double.valueOf(df2.format(RandomUtils.nextDouble(0.14, 0.3))));
// 用于返回的日用水量
@@ -171,7 +169,7 @@
waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7));
if (lastDay.get(Calendar.DATE) == 1) {
// 是每月的第一天 则新增月用水量
- waterMeterMonth.put("flowAccMonth",df2.format(Double.parseDouble(waterMeterDay.get("flowAccDate").toString())));
+ waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(waterMeterDay.get("flowAccDate").toString())));
waterMeterMonth.put("firstAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * i));
waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
@@ -183,18 +181,19 @@
waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id"));
} else {
- waterMeterMonth.put("flowAccMonth",df2.format(Double.parseDouble(waterMeterDay.get("flowAccDate").toString())));
+ waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(waterMeterDay.get("flowAccDate").toString())));
waterMeterMonth.put("firstAcc", 0.00);
waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
}
}
}
- if (dayDelta > 0) {
+ if (dayDelta > 0&&monthExist!=null) {
//修正月统计最后的累计
Double lastTimeDiff = avgFlowAccDay + Double.valueOf(dayDelta * 24 - dateHour) / 24 * avgFlowAccDay;
//修正月统计最后的累计
- Double flowMonth = lastDay.get(Calendar.DATE) == 1 ? lastTimeDiff : Double.parseDouble(monthExist.get("flowAccMonth").toString()) + lastTimeDiff;
+ Double flowMonth = lastDay.get(Calendar.DATE) == 1 ? lastTimeDiff :
+ monthExist == null ? 0.0 : Double.parseDouble(monthExist.get("flowAccMonth").toString()) + lastTimeDiff;
//更新最后月累计量
waterMeterMonth.put("flowAccMonth", df2.format(flowMonth));
this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id"));