银行远程授权系统的风险控制研究

银行远程授权系统的风险控制研究
一开始分析了国内外银行授权的情况,展现远程授权在国内外银行中的地位,第二章对整个WEB查询管理模块的开发环境和开发过程中所运用到的技术进行了研究,这些技术是Java Web编程的常用技术,是本人在整个实习过程中学习到的东西,接下来就是对授权系统的介绍,包括远程授权的优缺点,授权过程中风险的概括,第四章针对三个具体的风险,进行分析,制定解决方案,通过具体编程实现风险控制功能。 HM000085
关键词:远程授权;风险控制; WEB查询管理模块;Java Web
4.1.2措施制定
针对不同职责的授权工作人员拥有不同权力和工作任务的实际情况,对集中授权中心的人员,系统采取用户身份管理的措施,根据不同用户 的职责范围分别设置了“系统管理员”,“业务管理员”,“授权中心主任”,“一级授权主管”,“二级主管”,“三级主管”,“风险控制岗”,“后督人员”,“稽核人员”,“查询人员”,“中心人事管理人员”,“内审组长”等,并把所有的权限职责进行了统一的整理,及左侧菜单的内容,系统管理人员可以对不同身份的授权人员进行权限的增加,减少或编辑,以此达到科学管理授权人员的职责权利的目的,来达到系统的最优化。降低授权过程中风险发生的目的。
3)前后台交互
前台通过datafield和textfield向后台传递参数,后台把传进来的参数写进查询数据库的sql语句内,完成对数据库的查询,并把查询结果返回前台。
1)前台
前台界面内最为重要的就是LineSeries组件,它能实现定时读取的功能,从而起到实时反馈数据信息的作用。
(2)前后台交互
整个前台到后台采用HttpService来进行前后台交互,在flex界面内采用脚本语言将用户制定的参数通过HttpService的request的方法传送给后台,后台根据接收到的参数编写SQL语句,并通过JDBC查询数据库,并将查询结果保存到内存中,并返回一个ROOT标签到前台。前台读取标签内的数据,并动态显示。
(3)后台控制
后台Java程序段的主要作用就是查询数据库,并向前台返回其所需的数据结构。
具体代码如下:
这段代码作用是获取前台传来的参数:group,company,personal,commons,special,working,getting,longer并且把他们输出到控制台上。
        JdbcTemplate jt = new JdbcTemplate(DbFactory.getDataSource());
        SqlUtilities util = new SqlUtilities();
        String sql = "select t6.f_id, count(*) as n1 from t_line t1 left join t_txcode t2 on (rtrim(t1.f_txcode) = rtrim(t2.f_id))"
      +" left join t_txtype t3 on (rtrim(t2.f_type)=rtrim(t3.f_id))"
      +" left join t_grouplimit t4 on (rtrim(t3.f_id)=rtrim(t4.f_txtype)) and t4.f_cnno='00'"
      +" left join t_group t5 on (rtrim(t4.f_id)=rtrim(t5.f_id)) and t5.f_cnno='00'"
      +" left join t_groupline t6 on (rtrim(t5.f_line)=rtrim(t6.f_id))"
      +" where t1.f_state='0' group by t6.f_id";
        String sql1 ="select count(*) as n1 from t_line where f_state='0'";
        String sql2 ="select count(*) as n1 from t_authinfo where f_stus='9'";
        String sql3 ="select count(*) as n1 from t_authinfo where f_stus='0'";
        String sql4 ="select" +
    "round((sum(to_date( to_char(sysdate,'hh24:mi:ss'),'hh24:mi:ss')-to_date   (f_time,'hh24:mi:ss'))*86400/count(f_sqno))) as n1,round((max(to_date( to_char(sysdate,'hh24:mi:ss'),'hh24:mi:ss')-to_date(f_time,'hh24:mi:ss'))*86400)) as n2 from t_line where f_state='0'";
        List results = jt.queryForList(sql,new Object[]{});
        List results1 = jt.queryForList(sql1,new Object[]{});
        List results2 = jt.queryForList(sql2,new Object[]{});
        List results3 = jt.queryForList(sql3,new Object[]{});
        List results4 = jt.queryForList(sql4,new Object[]{});
