create table kpi_case
(
    id                   bigint auto_increment
        primary key,
    case_id              char(36)         null comment '案件ID',
    area_id              char(36)         null comment '地区ID',
    area_name            varchar(255)     null comment '地区名称',
    community_id         char(36)         null comment '社区ID',
    community_name       varchar(255)     null comment '社区名称',
    case_type_id         char(36)         null comment '类型ID',
    case_type_name       varchar(255)     null comment '类型名称',
    case_status          int(2)           null comment '案件状态',
    case_source          int(2)           null comment '案件来源',
    gmt_report           datetime         null comment '上报时间',
    gmt_accept           datetime         null comment '受理时间',
    is_accept            int(1) default 0 null comment '是否受理',
    gmt_assign           datetime         null comment '下派时间',
    is_assign            int(1) default 0 null comment '是否下派',
    handle_end_time_long double(11, 2)    null comment '处理截至时长',
    handle_end_time      varchar(255)     null comment '处理截至时间',
    gmt_handle           datetime         null comment '处理时间',
    is_handle            int(1) default 0 null comment '是否处理',
    is_timeout           int(1) default 0 null comment '是否超时',
    gmt_inspect          datetime         null comment '检查时间',
    is_inspect           int(1) default 0 null comment '是否检查',
    is_self              int(1)           null comment '是否自处理',
    report_user_id       char(36)         null comment '上报人',
    assign_user_id       char(36)         null comment '下派人',
    handle_user_id       varchar(500)     null comment '处理人',
    inspect_user_id      char(36)         null comment '检查人',
    inspect_score        double(11, 2)    null comment '检查分数',
    is_delete            int(1) default 0 null comment '是否删除',
    gmt_delete           datetime         null comment '删除时间',
    delete_user_id       char(36)         null comment '删除人',
    total_urge           int    default 0 null comment '督办次数',
    total_back           int    default 0 null comment '回退次数',
    constraint kpi_case_case_id_uindex
        unique (case_id)
)
    comment '案件';

create table kpi_community_boss_3_day_count
(
    id                      bigint auto_increment
        primary key,
    user_id                 char(36)                   null comment '用户ID',
    day_date                date                       null comment '日期',
    is_signin               tinyint(1)    default 0    null comment '是否签到',
    is_signin_late          tinyint(1)    default 0    null comment '是否迟到',
    is_signout              tinyint(1)    default 0    null comment '是否签退',
    is_signout_early        tinyint(1)    default 0    null comment '是否早退',
    work_distance           double(11, 2) default 0.00 null comment '工作距离',
    population_count        int           default 0    null comment '人口数',
    save_population_count   int           default 0    null comment '新增人口数',
    update_population_count int                        null comment '更新人口数',
    is_holiday              int(1)        default 0    null comment '是否假期',
    day_score               double(11, 2) default 0.00 null comment '日得分'
)
    comment '4级网格员日统计';

create table kpi_community_boss_4_day_count
(
    id                      bigint auto_increment
        primary key,
    user_id                 char(36)                   null comment '用户ID',
    day_date                date                       null comment '日期',
    is_signin               tinyint(1)    default 0    null comment '是否签到',
    is_signin_late          tinyint(1)    default 0    null comment '是否迟到',
    is_signout              tinyint(1)    default 0    null comment '是否签退',
    is_signout_early        tinyint(1)    default 0    null comment '是否早退',
    work_distance           double(11, 2) default 0.00 null comment '工作距离',
    population_count        int           default 0    null comment '人口数',
    save_population_count   int           default 0    null comment '新增人口数',
    update_population_count int                        null comment '更新人口数',
    is_holiday              int(1)        default 0    null comment '是否假期',
    day_score               double(11, 2) default 0.00 null comment '日得分'
)
    comment '5级网格员日统计';

create table kpi_config
(
    id           bigint unsigned auto_increment
        primary key,
    config_key   varchar(255) null comment 'Key',
    config_value varchar(255) null,
    constraint config_key
        unique (config_key)
)
    comment '考核细则配置';

create table kpi_holiday
(
    id            bigint unsigned auto_increment
        primary key,
    holiday_year  int null comment '年',
    holiday_month int null comment '月',
    holiday_day   int null comment '日'
)
    comment '放假表';

