package com.motor.alarm;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.base.Com;
|
import com.motor.data.Motor_inf;
|
import com.sql.MysqlConnPool;
|
|
public class Motor_Alarm_Thread implements Runnable{
|
public MysqlConnPool conn_pool;
|
public List<Motor_inf> motors;
|
|
public Motor_Alarm_Thread(MysqlConnPool conn_pool,List<Motor_inf> motors) {
|
this.conn_pool = conn_pool;
|
this.motors = motors;
|
}
|
|
@Override
|
public void run() {
|
System.out.println("Motor_Alarm_Thread Start at " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
//³õʼ»¯Æô¶¯Ö®Ç°µÄ¸æ¾¯¼Ç¼
|
Motor_Alarm_Thread_SQL.initLastDevAlarm(conn_pool, motors);
|
|
List<Motor_Alarm> clearalm = new ArrayList<Motor_Alarm>(); //ÐÂÔö¸æ¾¯¼Ç¼
|
List<Motor_Alarm> addalm = new ArrayList<Motor_Alarm>(); //ɾ³ý¸æ¾¯¼Ç¼
|
while(true) {
|
try {
|
for(int i=0;i<motors.size();i++) {
|
for(int k =0;k<motors.get(i).alarms.size();k++) {
|
checkAlarmData(motors.get(i).alarms.get(k),addalm,clearalm);
|
}
|
}
|
//Ìí¼Óеĸ澯¼Ç¼
|
Motor_Alarm_Thread_SQL.insertNewAlarm(conn_pool,addalm);
|
addalm.clear();
|
|
//ɾ³ýÒÑÏûʧµÄʵʱ¸æ¾¯
|
Motor_Alarm_Thread_SQL.AlarmDisappear(conn_pool, clearalm);
|
clearalm.clear();
|
|
Thread.sleep(800);
|
} catch (Exception e) {
|
try {
|
Thread.sleep(1000);
|
} catch (InterruptedException e1) {
|
e1.printStackTrace();
|
}
|
e.printStackTrace();
|
}
|
}
|
}
|
|
/**
|
* ¼ì²â¸æ¾¯¼Ç¼
|
* @param motor_Alarm
|
* @param addalm ÐÂÔö¸æ¾¯
|
* @param clearalm ɾ³ý¸æ¾¯
|
*/
|
private void checkAlarmData(Motor_Alarm alarm, List<Motor_Alarm> addalm, List<Motor_Alarm> clearalm) {
|
if(alarm.alarm_type == Motor_Alarm.ALARM_TYPE_ADD) {
|
addalm.add(alarm);
|
}else if(alarm.alarm_type == Motor_Alarm.ALARM_TYPE_DEL) {
|
clearalm.add(alarm);
|
}
|
}
|
}
|