245 lines
11 KiB
Plaintext
245 lines
11 KiB
Plaintext
<%@page import="com.amarsoft.are.jbo.BizObject"%>
|
||
<%@page import="com.amarsoft.app.als.flow.util.FlowHelper"%>
|
||
<%@page import="com.amarsoft.dict.als.manage.CodeManager"%>
|
||
<%@page import="com.amarsoft.dict.als.object.Item"%>
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List00;Describe=注释区;]~*/%>
|
||
<%
|
||
/*
|
||
Author: byhu 2004.12.6
|
||
Tester:
|
||
Content: 该页面主要处理业务相关的申请列表,如授信额度申请列表,额度项下业务申请列表,
|
||
单笔授信业务申请列表,最终审批意见登记列表、出帐申请列表
|
||
Input Param:
|
||
ApplyType:申请类型
|
||
—CreditLineApply/授信额度申请
|
||
—DependentApply/额度项下申请
|
||
—IndependentApply/单笔授信业务申请
|
||
—ApproveApply/待提交复核最终审批意见
|
||
—PutOutApply/待提交审核出帐
|
||
PhaseType:阶段类型
|
||
—1010/待提交阶段(初始阶段)
|
||
Output param:
|
||
History Log: zywei 2005/07/27 重检页面
|
||
*/
|
||
%>
|
||
<%/*~END~*/%>
|
||
|
||
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List02;Describe=定义变量,获取参数;]~*/%>
|
||
<%
|
||
//定义变量
|
||
String sSql = ""; //存放SQL语句
|
||
ASResultSet rs = null; //存放查询结果集
|
||
String sTempletNo = ""; //显示模版ItemNo
|
||
String sPhaseTypeSet = ""; //存放阶段类型组
|
||
String sButton = "";
|
||
String sObjectType = ""; //存放对象类型
|
||
String sViewID = ""; //存放查看方式
|
||
String sWhereClause1 = ""; //存放阶段类型强制where子句1
|
||
String sWhereClause2 = ""; //存放阶段类型强制where子句2
|
||
String sInitFlowNo = "";
|
||
String sInitPhaseNo = "";
|
||
String sButtonSet = "";
|
||
|
||
//获得组件参数:申请类型,阶段类型
|
||
String sApplyType = CurPage.getParameter("ApplyType");
|
||
String sPhaseType = CurPage.getParameter("PhaseType");
|
||
String transactionFilter = CurPage.getParameter("TransactionFilter",10);
|
||
//将空值转化成空字符串
|
||
if(sApplyType == null) sApplyType = "";
|
||
if(sPhaseType == null) sPhaseType = "";
|
||
if(transactionFilter == null) transactionFilter = "";
|
||
|
||
%>
|
||
<%/*~END~*/%>
|
||
|
||
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List03;Describe=定义数据对象;]~*/%>
|
||
<%
|
||
//如果申请类型为ClassifyApply(五级分类申请),则从PARA_CONFIGURE表中读取五级分类的对象类型,确定其是借据还是合同 add by cbsu 2009-10-28
|
||
String sResultType = CurConfig.getConfigure("ClassifyObjectType");
|
||
//根据组件参数(申请类型)从代码表CODE_LIBRARY中获得ApplyMain的树图以及该申请的阶段,流程对象类型,ApplyList使用哪个ButtonSet
|
||
|
||
Item item=CodeManager.getItem("ApplyType",sApplyType);
|
||
if(item!=null){
|
||
sPhaseTypeSet=item.getItemDescribe();
|
||
sObjectType = item.getItemAttribute();
|
||
sButtonSet = item.getAttribute5();
|
||
sInitFlowNo = item.getAttribute2();
|
||
if(sInitFlowNo == null) sInitFlowNo = "";
|
||
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
|
||
item=CodeManager.getItem(sPhaseTypeSet,sPhaseType);
|
||
if(item!=null){
|
||
sButton=item.getItemDescribe();
|
||
sViewID = item.getItemAttribute();
|
||
sWhereClause1 = item.getAttribute1();
|
||
sWhereClause2 = item.getAttribute2();
|
||
sTempletNo = item.getAttribute4();
|
||
if("Classify".equals(sObjectType)) {
|
||
String[] sTempletNos = sTempletNo.split("@");
|
||
//根据五级分类对象是借据还是合同来使用不同的模板 add by cbsu 2009-10-12
|
||
if (sTempletNos.length > 1) {
|
||
if ("BusinessDueBill".equals(sResultType)) {
|
||
sTempletNo = sTempletNos[0];
|
||
}
|
||
if ("BusinessContract".equals(sResultType)) {
|
||
sTempletNo = sTempletNos[1];
|
||
}
|
||
}
|
||
}
|
||
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+"??");
|
||
//根据默认流程ID从流程表FLOW_CATALOG中获得初始阶段
|
||
BizObject boInitPhase = FlowHelper.getFlowInitPhase(sInitFlowNo);
|
||
if(boInitPhase!=null){
|
||
sInitPhaseNo = boInitPhase.getAttribute("InitPhase").getString();
|
||
if(sInitPhaseNo == null) sInitPhaseNo = "";
|
||
}
|
||
|
||
//根据显示模版编号和显示模版过滤条件生成DataObject对象
|
||
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
|
||
//设置更新表名和主键
|
||
//doTemp.UpdateTable = "FLOW_OBJECT";
|
||
//doTemp.setKey("ObjectType,ObjectNo",true); //为后面的删除
|
||
doTemp.setHTMLStyle("","ondblclick=\"javascript:applyPlatform()\" ");//添加双击查看详情功能
|
||
//将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);
|
||
sWhereClause1 = StringFunction.replace(sWhereClause1,"#TransactionFilter"," ACCT_TRANSACTION.TransCode in('"+transactionFilter.replaceAll("@","','")+"')");
|
||
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);
|
||
sWhereClause2 = StringFunction.replace(sWhereClause2,"#TransactionFilter"," ACCT_TRANSACTION.TransCode in('"+transactionFilter.replaceAll("@","','")+"')");
|
||
|
||
//在做五级分类申请时对SQL语句进行拼接 add by cbsu 2009-10-29
|
||
if ("Classify".equals(sObjectType)) {
|
||
String sTableSerialNo = "";
|
||
if ("BusinessDueBill".equals(sResultType)) {
|
||
sTableSerialNo = "BD.SerialNo";
|
||
}
|
||
if ("BusinessContract".equals(sResultType)) {
|
||
sTableSerialNo = "BC.SerialNo";
|
||
}
|
||
sWhereClause1 = StringFunction.replace(sWhereClause1,"#TableSerialNo",sTableSerialNo);
|
||
sWhereClause2 = StringFunction.replace(sWhereClause2,"#TableSerialNo",sTableSerialNo);
|
||
}else if("CreditApply".equals(sObjectType)){//授信申请
|
||
//授信额度申请、额度项下业务申请、单笔授信业务申请合并至同一个页面显示
|
||
//add by wmzhu 2014-05-09
|
||
if("IndCreditApply".equals(sApplyType)){//个人客户授信申请
|
||
sWhereClause1 += " and O.ApplyType in ('IndDepenApply','IndLimitApply','IndSingleApply')";
|
||
}else if("EntCreditApply".equals(sApplyType)){//对公客户授信申请
|
||
sWhereClause1 += " and O.ApplyType in ('EntDepenApply','EntLimitApply','EntSingleApply')";
|
||
}else{
|
||
sWhereClause1 += " and O.ApplyType in ('"+sApplyType+"')";
|
||
}
|
||
}
|
||
|
||
//增加空格防止sql语句拼接出错
|
||
doTemp.appendJboWhere(" "+sWhereClause1);
|
||
doTemp.appendJboWhere(" "+sWhereClause2);
|
||
|
||
//设置ASObjectModel中的排序条件
|
||
doTemp.setJboOrder (" O.ObjectNo desc ");
|
||
|
||
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
|
||
|
||
dwTemp.Style="1"; //设置DW风格 1:Grid 2:Freeform
|
||
dwTemp.ReadOnly = "1"; //设置是否只读 1:只读 0:可写
|
||
dwTemp.setPageSize(20);
|
||
|
||
//生成HTMLDataWindow
|
||
dwTemp.genHTMLObjectWindow("");
|
||
//dwTemp.genHTMLObjectWindow("'"+sApplyType+"','"+sPhaseType+"','"+CurUser.getUserID()+"'");
|
||
|
||
%>
|
||
<%/*~END~*/%>
|
||
|
||
|
||
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List04;Describe=定义按钮;]~*/%>
|
||
<%
|
||
//依次为:
|
||
//0.是否显示
|
||
//1.注册目标组件号(为空则自动取当前组件)
|
||
//2.类型(Button/ButtonWithNoAction/HyperLinkText/TreeviewItem/PlainText/Blank)
|
||
//3.按钮文字
|
||
//4.说明文字
|
||
//5.事件
|
||
//6.shortcutKey 快捷键 7.href 资源路径 8.parm 资源路径参数 9.iconCls 图标 CSS名称
|
||
String sButtons[][] = new String[100][9];
|
||
int iCountRecord = 0;
|
||
//用于控制单行按钮显示的最大个数
|
||
String iButtonsLineMax = "8";
|
||
//根据按钮集从代码表CODE_LIBRARY中查询到按钮英文名称,属性1,属性2(Button)、按钮中文名称、按钮功能描述、按钮调用javascript函数名称
|
||
List<BizObject> list = FlowHelper.getFlowButtonList(sButtonSet);
|
||
for(BizObject bo : list){
|
||
iCountRecord++;
|
||
sButtons[iCountRecord][0] = (sButton.indexOf(bo.getAttribute("ItemNo").getString())>=0?"true":"false");
|
||
//sButtons[iCountRecord][0] = "true";
|
||
sButtons[iCountRecord][1] = bo.getAttribute("Attribute1").getString();
|
||
sButtons[iCountRecord][2] = (bo.getAttribute("Attribute2").getString()==null?bo.getAttribute("Attribute2").getString():"Button");
|
||
sButtons[iCountRecord][3] = bo.getAttribute("ItemName").getString();
|
||
sButtons[iCountRecord][4] = bo.getAttribute("ItemDescribe").getString();
|
||
if(sButtons[iCountRecord][4]==null) sButtons[iCountRecord][4] = sButtons[iCountRecord][3];
|
||
sButtons[iCountRecord][5] = bo.getAttribute("RelativeCode").getString();
|
||
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);
|
||
}
|
||
sButtons[iCountRecord][6] = "";
|
||
//add sy syang 2009/10/22 放贷复核通过的申请,在演示模式下,“转入贷后”按钮可见
|
||
if(sApplyType.equals("PutOutApply")){
|
||
if("transToAfterLoan".equals(bo.getAttribute("ItemNo").getString())){ //匹配按钮
|
||
if(sButton.indexOf(bo.getAttribute("ItemNo").getString())>=0){ //是否允许显示
|
||
if("Demonstration".equals(sCurRunMode)||"Development".equals(sCurRunMode)){ //允许显示后,判断是否为演示模式
|
||
sButtons[iCountRecord][0] = "true";
|
||
}else{
|
||
sButtons[iCountRecord][0] = "false";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if(sApplyType.equals("IndependentApply") || sApplyType.equals("CreditLineApply") || sApplyType.equals("DependentApply")){
|
||
if("greenWay".equals(bo.getAttribute("ItemNo").getString())||"viewFlowGraph".equals(bo.getAttribute("ItemNo").getString())){ //匹配按钮
|
||
if(sButton.indexOf(bo.getAttribute("ItemNo").getString())>=0){ //是否允许显示
|
||
if("Demonstration".equals(sCurRunMode)){ //只有在演示模式下才显示绿色通道和查看流程图按钮
|
||
sButtons[iCountRecord][0] = "true";
|
||
}else{
|
||
sButtons[iCountRecord][0] = "false";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if("UGBodyApply".equals(sApplyType)){
|
||
if("greenWay".equals(bo.getAttribute("ItemNo").getString())||"viewFlowGraph".equals(bo.getAttribute("ItemNo").getString())
|
||
//|| "applyPlatform".equals(rs.getString("ItemNo"))||"approvePlatform".equals(rs.getString("ItemNo"))
|
||
){ //匹配按钮
|
||
if(sButton.indexOf(bo.getAttribute("ItemNo").getString())>=0){ //是否允许显示
|
||
sButtons[iCountRecord][0] = "false";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
CurPage.setAttribute("ButtonsLineMax",iButtonsLineMax);
|
||
|
||
%>
|
||
<%/*~END~*/%>
|