create table kpi_khxz_ddy
(
    id            bigint unsigned auto_increment
        primary key,
    kh_year       int                           null comment '考核月份',
    kh_month      int                           null comment '考核月份',
    user_id       char(36)                      null comment '调度员',
    user_username varchar(255)                  null comment '用户名',
    B             varchar(255)  default '0'     null comment '姓名',
    C             double(11, 2) default 0.00    null comment '签到情况（30分）',
    D             double(11, 2) default 50.00   null comment '基础分',
    E             int           default 0       null comment '案件调度数量',
    F             double(11, 2) default 0.00    null comment '案件调度扣分',
    G             double(11, 2) default 0.00    null comment '应调度却未及时调度',
    reasonG       varchar(255)                  null comment '应调度却未及时调度原因',
    H             double(11, 2) default 0.00    null comment '未及时调度案件造成严重影响',
    reasonH       varchar(255)                  null comment '未及时调度案件造成严重影响原因',
    I             double(11, 2) default 0.00    null comment '其它情况',
    reasonI       varchar(255)                  null comment '其它情况原因',
    J             double(11, 2) default 0.00    null comment '组织评价',
    reasonJ       varchar(255)                  null comment '组织评价原因',
    K             double(11, 2) default 0.00    null comment '总得分',
    L             double(11, 2) default 3000.00 null comment '应发绩效工资',
    M             double(11, 2) default 0.00    null comment '实发绩效工资',
    gmt_modified  datetime                      null comment '修改时间',
    modifier      char(36)                      null comment '修改人'
)
    comment '调度员考核细则';

create table kpi_khxz_wgy_3
(
    id            bigint auto_increment
        primary key,
    area_id       char(36)                      null comment '街道ID',
    community_id  char(36)                      null comment '社区ID',
    user_id       char(36)                      null comment '用户ID',
    user_username varchar(255)                  null comment '用户名',
    kh_year       int                           null comment '考核年度',
    kh_month      int                           null comment '考核月份',
    B             varchar(255)                  null comment '姓名',
    C             double(11, 2) default 0.00    null comment '片区巡查',
    D             int           default 30      null comment '基础分',
    E             int           default 0       null comment '本月应报案件数',
    F             double(11, 2) default 0.00    null comment '本月单个案件分值',
    G             int           default 0       null comment '实报案件数量',
    H             double(11, 2) default 0.00    null comment '实报案件得分',
    I             int           default 0       null comment '少报案件数量',
    J             double(11, 2) default 0.00    null comment '少报案件得分',
    K             int           default 0       null comment '多报案件数量',
    L             double(11, 2)                 null comment '多报案件得分',
    M             int           default 0       null comment '应上报却未上报案件',
    reasonM       varchar(255)                  null comment '应上报却未上报案件意见',
    N             int           default 0       null comment '平台立案上报不标准不及时的',
    reasonN       varchar(255)                  null comment '平台立案上报不标准不及时的原因',
    O             int           default 0       null comment '恶意退单',
    reasonO       varchar(255)                  null comment '恶意退单原因',
    P             int           default 0       null comment '扣分其它情况',
    reasonP       varchar(255)                  null comment '扣分其它情况说明',
    Q             double(11, 2) default 10.00   null comment '结案情况得分',
    reasonQ       varchar(255)                  null comment '结案情况得分说明',
    R             int           default 0       null comment '督查次数',
    reasonR       varchar(255)                  null comment '督查次数原因',
    S             double(11, 2) default 0.00    null comment '督查扣分',
    T             double(11, 2) default 0.00    null comment '网格员24小时未核查扣分',
    U             double(11, 2) default 0.00    null comment '反馈虚假信息',
    reasonU       varchar(255)                  null comment '反馈虚假信息原因',
    V             double(11, 2) default 0.00    null comment '其他情况',
    reasonV       varchar(255)                  null comment '其他情况原因',
    W             double(11, 2) default 0.00    null comment '人口信息录入',
    reasonW       varchar(255)                  null comment '人口信息录入原因',
    X             double(11, 2) default 0.00    null comment '人口信息质量管理',
    reasonX       varchar(255)                  null comment '人口信息质量管理原因',
    Y             double(11, 2) default 0.00    null comment '人口信息维护',
    reasonY       varchar(255)                  null comment '人口信息维护原因',
    Z             double(11, 2) default 0.00    null comment '抽查情况',
    reasonZ       varchar(255)                  null comment '抽查情况原因',
    AA            double(11, 2) default 0.00    null comment '党建信息上报',
    reasonAA      varchar(255)                  null comment '党建信息上报原因',
    AB            double(11, 2) default 0.00    null comment '党建信息质量管理',
    reasonAB      varchar(255)                  null comment '党建信息质量管理原因',
    AC            double(11, 2) default 0.00    null comment '党建信息维护',
    reasonAC      varchar(255)                  null comment '党建信息维护原因',
    AD            double(11, 2) default 0.00    null comment '抽查情况',
    reasonAD      varchar(255)                  null comment '抽查情况原因',
    AE            double(11, 2) default 0.00    null comment '总得分',
    AF            double(11, 2) default 3000.00 null comment '应发绩效工资',
    AG            double(11, 2) default 0.00    null comment '实发绩效工资',
    gmt_modified  datetime                      null comment '修改时间',
    modifier      char(36)                      null comment '修改人'
)
    comment '4级网格员考核细则';

