<%@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=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~*/%>