package com.hxzkoa.udp; import java.util.Vector; import com.hxzkoa.json.tb_system; import com.hxzkoa.util.Config; import com.hxzkoa.util.HttpUtil; import net.sf.json.JSONObject; public class Dell_Ceju { static Vector tagcjvec=new Vector(); //跨度 static String postUrl = Config.getPostUrl(); static String url_setting_bw = postUrl + "getSysSetting.do"; static JSONObject re_tb_setting = HttpUtil.doPost(url_setting_bw, "", Config.getCharset()); static tb_system re_setting = (tb_system) JSONObject.toBean(JSONObject.fromObject(re_tb_setting.get("result").toString()), tb_system.class); static int kuadu=Integer.parseInt(re_setting.getRssid()); /**获取标签测距的集合*/ public static Vector getTagcjvec() { return tagcjvec; } /**找到某个标签的Tag_Ceju_hex对象*/ public static Tag_Ceju_hex get_cjhex(String tagid) { Tag_Ceju_hex cejuhex=null; int size=tagcjvec.size(); for(int i=0;i get_moubaoxu_cjve(String tagid,String baoxu){ Vector cjvec=new Vector(); if(get_cjhex(tagid) !=null) { int size=get_cjhex(tagid) .getCeju().size(); for(int i=0;i=0;i--) { String baoxu1=get_cjhex(tagid).getCeju().get(i).getCe_baoxu(); if(baoxu1.equals(baoxu)) { get_cjhex(tagid).getCeju().removeElement(get_cjhex(tagid).getCeju().get(i)); } } } /**清空标签某个测距集合*/ public static void deleteall_cj(String tagid) { if( get_cjhex(tagid)!=null) { get_cjhex(tagid).getCeju().removeAllElements(); } } /**获取一个测距数据集合*/ public static Vector get_cejuvc(Ceju ceju) { Vector cejuvec=new Vector(); cejuvec.add(ceju); return cejuvec; } // public static void dell_ceju(String ip,String tagid,Ceju cj,int baoxu,String anchorid) { // StringBuffer data=new StringBuffer(); // data.append("当前标签:"+tagid+" 跨度:"+kuadu+"--->当前包序:"+baoxu+"\n"); // // //收到的包序减去跨度等于将要下一次将要处理的包序 // int will_chuli=baoxu-kuadu; // if(will_chuli<0) { // will_chuli=will_chuli+256; // } // // data.append("将要处理的包序will_chuli: "+will_chuli+"\n"); // // // //如果某个标签的测距对象不为空 // if( get_cjhex(tagid)!=null) { // //获取该标签的上一包包序 // int last_baoxu=get_cjhex(tagid).getLast_baoxu(); // // //获取该标签初始的包序 // int fistbaoxu=get_cjhex(tagid).getFirst_baoxu(); // // // //获取该标签已经处理的包序 // int already_chuli=get_cjhex(tagid).getDell_baoxu(); // // data.append("上一包包序: "+last_baoxu+" 初始包序:"+fistbaoxu+"\n"); // // data.append("已经处理的包序already_chuli: "+already_chuli+"\n"); // // //将要处理的包序减去已经处理的包序 // int p=will_chuli-already_chuli; // // //如果将要处理的包序大于需要处理的包序 // if(p==1||p==(-255)) { // // //获取需要处理的包序集合 // Vector cejuvc= get_moubaoxu_cjve(tagid,String.valueOf(will_chuli)); // // int size=cejuvc.size(); // // data.append(p+"======="+size+"包数据给JNA处理============================"+will_chuli+"\n"); // // //将数据给到JNA处理 // if(size !=0) { // // DataToJnaDell.do_dell_JAN(cejuvc, size,String.valueOf(will_chuli)); // //删除掉集合中已经处理的包序 // delete_cj(tagid,String.valueOf(will_chuli)); // } // // //修改已经处理的包序 // get_cjhex(tagid).setDell_baoxu(will_chuli); // // }else if(p>1 && p<200 ) {//丢包 // // for(int i=0;i cejuvc= get_moubaoxu_cjve(tagid,String.valueOf(already_chuli)); // // int size=cejuvc.size(); // data.append(p+"======="+size+"包数据给JNA处理============================"+already_chuli+"\n"); // //将数据给到JNA处理 // if(size !=0) { // DataToJnaDell.do_dell_JAN(cejuvc, size,String.valueOf(already_chuli)); // //删除掉集合中已经处理的包序 // delete_cj(tagid,String.valueOf(already_chuli)); // } // // // //修改已经处理的包序 // get_cjhex(tagid).setDell_baoxu(already_chuli); // } // // // // }else if(p<(-30) ){ // // if(already_chuli !=255) { // for(int i=already_chuli;i<=255;i++) { // // //获取需要处理的包序集合 // Vector cejuvc= get_moubaoxu_cjve(tagid,String.valueOf(i)); // // int size=cejuvc.size(); // // data.append(p+"======="+size+"包数据给JNA处理============================"+i+"\n"); // //将数据给到JNA处理 // if(size !=0) { // DataToJnaDell.do_dell_JAN(cejuvc, size,String.valueOf(i)); // // //删除掉集合中已经处理的包序 // delete_cj(tagid,String.valueOf(i)); // } // } // // // // // for(int j=0;j<=will_chuli;j++) { // // //获取需要处理的包序集合 // Vector cejuvc= get_moubaoxu_cjve(tagid,String.valueOf(j)); // // int size=cejuvc.size(); // // data.append(p+"======="+size+"包数据给JNA处理============================"+j+"\n"); // //将数据给到JNA处理 // if(size !=0) { // DataToJnaDell.do_dell_JAN(cejuvc, size,String.valueOf(j)); // // //删除掉集合中已经处理的包序 // delete_cj(tagid,String.valueOf(j)); // } // // // } // // //修改已经处理的包序 // get_cjhex(tagid).setDell_baoxu(will_chuli); // } // } // // get_cjhex(tagid).getCeju().add(cj); // // // }else { // Tag_Ceju_hex tcjh=new Tag_Ceju_hex(); // tcjh.setTagid(tagid); // tcjh.setCeju(get_cejuvc(cj)); // tcjh.setFirst_baoxu(baoxu); // tcjh.setDell_baoxu(will_chuli); // tcjh.setLast_baoxu(baoxu); // tagcjvec.add(tcjh); // } // // // // // data=new StringBuffer(""); // // } }