|
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
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 javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.sql.Time;
|
|
import java.sql.Time;
|
|
import java.sql.Timestamp;
|
|
import java.sql.Timestamp;
|
|
@@ -33,6 +34,8 @@ import java.util.Map;
|
|
@Service
|
|
@Service
|
|
@Slf4j
|
|
@Slf4j
|
|
public class EartagServiceImpl implements IEartagService {
|
|
public class EartagServiceImpl implements IEartagService {
|
|
|
|
+ @Resource
|
|
|
|
+ private static EartagDataRepo2 eartagDataRepo2;
|
|
@Autowired
|
|
@Autowired
|
|
private RedisTemplate redisTemplate;
|
|
private RedisTemplate redisTemplate;
|
|
@Autowired
|
|
@Autowired
|
|
@@ -56,6 +59,8 @@ public class EartagServiceImpl implements IEartagService {
|
|
@Autowired
|
|
@Autowired
|
|
private EartagDeviceOnlineRepo eartagDeviceOnlineRepo;
|
|
private EartagDeviceOnlineRepo eartagDeviceOnlineRepo;
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void handleEartag(JSONObject dataJo) throws ParseException {
|
|
public void handleEartag(JSONObject dataJo) throws ParseException {
|
|
//设备编码
|
|
//设备编码
|
|
@@ -76,6 +81,8 @@ public class EartagServiceImpl implements IEartagService {
|
|
//{保存耳标流水}
|
|
//{保存耳标流水}
|
|
saveEartagFlow(dataJo, nowTimestamp, todayDate, farmId);
|
|
saveEartagFlow(dataJo, nowTimestamp, todayDate, farmId);
|
|
|
|
|
|
|
|
+ saveEartagFlow2(dataJo, nowTimestamp, todayDate, farmId);
|
|
|
|
+
|
|
//{更新设备注册信息}
|
|
//{更新设备注册信息}
|
|
updateDeviceRegister(deviceCode, nowTimestamp, todayDate, farmId);
|
|
updateDeviceRegister(deviceCode, nowTimestamp, todayDate, farmId);
|
|
|
|
|
|
@@ -634,6 +641,53 @@ public class EartagServiceImpl implements IEartagService {
|
|
cacheService.putEartagFlowToCache(dataEntity.getEarmark(),dataEntity);
|
|
cacheService.putEartagFlowToCache(dataEntity.getEarmark(),dataEntity);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void saveEartagFlow2(JSONObject eartagJo, Timestamp nowTimestamp, java.sql.Date todayDate, String farmId) throws ParseException {
|
|
|
|
+ DateUtil dateUtil = new DateUtil();
|
|
|
|
+ //判断近五分钟内是否有耳标数据 先获取耳标号
|
|
|
|
+ String earmark = eartagJo.getString("earmark");
|
|
|
|
+ EartagDataEntity2 eartagFlowByEarmark = eartagDataRepo2.getEartagFlowByEarmark(earmark);
|
|
|
|
+ if (null == eartagFlowByEarmark){
|
|
|
|
+ //插数据到数据库里
|
|
|
|
+ EartagDataEntity2 dataEntity2 = new EartagDataEntity2();
|
|
|
|
+ dataEntity2.setCmdHeader(eartagJo.getString("cmdHeader"));
|
|
|
|
+ dataEntity2.setDevice(eartagJo.getString("device"));
|
|
|
|
+ dataEntity2.setEarmark(eartagJo.getString("earmark"));
|
|
|
|
+ dataEntity2.setBat(Integer.parseInt(eartagJo.getString("bat")));
|
|
|
|
+ dataEntity2.setEarTemp(Integer.parseInt(eartagJo.getString("earTemp")));
|
|
|
|
+ dataEntity2.setEarTemp1(eartagJo.getFloat("earTemp1"));
|
|
|
|
+ dataEntity2.setEnvTemp(Integer.parseInt(eartagJo.getString("envTemp")));
|
|
|
|
+ dataEntity2.setEnvTemp1(eartagJo.getFloat("envTemp1"));
|
|
|
|
+ dataEntity2.setAct(Integer.parseInt(eartagJo.getString("act")));
|
|
|
|
+ dataEntity2.setAct1(Integer.parseInt(eartagJo.getString("act1")));
|
|
|
|
+ dataEntity2.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
|
|
|
|
+ dataEntity2.setAskTime(getAskTime(eartagJo.getString("askTime")));
|
|
|
|
+ dataEntity2.setOther(eartagJo.getString("other"));
|
|
|
|
+ dataEntity2.setAddTime(nowTimestamp);
|
|
|
|
+ dataEntity2.setCreateDate(todayDate);
|
|
|
|
+ dataEntity2.setFarmId(farmId);
|
|
|
|
+ dataEntity2.setAskDate(new java.sql.Date(dateUtil.parseDate(getAskDate(eartagJo.getString("askTime"))).getTime()));
|
|
|
|
+ eartagDataRepo2.saveAndFlush(dataEntity2);
|
|
|
|
+ }else {
|
|
|
|
+ eartagFlowByEarmark.setCmdHeader(eartagJo.getString("cmdHeader"));
|
|
|
|
+ eartagFlowByEarmark.setDevice(eartagJo.getString("device"));
|
|
|
|
+ eartagFlowByEarmark.setEarmark(eartagJo.getString("earmark"));
|
|
|
|
+ eartagFlowByEarmark.setBat(Integer.parseInt(eartagJo.getString("bat")));
|
|
|
|
+ eartagFlowByEarmark.setEarTemp(Integer.parseInt(eartagJo.getString("earTemp")));
|
|
|
|
+ eartagFlowByEarmark.setEarTemp1(eartagJo.getFloat("earTemp1"));
|
|
|
|
+ eartagFlowByEarmark.setEnvTemp(Integer.parseInt(eartagJo.getString("envTemp")));
|
|
|
|
+ eartagFlowByEarmark.setEnvTemp1(eartagJo.getFloat("envTemp1"));
|
|
|
|
+ eartagFlowByEarmark.setAct(Integer.parseInt(eartagJo.getString("act")));
|
|
|
|
+ eartagFlowByEarmark.setAct1(Integer.parseInt(eartagJo.getString("act1")));
|
|
|
|
+ eartagFlowByEarmark.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
|
|
|
|
+ eartagFlowByEarmark.setAskTime(getAskTime(eartagJo.getString("askTime")));
|
|
|
|
+ eartagFlowByEarmark.setOther(eartagJo.getString("other"));
|
|
|
|
+ eartagFlowByEarmark.setCreateDate(todayDate);
|
|
|
|
+ eartagFlowByEarmark.setFarmId(farmId);
|
|
|
|
+ eartagFlowByEarmark.setAskDate(new java.sql.Date(dateUtil.parseDate(getAskDate(eartagJo.getString("askTime"))).getTime()));
|
|
|
|
+ eartagDataRepo2.saveAndFlush(eartagFlowByEarmark);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
//
|
|
//
|
|
public String getAskTime(String askTime) {
|
|
public String getAskTime(String askTime) {
|
|
String newAskTime = askTime.substring(0, 4) + "-" + askTime.substring(4, 6) + "-" + askTime.substring(6, 8) + " " + askTime.substring(8, 10) + ":" + askTime.substring(10, 12) + ":" + askTime.substring(12, 14);
|
|
String newAskTime = askTime.substring(0, 4) + "-" + askTime.substring(4, 6) + "-" + askTime.substring(6, 8) + " " + askTime.substring(8, 10) + ":" + askTime.substring(10, 12) + ":" + askTime.substring(12, 14);
|