create index area_id
    on kpi_khxz_wgy_3 (area_id);

create index community_id
    on kpi_khxz_wgy_3 (community_id);

create index kh_month
    on kpi_khxz_wgy_3 (kh_month);

create index kh_year
    on kpi_khxz_wgy_3 (kh_year);

create index user_id
    on kpi_khxz_wgy_3 (user_id);

create table kpi_khxz_wgy_4
(
    id            bigint auto_increment
        primary key,
    area_id       char(36)                      null comment '街道ID',
    community_id  char(36)                      null comment '社区ID',
    user_id       char(36)                      null comment '用户ID',
    user_username varchar(255)                  null comment '用户名',
    kh_year       int                           null comment '考核年度',
    kh_month      int                           null comment '考核月份',
    B             varchar(255)                  null comment '姓名',
    C             double(11, 2) default 0.00    null comment '片区巡查',
    D             int           default 30      null comment '基础分',
    E             int           default 0       null comment '本月应报案件数',
    F             double(11, 2) default 0.00    null comment '本月单个案件分值',
    G             int           default 0       null comment '实报案件数量',
    H             double(11, 2) default 0.00    null comment '实报案件得分',
    I             int           default 0       null comment '少报案件数量',
    J             double(11, 2) default 0.00    null comment '少报案件得分',
    K             int           default 0       null comment '多报案件数量',
    L             double(11, 2) default 0.00    null comment '多报案件得分',
    M             int           default 0       null comment '应上报却未上报案件',
    reasonM       varchar(255)                  null comment '应上报却未上报案件意见',
    N             int           default 0       null comment '平台立案上报不标准不及时的',
    reasonN       varchar(255)                  null comment '平台立案上报不标准不及时的原因',
    O             int           default 0       null comment '恶意退单',
    reasonO       varchar(255)                  null comment '恶意退单原因',
    P             int           default 0       null comment '扣分其它情况',
    reasonP       varchar(255)                  null comment '扣分其它情况说明',
    Q             double(11, 2) default 10.00   null comment '结案情况得分',
    reasonQ       varchar(255)                  null comment '结案情况得分说明',
    R             int           default 0       null comment '督查次数',
    reasonR       varchar(255)                  null comment '督查次数原因',
    S             double(11, 2) default 0.00    null comment '督查扣分',
    T             double(11, 2) default 0.00    null comment '网格员24小时未核查扣分',
    U             double(11, 2) default 0.00    null comment '反馈虚假信息',
    reasonU       varchar(255)                  null comment '反馈虚假信息原因',
    V             double(11, 2) default 0.00    null comment '其他情况',
    reasonV       varchar(255)                  null comment '其他情况原因',
    W             double(11, 2) default 0.00    null comment '人口信息录入',
    reasonW       varchar(255)                  null comment '人口信息录入原因',
    X             double(11, 2) default 0.00    null comment '人口信息质量管理',
    reasonX       varchar(255)                  null comment '人口信息质量管理原因',
    Y             double(11, 2) default 0.00    null comment '人口信息维护',
    reasonY       varchar(255)                  null comment '人口信息维护原因',
    Z             double(11, 2) default 0.00    null comment '抽查情况',
    reasonZ       varchar(255)                  null comment '抽查情况原因',
    AA            double(11, 2) default 0.00    null comment '党建信息上报',
    reasonAA      varchar(255)                  null comment '党建信息上报原因',
    AB            double(11, 2) default 0.00    null comment '党建信息质量管理',
    reasonAB      varchar(255)                  null comment '党建信息质量管理原因',
    AC            double(11, 2) default 0.00    null comment '党建信息维护',
    reasonAC      varchar(255)                  null comment '党建信息维护原因',
    AD            double(11, 2) default 0.00    null comment '抽查情况',
    reasonAD      varchar(255)                  null comment '抽查情况原因',
    AE            double(11, 2) default 0.00    null comment '总得分',
    AF            double(11, 2) default 2500.00 null comment '应发绩效工资',
    AG            double(11, 2) default 0.00    null comment '实发绩效工资',
    gmt_modified  datetime                      null comment '修改时间',
    modifier      char(36)                      null comment '修改人'
)
    comment '5级网格员考核细则';

