drop table if exists RWA_APM_BUS_RS_ONBUSINESSRWA;
create table RWA_APM_BUS_RS_ONBUSINESSRWA
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    FIN_BRANCH_NO                 VARCHAR(60) comment '账务机构编号',
    MGMT_BRANCH_NO                VARCHAR(60) comment '经营机构编号',
    PRODUCT_NO                    VARCHAR(60) comment '产品编号',
    PRODUCT_NAME                  VARCHAR(200) comment '产品名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    REC_INT                       DECIMAL(30, 6) comment '应收利息',
    ACCR_INT                      DECIMAL(30, 6) comment '应计利息',
    CHARGE_FEE                    DECIMAL(30, 6) comment '手续费',
    INT_ADJ                       DECIMAL(30, 6) comment '利息调整',
    FAIR_VALUE_CHANGE             DECIMAL(30, 6) comment '公允价值变动',
    RESERVE                       DECIMAL(30, 6) comment '减值准备',
    GL_ACCOUNT_ID                 VARCHAR(60) comment '本金科目号',
    REC_INT_ACCOUNT               VARCHAR(60) comment '应收利息科目号',
    charge_fee_account            VARCHAR(60) comment '手续费科目号',
    ACCR_INT_ACCOUNT              VARCHAR(60) comment '应计利息科目号',
    INT_ADJ_ACCOUNT               VARCHAR(60) comment '利息调整科目号',
    FAIR_VAL_ACCOUNT              VARCHAR(60) comment '公允价值变动科目号',
    RESERVE_ACCOUNT               VARCHAR(60) comment '准备金科目号',
    THIS_BALANCE                  DECIMAL(30, 6) comment '本期余额',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK             DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, LOAN_REFERENCE_NO)
) comment '表内业务计量的单笔债项RWA数据的所有历史,包含风险暴露分类、RWA计量结果';

drop table if exists RWA_APM_BUS_RS_OFFBUSINESSRWA;
create table RWA_APM_BUS_RS_OFFBUSINESSRWA
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    FIN_BRANCH_NO                 VARCHAR(60) comment '账务机构编号',
    MGMT_BRANCH_NO                VARCHAR(60) comment '经营机构编号',
    PRODUCT_NO                    VARCHAR(60) comment '产品编号',
    PRODUCT_NAME                  VARCHAR(200) comment '产品名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    REC_INT                       DECIMAL(30, 6) comment '应收利息',
    ACCR_INT                      DECIMAL(30, 6) comment '应计利息',
    CHARGE_FEE                    DECIMAL(30, 6) comment '手续费',
    INT_ADJ                       DECIMAL(30, 6) comment '利息调整',
    FAIR_VALUE_CHANGE             DECIMAL(30, 6) comment '公允价值变动',
    RESERVE                       DECIMAL(30, 6) comment '减值准备',
    GL_ACCOUNT_ID                 VARCHAR(60) comment '本金科目号',
    REC_INT_ACCOUNT               VARCHAR(60) comment '应收利息科目号',
    charge_fee_account            VARCHAR(60) comment '手续费科目号',
    ACCR_INT_ACCOUNT              VARCHAR(60) comment '应计利息科目号',
    INT_ADJ_ACCOUNT               VARCHAR(60) comment '利息调整科目号',
    FAIR_VAL_ACCOUNT              VARCHAR(60) comment '公允价值变动科目号',
    RESERVE_ACCOUNT               VARCHAR(60) comment '准备金科目号',
    THIS_BALANCE                  DECIMAL(30, 6) comment '本期余额',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK             DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    OFF_PROJECT_TYPE              VARCHAR(60) comment '表外项目类别',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, LOAN_REFERENCE_NO)
) comment '表外业务计量的单笔债项RWA数据的所有历史,包含表外项目划分、风险暴露分类、RWA结果等内容';
drop table if exists RWA_APM_BUS_RS_REGULARRCS;
create table RWA_APM_BUS_RS_REGULARRCS
(
    CALCINDEX                      VARCHAR(60) comment '计算实例号',
    SDATE                          VARCHAR(8) comment '起始数据日期',
    EDATE                          VARCHAR(8) comment '截止数据日期',
    TERM                           VARCHAR(8) comment '年月',
    DATA_DATE                      VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO              VARCHAR(60) comment '债项编号',
    CRM_NO                         VARCHAR(60) comment '缓释品编号',
    CONT_NO                        VARCHAR(60) comment '合同编号',
    QUALFIED_CREDIT_TOOL_TYPE      VARCHAR(60) comment '合格信用风险缓释工具类型编号',
    QUALFIED_CREDIT_TOOL_TYPE_NAME VARCHAR(200) comment '合格信用风险缓释工具类型名称',
    COVERAGE_RISK                  DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露',
    primary key (CALCINDEX, LOAN_REFERENCE_NO, CRM_NO, CONT_NO, QUALFIED_CREDIT_TOOL_TYPE)
) comment '债项合格缓释类型按照期次的全部缓释分配结果';

drop table if exists RWA_TDM_BUS_PROCESS_ONBUSINESSRISKRESULT;
create table RWA_TDM_BUS_PROCESS_ONBUSINESSRISKRESULT
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    RISK_RESULT                   VARCHAR(200) comment '风险暴露分类认定结果',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表内业务风险分类数据表，包含风险暴露分类等数据';

drop table if exists RWA_TDM_BUS_PROCESS_OFFBUSINESSRISKRESULT;
create table RWA_TDM_BUS_PROCESS_OFFBUSINESSRISKRESULT
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    OFF_PROJECT_TYPE              VARCHAR(60) comment '表外项目类别',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_RESULT                   VARCHAR(200) comment '风险暴露分类认定结果',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表外业务风险分类数据表，包含CCF 等数据';

drop table if exists RWA_TDM_BUS_PROCESS_ONBUSINESSRWARESULT;
create table RWA_TDM_BUS_PROCESS_ONBUSINESSRWARESULT
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO VARCHAR(60) comment '债项编号',
    DATA_SOURCE       VARCHAR(60) comment '数据来源',
    BUS_TYPE          VARCHAR(60) comment '业务类型',
    BALANCEALL        DECIMAL(30, 6) comment '本期余额/转换前资产',
    RESERVE           DECIMAL(30, 6) comment '计提准备金',
    EAD               DECIMAL(30, 6) comment '表内业务缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD      DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA               DECIMAL(30, 6) comment 'RWA',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表内业务计量的单笔债项RWA数据表';


