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"));