|
@@ -128,6 +128,9 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
//{更新耳标注册信息}
|
|
|
updateEartagRegister2(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
|
|
|
|
|
|
+ //--农户耳标注册
|
|
|
+ updateEartagRegisterForFarmer(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
|
|
|
+
|
|
|
//{更新设备在线统计}
|
|
|
updateDeviceOnline(earmark, deviceCode, todayDateText, nowTimestamp, todayDate, dataJo, farmId);
|
|
|
|
|
@@ -156,6 +159,74 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //--农户耳标注册
|
|
|
+ private void updateEartagRegisterForFarmer(String earmark, String deviceCode, String bat, Timestamp nowTimestamp, java.sql.Date todayDate, String farmId, JSONObject eartagJo) {
|
|
|
+ System.out.println(" ============================ 更新耳标编码 ============================ ");
|
|
|
+ //# 判断耳标注册表是否存在;
|
|
|
+ // 如果不存在就注册耳标;
|
|
|
+ // 如果存在就更新活动状态(active_status)和活动状态更新时间(active_time)
|
|
|
+ Integer registerType = 1;
|
|
|
+ Integer activeStatus = 1;
|
|
|
+ Integer liveStatus = 1; //
|
|
|
+ EartagEartagRegister2Entity eartagRegisterEntity = eartagEartagRegister2EntityRepo.getOneByEarmark2(earmark);
|
|
|
+ if (eartagRegisterEntity == null) {
|
|
|
+ //{新建耳标注册信息}
|
|
|
+ //--For农户
|
|
|
+ newEartagRegisterForFarmer(earmark, nowTimestamp, deviceCode, registerType, activeStatus, liveStatus, bat, todayDate, farmId, eartagJo);
|
|
|
+ } else {
|
|
|
+ eartagRegisterEntity.setLastTime(nowTimestamp);
|
|
|
+ eartagRegisterEntity.setLastDevice(deviceCode);
|
|
|
+ eartagRegisterEntity.setActiveStatus(activeStatus);
|
|
|
+ eartagRegisterEntity.setActiveTime(nowTimestamp);
|
|
|
+ eartagRegisterEntity.setBat(Integer.parseInt(bat));
|
|
|
+ eartagRegisterEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
|
|
|
+ eartagRegisterEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
|
|
|
+// eartagRegisterEntity.setAct(Integer.parseInt(eartagJo.getString("act1")));
|
|
|
+ eartagRegisterEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
|
|
|
+ eartagRegisterEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
|
|
|
+ eartagRegisterEntity.setOther(eartagJo.getString("other"));
|
|
|
+ eartagRegisterEntity.setFarmId(farmId);
|
|
|
+ eartagRegisterEntity.setLiveStatus(1);
|
|
|
+ eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegisterEntity);
|
|
|
+ //更新耳标注册消息缓存
|
|
|
+ cacheService.putEartagRegister(earmark, eartagRegisterEntity);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //--农户
|
|
|
+ private void newEartagRegisterForFarmer(String earmark, Timestamp nowTimestamp, String deviceCode, Integer registerType, Integer activeStatus, Integer liveStatus, String bat, java.sql.Date todayDate, String farmId, JSONObject eartagJo) {
|
|
|
+ //#创建耳标注册记录#
|
|
|
+ EartagEartagRegister2Entity newEartagRegisterEntity = new EartagEartagRegister2Entity();
|
|
|
+ newEartagRegisterEntity.setEarmark(earmark);
|
|
|
+ newEartagRegisterEntity.setFirstTime(nowTimestamp);
|
|
|
+ newEartagRegisterEntity.setLastTime(nowTimestamp);
|
|
|
+ newEartagRegisterEntity.setFirstDevice(deviceCode);
|
|
|
+ newEartagRegisterEntity.setBelongDevice(deviceCode);
|
|
|
+ newEartagRegisterEntity.setLastDevice(deviceCode);
|
|
|
+ newEartagRegisterEntity.setRegisterTime(nowTimestamp);
|
|
|
+ newEartagRegisterEntity.setRegisterType(registerType);
|
|
|
+ newEartagRegisterEntity.setFarmId(farmId);
|
|
|
+
|
|
|
+ newEartagRegisterEntity.setActiveStatus(activeStatus);
|
|
|
+ newEartagRegisterEntity.setActiveTime(nowTimestamp);
|
|
|
+ newEartagRegisterEntity.setLiveStatus(liveStatus);
|
|
|
+ newEartagRegisterEntity.setCreateDate(todayDate);
|
|
|
+ newEartagRegisterEntity.setBat(Integer.parseInt(bat));
|
|
|
+
|
|
|
+ newEartagRegisterEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
|
|
|
+ newEartagRegisterEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
|
|
|
+ newEartagRegisterEntity.setAct(Long.parseLong(eartagJo.getString("act1")));
|
|
|
+ newEartagRegisterEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
|
|
|
+ newEartagRegisterEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
|
|
|
+ newEartagRegisterEntity.setOther(eartagJo.getString("other"));
|
|
|
+
|
|
|
+ eartagEartagRegister2EntityRepo.saveAndFlush(newEartagRegisterEntity);
|
|
|
+ //{更新耳标注册消息缓存}
|
|
|
+ cacheService.putEartagRegister(earmark, newEartagRegisterEntity);
|
|
|
+ //{更新耳标数量}
|
|
|
+ cacheService.putEartagTotal(getEartagSum(farmId, liveStatus), farmId);
|
|
|
+ }
|
|
|
+
|
|
|
// 异常统计和报警
|
|
|
private void abnormalCountAndAlarm(JSONObject dataJo, java.sql.Date todayDate, Timestamp nowTimestamp, String farmCode) {
|
|
|
//处理异常-耳标温度警报和统计;
|