2018-06-03 22:26:41 +08:00

139 lines
5.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@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属性2Button、按钮中文名称、按钮功能描述、按钮调用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~*/%>