调整普倍思设备为自动化
This commit is contained in:
parent
5c5af49668
commit
5c74970672
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
@ -197,6 +198,13 @@ public class SurvDeviceDeploy extends Model<SurvDeviceDeploy> {
|
||||||
@TableField("SURV_CONFIG_ID")
|
@TableField("SURV_CONFIG_ID")
|
||||||
private String survConfigId;
|
private String survConfigId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备配置串
|
||||||
|
*/
|
||||||
|
@TableField("DEVICE_CONFIG")
|
||||||
|
@ApiModelProperty(value = "设备配置串")
|
||||||
|
private String deviceConfig;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Serializable pkVal() {
|
protected Serializable pkVal() {
|
||||||
return this.id;
|
return this.id;
|
||||||
|
|
|
||||||
|
|
@ -94,8 +94,8 @@ public class SurvTransdataAir extends Model<SurvTransdataAir> {
|
||||||
/**
|
/**
|
||||||
* 站点ID
|
* 站点ID
|
||||||
*/
|
*/
|
||||||
// @TableField("STATION_ID")
|
@TableField("STATION_ID")
|
||||||
// private String stationId;
|
private String stationId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备ID
|
* 设备ID
|
||||||
|
|
@ -106,8 +106,8 @@ public class SurvTransdataAir extends Model<SurvTransdataAir> {
|
||||||
/**
|
/**
|
||||||
* 站点编号
|
* 站点编号
|
||||||
*/
|
*/
|
||||||
// @TableField("STATION_CODE")
|
@TableField("STATION_CODE")
|
||||||
// private String stationCode;
|
private String stationCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备编号
|
* 设备编号
|
||||||
|
|
@ -124,14 +124,14 @@ public class SurvTransdataAir extends Model<SurvTransdataAir> {
|
||||||
/**
|
/**
|
||||||
* 站点名称
|
* 站点名称
|
||||||
*/
|
*/
|
||||||
// @TableField("STATION_NAME")
|
@TableField("STATION_NAME")
|
||||||
// private String stationName;
|
private String stationName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备名称
|
* 设备名称
|
||||||
*/
|
*/
|
||||||
// @TableField("DEVICE_NAME")
|
@TableField("DEVICE_NAME")
|
||||||
// private String deviceName;
|
private String deviceName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户号
|
* 租户号
|
||||||
|
|
|
||||||
|
|
@ -221,8 +221,8 @@ public class SurvTransdataSoil extends Model<SurvTransdataSoil> {
|
||||||
/**
|
/**
|
||||||
* 站点ID
|
* 站点ID
|
||||||
*/
|
*/
|
||||||
// @TableField("STATION_ID")
|
@TableField("STATION_ID")
|
||||||
// private String stationId;
|
private String stationId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备ID
|
* 设备ID
|
||||||
|
|
@ -233,8 +233,8 @@ public class SurvTransdataSoil extends Model<SurvTransdataSoil> {
|
||||||
/**
|
/**
|
||||||
* 站点编号
|
* 站点编号
|
||||||
*/
|
*/
|
||||||
// @TableField("STATION_CODE")
|
@TableField("STATION_CODE")
|
||||||
// private String stationCode;
|
private String stationCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备编号
|
* 设备编号
|
||||||
|
|
@ -251,14 +251,15 @@ public class SurvTransdataSoil extends Model<SurvTransdataSoil> {
|
||||||
/**
|
/**
|
||||||
* 站点名称
|
* 站点名称
|
||||||
*/
|
*/
|
||||||
// @TableField("STATION_NAME")
|
@TableField("STATION_NAME")
|
||||||
// private String stationName;
|
private String stationName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备名称
|
* 设备名称
|
||||||
*/
|
*/
|
||||||
// @TableField("DEVICE_NAME")
|
@TableField("DEVICE_NAME")
|
||||||
// private String deviceName;
|
private String deviceName;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户号
|
* 租户号
|
||||||
|
|
@ -309,6 +310,10 @@ public class SurvTransdataSoil extends Model<SurvTransdataSoil> {
|
||||||
private String deployId;
|
private String deployId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Serializable pkVal() {
|
protected Serializable pkVal() {
|
||||||
return this.id;
|
return this.id;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
package com.lanhai.o.iot.pbs;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ResolvConfig {
|
||||||
|
List<ResolveConfigDetail> resolvConfig;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.lanhai.o.iot.pbs;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ResolveConfigDetail {
|
||||||
|
/**
|
||||||
|
* 索引
|
||||||
|
*/
|
||||||
|
private String index;
|
||||||
|
/**
|
||||||
|
* 报文取值范围
|
||||||
|
*/
|
||||||
|
private String range;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实体字段
|
||||||
|
*/
|
||||||
|
private String field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序
|
||||||
|
*/
|
||||||
|
private Integer sortNo;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
package com.lanhai.o.iot.pbs;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 普倍思解析实体
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class WaterCommonTransVo {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据ID
|
||||||
|
*/
|
||||||
|
private String dataId;
|
||||||
|
|
||||||
|
private String deployCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总磷
|
||||||
|
*/
|
||||||
|
private String dataWaterTp;
|
||||||
|
private String dataWaterTpSy;
|
||||||
|
private String dataWaterTpLd;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总氮
|
||||||
|
*/
|
||||||
|
private String dataWaterTn;
|
||||||
|
private String dataWaterTnSy;
|
||||||
|
private String dataWaterTnLd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 硝态氮
|
||||||
|
*/
|
||||||
|
private String dataWaterNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 氨氮
|
||||||
|
*/
|
||||||
|
private String dataWaterNh;
|
||||||
|
private String dataWaterNhSy;
|
||||||
|
private String dataWaterNhLd;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 化学需氧量
|
||||||
|
*/
|
||||||
|
private String dataWaterCod;
|
||||||
|
private String dataWaterCodSy;
|
||||||
|
private String dataWaterCodLd;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private String fluidLevel;//液位
|
||||||
|
private String firstValveStatus;//1#球阀状态
|
||||||
|
private String secondValveStatus;//2#球阀状态
|
||||||
|
private String crashStopStatus;//急停状态
|
||||||
|
private String waterPumpStatus;//水泵状态
|
||||||
|
private String mainSideStatus;//主副泵状态
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据更新时间
|
||||||
|
*/
|
||||||
|
private Date dataDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据获取类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据
|
||||||
|
*/
|
||||||
|
private String dataGatherType;
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.lanhai.service;
|
package com.lanhai.service;
|
||||||
|
|
||||||
|
import com.lanhai.entity.SurvDeviceDeploy;
|
||||||
import com.lanhai.entity.SurvTransdataLivestockwater;
|
import com.lanhai.entity.SurvTransdataLivestockwater;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.lanhai.entity.SurvTransdataOrientwater;
|
import com.lanhai.entity.SurvTransdataOrientwater;
|
||||||
|
|
@ -13,7 +14,7 @@ public interface ISurvTransdataLivestockwaterService extends IService<SurvTransd
|
||||||
|
|
||||||
SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode);
|
SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode);
|
||||||
|
|
||||||
void saveBaowen(String str);
|
void saveBaowen(String str, SurvDeviceDeploy deploy);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.lanhai.service;
|
package com.lanhai.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.lanhai.entity.SurvDeviceDeploy;
|
||||||
import com.lanhai.entity.SurvTransdataOrientwater;
|
import com.lanhai.entity.SurvTransdataOrientwater;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -14,7 +15,7 @@ public interface ISurvTransdataOrientwaterService extends IService<SurvTransdata
|
||||||
|
|
||||||
SurvTransdataOrientwater getOneByDeviceCode(String deviceCode);
|
SurvTransdataOrientwater getOneByDeviceCode(String deviceCode);
|
||||||
|
|
||||||
void saveBaowen(String str);
|
void saveBaowen(String str, SurvDeviceDeploy deploy);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.lanhai.service.ISurvAlertRecordService;
|
||||||
import com.lanhai.service.ISurvDeviceDeployService;
|
import com.lanhai.service.ISurvDeviceDeployService;
|
||||||
import com.lanhai.service.ISurvStationInfoService;
|
import com.lanhai.service.ISurvStationInfoService;
|
||||||
import com.lanhai.util.DataUtil;
|
import com.lanhai.util.DataUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -29,6 +30,7 @@ import java.util.*;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
public class SurvAlertRecordServiceImpl extends ServiceImpl<SurvAlertRecordMapper, SurvAlertRecord> implements ISurvAlertRecordService {
|
public class SurvAlertRecordServiceImpl extends ServiceImpl<SurvAlertRecordMapper, SurvAlertRecord> implements ISurvAlertRecordService {
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -128,6 +130,10 @@ public class SurvAlertRecordServiceImpl extends ServiceImpl<SurvAlertRecordMappe
|
||||||
for (String key : zhibiaomap.keySet()) {
|
for (String key : zhibiaomap.keySet()) {
|
||||||
//获取报文中某个指标的数据
|
//获取报文中某个指标的数据
|
||||||
String baowenVal = baowenMap.get(key);
|
String baowenVal = baowenMap.get(key);
|
||||||
|
if(StringUtils.isBlank(baowenVal)){
|
||||||
|
log.error("**********设备:{},编号:{},监测项:{}未在报文中出现,跳过************",deviceDeploy.getDeployDes(),deviceDeploy.getDeployCode(),baowenVal);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
//获取某个指标的阈值
|
//获取某个指标的阈值
|
||||||
JSONObject jsonObject = zhibiaomap.get(key);
|
JSONObject jsonObject = zhibiaomap.get(key);
|
||||||
Set<String> set = jsonObject.keySet();
|
Set<String> set = jsonObject.keySet();
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,11 @@ package com.lanhai.service.Impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.lanhai.constant.PollutionConstants;
|
import com.lanhai.constant.PollutionConstants;
|
||||||
import com.lanhai.entity.ScEquZhibiao;
|
import com.lanhai.entity.*;
|
||||||
import com.lanhai.entity.SurvDeviceDeploy;
|
|
||||||
import com.lanhai.entity.SurvHisdataLivestockwater;
|
|
||||||
import com.lanhai.entity.SurvTransdataLivestockwater;
|
|
||||||
import com.lanhai.mapper.SurvHisdataLivestockwaterMapper;
|
import com.lanhai.mapper.SurvHisdataLivestockwaterMapper;
|
||||||
import com.lanhai.service.ISurvHisdataLivestockwaterService;
|
import com.lanhai.service.ISurvHisdataLivestockwaterService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.lanhai.service.ISurvStationInfoService;
|
||||||
import com.lanhai.util.BigDecimalRandomAdjuster;
|
import com.lanhai.util.BigDecimalRandomAdjuster;
|
||||||
import com.lanhai.util.DateUtils;
|
import com.lanhai.util.DateUtils;
|
||||||
import com.lanhai.util.SpringBeanUtils;
|
import com.lanhai.util.SpringBeanUtils;
|
||||||
|
|
@ -40,6 +38,10 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdat
|
||||||
@Lazy
|
@Lazy
|
||||||
private ScEquZhibiaoServiceImpl zhibiaoService;
|
private ScEquZhibiaoServiceImpl zhibiaoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private ISurvStationInfoService survStationInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SurvTransdataLivestockwater genData(SurvDeviceDeploy deploy) {
|
public SurvTransdataLivestockwater genData(SurvDeviceDeploy deploy) {
|
||||||
String deployCode = deploy.getDeployCode();
|
String deployCode = deploy.getDeployCode();
|
||||||
|
|
@ -155,6 +157,17 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdat
|
||||||
hisdataLivestockwater.setCrashStopStatus("0");
|
hisdataLivestockwater.setCrashStopStatus("0");
|
||||||
hisdataLivestockwater.setWaterPumpStatus("0");
|
hisdataLivestockwater.setWaterPumpStatus("0");
|
||||||
hisdataLivestockwater.setMainSideStatus("0");
|
hisdataLivestockwater.setMainSideStatus("0");
|
||||||
|
|
||||||
|
hisdataLivestockwater.setDeviceId(deploy.getId());
|
||||||
|
hisdataLivestockwater.setDeviceName(deploy.getDeployDes());
|
||||||
|
hisdataLivestockwater.setStationCode(deploy.getStationCode());
|
||||||
|
if(StringUtils.isNotBlank(deploy.getStationCode())){
|
||||||
|
SurvStationInfo info = survStationInfoService.getByCode(deploy.getStationCode());
|
||||||
|
if(info!=null){
|
||||||
|
hisdataLivestockwater.setStationName(info.getStationName());
|
||||||
|
hisdataLivestockwater.setStationId(info.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
save(hisdataLivestockwater);
|
save(hisdataLivestockwater);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,12 @@ package com.lanhai.service.Impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.lanhai.constant.PollutionConstants;
|
import com.lanhai.constant.PollutionConstants;
|
||||||
import com.lanhai.entity.ScEquZhibiao;
|
import com.lanhai.entity.*;
|
||||||
import com.lanhai.entity.SurvDeviceDeploy;
|
|
||||||
import com.lanhai.entity.SurvHisdataOrientwater;
|
|
||||||
import com.lanhai.entity.SurvTransdataOrientwater;
|
|
||||||
import com.lanhai.mapper.SurvHisdataOrientwaterMapper;
|
import com.lanhai.mapper.SurvHisdataOrientwaterMapper;
|
||||||
import com.lanhai.mapper.SurvTransdataOrientwaterMapper;
|
import com.lanhai.mapper.SurvTransdataOrientwaterMapper;
|
||||||
import com.lanhai.service.ISurvHisdataOrientwaterService;
|
import com.lanhai.service.ISurvHisdataOrientwaterService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.lanhai.service.ISurvStationInfoService;
|
||||||
import com.lanhai.service.ISurvTransdataOrientwaterService;
|
import com.lanhai.service.ISurvTransdataOrientwaterService;
|
||||||
import com.lanhai.util.BigDecimalRandomAdjuster;
|
import com.lanhai.util.BigDecimalRandomAdjuster;
|
||||||
import com.lanhai.util.DateUtils;
|
import com.lanhai.util.DateUtils;
|
||||||
|
|
@ -48,6 +46,10 @@ public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOr
|
||||||
@Lazy
|
@Lazy
|
||||||
private ScEquZhibiaoServiceImpl zhibiaoService;
|
private ScEquZhibiaoServiceImpl zhibiaoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private ISurvStationInfoService survStationInfoService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SurvTransdataOrientwater genData(SurvDeviceDeploy deploy) {
|
public SurvTransdataOrientwater genData(SurvDeviceDeploy deploy) {
|
||||||
|
|
@ -175,6 +177,18 @@ public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOr
|
||||||
hisdataOrientwater.setCrashStopStatus("0");
|
hisdataOrientwater.setCrashStopStatus("0");
|
||||||
hisdataOrientwater.setWaterPumpStatus("0");
|
hisdataOrientwater.setWaterPumpStatus("0");
|
||||||
hisdataOrientwater.setMainSideStatus("0");
|
hisdataOrientwater.setMainSideStatus("0");
|
||||||
|
|
||||||
|
hisdataOrientwater.setDeviceId(deploy.getId());
|
||||||
|
hisdataOrientwater.setDeviceName(deploy.getDeployDes());
|
||||||
|
hisdataOrientwater.setStationCode(deploy.getStationCode());
|
||||||
|
if(StringUtils.isNotBlank(deploy.getStationCode())){
|
||||||
|
SurvStationInfo info = survStationInfoService.getByCode(deploy.getStationCode());
|
||||||
|
if(info!=null){
|
||||||
|
hisdataOrientwater.setStationName(info.getStationName());
|
||||||
|
hisdataOrientwater.setStationId(info.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
save(hisdataOrientwater);
|
save(hisdataOrientwater);
|
||||||
|
|
||||||
BeanUtil.copyProperties(hisdataOrientwater, newestData);
|
BeanUtil.copyProperties(hisdataOrientwater, newestData);
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ import cn.hutool.core.util.IdUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.lanhai.entity.*;
|
import com.lanhai.entity.*;
|
||||||
import com.lanhai.mapper.SurvTransdataLivestockwaterMapper;
|
import com.lanhai.mapper.SurvTransdataLivestockwaterMapper;
|
||||||
|
import com.lanhai.o.iot.pbs.WaterCommonTransVo;
|
||||||
import com.lanhai.service.ISurvAlertRecordService;
|
import com.lanhai.service.ISurvAlertRecordService;
|
||||||
import com.lanhai.service.ISurvHisdataLivestockwaterService;
|
import com.lanhai.service.ISurvHisdataLivestockwaterService;
|
||||||
import com.lanhai.service.ISurvTransdataLivestockwaterService;
|
import com.lanhai.service.ISurvTransdataLivestockwaterService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.lanhai.util.DataUtil;
|
import com.lanhai.util.DataUtil;
|
||||||
|
import com.lanhai.util.TUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -39,7 +41,8 @@ public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl<SurvTran
|
||||||
private ISurvAlertRecordService alertRecordService;
|
private ISurvAlertRecordService alertRecordService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SurvHisdataLivestockwaterErrorServiceImpl hisdataLivestockwaterErrorService;
|
private SurvHisdataLivestockwaterErrorServiceImpl hisdataLivestockwaterErrorService;
|
||||||
|
@Autowired
|
||||||
|
private SurvStationInfoServiceImpl survStationInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode) {
|
public SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode) {
|
||||||
|
|
@ -50,9 +53,12 @@ public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl<SurvTran
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void saveBaowen(String str) {
|
public void saveBaowen(String str,SurvDeviceDeploy deploy) {
|
||||||
try {
|
try {
|
||||||
SurvTransdataLivestockwater livestockwater = DataUtil.strToLivewater(str);
|
// SurvTransdataLivestockwater livestockwater = DataUtil.strToLivewater(str);
|
||||||
|
SurvTransdataLivestockwater livestockwater = new SurvTransdataLivestockwater();
|
||||||
|
WaterCommonTransVo waterCommonTransVo = DataUtil.strToWaterTrans(str,deploy);
|
||||||
|
BeanUtil.copyProperties(waterCommonTransVo,livestockwater);
|
||||||
//保存或者更新实时表
|
//保存或者更新实时表
|
||||||
SurvTransdataLivestockwater transdataLivestockwater = getOneByDeviceCode(livestockwater.getDeployCode());
|
SurvTransdataLivestockwater transdataLivestockwater = getOneByDeviceCode(livestockwater.getDeployCode());
|
||||||
if(transdataLivestockwater == null){
|
if(transdataLivestockwater == null){
|
||||||
|
|
@ -64,6 +70,19 @@ public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl<SurvTran
|
||||||
}
|
}
|
||||||
transdataLivestockwater.setCreatedBy("wb");//创建人
|
transdataLivestockwater.setCreatedBy("wb");//创建人
|
||||||
transdataLivestockwater.setCreateTime(new Date());//创建时间
|
transdataLivestockwater.setCreateTime(new Date());//创建时间
|
||||||
|
|
||||||
|
transdataLivestockwater.setDeviceId(deploy.getId());
|
||||||
|
transdataLivestockwater.setDeviceName(deploy.getDeployDes());
|
||||||
|
if(StringUtils.isNotBlank(deploy.getStationCode())){
|
||||||
|
SurvStationInfo info = survStationInfoService.getByCode(deploy.getStationCode());
|
||||||
|
if(info!=null){
|
||||||
|
transdataLivestockwater.setStationCode(info.getStationCode());
|
||||||
|
transdataLivestockwater.setStationName(info.getStationName());
|
||||||
|
transdataLivestockwater.setStationId(info.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//舍弃为空、负数、无意义的长串类数据
|
//舍弃为空、负数、无意义的长串类数据
|
||||||
boolean isok = true;
|
boolean isok = true;
|
||||||
if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterTp())){
|
if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterTp())){
|
||||||
|
|
@ -80,6 +99,13 @@ public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl<SurvTran
|
||||||
}else{
|
}else{
|
||||||
isok =false;
|
isok =false;
|
||||||
}
|
}
|
||||||
|
if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterNo())){
|
||||||
|
if(transdataLivestockwater.getDataWaterNo().contains("-") || transdataLivestockwater.getDataWaterNo().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterNo())){
|
||||||
|
isok =false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
isok =false;
|
||||||
|
}
|
||||||
if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterNh())){
|
if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterNh())){
|
||||||
if(transdataLivestockwater.getDataWaterNh().contains("-") || transdataLivestockwater.getDataWaterNh().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterNh()) ){
|
if(transdataLivestockwater.getDataWaterNh().contains("-") || transdataLivestockwater.getDataWaterNh().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterNh()) ){
|
||||||
isok =false;
|
isok =false;
|
||||||
|
|
@ -109,15 +135,13 @@ public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl<SurvTran
|
||||||
Map<String, String> baowenMap = new HashMap<String, String>();
|
Map<String, String> baowenMap = new HashMap<String, String>();
|
||||||
baowenMap.put("mn", transdataLivestockwater.getDeployCode());
|
baowenMap.put("mn", transdataLivestockwater.getDeployCode());
|
||||||
baowenMap.put("DataTime", dataDateTimeStr);
|
baowenMap.put("DataTime", dataDateTimeStr);
|
||||||
baowenMap.put("e1", transdataLivestockwater.getDataWaterTp());
|
Map<String, String> dataMap = TUtil.getAllKeyValuePairs(transdataLivestockwater);
|
||||||
baowenMap.put("e2", transdataLivestockwater.getDataWaterTpSy());
|
if(dataMap!=null && !dataMap.isEmpty()){
|
||||||
baowenMap.put("e3", transdataLivestockwater.getDataWaterTpLd());
|
baowenMap.putAll(dataMap);
|
||||||
baowenMap.put("e4", transdataLivestockwater.getDataWaterTn());
|
}
|
||||||
baowenMap.put("e5", transdataLivestockwater.getDataWaterTnSy());
|
alertRecordService.saveBaojingV2(baowenMap,deploy,null);
|
||||||
baowenMap.put("e6", transdataLivestockwater.getDataWaterTnLd());
|
}else{//无效数据进错误数据表
|
||||||
baowenMap.put("e7", transdataLivestockwater.getDataWaterNo());
|
log.error("xxxxxxxxx无效数据,转入错误数据表xxxxxxxxxx");
|
||||||
alertRecordService.saveBaojing(baowenMap);
|
|
||||||
}else{
|
|
||||||
SurvHisdataLivestockwaterError error = new SurvHisdataLivestockwaterError();
|
SurvHisdataLivestockwaterError error = new SurvHisdataLivestockwaterError();
|
||||||
BeanUtil.copyProperties(transdataLivestockwater, error);
|
BeanUtil.copyProperties(transdataLivestockwater, error);
|
||||||
hisdataLivestockwaterErrorService.save(error);
|
hisdataLivestockwaterErrorService.save(error);
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,14 @@ import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.lanhai.entity.SurvHisdataOrientwater;
|
import com.lanhai.entity.*;
|
||||||
import com.lanhai.entity.SurvHisdataOrientwaterError;
|
|
||||||
import com.lanhai.entity.SurvTransdataOrientwater;
|
|
||||||
import com.lanhai.mapper.SurvTransdataOrientwaterMapper;
|
import com.lanhai.mapper.SurvTransdataOrientwaterMapper;
|
||||||
|
import com.lanhai.o.iot.pbs.WaterCommonTransVo;
|
||||||
import com.lanhai.service.ISurvAlertRecordService;
|
import com.lanhai.service.ISurvAlertRecordService;
|
||||||
import com.lanhai.service.ISurvHisdataOrientwaterService;
|
import com.lanhai.service.ISurvHisdataOrientwaterService;
|
||||||
import com.lanhai.service.ISurvTransdataOrientwaterService;
|
import com.lanhai.service.ISurvTransdataOrientwaterService;
|
||||||
import com.lanhai.util.DataUtil;
|
import com.lanhai.util.DataUtil;
|
||||||
|
import com.lanhai.util.TUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -41,6 +41,8 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
|
||||||
private ISurvAlertRecordService alertRecordService;
|
private ISurvAlertRecordService alertRecordService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SurvHisdataOrientwaterErrorServiceImpl hisdataOrientwaterErrorService;
|
private SurvHisdataOrientwaterErrorServiceImpl hisdataOrientwaterErrorService;
|
||||||
|
@Autowired
|
||||||
|
private SurvStationInfoServiceImpl survStationInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SurvTransdataOrientwater getOneByDeviceCode(String deviceCode) {
|
public SurvTransdataOrientwater getOneByDeviceCode(String deviceCode) {
|
||||||
|
|
@ -51,10 +53,13 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void saveBaowen(String str) {
|
public void saveBaowen(String str, SurvDeviceDeploy deploy) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SurvTransdataOrientwater orientwater = DataUtil.strToOrientwater(str);
|
// SurvTransdataOrientwater orientwater = DataUtil.strToOrientwater(str);
|
||||||
|
SurvTransdataOrientwater orientwater = new SurvTransdataOrientwater();
|
||||||
|
WaterCommonTransVo waterCommonTransVo = DataUtil.strToWaterTrans(str,deploy);
|
||||||
|
BeanUtil.copyProperties(waterCommonTransVo,orientwater);
|
||||||
//保存或者更新实时表
|
//保存或者更新实时表
|
||||||
SurvTransdataOrientwater transdataOrientwater = getOneByDeviceCode(orientwater.getDeployCode());
|
SurvTransdataOrientwater transdataOrientwater = getOneByDeviceCode(orientwater.getDeployCode());
|
||||||
if(transdataOrientwater == null){
|
if(transdataOrientwater == null){
|
||||||
|
|
@ -66,6 +71,15 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
|
||||||
}
|
}
|
||||||
transdataOrientwater.setCreatedBy("wb");//创建人
|
transdataOrientwater.setCreatedBy("wb");//创建人
|
||||||
transdataOrientwater.setCreateTime(new Date());//创建时间
|
transdataOrientwater.setCreateTime(new Date());//创建时间
|
||||||
|
if(StringUtils.isNotBlank(deploy.getStationCode())){
|
||||||
|
SurvStationInfo info = survStationInfoService.getByCode(deploy.getStationCode());
|
||||||
|
if(info!=null){
|
||||||
|
transdataOrientwater.setStationCode(info.getStationCode());
|
||||||
|
transdataOrientwater.setStationName(info.getStationName());
|
||||||
|
transdataOrientwater.setStationId(info.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//舍弃为空、负数、无意义的长串类数据
|
//舍弃为空、负数、无意义的长串类数据
|
||||||
boolean isok = true;
|
boolean isok = true;
|
||||||
if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterTp())){
|
if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterTp())){
|
||||||
|
|
@ -89,6 +103,22 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
|
||||||
}else{
|
}else{
|
||||||
isok =false;
|
isok =false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterNh())){
|
||||||
|
if(transdataOrientwater.getDataWaterNh().contains("-") || transdataOrientwater.getDataWaterNh().length()>10 || "0.0000".equals(transdataOrientwater.getDataWaterNh()) ){
|
||||||
|
isok =false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
isok =false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterCod())){
|
||||||
|
if(transdataOrientwater.getDataWaterCod().contains("-") || transdataOrientwater.getDataWaterCod().length()>10 || "0.0000".equals(transdataOrientwater.getDataWaterCod()) ){
|
||||||
|
isok =false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
isok =false;
|
||||||
|
}
|
||||||
if(isok) {
|
if(isok) {
|
||||||
saveOrUpdate(transdataOrientwater);
|
saveOrUpdate(transdataOrientwater);
|
||||||
//保存历史表
|
//保存历史表
|
||||||
|
|
@ -103,15 +133,14 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
|
||||||
Map<String, String> baowenMap = new HashMap<String, String>();
|
Map<String, String> baowenMap = new HashMap<String, String>();
|
||||||
baowenMap.put("mn", transdataOrientwater.getDeployCode());
|
baowenMap.put("mn", transdataOrientwater.getDeployCode());
|
||||||
baowenMap.put("DataTime", dataDateTimeStr);
|
baowenMap.put("DataTime", dataDateTimeStr);
|
||||||
baowenMap.put("e1", transdataOrientwater.getDataWaterTp());
|
|
||||||
baowenMap.put("e2", transdataOrientwater.getDataWaterTpSy());
|
Map<String, String> dataMap = TUtil.getAllKeyValuePairs(transdataOrientwater);
|
||||||
baowenMap.put("e3", transdataOrientwater.getDataWaterTpLd());
|
if(dataMap!=null && !dataMap.isEmpty()){
|
||||||
baowenMap.put("e4", transdataOrientwater.getDataWaterTn());
|
baowenMap.putAll(dataMap);
|
||||||
baowenMap.put("e5", transdataOrientwater.getDataWaterTnSy());
|
}
|
||||||
baowenMap.put("e6", transdataOrientwater.getDataWaterTnLd());
|
alertRecordService.saveBaojingV2(baowenMap,deploy,null);
|
||||||
baowenMap.put("e7", transdataOrientwater.getDataWaterNo());
|
}else{//无效数据进错误数据表
|
||||||
alertRecordService.saveBaojing(baowenMap);
|
log.error("xxxxxxxxx无效数据,转入错误数据表xxxxxxxxxx");
|
||||||
}else{
|
|
||||||
SurvHisdataOrientwaterError survHisdataOrientwaterError =new SurvHisdataOrientwaterError();
|
SurvHisdataOrientwaterError survHisdataOrientwaterError =new SurvHisdataOrientwaterError();
|
||||||
BeanUtil.copyProperties(transdataOrientwater,survHisdataOrientwaterError);
|
BeanUtil.copyProperties(transdataOrientwater,survHisdataOrientwaterError);
|
||||||
survHisdataOrientwaterError.setTransDate(new Date());
|
survHisdataOrientwaterError.setTransDate(new Date());
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import com.lanhai.mapper.SurvTransdataSoilMapper;
|
||||||
import com.lanhai.service.*;
|
import com.lanhai.service.*;
|
||||||
import com.lanhai.util.TUtil;
|
import com.lanhai.util.TUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
@ -38,6 +39,8 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
|
||||||
private ISurvTransdataAirService transdataAirService;
|
private ISurvTransdataAirService transdataAirService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISurvHisdataAirService hisdataAirService;
|
private ISurvHisdataAirService hisdataAirService;
|
||||||
|
@Autowired
|
||||||
|
private ISurvStationInfoService survStationInfoService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -103,7 +106,22 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
|
||||||
soil.setTenantId(deploy.getTenantId());
|
soil.setTenantId(deploy.getTenantId());
|
||||||
|
|
||||||
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_SOIL.getType());
|
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_SOIL.getType());
|
||||||
soil.setDeployId(survDeviceDeploy!=null?survDeviceDeploy.getId():null);
|
|
||||||
|
|
||||||
|
|
||||||
|
if(survDeviceDeploy!=null){
|
||||||
|
soil.setDeployId(survDeviceDeploy.getId());
|
||||||
|
soil.setStationCode(survDeviceDeploy.getStationCode());
|
||||||
|
soil.setDeviceName(survDeviceDeploy.getDeployDes());
|
||||||
|
if(StringUtils.isNotBlank(survDeviceDeploy.getStationCode())){
|
||||||
|
SurvStationInfo survStationInfo = survStationInfoService.getByCode(survDeviceDeploy.getStationCode());
|
||||||
|
if(survStationInfo!=null) {
|
||||||
|
soil.setStationName(survStationInfo.getStationName());
|
||||||
|
soil.setStationId(survStationInfo.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
saveOrUpdate(soil);
|
saveOrUpdate(soil);
|
||||||
//更新设备的上次更新时间
|
//更新设备的上次更新时间
|
||||||
deviceDeployService.update(new LambdaUpdateWrapper<SurvDeviceDeploy>()
|
deviceDeployService.update(new LambdaUpdateWrapper<SurvDeviceDeploy>()
|
||||||
|
|
@ -166,7 +184,20 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
|
||||||
air.setTenantId(deploy.getTenantId());
|
air.setTenantId(deploy.getTenantId());
|
||||||
|
|
||||||
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_AIR.getType());
|
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_AIR.getType());
|
||||||
air.setDeployId(survDeviceDeploy!=null?survDeviceDeploy.getId():null);
|
|
||||||
|
if(survDeviceDeploy!=null){
|
||||||
|
air.setDeployId(survDeviceDeploy.getId());
|
||||||
|
air.setStationCode(survDeviceDeploy.getStationCode());
|
||||||
|
air.setDeviceName(survDeviceDeploy.getDeployDes());
|
||||||
|
if(StringUtils.isNotBlank(survDeviceDeploy.getStationCode())){
|
||||||
|
SurvStationInfo survStationInfo = survStationInfoService.getByCode(survDeviceDeploy.getStationCode());
|
||||||
|
if(survStationInfo!=null) {
|
||||||
|
air.setStationName(survStationInfo.getStationName());
|
||||||
|
air.setStationId(survStationInfo.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
transdataAirService.saveOrUpdate(air);
|
transdataAirService.saveOrUpdate(air);
|
||||||
//更新设备的上次更新时间
|
//更新设备的上次更新时间
|
||||||
deviceDeployService.update(new LambdaUpdateWrapper<SurvDeviceDeploy>()
|
deviceDeployService.update(new LambdaUpdateWrapper<SurvDeviceDeploy>()
|
||||||
|
|
@ -241,7 +272,19 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
|
||||||
soil.setTenantId(deploy.getTenantId());
|
soil.setTenantId(deploy.getTenantId());
|
||||||
|
|
||||||
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.WATER_QULITY.getType());
|
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.WATER_QULITY.getType());
|
||||||
soil.setDeployId(survDeviceDeploy!=null?survDeviceDeploy.getId():null);
|
if(survDeviceDeploy!=null){
|
||||||
|
soil.setDeployId(survDeviceDeploy.getId());
|
||||||
|
soil.setStationCode(survDeviceDeploy.getStationCode());
|
||||||
|
soil.setDeviceName(survDeviceDeploy.getDeployDes());
|
||||||
|
if(StringUtils.isNotBlank(survDeviceDeploy.getStationCode())){
|
||||||
|
SurvStationInfo survStationInfo = survStationInfoService.getByCode(survDeviceDeploy.getStationCode());
|
||||||
|
if(survStationInfo!=null) {
|
||||||
|
soil.setStationName(survStationInfo.getStationName());
|
||||||
|
soil.setStationId(survStationInfo.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
saveOrUpdate(soil);
|
saveOrUpdate(soil);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -304,7 +347,21 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
|
||||||
air.setDeployCode(mn);//设备编号
|
air.setDeployCode(mn);//设备编号
|
||||||
air.setTenantId(deploy.getTenantId());
|
air.setTenantId(deploy.getTenantId());
|
||||||
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_AIR.getType());
|
SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_AIR.getType());
|
||||||
air.setDeployId(survDeviceDeploy!=null?survDeviceDeploy.getId():null);
|
|
||||||
|
if(survDeviceDeploy!=null){
|
||||||
|
air.setDeployId(survDeviceDeploy.getId());
|
||||||
|
air.setStationCode(survDeviceDeploy.getStationCode());
|
||||||
|
air.setDeviceName(survDeviceDeploy.getDeployDes());
|
||||||
|
if(StringUtils.isNotBlank(survDeviceDeploy.getStationCode())){
|
||||||
|
SurvStationInfo survStationInfo = survStationInfoService.getByCode(survDeviceDeploy.getStationCode());
|
||||||
|
if(survStationInfo!=null) {
|
||||||
|
air.setStationName(survStationInfo.getStationName());
|
||||||
|
air.setStationId(survStationInfo.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
transdataAirService.saveOrUpdate(air);
|
transdataAirService.saveOrUpdate(air);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.lanhai.thread;
|
package com.lanhai.thread;
|
||||||
|
|
||||||
import com.lanhai.constant.CommonConstant;
|
import com.lanhai.constant.CommonConstant;
|
||||||
|
import com.lanhai.constant.PollutionConstants;
|
||||||
import com.lanhai.entity.SurvDeviceDeploy;
|
import com.lanhai.entity.SurvDeviceDeploy;
|
||||||
import com.lanhai.service.ISurvDeviceDeployService;
|
import com.lanhai.service.ISurvDeviceDeployService;
|
||||||
import com.lanhai.service.ISurvTransdataLivestockwaterService;
|
import com.lanhai.service.ISurvTransdataLivestockwaterService;
|
||||||
|
|
@ -51,33 +52,28 @@ public class ClentThread implements Runnable {
|
||||||
byte[] in2b = baos.toByteArray();
|
byte[] in2b = baos.toByteArray();
|
||||||
String s = DataUtil.bytesToHexString(in2b);
|
String s = DataUtil.bytesToHexString(in2b);
|
||||||
s = s.replaceAll(" ","");
|
s = s.replaceAll(" ","");
|
||||||
log.error("报文:"+s);
|
|
||||||
|
|
||||||
String substring = s.substring(2, 4);
|
String substring = s.substring(2, 4);
|
||||||
List<String> list = new ArrayList<>();
|
String code = CommonConstant.XZP_WATER+substring;
|
||||||
list.add("01");
|
log.error("===================收到tcp设备消息:{}===============",code);
|
||||||
list.add("02");
|
log.error("xxxxxxxxxxx{}原始报文:{}xxxxxxxxxxxxxxxxxx",code,s);
|
||||||
list.add("03");
|
|
||||||
list.add("04");
|
|
||||||
|
|
||||||
if(list.contains(substring)){
|
|
||||||
|
|
||||||
if("01".equals(substring) || "02".equals(substring)){
|
|
||||||
transdataOrientwaterService.saveBaowen(s);
|
|
||||||
}else if("03".equals(substring) || "04".equals(substring)){
|
|
||||||
transdataLivestockwaterService.saveBaowen(s);
|
|
||||||
}
|
|
||||||
String code = CommonConstant.XZP_WATER+s.substring(2,4);
|
|
||||||
log.error("code111:"+code);
|
|
||||||
SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(code);
|
SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(code);
|
||||||
|
|
||||||
if(deviceDeploy != null && (!hostAddress.equals(deviceDeploy.getIpAddr()) || !port.equals(deviceDeploy.getPort()))){
|
if(deviceDeploy != null && (!hostAddress.equals(deviceDeploy.getIpAddr()) || !port.equals(deviceDeploy.getPort()))){
|
||||||
|
if(PollutionConstants.WATER_ORIENT.equals(deviceDeploy.getDeployType())){
|
||||||
|
transdataOrientwaterService.saveBaowen(s,deviceDeploy);
|
||||||
|
} else if (PollutionConstants.WATER_LIVE.equals(deviceDeploy.getDeployType())) {
|
||||||
|
transdataLivestockwaterService.saveBaowen(s,deviceDeploy);
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新设备信息
|
||||||
deviceDeploy.setIpAddr(hostAddress);
|
deviceDeploy.setIpAddr(hostAddress);
|
||||||
deviceDeploy.setPort(port);
|
deviceDeploy.setPort(port);
|
||||||
deviceDeployService.updateById(deviceDeploy);
|
deviceDeployService.updateById(deviceDeploy);
|
||||||
log.error("更新了111:"+deviceDeploy.getId()+","+deviceDeploy.getIpAddr()+",prot:"+deviceDeploy.getPort());
|
log.error("============更新了设备信息:"+deviceDeploy.getId()+","+deviceDeploy.getIpAddr()+",prot:"+deviceDeploy.getPort());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
package com.lanhai.util;
|
package com.lanhai.util;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.lanhai.constant.CommonConstant;
|
import com.lanhai.constant.CommonConstant;
|
||||||
|
import com.lanhai.entity.SurvDeviceDeploy;
|
||||||
import com.lanhai.entity.SurvTransdataLivestockwater;
|
import com.lanhai.entity.SurvTransdataLivestockwater;
|
||||||
import com.lanhai.entity.SurvTransdataOrientwater;
|
import com.lanhai.entity.SurvTransdataOrientwater;
|
||||||
|
import com.lanhai.o.iot.pbs.ResolvConfig;
|
||||||
|
import com.lanhai.o.iot.pbs.ResolveConfigDetail;
|
||||||
|
import com.lanhai.o.iot.pbs.WaterCommonTransVo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
|
@ -269,7 +274,36 @@ public class DataUtil{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static WaterCommonTransVo strToWaterTrans(String str, SurvDeviceDeploy deploy) {
|
||||||
|
WaterCommonTransVo waterCommonTransVo = new WaterCommonTransVo();
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(str) && deploy!=null && deploy.getDeviceConfig() !=null){
|
||||||
|
|
||||||
|
waterCommonTransVo.setDataDateTime(new Date());
|
||||||
|
waterCommonTransVo.setDataGatherType("realTime");
|
||||||
|
waterCommonTransVo.setDeployCode(deploy.getDeployCode());
|
||||||
|
|
||||||
|
//根据配置进行解析
|
||||||
|
ResolvConfig resolvConfig = JSONUtil.toBean(deploy.getDeviceConfig(), ResolvConfig.class);
|
||||||
|
if(resolvConfig.getResolvConfig()!=null && !resolvConfig.getResolvConfig().isEmpty()){
|
||||||
|
for (ResolveConfigDetail resolveConfigDetail : resolvConfig.getResolvConfig()) {
|
||||||
|
try{
|
||||||
|
String[] configs = resolveConfigDetail.getRange().split("-");
|
||||||
|
int leftside = Integer.parseInt(configs[0]);
|
||||||
|
int rightSide = Integer.parseInt(configs[1]);
|
||||||
|
String vals = getVal(str.substring(leftside,rightSide));
|
||||||
|
TUtil.setFieldValue(waterCommonTransVo,resolveConfigDetail.getField(),vals);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("=========普备思设备解析错误跳过=={}=======",JSONUtil.toJsonStr(resolveConfigDetail));
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
log.error("<=========普备思设备解析完成=={}=======>",JSONUtil.toJsonStr(waterCommonTransVo));
|
||||||
|
return waterCommonTransVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@ package com.lanhai.util;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @createTime 2023年07月26日 20:54:00
|
* @createTime 2023年07月26日 20:54:00
|
||||||
|
|
@ -148,4 +150,32 @@ public class TUtil {
|
||||||
return fieldNames;
|
return fieldNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过反射获取实体所有字段的键值对
|
||||||
|
* @param entity 实体对象
|
||||||
|
* @return 包含所有字段名和值的Map
|
||||||
|
*/
|
||||||
|
public static Map<String, String> getAllKeyValuePairs(Object entity) {
|
||||||
|
Map<String, String> result = new HashMap<>();
|
||||||
|
|
||||||
|
if (entity == null) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
Class<?> clazz = entity.getClass();
|
||||||
|
Field[] fields = clazz.getDeclaredFields();
|
||||||
|
|
||||||
|
for (Field field : fields) {
|
||||||
|
try {
|
||||||
|
field.setAccessible(true); // 设置可访问私有字段
|
||||||
|
Object value = field.get(entity);
|
||||||
|
result.put(field.getName(), String.valueOf(value));
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
System.err.println("无法访问字段: " + field.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue