Claim Letter

一、相关的表:

AClaims_ClaimLetter_Data   存Claim letter form实时数据的

lkp_AClaims_ClaimLetter     Claim letter配置表,配置某个Claim letter的初始化字段和动态参数字段。

lkp_AClaims_ClaimLetter_DataOptions    Claim letter数据源配置表,只包括select 和radio的数据源配置。

二、Claim letter目前的逻辑

首先配置lkp_AClaims_ClaimLetter表,增加ghostgraft想要的字段,包括初始化字段,和动态填值的字段。其中lkp_AClaims_ClaimLetter_DataOptions表是存储select和radio的数据源配置sql。最后把这些字段的值都保存到AClaims_ClaimLetter_Data中,这样ghostgraft只需要一个参数cCLD_ID(AClaims_ClaimLetter_Data表示一条记录的guid)就可以获取到整个form需要的数据了。

三、Claim letter 如何配置

step 1:首先配置system_report,没什么好说的,再配置lkp_AClaims_ClaimLetter  如下介绍   

insert  into dbo.lkp_AClaims_ClaimLetter
        (
         Code     ---这个claim letter的唯一标示,应该是唯一的,最好和真是的Claim letter的名字一样就行了
        ,sREP_ID
        ,sREP_Name
        ,InitSQL    ---初始化sql,一个form可能不是所有需要的字段都是填选的字段,有一些字段是获取的字段,比如policy的num,有效日期。。,这些字段不需要显示到claim letter的设置地方,而这些字段的值是需要存下来的,ghostgraft的form会用到这些字段。
        ,Configration   /*[
                                        {
                                          "name": "Claimant",    字段在页面上显示的名称
                                          "field": "Claimant",     字段名
                                          "type": "text",        字段的类型  目前只支持text,select,checkbox,radio,textarea
                                          "default": "123",    默认值
                                          "required": "1",      是否必填
                                          "order": 1            排序字段
                                        },
                                        {
                                          "name": "Insured Name",
                                          "field": "InsuredName",
                                          "type": "select",
                                          "options": "A_002_CLAIMS_DISCLOSURE_TO_CLMNT_InsuredName",        select类型的数据源,有两种形式,1:['Purk','Lion']直接是js的array;2:A_002_CLAIMS_DISCLOSURE_TO_CLMNT_InsuredName字符串,碰到是字符串会去匹配lkp_AClaims_ClaimLetter_DataOptions表,然后根据里面的初始化sql去取数据。
                                          "default": "123",
                                          "required": "1",
                                          "order": 2
                                        },
                                        {
                                          "name": "Claimant CheckBox",
                                          "field": "ClaimantCheckBox",
                                          "type": "check_box",
                                          "default": "1",
                                          "required": "1",
                                          "order": 3
                                        },
                                        {
                                          "name": "Claimant Radio",
                                          "field": "ClaimantRadio",
                                          "type": "radio",
                                          "options": "A_002_CLAIMS_DISCLOSURE_TO_CLMNT_ClaimantRadio",   radio类型的数据源,有两种形式,1:[['1','Lion'],['2','Purk']]直接是js的数组,注意是array里面套array;2:A_002_CLAIMS_DISCLOSURE_TO_CLMNT_ClaimantRadio字符串,碰到是字符串会去匹配lkp_AClaims_ClaimLetter_DataOptions表,然后根据里面的初始化sql去取数据。
                                          "default": "123",
                                          "required": "0",
                                          "order": 4
                                        },
                                        {
                                          "name": "Claimant TextArea",
                                          "field": "ClaimantTextArea",
                                          "type": "text_area",
                                          "default": "123",
                                          "required": "1",
                                          "order": 5
                                        }]*/
        )
        select  'A_002_CLAIMS_DISCLOSURE_TO_CLMNT'
               ,sREP_ID
               ,sREP_Name
               ,'select  NowDate
                           ,cCD_ClaimCode
                           ,cCD_DOL = convert(varchar(100), cCD_DOL, 101)
                           ,PD_ID
                           ,PD_InceptionDate = isnull(PD_InceptionDate, '''')
                           ,PD_EffectiveDate
                           ,PD_ExpirationDate
                           ,
                            --PD_GarageVehicleST,
                            Cancel_OR_Expiration = isnull(Cancel_OR_Expiration, '''')
                           ,Date_CancelExpiration
                           ,LapseToDate = isnull(LapseToDate, '''')
                           ,sCT_Phys_State
                           ,PolicyNumber
                           ,AgencyName
                           ,AgencyAddress1
                           ,AgencyAddress2
                           ,AgencyCSZ
                           ,InsuredName
                           ,InsuredAddress1
                           ,InsuredAddress2
                           ,InsuredCSZ
                           ,AdjusterName
                           ,AdjusterPhone
                           ,cCD_LossReportDate = convert(varchar(100), cCD_LossReportDate, 101)
                    from    vw_Claims_LetterInfo with ( nolock )
                    where   cCD_ID = @cCD_ID
                    for     xml path(''root'')'   ---------一定要加上 for xml path('root'),这样才能被正常解析
               ,'[{
                      "name":"Claimant",        
                      "field":"Claimant",
                      "type":"text",
                      "default":"123",
                      "required":"1",
                      "order":1
                },{
                      "name":"Insured Name",
                      "field":"InsuredName",
                      "type":"select",
                      "options":"A_002_CLAIMS_DISCLOSURE_TO_CLMNT_InsuredName",
                      "default":"123",
                      "required":"1",
                      "order":2
                },{
                      "name":"Claimant CheckBox",
                      "field":"ClaimantCheckBox",
                      "type":"check_box",
                      "default":"1",
                      "required":"1",
                      "order":3
                },{
                      "name":"Claimant Radio",
                      "field":"ClaimantRadio",
                      "type":"radio",
                      "options":"A_002_CLAIMS_DISCLOSURE_TO_CLMNT_ClaimantRadio",
                      "default":"123",
                      "required":"0",
                      "order":4
                },{
                      "name":"Claimant TextArea",
                      "field":"ClaimantTextArea",
                      "type":"text_area",
                      "default":"123",
                      "required":"1",
                      "order":5
                }]'
        from    dbo.System_Reports
        where   sREP_Name = 'A_002_CLAIMS DISCLOSURE TO CLMNT'

step2: 如果有select或radio的数据源是动态的,需要配置lkp_AClaims_ClaimLetter_DataOptions表

insert  into dbo.lkp_AClaims_ClaimLetter_DataOptions
        (
         Code    ---与lkp_AClaims_ClaimLetter配置的code想匹配
        ,Options   --- 数据源初始化sql,select只需要返回val(直接对应select的value和text)的集合,display返回为null。 radio需要返回val(对应radio的value),display对应radio的展示名称
        )
values  (
         'A_002_CLAIMS_DISCLOSURE_TO_CLMNT_ClaimantRadio'
        ,'select 1 as val,''Claimant Radio first'' as display from policy_quote where PQ_ID=@CLMID union select 2,''Claimant Radio second'''  
        )

insert  into dbo.lkp_AClaims_ClaimLetter_DataOptions
        (
         Code
        ,Options
        )
values  (
         'A_002_CLAIMS_DISCLOSURE_TO_CLMNT_InsuredName'
        ,'select ''Purk Wu'',null from policy_quote where PQ_ID=@CLMID union select ''Lion Wu'',null'  
        )

step3: ghostgraft(有待完善)

猜你喜欢

转载自www.cnblogs.com/Purk/p/8931790.html
今日推荐