package com.securityControl.task.domain.vo; import com.securityControl.task.util.DateTimeHelper; import lombok.extern.slf4j.Slf4j; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; @Slf4j public class PostXml { public static String 检测未带安全帽="0"; public static String 启动安全生产="0"; public static String 检测抽烟="0"; public static String 检测未戴口罩="0"; public static String 检测工作服="0"; public static String 检测石油制服="0"; public static String 检测消防制服="0"; public static String 检测露胳膊="0"; public static String 检测三色马甲="0"; public static String 检测绝缘手套和绝缘靴="0"; /** * 获取3d云台报文 * @param Sx 开始横坐标 * @param Sy 开始y坐标 * @param Ex 结束点很坐标 * @param Ey 结束点 y坐标 * @return */ public static String get3DyunXmlData(String Sx, String Sy, String Ex, String Ey){ StringBuffer builder=new StringBuffer(); try{ builder.append("\n"); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); }catch (Exception e){ log.error(e.toString(),e); } return builder.toString(); } /** * 设置水印 * @param value * @return */ public static String getOsDText(String value){ StringBuffer builder=new StringBuffer(); try{ builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); }catch (Exception e){ log.error(e.toString(),e); } return builder.toString(); } public static String getDeviceNameXml(String value){ StringBuffer builder=new StringBuffer(); try{ builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(" "); builder.append(""); builder.append(""); builder.append(""); }catch (Exception e){ log.error(e.toString(),e); } return builder.toString(); } public static String getDeviceCameraXml(String value){ StringBuffer builder=new StringBuffer(); try{ builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(" "); builder.append(""); builder.append(""); builder.append(""); }catch (Exception e){ log.error(e.toString(),e); } return builder.toString(); } /** * 获取球机信号数据 * @return */ public static String getQJXhXml(String idx){ StringBuffer builder=new StringBuffer(); try{ builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); }catch (Exception e){ log.error(e.toString(),e); } return builder.toString(); } /** * puid * 清晰上下线 * 开始时间 * * @param puid * @param startTime 开始时间//时间戳 * @param endTime 结束时间//时间戳 * @return */ public static String getXmlData(String puid, String startTime, String endTime) { StringBuffer builder = new StringBuffer(); builder.append("\n"); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append("E_PU_Online"); builder.append("E_PU_Offline"); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); return builder.toString(); } /** * xml解析数据 * * @return */ public static List getXmlData(String xml) { List list = new ArrayList(); Document doc = null; try { doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 // System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称 Element C = rootElt.element("C"); // System.out.println("子节点:" + C.getName()); // 拿到子节点名称 Element Res = C.element("Res"); // System.out.println("子节点:" + Res.getName()); // 拿到子节点名称 Element Param = Res.element("Param"); Iterator iter = Param.elementIterator("Event"); // 获取结果点下的返回数据集合 Iterator lengthLeg = Param.elementIterator("Event"); // 获取结果点下的返回数据集合 int length = 0; while (lengthLeg.hasNext()) { Element Event = (Element) lengthLeg.next();//子节点名//父类节点 length++; } BallUpDownEntity entity = null; while (iter.hasNext()) { entity = new BallUpDownEntity(); Element Event = (Element) iter.next();//子节点名//父类节点 Element M = Event.element("M"); String type = M.attributeValue("Type"); if ("Event".equals(type)) {//type参数 Element E = M.element("E");//E参数 String ID = E.attributeValue("ID");//获取上下线类型 String time = E.attributeValue("Time");//获取到时间 String date = DateTimeHelper.stampToDate(time);//时间转换 if ("E_PU_Online".equals(ID)) {// entity.setOnLineTime(date); entity.setType("1"); } else if ("E_PU_Offline".equals(ID)) {//球机下线 entity.setOffLineTime(date); entity.setType("2"); } list.add(entity); } } } catch (Exception e) { log.error("xml解析失败", e); } return list; } public static String sedPostXml(String postUrl, String xmlString) throws IOException { String postURL; PostMethod postMethod = null; postMethod = new PostMethod(postUrl) ; postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") ; //参数设置,需要注意的就是里边不能传NULL,要传空字符串 NameValuePair[] data = { new NameValuePair("xml",xmlString), }; postMethod.setRequestBody(data); org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient(); int response = httpClient.executeMethod(postMethod); // 执行POST方法 // String result = postMethod.getResponseBodyAsString() ; InputStream is = postMethod.getResponseBodyAsStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); StringBuffer sb = new StringBuffer(); String str= ""; while((str = br.readLine()) != null){ sb.append(str); } String result = sb.toString(); return result; } /** * xml解析 * @return */ public static String getqjxhData(String xml){ String Value=null; try{ Document doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 Element C=rootElt.element("C"); Element Res=C.element("Res"); Element Param=Res.element("Param"); Value = Param.attributeValue("Value"); }catch (Exception e){ Value=null; } return Value; } /** * xml解析 * @return */ public static String getXml3dYunConfigData(String xml){ String msg="设置成功"; try{ Document doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 // System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称 Element C=rootElt.element("C"); // System.out.println("子节点:" + C.getName()); // 拿到子节点名称 Iterator iter = C.elementIterator("Res"); // 获取结果点下的返回数据集合 while (iter.hasNext()) { Element Event = (Element) iter.next();//子节点名//父类节点 // System.out.println("根节点:" + Event.getName()); // 拿到根节点的名称 String type = Event.attributeValue("Type"); if(!"PTZ".equals(type)){ msg="设置失败"; } } }catch (Exception e){ msg="设置失败"; } return msg; } }