Browse Source

Merge remote-tracking branch 'origin/master'

Administrator 2 years ago
parent
commit
13efe93505

+ 2 - 3
mhotel/src/com/happy/Until/Excel/toExcel.java

@@ -28,7 +28,7 @@ public class toExcel {
         }
         }
     }
     }
 
 
-    public void book(List<Booking> list, String filePath, String sheetName,
+    public void book(List<Vector> list, String filePath, String sheetName,
                      Vector columnName) {
                      Vector columnName) {
         WritableWorkbook workbook = null;
         WritableWorkbook workbook = null;
         WritableSheet sheet = null;
         WritableSheet sheet = null;
@@ -40,8 +40,7 @@ public class toExcel {
 
 
             this.writeCol(sheet, columnName, 0); // 首先将列名写入第一行
             this.writeCol(sheet, columnName, 0); // 首先将列名写入第一行
             // 将结果集写入
             // 将结果集写入
-            for (int i = 0; i < list.size(); i++) {
-                Vector col = new Vector(); // 用以保存一行数据
+            for (Vector col : list) {
 //                col.add(list.get(i).getOrder_num());
 //                col.add(list.get(i).getOrder_num());
 //                col.add(list.get(i).getStatus());
 //                col.add(list.get(i).getStatus());
 //                col.add(list.get(i).getDom());
 //                col.add(list.get(i).getDom());

+ 76 - 0
mhotel/src/com/happy/Until/GetHttpParam.java

@@ -8,9 +8,15 @@ import javax.servlet.http.HttpServletRequest;
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.io.InputStreamReader;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.net.URLDecoder;
 import java.net.URLDecoder;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 
 public class GetHttpParam {
 public class GetHttpParam {
 
 
@@ -129,4 +135,74 @@ public class GetHttpParam {
         String data = JSON.toJSONString(map);
         String data = JSON.toJSONString(map);
         return data;
         return data;
     }
     }
+
+    public static <T> T parameterMapToBean(HttpServletRequest req, Class<T> clazz) throws ClassNotFoundException {
+        //获得参数的map集合
+        Map<String, String[]> map = req.getParameterMap();
+
+        //获取实体类的对象
+        T bean = null;
+        try {
+            bean = clazz.newInstance();
+        } catch (InstantiationException e) {
+            throw new RuntimeException(e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+
+        //获取实体类的所有方法
+        Method[] methods = clazz.getDeclaredMethods();
+        //开始遍历实体类方法
+        for (Method method : methods) {
+            //判断方法名是否以set开头
+            if (method.getName().startsWith("set")) {
+                //遍历map集合中的key
+                for (Map.Entry<String, String[]> entry : map.entrySet()) {
+                    //判断方法名末尾是否和map的key一致,比较的时候将方法名全部转为小写
+                    if (method.getName().toLowerCase().endsWith(entry.getKey().toLowerCase())) {
+                        //遍历map中的value值,因为map中是以 k1={v1,v2} ,k2={v3,v4}的形式存储数据的
+                        try {
+                            for (String e : entry.getValue()) {
+                                //获取set方法中的参数类型
+                                Class<?>[] parameterTypes = method.getParameterTypes();
+                                //因为set方法的参数类型只有一个,所以取第一个
+                                Class<?> parameterType = parameterTypes[0];
+                                //获得参数类型的名字
+                                String simpleName = parameterType.getSimpleName();
+                                //比较参数类型名并将获得的String类型的数据转换为对应实体类的数据
+                                if ("String".equals(simpleName)) {
+                                    method.invoke(bean, e);
+                                } else if ("Integer".equals((simpleName)) || "int".equals((simpleName))) {
+                                    int ee = Integer.parseInt(e);
+                                    method.invoke(bean, ee);
+                                } else if ("Double".equals((simpleName)) || "double".equals((simpleName))) {
+                                    double ee = Double.parseDouble(e);
+                                    method.invoke(bean, ee);
+                                }
+                                //其他类型可以添加,以上举出常用的数据类型
+                            }
+                        } catch (IllegalAccessException e) {
+                            throw new RuntimeException(e);
+                        } catch (InvocationTargetException e) {
+                            throw new RuntimeException(e);
+                        }
+                    }
+                }
+
+            }
+
+        }
+        //返回对象
+        return bean;
+    }
+
+    private static Class getClass(String simpleName) throws ClassNotFoundException {
+        Matcher matcher = Pattern.compile("(?<=\\<L)(\\S+)(?=\\;>)").matcher(simpleName);
+        if (matcher.find()) {
+            String classUrl = matcher.group().replace("/",".");
+            Class c=Class.forName(classUrl);
+            return c;
+        }
+        return null;
+    }
 }
 }

+ 40 - 15
mhotel/src/com/happy/action/bookAction.java

@@ -18,6 +18,7 @@ import org.apache.struts2.interceptor.ServletRequestAware;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Vector;
 import java.util.Vector;
 
 
@@ -165,21 +166,35 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
             s1.append(" and pay_time >= '").append(payStartTime).append("'")
             s1.append(" and pay_time >= '").append(payStartTime).append("'")
                     .append(" and pay_time <= '").append(payEndTime).append("'");
                     .append(" and pay_time <= '").append(payEndTime).append("'");
         }
         }
+
         List<Booking> list = bookService.queryList(s1.toString()); // 查询分页
         List<Booking> list = bookService.queryList(s1.toString()); // 查询分页
+        List<Vector> vectorsList = new ArrayList<>();
+        for(Booking book:list){
+            Vector columnValue = new Vector();
+            columnValue.add(book.getOrderNum());
+            columnValue.add(book.getOrderName());
+            columnValue.add(book.getUserName());
+            columnValue.add(book.getUserPhone());
+            columnValue.add(book.getHouseName());
+            columnValue.add(book.getHouseOrderNumber());
+            columnValue.add(book.getHouseTotalPrice());
+            columnValue.add(book.getPayTime());
+        }
         // 项目路径地址
         // 项目路径地址
         String path = request.getSession().getServletContext()
         String path = request.getSession().getServletContext()
                 .getRealPath("/download/");// File.separator
                 .getRealPath("/download/");// File.separator
         try{
         try{
             Vector columnName = new Vector();
             Vector columnName = new Vector();
-            columnName.add("orderNum");
-            columnName.add("orderName");
-            columnName.add("userName");
-            columnName.add("userPhone");
-            columnName.add("houseName");
-            columnName.add("houseTotalPrice");
-            columnName.add("payTime");
+            columnName.add("订单号");
+            columnName.add("状态");
+            columnName.add("预定人");
+            columnName.add("手机号");
+            columnName.add("预定房型");
+            columnName.add("房间数");
+            columnName.add("订单金额(元)");
+            columnName.add("支付时间");
             // 导出文件
             // 导出文件
-            new toExcel().book(list, path + "订单信息" + "Report.xls",
+            new toExcel().book(vectorsList, path + "订单信息" + UUIDUtil.generateID() +"Report.xls",
                     "sheet1", columnName);
                     "sheet1", columnName);
             String url = request.getSession().getServletContext().getContextPath();
             String url = request.getSession().getServletContext().getContextPath();
             resultJson.put("downurl", url+"/download/订单信息" + "Report.xls");
             resultJson.put("downurl", url+"/download/订单信息" + "Report.xls");
@@ -293,20 +308,30 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
         }
         }
 
 
         List<Booking> list = bookService.queryList(s1.toString()); // 查询列表
         List<Booking> list = bookService.queryList(s1.toString()); // 查询列表
+        List<Vector> vectorsList = new ArrayList<>();
+        for(Booking book:list){
+            Vector columnValue = new Vector();
+            columnValue.add(book.getOrderNum());
+            columnValue.add(book.getUserName());
+            columnValue.add(book.getUserPhone());
+            columnValue.add(book.getHouseOrderNumber());
+            columnValue.add(book.getPayAccount());
+            columnValue.add(book.getPayTime());
+        }
         // 项目路径地址
         // 项目路径地址
         String path = request.getSession().getServletContext()
         String path = request.getSession().getServletContext()
                 .getRealPath("/download/");// File.separator
                 .getRealPath("/download/");// File.separator
 
 
         try{
         try{
             Vector columnName = new Vector();
             Vector columnName = new Vector();
-            columnName.add("orderNum");
-            columnName.add("userName");
-            columnName.add("userPhone");
-            columnName.add("houseOrderNumber");
-            columnName.add("payAccount");
-            columnName.add("payTime");
+            columnName.add("订单号");
+            columnName.add("预定人");
+            columnName.add("手机号");
+            columnName.add("房间数");
+            columnName.add("订单金额");
+            columnName.add("退房时间");
             // 导出文件
             // 导出文件
-            new toExcel().book(list, path + "台账信息" + "Report.xls",
+            new toExcel().book(vectorsList, path + "台账信息" + UUIDUtil.generateID() + "Report.xls",
                     "sheet1", columnName);
                     "sheet1", columnName);
             String url = request.getSession().getServletContext().getContextPath();
             String url = request.getSession().getServletContext().getContextPath();
             resultJson.put("downurl", url+"/download/台账信息" + "Report.xls");
             resultJson.put("downurl", url+"/download/台账信息" + "Report.xls");