|
@@ -19,8 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Example;
|
|
import org.springframework.data.domain.Example;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
|
|
+import javax.transaction.RollbackException;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.sql.Timestamp;
|
|
import java.sql.Timestamp;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
@@ -83,7 +85,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
private EartagAbnormalAlarmEntityRepo eartagAbnormalAlarmEntityRepo;
|
|
private EartagAbnormalAlarmEntityRepo eartagAbnormalAlarmEntityRepo;
|
|
@Autowired
|
|
@Autowired
|
|
private EartagAbnormalCountEntityRepo eartagAbnormalCountEntityRepo;
|
|
private EartagAbnormalCountEntityRepo eartagAbnormalCountEntityRepo;
|
|
-// @Value("${alarm.maxTemp}")
|
|
|
|
|
|
+ // @Value("${alarm.maxTemp}")
|
|
// private String defaultMaxTemp;
|
|
// private String defaultMaxTemp;
|
|
// @Value("${alarm.minTemp}")
|
|
// @Value("${alarm.minTemp}")
|
|
// private String defaultMinTemp;
|
|
// private String defaultMinTemp;
|
|
@@ -106,7 +108,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
String earmark = dataJo.getString("earmark");
|
|
String earmark = dataJo.getString("earmark");
|
|
//电量
|
|
//电量
|
|
String bat = dataJo.getString("bat");
|
|
String bat = dataJo.getString("bat");
|
|
- //运动量
|
|
|
|
|
|
+ //相对运动量
|
|
String act1 = dataJo.getString("act1");
|
|
String act1 = dataJo.getString("act1");
|
|
String todayDateText = new DateUtil().getTodayDateText();
|
|
String todayDateText = new DateUtil().getTodayDateText();
|
|
java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
@@ -174,27 +176,27 @@ public class EartagServiceImpl implements IEartagService {
|
|
// 调用省平台接口,发送耳标数据;
|
|
// 调用省平台接口,发送耳标数据;
|
|
// 省平台接口:接收数据并发送到耳标队列
|
|
// 省平台接口:接收数据并发送到耳标队列
|
|
// =====================================================================
|
|
// =====================================================================
|
|
- System.out.println("处理发送到省平台的数据>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>="+dataJo);
|
|
|
|
|
|
+ System.out.println("处理发送到省平台的数据>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=" + dataJo);
|
|
String earmark = dataJo.getString("earmark");
|
|
String earmark = dataJo.getString("earmark");
|
|
- System.out.println(">>>>>>>>>>>>>>>earmark="+earmark);
|
|
|
|
|
|
+ System.out.println(">>>>>>>>>>>>>>>earmark=" + earmark);
|
|
//根据耳标查询耳标注册表
|
|
//根据耳标查询耳标注册表
|
|
EartagEartagRegister2Entity eartagRegister2Entity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark);
|
|
EartagEartagRegister2Entity eartagRegister2Entity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark);
|
|
- if(eartagRegister2Entity != null){
|
|
|
|
|
|
+ if (eartagRegister2Entity != null) {
|
|
String farmId = eartagRegister2Entity.getFarmId();
|
|
String farmId = eartagRegister2Entity.getFarmId();
|
|
- System.out.println("farmId>>"+farmId);
|
|
|
|
|
|
+ System.out.println("farmId>>" + farmId);
|
|
BaseFarmEntity BaseFarmEntity = baseFarmRepo.getFarmByFarmId(farmId);
|
|
BaseFarmEntity BaseFarmEntity = baseFarmRepo.getFarmByFarmId(farmId);
|
|
- System.out.println("是否允许发送到省平台:"+BaseFarmEntity.getProvinceStatus());
|
|
|
|
|
|
+ System.out.println("是否允许发送到省平台:" + BaseFarmEntity.getProvinceStatus());
|
|
//provinceStatus=1,表示允许将耳标数据同步到省平台
|
|
//provinceStatus=1,表示允许将耳标数据同步到省平台
|
|
- if(BaseFarmEntity.getProvinceStatus() == 1){
|
|
|
|
|
|
+ if (BaseFarmEntity.getProvinceStatus() == 1) {
|
|
//调用省平台接口同步耳标数据过去
|
|
//调用省平台接口同步耳标数据过去
|
|
System.out.println("调用省平台接口同步耳标数据过去");
|
|
System.out.println("调用省平台接口同步耳标数据过去");
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
String url = "http://122.112.224.199:9501/syncEartag";
|
|
String url = "http://122.112.224.199:9501/syncEartag";
|
|
- System.out.println("## url>>"+url);
|
|
|
|
|
|
+ System.out.println("## url>>" + url);
|
|
EartagVo eartagVo = new EartagVo();
|
|
EartagVo eartagVo = new EartagVo();
|
|
eartagVo.setEartag(askText);
|
|
eartagVo.setEartag(askText);
|
|
eartagVo.setData(dataJo.toJSONString());
|
|
eartagVo.setData(dataJo.toJSONString());
|
|
- restTemplate.postForObject(url,eartagVo,String.class);
|
|
|
|
|
|
+ restTemplate.postForObject(url, eartagVo, String.class);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -294,7 +296,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
// 保存耳标高温报警
|
|
// 保存耳标高温报警
|
|
EartagAbnormalAlarmEntity eartagAbnormalAlarmEntity = new EartagAbnormalAlarmEntity();
|
|
EartagAbnormalAlarmEntity eartagAbnormalAlarmEntity = new EartagAbnormalAlarmEntity();
|
|
eartagAbnormalAlarmEntity.setFarmCode(farmCode);
|
|
eartagAbnormalAlarmEntity.setFarmCode(farmCode);
|
|
- eartagAbnormalAlarmEntity.setContent("高温警报:["+pigpenName+"]的环境温度为" + envTemp1Bd.toString() + "°,高于高温阈值" + configMaxTempBd.toString() + "°");
|
|
|
|
|
|
+ eartagAbnormalAlarmEntity.setContent("高温警报:[" + pigpenName + "]的环境温度为" + envTemp1Bd.toString() + "°,高于高温阈值" + configMaxTempBd.toString() + "°");
|
|
//数据:2
|
|
//数据:2
|
|
eartagAbnormalAlarmEntity.setAlarmType(2);
|
|
eartagAbnormalAlarmEntity.setAlarmType(2);
|
|
//采集器:1
|
|
//采集器:1
|
|
@@ -310,7 +312,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
// 保存耳标高温报警
|
|
// 保存耳标高温报警
|
|
EartagAbnormalAlarmEntity eartagAbnormalAlarmEntity = new EartagAbnormalAlarmEntity();
|
|
EartagAbnormalAlarmEntity eartagAbnormalAlarmEntity = new EartagAbnormalAlarmEntity();
|
|
eartagAbnormalAlarmEntity.setFarmCode(farmCode);
|
|
eartagAbnormalAlarmEntity.setFarmCode(farmCode);
|
|
- eartagAbnormalAlarmEntity.setContent("低温警报:["+pigpenName+"]的环境温度为" + envTemp1Bd.toString() + "°,低于低温阈值" + configMinTempBd.toString() + "°");
|
|
|
|
|
|
+ eartagAbnormalAlarmEntity.setContent("低温警报:[" + pigpenName + "]的环境温度为" + envTemp1Bd.toString() + "°,低于低温阈值" + configMinTempBd.toString() + "°");
|
|
//数据:2
|
|
//数据:2
|
|
eartagAbnormalAlarmEntity.setAlarmType(2);
|
|
eartagAbnormalAlarmEntity.setAlarmType(2);
|
|
//采集器:1
|
|
//采集器:1
|
|
@@ -329,13 +331,13 @@ public class EartagServiceImpl implements IEartagService {
|
|
private String getPigpenByDevice(String device) {
|
|
private String getPigpenByDevice(String device) {
|
|
//根据设备读取栋舍
|
|
//根据设备读取栋舍
|
|
List<Object[]> pigpenList = basePigpenRepo.getPigpenByDevice(device);
|
|
List<Object[]> pigpenList = basePigpenRepo.getPigpenByDevice(device);
|
|
- if(pigpenList.size()==0){
|
|
|
|
|
|
+ if (pigpenList.size() == 0) {
|
|
return "";
|
|
return "";
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
StringBuilder sb = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
- for(int a=0;a<pigpenList.size();a++){
|
|
|
|
|
|
+ for (int a = 0; a < pigpenList.size(); a++) {
|
|
Object[] objArray = pigpenList.get(0);
|
|
Object[] objArray = pigpenList.get(0);
|
|
- if(sb.length()>0){
|
|
|
|
|
|
+ if (sb.length() > 0) {
|
|
sb.append(",");
|
|
sb.append(",");
|
|
}
|
|
}
|
|
sb.append(objArray[0]).append(",").append(objArray[1]);
|
|
sb.append(objArray[0]).append(",").append(objArray[1]);
|
|
@@ -386,15 +388,15 @@ public class EartagServiceImpl implements IEartagService {
|
|
//处理异常耳标温度警报和统计;
|
|
//处理异常耳标温度警报和统计;
|
|
private void handleEartempAlarmAndCount(JSONObject dataJo, java.sql.Date todayDate, Timestamp nowTimestamp, String farmCode) {
|
|
private void handleEartempAlarmAndCount(JSONObject dataJo, java.sql.Date todayDate, Timestamp nowTimestamp, String farmCode) {
|
|
String earmark = dataJo.getString("earmark");
|
|
String earmark = dataJo.getString("earmark");
|
|
- System.out.println("farmCode================"+farmCode);
|
|
|
|
|
|
+ System.out.println("farmCode================" + farmCode);
|
|
// {获取异常耳标阈值最大值或最小值}
|
|
// {获取异常耳标阈值最大值或最小值}
|
|
// Map maxAndMinMap = getMaxAndMinEartemp(farmCode);
|
|
// Map maxAndMinMap = getMaxAndMinEartemp(farmCode);
|
|
Map maxAndMinMap = getMaxAndMin2(farmCode, "eartagMaxTem", "eartagMinTem");
|
|
Map maxAndMinMap = getMaxAndMin2(farmCode, "eartagMaxTem", "eartagMinTem");
|
|
- System.out.println("maxAndMinMap>>>>>>>>>>>>>>>>>>>>>>>>>>>"+maxAndMinMap.toString());
|
|
|
|
- if (! (maxAndMinMap.get("eartagMaxTem" ) instanceof Integer)){
|
|
|
|
|
|
+ System.out.println("maxAndMinMap>>>>>>>>>>>>>>>>>>>>>>>>>>>" + maxAndMinMap.toString());
|
|
|
|
+ if (!(maxAndMinMap.get("eartagMaxTem") instanceof Integer)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (! (maxAndMinMap.get("eartagMinTem" ) instanceof Integer)){
|
|
|
|
|
|
+ if (!(maxAndMinMap.get("eartagMinTem") instanceof Integer)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
System.out.println(ObjectUtil.isEmpty(maxAndMinMap.get("eartagMaxTem")));
|
|
System.out.println(ObjectUtil.isEmpty(maxAndMinMap.get("eartagMaxTem")));
|
|
@@ -547,14 +549,14 @@ public class EartagServiceImpl implements IEartagService {
|
|
// configMap.put(maxKeyName, maxTemp);
|
|
// configMap.put(maxKeyName, maxTemp);
|
|
// } else {
|
|
// } else {
|
|
// 从属性配置表取值
|
|
// 从属性配置表取值
|
|
- System.out.println("aa farmCode="+farmCode);
|
|
|
|
- System.out.println("bb maxKeyName="+maxKeyName);
|
|
|
|
|
|
+ System.out.println("aa farmCode=" + farmCode);
|
|
|
|
+ System.out.println("bb maxKeyName=" + maxKeyName);
|
|
String confMaxTem = getConfigValue(farmCode, maxKeyName);
|
|
String confMaxTem = getConfigValue(farmCode, maxKeyName);
|
|
System.out.println("配置属性 confMaxTem=" + confMaxTem);
|
|
System.out.println("配置属性 confMaxTem=" + confMaxTem);
|
|
if (confMaxTem == null) {
|
|
if (confMaxTem == null) {
|
|
// confMaxTem = defaultMaxTemp;
|
|
// confMaxTem = defaultMaxTemp;
|
|
// System.out.println("默认属性 defaultMaxTemp=" + defaultMaxTemp);
|
|
// System.out.println("默认属性 defaultMaxTemp=" + defaultMaxTemp);
|
|
- log.error("属性配置:"+maxKeyName+"未配置,请联系管理员进行配置.");
|
|
|
|
|
|
+ log.error("属性配置:" + maxKeyName + "未配置,请联系管理员进行配置.");
|
|
}
|
|
}
|
|
configMap.put(maxKeyName, confMaxTem);
|
|
configMap.put(maxKeyName, confMaxTem);
|
|
// cacheService.putHashKeyProperty(hashKey, maxKeyName, confMaxTem);
|
|
// cacheService.putHashKeyProperty(hashKey, maxKeyName, confMaxTem);
|
|
@@ -572,7 +574,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
if (configMinTem == null) {
|
|
if (configMinTem == null) {
|
|
// configMinTem = defaultMinTemp;
|
|
// configMinTem = defaultMinTemp;
|
|
// System.out.println("默认属性 defaultMinTemp=" + defaultMinTemp);
|
|
// System.out.println("默认属性 defaultMinTemp=" + defaultMinTemp);
|
|
- log.error("属性配置:"+minKeyName+"未配置,请联系管理员进行配置.");
|
|
|
|
|
|
+ log.error("属性配置:" + minKeyName + "未配置,请联系管理员进行配置.");
|
|
}
|
|
}
|
|
configMap.put(minKeyName, configMinTem);
|
|
configMap.put(minKeyName, configMinTem);
|
|
// cacheService.putHashKeyProperty(hashKey, minKeyName, configMinTem);
|
|
// cacheService.putHashKeyProperty(hashKey, minKeyName, configMinTem);
|
|
@@ -590,15 +592,15 @@ public class EartagServiceImpl implements IEartagService {
|
|
// } else {
|
|
// } else {
|
|
// return null;
|
|
// return null;
|
|
// }
|
|
// }
|
|
- System.out.println(">> ================ configKey="+configKey);
|
|
|
|
- System.out.println(">> ================ farmCode="+farmCode);
|
|
|
|
- Map configMap = iBaseConfigService.getConfigValue(configKey,farmCode,"0");
|
|
|
|
- System.out.println("configMap >>>>>>>>>>>>>>>>>>>>> "+configMap);
|
|
|
|
- if(configMap == null){
|
|
|
|
- log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 configKey="+configKey);
|
|
|
|
|
|
+ System.out.println(">> ================ configKey=" + configKey);
|
|
|
|
+ System.out.println(">> ================ farmCode=" + farmCode);
|
|
|
|
+ Map configMap = iBaseConfigService.getConfigValue(configKey, farmCode, "0");
|
|
|
|
+ System.out.println("configMap >>>>>>>>>>>>>>>>>>>>> " + configMap);
|
|
|
|
+ if (configMap == null) {
|
|
|
|
+ log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 configKey=" + configKey);
|
|
return null;
|
|
return null;
|
|
- }else{
|
|
|
|
- return configMap.get("configValue")+"";
|
|
|
|
|
|
+ } else {
|
|
|
|
+ return configMap.get("configValue") + "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -615,13 +617,13 @@ public class EartagServiceImpl implements IEartagService {
|
|
// } else {
|
|
// } else {
|
|
// log.error("耳标离线过程丢弃数据时长属性未配置.");
|
|
// log.error("耳标离线过程丢弃数据时长属性未配置.");
|
|
// }
|
|
// }
|
|
- Map configMap = iBaseConfigService.getConfigValue("dropDataEartagOffLineTime",farmId,"0");
|
|
|
|
- System.out.println("configMap 11111 >>>>>>>>>>>>>>>>>>>>> "+configMap);
|
|
|
|
- if(configMap == null){
|
|
|
|
- log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 eartagOfflineTime="+eartagOfflineTime);
|
|
|
|
- }else{
|
|
|
|
- eartagOfflineTime = Integer.parseInt(configMap.get("configValue")+"");
|
|
|
|
- System.out.println("eartagOfflineTime >>>>>>>>>>>> "+eartagOfflineTime);
|
|
|
|
|
|
+ Map configMap = iBaseConfigService.getConfigValue("dropDataEartagOffLineTime", farmId, "0");
|
|
|
|
+ System.out.println("configMap 11111 >>>>>>>>>>>>>>>>>>>>> " + configMap);
|
|
|
|
+ if (configMap == null) {
|
|
|
|
+ log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 eartagOfflineTime=" + eartagOfflineTime);
|
|
|
|
+ } else {
|
|
|
|
+ eartagOfflineTime = Integer.parseInt(configMap.get("configValue") + "");
|
|
|
|
+ System.out.println("eartagOfflineTime >>>>>>>>>>>> " + eartagOfflineTime);
|
|
}
|
|
}
|
|
String earmark = eartagJo.getString("earmark");
|
|
String earmark = eartagJo.getString("earmark");
|
|
Long act = Long.parseLong(eartagJo.getString("act"));
|
|
Long act = Long.parseLong(eartagJo.getString("act"));
|
|
@@ -651,6 +653,8 @@ public class EartagServiceImpl implements IEartagService {
|
|
System.out.println("本次运动量增量=" + act1);
|
|
System.out.println("本次运动量增量=" + act1);
|
|
//{保存耳标小时运动量}
|
|
//{保存耳标小时运动量}
|
|
saveEartagHourAct(farmId, earmark, act1, nowHour, todayDate);
|
|
saveEartagHourAct(farmId, earmark, act1, nowHour, todayDate);
|
|
|
|
+ //更新耳标注册表中的当前运动量
|
|
|
|
+// updateActToEartagRegister(earmark, act);
|
|
//{保存耳标复位记录}
|
|
//{保存耳标复位记录}
|
|
saveEartagReset(resetStatus, farmId, earmark, nowTimestamp, todayDate, lastId, lastAct, act);
|
|
saveEartagReset(resetStatus, farmId, earmark, nowTimestamp, todayDate, lastId, lastAct, act);
|
|
}
|
|
}
|
|
@@ -674,7 +678,6 @@ public class EartagServiceImpl implements IEartagService {
|
|
eartagResetEntity.setLastAct(lastAct);
|
|
eartagResetEntity.setLastAct(lastAct);
|
|
eartagResetEntity.setAct(act);
|
|
eartagResetEntity.setAct(act);
|
|
eartagResetEntityRepo.save(eartagResetEntity);
|
|
eartagResetEntityRepo.save(eartagResetEntity);
|
|
-
|
|
|
|
// 复位统计次数
|
|
// 复位统计次数
|
|
EartagResetCountEntity eartagResetCountEntity = new EartagResetCountEntity();
|
|
EartagResetCountEntity eartagResetCountEntity = new EartagResetCountEntity();
|
|
eartagResetCountEntity.setEarmark(earmark);
|
|
eartagResetCountEntity.setEarmark(earmark);
|
|
@@ -682,6 +685,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
eartagResetCountEntity.setAddDate(todayDate);
|
|
eartagResetCountEntity.setAddDate(todayDate);
|
|
Example<EartagResetCountEntity> example = Example.of(eartagResetCountEntity);
|
|
Example<EartagResetCountEntity> example = Example.of(eartagResetCountEntity);
|
|
Optional<EartagResetCountEntity> optionEartagResetCountEntity = eartagResetCountEntityRepo.findOne(example);
|
|
Optional<EartagResetCountEntity> optionEartagResetCountEntity = eartagResetCountEntityRepo.findOne(example);
|
|
|
|
+ int resetTimes = 1;
|
|
if (!optionEartagResetCountEntity.isPresent()) {
|
|
if (!optionEartagResetCountEntity.isPresent()) {
|
|
eartagResetCountEntity.setTimes(1);
|
|
eartagResetCountEntity.setTimes(1);
|
|
eartagResetCountEntityRepo.save(eartagResetCountEntity);
|
|
eartagResetCountEntityRepo.save(eartagResetCountEntity);
|
|
@@ -689,13 +693,32 @@ public class EartagServiceImpl implements IEartagService {
|
|
EartagResetCountEntity existEartagResetCountEntity = optionEartagResetCountEntity.get();
|
|
EartagResetCountEntity existEartagResetCountEntity = optionEartagResetCountEntity.get();
|
|
existEartagResetCountEntity.setTimes(existEartagResetCountEntity.getTimes() + 1);
|
|
existEartagResetCountEntity.setTimes(existEartagResetCountEntity.getTimes() + 1);
|
|
eartagResetCountEntityRepo.save(existEartagResetCountEntity);
|
|
eartagResetCountEntityRepo.save(existEartagResetCountEntity);
|
|
|
|
+ //更新重启次数
|
|
|
|
+// resetTimes = existEartagResetCountEntity.getTimes() + 1;
|
|
|
|
+ resetTimes = existEartagResetCountEntity.getTimes();
|
|
}
|
|
}
|
|
|
|
+ //更新耳标注册表中的重启次数
|
|
|
|
+ updateResetTimesToEartagRegister(earmark, resetTimes);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //更新耳标注册表中的重启次数
|
|
|
|
+ private void updateResetTimesToEartagRegister(String earmark, int resetTimes) {
|
|
|
|
+ EartagEartagRegister2Entity eartagEartagRegister2Entity = new EartagEartagRegister2Entity();
|
|
|
|
+ eartagEartagRegister2Entity.setEarmark(earmark);
|
|
|
|
+ Example<EartagEartagRegister2Entity> example = Example.of(eartagEartagRegister2Entity);
|
|
|
|
+ Optional<EartagEartagRegister2Entity> optional = eartagEartagRegister2EntityRepo.findOne(example);
|
|
|
|
+ if (optional.isPresent()) {
|
|
|
|
+ EartagEartagRegister2Entity eartagEartagRegister2Entity2 = optional.get();
|
|
|
|
+ eartagEartagRegister2Entity2.setRebootTimes(resetTimes);
|
|
|
|
+ eartagEartagRegister2EntityRepo.saveAndFlush(eartagEartagRegister2Entity2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// {保存耳标小时运动量}
|
|
// {保存耳标小时运动量}
|
|
private void saveEartagHourAct(String farmId, String earmark, long act1, int nowHour, java.sql.Date todayDate) {
|
|
private void saveEartagHourAct(String farmId, String earmark, long act1, int nowHour, java.sql.Date todayDate) {
|
|
Optional<EartagHourActEntity> optionalHourAct = eartagHourActEntityRepo.findByFarmIdAndEarmarkAndHourAndDate(farmId, earmark, nowHour, todayDate);
|
|
Optional<EartagHourActEntity> optionalHourAct = eartagHourActEntityRepo.findByFarmIdAndEarmarkAndHourAndDate(farmId, earmark, nowHour, todayDate);
|
|
|
|
+// long act = 0;
|
|
if (!optionalHourAct.isPresent()) {
|
|
if (!optionalHourAct.isPresent()) {
|
|
EartagHourActEntity newEartagHourActEntity = new EartagHourActEntity();
|
|
EartagHourActEntity newEartagHourActEntity = new EartagHourActEntity();
|
|
newEartagHourActEntity.setFarmCode(farmId);
|
|
newEartagHourActEntity.setFarmCode(farmId);
|
|
@@ -704,10 +727,27 @@ public class EartagServiceImpl implements IEartagService {
|
|
newEartagHourActEntity.setHour(nowHour);
|
|
newEartagHourActEntity.setHour(nowHour);
|
|
newEartagHourActEntity.setAct(act1);
|
|
newEartagHourActEntity.setAct(act1);
|
|
eartagHourActEntityRepo.save(newEartagHourActEntity);
|
|
eartagHourActEntityRepo.save(newEartagHourActEntity);
|
|
|
|
+// act = act1;
|
|
} else {
|
|
} else {
|
|
EartagHourActEntity eartagHourActEntity = optionalHourAct.get();
|
|
EartagHourActEntity eartagHourActEntity = optionalHourAct.get();
|
|
eartagHourActEntity.setAct(eartagHourActEntity.getAct() + act1);
|
|
eartagHourActEntity.setAct(eartagHourActEntity.getAct() + act1);
|
|
eartagHourActEntityRepo.save(eartagHourActEntity);
|
|
eartagHourActEntityRepo.save(eartagHourActEntity);
|
|
|
|
+// act = eartagHourActEntity.getAct() + act1;
|
|
|
|
+ }
|
|
|
|
+ //更新耳标注册表中的当前运动量
|
|
|
|
+// updateActToEartagRegister(earmark, act);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //更新耳标注册表中的当前运动量
|
|
|
|
+ private void updateActToEartagRegister(String earmark, long act) {
|
|
|
|
+ EartagEartagRegister2Entity eartagEartagRegister2Entity = new EartagEartagRegister2Entity();
|
|
|
|
+ eartagEartagRegister2Entity.setEarmark(earmark);
|
|
|
|
+ Example<EartagEartagRegister2Entity> example = Example.of(eartagEartagRegister2Entity);
|
|
|
|
+ Optional<EartagEartagRegister2Entity> optional = eartagEartagRegister2EntityRepo.findOne(example);
|
|
|
|
+ if (optional.isPresent()) {
|
|
|
|
+ EartagEartagRegister2Entity eartagEartagRegister2Entity2 = optional.get();
|
|
|
|
+ eartagEartagRegister2Entity2.setActRange(new Long(act).intValue());
|
|
|
|
+ eartagEartagRegister2EntityRepo.saveAndFlush(eartagEartagRegister2Entity2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -793,12 +833,12 @@ public class EartagServiceImpl implements IEartagService {
|
|
// } else {
|
|
// } else {
|
|
// log.error("耳标数据过滤时间差属性未配置.");
|
|
// log.error("耳标数据过滤时间差属性未配置.");
|
|
// }
|
|
// }
|
|
- Map configMap = iBaseConfigService.getConfigValue("timeDifference",farmId,"0");
|
|
|
|
- if(configMap == null){
|
|
|
|
- log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 setTimeDiff="+setTimeDiff);
|
|
|
|
- }else{
|
|
|
|
- setTimeDiff = Integer.parseInt(configMap.get("configValue")+"");
|
|
|
|
- System.out.println("eartagOfflineTime >>>>>>>>>>>> "+setTimeDiff);
|
|
|
|
|
|
+ Map configMap = iBaseConfigService.getConfigValue("timeDifference", farmId, "0");
|
|
|
|
+ if (configMap == null) {
|
|
|
|
+ log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 setTimeDiff=" + setTimeDiff);
|
|
|
|
+ } else {
|
|
|
|
+ setTimeDiff = Integer.parseInt(configMap.get("configValue") + "");
|
|
|
|
+ System.out.println("eartagOfflineTime >>>>>>>>>>>> " + setTimeDiff);
|
|
}
|
|
}
|
|
countMap.put("fisrtStatus", false);
|
|
countMap.put("fisrtStatus", false);
|
|
if (timeDifference / 1000 < setTimeDiff) {
|
|
if (timeDifference / 1000 < setTimeDiff) {
|
|
@@ -1126,7 +1166,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
if (eartagOnlineEntity == null) {
|
|
if (eartagOnlineEntity == null) {
|
|
int total = 1;
|
|
int total = 1;
|
|
//{新建耳标在线记录}
|
|
//{新建耳标在线记录}
|
|
- newEartagOnline(earmark, total, nowTimestamp, earTemp, envTemp, todayDate, farmId,act,bat);
|
|
|
|
|
|
+ newEartagOnline(earmark, total, nowTimestamp, earTemp, envTemp, todayDate, farmId, act, bat);
|
|
} else {
|
|
} else {
|
|
int total = eartagOnlineEntity.getTotal();
|
|
int total = eartagOnlineEntity.getTotal();
|
|
eartagOnlineEntity.setTotal(++total);
|
|
eartagOnlineEntity.setTotal(++total);
|
|
@@ -1314,7 +1354,6 @@ public class EartagServiceImpl implements IEartagService {
|
|
//{新建耳标注册信息}
|
|
//{新建耳标注册信息}
|
|
newEartagRegister2(earmark, nowTimestamp, deviceCode, registerType, activeStatus, liveStatus, bat, todayDate, farmId, eartagJo, stageCode, stageName, pigpenId, pigpenName, unitId, unitName, deviceRegisterEntity);
|
|
newEartagRegister2(earmark, nowTimestamp, deviceCode, registerType, activeStatus, liveStatus, bat, todayDate, farmId, eartagJo, stageCode, stageName, pigpenId, pigpenName, unitId, unitName, deviceRegisterEntity);
|
|
} else {
|
|
} else {
|
|
-
|
|
|
|
eartagRegisterEntity.setLastTime(nowTimestamp);
|
|
eartagRegisterEntity.setLastTime(nowTimestamp);
|
|
eartagRegisterEntity.setLastDevice(deviceCode);
|
|
eartagRegisterEntity.setLastDevice(deviceCode);
|
|
eartagRegisterEntity.setActiveStatus(activeStatus);
|
|
eartagRegisterEntity.setActiveStatus(activeStatus);
|
|
@@ -1328,12 +1367,15 @@ public class EartagServiceImpl implements IEartagService {
|
|
eartagRegisterEntity.setStageName(stageName);
|
|
eartagRegisterEntity.setStageName(stageName);
|
|
eartagRegisterEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
|
|
eartagRegisterEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
|
|
// eartagRegisterEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
|
|
// eartagRegisterEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
|
|
|
|
+ //相对运动量
|
|
eartagRegisterEntity.setAct(Long.parseLong(eartagJo.getString("act1")));
|
|
eartagRegisterEntity.setAct(Long.parseLong(eartagJo.getString("act1")));
|
|
eartagRegisterEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
|
|
eartagRegisterEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
|
|
eartagRegisterEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
|
|
eartagRegisterEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
|
|
eartagRegisterEntity.setOther(eartagJo.getString("other"));
|
|
eartagRegisterEntity.setOther(eartagJo.getString("other"));
|
|
eartagRegisterEntity.setFarmId(farmId);
|
|
eartagRegisterEntity.setFarmId(farmId);
|
|
eartagRegisterEntity.setLiveStatus(1);
|
|
eartagRegisterEntity.setLiveStatus(1);
|
|
|
|
+ //绝对运动量
|
|
|
|
+ eartagRegisterEntity.setActRange(new Long(Long.parseLong(eartagJo.getString("act"))).intValue());
|
|
System.out.println("开始更新--> " + eartagRegisterEntity);
|
|
System.out.println("开始更新--> " + eartagRegisterEntity);
|
|
eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegisterEntity);
|
|
eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegisterEntity);
|
|
//更新耳标注册消息缓存
|
|
//更新耳标注册消息缓存
|
|
@@ -1543,7 +1585,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
long lastAct = Long.parseLong(countMap.get("act").toString());
|
|
long lastAct = Long.parseLong(countMap.get("act").toString());
|
|
if (act > lastAct) {
|
|
if (act > lastAct) {
|
|
act1 = act - lastAct;
|
|
act1 = act - lastAct;
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
act1 = act;
|
|
act1 = act;
|
|
}
|
|
}
|
|
}
|
|
}
|