drop table if exists RWA_TDM_BUS_PROCESS_OFFBUSINESSRWARESULT;
create table RWA_TDM_BUS_PROCESS_OFFBUSINESSRWARESULT
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO VARCHAR(60) comment '债项编号',
    DATA_SOURCE       VARCHAR(60) comment '数据来源',
    BUS_TYPE          VARCHAR(60) comment '业务类型',
    CUST_NO           VARCHAR(60) comment '客户号',
    BP_CUST_NO        VARCHAR(60) comment '核心客户号',
    CUST_NAME         VARCHAR(60) comment '客户名称',
    OFF_PROJECT_TYPE  VARCHAR(60) comment '表外项目类别',
    CCF               DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    BALANCEALL        DECIMAL(30, 6) comment '本期余额/转换前资产',
    RESERVE           DECIMAL(30, 6) comment '计提准备金',
    EAD               DECIMAL(30, 6) comment '表外业务缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD      DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA               DECIMAL(30, 6) comment 'RWA',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表外业务计量的单笔债项RWA数据表';

drop table if exists RWA_CALC_RS_TASK;
create table RWA_CALC_RS_TASK
(
    CALCINDEX        VARCHAR(60) comment '计算实例号',
    SDATE            VARCHAR(8) comment '起始数据日期',
    EDATE            VARCHAR(8) comment '截止数据日期',
    TERM             VARCHAR(8) comment '年月',
    DATA_DATE        VARCHAR(8) comment '数据日期',
    CALCTASK_TYPE_ID VARCHAR(300) comment '计算任务编号',
    CALC_TOOK        DECIMAL(30, 6) comment '计算过程耗时',
    CALC_START_TIME  VARCHAR(60) comment '计算开始时间',
    CALC_END_TIME    VARCHAR(60) comment '计算结束时间',
    CALC_START_TYPE  VARCHAR(60) comment '发起方式',
    CALC_ACCOUNT     VARCHAR(60) comment '发起人',
    CALC_STATE       VARCHAR(60) comment '执行状态',
    primary key (CALCINDEX)
) comment '计算任务执行结果';

drop table if exists RWA_CALC_RS_TASKPARAM;
create table RWA_CALC_RS_TASKPARAM
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    PARAM_ID          VARCHAR(60) comment '计算参数编号',
    PARAM_CALC_TYPE   VARCHAR(60) comment '参数计算类型',
    PARAM_OBJECT_NAME VARCHAR(300) comment '参数对象名称（不可重复）',
    PARAM_CALC_RESULT VARCHAR(300) comment '参数计算结果',
    PARAM_CALC_TOOK   DECIMAL(30, 6) comment '计算耗时',
    primary key (CALCINDEX, PARAM_ID)
) comment '计算参数结果';

-- ----------------------------------------------------------------------------------- master

drop table if exists RWA_APM_BUS_RS_ONBUSINESSRWA_MASTER;
create table RWA_APM_BUS_RS_ONBUSINESSRWA_MASTER
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    FIN_BRANCH_NO                 VARCHAR(60) comment '账务机构编号',
    MGMT_BRANCH_NO                VARCHAR(60) comment '经营机构编号',
    PRODUCT_NO                    VARCHAR(60) comment '产品编号',
    PRODUCT_NAME                  VARCHAR(200) comment '产品名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    REC_INT                       DECIMAL(30, 6) comment '应收利息',
    ACCR_INT                      DECIMAL(30, 6) comment '应计利息',
    CHARGE_FEE                    DECIMAL(30, 6) comment '手续费',
    INT_ADJ                       DECIMAL(30, 6) comment '利息调整',
    FAIR_VALUE_CHANGE             DECIMAL(30, 6) comment '公允价值变动',
    RESERVE                       DECIMAL(30, 6) comment '减值准备',
    GL_ACCOUNT_ID                 VARCHAR(60) comment '本金科目号',
    REC_INT_ACCOUNT               VARCHAR(60) comment '应收利息科目号',
    charge_fee_account            VARCHAR(60) comment '手续费科目号',
    ACCR_INT_ACCOUNT              VARCHAR(60) comment '应计利息科目号',
    INT_ADJ_ACCOUNT               VARCHAR(60) comment '利息调整科目号',
    FAIR_VAL_ACCOUNT              VARCHAR(60) comment '公允价值变动科目号',
    RESERVE_ACCOUNT               VARCHAR(60) comment '准备金科目号',
    THIS_BALANCE                  DECIMAL(30, 6) comment '本期余额',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK             DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, LOAN_REFERENCE_NO)
) comment '表内业务计量的单笔债项RWA数据的所有历史,包含风险暴露分类、RWA计量结果';

drop table if exists RWA_APM_BUS_RS_OFFBUSINESSRWA_MASTER;
create table RWA_APM_BUS_RS_OFFBUSINESSRWA_MASTER
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    FIN_BRANCH_NO                 VARCHAR(60) comment '账务机构编号',
    MGMT_BRANCH_NO                VARCHAR(60) comment '经营机构编号',
    PRODUCT_NO                    VARCHAR(60) comment '产品编号',
    PRODUCT_NAME                  VARCHAR(200) comment '产品名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    REC_INT                       DECIMAL(30, 6) comment '应收利息',
    ACCR_INT                      DECIMAL(30, 6) comment '应计利息',
    CHARGE_FEE                    DECIMAL(30, 6) comment '手续费',
    INT_ADJ                       DECIMAL(30, 6) comment '利息调整',
    FAIR_VALUE_CHANGE             DECIMAL(30, 6) comment '公允价值变动',
    RESERVE                       DECIMAL(30, 6) comment '减值准备',
    GL_ACCOUNT_ID                 VARCHAR(60) comment '本金科目号',
    REC_INT_ACCOUNT               VARCHAR(60) comment '应收利息科目号',
    charge_fee_account            VARCHAR(60) comment '手续费科目号',
    ACCR_INT_ACCOUNT              VARCHAR(60) comment '应计利息科目号',
    INT_ADJ_ACCOUNT               VARCHAR(60) comment '利息调整科目号',
    FAIR_VAL_ACCOUNT              VARCHAR(60) comment '公允价值变动科目号',
    RESERVE_ACCOUNT               VARCHAR(60) comment '准备金科目号',
    THIS_BALANCE                  DECIMAL(30, 6) comment '本期余额',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK             DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    OFF_PROJECT_TYPE              VARCHAR(60) comment '表外项目类别',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, LOAN_REFERENCE_NO)
) comment '表外业务计量的单笔债项RWA数据的所有历史,包含表外项目划分、风险暴露分类、RWA结果等内容';
drop table if exists RWA_APM_BUS_RS_REGULARRCS_MASTER;
create table RWA_APM_BUS_RS_REGULARRCS_MASTER
(
    CALCINDEX                      VARCHAR(60) comment '计算实例号',
    SDATE                          VARCHAR(8) comment '起始数据日期',
    EDATE                          VARCHAR(8) comment '截止数据日期',
    TERM                           VARCHAR(8) comment '年月',
    DATA_DATE                      VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO              VARCHAR(60) comment '债项编号',
    CRM_NO                         VARCHAR(60) comment '缓释品编号',
    CONT_NO                        VARCHAR(60) comment '合同编号',
    QUALFIED_CREDIT_TOOL_TYPE      VARCHAR(60) comment '合格信用风险缓释工具类型编号',
    QUALFIED_CREDIT_TOOL_TYPE_NAME VARCHAR(200) comment '合格信用风险缓释工具类型名称',
    COVERAGE_RISK                  DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露',
    primary key (CALCINDEX, LOAN_REFERENCE_NO, CRM_NO, CONT_NO, QUALFIED_CREDIT_TOOL_TYPE)
) comment '债项合格缓释类型按照期次的全部缓释分配结果';

