GetSapBrowserParas.jsp
3.92 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
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.Writer"%>
<%@ page import="weaver.general.StaticObj" %>
<%@ page import="weaver.parseBrowser.*" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="SapBrowserComInfo" class="weaver.parseBrowser.SapBrowserComInfo" scope="page" />
<%
response.setContentType("text/xml;charset=UTF-8");
String formid=Util.getIntValue(request.getParameter("formid"),0)+"";
String isbill=Util.getIntValue(request.getParameter("isbill"),-1)+"";
String workflowid = Util.getIntValue(request.getParameter("workflowid"),-1)+"";
String browserType = Util.null2String(request.getParameter("browserType"));
String currenttime = Util.null2String(request.getParameter("currenttime"));
String isfirefox = Util.null2String(request.getParameter("isfirefox"));
String sapbrowserid = "";//浏览框id
String frombrowserid = "";//触发字段id
String strs[] = browserType.split("\\|");
if(strs.length==2){
sapbrowserid = Util.null2String(strs[0]);
frombrowserid = Util.null2String(strs[1]);
}
boolean ismainfiled = true;//是主字段
String detailrow = "";//如果是明字段,代表行号
String fromdetailtable = "";//如果是明字段,代表明细表
String fromfieldid = "";//字段id
strs = frombrowserid.split("_");
if(strs.length==2){
fromfieldid = strs[0];
detailrow = strs[1];
ismainfiled = false;
}else{
fromfieldid = strs[0];
}
//System.out.println(sapbrowserid+" @ "+frombrowserid);
String sql = "";
ArrayList AllFieldList = new ArrayList();//主字段
HashMap AllField = new HashMap();//主字段
ArrayList needChangeField = new ArrayList();//需要转换的字段
String needChangeFieldString = "";
if(isbill.equals("1")){//单据
sql = "select id,fieldname,detailtable from workflow_billfield where billid = "+formid;
rs.executeSql(sql);
while(rs.next()){
String id = "field"+Util.null2String(rs.getString("id"));
String detailtable = Util.null2String(rs.getString("detailtable")).toUpperCase();
if(id.equals("field"+fromfieldid)){
fromdetailtable = detailtable;
}
if(!detailtable.equals("")){
detailtable = detailtable + "_";
}
String fieldname = detailtable+Util.null2String(rs.getString("fieldname")).toUpperCase();
AllField.put(fieldname.toUpperCase(),id);
//System.out.println("all field: "+fieldname+" #### "+id);
AllFieldList.add(fieldname);
}
}else{//表单暂时不处理
//主表数据
//workflow_formdictdetail
//sql = "select b.id,b.fieldname from workflow_formfield a,workflow_formdict b where a.fieldid = b.id and formid = " + formid;
//rs.executeSql(sql);
//while(rs.next()){
//String id = "field"+Util.null2String(rs.getString("id"));
//String fieldname = Util.null2String(rs.getString("fieldname"));
//System.out.println(id+" "+fieldname);
//AllField.put(fieldname.toLowerCase(),id);
//AllFieldList.add(fieldname);
//}
}
if("0".equals(isfirefox)){
sapbrowserid=new String(sapbrowserid.getBytes( "iso-8859-1" ), "utf-8" );
}
SapBaseBrowser SapBaseBrowser = (SapBaseBrowser)SapBrowserComInfo.getSapBaseBrowser(sapbrowserid);
ArrayList import_input = SapBaseBrowser.getImport_input();
for(int i=0;i<import_input.size();i++){
Field Field = (Field)import_input.get(i);
String fieldname = Field.getFromOaField().toUpperCase();
String fieldid = Util.null2String((String)AllField.get(fieldname));
int isdetailfield = fieldname.indexOf(fromdetailtable);
if(isdetailfield>=0&&!fromdetailtable.equals("")){
fieldid = fieldid+"_"+detailrow;
}
needChangeFieldString += fieldid + ",";
//System.out.println(fieldname.indexOf(fromdetailtable)+" @ "+fieldname+" @ "+fieldid+" @ needChangeFieldString:"+needChangeFieldString);
}
session.setAttribute("needChangeFieldString_"+workflowid+"_"+currenttime,needChangeFieldString);
session.setAttribute("AllField_"+workflowid+"_"+currenttime,AllField);
session.setAttribute("AllFieldList_"+workflowid+"_"+currenttime,AllFieldList);
%>
<value>
<%=needChangeFieldString%>
</value>