zoukankan      html  css  js  c++  java
  • Stop介绍

    Stop介绍

    Stop翻译过来就是停止, 也就是在页面操作的过程中有些操作系统会不让你往下进行下去, 把你停在某个地方.

    Stop 分为hard stop 和soft stop. Hard stop指的是上些很严格的条件, 如果满足这些条件就是不让你保险, soft stop指的是一些可以商榷的条件, 经过Underwriter允许的话是可以让你绑定的.

    Hard stop像下面这个图, 会弹出一个框不让你往下走.

     

    Soft stop像下面这个界面, 显示在rate result页面上, 有个approve 和deny button. 只有UW才能看到这个界面, 有权限去进行approve操作.只有所有的soft stop都被approve了才能进行绑定操作, 不然这就是一个hard stop. LIS比较特殊, 他是有超级权限的, 也就是说不管是谁, 只要有这个超级权限, 都可以绑定policy, 不管有没有soft stop 没有被approved.

     

    下面我们来看系统具体是怎么操作的.

    我们把所有信息都配置到表System_Stops里.

     

    举个例子说明, 比如我们现在要加一个hard stop, 在general info页面, 只要我的term是6个月的就不让他过. 那么我们就在表里配一条数据.

    delete

    from    [System_Stops]

    where   sSS_Code = 'No6MonthTerm' and

            sLOB_ID = 1 and

            sRULE_RuleName = 'Quote_AU_GeneralInfo'        

    insert  into [dbo].[System_Stops] ([sLOB_ID], [sFRM_ID], [sPTRN_ID], [sRULE_RuleName], [sSS_Type], [sSS_Code], [sSS_Title], [sSS_Description],

                                        [sSS_SQLStat], [sSS_FieldName], [sSS_Operator], [sSS_CompareType], [sSS_StopValue], [sSS_StopBind], [sSS_SendApprWF],

                                        [sSS_SendApprEmail], [sSS_Order], [sSS_Active], [NB_EffectiveDate], [NB_ExpirationDate], [RN_EffectiveDate],

                                        [RN_ExpirationDate])

    values  (1, 0, 0, 'Quote_AU_GeneralInfo', 'HARD',

                'No6MonthTerm',

                'You cannot create a policy with 6 month.',

                'You cannot create a policy with 6 month.',

                'select  NeedStop = case when count(0) > 0 then 1

                            else 0

                       end

               from    dbo.PolicyQuote as a with (nolock)

               join    dbo.System_PolicyTerms as b with (nolock) on a.sPTRM_ID = b.sPTRM_ID

               where   a.PQ_ID = #RECID# and b.sPTRM_TermLength = 6

               ',

                'NeedStop', '=', 'INTEGER', '1', 0, 0, 0, 0, 1,

                '1900/01/01', '2100/01/01', '1900/01/01', '2100/01/01')     

    重点是这条数据里面的sSS_SQLStat配置, 他会返回一个NeedStop的值, 如果这个值是1, 那么他就会有hard stop了. sRULE_RuleName 配的是哪个页面来触发这个hard stop. 我们实验一下.

     soft stop做法跟hard stop是一样的, 只不过sss_type设置成soft了而已.

    下面我们来看代码是怎么读取这个表里我们配的数据的.

    因为我们这个hard stop触发的原因是我们在general页面点击了continue按钮, 所以肯定代码是从那里开始的.

    我们看到这个vrm在数据保存完之后有两个组件, 先set了一个RULENAME变量, 然后调了另一个vrm stop_check.

    我们打开这个文件, 他会先去取到stop表里的这个页面的hard stop配的query, 然后运行这个query看一下NeedStop是否为1.

     

    如果是1的话就把error message带到后面的操作.

     

    上面这个组件主要做的事情是把你当前那个tab之后的所有tab都设置成灰色, 这样的话你就不能够直接从tab里跳到后面去了.因为如果没有这个功能的话, 比如我们在driver页面有个hard stop, 我们在这个页面是不能再往后走了, 但是我们可以back回来前一个页面, 在前一个页面直接跳转到最后一个页面, 这是不对的.

     

    上面就是hard stop的实现过程, 我们再来看soft stop.

    因为soft stop只在rate result里面才会用到, 所以我们所有相关的操作都是在这个页面进行. 在这个页面的pre部分, 也就是页面跳转到这个页面之前, 系统有这样的代码.

     

    这样在stop_check里面下面这段代码就会起到作用.

     

    然后在pre.16 把所有的soft stop的query都取出来, 这里是不分页面的, 跟hard stop不一样. 挨个执行这些query, 如果NeedStop = 1 就说明这个quote有这一条soft stop. 那么就往

    PolicyQuote_SoftStops表里面插一条数据. 这张表记录的数据就是quote相关的soft stop的记录.

     

    在页面上approve或者deny也是在这个表里做变化, 可以看到这张表有相关的字段.

  • 相关阅读:
    (论坛答疑点滴)DataGrid模板列中控件的事件中怎么知道是哪行触发的事件?
    (论坛答疑点滴)怎么后台添加CheckBoxList并且得到选择结果
    (论坛答疑点滴)联合主键的情况怎么在DataGrid中利用DataKeys定位记录?
    (原创)按照一定的格式生成一定数量的随机数的例子
    (原创)DataGrid动态添加模板列的一个例子
    有的时候看似是对的往往是不对的
    (论坛答疑点滴)如何向某网址Post信息,并得到CookieContainer以便以后直接通过验证
    (论坛答疑点滴)怎么触发DataGrid模板列中控件的事件?
    (原创)利用vs.net快速开发windows服务(c#)
    (论坛答疑点滴)怎么给Table动态添加控件并且得到控件的值?
  • 原文地址:https://www.cnblogs.com/somehot/p/6604785.html
Copyright © 2011-2022 走看看