1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
<%@include file="mysql_connect.jsp"%>
<%@page import="java.util.LinkedHashMap"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.LinkedList"%>
<%@page import="com.alibaba.fastjson.JSON,com.alibaba.fastjson.JSONObject,com.alibaba.fastjson.JSONArray,com.alibaba.fastjson.parser.Feature"%>
<%@ page import="java.text.SimpleDateFormat,java.util.Date" %> 
<%@page import="druidConnect.JDBCUtils.*,java.sql.Connection"%>
 
<%
String gongneng = request.getParameter("gongneng");
String yemian = request.getParameter("yemian");
String sltcSql =request.getParameter("sql"); 
String anquanma=request.getParameter("anquanma");
Connection con = druidConnect.JDBCUtils.getConnection();
CallableStatement cs =null;
try{
    
     if(true){
    String flag="";
    //sltcSql="{call AXJ_a_largeScreen_glassCut_select()}";
    flag=request.getParameter("flag");
         String[] sql=sltcSql.split("~");
          cs = con.prepareCall(sql[0]);
         if(sql.length>1){
            HashMap<String ,String> hp =  JSON.parseObject(sql[1], LinkedHashMap.class,Feature.OrderedField);
            int indexNum=1;
            for(String key : hp.keySet()) {
                cs.setString(indexNum, String.valueOf(hp.get(key)));
                //out.print("cs.setString("+indexNum+", "+String.valueOf(hp.get(key))+")");
                indexNum++;
                     }
            cs.registerOutParameter( indexNum , java.sql.Types.LONGNVARCHAR); 
         }
        
        
          if(flag.equals("2")){
              ResultSet rs = cs.executeQuery();
              ResultSetMetaData rsmd = rs.getMetaData(); 
              String[] arr;
              LinkedList<String> results = new LinkedList<String>();
              
              while(rs.next()){
                  LinkedHashMap<String, String> result = new LinkedHashMap<String, String>();
                  for(int i=0;i<rsmd.getColumnCount();i++){
                    // out.println(rsmd.getColumnName(i+1));String.valueOf(i)
                      String val=rs.getString(i+1)!=null?String.valueOf(rs.getString(i+1)):"";
                       result.put(String.valueOf(i+"_"+rsmd.getColumnName(i+1)),val);
                    }
                  String jsonStr = JSON.toJSONString(result);
                  results.add(jsonStr);
              }
              if(results.size()<1){
                  results.add("{}");
              }
              out.print(results);
              
          }else{
              cs.execute();
              String fanhui=(String) cs.getString("fanhui");
             // out.print("[["+cs.getString("fanhui").length()+","+cs.getString("fanhui")+"]]");
              if(cs.getString("fanhui")!=null){
                  if(fanhui.length()>0 && !fanhui.equals("null")){
                      out.print("[["+cs.getString("fanhui")+"]]");  
                  }
              } 
              
          } 
          
    }
     
}catch(Exception e){
     cs =con.prepareCall("{call AXJ_err(?,?,?)}");
     cs.setString(1, e.toString());
     cs.setString(2, gongneng);
     cs.setString(3, sltcSql+','+anquanma);
     cs.execute();
    
     out.print("[['发生未知错误,请联系相关人员']]");
}finally {
    druidConnect.JDBCUtils.close(cs, con);
 }
%>