DataInputModeDetail.jsp
6.5 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.workflow.datainput.DynamicDataInput" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.Hashtable" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs1" class="weaver.conn.RecordSet" scope="page" />
<%
String fformid=Util.null2String(request.getParameter("formid"));
String wflid=request.getParameter("id");
//String triggerfieldname=request.getParameter("trg");
//int indexid=Util.getIntValue(triggerfieldname.substring(triggerfieldname.indexOf("_")+1,triggerfieldname.length()));
//triggerfieldname=triggerfieldname.substring(0,triggerfieldname.indexOf("_"));
String isbill=request.getParameter("bill");
String nodeid=request.getParameter("node");
int tableid=0;
int detailsum=Util.getIntValue(request.getParameter("detailsum"),0);
String inputchecks="";
/*
rs.executeSql("select count(*) from Workflow_billdetailtable where billid="+fformid);
if(rs.next()){
detailsum=rs.getInt(1);
}
*/
//System.out.println("detailsum:"+detailsum);
%>
<script language="javascript">
window.onload = function (){
<%
String triggerfieldnameS=request.getParameter("trg");
ArrayList triggerfieldnameArr = Util.TokenizerString(triggerfieldnameS,",");
for(int temp=0;temp<triggerfieldnameArr.size();temp++){
String triggerfieldname = Util.null2String((String)triggerfieldnameArr.get(temp));
if(triggerfieldname.equals("")) continue;
int indexid=Util.getIntValue(triggerfieldname.substring(triggerfieldname.indexOf("_")+1,triggerfieldname.length()));
triggerfieldname=triggerfieldname.substring(0,triggerfieldname.indexOf("_"));
//System.out.println("triggerfieldname:"+request.getParameter("triggerfieldname"));
if(triggerfieldname!=null && !triggerfieldname.trim().equals("")){
DynamicDataInput DDI=new DynamicDataInput(wflid,triggerfieldname,isbill,"1");
ArrayList clearjs=new ArrayList();
clearjs=DDI.ClearDetailField(wflid,triggerfieldname,isbill,nodeid,indexid,true);
//System.out.println(clearjs);
for(int i=0;i<clearjs.size();i++){
%>
//页面输出字段值初始化(明细字段值清除)
//alert("<%=clearjs.get(i)%>");
eval("<%=clearjs.get(i)%>");
<%
}
String sql="select id from Workflow_DataInput_entry where WorkFlowID="+wflid+" and type='1' and TriggerFieldName='"+triggerfieldname+"' and (enable is null or enable<>1)";
//System.out.println(sql);
rs.executeSql(sql);
String entryid="";
String datainputid="";
Hashtable outdatahash=new Hashtable();
while(rs.next()){
entryid=rs.getString("id");
rs1.executeSql("select id,IsCycle,WhereClause from Workflow_DataInput_main where entryID="+entryid+" order by orderid");
String sql1="";
ArrayList outfieldnamelist=new ArrayList();
ArrayList outdatasList=new ArrayList();
ArrayList[] templist=new ArrayList[10];
ArrayList[] templistdetail=new ArrayList[10];
String[] isclear=new String[10];
String[] iscleardetail=new String[10];
while(rs1.next()){
isclear[tableid]="1";
iscleardetail[tableid]="1";
templist[tableid]=new ArrayList();
templistdetail[tableid]=new ArrayList();
datainputid=rs1.getString("id");
//System.out.println("datainputid:"+datainputid);
ArrayList infieldnamelist=DDI.GetInFieldName(datainputid);
for(int i=0;i<infieldnamelist.size();i++){
//System.out.println((String)infieldnamelist.get(i)+"|"+Util.null2String(request.getParameter(datainputid+"|"+(String)infieldnamelist.get(i))));
//DDI.SetInFields((String)infieldnamelist.get(i),Util.null2String(request.getParameter(datainputid+"|"+(String)infieldnamelist.get(i))));
DDI.SetInFields((String)infieldnamelist.get(i),Util.null2String(request.getParameter(datainputid+"|"+(String)infieldnamelist.get(i)+"_"+temp)));
}
ArrayList conditionfieldnameList=DDI.GetConditionFieldName(datainputid);
for(int j=0;j<conditionfieldnameList.size();j++){
//DDI.SetConditonFields((String)conditionfieldnameList.get(j),Util.null2String(request.getParameter(datainputid+"|"+(String)conditionfieldnameList.get(j))));
DDI.SetConditonFields((String)conditionfieldnameList.get(j),Util.null2String(request.getParameter(datainputid+"|"+(String)conditionfieldnameList.get(j)+"_"+temp)));
}
DDI.GetOutData(datainputid);
outfieldnamelist=DDI.GetOutFieldNameList();
outdatasList=DDI.GetOutDataList();
if(DDI.GetIsCycle().equals("1")){ //明细表字段更新
for(int i=0;i<outdatasList.size();i++){
outdatahash=(Hashtable)outdatasList.get(i);
for(int j=0;j<outfieldnamelist.size();j++){
String tempValue = (String)outdatahash.get(outfieldnamelist.get(j));
tempValue = Util.toExcelData(tempValue);
tempValue = Util.StringReplace(tempValue,";","┌weaver┌");
//tempValue = Util.StringReplace(tempValue,"\"","\\\\\\\"");
String js=DDI.ChangeDetailField((String)outfieldnamelist.get(j),tempValue,isbill,nodeid,triggerfieldname,indexid,true);
js = Util.StringReplace(js,"";","\\\\\\\"");
js = Util.StringReplace(js,"\''", "\'");
//js = Util.toHtmlMode(js);
//System.out.println("mainjs:"+js);
%>
//alert("outdatalist:<%=outdatasList.size()%>");
//alert("<%=js%>");
var mainjs="<%=js%>";
var temp=mainjs;
var spaninx=temp.indexOf(";");
mainjs="";
var indx=0;
if(spaninx>0){
mainjs+=temp.substring(spaninx+1,temp.length);
temp=temp.substring(0,spaninx);
}
while(temp.length>0){
indx=temp.indexOf("<br>");
if(indx>=0){
mainjs+=temp.substring(0,indx)+"\\"+"r"+"\\"+"n";
temp=temp.substring(indx+4,temp.length);
}else{
mainjs+=temp;
temp="";
}
}
mainjs = mainjs.replace(/┌weaver┌/g,";");
eval(mainjs);
//多级联动
window.parent.DataInputByBrowser("<%=outfieldnamelist.get(j)%>_<%=indexid%>");
<%
}
}
}else{ //明细表字段更新
}
}
}
inputchecks=DDI.GetNeedCheckStr();
}
}
%>
//alert("<%=inputchecks%>");
window.parent.document.getElementsByName("inputcheck")[0].value=window.parent.document.getElementsByName("inputcheck")[0].value+"<%=inputchecks%>";
/*
if (!!$G("inputcheck", window.parent.document)) {
$G("inputcheck", window.parent.document).value = $G("inputcheck", window.parent.document).value + "<%=inputchecks%>";
}
*/
window.parent.frmmain.ChinaExcel.RefreshViewSize();
try{window.parent.frmmain.ChinaExcel.ReCalculate();}catch(e1){}
try{window.parent.frmmain.ChinaExcel.RefreshViewSize();}catch(e2){}
}
</script>