⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.java~236~

📁 关于彩信mms的程序,可以打包mms, 发送mms21840270MMS-PicCente
💻 JAVA~236~
字号:
package mmspiccenter;/** 当前彩信预报始终时间只提供一个时次的。 * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: hf</p> * @author rjz * @version 1.0 */import java.util.*;public class Main extends Engine{    public DBConnection db = null;//new DBConnection(/*Config.db_name ,Config.db_host*/);//null;//new DBConnection(Config.db_name ,Config.db_host);    public CreateXmlSmilTxt  createMms = new CreateXmlSmilTxt();    public getIniString ini = new getIniString();    public Main() {        super("Main");        setDaemon(true);        ReadIni();        db = new DBConnection(/*Config.db_name ,Config.db_host*/);    }    public  boolean ReadIni(){       try{           System.out.println("-------图片驱动程序-------MMSPicCenter1.0-------");           System.out.println("请不要用鼠标点击command窗口。如果点击了,请回车!");           Config.odbcstring = ini.getString("[LOCAL]","odbcstring") ;           System.out.println(" 数据库连接驱动 : "+ Config.odbcstring );           Config.db_host=ini.getString("[LOCAL]","db_host");           System.out.println(" 数据库IP地址 : "+Config.db_host);           Config.db_name=ini.getString("[LOCAL]","db_name");           System.out.println(" 数据库名称 : "+Config.db_name);           Config.db_user=ini.getString("[LOCAL]","db_user");           System.out.println(" 数据库用户名 : "+Config.db_user);           Config.db_password=ini.getString("[LOCAL]","db_password");           System.out.println(" 数据库密码  : "+Config.db_password );           Config.w_width = ini.getInt("[LOCAL]","w_width");           System.out.println(" 大图标宽  : "+Config.w_width );           Config.w_high = ini.getInt("[LOCAL]","w_high");           System.out.println(" 大图标高  : "+Config.w_high );           Config.t_width = ini.getInt("[LOCAL]","t_width");           System.out.println(" 小图标宽  : "+Config.t_width );           Config.t_high = ini.getInt("[LOCAL]","t_high") ;           System.out.println(" 小图标宽 : "+ Config.t_high );           Config.www_url = ini.getString("[LOCAL]","www_url") ;           System.out.println(" www_url : "+ Config.www_url );           return true;       }catch(Exception e){           return false;       }  }    public void LoadThread(){        createMms.startup() ;    }    public void run(){        LoadStaMmsParameter staLoad = new LoadStaMmsParameter();        staLoad.loadMmsPara() ;//装载mms_parameter表        LoadThread();        while(true){            staLoad.loadSta();//装载stn表            System.out.println("******************"+Config.sta_idV);            for(int i = 0;i < Config.sta_idV .size();i++){                String sta_id = (String)((Vector)Config.sta_idV.get(i)).get(0);//取得一个站点号                String cityName = (String)((Vector)Config.sta_idV.get(i)).get(1);                int donePara = 0;                for(int j = 0;j<Config.mmsParaV .size();j++){                    MmsParameter mmsPara = (MmsParameter)Config.mmsParaV.get(j);//取得一个彩信类别                    String mms_type  = mmsPara.mms_type ;                    String base_url  = mmsPara.base_url ;//图片元素的目录                    String type_url = mmsPara.type_url  ;//输出xml文件的目录                    String service_code = mmsPara.service_code ;//图片的记费字段                    String period = mmsPara.period ;//图片预报的时段                    String bg_url = mmsPara.bg_url ;//图片底图的路径                    String title_url = mmsPara.title_url ;//标题图片的路径                    String title_x = mmsPara.title_x;//标题图片的x坐标                    String title_y = mmsPara.title_y;//标题图片的y坐标                    String w_url = mmsPara.w_url;//天气符号所在的目录路径!注意不是图片路径                    //天气和气温图片的坐标:按天为单位,只标记开始天气的坐标和第一个气温符号的坐标                    String w_x = mmsPara.w_x;              Vector w_xV = new Vector();//天气符号的x坐标组                    String w_y = mmsPara.w_y;              Vector w_yV = new Vector();//天气符号的y坐标组                    String t_url = mmsPara.t_url;//气温符号所在的目录路径!注意不是图片路径                    String t_x = mmsPara.t_x;              Vector t_xV = new Vector();//气温符号的x坐标组                    String t_y = mmsPara.t_y;              Vector t_yV = new Vector();//气温符号的y坐标组                    StringTokenizer st_w_x = new StringTokenizer(w_x,",");                    StringTokenizer st_w_y = new StringTokenizer(w_y,",");                    StringTokenizer st_t_x = new StringTokenizer(t_x,",");                    StringTokenizer st_t_y = new StringTokenizer(t_y,",");                    String xmltitle = mmsPara.xmltitle+sta_id ;                    String sp_url = mmsPara.sp_url ;                    String hour = mmsPara.hour ;                    System.out.println("ddd"+xmltitle);                    while(st_w_x.hasMoreElements() ){                        w_xV.addElement((String)st_w_x.nextElement() );//向天气符号的x坐标组添加元素                    }                    while(st_w_y.hasMoreElements() ){                        w_yV.addElement((String)st_w_y.nextElement()) ;//向天气符号的y坐标组添加元素                    }                    while(st_t_x.hasMoreElements() ){                        t_xV.addElement((String)st_t_x.nextElement()) ;//向气温符号的x坐标组添加元素                    }                    while(st_t_y.hasMoreElements() ){                        t_yV.addElement((String)st_t_y.nextElement()) ;//向气温符号的y坐标组添加元素                    }                    Vector w1V = new Vector();//开始天气图片名称的组[qing.tga,duoyun.tga,...]                    Vector w2V = new Vector();//结束天气图片名称的组                    Vector t1V = new Vector();//开始气温图片组的组[[[-,1,5],[2,4]],[],[],[],[]]最多5组                    Vector t2V = new Vector();//结束气温图片组的组[[[-,1,5],[2,4]],[],[],[],[]]最多5组                    //下面开始查询数据                    int days = Integer.parseInt(period)/24;                    title_url += getTitlePicName(Integer.parseInt(period));                    int a = 1;//当a = days是图片数据是完整的                    int dataNum = 0;                    String txt = "";                    for(;a<days+1;a++){//按天 查询天气数据                        String day = String.valueOf(a*24);                        String getWeatherDataSql = "select * from weather_data_all where period = "+                                day+" and sta_id = "+sta_id+" and TO_DAYS(create_time)=TO_DAYS(now()) and hour = '"+hour+"'";                        Vector v = new Vector();                        v = (Vector)db.execute(getWeatherDataSql);                        System.out.println(v);                        if( v.size()>0 ){//if                            dataNum ++;                            //for(int z = 0 ;z <v.size() ;z++){//                            int z = 0;                                WeatherData weatherData = new WeatherData(                                (String)((Vector)v.get(z)).get(0),(String)((Vector)v.get(z)).get(1),                                (String)((Vector)v.get(z)).get(2),(String)((Vector)v.get(z)).get(3),                                (String)((Vector)v.get(z)).get(4),(String)((Vector)v.get(z)).get(5),                                (String)((Vector)v.get(z)).get(6),(String)((Vector)v.get(z)).get(7),                                (String)((Vector)v.get(z)).get(8),(String)((Vector)v.get(z)).get(9),                                (String)((Vector)v.get(z)).get(10),(String)((Vector)v.get(z)).get(11),                                (String)((Vector)v.get(z)).get(12),(String)((Vector)v.get(z)).get(13),                                (String)((Vector)v.get(z)).get(14),(String)((Vector)v.get(z)).get(15),                                (String)((Vector)v.get(z)).get(16),(String)((Vector)v.get(z)).get(17),                                (String)((Vector)v.get(z)).get(18),(String)((Vector)v.get(z)).get(19),                                (String)((Vector)v.get(z)).get(20),(String)((Vector)v.get(z)).get(21),                                (String)((Vector)v.get(z)).get(22),(String)((Vector)v.get(z)).get(23),                                (String)((Vector)v.get(z)).get(24),(String)((Vector)v.get(z)).get(25));                                txt += weatherData.city_name +day+"小时预报"+"天气:"+weatherData.b_w +"转"+weatherData.e_w+                                       "气温:"+weatherData.b_t +"到"+weatherData.e_t +"摄氏度"+"空气质量:"+weatherData.airquality +"污染物:"+                                       weatherData.pollutant+"污染指数:"+weatherData.pollutant_num+"日出时间:"+weatherData.sun_up+"日落时间:"+weatherData.sun_down ;                                //根据气象数据确定图片                                //Vector picUrlV = new Vector();                                String w1 = weatherData.b_w ;                                String w2 = weatherData.e_w;                                String t1 = weatherData.b_t;                                String t2 = weatherData.e_t;                                String w1Url = w_url+Utility.getWeatherPic(w1)+".tga";//tupian sun                                String w2Url = w_url+Utility.getWeatherPic(w2)+".tga";//tupian duoyun                                w1V.addElement(w1Url) ;                                w2V.addElement(w2Url);                                Vector t1UrlV = new Vector();//tupian[1,2]                                Vector t2UrlV = new Vector();//tupian[2,5]                                for(int b = 0;b<t1.length() ;b++){                                    int  c = b + 1;                                    t1UrlV.addElement(t_url+t1.substring(b,c)+".tga" ) ;                                }                                t1V.addElement(t1UrlV) ;                                for(int b = 0;b<t2.length() ;b++){                                    int  c = b + 1;                                    t2UrlV.addElement(t_url+t2.substring(b,c)+".tga" ) ;                                }                                t2V.addElement(t2UrlV);                            //}                            /*            tianqi2 + and1 + biaoti 1 + qiwen + and1 + qiwen + C*/                           //     int  picNum = w1V.size() + w2V.size()  + 1 + 1 + t1UrlV.size()*t1V.size()  + t1V.size() + t2UrlV.size()*t2V.size()  + t1V.size() ;                        }else{//end if                            System.out.println("No Data : "+getWeatherDataSql);                        }                    }//end for a                    if(dataNum == days){                        System.out.println(dataNum+"/"+days);                        System.out.println(bg_url+"bg_url");                        Pic pic = new Pic(bg_url,title_url,title_x,                                title_y,w1V,w2V,w_xV,w_yV,t1V,t2V,                                t_xV,t_yV,txt,xmltitle,base_url+type_url,                                sta_id,sp_url,base_url,cityName,hour,service_code,period,type_url);                        System.out.println(bg_url+"+"+title_url+"+"+title_x+"+"+title_y+"+"+w1V+"+"+w2V+"+"+w_xV+"+"+w_yV+"+"+t1V+"+"+t2V+"+"+t_xV+"+"+t_yV);                        System.out.println("图片数据全!");                        Config.picV .push(pic);                        donePara ++;                        //Sta_idIsDone(sta_id);                    }else{                        System.out.println("图片数据不全!");                    }                    try{                        sleep(10);                    }catch(Exception e){                        System.out.println("Exception In Main().run()"+e.toString());                    }                }//ChuLiWanYiGeMMSLeiBei                System.out.println(donePara+"_+_"+Config.mmsParaV .size());                if(donePara == Config.mmsParaV .size() ){                    Sta_idIsDone(sta_id);                }                try{                    sleep(10);                }catch(Exception e){                    System.out.println("Exception In Main().run()"+e.toString());                }            }            try{                sleep(1000);            }catch(Exception e){                System.out.println("Exception In Main().run()"+e.toString());            }        }    }    public String getTitlePicName(int period){        String result = "";        int day = period/24;        if(day == 1){            result = "tomorrow.tga";        }else if(day == 2){            result = "after2.tga";        }else if(day == 3){            result = "after3.tga";        }else if(day == 4){            result = "after4.tga";        }else if(day == 5){            result = "after5.tga";        }        return result;    }    public void Sta_idIsDone(String sta_id){        String updateSql = /*"insert into stn (sta_id,name)values('12','fd')";*/"update stn set done_time = '"+Utility.getDateString()+"' where sta_id = '"+sta_id+"'";        System.out.println("updateSql:"+updateSql);        Integer i = db.executeUpdate(updateSql);        System.out.println("update result:"+i);    }    public static void main(String[] args) {        Main main1 = new Main();        main1.startup() ;        while(true){            try{                Thread.sleep(1000);            }catch(Exception e){}        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -