××银行海外集团贷款风险控制系统一、系统背景1.系统背景由于企业非常操作被查封,企业以分公司名义在海外货款无法收回,使银行造成巨额损失。为了减少海外集团在银行海外分行的多头贷款,所带来的信贷风险,总行领导决定尽快建立《××银行海外集团贷款风险控制系统》。2.系统目标1)由银行海外分行、代表处收集作为银行客户的跨国集团和相关公司的客户基本情况、财务情况、贷款情况,并做出综合分析报告,建立跨国集团公司客户信息数据库。2)向总行、海外分行提供海外机构客户的贷款信息查询、统计功能,为确定各跨国集团、公司在银行的贷款授信额度和贷款申请审批提供依据,为加强集团贷款风险控制提供手段。二、系统范围1.应用范围系统的应用范围为银行总行国际业务部、海外分行、海外控股银行、海外代表处,也可以将其风险分析报告向行内有关部门和国内有关分行提供。系统应能提供以下功能:1)采集、录入与我行海外机构发生信贷业务或我行关注的公司、集团的客户基本信息、财务信息及相关贷款业务信息。2)将客户的信息上传至总行。3)根据业务管理需要对系统数据进行查询、统计分析。4)登记海外跨国公司(集团)风险分析报告。……(略)三、需求分析1.实体联系分析(E-R)在本系统中,通过对业务需求的分析,可以将其内容划分为四类实体:客户、客户关系、贷款、担保。各实体之间的联系,以(E-R)图的形式表示如下:在E-R图中所有实体都是以客户为中心。客户实体包含客户的基本信息和财务信息。客户关系实体描述了客户与其相关客户之间的关系。关系类型分为三种:全资子公司、分公司、参股公司。一个客户可以发生多笔贷款业务,客户实体与贷款实体之间是一对多关系。对一笔贷款,可以有多笔担保,因此贷款实体与担保实体之间也是一对多关系。客户号(ClientNo.)客户信息客户号(GroupNo.)相关公司客户号(CounterpartyNo.)关系类型客户号(ClientNo.)合同号(ContractNo.)担保顺序号(GuaranteesequenceNo.)担保信息客户号(ClientNo.)合同号(ContractNo.)贷款信息客户担保贷款客户关系各个实体的主要指标如下:1)客户实体描述数据项客户客户号客户名称地址资产总额负债总额净利润2)客户关系实体描述数据项客户关系客户名称(Groupname)客户名称(Counterpartyname)关系类型3)贷款实体描述数据项贷款经办分行客户名称签定日期合同金额币种利率基准贷款余额4)担保实体描述数据项抵押抵押信息抵押品价值担保担保信息担保金额……(略)2.操作流程操作流程分为两部分:1)总行①录入新客户的客户名称、信息维护责任行、分配客户号②维护客户间集团公司与其相关关系公司之间的关系,录入集团公司的授信额度③查询、统计、分析④报表输出2)分行①客户基本信息维护②客户财务信息维护③客户贷款信息维护④录入信息上传⑤查询、统计、分析⑥集团客户风险分析报告登记3)查询、统计①按客户查询信息②按集团索引,查询集团下相关客户信息③按授信额度、合同金额等主要指标项作索引,加上查询条件,查询客户信息④按机构统计分行客户信息总数……(略)四、详细设计币种代码维护模块—详细设计1.模块概要说明说明主菜单—总行—币种代码维护参考文件《数据表字段名称说明》2.模块数据说明在总行界面后,通过点击币种代码维护进入,到数据库的CurrencyType表中去检索相应的数据(Code),对币种代码进行增加,修改和删除。3.币种代码维护模块设计说明功能模块名:币种代码维护3.1视图模型币种代码维护模块视图—currencyType.jsp定义提供币种代码维护的窗口界面视图界面(略)登录域控件位置控件名HTML类型操作说明CurrencyTypeList右侧选择框currencyTypeListSelect输入用户名ADDsubmitsubmit添加DELETEsubmitsubmit删除RESETresetreset重置3.2功能说明目标在页面上显示CurrencyType表中的信息,点击ADD按钮跳转页面,添加币种信息,点击DELETE按钮,删除所选中项,点击RESET按钮使撤消您选中列表框中某个数据的操作。关联的数据表CurrencyType3.3数据处理流程启动源:币种代码维护页面启动方式:主菜单—总行—币种代码维护按钮事件事件对象操作说明ADD鼠标单击“ADD”按钮,系统将发送CurrencyTypeAddAction.do请求。DELETE鼠标单击“DELETE”按钮,系统将发送CurrencyTypeDeleteAction.do请求。RESET列表框失去焦点。数据途径:一、用户登录查看视图currencyType.jsp,点击“DELETE”按钮:1、页面级验证:(1)页面验证要求:验证currencyTypeList是否有被选中项,若为选择任何项,填出提示框,如下图2、页面级验证通过,发送CurrencyTypeDeleteAction.do请求:(1)CurrencyTypeActionForm保存页面提交数据;(2)CurrencyTypeDeleteAction将CurrencyTypeActionForm中保存的数据传递给CurrencyTypeBean,调用CurrencyTypeBean中Delete()函数,得到其返回值。Bean返回值(Boolean)Action返回值返回页面携带信息TrueSuccesscurrencyType.jspFalseErrorErr.jsp(3)CurrencyTypeBean进行具体的业务处理,程序将到CurrencyTypeActionForm中页面提交数据作删除数据的条件。二、用户登录查看视图currencyType.jsp,点击“ADD”按钮:1、跳转至newCurrencyType.jsp,如下图(略)控件位置控件名HTML类型操作说明CurrencyTypeCode右侧文本框codeInput输入币种名称SAVEsubmitsubmit添加RESETresetreset重置2、点击SAVE按钮,发送CurrencyTypeAddAction.do请求:(1)CurrencyTypeActionForm保存页面提交数据;(2)CurrencyTypeAddAction将CurrencyTypeActionForm中保存的数据传递给CurrencyTypeBean,调用CurrencyTypeBean中Add()函数,得到其返回值。Bean返回值(Boolean)Action返回值返回页面携带信息TrueSuccesscurrencyType.jspFalseErrorErr.jspCurrencyTypeBean进行具体的业务处理,程序将到CurrencyTypeActionForm中取出页面提交数据,作添加数据的内容。3、点击“RESET”按钮:放弃用户的操作,恢复操作之前的设置。点击后,将清除输入到文本框里的内容,便于从新填写。三、用户登录查看视图currencyType.jsp,点击“RESET”按钮:放弃用户的操作,恢复操作之前的设置。点击后,撤消您选中列表框中某个数据的操作。贷款授信额度预警查询—详细设计1.模块概要说明说明总行菜单—总行贷款授信额度预警查询。分行菜单—分行贷款授信额度预警查询参考文件《数据表字段名称说明》2.模块数据说明在总行界面后,通过点击贷款授信额度预警模块进入,到数据库的BasicInformation表,RelationShip表,CreditInformation表,CurrencyType表,ExchangeRate表,中去检索相应的数据(BasicInformation.LongName,BasicInformation.CreditLine,BasicInformation.ClientCode,RelationShip.GroupCode,RelationShip.Relationship,CreditInformation.AmountRepayed,CreditInformation.CurrencyType,ExchangeRate.Basic,CreditInformation.Commitment),显示贷款金额超过%85的集团,和贷款金额超过%85的公司.3.贷款授信额度预警查询模块设计说明功能模块名:贷款授信额度预警查询贷款授信额度预警查询模块视图—creditAlarm.jsp定义提供贷款金额超过85%的公司和集团的查询的窗口界面视图界面(略)登录域控件位置控件名HTML类型操作说明CustomerList下方选择框customerListSelect用户名列表3.1功能说明目标显示贷款金额超过%85的公司和集团的ClientCode,百分比和LongName。关联的数据表BasicInformation表,RelationShip表,CreditInformation表,CurrencyType表,ExchangeRate表3.2数据处理流程启动源:贷款授信额度预警查询页面启动方式:总行菜单—总行贷款授信额度预警查询,分行菜单—分行贷款授信额度预警查询数据途径:用户登录查看视图creditAlarm.jsp取得(BasicInformation.LongName,BasicInformation.CreditLine,BasicInformation.ClientCode,RelationShip.GroupCode,RelationShip.Relationship,CreditInformation.CreditTypeCreditInformation.AmountRepayed,ExchangeRate.Basic,CreditInformation.Commitment)的数据,1、通过CreditInformation.CreditType判断合同类型(在CreditType表中查找类型)a、不是循环贷款则贷款金额(CreditInformation.CreditType=2)=CreditInformation.Commitment-CreditInformation.CreditTypeAmountRepayed;b、循环贷款则贷款金额(CreditInformation.CreditType=1)=CreditInformation.Commitment2、CreditInformation.CurrencyType得到贷款币种,并由ExchangeRate.Basic得出汇率,相承得到贷款总额;3、由贷款金额/BasicInformation.CreditLine得出百分比,与%85比较,a、大于则%85在CustomerList中显示ClientCode—LongName—贷款总额—百分比b、在RelationShip.Relationship中得到集团关系,用集团下所有公司的贷款金额除以所有公司的BasicInformation.CreditLine之和,大于则%85在CustomerList中显示ClientCode—GroupCode—贷款总额—百分比。担保和抵押级别代码维护—详细设计1.模块概要说明功能担保和抵押做为目前银行的一种新兴业务,已经得到广泛的认可和使用,业务需求日见增长。此模块的功能主要是对担保和抵押级别的相关代码进行维护。位置总行-主菜单—担保和抵押级别代码维护接口首先在系统菜单模块点击CodeTableMaintenance——Security$GuaranteetLevel菜单项,进入“担保和抵押级别维护模块”。参考文件《数据表字段名称说明》2.模块数据说明进入“担保和抵押级别代码维护模块”,列出所有担保和抵押的级别,SecurityLevel(担保和抵押程度代码表)表中进行检索。3.担保和抵押级别维护模块设计说明功能模块名:担保和抵押级别代码维护4.视图模型担保和抵押级别维护选择视图