package BaoWen; import java.util.LinkedHashMap; import ColorAndFont.Data_to_bs; import DataBase.DatabaseManagement; import Method.GetNowTime; import PbuliClass.Get_Tb_Gass; import PbuliClass.Get_collectors; import PbuliClass.Systems; import VectroData.ForwardDatas; import anchor.Anchor_Dell; import anchor.Anchor_nerby_dell; import http.HTTP_Post; import person.person_Dell; import tag.Tag_Dell; import tbDataModel_Dell.Dell_TongbuAnchor; import tbDataModel_Dell.Dell_tbcengzu; /**´¦ÀíÊÕµ½µÄUDPÐÅÏ¢*/ public class Dell_Message { static boolean all=ForwardDatas.have_udp("È«²¿Êý¾Ý"); static boolean havegngga=ForwardDatas.have_udp("GNGGA"); static boolean havedisplay=ForwardDatas.have_udp("λÖÃÊý¾Ý"); static boolean savebaowen=Systems.sys().getOpensave().equals("1"); /***¶¨Î»»ùÕ¾Ïà¹ØÐÅÏ¢£¬Ä¬È϶¨Î»ÒýÇæ¿ªÆôʱºò·¢ËÍÒ»´Î * anchor_info,[Length],[anchorid],[x],[y],[z],[layer],[zu],[distance],[tongbu],[ip],[version],[mark] * ˵Ã÷ * 1 anchor_info£º°üÍ· * 2 [Length]£º°ü³¤¶È * 3 [anchorid] £º»ùÕ¾µÄidΨһ±àºÅ * 4 [x] £º»ùÕ¾X×ø±ê£¬µ¥Î»ÀåÃ× * 5 [y] £º»ùÕ¾Y×ø±ê£¬µ¥Î»ÀåÃ× * 6 [z] £º»ùÕ¾Z×ø±ê£¬µ¥Î»ÀåÃ× * 7 [layer] £º»ùÕ¾ËùÔÚ²ã * 8 [zu] £º»ùÕ¾ËùÔÚµÄ×é * 9 [distance] £º»ùÕ¾µÄÁ¿³Ì£¬µ¥Î»ÀåÃ× * 10 [tongbu] £º»ùվͬ²½Çé¿ö * 11 [ip] £º»ùÕ¾µÄipµØÖ· * 12 [version] £º»ùÕ¾µÄ°æ±¾ * 13 [mark] £º±ê־λ£¬Çø±ð´ÓÄĸöÒýÇæÉÏ´«Êý¾Ý£¬ÊÊÓÃÓÚ¶à¸öÏîÄ¿´«ÈëÒ»¸öƽ̨£¬Ä¬ÈÏΪ0 */ @SuppressWarnings("unused") public static void dell_anchor_info(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==13) { String anchorid=mes[2]; String posx=mes[3]; String posy=mes[4]; String posz=mes[5]; String layer=mes[6]; String zu=mes[7]; String distance=mes[8]; String tongbu=mes[9]; String ip=mes[10]; String version=mes[11]; String mark=mes[12]; if(distance.equals("null")) { distance=""; } if(tongbu.equals("null")) { tongbu=""; } if(ip.equals("null")) { ip=""; } if(version.equals("null")) { version=""; } if(Anchor_Dell.get_anchor(anchorid)==null) { String[] ziduan= {"anchorid","POSX","POSY","POSZ","layer","zu","liangcheng","anchorip","version","GreateTime","anchormode","baoliu9"}; String[] zhi= {anchorid,posx,posy,posz,layer,zu,distance,ip,version,GetNowTime.now(),"1"}; DatabaseManagement.insertfast("tb_achor", ziduan, zhi); Dell_tbcengzu.add_cengzu_form_addanchor(layer, zu);//Ìí¼Ó²ã×é¶ÔÏó Anchor_nerby_dell.add_anchorby(anchorid,"","","","","","","","","","","0");//ÐÂÔöÁÙ½ü»ùÕ¾ÐÅÏ¢ Dell_TongbuAnchor.add_one_rootanchor(anchorid, "", "0", "");//ÐÂÔöͬ²½»ùÕ¾ Anchor_Dell.set_anchor(anchorid, posx,posy,posz,layer,zu,distance,ip, "1","0"); }else { String[] ziduan= {"anchormode","POSX","POSY","POSZ","layer","zu","liangcheng","anchorip","version","GreateTime","anchorid"}; String[] zhi= {"1",posx,posy,posz,layer,zu,distance,ip,version,GetNowTime.now(),anchorid}; DatabaseManagement.fast_alert_dbase("tb_achor", ziduan, zhi); Anchor_Dell.alert_anchor(anchorid, posx,posy,posz, layer, distance, "0", ip, version,"1"); } } } /**3. »ùÕ¾ÁÙ½üÐÅÏ¢anchor_near * »ùÕ¾ÁÙ½üÐÅÏ¢ * anchor_near,[length], [anchorid], [near1],[near2],[near3],[near4], [near5], [near6], [near7], [near8], [distance],[mark] * ˵Ã÷ * 1 anchor_near£º°üÍ· * 2 [length] £ºÊý¾Ý°ü³¤¶È * 3 [anchorid]£º»ùÕ¾ID * 4 [near1] £ºÁÙ½ü»ùÕ¾1ID * 5 [near2] £ºÁÙ½ü»ùÕ¾2ID * 6 [near3] £ºÁÙ½ü»ùÕ¾3ID * 7 [near4] £ºÁÙ½ü»ùÕ¾4ID * 8 [near5] £ºÁÙ½ü»ùÕ¾5ID * 9 [near6] £ºÁÙ½ü»ùÕ¾6ID * 10 [near7] £ºÁÙ½ü»ùÕ¾7ID * 11 [near8] £ºÁÙ½ü»ùÕ¾8ID * 12 [distance] £ºÁÙ½ü»ùÕ¾9ID * 13 [mark] £º±ê־λ£¬Çø±ð´ÓÄĸöÒýÇæÉÏ´«Êý¾Ý£¬ÊÊÓÃÓÚ¶à¸öÏîÄ¿´«ÈëÒ»¸öƽ̨£¬Ä¬ÈÏΪ0**/ @SuppressWarnings("unused") public static void dell_anchor_near(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==13) { String anchorid=mes[2]; String near1=mes[3]; String near2=mes[4]; String near3=mes[5]; String near4=mes[6]; String near5=mes[7]; String near6=mes[8]; String near7=mes[9]; String near8=mes[10]; String distance=mes[11]; String mark=mes[12]; if(near1.equals("FFFF")) { near1=""; } if(near2.equals("FFFF")) { near2=""; } if(near3.equals("FFFF")) { near3=""; } if(near4.equals("FFFF")) { near4=""; } if(near5.equals("FFFF")) { near5=""; } if(near6.equals("FFFF")) { near6=""; } if(near7.equals("FFFF")) { near7=""; } if(near8.equals("FFFF")) { near8=""; } if(Anchor_nerby_dell.get_anchor(anchorid) !=null) { String[] ziduan= {"near1","near2","near3","near4","near5","near6","near7","near8","qiehuan","anchorid"}; String[] zhi= {near1,near2,near3,near4,near5,near6,near7,near8,distance,anchorid}; DatabaseManagement.fast_alert_dbase("tb_anchor_nearby", ziduan, zhi); } } } /** * »ùվͬ²½ÉèÖÃÐÅÏ¢anchor_tongbu * anchor_tongbu,[length],[anchorid],[tongbuanchorid],[anchortype],[state],[mark] * 1 anchor_tongbu£º°üÍ· * 2 [length]£º±¨Îij¤¶È * 3 [anchorid] £º»ùÕ¾ID * 4 [tongbuanchorid] £ºÍ¬²½»ùÕ¾ID * 5 [anchortype] £º»ùÕ¾ÀàÐÍ * 6 [state] £ºÍ¬²½×´Ì¬ * 7 [mark] £º±ê־λ£¬Çø±ð´ÓÄĸöÒýÇæÉÏ´«Êý¾Ý£¬ÊÊÓÃÓÚ¶à¸öÏîÄ¿´«ÈëÒ»¸öƽ̨£¬Ä¬ÈÏΪ0**/ @SuppressWarnings("unused") public static void dell_anchor_tongbu(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==7) { String anchorid=mes[2]; String tongbuanchorid=mes[3]; String anchortype=mes[4]; String state=mes[5]; String mark=mes[6]; if(Dell_TongbuAnchor.get_tb_rootanchor(tongbuanchorid) !=null) { String[] ziduan= {"rootanchorid","type","state","addtime","anchorid"}; String[] zhi= {tongbuanchorid,anchortype,state,GetNowTime.now(),anchorid}; DatabaseManagement.fast_alert_dbase("tb_tongbuanchor", ziduan, zhi); } } } /** * ±êÇ©Ïà¹ØÐÅÏ¢tag_info * ¶¨Î»±êÇ©Ïà¹ØÐÅÏ¢£¬Ä¬È϶¨Î»ÒýÇæ¿ªÆôʱºò·¢ËÍÒ»´Î * Êý¾Ý¸ñʽ£º BSTOCS1,ADDTAG,±êÇ©id,°ó¶¨¶ÔÏó,Åå´÷¸ß¶È,ËÙ¶ÈÏÞÖÆ,¶¨Î»ÆµÂÊ,±êÇ©ÀàÐÍ,END * Tag_info,[length],[tagid],[name],[power],[gao],[speed],[hz],[version],[sleepopen], * [sleeptime],[gonglv],[mcuzhi],[mcutime],[moveopen],[±êÖ¾] * ˵Ã÷ * 1 Tag_info£º°üÍ· * 2 [length] £º°ü³¤¶È * 3 [tagid] £º±êÇ©id£¬Î¨Ò»±àºÅ * 4 [name] £º±êÇ©°ó¶¨µÄÃû³Æ * 5 [power] £º±êÇ©µçÁ¿£¬0~100Êý×Ö * 6 [gao] £º±êÇ©Åå´÷¸ß¶Èµ¥Î»ÀåÃ× * 7 [speed] £º±êÇ©×î´óÔ˶¯ËÙ * 8 [hz] £º±êÇ©µÄƵÂÊ * 9 [version] £º±êÇ©µÄ°æ±¾ * 10 [sleepopen] £º±êÇ©ÐÝÃßÊÇ·ñ¿ªÆô£¬¿ªÆôΪ1£¬Ã»ÓпªÆôΪ0 * 11 [sleeptime] £º±êÇ©ÐÝÃßʱ¼ä * 12 [gonglv] £º±êÇ©¹¦ÂÊ * 13 [mcuzhi] £º±êÇ©mcuÖµ * 14 [moveopen] £º±êÇ©Õ𶯹¦ÄÜÊÇ·ñ¿ªÆô£¬¿ªÆôΪ1·´Ö®Îª0 * 15 [mark] £º±ê־λ,ÓÃÓÚÇø·Ö²»Í¬ÒýÇæÉÏ´«µÄÊý¾Ý£¬Ä¬ÈÏΪ0**/ @SuppressWarnings("unused") public static void dell_tag_info(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==15) { String tagid=mes[2]; String name=mes[3]; String power=mes[4]; String gao=mes[5]; String speed=mes[6]; String hz=mes[7]; String version=mes[8]; String sleepopen=mes[9]; String sleeptime=mes[10]; String gonglv=mes[11]; String mcuzhi=mes[12]; String moveopen=mes[13]; String mark=mes[14]; if(speed.equals("ÎÞ")) { speed="1000"; } if(gonglv.length()>2) { gonglv="67"; } if(sleeptime.equals("null")) { sleeptime="120"; } if(sleepopen.equals("null")) { sleepopen="0"; } if(mcuzhi.equals("null")) { mcuzhi="10"; } if(moveopen.equals("null")) { moveopen="0"; } if(Tag_Dell.get_tag(tagid)==null) { String[] ziduan= {"tag_id","state","power","status","gaodu","sudu","pinglv","Addtime"}; String[] zhi= {tagid,name,power,"1",gao,speed,hz,GetNowTime.now()}; DatabaseManagement.insertfast("tb_tag", ziduan, zhi); //ÐÂÔöÈËÔ± person_Dell.add_person(tagid, "ϵͳĬÈÏ", name, "ÄÐ", " ",speed,"ϵͳĬÈÏ"); Tag_Dell.add_tag2(tagid, name, gao, speed,hz); }else { String[] ziduan= {"state","power","status","gaodu","sudu","pinglv","Addtime","tag_id"}; String[] zhi= {name,power,"1",gao,speed,hz,GetNowTime.now(),tagid}; DatabaseManagement.fast_alert_dbase("tb_tag", ziduan, zhi); Tag_Dell.alert_tag( tagid, version, moveopen, sleepopen, "0", Integer.parseInt(gonglv), Integer.parseInt(speed), Integer.parseInt(sleeptime), Integer.parseInt(power), 0); } } } /**ÆøÌå²É¼¯ÒÇÐÅÏ¢gas_colector * ÆøÌå²É¼¯ÒÇÐÅÏ¢£¬Ä¬È϶¨Î»ÒýÇæ¿ªÆôʱºò·¢ËÍÒ»´Î * gas_colector,[length],[dizhi],[qishidizhi],[datalength],[ip],[weizhi],[x],[y],[mark] * ˵Ã÷ * 1 gas_colector£º°üÍ· * 2 [length]£º±¨Îij¤¶È * 3 [dizhi] £º²É¼¯ÒǵØÖ· * 4 [qishidizhi] £ºÆðʼµØÖ· * 5 [datalength] £ºÊý¾Ý³¤¶È * 6 [ip] £ºipµØÖ· * 7 [weizhi] £º°²×°Î»Öà * 8 [x] £º°²×°X×ø±ê * 9 [y] £º°²×°Y×ø±ê * 10 [mark] £º±ê־λ£¬Çø±ð´ÓÄĸöÒýÇæÉÏ´«Êý¾Ý£¬ÊÊÓÃÓÚ¶à¸öÏîÄ¿´«ÈëÒ»¸öƽ̨£¬Ä¬ÈÏΪ0**/ @SuppressWarnings("unused") public static void dell_gas_colector(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==10) { String dizhi=mes[2]; String qishidizhi=mes[3]; String datalength=mes[4]; String ip=mes[5]; String weizhi=mes[6]; String x=mes[7]; String y=mes[8]; String mark=mes[9]; if(Get_collectors.get_caijingyi(ip)==null) { String[] ziduan= {"macid","startip","datlenth","ip","macname","posx","posy","addtime"}; String[] zhi= {dizhi,qishidizhi,datalength,ip,weizhi,x,y,GetNowTime.now()}; DatabaseManagement.insertfast("tb_collector", ziduan, zhi); }else { String[] ziduan= {"tb_collector","startip","datlenth","macname","posx","posy","addtime","ip"}; String[] zhi= {dizhi,qishidizhi,datalength,weizhi,x,y,GetNowTime.now(),ip}; DatabaseManagement.fast_alert_dbase("tb_collector", ziduan, zhi); } } } /**ÆøÌå´«¸ÐÆ÷Ïà¹ØÐÅÏ¢gas_sensor * ÆøÌå´«¸ÐÆ÷ÐÅÏ¢ÐÅÏ¢£¬£¬Ä¬È϶¨Î»ÒýÇæ¿ªÆôʱºò·¢ËÍÒ»´Î * gas_sensor,[length],[weizhi],[gastype],[nongdu],[caijidizhi],[tongdao],[warning],[ip],[x],[y],[mark] * ˵Ã÷£º * 1 gas_sensor£º°üÍ· * 2 [length] £º±¨Îij¤¶È * 3 [weizhi] £ºÆøÌå´«¸ÐÆ÷°²×°Î»Öà * 4 [gastype] £ºÆøÌåÀàÐÍ * 5 [nongdu] £ºÆøÌåŨ¶ÈÖµ * 6 [caijidizhi] £º²É¼¯ÒǵØÖ· * 7 [tongdao] £ºÆøÌå´«¸ÐÆ÷ËùÔڲɼ¯ÒǵÄͨµÀ * 8 [warning] £º¸æ¾¯ãÐÖµ * 9 [ip] £º²É¼¯ÒǵÄIPµØÖ· * 10 [x] £ºÆøÌå´«¸ÐÆ÷°²×°µÄλÖÃX×ø±ê * 11 [y] £ºÆøÌå´«¸ÐÆ÷°²×°Î»ÖÃY×ø±ê * 12 [mark] £º±ê־λ£¬Çø±ð´ÓÄĸöÒýÇæÉÏ´«Êý¾Ý£¬ÊÊÓÃÓÚ¶à¸öÏîÄ¿´«ÈëÒ»¸öƽ̨£¬Ä¬ÈÏΪ0**/ @SuppressWarnings("unused") public static void dell_gas_sensor(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==12) { String weizhi=mes[2]; String gastype=mes[3]; String nongdu=mes[4]; String caijidizhi=mes[5]; String tongdao=mes[6]; String warning=mes[7]; String ip=mes[8]; String x=mes[9]; String y=mes[10]; String mark=mes[11]; if(Get_Tb_Gass.get_gas(tongdao, ip)==null) { String[] ziduan= {"wei_zhi","gas_type","nong_du","status","collect_ip","tong_dao","waring_zhi","ip","x","y","addtime"}; String[] zhi= {weizhi,gastype,nongdu,"Õý³£",caijidizhi,tongdao,warning,ip,x,y,GetNowTime.now()}; DatabaseManagement.insertfast("tb_gas", ziduan, zhi); } } } /**»ñÈ¡»ùÕ¾Ïà¹ØÐÅÏ¢get_anchor_info * ±¨Îĸñʽ * get_anchor_info,[anchorid/all],[end] * ˵Ã÷ * 1 get_anchor_info£º°üÍ· * 2 [anchorid/all] £ºÐèÒª»ñÈ¡µÄ»ùÕ¾ID£¬ÈçÐèÒª»ñÈ¡ËùÓоÍΪall * 3 [end] £º±¨ÎĽáÊø±êÖ¾**/ public static void dell_get_anchor_info(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==3) { String anchorid=mes[1]; if(anchorid.equals("all")) { Data_to_bs.get_anchor_info(); }else { Data_to_bs.get_one_anchor_info(anchorid); } } } /**»ñÈ¡»ùÕ¾ÁÙ½üÐÅÏ¢get_anchor_nearinfo * ±¨Îĸñʽ * get_anchor_nearinfo,[anchorid/all],[end] * ˵Ã÷ * 1 get_anchor_nearinfo£º°üÍ· * 2 [anchorid/all]£ºÐèÒª»ñÈ¡µÄ»ùÕ¾ID£¬È«²¿»ñȡΪall * 3 [end]£º±¨ÎĽáÊø±êÖ¾**/ public static void dell_get_anchor_nearinfo(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==3) { String anchorid=mes[1]; if(anchorid.equals("all")) { Data_to_bs.get_anchor_near(); }else { Data_to_bs.get_one_anchor_nearby(anchorid); } } } /** *»ñÈ¡±êÇ©ÐÅÏ¢get_taginfo *±¨Îĸñʽ *get_taginfo,[tagid/all],[end] *˵Ã÷ *0 get_taginfo£º°üÍ· *1 [tagid/all]£ºÐèÒª»ñÈ¡µÄ»ùÕ¾ID£¬È«²¿»ñȡΪall *2 [end]£º±¨ÎĽáÊø±êÖ¾**/ public static void dell_get_taginfo(String message) { String[] mes=message.split(","); int lenth=mes.length; if(lenth==3) { String tagid=mes[1]; if(tagid.equals("all")) { Data_to_bs.get_tag_info(); }else { Data_to_bs.get_one_taginfo(tagid); } } } /**´¦ÀíGPGGAÊý¾Ý*/ public static void dell_gpgga(String message,String ip) { //HTTPת·¢Î»ÖÃÊý¾Ý if(ForwardDatas.have_http("λÖÃÊý¾Ý")) { LinkedHashMap display=new LinkedHashMap(); display.put("positionmsg", message); HTTP_Post.gngga("", "", display); } } }