|
@@ -1,5 +1,6 @@
|
|
|
package com.huimv.eartag2.manage2.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -68,93 +69,98 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
JSONArray offlineJa = new JSONArray();
|
|
|
List countList = new ArrayList();
|
|
|
String rowId = baseConfig.getRowId();
|
|
|
- String farmCode = SysBaseConfigMapper.selectOne(new QueryWrapper<SysBaseConfig>().eq("config_key", "farmCode").eq("row_id", rowId)).getConfigValue();
|
|
|
- for (BasePigpen basePigpen : basePigpenList) {
|
|
|
+ List<SysBaseConfig> sysBaseConfigs = SysBaseConfigMapper.selectList(new QueryWrapper<SysBaseConfig>().eq("config_key", "farmCode").eq("row_id", rowId));
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(sysBaseConfigs)){
|
|
|
+ String farmCode = sysBaseConfigs.get(0).getConfigValue();
|
|
|
+ for (BasePigpen basePigpen : basePigpenList) {
|
|
|
// System.out.println("basePigpen="+basePigpen);
|
|
|
// String farmCode = basePigpen.getFarmCode();
|
|
|
|
|
|
- Integer unitId = basePigpen.getId();
|
|
|
- String unitName = basePigpen.getPigpenName();
|
|
|
- String pigpenName = basePigpen.getPigpenName();
|
|
|
- Map countMap = new HashMap<String, Object>();
|
|
|
- countList.add(countMap);
|
|
|
- int onlineTimes = 0;
|
|
|
- int offlineTimes = 0;
|
|
|
- StringBuilder onlineSb = new StringBuilder();
|
|
|
- StringBuilder offlineSb = new StringBuilder();
|
|
|
- // 用330110002测试
|
|
|
+ Integer unitId = basePigpen.getId();
|
|
|
+ String unitName = basePigpen.getPigpenName();
|
|
|
+ String pigpenName = basePigpen.getPigpenName();
|
|
|
+ Map countMap = new HashMap<String, Object>();
|
|
|
+ countList.add(countMap);
|
|
|
+ int onlineTimes = 0;
|
|
|
+ int offlineTimes = 0;
|
|
|
+ StringBuilder onlineSb = new StringBuilder();
|
|
|
+ StringBuilder offlineSb = new StringBuilder();
|
|
|
+ // 用330110002测试
|
|
|
// if(farmId.trim().equalsIgnoreCase("330110002")){
|
|
|
- // {读取相关耳标注册记录}
|
|
|
- List<EartagEartagRegister2> eartagEartagRegister2List = getEartagRegister(farmCode, unitId);
|
|
|
- if (eartagEartagRegister2List.size() == 0) {
|
|
|
- System.out.println("该单元没有耳标。");
|
|
|
- }
|
|
|
- System.out.println("该单元没有耳标 eartagEartagRegister2List.size=" + eartagEartagRegister2List.size());
|
|
|
- for (EartagEartagRegister2 eartagEartagRegister2 : eartagEartagRegister2List) {
|
|
|
- Date lastTime = eartagEartagRegister2.getLastTime();
|
|
|
- long offlineTimeDiff = nowTimestamp.getTime() - lastTime.getTime();
|
|
|
- long theMinutes = offlineTimeDiff / (1000 * 60);
|
|
|
- System.out.println("两个时间离线的时间差为:" + theMinutes);
|
|
|
- System.out.println("配置好的离线时间" + offlineTimeDef);
|
|
|
- if (offlineTimeDiff / (1000 * 60) >= offlineTimeDef) {
|
|
|
+ // {读取相关耳标注册记录}
|
|
|
+ List<EartagEartagRegister2> eartagEartagRegister2List = getEartagRegister(farmCode, unitId);
|
|
|
+ if (eartagEartagRegister2List.size() == 0) {
|
|
|
+ System.out.println("该单元没有耳标。");
|
|
|
+ }
|
|
|
+ System.out.println("该单元没有耳标 eartagEartagRegister2List.size=" + eartagEartagRegister2List.size());
|
|
|
+ for (EartagEartagRegister2 eartagEartagRegister2 : eartagEartagRegister2List) {
|
|
|
+ Date lastTime = eartagEartagRegister2.getLastTime();
|
|
|
+ long offlineTimeDiff = nowTimestamp.getTime() - lastTime.getTime();
|
|
|
+ long theMinutes = offlineTimeDiff / (1000 * 60);
|
|
|
+ System.out.println("两个时间离线的时间差为:" + theMinutes);
|
|
|
+ System.out.println("配置好的离线时间" + offlineTimeDef);
|
|
|
+ if (offlineTimeDiff / (1000 * 60) >= offlineTimeDef) {
|
|
|
|
|
|
- System.out.println("-----开始了离线耳标的循环记录------");
|
|
|
- if (eartagEartagRegister2.getLiveStatus() == 1) {
|
|
|
- eartagEartagRegister2.setLiveStatus(0);
|
|
|
- offlineTimes++;
|
|
|
- if (offlineSb.length() > 0) {
|
|
|
- offlineSb.append(",");
|
|
|
- }
|
|
|
- offlineSb.append(eartagEartagRegister2.getEarmark());
|
|
|
+ System.out.println("-----开始了离线耳标的循环记录------");
|
|
|
+ if (eartagEartagRegister2.getLiveStatus() == 1) {
|
|
|
+ eartagEartagRegister2.setLiveStatus(0);
|
|
|
+ offlineTimes++;
|
|
|
+ if (offlineSb.length() > 0) {
|
|
|
+ offlineSb.append(",");
|
|
|
+ }
|
|
|
+ offlineSb.append(eartagEartagRegister2.getEarmark());
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- } else {
|
|
|
- eartagEartagRegister2.setLiveStatus(1);
|
|
|
- onlineTimes++;
|
|
|
- if (onlineSb.length() > 0) {
|
|
|
- onlineSb.append(",");
|
|
|
+ } else {
|
|
|
+ eartagEartagRegister2.setLiveStatus(1);
|
|
|
+ onlineTimes++;
|
|
|
+ if (onlineSb.length() > 0) {
|
|
|
+ onlineSb.append(",");
|
|
|
+ }
|
|
|
+ onlineSb.append(eartagEartagRegister2.getEarmark());
|
|
|
}
|
|
|
- onlineSb.append(eartagEartagRegister2.getEarmark());
|
|
|
+ eartagEartagRegister2Mapper.updateById(eartagEartagRegister2);
|
|
|
}
|
|
|
- eartagEartagRegister2Mapper.updateById(eartagEartagRegister2);
|
|
|
- }
|
|
|
// }
|
|
|
- countMap.put("farmCode", farmCode);
|
|
|
- countMap.put("unitId", unitId);
|
|
|
- countMap.put("unitName", unitName);
|
|
|
- countMap.put("total", onlineTimes + offlineTimes);
|
|
|
- countMap.put("online", onlineTimes);
|
|
|
- countMap.put("offline", offlineTimes);
|
|
|
- countMap.put("onlineEarmark", onlineSb.toString());
|
|
|
- countMap.put("offlineEarmark", offlineSb.toString());
|
|
|
+ countMap.put("farmCode", farmCode);
|
|
|
+ countMap.put("unitId", unitId);
|
|
|
+ countMap.put("unitName", unitName);
|
|
|
+ countMap.put("total", onlineTimes + offlineTimes);
|
|
|
+ countMap.put("online", onlineTimes);
|
|
|
+ countMap.put("offline", offlineTimes);
|
|
|
+ countMap.put("onlineEarmark", onlineSb.toString());
|
|
|
+ countMap.put("offlineEarmark", offlineSb.toString());
|
|
|
|
|
|
- //耳标离线报警
|
|
|
- if (offlineSb.length() > 0) {
|
|
|
- JSONObject offlineJo = new JSONObject();
|
|
|
- offlineJo.put("pigpen", pigpenName + unitName);
|
|
|
- offlineJo.put("earmark", offlineSb.toString());
|
|
|
- offlineJo.put("farmCode", farmCode);
|
|
|
- offlineJa.add(offlineJo);
|
|
|
+ //耳标离线报警
|
|
|
+ if (offlineSb.length() > 0) {
|
|
|
+ JSONObject offlineJo = new JSONObject();
|
|
|
+ offlineJo.put("pigpen", pigpenName + unitName);
|
|
|
+ offlineJo.put("earmark", offlineSb.toString());
|
|
|
+ offlineJo.put("farmCode", farmCode);
|
|
|
+ offlineJa.add(offlineJo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (int a = 0; a < countList.size(); a++) {
|
|
|
+ Map countMap = (Map) countList.get(a);
|
|
|
+ EartagOnlineStatus eartagOnlineStatus = new EartagOnlineStatus();
|
|
|
+ eartagOnlineStatus.setFarmId(countMap.get("farmCode").toString());
|
|
|
+ eartagOnlineStatus.setUnitId(countMap.get("unitId").toString());
|
|
|
+ eartagOnlineStatus.setUnitName(countMap.get("unitName").toString());
|
|
|
+ eartagOnlineStatus.setTotal(Integer.parseInt(countMap.get("total").toString()));
|
|
|
+ eartagOnlineStatus.setOnline(Integer.parseInt(countMap.get("online").toString()));
|
|
|
+ eartagOnlineStatus.setOffline(Integer.parseInt(countMap.get("offline").toString()));
|
|
|
+ eartagOnlineStatus.setOnlineEarmark(countMap.get("onlineEarmark").toString());
|
|
|
+ eartagOnlineStatus.setOfflineEarmark(countMap.get("offlineEarmark").toString());
|
|
|
+ eartagOnlineStatus.setAddTime(nowTimestamp);
|
|
|
+ eartagOnlineStatusMapper.insert(eartagOnlineStatus);
|
|
|
}
|
|
|
+ //添加异常报警信息
|
|
|
+ saveEartagOfflineAlarm(offlineJa);
|
|
|
}
|
|
|
- for (int a = 0; a < countList.size(); a++) {
|
|
|
- Map countMap = (Map) countList.get(a);
|
|
|
- EartagOnlineStatus eartagOnlineStatus = new EartagOnlineStatus();
|
|
|
- eartagOnlineStatus.setFarmId(countMap.get("farmCode").toString());
|
|
|
- eartagOnlineStatus.setUnitId(countMap.get("unitId").toString());
|
|
|
- eartagOnlineStatus.setUnitName(countMap.get("unitName").toString());
|
|
|
- eartagOnlineStatus.setTotal(Integer.parseInt(countMap.get("total").toString()));
|
|
|
- eartagOnlineStatus.setOnline(Integer.parseInt(countMap.get("online").toString()));
|
|
|
- eartagOnlineStatus.setOffline(Integer.parseInt(countMap.get("offline").toString()));
|
|
|
- eartagOnlineStatus.setOnlineEarmark(countMap.get("onlineEarmark").toString());
|
|
|
- eartagOnlineStatus.setOfflineEarmark(countMap.get("offlineEarmark").toString());
|
|
|
- eartagOnlineStatus.setAddTime(nowTimestamp);
|
|
|
- eartagOnlineStatusMapper.insert(eartagOnlineStatus);
|
|
|
}
|
|
|
- //添加异常报警信息
|
|
|
- saveEartagOfflineAlarm(offlineJa);
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
/*@Override
|
|
@@ -304,13 +310,14 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
eartagAbnormalCountEntity.setFarmCode(farmCode);
|
|
|
eartagAbnormalCountEntity.setAddDate(todayDate);
|
|
|
Example<EartagAbnormalCountEntity> example = Example.of(eartagAbnormalCountEntity);
|
|
|
- Optional<EartagAbnormalCountEntity> optional = eartagAbnormalCountEntityRepo.findOne(example);
|
|
|
- if (!optional.isPresent()) {
|
|
|
+// Optional<EartagAbnormalCountEntity> optional = eartagAbnormalCountEntityRepo.findOne(example);
|
|
|
+ List<EartagAbnormalCountEntity> all = eartagAbnormalCountEntityRepo.findAll(example);
|
|
|
+ if (ObjectUtil.isEmpty(all)) {
|
|
|
eartagAbnormalCountEntity.setEartagStatusCount(offlineTimes);
|
|
|
eartagAbnormalCountEntity.setEartagStatusUpateTime(nowTimestamp);
|
|
|
eartagAbnormalCountEntityRepo.saveAndFlush(eartagAbnormalCountEntity);
|
|
|
} else {
|
|
|
- EartagAbnormalCountEntity queryEartagAbnormalCountEntity = optional.get();
|
|
|
+ EartagAbnormalCountEntity queryEartagAbnormalCountEntity = all.get(0);
|
|
|
queryEartagAbnormalCountEntity.setEartagStatusCount(offlineTimes);
|
|
|
queryEartagAbnormalCountEntity.setEartagStatusUpateTime(nowTimestamp);
|
|
|
eartagAbnormalCountEntityRepo.saveAndFlush(queryEartagAbnormalCountEntity);
|