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

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