create index area_id
    on kpi_khxz_wgy_4 (area_id);

create index community_id
    on kpi_khxz_wgy_4 (community_id);

create index kh_month
    on kpi_khxz_wgy_4 (kh_month);

create index kh_year
    on kpi_khxz_wgy_4 (kh_year);

create index user_id
    on kpi_khxz_wgy_4 (user_id);

create table kpi_khxz_wgz
(
    id            bigint unsigned auto_increment
        primary key,
    area_id       char(36)                      null comment '地区ID',
    community_id  char(36)                      null comment '社区ID',
    user_id       char(36)                      null comment '用户ID',
    user_username varchar(255)                  null comment '用户名称',
    kh_year       int                           null comment '考核年度',
    kh_month      int                           null comment '考核月份',
    B             varchar(255)                  null comment '姓名',
    C             double(11, 2) default 0.00    null comment '网格签到巡片情况基础分值',
    D             int           default 0       null comment '网格签到巡片情况不合格人员数',
    E             double(11, 2) default 0.00    null comment '网格签到巡片情况不合格扣分',
    F             double(11, 2) default 0.00    null comment '网格案件调度情况基础分值',
    G             int           default 0       null comment '案件报送数量不合格人员数',
    H             double(11, 2) default 0.00    null comment '案件报送数量不合格扣分',
    I             double(11, 2) default 0.00    null comment '案件受理过程质量没完成办理流程',
    reasonI       varchar(255)                  null comment '案件受理过程质量没完成办理流程原因',
    J             double(11, 2) default 0.00    null comment '案件受理过程质量未上报案件造成严重影响',
    reasonJ       varchar(255)                  null comment '案件受理过程质量未上报案件造成严重影响原因',
    K             double(11, 2) default 0.00    null comment '案件受理过程质量其它情况',
    reasonK       varchar(255)                  null comment '案件受理过程质量其它情况原因',
    L             double(11, 2) default 0.00    null comment '网格案件调度情况网格案件调度情况得分',
    M             double(11, 2) default 0.00    null comment '网格工作季度考核',
    reasonM       varchar(255)                  null comment '网格工作季度考核原因',
    N             double(11, 2) default 0.00    null comment '总得分',
    O             double(11, 2) default 4000.00 null comment '应发绩效工资（元）',
    P             double(11, 2) default 0.00    null comment '实发绩效工资（元）',
    gmt_modified  datetime                      null comment '修改时间',
    modifier      char(36)                      null comment '修改人'
)
    comment '3级网格长季度考核';

