Jelajahi Sumber

通用方法

liuling 10 bulan lalu
induk
melakukan
f5993fccca

+ 14 - 0
web/com/kingdee/custom/shengshen/handle/EntryRegistrationHandle.java

@@ -0,0 +1,14 @@
+package com.kingdee.eas.custom.shengshen.handle;
+
+import com.kingdee.shr.base.syssetting.web.handler.ListHandler;
+import org.springframework.ui.ModelMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class EntryRegistrationHandle extends ListHandler {
+    public String getRegisterFileAtion(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap){
+
+        return null;
+    }
+}

+ 195 - 0
web/com/kingdee/custom/shengshen/utils/HttpClient3.java

@@ -0,0 +1,195 @@
+package com.kingdee.eas.custom.shengshen.utils;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+
+public class HttpClient3 {
+    public static byte[] getBytesByNetURL(String urlStr) throws IOException {
+//		RestTemplate restTemplate = new RestTemplate();
+//		ResponseEntity<byte[]> responseEntity = restTemplate.exchange(urlStr, HttpMethod.GET, null, byte[].class);
+//		byte[] fileContent = responseEntity.getBody();
+        URL url = new URL(urlStr);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+//		//设置超时时间
+        conn.setConnectTimeout(5 * 1000);
+//		//通过输入流获取图片数据
+        InputStream in = conn.getInputStream();
+//		//得到图片的二进制数据
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        byte[] buffer = new byte[1024];
+        int len;
+        while ((len = in.read(buffer)) != -1) {
+            outputStream.write(buffer, 0, len);
+        }
+        in.close();
+        return outputStream.toByteArray();
+//		return fileContent;
+    }
+    /**
+     * http get请求
+     * @param httpUrl 链接
+     * @return 响应数据
+     */
+    public static InputStream doGet(String httpUrl){
+        //链接
+        HttpURLConnection connection=null;
+        InputStream is=null;
+        BufferedReader br = null;
+        StringBuffer result=new StringBuffer();
+        try {
+            //创建连接
+            URL url=new URL(httpUrl);
+            connection= (HttpURLConnection) url.openConnection();
+            //设置请求方式
+            connection.setRequestMethod("GET");
+            //设置连接超时时间
+            connection.setConnectTimeout(15000);
+            //设置读取超时时间
+            connection.setReadTimeout(15000);
+            //开始连接
+            connection.connect();
+            //获取响应数据
+            if(connection.getResponseCode()==200){
+                //获取返回的数据
+                is=connection.getInputStream();
+
+//                if(is!=null){
+//                    br=new BufferedReader(new InputStreamReader(is,"UTF-8"));
+//                    String temp = null;
+//                    while ((temp=br.readLine())!=null){
+//                        result.append(temp);
+//                    }
+//                }
+            }
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }finally {
+            if(br!=null){
+                try {
+                    br.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            if(is!=null){
+                try {
+                    is.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            connection.disconnect();// 关闭远程连接
+        }
+
+        return is;
+    }
+
+    /**
+     * post请求
+     * @param httpUrl 链接
+     * @param param 参数
+     * @return
+     */
+    public static JSONObject doPost(String httpUrl,  String param) {
+        StringBuffer result=new StringBuffer();
+        //连接
+        HttpURLConnection connection=null;
+        OutputStream os=null;
+        InputStream is=null;
+        BufferedReader br=null;
+        JSONObject jsonObject = null;
+        try {
+            //创建连接对象
+            URL url=new URL(httpUrl);
+            //创建连接
+            connection= (HttpURLConnection) url.openConnection();
+            //设置请求方法
+            connection.setRequestMethod("POST");
+            //设置连接超时时间
+            connection.setConnectTimeout(15000);
+            //设置读取超时时间
+            connection.setReadTimeout(15000);
+            //设置是否可读取
+            connection.setDoOutput(true);
+            //设置响应是否可读取
+            connection.setDoInput(true);
+            //设置参数类型
+            connection.setRequestProperty("Content-Type", "application/json");
+            //拼装参数
+            if(param!=null&&!param.equals("")){
+                //设置参数
+                os=connection.getOutputStream();
+                //拼装参数
+                os.write(param.getBytes("UTF-8"));
+            }
+            //设置权限
+            //设置请求头等
+
+            //开启连接
+            //connection.connect();
+            //读取响应
+            if(connection.getResponseCode()==200){
+                is=connection.getInputStream();
+                if(is!=null){
+                    br=new BufferedReader(new InputStreamReader(is,"UTF-8"));
+                    String temp=null;
+                    if((temp=br.readLine())!=null){
+                        result.append(temp);
+                    }
+                }
+                 jsonObject =  JSON.parseObject(String.valueOf(result));
+
+            }
+            //关闭连接
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }finally {
+            if(br!=null){
+                try {
+                    br.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            if(os!=null){
+                try {
+                    os.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            if(is!=null){
+                try {
+                    is.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            //关闭连接
+            connection.disconnect();
+        }
+        return jsonObject;
+    }
+
+
+    public static void main(String[] str){
+        /*String result=HttpURLConnectionUtil.doGet("http://localhost:8080/test");
+        System.out.println(result);*/
+        /*Map<String, Object> map=new HashMap<>();
+        map.put("1","1");
+        map.put("2","2");
+        map.put("3","3");
+        System.out.println(HttpURLConnectionUtil.getParamStr(map));*/
+    }
+}

+ 51 - 0
web/com/kingdee/custom/shengshen/utils/PDFFillInformationUtil.java

@@ -0,0 +1,51 @@
+package com.kingdee.eas.custom.shengshen.utils;
+
+import com.itextpdf.text.pdf.AcroFields;
+import com.itextpdf.text.pdf.PdfReader;
+import com.itextpdf.text.pdf.PdfStamper;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
+
+public class PDFFillInformationUtil {
+    /**
+     * 给pdf填充数据
+     * @param fileName 原始文件名
+     * @param field map<String,String> key 为字段名,value 为填充值
+     * @return 填充后的文件  文件类型为byte[]
+     */
+    public byte[] fillInformation(String fileName, Map<String,String> field) throws IOException {
+        //http://169.254.157.139:6888/easWebClient/download/DSF_Mod_373.pdf
+        String url = "http://169.254.157.139:6888/easWebClient/download/"+fileName;
+        byte[] bytesByNetURL = HttpClient3.getBytesByNetURL(url);
+        try {
+            System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
+            // 读取PDF模板
+            PdfReader pdfReader = new PdfReader(bytesByNetURL);
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            // 创建需就改PDF文件
+            PdfStamper pdfStamper = new PdfStamper(pdfReader, baos);
+            AcroFields form = pdfStamper.getAcroFields();
+            // 设置字段数据
+            Iterator<Map.Entry<String, String>> iterator = field.entrySet().iterator();
+            while (iterator.hasNext()) {
+                Map.Entry<String, String> entry = iterator.next();
+                String key = entry.getKey();
+                String value = entry.getValue();
+                //给字段添加值
+                form.setField(key, value);
+            }
+            //生成后的pdf 可以在编辑
+            pdfStamper.setFormFlattening(false);
+            // 关闭修改器,并释放资源
+            pdfStamper.close();
+            pdfReader.close();
+            return  baos.toByteArray();
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("pdf 填充数据失败!!");
+        }
+    }
+}