package com.table.badbatt;
|
|
import java.awt.dnd.DropTargetListener;
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.sql.Timestamp;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.UUID;
|
|
import com.mysql_param.Mysql_database_param;
|
import com.table.alarm.AlarmDaoFactory;
|
import com.table.alarm.Alarm_param;
|
import com.table.alarm.Battalarm_data;
|
import com.table_sql.CallBack;
|
import com.table_sql.MySqlPool;
|
|
public class BadBatt_thread extends Thread{
|
private MySqlPool m_ConnPool = null;
|
private Connection conn=null;
|
private String selecteffectiveBatt="";//²éѯ³öµç³Ø·Åµç×îÐÂÓÐЧ²âÊÔ
|
private String selectBadSql="";//²éѯ³öÂäºóµ¥Ìå
|
private String insertalarmSql="";//Ïò¸æ¾¯±íÖвåÈëÒòµ¥ÌåÂäºóµ¼Öµĸ澯
|
private String updatealarmSql="";//Âäºóµ¥Ìåɸѡ³öÀ´ºóÐÞ¸ÄͬÀàÐ͵ĸ澯
|
private String deletealarmSql="";//ɾ³ýͬÖÖµ¥ÌåͬÖÖÀàÐ͵¥ÌåÂäºóµ¼Öµĸ澯ʵʱµÄ
|
private String selectParamSql="";//²éѯbatt_param_low±íÖеIJÎÊý
|
private String selectAlarmparamSql="";//²éѯµç³Ø×鏿¾¯²ÎÊý±íÖÐÐÅÏ¢
|
private String deletebadbatt_monSql="";//Çå³ýÂäºóµ¥Ìå±íÖеÄÊý¾Ý
|
private String createbadbatt_monSql="";//´´½¨Âäºóµ¥Ìå±í
|
private String createbadbatt_mon_flagSql="";//´´½¨Âäºóµ¥Ìå±íʾ±í
|
private String deletebadbatt_mon_flagSql="";//Çå¿ÕÂäºóµ¥Ìå±íʾ±í
|
private String searchbadbatt_mon_flagSql="";//¼ì²âÂäºóµ¥Ìå±íʾ±í
|
private String insertbadbatt_monSql="";//ÏòÂäºóµ¥Ìå±íÖвåÈëÊý¾Ý
|
//battinf±í
|
private static String binf=Mysql_database_param.db_battinf+Mysql_database_param.tb_battinf;
|
//testdata_inf±í
|
private static String tinf=Mysql_database_param.db_batt_testdata+Mysql_database_param.tb_batttestdata_inf;
|
//testdatastop±í
|
private static String tstop=Mysql_database_param.db_batt_testdata+Mysql_database_param.tb_batttestdatastop;
|
//batt_param_low±í
|
private static String bparam=Mysql_database_param.web_site+Mysql_database_param.tb_batt_param_low;
|
//tb_alarm_param±í
|
private static String aparam=Mysql_database_param.db_param+Mysql_database_param.tb_alarm_param;
|
//tb_badbatt_mon±í
|
private static String bad_mon=Mysql_database_param.web_site+Mysql_database_param.tb_badbatt_mon;
|
//tb_battalarm_data±í
|
private static String balarm=Mysql_database_param.db_alarm+Mysql_database_param.tb_battalarm_data;
|
//tb_batttestdata_id±í
|
private static String tdata=Mysql_database_param.db_batt_testdata+Mysql_database_param.tb_batttestdata;
|
//tb_badbatt_mon_flag±í£¨Âäºóµ¥Ìåºǫ́¹¦ÄÜÆô¶¯µÄ±êÖ¾±í£©
|
private static String bad_mon_flag=Mysql_database_param.web_site+Mysql_database_param.tb_badbatt_mon_flag;
|
//tb_fbs9100_state±í
|
private static String fbs9100_state=Mysql_database_param.db_ram_db+Mysql_database_param.tb_fbs9100_state;
|
|
public static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
public static int number=0;//×ܵ¥ÌåÊý-----------
|
public static int hourRate=0;//СʱÂÊ
|
public static double current=0;//µ±Ç°µçÁ÷
|
public static double SumAH=0;//²âÊÔÈÝÁ¿
|
public static double MaxMonomerVol=0;//×î´óµçѹ
|
public static double MonomerVol=0; //×îСµçѹ
|
public static double MonomerVolType=0;//µç³ØµçѹÀàÐÍ
|
public static double realCap=0;//ʵ¼ÊÈÝÁ¿
|
public static float param=0;//ÈÝÁ¿ÓÐЧ²ÎÊý
|
public static double STDAH=0;//±ê´æÈÝÁ¿
|
public BadBatt_thread(MySqlPool m_ConnPool) {
|
super();
|
this.m_ConnPool = m_ConnPool;
|
/*System.out.println("binf: "+binf);
|
System.out.println("tinf: "+tinf);
|
System.out.println("tstop: "+tstop);
|
System.out.println("bparam: "+bparam);
|
System.out.println("aparam: "+aparam);
|
System.out.println("bad_mon: "+bad_mon);
|
System.out.println("bad_mon_flag: "+bad_mon_flag);
|
System.out.println("fbs9100_state: "+fbs9100_state);*/
|
}
|
//²éѯ³öµç³Ø·ÅµçËùÓзŵç²âÊÔ
|
public List Batt_selecteffectiveBatt(MySqlPool m_ConnPool){
|
|
String sql="select DISTINCT("+tinf+".BattGroupId),"+tinf+".test_starttime,"+tinf+".record_time,"+tinf+".test_cap,"+tinf+".max_monvol,"+tinf+".min_monvol,"+tinf+".test_record_count,"+tinf+".test_curr, "
|
+ " "+binf+".battgroupid,"+binf+".stationname1,"+binf+".stationname,"+binf+".battproducer,"+binf+".battinusedate,"+binf+".MonCapStd,"+binf+".monvolstd,"+binf+".battgroupname "
|
+ " FROM "+tinf+","+binf+","+fbs9100_state+" "
|
+ " WHERE "+tinf+".BattGroupId="+binf+".BattGroupId "
|
+ " and "+binf+".FBSDeviceId="+fbs9100_state+".dev_id "
|
+ " and test_type="+BattCapFactory.test3+" and test_starttype="+BattCapFactory.test_start3+" "
|
+ " and dev_workstate=0 and "+binf+".Station_install=1 "
|
+ " ORDER BY "+tinf+".battgroupid asc,"+tinf+".test_starttime desc ";
|
//System.out.println(sql);
|
List list=new ArrayList();
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
try {
|
while(rs.next()){
|
Batt_Maint_Dealarm bmd =new Batt_Maint_Dealarm();
|
Batttestdata_inf tinf=new Batttestdata_inf();
|
BattInf binf=new BattInf();
|
binf.setBattGroupId(rs.getInt("battGroupId"));
|
binf.setStationName1(rs.getString("stationName1"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setBattProducer(rs.getString("battProducer"));
|
if(rs.getString("battInUseDate")!=null)
|
binf.setBattInUseDate(rs.getDate("battInUseDate"));
|
binf.setMonVolStd(rs.getFloat("monVolStd"));
|
binf.setMonCapStd(rs.getFloat("monCapStd"));
|
|
binf.setBattGroupName(rs.getString("battGroupName"));
|
tinf.setBattGroupId(rs.getInt("battGroupId"));
|
if(rs.getString("test_starttime")!=null)
|
tinf.setTest_starttime(rs.getTimestamp("test_starttime"));
|
if(rs.getString("record_time")!=null)
|
tinf.setRecord_time(rs.getTimestamp("record_time"));
|
tinf.setTest_cap(rs.getFloat("test_cap"));
|
tinf.setMax_monvol(rs.getFloat("max_monvol"));
|
tinf.setMin_monvol(rs.getFloat("min_monvol"));
|
tinf.setTest_record_count(rs.getInt("test_record_count"));
|
tinf.setTest_curr(rs.getFloat("test_curr"));
|
|
bmd.setBinf(binf);
|
bmd.setTinf(tinf);
|
list.add(bmd);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally{
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
return list;
|
}
|
//²éѯ³öÂäºóµ¥Ìå
|
public List Batt_selectBadSql(int battgroupid,int recourd_count,String record_time,MySqlPool m_ConnPool){
|
String usesql=tstop+battgroupid;
|
String sql="select num,BattGroupId,test_record_count,test_type,data_new,data_available,record_num,test_starttime,record_time,test_timelong,group_vol,test_curr,test_cap,mon_num,mon_vol "
|
+ " from "+usesql
|
+ " where test_record_count="+recourd_count+" and record_time='"+record_time+"'";
|
//System.out.println(sql);
|
List<Batt_Maint_Dealarm> list=new ArrayList();
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
try {
|
while(rs.next()){
|
Batt_Maint_Dealarm bmd=new Batt_Maint_Dealarm();
|
BattInf binf=new BattInf();
|
Batttestdatastop tstop=new Batttestdatastop();
|
tstop.setNum(rs.getInt("num"));
|
tstop.setBattGroupId(rs.getInt("BattGroupId"));
|
tstop.setTest_record_count(rs.getInt("test_record_count"));
|
tstop.setTest_type(rs.getInt("test_type"));
|
tstop.setData_new(rs.getInt("data_new"));
|
tstop.setData_available(rs.getInt("data_available"));
|
tstop.setRecord_num(rs.getInt("record_num"));
|
tstop.setTest_starttime(rs.getTimestamp("test_starttime"));
|
tstop.setRecord_time(rs.getTimestamp("record_time"));
|
tstop.setTest_timelong(rs.getInt("test_timelong"));
|
tstop.setGroup_vol(rs.getFloat("group_vol"));
|
tstop.setTest_curr(rs.getFloat("test_curr"));
|
tstop.setTest_cap(rs.getFloat("test_cap"));
|
tstop.setMon_num(rs.getInt("mon_num"));
|
tstop.setMon_vol(rs.getFloat("mon_vol"));
|
bmd.setBinf(binf);
|
bmd.setTstop(tstop);
|
list.add(bmd);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally {
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
/*for (Batt_Maint_Dealarm b : list) {
|
System.out.println(b.getTstop());
|
}*/
|
return list;
|
}
|
//Ïò¸æ¾¯±íÖвåÈëÒòµ¥ÌåÂäºóµ¼Öµĸ澯
|
public ArrayList Batt_insertalarmSql(Object obj,MySqlPool m_ConnPool){
|
List<Batt_Maint_Dealarm> list=(List<Batt_Maint_Dealarm>) obj;
|
ArrayList sql_str=new ArrayList();
|
if(list.size()>0&&list!=null){
|
for(int i=0;i<list.size();i++){
|
Battalarm_data adata = new Battalarm_data();
|
Batttestdatastop tstop=(Batttestdatastop) list.get(i).getTstop();
|
adata.setBattGroupId(tstop.getBattGroupId());
|
adata.setMonNum(tstop.getMon_num());
|
adata.setRecord_Id(UUID.randomUUID().getLeastSignificantBits());
|
adata.setAlm_id(tstop.getNum());
|
//System.out.println("tstop.getBattGroupId():"+tstop.getBattGroupId()+" tstop.getNum():"+tstop.getNum());
|
adata.setAlm_signal_id(tstop.getTest_type());//´æ·Å¸æ¾¯ÀàÐ͵ĸߵ͸澯
|
adata.setAlm_level(tstop.getData_available());//ĬÈÏΪ±íÖе±Ç°¸æ¾¯ÀàÐ͵ĸ澯µÈ¼¶
|
adata.setAlm_start_time(new Date());//µ±Ç°¼Ç¼µÄʱ¼ä
|
adata.setAlm_end_time(new Date());
|
adata.setAlm_value(tstop.getTest_cap());//ĬÈÏΪµ±Ç°¸æ¾¯ÀàÐ͵Äʵ¼ÊÖµ
|
adata.setAlm_is_confirmed(0);
|
adata.setAlm_confirmed_time(new Date());//ĬÈÏΪµ±Ç°Ê±¼ä
|
adata.setAlm_cleared_type(0);//ĬÈÏΪʵʱ¸æ¾¯0
|
adata.setUsr_Id(0);
|
boolean bl=deleteAndinsert(adata, m_ConnPool);
|
//System.out.println(i+" "+bl);
|
//int flag=judge(adata, m_ConnPool);//ÅÐ¶Ï¸Äµç³Ø×é¸Ãµ¥ÌåÊÇ·ñ´æÔÚÈÝÁ¿¸æ¾¯¸æ¾¯ºÍÈÝÁ¿¸ü»»¸æ¾¯
|
/*if(flag==1){
|
//System.out.println(adata.getBattGroupId());
|
updatealarmSql = "update "+balarm+" set Record_Id="+adata.getRecord_Id()+",alm_signal_id="+adata.getAlm_signal_id()+",alm_level="+adata.getAlm_level()
|
+",alm_start_time='"+BadBatt_thread.sdf.format(adata.getAlm_start_time())+"',alm_end_time='"+BadBatt_thread.sdf.format(adata.getAlm_end_time())+"',alm_value="+adata.getAlm_value()+",alm_is_confirmed="+adata.getAlm_is_confirmed()
|
+",alm_confirmed_time='"+BadBatt_thread.sdf.format(adata.getAlm_confirmed_time())+"',usr_Id="+adata.getUsr_Id()
|
+",alm_id="+adata.getAlm_id()
|
+" where BattGroupId="+adata.getBattGroupId()+" and MonNum="+adata.getMonNum()+" and alm_id in("+AlarmDaoFactory.Alarm_CapAlarm+","+AlarmDaoFactory.Alarm_CapChange+") and alm_cleared_type="+adata.getAlm_cleared_type();
|
sql_str.add(updatealarmSql);
|
}else{*/
|
insertalarmSql="insert into "+balarm+" "
|
+ "("
|
+ "BattGroupId,"
|
+ "MonNum,"
|
+ "Record_Id,"
|
+ "alm_id,"
|
+ "alm_signal_id,"
|
+ "alm_level,"
|
+ "alm_start_time,"
|
+ "alm_end_time,"
|
+ "alm_value,"
|
+ "alm_is_confirmed,"
|
+ "alm_confirmed_time,"
|
+ "alm_cleared_type,"
|
+ "usr_Id"
|
+ ") "
|
+ " values("
|
+ adata.getBattGroupId()+","
|
+ adata.getMonNum()+","
|
+ adata.getRecord_Id()+","
|
+ adata.getAlm_id()+","
|
+ adata.getAlm_signal_id()+","
|
+ adata.getAlm_level()+","
|
+"'"+BadBatt_thread.sdf.format(adata.getAlm_start_time())+"',"
|
+"'"+BadBatt_thread.sdf.format(adata.getAlm_end_time())+"',"
|
+ adata.getAlm_value()+","
|
+ adata.getAlm_is_confirmed()+","
|
+"'"+BadBatt_thread.sdf.format(adata.getAlm_confirmed_time())+"',"
|
+ adata.getAlm_cleared_type()+","
|
+ adata.getUsr_Id()
|
+ ")";//Èç¹û¶ÔÓ¦ÊÇ×Ö·û¼¸¸ö´øÉϵ¥ÒýºÅ
|
sql_str.add(insertalarmSql);
|
}
|
}
|
return sql_str;
|
}
|
//ɾ³ý¾ÉµÄ¸Ãµç³Ø×éµÄʵʱ¸æ¾¯£¬²¢½«ÆäÌí¼ÓÖÁÀúÊ·¸æ¾¯ÖÐ
|
public boolean deleteAndinsert(Object obj,MySqlPool m_ConnPool){
|
Battalarm_data adata = (Battalarm_data) obj;
|
ArrayList sql_str=new ArrayList();
|
//²éѯ¾ÉµÄ¸æ¾¯
|
String selectSql="select battgroupid,monnum,record_id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_id from db_alarm.tb_battalarm_data where battgroupid="+adata.getBattGroupId()+" and alm_id in("+BattCapFactory.Alarm_CapChange+","+BattCapFactory.Alarm_CapAlarm+")";
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, selectSql);
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Battalarm_data a=new Battalarm_data();
|
a.setBattGroupId(rs.getInt("battGroupId"));
|
a.setMonNum(rs.getInt("monNum"));
|
a.setRecord_Id(rs.getLong("record_Id"));
|
a.setAlm_id(rs.getInt("alm_id"));
|
a.setAlm_signal_id(rs.getInt("alm_signal_id"));
|
a.setAlm_level(rs.getInt("alm_level"));
|
a.setAlm_start_time(rs.getTimestamp("alm_start_time"));
|
a.setAlm_end_time(rs.getTimestamp("alm_end_time"));
|
a.setAlm_value(rs.getFloat("alm_value"));
|
a.setAlm_is_confirmed(rs.getInt("alm_is_confirmed"));
|
a.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time"));
|
a.setAlm_cleared_type(rs.getInt("alm_cleared_type"));
|
a.setUsr_Id(rs.getInt("usr_Id"));
|
list.add(a);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally {
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
if(list!=null&&list.size()>0) {
|
for (int i = 0; i < list.size(); i++) {
|
Battalarm_data ad=(Battalarm_data) list.get(i);
|
//½«¾ÉµÄ¸æ¾¯·ÅÈëÀúÊ·¸æ¾¯
|
String insertSql="insert into db_alarm.tb_battalarm_data_history(battgroupid,monnum,record_id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_id) "
|
+ " values("
|
+ ad.getBattGroupId()+","
|
+ ad.getMonNum()+","
|
+ ad.getRecord_Id()+","
|
+ ad.getAlm_id()+","
|
+ ad.getAlm_signal_id()+","
|
+ ad.getAlm_level()+",'"
|
+ BadBatt_thread.sdf.format(ad.getAlm_start_time())+"','"
|
+ BadBatt_thread.sdf.format(ad.getAlm_end_time())+"',"
|
+ ad.getAlm_value()+","
|
+ ad.getAlm_is_confirmed()+",'"
|
+ BadBatt_thread.sdf.format(ad.getAlm_confirmed_time())+"',"
|
+ ad.getAlm_cleared_type()+","
|
+ ad.getUsr_Id()+""
|
+ ")";
|
sql_str.add(insertSql);
|
}
|
}
|
//ɾ³ý¾ÉµÄ¸Ãµç³Ø×éµÄʵʱ¸æ¾¯
|
String deleteSql="delete from db_alarm.tb_battalarm_data where battgroupid="+adata.getBattGroupId()+" and alm_id in("+BattCapFactory.Alarm_CapChange+","+BattCapFactory.Alarm_CapAlarm+")";
|
sql_str.add(deleteSql);
|
boolean bl=MySqlPool.makeManualCommit(m_ConnPool.getConn(), sql_str);
|
return bl;
|
}
|
//7.2Âäºóµ¥Ìåɸѡ³öÀ´ºó£¬Íù¸æ¾¯±íÌí¼ÓǰµÄÅжÏ
|
public int judge(Object obj,MySqlPool m_ConnPool){
|
Battalarm_data adata = (Battalarm_data) obj;
|
String sql=" SELECT COUNT(num) AS nums FROM "+balarm+" WHERE battgroupid="+adata.getBattGroupId()+" and monnum="+adata.getMonNum()+" and alm_id in("+AlarmDaoFactory.Alarm_CapAlarm+","+AlarmDaoFactory.Alarm_CapChange+") and alm_cleared_type="+adata.getAlm_cleared_type();
|
//System.out.println(sql);
|
List list=new ArrayList();
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
try {
|
while(rs.next()){
|
int nums=rs.getInt("nums");
|
list.add(nums);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally{
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
int flag=0;//·µ»Ø±êʶ·û
|
if(list!=null&&list.size()>0){
|
int nums=(Integer) list.get(list.size()-1);
|
if(nums>0){
|
flag=1;
|
}else{
|
flag=0;
|
}
|
}
|
//System.out.println(adata.getBattGroupId()+" "+adata.getMonNum()+" "+adata.getAlm_id()+" "+flag);
|
return flag;
|
}
|
//²éѯ±íbatt_param_lowÖеIJÎÊý
|
public List batt_paramsearchSql(Batt_param_low param,MySqlPool m_ConnPool){
|
String sql="select "+bparam+".num,"+bparam+".low_type,"+bparam+".low_nametype,"+bparam+".low_value,"+bparam+".low_method from "+bparam+" where "+bparam+".low_type="+param.getLow_type()+" and "+bparam+".low_nametype="+param.getLow_nametype()+" limit 1";
|
//System.out.println(sql);
|
List list=new ArrayList();
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
try {
|
while(rs.next()){
|
Batt_param_low blow=new Batt_param_low();
|
blow.setNum(rs.getInt("num"));
|
blow.setLow_type(rs.getInt("low_type"));
|
blow.setLow_nametype(rs.getInt("low_nametype"));
|
blow.setLow_value(rs.getFloat("low_value"));
|
blow.setLow_method(rs.getInt("low_method"));
|
list.add(blow);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally {
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
return list;
|
|
}
|
//²éѯµç³Ø¸æ¾¯²ÎÊý±íalarm_param
|
public List batt_alarmparamSql(int alm_id,MySqlPool m_ConnPool){
|
String sql="select num,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en from "+aparam+" where alm_id="+alm_id+" and alm_low_en=1 ";
|
List list=new ArrayList();
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
try {
|
while(rs.next()){
|
Alarm_param ap=new Alarm_param();
|
ap.setNum(rs.getInt("num"));
|
ap.setAlm_id(rs.getInt("alm_id"));
|
ap.setAlm_name(rs.getString("alm_name"));
|
ap.setAlm_high_coe(rs.getFloat("alm_high_coe"));
|
ap.setAlm_low_coe(rs.getFloat("alm_low_coe"));
|
ap.setAlm_high_level(rs.getInt("alm_high_level"));
|
ap.setAlm_low_level(rs.getInt("alm_low_level"));
|
ap.setAlm_high_en(rs.getInt("alm_high_en"));
|
ap.setAlm_low_en(rs.getInt("alm_low_en"));
|
list.add(ap);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally {
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
return list;
|
}
|
//Åжϴ˴εÄɸѡ³öÀ´µÄ·Åµç¼Ç¼ÓëÊý¾Ý¿âÖдæ·ÅµÄÊÇ·ñÒ»ÖÂ
|
public int badbatt_judgeInorNotSql(Object obj,MySqlPool m_ConnPool){
|
Batttestdata_inf tinf=(Batttestdata_inf) obj;
|
String sql="select count(num) as nums from "+bad_mon+" "
|
+ " WHERE "+bad_mon+".battgroupid="+tinf.getBattGroupId()+" "
|
+ " and "+bad_mon+".test_starttime='"+BadBatt_thread.sdf.format(tinf.getTest_starttime())+"' LIMIT 1";
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
int nums=0;//±íʾλ
|
try {
|
while(rs.next()){
|
nums=rs.getInt("nums");
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally {
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
return nums;
|
}
|
//´´½¨µ¥ÌåÂäºóµÄ±íbadBatt_Mon
|
public ArrayList badBatt_Moninsert(Object obj){
|
List<Batt_Maint_Dealarm> list=(List) obj;
|
ArrayList sql_str=new ArrayList();
|
|
//´´½¨Êý¾Ý±í
|
createbadbatt_monSql="CREATE TABLE IF NOT EXISTS "+bad_mon+" "
|
+ "("
|
+ "`num` int(11) NOT NULL AUTO_INCREMENT,"
|
+ "`battgroupid` int NOT NULL DEFAULT '0',"
|
+ " `mon_num` int NOT NULL DEFAULT '0',"
|
+ "`record_num` int NOT NULL DEFAULT '0',"
|
+ "`test_starttime` datetime NOT NULL DEFAULT '1982-01-01 00:00:00',"
|
+ "`group_vol` float NOT NULL DEFAULT '0',"
|
+ "`test_curr` float NOT NULL DEFAULT '0',"
|
+ "`mon_vol` float NOT NULL DEFAULT '0',"
|
+ "`real_cap` float NOT NULL DEFAULT '0',"
|
+ "`stdcap` float NOT NULL DEFAULT '0',"
|
+ "`note` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ',"
|
+ "PRIMARY KEY (`num`),"
|
+ "KEY `index_num` (`battgroupid`)"
|
+ ")";
|
sql_str.add(createbadbatt_monSql);
|
|
//ɾ³ýÊý¾Ý±í
|
// deletebadbatt_monSql="DELETE FROM "+bad_mon+" WHERE num>0";//truncate table ....
|
//sql_str.add(deletebadbatt_monSql);
|
|
//Ïòtb_badbatt_mon±íÖвåÈëÊý¾Ý
|
if(list.size()>0&&list!=null){
|
|
insertbadbatt_monSql="insert into "+bad_mon+" "
|
+ "("
|
+ "battgroupid,"
|
+ "mon_num,"
|
+ "record_num,"
|
+ "test_starttime,"
|
+ "group_vol,"
|
+ "test_curr,"
|
+ "mon_vol,"
|
+ "real_cap,"
|
+ "stdcap,"
|
+ "note"
|
+ ") "
|
+ " values ";
|
for(int i=0;i<list.size();i++){
|
Batttestdatastop tsop=list.get(i).getTstop();
|
int battgroupid=0;
|
deletebadbatt_monSql="DELETE FROM "+bad_mon+" WHERE battgroupid="+tsop.getBattGroupId()+" ";
|
if(battgroupid!=tsop.getBattGroupId()){
|
battgroupid=tsop.getBattGroupId();
|
sql_str.add(deletebadbatt_monSql);
|
}
|
if(i>0){
|
insertbadbatt_monSql+=" , ";
|
}
|
insertbadbatt_monSql=insertbadbatt_monSql
|
+ "("
|
+ tsop.getBattGroupId()+","
|
+ tsop.getMon_num()+","
|
+ tsop.getRecord_num()+","
|
+ "'"+BadBatt_thread.sdf.format(tsop.getTest_starttime())+"',"
|
+ tsop.getGroup_vol()+","
|
+ tsop.getTest_curr()+","
|
+ tsop.getMon_vol()+","
|
+ tsop.getTest_cap()+","
|
+ list.get(i).getBinf().getMonCapStd()+","
|
+ tsop.getNum().toString()+""
|
+ ")";//Èç¹û¶ÔÓ¦ÊÇ×Ö·û¼¸¸ö´øÉϵ¥ÒýºÅ
|
|
}
|
//System.out.println("insertbadbatt_monSql:"+insertbadbatt_monSql);
|
sql_str.add(insertbadbatt_monSql);
|
|
}
|
return sql_str;
|
}
|
//´´½¨badBatt_Mon_flag±í
|
public void badBatt_Mon_flagcreate(MySqlPool m_ConnPool){
|
//´´½¨Âäºóµ¥ÌåµÄ±íʾ±í
|
createbadbatt_mon_flagSql="CREATE TABLE IF NOT EXISTS "+bad_mon_flag+" "
|
+ "("
|
+ "`num` int(11) NOT NULL AUTO_INCREMENT,"
|
+ "`count` int NOT NULL DEFAULT '0',"
|
+ "PRIMARY KEY (`num`)"
|
+ ")";
|
Connection conn=m_ConnPool.getConn();
|
Boolean bl=m_ConnPool.sqlMysqlUpdate(conn, createbadbatt_mon_flagSql);
|
//System.out.println("createbadbatt_mon_flagSql:"+bl);
|
}
|
//Çå¿ÕbadBatt_Mon_flag±í
|
public boolean badBatt_Mon_flagdelete(MySqlPool m_ConnPool){
|
deletebadbatt_mon_flagSql="DELETE FROM "+bad_mon_flag+" WHERE num>0";
|
Connection conn=m_ConnPool.getConn();
|
Boolean bl=m_ConnPool.sqlMysqlUpdate(conn, deletebadbatt_mon_flagSql);
|
return bl;
|
}
|
//¼ì²âbadBatt_Mon_flag±íÊý¾ÝÁ¿
|
public boolean badBatt_Mon_flagsearch(MySqlPool m_ConnPool){
|
searchbadbatt_mon_flagSql=" select count(num) as nums from "+bad_mon_flag+" limit 1";
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, searchbadbatt_mon_flagSql);
|
boolean bl=false;
|
try {
|
while(rs.next()){
|
int nums=rs.getInt("nums");
|
if(nums>0){
|
bl=true;
|
}
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally {
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
return bl;
|
}
|
//7.1Âäºóµ¥ÌåɸѡÖе±µ¥Ìåµç<±ê´æµçѹ*0.9ʱµÄ²âÊÔµçÈݾÍÊÇʵ¼ÊµçÈÝ
|
public float Batt_serchRealCap(int battgroupid,int test_record_count,float mon_vol,int mon_num,MySqlPool m_ConnPool){
|
String sql="select test_cap from "+tdata+battgroupid+" "+
|
" WHERE test_record_count="+test_record_count+" and mon_vol>"+mon_vol+" and mon_num="+mon_num+" " +
|
" order by record_time DESC " +
|
" LIMIT 1 ";
|
List list=new ArrayList();
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
try {
|
while(rs.next()){
|
float test_cap=rs.getFloat("test_cap");
|
list.add(Math.abs(test_cap));
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally{
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
float test_cap=0f;
|
if(list!=null&&list.size()>0){
|
test_cap=(Float) list.get(list.size()-1);
|
}
|
return test_cap;
|
|
}
|
//paramÈÝÁ¿²ÎÊýÓÐЧֵµÄÉèÖÃ
|
public float setParam(MySqlPool m_ConnPool){
|
float pre_param=0;
|
Batt_param_low capLow=new Batt_param_low();
|
capLow.setLow_type(BattCapFactory.CapType_type);//2
|
capLow.setLow_nametype(BattCapFactory.CapType_name);//1
|
capLow.setLow_method(BattCapFactory.CapType_method);//0
|
|
List<Batt_param_low> listC=batt_paramsearchSql(capLow, m_ConnPool);
|
if(listC!=null&&listC.size()>0){
|
pre_param=listC.get(listC.size()-1).getLow_value();//0.01
|
}
|
return pre_param;
|
}
|
//µç³Ø×é×î½üÒ»´Î·Åµç¼Ç¼µÄɸѡ(²âÊÔÈÝÁ¿´óÓÚ0.1*±ê³ÆÈÝÁ¿)
|
public List recent_Test1(Object obj){
|
List<Batt_Maint_Dealarm> listE=(List<Batt_Maint_Dealarm>) obj;
|
int flag=0;//¸Ã´Î·ÅµçÊÇ·ñÓÐЧÅжÏ
|
List<Batt_Maint_Dealarm> list=new ArrayList();//´æ·Å·ÅµçÓÐЧµÄ²âÊÔ
|
if(listE!=null&&listE.size()>0){
|
for(int i=0;i<listE.size();i++){
|
STDAH=listE.get(i).getBinf().getMonCapStd();
|
float testCap=listE.get(i).getTinf().getTest_cap();//´Ë´Î·ÅµçÁ¿Í³¼Æ
|
flag=BattCapFactory.Judge(testCap, param, STDAH);
|
//System.out.println("testCap:"+testCap+" param:"+param+" STDAH:"+STDAH);
|
if(flag==1){
|
if(list.size()>0){
|
int tdata_battgroupid=listE.get(i).getTinf().getBattGroupId();
|
int e_battgroupid=list.get(list.size()-1).getTinf().getBattGroupId();
|
if(tdata_battgroupid!=e_battgroupid){
|
list.add(listE.get(i));
|
}else{
|
continue;
|
}
|
}else{
|
list.add(listE.get(i));
|
}
|
flag=0;
|
}
|
}
|
}
|
return list;
|
}
|
//µç³Ø×é×î½üÒ»´Î·Åµç¼Ç¼µÄɸѡ(²âÊÔÈÝÁ¿Ð¡ÓÚ0.1*±ê³ÆÈÝÁ¿)
|
public List recent_Test2(Object obj){
|
List<Batt_Maint_Dealarm> listE=(List<Batt_Maint_Dealarm>) obj;
|
int flag=0;//¸Ã´Î·ÅµçÊÇ·ñÓÐЧÅжÏ
|
List<Batt_Maint_Dealarm> list=new ArrayList();//´æ·Å·ÅµçÓÐЧµÄ²âÊÔ
|
if(listE!=null&&listE.size()>0){
|
for(int i=0;i<listE.size();i++){
|
STDAH=listE.get(i).getBinf().getMonCapStd();
|
float testCap=listE.get(i).getTinf().getTest_cap();//´Ë´Î·ÅµçÁ¿Í³¼Æ
|
flag=BattCapFactory.Judge(testCap, param, STDAH);
|
float max_testcap=0;
|
Batt_Maint_Dealarm bmd=new Batt_Maint_Dealarm();
|
//System.out.println("testCap:"+testCap+" param:"+param+" STDAH:"+STDAH);
|
if(flag==0){
|
if(list.size()>0){
|
int tdata_battgroupid=listE.get(i).getTinf().getBattGroupId();
|
int e_battgroupid=list.get(list.size()-1).getTinf().getBattGroupId();
|
if(tdata_battgroupid!=e_battgroupid){
|
list.add(listE.get(i));
|
max_testcap=0;
|
}else{
|
if(Math.abs(testCap)>Math.abs(max_testcap)) {
|
list.set(list.size()-1, listE.get(i));
|
}
|
max_testcap=testCap;
|
bmd=listE.get(i);
|
}
|
}else{
|
list.add(listE.get(i));
|
max_testcap=testCap;
|
bmd=listE.get(i);
|
}
|
}
|
}
|
}
|
return list;
|
}
|
//½«list1ºËlist2ÕûºÏ
|
public List getlist(List<Batt_Maint_Dealarm> list1, List<Batt_Maint_Dealarm> list2) {
|
List list=new ArrayList();//´æ·Å×îºóµÄ½á¹û
|
int flag=0;
|
if(list1.size()>0) {
|
for(int k=0;k<list1.size();k++) {
|
list.add(list1.get(k));
|
|
}
|
}
|
if(list1.size()>0&&list2.size()>0) {
|
for(int i=0;i<list2.size();i++) {
|
int list2_battgroupid=list2.get(i).getTinf().getBattGroupId();
|
for(int j=0;j<list1.size();j++) {
|
int list1_battgroupid=list1.get(j).getTinf().getBattGroupId();
|
if(list2_battgroupid== list1_battgroupid){
|
flag=0;
|
break;
|
}else {
|
flag=1;
|
}
|
}
|
if(flag==1) {
|
list.add(list2.get(i));
|
flag=0;
|
}
|
}
|
}
|
return list;
|
}
|
//µç³Ø×é×î½üÒ»´Î·Åµç¼Ç¼µÄɸѡ(²âÊÔÈÝÁ¿´óÓÚ0.1*±ê³ÆÈÝÁ¿)
|
public List getRecent(Object obj){
|
List<Batt_Maint_Dealarm> listE=(List<Batt_Maint_Dealarm>) obj;
|
int battGroupId=0;//¸Ã´Î·ÅµçÊÇ·ñÓÐЧÅжÏ
|
List<Batt_Maint_Dealarm> list=new ArrayList();//´æ·Å·ÅµçÓÐЧµÄ²âÊÔ
|
if(listE!=null&&listE.size()>0){
|
for (Batt_Maint_Dealarm bmd : listE) {
|
int battGroupIdE=bmd.getTinf().getBattGroupId();
|
if(battGroupId!=battGroupIdE) {
|
list.add(bmd);
|
battGroupId=battGroupIdE;
|
}
|
}
|
}
|
return list;
|
}
|
//ɾ³ý¾ÉµÄÊý¾Ý
|
public void badbatt_delete(Object obj,MySqlPool m_ConnPool){
|
Batttestdata_inf tinf=(Batttestdata_inf) obj;
|
//ɾ³ýÊý¾Ý±í
|
deletebadbatt_monSql="DELETE FROM "+bad_mon+" WHERE battgroupid="+tinf.getBattGroupId();//truncate table ....
|
ArrayList sql_str=new ArrayList();
|
sql_str.add(deletebadbatt_monSql);
|
boolean bl=MySqlPool.makeManualCommit(m_ConnPool.getConn(), sql_str);
|
//System.out.println(bl+"................"+tinf.getBattGroupId());
|
}
|
//¸ù¾Ý±ê³ÆµçѹºÍ²âÊÔÈÝÁ¿²éѯ³öµ±Ç°²âÊÔÈÝÁ¿¶ÔÓ¦±ê×¼ÇúÏߵĵ¥Ìåµçѹ
|
public double getStandard_monvol(double monvolstd,double moncapstd,double test_cap) {
|
double cap=0;
|
if(monvolstd==12) {
|
cap=150;
|
}else {
|
if(moncapstd<=300) {
|
cap=300;
|
}else {
|
cap=500;
|
}
|
}
|
|
String sql="select ROUND(avg(mon_vol),3) as standard_mon_vol from db_battinf.tb_battmon_testcap where monvolstd="+monvolstd+" and test_cap="+test_cap+" and moncapstd="+cap+" limit 1";
|
//String sql=" select distinct ROUND(mon_vol,3) as standard_mon_vol from db_battinf.tb_battmon_testcap where monvolstd="+monvolstd+" and test_cap<="+test_cap+" and moncapstd="+cap+" order by test_cap desc limit 1 ";
|
System.out.println(sql);
|
Connection conn=m_ConnPool.getConn();
|
ResultSet rs=m_ConnPool.sqlMysqlQuery(conn, sql);
|
double standard_monvol=0f;
|
try {
|
while(rs.next()){
|
standard_monvol=rs.getDouble("standard_mon_vol");
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}finally{
|
try {
|
if(rs != null){
|
rs.close();
|
}
|
m_ConnPool.close_con(conn);
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
return standard_monvol;
|
}
|
//Âäºóµ¥Ìåɸѡ
|
public List badbatt_serch(Object obj,float aparam,float Cparam,int Caplevel,int Changelevel){
|
List<Batt_Maint_Dealarm> list=(List<Batt_Maint_Dealarm>) obj;
|
List<Batt_Maint_Dealarm> listB=new ArrayList();//´æ·ÅÂäºóµ¥Ìå
|
for (int j = 0; j < list.size(); j++) {
|
/*//Åжϴ˴εÄɸѡ³öÀ´µÄ·Åµç¼Ç¼ÓëÊý¾Ý¿âÖдæ·ÅµÄÊÇ·ñÒ»ÖÂ
|
int badbattInorNot=badbatt_judgeInorNotSql(list.get(j).getTinf(),m_ConnPool);
|
if(badbattInorNot!=0){
|
//System.out.println("badbattInorNot: "+list.get(j).getTinf().getBattGroupId()+" "+badbattInorNot);
|
continue;
|
}*/
|
//ɾ³ý¾ÉµÄÊý¾Ý
|
//System.out.println(list.get(j).getTinf().getBattGroupId()+"==================");
|
badbatt_delete(list.get(j).getTinf(),m_ConnPool);
|
//System.out.println(list.get(j).getBinf().getBattGroupId()+" "+list.get(j).getTinf().getBattGroupId()+" "+BadBatt_thread.sdf.format(list.get(j).getTinf().getRecord_time())+" "+list.get(j).getTinf().getTest_cap()+" "+list.get(j).getTinf().getTest_record_count());
|
List<Batt_Maint_Dealarm> listT=Batt_selectBadSql(list.get(j).getTinf().getBattGroupId(), list.get(j).getTinf().getTest_record_count(),BadBatt_thread.sdf.format(list.get(j).getTinf().getRecord_time()), m_ConnPool );
|
//System.out.println(listT.get(listT.size()-1).getTstop().getBattGroupId()+" "+"listT.size():"+listT.size());
|
BattInf binf=list.get(j).getBinf();//´æÈ¡Çóʵ¼ÊÈÝÁ¿µÄ²ÎÊý
|
Batttestdata_inf tinf=list.get(j).getTinf();
|
|
if(listT!=null&&listT.size()>0){
|
for(int z=0;z<listT.size();z++){
|
if(z%12==0){
|
//Ð޸Ľø³Ì¼à¿Ø±íÖеÄʵʱʱ¼ä
|
boolean b=processupdateSql(new Date(),Mysql_database_param.BMS_FBSDEV_BADBATT_MON, m_ConnPool);
|
}
|
STDAH=binf.getMonCapStd();
|
MonomerVolType=binf.getMonVolStd();
|
|
//current=listT.get(z).getTstop().getTest_curr();ʵ¼ÊµçÁ÷ = ²âÊÔÈÝÁ¿*3600/·Åµçʱ³¤
|
current=(listT.get(z).getTstop().getTest_cap()*3600)/listT.get(z).getTstop().getTest_timelong();
|
SumAH=listT.get(z).getTstop().getTest_cap();
|
MaxMonomerVol=tinf.getMax_monvol();//×î´óµçѹ
|
/*//²âÊÔÈÝÁ¿¶ÔÓ¦µÄ±ê×¼µ¥Ìåµçѹ
|
double standard_monvol=getStandard_monvol(MonomerVolType,STDAH, SumAH);
|
if(standard_monvol==0) {
|
MonomerVol=standard_monvol;
|
}else {
|
MonomerVol=listT.get(z).getTstop().getMon_vol();
|
}*/
|
MonomerVol=listT.get(z).getTstop().getMon_vol();
|
hourRate=BattCapFactory.GetHourRate(STDAH, current);
|
//System.out.println(listT.get(z).getTstop().getBattGroupId()+" "+listT.get(z).getTstop().getTest_record_count()+" "+listT.get(z).getTstop().getMon_num()+" "+listT.get(z).getTstop().getMon_vol()+" "+binf.getMonVolStd()*BattCapFactory.test_stop);
|
if(listT.get(z).getTstop().getMon_vol()>binf.getMonVolStd()*BattCapFactory.test_stop){
|
realCap=BattCapFactory.GetMonomerCap(STDAH, hourRate, SumAH, MaxMonomerVol, MonomerVol, MonomerVolType, BattCapFactory.CapType_Real);
|
}else{
|
realCap=Batt_serchRealCap(listT.get(z).getTstop().getBattGroupId(),listT.get(z).getTstop().getTest_record_count(),binf.getMonVolStd()*BattCapFactory.test_stop,listT.get(z).getTstop().getMon_num(),m_ConnPool);
|
}
|
//System.out.println(listT.get(z).getTstop().getBattGroupId()+" realCap:"+realCap+" STDAH:"+STDAH+" MonomerVolType:"+MonomerVolType+" current:"+current+" SumAH:"+SumAH+" MaxMonomerVol:"+MaxMonomerVol+" MonomerVol:"+MonomerVol+" hourRate:"+hourRate);
|
int flag=1;//±êʶλ
|
flag=BattCapFactory.JudgeAlarm(realCap, aparam,Cparam, STDAH);
|
if(flag!=1){
|
listT.get(z).getTstop().setNum(flag);
|
listT.get(z).setBinf(binf);//½«µç³Ø×éÐÅÏ¢ÉèÖýøÈ¥
|
if(flag==AlarmDaoFactory.Alarm_CapAlarm){
|
listT.get(z).getTstop().setData_available(Caplevel);//´æ·Å¸æ¾¯µÈ¼¶
|
listT.get(z).getTstop().setTest_type(AlarmDaoFactory.Alarm_IGNAL_ID_CapAlarmLow);//´æ·Åalm_signal_id
|
listT.get(z).getTstop().setTest_cap(Float.parseFloat(String.valueOf(realCap)));
|
}else if(flag==AlarmDaoFactory.Alarm_CapChange){
|
listT.get(z).getTstop().setData_available(Changelevel);//´æ·Å¸æ¾¯µÈ¼¶
|
listT.get(z).getTstop().setTest_type(AlarmDaoFactory.Alarm_IGNAL_ID_CapChangeLow);//´æ·Åalm_signal_id
|
listT.get(z).getTstop().setTest_cap(Float.parseFloat(String.valueOf(realCap)));
|
}
|
listB.add(listT.get(z));
|
}
|
flag=1;
|
}
|
}
|
try {
|
Thread.sleep(10);
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
return listB;
|
}
|
//µç³Øµ¥Ìå²éѯ²¢´´½¨
|
public void serchBadBattandInsert(){
|
List<Batt_Maint_Dealarm> listE=Batt_selecteffectiveBatt(m_ConnPool);//µç³Ø×é´¦ÓÚÔÚÏß¼à²âµÄ½ÚÄܷŵçµÄ·Åµç¼Ç¼
|
//System.out.println("listE.size():"+listE.size());
|
param=setParam(m_ConnPool);//paramÈÝÁ¿²ÎÊýÓÐЧֵµÄÉèÖÃ0.1
|
/*//µç³Ø×é×î½üÒ»´Î·Åµç¼Ç¼µÄɸѡ(²âÊÔÈÝÁ¿´óÓÚ0.1*±ê³ÆÈÝÁ¿)
|
List<Batt_Maint_Dealarm> list1=recent_Test1(listE);
|
//µç³Ø×é×î½üÒ»´Î·Åµç¼Ç¼µÄɸѡ(²âÊÔÈÝÁ¿Ð¡ÓÚ0.1*±ê³ÆÈÝÁ¿)
|
List<Batt_Maint_Dealarm> list2=recent_Test2(listE);
|
//½«list1ºËlist2ÕûºÏ
|
List<Batt_Maint_Dealarm> list=getlist(list1,list2);//´æ·Å×îºóɸѡµÄ·Åµç¼Ç¼*/
|
List<Batt_Maint_Dealarm> list=getRecent(listE);
|
System.out.println("list¿ªÊ¼---------------------"+" "+list.size());
|
float aparam=1;
|
int Caplevel=1;
|
int Changelevel=0;//¸æ¾¯µÈ¼¶
|
//System.out.println(selectAlarmparamSql);
|
List<Alarm_param> listA=batt_alarmparamSql(AlarmDaoFactory.Alarm_CapAlarm, m_ConnPool);
|
if(listA!=null&&listA.size()>0){
|
aparam=listA.get(listA.size()-1).getAlm_low_coe();
|
Caplevel=listA.get(listA.size()-1).getAlm_low_level();
|
}
|
float Cparam=0;//ÈÝÁ¿¸ü»»¸æ¾¯²ÎÊý
|
List<Alarm_param> listC1=batt_alarmparamSql(AlarmDaoFactory.Alarm_CapChange, m_ConnPool);
|
if(listC1!=null&&listC1.size()>0){
|
Cparam=listC1.get(listC1.size()-1).getAlm_low_coe();
|
Changelevel=listC1.get(listC1.size()-1).getAlm_low_level();
|
}
|
//System.out.println("aparam:"+aparam+" cparam:"+Cparam);
|
//Âäºóµ¥Ìåɸѡ
|
List<Batt_Maint_Dealarm> listB=badbatt_serch(list,aparam,Cparam,Caplevel,Changelevel);//´æ·ÅÂäºóµ¥Ìå
|
/*for (Batt_Maint_Dealarm b : listB) {
|
System.out.println(b.getTstop());
|
}*/
|
System.out.println("Âäºóµ¥ÌåµÄÊý¾ÝÁ¿£º"+listB.size());
|
ArrayList sql_str=badBatt_Moninsert(listB);
|
boolean b=MySqlPool.makeManualCommit(m_ConnPool.getConn(), sql_str);
|
System.out.println("ÊÇ·ñ½«Âäºóµ¥Ìå²åÈëµ½±íÖÐ"+b);
|
//System.out.println("number:"+listB.size());
|
boolean bflag=badBatt_Mon_flagdelete(m_ConnPool);
|
System.out.println("Çå¿ÕÂäºóµ¥Ìå±íʾ±í"+bflag);
|
|
ArrayList sql_str1=Batt_insertalarmSql(listB,m_ConnPool);//¸æ¾¯²åÈëÓï¾ä
|
//System.out.println(sql_str1);
|
boolean bla=MySqlPool.makeManualCommit(m_ConnPool.getConn(), sql_str1);
|
System.out.println("½«Âäºó¸æ¾¯Ìå²åÈëµ½¸æ¾¯±íÖÐ:"+bla);
|
|
}
|
|
//Ð޸Ľø³Ì¼à¿Ø±íÖеÄʵʱʱ¼ä
|
public boolean processupdateSql(Date nowdate,String ProcessName,MySqlPool m_ConnPool_){
|
String sql=" update "+Mysql_database_param.web_site+Mysql_database_param.tb_Process_survey+" "
|
+" set ProcessTime='"+BadBatt_thread.sdf.format(nowdate)
|
+"' where ProcessName='"+ProcessName+"'";
|
Connection conn=m_ConnPool_.getConn();
|
//System.out.println(sql);
|
boolean bl=m_ConnPool_.sqlMysqlUpdate(conn, sql);
|
return bl;
|
}
|
//»ñÈ¡µ±Ç°Ìì23µã59·Ö59ÃëµÄtime
|
public long getDateTIme() {
|
Calendar calendar2 = Calendar.getInstance();
|
|
calendar2.set(calendar2.get(Calendar.YEAR), calendar2.get(Calendar.MONTH), calendar2.get(Calendar.DAY_OF_MONTH),
|
23,59, 0);
|
Date endOfDate = calendar2.getTime();
|
//String time=BadBatt_thread.sdf.format(endOfDate);
|
long time=endOfDate.getTime();
|
return time;
|
}
|
public void run(){
|
System.out.println("Æô¶¯¶¨Ê±²éѯÂäºóµ¥ÌåÐÅÏ¢±íºÍÂäºó¸æ¾¯²åÈë±í!------badbatt_threadÆô¶¯");
|
serchBadBattandInsert();
|
//long tenHouerAgo=(new Date()).getTime()-12*60*60*1000;
|
while(true){
|
badBatt_Mon_flagcreate(m_ConnPool);
|
boolean bl=badBatt_Mon_flagsearch(m_ConnPool);
|
System.out.println("¼ì²âbadBatt_Mon_flag±íÊý¾ÝÁ¿: "+bl+" "+BadBatt_thread.sdf.format(new Date()));
|
//Ð޸Ľø³Ì¼à¿Ø±íÖеÄʵʱʱ¼ä
|
boolean b=processupdateSql(new Date(),Mysql_database_param.BMS_FBSDEV_BADBATT_MON, m_ConnPool);
|
if(bl){
|
serchBadBattandInsert();
|
}else{
|
try {
|
Thread.sleep(60*1000);
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
//Date now=new Date();
|
//String nowtime=BadBatt_thread.sdf.format(now);
|
long nowtime=new Date().getTime();
|
//System.out.println(getDateTIme()+" "+nowtime);
|
if(Math.abs((getDateTIme()-nowtime))<30*1000) {
|
serchBadBattandInsert();
|
}
|
/*if((nowtime-tenHouerAgo)>=12*60*60*1000){
|
serchBadBattandInsert();
|
tenHouerAgo=nowtime;
|
}*/
|
}
|
}
|
public static void main(String[] args) {
|
MySqlPool mPool=new MySqlPool();
|
Connection conn=mPool.getConn();
|
BadBatt_thread bd_t=new BadBatt_thread(mPool);
|
//bd_t.Batt_selecteffectiveBatt();
|
//bd_t.start();
|
bd_t.serchBadBattandInsert();
|
|
|
}
|
}
|