sapSingleBrowser.jsp
8.29 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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@page import="com.weaver.integration.entity.Int_BrowserbaseInfoBean"%>
<%@page import="com.weaver.integration.entity.Sap_inParameterBean"%>
<%@page import="com.weaver.integration.entity.Sap_inStructureBean"%>
<%@page import="com.weaver.integration.util.IntegratedSapUtil"%>
<jsp:useBean id="butil" class="com.weaver.integration.util.BaseUtil" scope="page" />
<html>
<head>
<%
String workflowid=Util.null2String(request.getParameter("workflowid"));
//如果是新建流程,只能从页面取数据
String frombrowserid = Util.null2String(request.getParameter("frombrowserid"));//触发字段id
String fromNodeorReport=Util.getIntValue(request.getParameter("fromNodeorReport"),0)+"";//1表示改浏览按钮的点击来源为报表或节点前或批次条件
boolean ismainfield = true;//是主字段
String detailrow = "";//如果是明字段,代表行号
String fromfieldid = "";//字段id
String strs[] = frombrowserid.split("_");
if(strs.length>=2){
fromfieldid = strs[0];
detailrow = strs[1];
ismainfield = false;
}else{
fromfieldid = strs[0];
}
String type=Util.null2String(request.getParameter("sapbrowserid"));//集成流程按钮标识
String nodeid=Util.null2String(request.getParameter("nodeid"));//流程表单的节点id
Int_BrowserbaseInfoBean nb=butil.getSapBaseInfoById(type);
List inParameter=nb.getSap_inParameter();//获取输入参数
List listoafieldin=new ArrayList();//封装oa输入参数字段(有固定值的)
List listoafieldno=new ArrayList();//封装oa输入参数字段(所有的)
List intstrufield=nb.getSap_inStructure(); //获取输入结构
//System.out.println("浏览按钮标识"+type);
//System.out.println("输入参数的长度"+inParameter.size());
//System.out.println("输入结构的长度"+intstrufield.size());
IntegratedSapUtil insaputil=new IntegratedSapUtil();
%>
</head>
<body>
<%
out.println(" <form action='/integration/sapSingleBrowserDetial.jsp' method='post' name='weaverfield' id='weaverfield'>");
if(inParameter.size()>0)//说明有输入参数
{
for(int i=0;i<inParameter.size();i++)//循环参数
{
Sap_inParameterBean sap_inParameterBean=(Sap_inParameterBean)inParameter.get(i);
String Constant=sap_inParameterBean.getConstant();//输入参数的固定值
String Oafield=sap_inParameterBean.getOafield();//输入参数来源于OA字段的值
String sapfield=sap_inParameterBean.getSapfield();//输入参数的sap字段
String oafieldid=sap_inParameterBean.getFromfieldid();//OA字段的id
String ismainfieldmy=sap_inParameterBean.getIsmainfield();//是否主表字段
if("".equals(Constant)&&!"".equals(oafieldid))//如果没有固定值,那么这个值就来源于流程表单界面的字段,并且这个oa字段存在
{
if("1".equals(ismainfieldmy))//主表
{
listoafieldin.add("field"+oafieldid);
//out.println("field"+oafieldid+"---<br/>");
}else//明细表字段
{
listoafieldin.add("field"+oafieldid+"_"+detailrow);
}
}
if(!"".equals(oafieldid))
{
if("1".equals(ismainfieldmy))//主表
{
listoafieldno.add("field"+oafieldid+"@<>@"+Constant);
}else//明细表字段
{
listoafieldno.add("field"+oafieldid+"_"+detailrow+"@<>@"+Constant);
}
}
}
}
if(intstrufield.size()>0)//说明有输入结构
{
for(int i=0;i<intstrufield.size();i++)//循环参数
{
Sap_inStructureBean sap_inStructureBean=(Sap_inStructureBean)intstrufield.get(i);
String Constant=sap_inStructureBean.getConstant();//输入参数的固定值
String Oafield=sap_inStructureBean.getOafield();//输入参数来源于OA字段的值
String sapfield=sap_inStructureBean.getSapfield();//输入参数的sap字段
String oafieldid=sap_inStructureBean.getFromfieldid();//OA字段的id
String ismainfieldmy=sap_inStructureBean.getIsmainfield();//是否主表字段
if("".equals(Constant)&&!"".equals(oafieldid))//如果没有固定值,那么这个值就来源于流程表单界面的字段,并且这个oa字段存在
{
if("1".equals(ismainfieldmy))//主表
{
listoafieldin.add("field"+oafieldid);
}else//明细表字段
{
listoafieldin.add("field"+oafieldid+"_"+detailrow);
}
}
if(!"".equals(oafieldid))
{
if("1".equals(ismainfieldmy))//主表
{
listoafieldno.add("field"+oafieldid+"@<>@"+Constant);
}else//明细表字段
{
listoafieldno.add("field"+oafieldid+"_"+detailrow+"@<>@"+Constant);
}
}
}
}
listoafieldno=insaputil.removeDuplicateWithOrder(listoafieldno);//去掉重复的字段
for(int i=0;i<listoafieldno.size();i++)
{
String templist[]=(listoafieldno.get(i)+"").split("@<>@");
if(templist.length>1)
{
out.println("<input type='hidden' name='"+templist[0]+"' id='"+templist[0]+"' value='"+templist[1]+"'>");
}else
{
out.println("<input type='hidden' name='"+templist[0]+"' id='"+templist[0]+"' value=''>");
}
}
out.println("<input type='hidden' name='type' id='type' value='"+type+"'>");
out.println("<input type='hidden' name='detailrow' id='detailrow' value='"+detailrow+"'>");
out.println("<input type='hidden' name='fromfieldid' id='fromfieldid' value='"+fromfieldid+"'>");
out.println("<input type='hidden' name='fromNodeorReport' id='fromNodeorReport' value='"+fromNodeorReport+"'>");
out.println("<input type='hidden' name='nodeid' id='nodeid' value='"+nodeid+"'>");
out.println("<input type='hidden' name='workflowid' id='workflowid' value='"+workflowid+"'>");
out.println(" </form>");
%>
<%--<input id="test" type="text" value="1"/>
<input id="test2" type="text" value="1"/>--%>
</body>
<script type="text/javascript">
$(document).ready(function() {
<%
for(int j=0;j<listoafieldin.size();j++)
{
%>
//$("#test").val("<%=listoafieldin.get(j)%>");
try{
if(navigator.userAgent.indexOf('MSIE') >= 0) {
//得到输入参数要的字段值
//var obj = window.parent.parent.document.getElementById("<%=listoafieldin.get(j)%>");
//修改 zhouhb
var obj="";
if(parent.parent.document.getElementById("bodyiframe")==null||parent.parent.document.getElementById("bodyiframe")==""){
//表单建模中的iframe的id为tabcontentframe
var dialog = window.parent.parent.getDialog(parent);
obj = dialog.currentWindow.document.getElementById('<%=listoafieldin.get(j)%>');
}else{
obj= parent.parent.document.getElementById("bodyiframe").contentWindow.document.getElementById("<%=listoafieldin.get(j)%>");
}
//end
if(obj.tagName=="SELECT"){
//下拉框
document.getElementById("<%=listoafieldin.get(j)%>").value=obj[obj.selectedIndex].text;
//alert(obj[obj.selectedIndex].text);
}else{
document.getElementById("<%=listoafieldin.get(j)%>").value=obj.value;
}
}else{
//修改 zhouhb
if(parent.parent.document.getElementById("bodyiframe")==null||parent.parent.document.getElementById("bodyiframe")==""){
//表单建模中的iframe的id为tabcontentframe
<%
System.out.println("fieldid:"+listoafieldin.get(j));
%>
var dialog = window.parent.parent.getDialog(parent);
obj = dialog.currentWindow.document.getElementById('<%=listoafieldin.get(j)%>');
var v=jQuery("#"+'<%=listoafieldin.get(j)%>').val();
}else{
obj= parent.parent.document.getElementById("bodyiframe").contentWindow.document.getElementById('<%=listoafieldin.get(j)%>');
}
//end
if(obj.tagName=="SELECT"){
//下拉框
document.getElementById("<%=listoafieldin.get(j)%>").value=obj[obj.selectedIndex].text;
}else{
document.getElementById("<%=listoafieldin.get(j)%>").value=obj.value;
}
//$("#test2").val(obj.value);
}
}catch(e){
}
<%
}
%>
document.getElementById("weaverfield").submit();
});
</script>
</html>