drop table if exists RWA_TDM_BUS_PROCESS_ONBUSINESSRISKRESULT_MASTER;
create table RWA_TDM_BUS_PROCESS_ONBUSINESSRISKRESULT_MASTER
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    RISK_RESULT                   VARCHAR(200) comment '风险暴露分类认定结果',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表内业务风险分类数据表，包含风险暴露分类等数据';

drop table if exists RWA_TDM_BUS_PROCESS_OFFBUSINESSRISKRESULT_MASTER;
create table RWA_TDM_BUS_PROCESS_OFFBUSINESSRISKRESULT_MASTER
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    OFF_PROJECT_TYPE              VARCHAR(60) comment '表外项目类别',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_RESULT                   VARCHAR(200) comment '风险暴露分类认定结果',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表外业务风险分类数据表，包含CCF 等数据';

drop table if exists RWA_TDM_BUS_PROCESS_ONBUSINESSRWARESULT_MASTER;
create table RWA_TDM_BUS_PROCESS_ONBUSINESSRWARESULT_MASTER
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO VARCHAR(60) comment '债项编号',
    DATA_SOURCE       VARCHAR(60) comment '数据来源',
    BUS_TYPE          VARCHAR(60) comment '业务类型',
    BALANCEALL        DECIMAL(30, 6) comment '本期余额/转换前资产',
    RESERVE           DECIMAL(30, 6) comment '计提准备金',
    EAD               DECIMAL(30, 6) comment '表内业务缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD      DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA               DECIMAL(30, 6) comment 'RWA',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表内业务计量的单笔债项RWA数据表';


drop table if exists RWA_TDM_BUS_PROCESS_OFFBUSINESSRWARESULT_MASTER;
create table RWA_TDM_BUS_PROCESS_OFFBUSINESSRWARESULT_MASTER
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO VARCHAR(60) comment '债项编号',
    DATA_SOURCE       VARCHAR(60) comment '数据来源',
    BUS_TYPE          VARCHAR(60) comment '业务类型',
    CUST_NO           VARCHAR(60) comment '客户号',
    BP_CUST_NO        VARCHAR(60) comment '核心客户号',
    CUST_NAME         VARCHAR(60) comment '客户名称',
    OFF_PROJECT_TYPE  VARCHAR(60) comment '表外项目类别',
    CCF               DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    BALANCEALL        DECIMAL(30, 6) comment '本期余额/转换前资产',
    RESERVE           DECIMAL(30, 6) comment '计提准备金',
    EAD               DECIMAL(30, 6) comment '表外业务缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD      DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA               DECIMAL(30, 6) comment 'RWA',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表外业务计量的单笔债项RWA数据表';

drop table if exists RWA_CALC_RS_TASK_MASTER;
create table RWA_CALC_RS_TASK_MASTER
(
    CALCINDEX        VARCHAR(60) comment '计算实例号',
    SDATE            VARCHAR(8) comment '起始数据日期',
    EDATE            VARCHAR(8) comment '截止数据日期',
    TERM             VARCHAR(8) comment '年月',
    DATA_DATE        VARCHAR(8) comment '数据日期',
    CALCTASK_TYPE_ID VARCHAR(300) comment '计算任务编号',
    CALC_TOOK        DECIMAL(30, 6) comment '计算过程耗时',
    CALC_START_TIME  VARCHAR(60) comment '计算开始时间',
    CALC_END_TIME    VARCHAR(60) comment '计算结束时间',
    CALC_START_TYPE  VARCHAR(60) comment '发起方式',
    CALC_ACCOUNT     VARCHAR(60) comment '发起人',
    CALC_STATE       VARCHAR(60) comment '执行状态',
    primary key (CALCINDEX)
) comment '计算任务执行结果';

drop table if exists RWA_CALC_RS_TASKPARAM_MASTER;
create table RWA_CALC_RS_TASKPARAM_MASTER
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    PARAM_ID          VARCHAR(60) comment '计算参数编号',
    PARAM_CALC_TYPE   VARCHAR(60) comment '参数计算类型',
    PARAM_OBJECT_NAME VARCHAR(300) comment '参数对象名称（不可重复）',
    PARAM_CALC_RESULT VARCHAR(300) comment '参数计算结果',
    PARAM_CALC_TOOK   DECIMAL(30, 6) comment '计算耗时',
    primary key (CALCINDEX, PARAM_ID)
) comment '计算参数结果';


-- ------------------------------------------------------------------------------------------- his

