getCompleteUrl.jsp
4.68 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="weaver.general.Util" %>
<%@page import="weaver.hrm.User"%>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@page import="java.util.regex.Matcher"%>
<%@page import="java.util.regex.Pattern"%>
<%@page import="weaver.conn.RecordSet"%>
<%@page import="weaver.systeminfo.SystemEnv" %>
<%
User user = HrmUserVarify.getUser(request, response) ;
if (user == null ) return ;
String isbill = Util.null2String(request.getParameter("isbill"));
String formid = Util.null2String(request.getParameter("formid"));
String fshowname = Util.null2String(request.getParameter("fshowname"));
String sql = "";
RecordSet rs = new RecordSet();
if(isbill.equals("0")){
sql = " select workflow_formfield.fieldid as id,fieldname as name,workflow_fieldlable.fieldlable as label,workflow_formdict.fieldhtmltype as htmltype,workflow_formdict.type as type,workflow_formdict.fielddbtype as dbtype,workflow_formfield.isdetail as isdetail,workflow_formfield.groupid,workflow_formfield.fieldorder "
+" from workflow_formfield,workflow_formdict,workflow_fieldlable "
+" where workflow_fieldlable.formid = workflow_formfield.formid and workflow_fieldlable.isdefault = '1' and workflow_formdict.fieldhtmltype!=6 and workflow_fieldlable.fieldid =workflow_formfield.fieldid and workflow_formdict.id = workflow_formfield.fieldid and (workflow_formfield.isdetail<>'1' or workflow_formfield.isdetail is null) and workflow_formfield.formid="+formid+" ";
if(!fshowname.equals(""))
{
sql+=" and (workflow_fieldlable.fieldlable like '%"+fshowname+"%' ";
String rexp = "^[a-zA-Z]+$";
Pattern pat = Pattern.compile(rexp);
Matcher mat = pat.matcher(fshowname);
if(mat.find())
{
if(rs.getDBType().equals("oracle")){
sql += " or f_GetPy(workflow_fieldlable.fieldlable) like '%"+fshowname+"%')";
}else if(rs.getDBType().equalsIgnoreCase("sqlserver")){
sql += " or [dbo].f_GetPy(workflow_fieldlable.fieldlable) like '%"+fshowname+"%')";
}
}else
sql+=")";
}
sql += " order by workflow_formfield.isdetail,workflow_formfield.groupid,workflow_formfield.fieldorder desc";
}else if(isbill.equals("1")){
sql = " select t1.id as id,t1.fieldname as name,t1.fieldlabel as label,t1.fieldhtmltype as htmltype,t1.type as type, t1.fielddbtype as dbtype,t1.viewtype as isdetail,t1.detailtable,t1.dsporder "
+" from workflow_billfield t1,HtmlLabelInfo t2"
+" where (t1.viewtype is null or t1.viewtype!=1) and t1.billid = "+formid + " and t1.fieldhtmltype!=6 ";
sql += " and t2.indexid=t1.fieldlabel and t2.languageid="+user.getLanguage()+" ";
if(!fshowname.equals(""))
{
sql += " and (t2.labelname like '%"+fshowname+"%'";
String rexp = "^[a-zA-Z]+$";
Pattern pat = Pattern.compile(rexp);
Matcher mat = pat.matcher(fshowname);
if(mat.find())
{
if(rs.getDBType().equals("oracle")){
sql += " or f_GetPy(t2.labelname) like '%"+fshowname+"%')";
}else if(rs.getDBType().equalsIgnoreCase("sqlserver")){
sql += " or [dbo].f_GetPy(t2.labelname) like '%"+fshowname+"%')";
}
}else
sql+=")";
}
sql += " order by t1.viewtype,t1.detailtable,t1.dsporder desc";
}
rs.executeSql(sql);
String rejson = "[";
String weaverSplit = "||~WEAVERSPLIT~||";
while(rs.next())
{
String id = Util.null2String(rs.getString("id"));
String name = Util.null2String(rs.getString("name"));
String label = Util.null2String(rs.getString("label"));
String htmltype = Util.null2String(rs.getString("htmltype"));
String type = Util.null2String(rs.getString("type"));
String dbtype = Util.null2String(rs.getString("dbtype"));
if(htmltype.equals(""))htmltype="0";
if(type.equals(""))type="0";
if(dbtype.equals(""))dbtype="-1";
if(isbill.equals("1"))
label = SystemEnv.getHtmlLabelName(Util.getIntValue(label),user.getLanguage());
String pfieldstr = htmltype + weaverSplit + type + weaverSplit + dbtype;
if ("5".equals(htmltype)) {
StringBuilder sb = new StringBuilder();
RecordSet rs1 = new RecordSet();
rs1.executeSql("SELECT selectname AS label,selectvalue AS value FROM workflow_selectitem WHERE fieldid='" + id + "'");
while (rs1.next()) {
sb.append("{\\\"label\\\":\\\"").append(Util.null2String(rs1.getString("label"))).append("\\\"");
sb.append(",\\\"value\\\":\\\"").append(Util.null2String(rs1.getString("value"))).append("\\\"}").append(",");
}
if (sb.length() > 0) {
sb.setLength(sb.length() - 1);
pfieldstr += weaverSplit + "[" + sb.toString() + "]";
}
}
rejson +="{\"id\":\""+id+"\",\"name\":\""+label+"\",\"pfiled\":\""+pfieldstr+"\"},";
}
if(rejson.contains(","))
rejson = rejson.substring(0,rejson.lastIndexOf(","));
rejson+="]";
out.clear();
out.print(rejson);
%>