|
@@ -46,7 +46,6 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
private com.huimv.eartag2.manage2.mapper.SysBaseConfigMapper SysBaseConfigMapper;
|
|
|
@Autowired
|
|
|
private EartagOnlineStatusMapper eartagOnlineStatusMapper;
|
|
|
-
|
|
|
@Override
|
|
|
public void updateEartagLiveStatusAndCount() throws ParseException {
|
|
|
// {}
|
|
@@ -60,6 +59,109 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
Map confMap = new HashMap();
|
|
|
confMap.put("config_key","eartagOfflineTime");
|
|
|
List<SysBaseConfig> configList = SysBaseConfigMapper.selectByMap(confMap);
|
|
|
+ for (SysBaseConfig baseConfig : configList) {
|
|
|
+ if(configList.size()>0){
|
|
|
+ offlineTimeDef = Integer.parseInt(baseConfig.getConfigValue());
|
|
|
+ log.info("耳标离线时间="+offlineTimeDef);
|
|
|
+ }else{
|
|
|
+ log.error("耳标离线时间属性未配置.");
|
|
|
+ }
|
|
|
+ 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){
|
|
|
+// 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测试
|
|
|
+// 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();
|
|
|
+ if(offlineTimeDiff/(1000*60) >= offlineTimeDef){
|
|
|
+ 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(",");
|
|
|
+ }
|
|
|
+ onlineSb.append(eartagEartagRegister2.getEarmark());
|
|
|
+ }
|
|
|
+ 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());
|
|
|
+
|
|
|
+ //耳标离线报警
|
|
|
+ if(offlineSb.length()>0){
|
|
|
+ JSONObject offlineJo = new JSONObject();
|
|
|
+ offlineJa.add(offlineJo);
|
|
|
+ offlineJo.put("pigpen",pigpenName+unitName);
|
|
|
+ offlineJo.put("earmark",offlineSb.toString());
|
|
|
+ offlineJo.put("farmCode",farmCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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
|
|
|
+ public void updateEartagLiveStatusAndCount() throws ParseException {
|
|
|
+ // {}
|
|
|
+ List<BasePigpen> basePigpenList = getUnitByPigpen();
|
|
|
+ System.out.println("basePigpenList.size="+basePigpenList.size());
|
|
|
+ if(basePigpenList.size() == 0){
|
|
|
+ System.out.println("单元数为0");
|
|
|
+ }
|
|
|
+ Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
|
|
|
+ int offlineTimeDef = 30;
|
|
|
+ Map confMap = new HashMap();
|
|
|
+ confMap.put("config_key","eartagOfflineTime");
|
|
|
+ List<SysBaseConfig> configList = SysBaseConfigMapper.selectByMap(confMap);
|
|
|
if(configList.size()>0){
|
|
|
offlineTimeDef = Integer.parseInt(configList.get(0).getConfigValue());
|
|
|
log.info("耳标离线时间="+offlineTimeDef);
|
|
@@ -143,7 +245,7 @@ public class EartagServiceImpl implements IEartagService {
|
|
|
}
|
|
|
//添加异常报警信息
|
|
|
saveEartagOfflineAlarm(offlineJa);
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
@Autowired
|
|
|
private EartagAbnormalAlarmEntityRepo eartagAbnormalAlarmEntityRepo;
|