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

191 lines
8.3 KiB
Plaintext
Raw 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.

<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List00;Describe=注释区;]~*/%>
<%
/*
Author: byhu 2004.12.6
Tester:
Content: 该页面主要处理业务申请相关的审查审批、最终审批意见复核、放贷申请复核
Input Param:
ApproveType:审批对象
PhaseType阶段类型
FlowNo流程模型编号
PhaseNo阶段编号
FinishFlag完成标志Y已完成N未完成
Output param:
History Log:
2005.08.03 jbye 重新修改流程审查相关信息
2005.08.05 zywei 重检页面
2006.02.21 zywei 将审查审批列表上的按钮配置从数据表CODE_LIBRARY中字段ItemDescribe移到数据表FLOW_MODEL中字段Attribute1Attribute2
*/
%>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List02;Describe=定义变量,获取参数;]~*/%>
<%@page import="com.amarsoft.dict.als.manage.CodeManager"%>
<%@page import="com.amarsoft.dict.als.object.Item"%>
<%@page import="com.amarsoft.app.als.flow.util.FlowHelper"%>
<%
//定义变量SQL语句、模版ItemNo、阶段类型组、对象对应阶段、阶段类型强制where子句1、阶段类型强制where子句2
String sSql = "",sTempletNo = "",sPhaseTypeSet = "",sViewID = "",sWhereClause1 = "",sWhereClause2 = "";
//定义变量:按钮集、按钮、申请流程对象
String sButtonSet = "",sButton = "",sObjectType = "";
//定义变量:查询结果集,五级分类是借据或合同
ASResultSet rs = null;
String sResultType = "";
//获得组件参数:流程对象类型、申请类型、流程编号、阶段编号、阶段类型、完成标志
String sApproveType = CurPage.getParameter("ApproveType");
String sFlowNo = CurPage.getParameter("FlowNo");
String sPhaseNo = CurPage.getParameter("PhaseNo");
String sPhaseType = CurPage.getParameter("PhaseType");
String sFinishFlag = CurPage.getParameter("FinishFlag");
String transactionFilter = CurPage.getParameter("TransactionFilter",10);
//将空值转化成空字符串
if(sApproveType == null) sApproveType = "";
if(sFlowNo == null) sFlowNo = "";
if(sPhaseNo == null) sPhaseNo = "";
if(sPhaseType == null) sPhaseType = "";
if(sFinishFlag == null) sFinishFlag = "";
if(transactionFilter == null) transactionFilter = "";
%>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List03;Describe=定义数据对象;]~*/%>
<%
//从代码表CODE_LIBRARY中获得ApproveMain的树图以及该申请的阶段,流程对象类型,TaskList使用哪个ButtonSet
Item item=CodeManager.getItem("ApproveType",sApproveType);
sPhaseTypeSet=item.getItemDescribe();
sObjectType = item.getItemAttribute();
sButtonSet = item.getAttribute5();
//从代码表CODE_LIBRARY中查询出以什么视图查看对象详情,where条件1,where条件2,ApplyList数据对象ID
item=CodeManager.getItem(sPhaseTypeSet,sFinishFlag);
sViewID = item.getItemAttribute();
sWhereClause1 = item.getAttribute1();
sWhereClause2 = item.getAttribute2();
sTempletNo = item.getAttribute4();
//如果审批类型为ClassifyApprove(五级分类审批)则从PARA_CONFIGURE表中读取五级分类的对象类型确定其是借据还是合同 add by cbsu 2009-10-28
if("ClassifyApprove".equals(sApproveType) || "ClassifyApproveX".equals(sApproveType)) {
sResultType = CurConfig.getConfigure("ClassifyObjectType");
}
//将sTempNo按@进行分割 add by cbsu 2009-10-13
if ("Classify".equals(sObjectType)) {
String[] sTempletNos = sTempletNo.split("@");
//根据五级分类对象是借据还是合同来使用不同的模板 add by cbsu 2009-10-13
if (sTempletNos.length > 1) {
if ("BusinessDueBill".equals(sResultType)) {
sTempletNo = sTempletNos[0];
}
if ("BusinessContract".equals(sResultType)) {
sTempletNo = sTempletNos[1];
}
}
}
//将空值转化成空字符串
if(sViewID == null) sViewID = "";
if(sWhereClause1 == null) sWhereClause1 = "";
if(sWhereClause2 == null) sWhereClause2 = "";
if(sTempletNo == null) sTempletNo = "";
if(sTempletNo.equals("")) throw new Exception("没有定义任务列表数据对象CODE_LIBRARY.ApproveType:"+sApproveType+"");
if(sViewID.equals("")) throw new Exception("没有定义审批阶段视图CODE_LIBRARY,"+sPhaseTypeSet+","+sFinishFlag+"");
//add by zywei 2006/02/21 根据完成标志来获取相应流程编号、相应阶段编号应显示的功能按钮
if(sFinishFlag.equals("N")) //当前工作
sButton=FlowHelper.getFlowButton("Attribute1",sFlowNo,sPhaseNo);
if(sFinishFlag.equals("Y")) //已完成工作
sButton=FlowHelper.getFlowButton("Attribute2",sFlowNo,sPhaseNo);
//将空值转化成空字符串
if(sButton == null) sButton = "";
//根据显示模版编号和显示模版过滤条件生成DataObject对象
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
//将where条件1和where条件2中的变量用实际的值替换生成有效的SQL语句
sWhereClause1 = StringFunction.replace(sWhereClause1,"#UserID",CurUser.getUserID());
sWhereClause1 = StringFunction.replace(sWhereClause1,"#PhaseNo",sPhaseNo);
sWhereClause1 = StringFunction.replace(sWhereClause1,"#FlowNo",sFlowNo);
sWhereClause1 = StringFunction.replace(sWhereClause1,"#ObjectType",sObjectType);
sWhereClause1 = StringFunction.replace(sWhereClause1,"#TransactionFilter"," ACCT_TRANSACTION.TransCode in('"+transactionFilter.replaceAll("@","','")+"')");
sWhereClause2 = StringFunction.replace(sWhereClause2,"#UserID",CurUser.getUserID());
sWhereClause2 = StringFunction.replace(sWhereClause2,"#PhaseNo",sPhaseNo);
sWhereClause2 = StringFunction.replace(sWhereClause2,"#FlowNo",sFlowNo);
sWhereClause2 = StringFunction.replace(sWhereClause2,"#ObjectType",sObjectType);
sWhereClause2 = StringFunction.replace(sWhereClause2,"#TransactionFilter"," ACCT_TRANSACTION.TransCode in('"+transactionFilter.replaceAll("@","','")+"')");
//在做五级分类审批时对SQL语句中的TableSerialNo参数进行替换 add by cbsu 2009-10-29
if ("Classify".equals(sObjectType)) {
String sTableSerialNo = "";
if ("BusinessDueBill".equals(sResultType)) {
sTableSerialNo = "BUSINESS_DUEBILL.SerialNo";
}
if ("BusinessContract".equals(sResultType)) {
sTableSerialNo = "BUSINESS_CONTRACT.SerialNo";
}
sWhereClause1 = StringFunction.replace(sWhereClause1,"#TableSerialNo",sTableSerialNo);
sWhereClause2 = StringFunction.replace(sWhereClause2,"#TableSerialNo",sTableSerialNo);
}
//增加空格防止sql语句拼接出错
doTemp.appendJboWhere(sWhereClause1+" "+sWhereClause2);
//设置ASObjectModel中的排序条件
doTemp.setJboOrder(" O.SerialNo desc ");
doTemp.setAlign("CurrencyName,OccurTypeName","2");
doTemp.setType("BusinessSum","Number");
doTemp.setCheckFormat("BusinessSum","2");
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("");
%>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=List04;Describe=定义按钮;]~*/%>
<%
String sButtons[][] = new String[100][9];
int iCountRecord = 0;
List<BizObject> boList=FlowHelper.getFlowButtonList(sButtonSet);
for(BizObject bo:boList ){
iCountRecord++;
sButtons[iCountRecord][0] = (sButton.indexOf(bo.getAttribute("ItemNo").getString())>=0?"true":"false");
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",sObjectType);
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] = "";
if(sApproveType.equals("ApproveCreditApply")){
if("viewFlowGraph".equals(bo.getAttribute("ItemNo").getString())){ //匹配按钮
if("Demonstration".equals(sCurRunMode)){ //只有在演示模式下才显示查看流程图按钮
sButtons[iCountRecord][0] = "true";
}else{
sButtons[iCountRecord][0] = "false";
}
}
}
}
%>
<%/*~END~*/%>