drop table if exists RWA_APM_BUS_RS_ONBUSINESSRWA_ALLHIS;
create table RWA_APM_BUS_RS_ONBUSINESSRWA_ALLHIS
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    FIN_BRANCH_NO                 VARCHAR(60) comment '账务机构编号',
    MGMT_BRANCH_NO                VARCHAR(60) comment '经营机构编号',
    PRODUCT_NO                    VARCHAR(60) comment '产品编号',
    PRODUCT_NAME                  VARCHAR(200) comment '产品名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    REC_INT                       DECIMAL(30, 6) comment '应收利息',
    ACCR_INT                      DECIMAL(30, 6) comment '应计利息',
    CHARGE_FEE                    DECIMAL(30, 6) comment '手续费',
    INT_ADJ                       DECIMAL(30, 6) comment '利息调整',
    FAIR_VALUE_CHANGE             DECIMAL(30, 6) comment '公允价值变动',
    RESERVE                       DECIMAL(30, 6) comment '减值准备',
    GL_ACCOUNT_ID                 VARCHAR(60) comment '本金科目号',
    REC_INT_ACCOUNT               VARCHAR(60) comment '应收利息科目号',
    charge_fee_account            VARCHAR(60) comment '手续费科目号',
    ACCR_INT_ACCOUNT              VARCHAR(60) comment '应计利息科目号',
    INT_ADJ_ACCOUNT               VARCHAR(60) comment '利息调整科目号',
    FAIR_VAL_ACCOUNT              VARCHAR(60) comment '公允价值变动科目号',
    RESERVE_ACCOUNT               VARCHAR(60) comment '准备金科目号',
    THIS_BALANCE                  DECIMAL(30, 6) comment '本期余额',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK             DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, LOAN_REFERENCE_NO)
) comment '表内业务计量的单笔债项RWA数据的所有历史,包含风险暴露分类、RWA计量结果';

drop table if exists RWA_APM_BUS_RS_OFFBUSINESSRWA_ALLHIS;
create table RWA_APM_BUS_RS_OFFBUSINESSRWA_ALLHIS
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    FIN_BRANCH_NO                 VARCHAR(60) comment '账务机构编号',
    MGMT_BRANCH_NO                VARCHAR(60) comment '经营机构编号',
    PRODUCT_NO                    VARCHAR(60) comment '产品编号',
    PRODUCT_NAME                  VARCHAR(200) comment '产品名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    REC_INT                       DECIMAL(30, 6) comment '应收利息',
    ACCR_INT                      DECIMAL(30, 6) comment '应计利息',
    CHARGE_FEE                    DECIMAL(30, 6) comment '手续费',
    INT_ADJ                       DECIMAL(30, 6) comment '利息调整',
    FAIR_VALUE_CHANGE             DECIMAL(30, 6) comment '公允价值变动',
    RESERVE                       DECIMAL(30, 6) comment '减值准备',
    GL_ACCOUNT_ID                 VARCHAR(60) comment '本金科目号',
    REC_INT_ACCOUNT               VARCHAR(60) comment '应收利息科目号',
    charge_fee_account            VARCHAR(60) comment '手续费科目号',
    ACCR_INT_ACCOUNT              VARCHAR(60) comment '应计利息科目号',
    INT_ADJ_ACCOUNT               VARCHAR(60) comment '利息调整科目号',
    FAIR_VAL_ACCOUNT              VARCHAR(60) comment '公允价值变动科目号',
    RESERVE_ACCOUNT               VARCHAR(60) comment '准备金科目号',
    THIS_BALANCE                  DECIMAL(30, 6) comment '本期余额',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK             DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    OFF_PROJECT_TYPE              VARCHAR(60) comment '表外项目类别',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, LOAN_REFERENCE_NO)
) comment '表外业务计量的单笔债项RWA数据的所有历史,包含表外项目划分、风险暴露分类、RWA结果等内容';
drop table if exists RWA_APM_BUS_RS_REGULARRCS_ALLHIS;
create table RWA_APM_BUS_RS_REGULARRCS_ALLHIS
(
    CALCINDEX                      VARCHAR(60) comment '计算实例号',
    SDATE                          VARCHAR(8) comment '起始数据日期',
    EDATE                          VARCHAR(8) comment '截止数据日期',
    TERM                           VARCHAR(8) comment '年月',
    DATA_DATE                      VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO              VARCHAR(60) comment '债项编号',
    CRM_NO                         VARCHAR(60) comment '缓释品编号',
    CONT_NO                        VARCHAR(60) comment '合同编号',
    QUALFIED_CREDIT_TOOL_TYPE      VARCHAR(60) comment '合格信用风险缓释工具类型编号',
    QUALFIED_CREDIT_TOOL_TYPE_NAME VARCHAR(200) comment '合格信用风险缓释工具类型名称',
    COVERAGE_RISK                  DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露',
    primary key (CALCINDEX, LOAN_REFERENCE_NO, CRM_NO, CONT_NO, QUALFIED_CREDIT_TOOL_TYPE)
) comment '债项合格缓释类型按照期次的全部缓释分配结果';

drop table if exists RWA_TDM_BUS_PROCESS_ONBUSINESSRISKRESULT_ALLHIS;
create table RWA_TDM_BUS_PROCESS_ONBUSINESSRISKRESULT_ALLHIS
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    RISK_RESULT                   VARCHAR(200) comment '风险暴露分类认定结果',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表内业务风险分类数据表，包含风险暴露分类等数据';

drop table if exists RWA_TDM_BUS_PROCESS_OFFBUSINESSRISKRESULT_ALLHIS;
create table RWA_TDM_BUS_PROCESS_OFFBUSINESSRISKRESULT_ALLHIS
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    DATA_SOURCE                   VARCHAR(60) comment '数据来源',
    BUS_TYPE                      VARCHAR(60) comment '业务类型',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    OFF_PROJECT_TYPE              VARCHAR(60) comment '表外项目类别',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_RESULT                   VARCHAR(200) comment '风险暴露分类认定结果',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表外业务风险分类数据表，包含CCF 等数据';

drop table if exists RWA_TDM_BUS_PROCESS_ONBUSINESSRWARESULT_ALLHIS;
create table RWA_TDM_BUS_PROCESS_ONBUSINESSRWARESULT_ALLHIS
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO VARCHAR(60) comment '债项编号',
    DATA_SOURCE       VARCHAR(60) comment '数据来源',
    BUS_TYPE          VARCHAR(60) comment '业务类型',
    BALANCEALL        DECIMAL(30, 6) comment '本期余额/转换前资产',
    RESERVE           DECIMAL(30, 6) comment '计提准备金',
    EAD               DECIMAL(30, 6) comment '表内业务缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD      DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA               DECIMAL(30, 6) comment 'RWA',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表内业务计量的单笔债项RWA数据表';