create table kpi_khxz_zf_ga
(
    id            bigint unsigned auto_increment
        primary key,
    department_id char(36)                      null comment '部门ID',
    user_id       char(36)                      null comment '专管员ID',
    user_username varchar(255)                  null comment '用户名',
    kh_year       int                           null comment '考核年度',
    kh_month      int                           null comment '考核月份',
    B             varchar(255)                  null comment '姓名',
    C             double(11, 2) default 0.00    null comment '巡片签到（100分）',
    D             int           default 0       null comment '办结未验收',
    E             int           default 0       null comment '办结并验收',
    F             double(11, 2) default 0.00    null comment '案件奖励（元）',
    G             double(11, 2) default 0.00    null comment '未在规定的时限内退单，影响处置时效',
    reasonG       varchar(255)                  null comment '未在规定的时限内退单，影响处置时效原因',
    H             double(11, 2) default 0.00    null comment '自行上报案件未完成办理',
    reasonH       varchar(255)                  null comment '自行上报案件未完成办理原因',
    I             double(11, 2) default 0.00    null comment '未办理案件造成严重影响',
    reasonI       varchar(255)                  null comment '未办理案件造成严重影响原因',
    J             double(11, 2) default 0.00    null comment '其它情况',
    reasonJ       varchar(255)                  null comment '其它情况原因',
    K             double(11, 2) default 0.00    null comment '处理情况',
    reasonK       varchar(255)                  null comment '处理情况原因',
    L             double(11, 2) default 0.00    null comment '督察案件',
    reasonL       varchar(255)                  null comment '督察案件原因',
    M             double(11, 2)                 null comment '总得分',
    N             double(11, 2) default 3000.00 null comment '应发绩效工资（元）',
    O             double(11, 2) default 0.00    null comment '实发绩效工资（元）',
    gmt_modified  datetime                      null comment '修改时间',
    modifier      char(36)                      null comment '修改人'
)
    comment '执法局公安局考核细则';

create table kpi_khxz_znbm
(
    id            bigint unsigned auto_increment
        primary key,
    department_id char(36)                      null comment '部门ID',
    user_id       char(36)                      null comment '用户ID',
    user_username varchar(255)                  null comment '用户名',
    kh_year       int                           null comment '考核年度',
    kh_month      int                           null comment '考核月份',
    B             varchar(255)                  null comment '姓名',
    C             int           default 0       null comment '案件办理得分与奖励金额案件总数',
    D             int           default 0       null comment '案件办理得分与奖励金额办结并验收',
    E             int           default 0       null comment '案件办理得分与奖励金额办结未验收',
    F             double(11, 2) default 0.00    null comment '案件办理得分与奖励金额案件积分奖励（元）',
    G             double(11, 2) default 0.00    null comment '案件办理得分与奖励金额得分',
    H             double(11, 2) default 0.00    null comment '案件受理数量及过程质量未在规定的时限内退单，影响处置时效',
    reasonH       varchar(255)                  null comment '案件受理数量及过程质量未在规定的时限内退单，影响处置时效原因',
    I             int           default 0       null comment '案件受理数量及过程质量自行上报案件没完成',
    J             double(11, 2) default 0.00    null comment '案件受理数量及过程质量自行上报案件没完成扣分',
    K             double(11, 2) default 0.00    null comment '案件受理数量及过程质量其它情况',
    reasonK       varchar(255)                  null comment '案件受理数量及过程质量其它情况原因',
    L             double(11, 2) default 0.00    null comment '处理情况',
    reasonL       varchar(255)                  null comment '处理情况原因',
    M             double(11, 2) default 0.00    null comment '督察案件',
    reasonM       varchar(255)                  null comment '督察案件原因',
    N             double(11, 2) default 0.00    null comment '总得分',
    O             double(11, 2) default 3000.00 null comment '应发绩效工资（元）',
    P             double(11, 2) default 0.00    null comment '实发绩效工资（元）',
    gmt_modified  datetime                      null comment '修改时间',
    modifier      char(36)                      null comment '修改人'
);

create table kpi_n_person
(
    id               bigint unsigned auto_increment
        primary key,
    user_id          char(36)                   null,
    day_date         date                       null,
    is_signin        tinyint(1)    default 0    null,
    is_signin_late   tinyint(1)    default 0    null,
    is_signout       tinyint(1)    default 0    null,
    is_signout_early tinyint(1)    default 0    null,
    work_distance    double(11, 2) default 0.00 null comment '工作轨迹',
    is_holiday       int(1)        default 0    null comment '是否假期',
    day_score        double(11, 2) default 0.00 null comment '日得分'
);