该段代码的作用是编写查询数据库的sql语句,并查询数据库把查询结构存入List中。对前台传来的参数做判断,输出并向前台返回标签和标签内的数据。
4)后台控制
后台负责查询数据库和导出表格。代码如下:
public ModelAndView exportAuthrpt_wt(HttpServletRequest req,HttpServletResponse res)throws Exception{
    AuthProvider ap = (AuthProvider)getSessionAttribute(req, "login-in");
    String dataview = ap.getDataview();
    //String cnno = ap.getCnno()==null?"":ap.getCnno(); //授权中心号
    String f_self_tlid=ap.getEmpid()==null?"":ap.getEmpid();
    JdbcTemplate jt = new JdbcTemplate(DbFactory.getDataSource());
    SqlUtilities util = new SqlUtilities();
    
    String Dataview = getParameter(req, "dataview");
    String Group = getParameter(req, "group");
    String Cnno = getParameter(req, "cnno");
    String f_tlid = getParameter(req,"ftlid");
    String f_lstdt = getParameter(req, "fdate");
    String date = DateFormatUtils.format(new Date(System.currentTimeMillis()), "yyyyMMdd");
    String start = getParameter(req,"start");
    String limit = getParameter(req,"limit");
    if ("".equals(start))
        start="0";
    if ("".equals(limit))
        limit="50";
    long startIndex = Long.parseLong(start);
    long endIndex = startIndex + Long.parseLong(limit);
    String countsql = "";    
    String querysql = "";

    if(f_lstdt.equals(date)){
      querysql="select t1.f_tlid,t1.f_lstdt f_date,trunc(t1.f_dtime/3600)||'小时'||trunc((mod(t1.f_dtime,3600))/60)||'分钟'||(mod(t1.f_dtime,60))||'秒' as F_DTIME"
    +" from ("
    +" select f_tlid,f_lstdt,sum(f_ctime) f_dtime from t_authinfoext "  
    +" where f_stus = '1' and f_lsttm > f_lsetm group by f_tlid,f_lstdt "
    +" ) t1";
      countsql="select count(*) from ( select f_tlid,f_lstdt,sum(f_ctime) f_dtime from t_authinfoext where f_stus = '1' and f_lsttm > f_lsetm group by f_tlid,f_lstdt) t1";
    }else{
         querysql="select * from t_authinfotime where F_DATE='"+f_lstdt+"' and F_TLID='"+f_tlid+"' order by F_DATE, F_TLID";
         countsql="select count(*) from t_authinfotime where F_DATE='"+f_lstdt+"' and F_TLID='"+f_tlid+"' order by F_DATE, F_TLID";
    }
    List<ExcelHeader> headers = new ArrayList<ExcelHeader>();        
    headers.add(new ExcelHeader("F_TLID","操作员工号",0));
    headers.add(new ExcelHeader("F_DATE","日期",1));
    headers.add(new ExcelHeader("F_DTIME","工作时间",2));
    String type = getParameter(req,"reporttype");
    if(type.equalsIgnoreCase("xls")) {
        POIExportExcel.exportFromReqParams(req, res, headers, querysql, "工时查询");
    } else if(type.equalsIgnoreCase("pdf")) {
        PDFExportUtil.exportFromReqParams(req, res, headers, querysql,  "工时查询",PageSize.A3);
    }
    return null;
}
}
第1章 绪论1
1..1 国内情况介绍    1
1.2    国外情况介绍    1
第2章 开发环境介绍2
    2.1 Java Web总体介绍    3
2.2 开发平台    3
2.3 授权系统开发技术介绍    5
2.3.1    JDBC技术    5
2.3.2    Servlet技术    6
2.3.3    JSP技术    7
2.3.4    JavaBean应用组件技术    8
2.3.5    XML语言和脚本语言    9
2.4 开发工具    10
2.4.1    Eclipse    10
2.4.2    服务器    11
2.4.3    数据库    12
第3章 系统介绍12
3.1 远程授权系统介绍    13
3.2 功能介绍    15
3.3 银行远程授权的优点    17
3.4 系统功能模块图    19
3.4.1    系统整体框架结构图    19
3.4.2    系统功能结构图    20
3.5 银行远程授权中的风险概括    20
第4章 风险控制功能实现 15
4.1 用户管理    22
4.1.1    需求分析    22
4.1.2    措施制定    22
4.1.3    功能描述    22
4.1.4    功能实现    22
4.2 授权情况实时监测    26
4.2.1    需求分析    26
4.2.2    措施制定    27
4.2.3    功能描述    27
4.2.4    功能实现    28
4.3 工时查询    31
4.3.1    需求分析    31
4.3.2    措施制定    31
4.3.3    功能描述    31
4.3.4    功能实现    31

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2286.html

好棒文