drop table if exists RWA_TDM_BUS_PROCESS_OFFBUSINESSRWARESULT_ALLHIS;
create table RWA_TDM_BUS_PROCESS_OFFBUSINESSRWARESULT_ALLHIS
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO VARCHAR(60) comment '债项编号',
    DATA_SOURCE       VARCHAR(60) comment '数据来源',
    BUS_TYPE          VARCHAR(60) comment '业务类型',
    CUST_NO           VARCHAR(60) comment '客户号',
    BP_CUST_NO        VARCHAR(60) comment '核心客户号',
    CUST_NAME         VARCHAR(60) comment '客户名称',
    OFF_PROJECT_TYPE  VARCHAR(60) comment '表外项目类别',
    CCF               DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    BALANCEALL        DECIMAL(30, 6) comment '本期余额/转换前资产',
    RESERVE           DECIMAL(30, 6) comment '计提准备金',
    EAD               DECIMAL(30, 6) comment '表外业务缓释前风险暴露（EAD）',
    SUM_COVERAGE_RISK DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露汇总',
    UNFINISH_EAD      DECIMAL(30, 6) comment '未缓释的风险暴露',
    RWA               DECIMAL(30, 6) comment 'RWA',
    primary key (CALCINDEX, TERM, LOAN_REFERENCE_NO)
) comment '表外业务计量的单笔债项RWA数据表';

drop table if exists RWA_CALC_RS_TASK_ALLHIS;
create table RWA_CALC_RS_TASK_ALLHIS
(
    CALCINDEX        VARCHAR(60) comment '计算实例号',
    SDATE            VARCHAR(8) comment '起始数据日期',
    EDATE            VARCHAR(8) comment '截止数据日期',
    TERM             VARCHAR(8) comment '年月',
    DATA_DATE        VARCHAR(8) comment '数据日期',
    CALCTASK_TYPE_ID VARCHAR(300) comment '计算任务编号',
    CALC_TOOK        DECIMAL(30, 6) comment '计算过程耗时',
    CALC_START_TIME  VARCHAR(60) comment '计算开始时间',
    CALC_END_TIME    VARCHAR(60) comment '计算结束时间',
    CALC_START_TYPE  VARCHAR(60) comment '发起方式',
    CALC_ACCOUNT     VARCHAR(60) comment '发起人',
    CALC_STATE       VARCHAR(60) comment '执行状态',
    primary key (CALCINDEX)
) comment '计算任务执行结果';

drop table if exists RWA_CALC_RS_TASKPARAM_ALLHIS;
create table RWA_CALC_RS_TASKPARAM_ALLHIS
(
    CALCINDEX         VARCHAR(60) comment '计算实例号',
    SDATE             VARCHAR(8) comment '起始数据日期',
    EDATE             VARCHAR(8) comment '截止数据日期',
    TERM              VARCHAR(8) comment '年月',
    DATA_DATE         VARCHAR(8) comment '数据日期',
    PARAM_ID          VARCHAR(60) comment '计算参数编号',
    PARAM_CALC_TYPE   VARCHAR(60) comment '参数计算类型',
    PARAM_OBJECT_NAME VARCHAR(300) comment '参数对象名称（不可重复）',
    PARAM_CALC_RESULT VARCHAR(300) comment '参数计算结果',
    PARAM_CALC_TOOK   DECIMAL(30, 6) comment '计算耗时',
    primary key (CALCINDEX, PARAM_ID)
) comment '计算参数结果';


drop table if exists RWA_APM_BUS_RS_ACCADJUSTMENT;
create table RWA_APM_BUS_RS_ACCADJUSTMENT
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    GL_CODE                       VARCHAR(60) comment '总账科目号',
    SUBJECT_DESC                  VARCHAR(60) comment '科目名称',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    BALANCE_ON                    DECIMAL(30, 6) comment '本期余额',
    BALANCE_OFF                   DECIMAL(30, 6) comment '转换前资产',
    RESERVE                       DECIMAL(30, 6) comment '计提准备金',
    CURRENCY                      VARCHAR(60) comment '币种代码',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(200) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(200) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(200) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(200) comment '四级风险暴露分类名称',
    RISK_RESULT                   VARCHAR(60) comment '风险暴露类别',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    COVERAGE_RISK                 DECIMAL(30, 6) comment '缓释覆盖部分的风险暴露',
    COVERAGE_RWA                  DECIMAL(30, 6) comment '缓释覆盖部分的RWA',
    UNFINISH_EAD                  DECIMAL(30, 6) comment '未缓释的风险暴露',
    UNFINISH_RWA                  DECIMAL(30, 6) comment '未缓释RWA',
    RWA                           DECIMAL(30, 6) comment 'RWA',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    CUST_NO                       VARCHAR(60) comment '客户号',
    BP_CUST_NO                    VARCHAR(60) comment '核心客户号',
    INVEST_INDUSTRY               VARCHAR(60) comment '行业名称',
    BUSINESS_LINE                 VARCHAR(60) comment '业务条线',
    EFF_DATE                      VARCHAR(60) comment '生效日',
    DUE_DATE                      VARCHAR(60) comment '到期日',
    SOFT_RULE_TYPE                VARCHAR(60) not null comment '规则类型-配置在总分勾稽规则定义中，规则类型为ACCOUNT',
    SOFT_RULE_MAINID              VARCHAR(60) not null comment '规则主编号-配置在总分勾稽规则定义中，即规则编号',
    SOFT_RULE_SUBID               VARCHAR(60) not null comment '规则次编号-为空',

    primary key (CALCINDEX, GL_CODE, LOAN_REFERENCE_NO)
) comment '总账差异结果表';



