CreateBrowserOperation.jsp
7.78 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<%@page import="weaver.formmode.virtualform.VirtualFormHandler"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.formmode.browser.ResetFormmodeBrowserCache"%>
<%@ page import="weaver.formmode.excel.ModeCacheManager"%>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="FormmodeBrowserXML" class="weaver.formmode.browser.FormmodeBrowserXML" scope="page" />
<%
if (!HrmUserVarify.checkUserRight("FORMMODEAPP:ALL", user)) {
response.sendRedirect("/notice/noright.jsp");
return;
}
String browserid = Util.null2String(request.getParameter("browserid"));
String customid = Util.null2String(request.getParameter("customid"));
String dataid = Util.null2String(request.getParameter("dataid"));
String type = Util.null2String(request.getParameter("type"));
String objid = Util.null2String(request.getParameter("objid"));
if(!browserid.equals("")&&!customid.equals("")&&!type.equals("")){
String modeid = "";
String formid = "";
String titlefieldid = "";
String titlename = "";
String titleviewtype="";
String tablename = "";
String pkfield = "";
String detailtable = "";
String sql = "select a.modeid,a.customname,a.customdesc,a.formid,a.modeid,a.detailtable from mode_custombrowser a where a.id="+customid;
rs.executeSql(sql);
if(rs.next()){
formid = Util.null2String(rs.getString("formid"));
modeid = Util.null2String(rs.getString("modeid"));
detailtable = Util.null2String(rs.getString("detailtable"));
}
sql = "select tablename from workflow_bill where id = " + formid;
rs.executeSql(sql);
while(rs.next()){
tablename = Util.null2String(rs.getString("tablename"));
}
sql = "select b.id,b.fieldname,a.istitle,b.viewtype from mode_CustomBrowserDspField a,workflow_billfield b where a.fieldid = b.id and a.customid = "+customid+" and (a.istitle = '1' or a.istitle='2')";
rs.executeSql(sql);
int istitle=0;
while(rs.next()){
titlefieldid = Util.null2String(rs.getString("id"));
titlename = Util.null2String(rs.getString("fieldname"));
istitle = Util.getIntValue(Util.null2String(rs.getString("istitle")),0);
titleviewtype = Util.null2String(rs.getString("viewtype"));
}
sql = "select b.fieldname,a.ispk from mode_CustomBrowserDspField a,workflow_billfield b where a.fieldid = b.id and a.customid = "+customid+" and a.ispk = '1'";
rs.executeSql(sql);
while(rs.next()){
pkfield = Util.null2String(rs.getString("fieldname"));
}
if("".equals(pkfield)){
pkfield = "id";
}
boolean isVirtualForm = VirtualFormHandler.isVirtualForm(formid);
if(isVirtualForm){
tablename = VirtualFormHandler.getRealFromName(tablename);
}
String searchById = "";
String search = "";
String searchByName = "";
if(isVirtualForm){
rs.executeSql("select vprimarykey from ModeFormExtend where formid="+formid);
String vprimarykey = "";
if(rs.next()){
vprimarykey = Util.null2String(rs.getString("vprimarykey"));
}
searchById = "select "+titlename+","+titlename+" from "+tablename+" where "+vprimarykey+"=?";
search = "select "+vprimarykey+","+titlename+","+titlename+" from "+tablename;
searchByName = "select "+vprimarykey+","+titlename+","+titlename+" from "+tablename + " where " + titlename + " like ?";
}else{
if(!"".equals(detailtable)){//选择了明细表
searchById = "select d1."+titlename+",d1."+titlename+" from "+tablename+" t1 inner join "+detailtable+" d1 on t1.id=d1.mainid where d1."+pkfield+"=?";
search = "select d1."+pkfield+",d1."+titlename+",d1."+titlename+" from "+tablename+" t1 inner join "+detailtable+" d1 on t1.id=d1.mainid ";
searchByName = "select d1."+pkfield+",d1."+titlename+",d1."+titlename+" from "+tablename + " t1 inner join "+detailtable+" d1 on t1.id=d1.mainid where d1." + titlename + " like ?";
}else{//未选择明细表
searchById = "select "+titlename+","+titlename+" from "+tablename+" where "+pkfield+"=?";
search = "select "+pkfield+","+titlename+","+titlename+" from "+tablename;
searchByName = "select "+pkfield+","+titlename+","+titlename+" from "+tablename + " where " + titlename + " like ?";
}
}
String outPageURL = "/formmode/browser/CommonSingleBrowser.jsp?customid="+customid;
String from = "1";
String href = "";
if(detailtable.equals("")){
if("id".equals(pkfield)||"".equals(pkfield)){
href = "/formmode/view/AddFormMode.jsp?type=0&modeId="+modeid+"&formId="+formid+"&billid=";
}else{
href = "/formmode/view/AddFormMode.jsp?type=0&modeId="+modeid+"&pkfield="+pkfield+"&formId="+formid+"&billid=";
}
}else{
href = "/formmode/view/AddFormMode.jsp?type=0&modeId="+modeid+"&pkfield="+pkfield+"&detailtable="+detailtable+"&formId="+formid+"&detailbillid=";
}
if(istitle==2)
href="";
if(type.equals("2")){
outPageURL = "/formmode/browser/CommonMultiBrowser.jsp?customid="+customid;
}
String ds = "";
String nameHeader = "";
String descriptionHeader = "";
Hashtable dataHST = new Hashtable();
dataHST.put("customid",customid);
dataHST.put("ds",ds);
dataHST.put("search",search);
dataHST.put("sqltext1",searchById);
dataHST.put("sqltext2",searchByName);
dataHST.put("searchById",searchById);
dataHST.put("searchByName",searchByName);
dataHST.put("nameHeader",nameHeader);
dataHST.put("descriptionHeader",descriptionHeader);
dataHST.put("outPageURL",outPageURL);
dataHST.put("from",from);
dataHST.put("href",href);
if(isVirtualForm){
Map<String,Object> vFormInfo = VirtualFormHandler.getVFormInfo(formid);
dataHST.put("ds","datasource."+vFormInfo.get("vdatasource"));
}
String method = Util.null2String(request.getParameter("method"));
if(method.equals("initData")){//初始化已经存在的配置信息--更新操作
//String tempsql = "select * from (select showname from datashowset union all select showname from mode_browser)a where a.showname='"+browserid+"'";
String tempsql = "select * from mode_browser a where a.showname='"+browserid+"'";
rs.executeSql(tempsql);
int counts = rs.getColCounts();
if(counts > 0){
dataHST.put("name",browserid);
FormmodeBrowserXML.writeToBrowserXMLAdd(browserid,dataHST,"update");
ResetFormmodeBrowserCache.resetCache();
ModeCacheManager.getInstance().reloadBrowser(browserid);
%>
<script type="text/javascript">
location.href = "/formmode/setup/browsersetinfo.jsp?customid=<%=customid%>&id=<%=browserid%>&browserid=<%=browserid%>&dataid=<%=dataid%>&objid=<%=objid%>";
</script>
<%
}
}else{
String tempsql = "select * from (select showname from datashowset union all select showname from mode_browser)a where a.showname='"+browserid+"'";
rs.executeSql(tempsql);
int counts = rs.getColCounts();
if(counts > 0){
%>
<script type="text/javascript">
parent.location.href = "/formmode/browser/CreateBrowser.jsp?customid=<%=customid%>&browserid=<%=browserid%>&type=<%=type%>&flag=1";
</script>
<%
}else{
FormmodeBrowserXML.writeToBrowserXMLAdd(browserid,dataHST,"update");
ResetFormmodeBrowserCache.resetCache();
ModeCacheManager.getInstance().reloadBrowser(browserid);
%>
<script type="text/javascript">
window.top.Dialog.alert("<%=SystemEnv.getHtmlLabelName(18758,user.getLanguage())%>");//保存成功
var parentWin = parent.parent.parent.getParentWindow(parent.parent);
var dialog = parent.parent.parent.getDialog(parent.parent);
dialog.close();
parentWin.location.href = parentWin.location.href;
</script>
<%
}
}
}else{
%>
<script type="text/javascript">
parent.location.href = "/formmode/browser/CreateBrowser.jsp?customid=<%=customid%>&browserid=<%=browserid%>&type=<%=type%>&flag=2";
</script>
<%
}
%>