139 lines
5.6 KiB
Plaintext
139 lines
5.6 KiB
Plaintext
<%@page import="com.amarsoft.app.als.customer.common.CustomerHelper"%>
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List00;Describe=注释区;]~*/%>
|
||
<%
|
||
/*
|
||
Content: 该页面主要处理业务相关的申请列表
|
||
Input Param:
|
||
ApplyType:申请类型
|
||
PhaseType:阶段类型
|
||
—1010/待提交阶段(初始阶段)
|
||
*/
|
||
%>
|
||
<%/*~END~*/%>
|
||
|
||
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List02;Describe=定义变量,获取参数;]~*/%>
|
||
<%
|
||
//--定义变量
|
||
String sSql = ""; //存放SQL语句
|
||
ASResultSet rs = null; //存放查询结果集
|
||
String sTempletNo = ""; //显示模版ItemNo
|
||
String sPhaseTypeSet = ""; //存放阶段类型组
|
||
String sObjectType = ""; //存放对象类型
|
||
String sButton = "";
|
||
String sViewID = ""; //存放查看方式
|
||
String sWhereClause1 = ""; //存放阶段类型强制where子句1
|
||
String sWhereClause2 = ""; //存放阶段类型强制where子句2
|
||
String sInitFlowNo = "";
|
||
String sInitPhaseNo = "";
|
||
String sButtonSet = "";
|
||
String []recTemp = null;
|
||
|
||
//获得组件参数:申请类型,阶段类型
|
||
String sApplyType = CurPage.getParameter("ApplyType");
|
||
String sPhaseType = CurPage.getParameter("PhaseType");
|
||
if(sApplyType == null) sApplyType = "";
|
||
if(sPhaseType == null) sPhaseType = "";
|
||
%>
|
||
<%/*~END~*/%>
|
||
|
||
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List03;Describe=定义数据对象;]~*/%>
|
||
<%
|
||
|
||
//根据组件参数(申请类型)从代码表CODE_LIBRARY中获得ApplyMain的树图以及该申请的阶段,流程对象类型,ApplyList使用哪个ButtonSet
|
||
|
||
recTemp = CustomerHelper.selectApplyTv1(sApplyType,"ApplyType");
|
||
if(recTemp != null){
|
||
sPhaseTypeSet = recTemp[0];
|
||
sObjectType = recTemp[1];
|
||
sButtonSet = recTemp[2];
|
||
if(sPhaseTypeSet == null) sPhaseTypeSet = "";
|
||
if(sObjectType == null) sObjectType = "";
|
||
if(sButtonSet == null) sButtonSet = "";
|
||
}else{
|
||
throw new Exception("没有找到相应的申请类型定义(CODE_LIBRARY.ApplyType:"+sApplyType+")!");
|
||
}
|
||
|
||
//根据组件ID和组件参数(阶段类型)从代码表CODE_LIBRARY中查询出显示的按钮,以什么视图查看对象详情,where条件1,where条件2,ApplyList数据对象ID
|
||
recTemp = CustomerHelper.selectApplyTv2(sPhaseTypeSet,sPhaseType);
|
||
if(recTemp != null){
|
||
sViewID = recTemp[0];
|
||
sWhereClause1 = recTemp[1];
|
||
sWhereClause2 = recTemp[2];
|
||
sTempletNo = recTemp[3];
|
||
sButton = recTemp[4];
|
||
if(sButton == null) sButton = "";
|
||
if(sViewID == null) sViewID = "";
|
||
if(sWhereClause1 == null) sWhereClause1 = "";
|
||
if(sWhereClause2 == null) sWhereClause2 = "";
|
||
if(sTempletNo == null) sTempletNo = "";
|
||
}else{
|
||
throw new Exception("没有找到相应的申请阶段定义(CODE_LIBRARY,"+sPhaseTypeSet+","+sPhaseType+")!");
|
||
}
|
||
|
||
if(sTempletNo.equals("")) throw new Exception("没有定义sTempletNo, 检查CODE_LIBRARY,"+sPhaseTypeSet+","+sPhaseType+"??");
|
||
if(sViewID.equals("")) throw new Exception("没有定义ViewID 检查CODE_LIBRARY,"+sPhaseTypeSet+","+sPhaseType+"??");
|
||
|
||
//根据组件参数(申请类型)从代码表CODE_LIBRARY中获得默认流程ID
|
||
sInitFlowNo = CustomerHelper.selectAttribute2(sApplyType,"ApplyType");
|
||
//根据默认流程ID从流程表FLOW_CATALOG中获得初始阶段
|
||
sInitPhaseNo = CustomerHelper.selcectInitPhase(sInitFlowNo);
|
||
//根据显示模版编号生成ObjectWindow对象
|
||
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
|
||
//将where条件1和where条件2中的变量用实际的值替换,生成有效的SQL语句
|
||
sWhereClause1 = StringFunction.replace(sWhereClause1,":UserID","'"+CurUser.getUserID()+"'");
|
||
sWhereClause1 = StringFunction.replace(sWhereClause1,":ApplyType","'"+sApplyType+"'");
|
||
sWhereClause1 = StringFunction.replace(sWhereClause1,":ObjectType","'"+sObjectType+"'");
|
||
sWhereClause1 = StringFunction.replace(sWhereClause1,":PhaseType","'"+sPhaseType+"'");
|
||
|
||
sWhereClause2 = StringFunction.replace(sWhereClause2,":UserID","'"+CurUser.getUserID()+"'");
|
||
sWhereClause2 = StringFunction.replace(sWhereClause2,":ApplyType","'"+sApplyType+"'");
|
||
sWhereClause2 = StringFunction.replace(sWhereClause2,":ObjectType","'"+sObjectType+"'");
|
||
sWhereClause2 = StringFunction.replace(sWhereClause2,":PhaseType","'"+sPhaseType+"'");
|
||
|
||
|
||
String WhereClause = "";
|
||
WhereClause += " "+sWhereClause1;
|
||
WhereClause += " "+sWhereClause2;
|
||
|
||
doTemp.appendJboWhere(WhereClause);
|
||
|
||
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
|
||
dwTemp.Style="1"; //设置DW风格 1:Grid 2:Freeform
|
||
dwTemp.ReadOnly = "1"; //设置是否只读 1:只读 0:可写
|
||
dwTemp.setPageSize(20);
|
||
|
||
//生成HTMLObjectWindow
|
||
dwTemp.genHTMLObjectWindow("");
|
||
%>
|
||
<%/*~END~*/%>
|
||
|
||
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List04;Describe=定义按钮;]~*/%>
|
||
<%
|
||
String sButtons[][] = new String[100][9];
|
||
int iCountRecord = 0;
|
||
//用于控制单行按钮显示的最大个数
|
||
String iButtonsLineMax = "8";
|
||
//根据按钮集从代码表CODE_LIBRARY中查询到按钮英文名称,属性1,属性2(Button)、按钮中文名称、按钮功能描述、按钮调用javascript函数名称
|
||
String [][]arrTemp = CustomerHelper.selectButtonSet(sButtonSet);
|
||
for(int i=0;i<arrTemp.length;i++){
|
||
sButtons[iCountRecord][0] = (sButton.indexOf(arrTemp[iCountRecord][0])>=0?"true":"false");
|
||
sButtons[iCountRecord][1] = arrTemp[iCountRecord][1];
|
||
sButtons[iCountRecord][2] = (arrTemp[iCountRecord][2]==null?arrTemp[iCountRecord][2]:"Button");
|
||
sButtons[iCountRecord][3] = arrTemp[iCountRecord][3];
|
||
sButtons[iCountRecord][4] = arrTemp[iCountRecord][4];
|
||
if(sButtons[iCountRecord][4]==null) sButtons[iCountRecord][4] = sButtons[iCountRecord][3];
|
||
sButtons[iCountRecord][5] = arrTemp[iCountRecord][5];
|
||
if(sButtons[iCountRecord][5]!=null){
|
||
sButtons[iCountRecord][5] = StringFunction.replace(sButtons[iCountRecord][5],"#ApplyType",sApplyType);
|
||
sButtons[iCountRecord][5] = StringFunction.replace(sButtons[iCountRecord][5],"#PhaseType",sPhaseType);
|
||
sButtons[iCountRecord][5] = StringFunction.replace(sButtons[iCountRecord][5],"#ObjectType",sObjectType);
|
||
sButtons[iCountRecord][5] = StringFunction.replace(sButtons[iCountRecord][5],"#ViewID",sViewID);
|
||
}
|
||
iCountRecord++;
|
||
}
|
||
CurPage.setAttribute("ButtonsLineMax",iButtonsLineMax);
|
||
%>
|
||
<%/*~END~*/%> |