drop table if exists RWA_APM_BUS_RS_LEDGERGENERAL;
create table RWA_APM_BUS_RS_LEDGERGENERAL
(
    CALCINDEX                     VARCHAR(60) comment '计算实例号',
    SDATE                         VARCHAR(8) comment '起始数据日期',
    EDATE                         VARCHAR(8) comment '截止数据日期',
    TERM                          VARCHAR(8) comment '年月',
    DATA_DATE                     VARCHAR(8) comment '数据日期',
    LOAN_REFERENCE_NO             VARCHAR(60) comment '债项编号',
    ONOROFF                       VARCHAR(60) comment '表内外标识',
    SUBJECT_CODES                 VARCHAR(60) comment '科目代码',
    SUBJECT_NAMES                 VARCHAR(60) comment '科目名称',
    BALANCE                       DECIMAL(30, 6) comment '资产余额',
    CURRENCY                      VARCHAR(60) comment '币种代码',
    LEDGER_OFFOBJECT_NO           VARCHAR(60) comment '表外项目代码',
    LEDGER_OFFOBJECT_NAME         VARCHAR(60) comment '表外项目名称',
    CCF                           DECIMAL(30, 6) comment 'CCF 表外项目信用转化系数',
    RISK_EXPOSURE_LEV01_CODE      VARCHAR(60) comment '一级风险暴露分类代码',
    RISK_EXPOSURE_LEV01_CODE_NAME VARCHAR(60) comment '一级风险暴露分类名称',
    RISK_EXPOSURE_LEV02_CODE      VARCHAR(60) comment '二级风险暴露分类代码',
    RISK_EXPOSURE_LEV02_CODE_NAME VARCHAR(60) comment '二级风险暴露分类名称',
    RISK_EXPOSURE_LEV03_CODE      VARCHAR(60) comment '三级风险暴露分类代码',
    RISK_EXPOSURE_LEV03_CODE_NAME VARCHAR(60) comment '三级风险暴露分类名称',
    RISK_EXPOSURE_LEV04_CODE      VARCHAR(60) comment '四级风险暴露分类代码',
    RISK_EXPOSURE_LEV04_CODE_NAME VARCHAR(60) comment '四级风险暴露分类名称',
    RISK_EXPOSURE_CODE            VARCHAR(60) comment '风险暴露分类认定代码',
    RISK_EXPOSURE_NAME            VARCHAR(60) comment '风险暴露分类认定名称',
    LOAN_WEIGHT                   DECIMAL(30, 6) comment '债项风险权重',
    EAD                           DECIMAL(30, 6) comment '缓释前风险暴露',
    RWA                           DECIMAL(30, 6) comment '风险加权资产',
    CUST_NAME                     VARCHAR(60) comment '客户名称',
    CUST_NO                       VARCHAR(60) comment '客户号',
    INVEST_INDUSTRY               VARCHAR(60) comment '行业名称',
    BUSINESS_LINE                 VARCHAR(60) comment '业务条线',
    EFF_DATE                      VARCHAR(60) comment '生效日',
    DUE_DATE                      VARCHAR(60) comment '到期日',
    primary key (CALCINDEX, LOAN_REFERENCE_NO, SUBJECT_CODES)
) comment '总账科目计量结果表';


-- 2025-03-22 更新脚本

-- --------------------------
-- TABLE structure for rmc_imput_suptaskconf_baseinfo
-- --------------------------
drop TABLE if exists rmc_imput_suptaskconf_baseinfo;
create table if not exists rmc_imput_suptaskconf_baseinfo (
	taskcode varchar(60) not null comment '任务编号',
	tmpname varchar(300) comment '任务名称',
	taskversion decimal(10,0) comment '任务版本号',
	orgcode varchar(60) comment '负责机构',
	account varchar(60) comment '首选负责人',
	frequency varchar(60) comment '补录频率',
	adjustment varchar(20) comment '天数调整',
	ischeck varchar(20) comment '是否复核',
	yesorno varchar(30) comment '是否有效 YESORNO',
	primary key (taskcode)
)comment='补录任务基本信息表';

-- --------------------------
-- TABLE structure for rmc_imput_suptaskconf_relatedinfo
-- --------------------------
drop TABLE if exists rmc_imput_suptaskconf_relatedinfo;
create table if not exists rmc_imput_suptaskconf_relatedinfo (
	taskcode varchar(60) not null comment '任务编号',
	tmpcode varchar(60) not null comment '补录模板编号',
	sqlcode text comment '初始化数据源',
	remark varchar(600) comment '补录模板说明',
	primary key (taskcode, tmpcode)
)comment='补录任务数据相关表';

-- --------------------------
-- TABLE structure for rmc_imput_suptaskrun_bussinessdetail
-- --------------------------
drop TABLE if exists rmc_imput_suptaskrun_bussinessdetail;
create table if not exists rmc_imput_suptaskrun_bussinessdetail (
	taskbussinessid varchar(60) not null comment '任务实例编号',
	taskCode varchar(60) not null comment '补录任务编号',
	taskVersion decimal(10,0) not null comment '补录任务版本号',
	tmpCode varchar(60) not null comment '补录模板编号',
	tmpTableName varchar(300) comment '补录临时表',
	tmpRemark varchar(60) comment '补录结果',
	primary key (taskbussinessid, taskCode, taskVersion, tmpCode)
)comment='补录任务中的数据实例表';

-- --------------------------
-- TABLE structure for rmc_imput_suptaskrun_bussinessflowinfo
-- --------------------------
drop TABLE if exists rmc_imput_suptaskrun_bussinessflowinfo;
create table if not exists rmc_imput_suptaskrun_bussinessflowinfo (
	taskbussinessid varchar(60) not null comment '任务实例编号',
	flowbussinessid varchar(60) not null comment '流程实例编号',
	flowid varchar(60) not null comment '流程编号',
	Account varchar(30) comment '当前处理人',
	orgcode varchar(30) comment '当前处理机构',
	primary key (taskbussinessid, flowbussinessid, flowid)
)comment='流程与补录任务实例关系表';


-- --------------------------
-- TABLE structure for rmc_imput_suptaskrun_bussinessinfo
-- --------------------------
drop TABLE if exists rmc_imput_suptaskrun_bussinessinfo;
create table if not exists rmc_imput_suptaskrun_bussinessinfo (
	taskbussinessid varchar(60) not null comment '任务实例编号',
	taskCode varchar(60) not null comment '补录任务编号',
	taskVersion decimal(10,0) not null comment '补录任务版本号',
	taskStatus varchar(30) comment '补录任务状态',
	taskStartDate varchar(10) comment '补录开始时间',
	taskUpdateDate varchar(10) comment '更新时间',
	taskCreatePerson varchar(60) comment '创建人',
	taskUpdatePerson varchar(60) comment '更新人',
	taskFirstPerson varchar(60) comment '补录人',
	taskOrgcode varchar(60) comment '补录机构',
	taskReviewedPerson varchar(60) comment '复核人',
	remark varchar(300) comment '补录说明',
	term varchar(60),
	primary key (taskbussinessid, taskCode, taskVersion)
)comment='补录任务实例表';

-- --------------------------
-- TABLE structure for rmc_imput_suptaskrun_tmprelas
-- --------------------------
drop TABLE if exists rmc_imput_suptaskrun_tmprelas;
create table if not exists rmc_imput_suptaskrun_tmprelas (
	taskbussinessid varchar(100) not null comment '补录任务实例号',
	term varchar(60) not null comment '数据期次',
	taskcode varchar(60) not null comment '补录任务编号',
	tmpcode varchar(60) not null comment '模板编号',
	primary key (taskbussinessid, tmpcode)
)comment='补录任务实例的模板清单';

-- --------------------------
-- TABLE structure for rmc_imput_tmpconf_baseinfo
-- --------------------------
drop TABLE if exists rmc_imput_tmpconf_baseinfo;
create table if not exists rmc_imput_tmpconf_baseinfo (
	tmpcode varchar(60) not null comment '模板编号',
	tmpname varchar(300) comment '模板名称',
	tmptype varchar(30) comment '模板类型',
	rowrange varchar(60) comment '行范围',
	columnrange varchar(60) comment '列范围',
	tmpfilename varchar(300) comment '文件名',
	tmpfilecode varchar(60) comment '模板文件编号',
	primary key (tmpcode)
)comment='模板基本信息定义表';

-- --------------------------
-- TABLE structure for rmc_imput_tmpconf_fielddetails
-- --------------------------
drop TABLE if exists rmc_imput_tmpconf_fielddetails;
create table if not exists rmc_imput_tmpconf_fielddetails (
	tmpcode varchar(60) not null comment '模板编号',
	tmpfieldcode varchar(60) not null comment '字段编号',
	rowcoltype varchar(30) comment '行列类型',
	filedrowrange varchar(60) comment '行范围',
	filedcolumnrange varchar(60) comment '列范围',
	filedcoltype varchar(60) comment '字段类型与长度',
	remark varchar(300) comment '数据项说明',
	yesorno varchar(30) comment '是否有效 YESORNO',
	primary key (tmpcode, tmpfieldcode)
)comment='模板字段详情定义表';


-- --------------------------
-- TABLE structure for rmc_imput_tmpconf_verificationrules
-- --------------------------
drop TABLE if exists rmc_imput_tmpconf_verificationrules;
create table if not exists rmc_imput_tmpconf_verificationrules (
	taskcode varchar(60) not null comment '任务编号',
	tmpcode varchar(60) not null comment '模板编号',
	tmpverificationcode varchar(60) comment '规则编号',
	tmpverificationname varchar(300) comment '规则名称',
	tmpverrowcoltype varchar(30) comment '行列类型',
	vertimmer varchar(30) comment '模板验证时点',
	tmpverrowrange varchar(60) comment '行范围',
	tmpvercolumnrange varchar(60) comment '列范围',
	checktype varchar(30) comment '约束方式',
	datatype varchar(60) comment '数据类型',
	excelformula varchar(2000) comment '约束公式',
	sqlcode text comment '约束规则sql',
	exceedtype varchar(30) comment '越界处理方式',
	errormsgtmplate varchar(300) comment '提示信息模板'
)comment='模板数据校验规则定义表';


-- --------------------------
-- TABLE structure for rmc_input_suptaskrun_baseinfo
-- --------------------------
drop TABLE if exists rmc_input_suptaskrun_baseinfo;
create table if not exists rmc_input_suptaskrun_baseinfo (
	taskbussinessid varchar(60) not null comment '任务实例编号',
	taskCode varchar(60) not null comment '补录任务编号',
	taskVersion decimal(10,0) not null comment '补录任务版本号',
	indexcode varchar(60) not null comment '指标编号',
	indexname varchar(300) comment '指标名称',
	cpValue varchar(600),
	baorfiChanges varchar(600) comment '指标变动原因简析',
	oeorLevel varchar(60) comment '风险水平整体水平评价',
	raftNextstage varchar(60) comment '下阶段风险研判',
	deptcode varchar(200) not null comment '补录部门',
	cpvalTypeName varchar(60),
	dict varchar(60) comment '字段使用字典',
	primary key (taskbussinessid, taskCode, taskVersion, indexcode, deptcode)
)comment='页面补录指标数据实例表';

-- --------------------------
-- TABLE structure for rmc_input_tmpconf_baseinfo
-- --------------------------
drop TABLE if exists rmc_input_tmpconf_baseinfo;
create table if not exists rmc_input_tmpconf_baseinfo (
	indexcode varchar(60) not null comment '指标编号',
	indexname varchar(300) comment '指标名称',
	cpvalue varchar(600) comment '本期值',
	baorfichanges varchar(600) comment '指标变动原因简析',
	oeorlevel varchar(60) comment '风险水平整体水平评价',
	raftnextstage varchar(60) comment '下阶段风险研判',
	deptcode varchar(20) not null comment '补录部门',
	cpvalTypeName varchar(60),
	dict varchar(60) comment '字段使用字典',
	primary key (indexcode, deptcode)
)comment='页面补录模板基本信息定义表';

-- --------------------------
-- TABLE structure for sys_imput_suptaskconf_flowapproval
-- --------------------------
drop TABLE if exists sys_imput_suptaskconf_flowapproval;
create table if not exists sys_imput_suptaskconf_flowapproval (
	bussinessid varchar(100) not null comment '流程实例号',
	account varchar(60) not null comment '审批人',
	orgcode varchar(60) not null comment '审批机构',
	approvalType varchar(60) not null comment '审批意见类型',
	approvalRemark varchar(500) comment '审批意见',
	primary key (bussinessid)
)comment='流程与补录任务实例关系表';

-- --------------------------
-- TABLE structure for sys_imput_suptaskconf_submitflowdataexe
-- --------------------------
drop TABLE if exists sys_imput_suptaskconf_submitflowdataexe;
create table if not exists sys_imput_suptaskconf_submitflowdataexe (
	taskcode varchar(60) not null comment '任务编号',
	tmpcode varchar(60) not null comment '模板编号',
	val text not null comment '任务处理内容',
	valType varchar(60) not null comment '任务处理类型 BEAN 为 处理类(暂不支持), SQL为当作SQL处理',
	indexNum decimal(5,0) comment '执行顺序号'
)comment='流程终审时,需要根据任务编号以及模板编号处理的程序';
create index searchIndex on sys_imput_suptaskconf_submitflowdataexe (taskcode ASC, tmpcode ASC, indexNum ASC);


-- --------------------------
-- TABLE structure for sys_imput_suptaskrun_finaldata
-- --------------------------
drop TABLE if exists sys_imput_suptaskrun_finaldata;
create table if not exists sys_imput_suptaskrun_finaldata (
	taskbussinessid varchar(100) not null comment '流程实例号',
	flowbussinessid varchar(100) not null comment '流程实例号',
	taskcode varchar(60) not null comment '任务编号',
	tmpcode varchar(60) not null comment '模板编号',
	startDate varchar(60) not null comment '日期 yyyy-MM-dd',
	term varchar(60) not null comment '期次',
	termDT varchar(60) not null comment '日期长度的期次,通常为月份的最后一天',
	orgcode varchar(60) not null comment '机构号',
	indexId varchar(60) not null comment '指标编号',
	dataStr varchar(60) comment '数据结果字符串',
	dataType varchar(60) not null comment '数据类型 STRING,DOUBLE',
	primary key (taskbussinessid, tmpcode, term, indexId, orgcode)
)comment='流程终审时,从补录中间表数据结果';


-- --------------------------
-- TABLE structure for sys_task_all_execute
-- --------------------------
drop TABLE if exists sys_task_all_execute;
create table if not exists sys_task_all_execute (
	id varchar(100) not null comment '主键,没啥实际作用',
	type_ varchar(60) not null comment '类型,主要用于区分执行类型,扩展用 INPUT 补录;',
	index_ decimal(10,0) not null comment '执行序号',
	val text not null comment '执行任务的标记, SQL 就是执行的SQL, BEAN 就是要执行任务的Service 一定是通过 @Service 标记的才可以',
	valtype varchar(60) not null comment '执行任务的类型 SQL 或 BEAN 扩展请继承 TaskAllExecuteMain',
	primary key (id)
)comment='补录全部完成的任务执行表';


-- --------------------------
-- TABLE structure for sys_input_suptaskrun_taskallstatus
-- --------------------------
drop TABLE if exists sys_input_suptaskrun_taskallstatus;
create table if not exists sys_input_suptaskrun_taskallstatus (
	term varchar(60) not null comment '期次',
	termDT varchar(60) not null comment '期次,年月日格式,一般为月底',
	taskCode varchar(60) not null comment '补录任务的编号',
	isover varchar(60) not null comment '补录任务是否完成 YESORNO',
	primary key (term, taskCode)
)
comment='补录任务按照频率的补录任务状态,在同一起次完成时,才会继续下一步';


-- 视图
drop view if exists v_wfs_todotask;
CREATE VIEW v_wfs_todotask AS
select
  tmp.account AS account,
  bus.BUSINESSTYPEID AS businesstypeid,
  task.PROCINST_ AS businessinsid,
  task.ID_ AS soleorderid,
  tmp.taskState AS status
from
  (
    (
      (
        (
          select
            t1.PROCINST_ AS PROCINST_,
            t1.ID_ AS ID_,
            t1.ACTORID_ AS ACTORID_
          from
            jbpm_taskinstance t1
          where
            (t1.ACTORID_ is not null)
            and (t1.ISOPEN_ = 1)
            and (t1.ISSUSPENDED_ <> 1)
        )
        union all
          (
            select
              t2.PROCINST_ AS PROCINST_,
              t2.ID_ AS ID_,
              concat('!', pooledacto0_.ACTORID_) AS ACTORID_
            from
              (
                (
                  jbpm_pooledactor pooledacto0_
                  join jbpm_taskactorpool taskinstan1_ on (pooledacto0_.ID_ = taskinstan1_.POOLEDACTOR_)
                )
                join jbpm_taskinstance t2 on (taskinstan1_.TASKINSTANCE_ = t2.ID_)
                and (t2.ACTORID_ is null)
                and (t2.ISOPEN_ = 1)
                and (t2.ISSUSPENDED_ <> 1)
              )
          )
      ) task
      join (
        (
          select
            sysuser.ACCOUNT AS account,
            'waiting' AS taskState,
            concat('#', dept.ORGCODE, UR.ROLEID) AS taskPerson
          from
            (
              (
                sys_user sysuser
                join sys_user_role UR on (sysuser.ACCOUNT = UR.ACCOUNT)
              )
              join sys_organization dept on (sysuser.ORGCODE = dept.ORGCODE)
            )
        )
        union all
          (
            select
              sysuser.ACCOUNT AS account,
              'waiting' AS taskState,
              concat('#', dept.ORGCODE, UR.ROLEID, '*', dept.ORGTYPE) AS taskPerson
            from
              (
                (
                  sys_user sysuser
                  join sys_user_role UR on (sysuser.ACCOUNT = UR.ACCOUNT)
                )
                join sys_organization dept on (sysuser.ORGCODE = dept.ORGCODE)
              )
          )
        union all
          (
            select
              sysuser.ACCOUNT AS account,
              'waiting' AS taskState,
              concat('#', dept.SUPERORGCODE, UR.ROLEID) AS taskPerson
            from
              (
                (
                  sys_user sysuser
                  join sys_user_role UR on (sysuser.ACCOUNT = UR.ACCOUNT)
                )
                join sys_organization dept on (sysuser.ORGCODE = dept.ORGCODE)
                and (dept.ORGTYPE is not null)
              )
          )
        union all
          (
            select
              sysuser.ACCOUNT AS account,
              'waiting' AS taskState,
              concat('#', dept.SUPERORGCODE, UR.ROLEID, '*', dept.ORGTYPE) AS taskPerson
            from
              (
                (
                  sys_user sysuser
                  join sys_user_role UR on (sysuser.ACCOUNT = UR.ACCOUNT)
                )
                join sys_organization dept on (sysuser.ORGCODE = dept.ORGCODE)
                and (dept.ORGTYPE is not null)
              )
          )
        union all
          (
            select
              sysuser.ACCOUNT AS account,
              'working' AS taskState,
              concat('@', sysuser.ACCOUNT) AS taskPerson
            from
              sys_user sysuser
          )
        union all
          (
            select
              sysuser.ACCOUNT AS account,
              'waiting' AS taskState,
              concat('!', sysuser.ACCOUNT) AS taskPerson
            from
              sys_user sysuser
          )
      ) tmp on (task.ACTORID_ = tmp.taskPerson)
    )
    join wfs_businessins bus on (bus.BUSINESSINSID = task.PROCINST_)
  );
