Files
workspace/code/fms/FMS业务表设计.md
T
2026-09-14 17:28:20 +08:00

5.8 KiB

FMS 业务表设计

往来单位(合作伙伴)

create table dbo.b_othercompany (
    b_id            bigint        not null primary key,
    b_ywid          varchar(50)   not null,
    b_pycode        nvarchar(50)  null,
    b_type          varchar(200)  null,
    b_name          nvarchar(500) null,
    b_shortname     nvarchar(50)  null,
    b_linkman       nvarchar(200) null,
    b_phone         nvarchar(500) null,
    b_addr          nvarchar(500) null,
    b_firstlinkdate datetime      null,
    b_htno          varchar(50)   null,
    b_htdate        date          null,
    b_htexpiredate  date          null,
    b_black         tinyint       not null default 0,
    b_canuse        tinyint       not null default 0,
    b_zl            int           null,
    b_tel           nvarchar(50)  null,
    b_fax           nvarchar(500) null,
    b_www           varchar(50)   null,
    b_email         varchar(50)   null,
    b_bankacount    nvarchar(500) null,
    b_invaccount    nvarchar(500) null,
    b_cate_id       varchar(150)  null,
    b_bz1           nvarchar(500) null,
    b_bz2           nvarchar(500) null,
    b_bz3           nvarchar(500) null,
    b_bz4           nvarchar(500) null,
    b_province      nvarchar(50)  null,
    b_city          nvarchar(50)  null,
    b_area          nvarchar(50)  null,
    b_country       nvarchar(50)  null,
    b_edicode       varchar(50)   null,
    b_showcolor     int           null,
    b_type_id       nvarchar(200) null,
    b_from_id       nvarchar(50)  null,
    b_type1_id      nvarchar(50)  null,
    b_type2_id      nvarchar(50)  null,
    b_type3_id      nvarchar(50)  null,
    b_type4_id      nvarchar(50)  null,
    b_type5_id      nvarchar(50)  null,
    b_owner_id      varchar(50)   null,
    b_created_by    varchar(50)   null,
    b_created_at    datetime2     null,
    b_updated_by    varchar(50)   null,
    b_updated_at    datetime2     null,
    b_password      varchar(50)   null,
    b_state         nvarchar(50)  null,
    b_bankacount_e  varchar(500)  null,
    b_addr_e        varchar(500)  null,
    b_name_e        nvarchar(500) null
);

create unique index ux_b_othercompany_ywid on dbo.b_othercompany (b_ywid);
create index ix_b_othercompany_cate on dbo.b_othercompany (b_cate_id, b_canuse, b_id);
create index ix_b_othercompany_name on dbo.b_othercompany (b_name, b_canuse, b_id);

create table dbo.b_othercompany_partner_type (
    b_id          varchar(50)  not null primary key,
    b_name        nvarchar(50) null,
    b_i18n        varchar(150) null,
    b_canuse      tinyint      not null default 1,
    b_xh          int          not null default 0,
    b_bz          nvarchar(50) null,
    b_created_by  varchar(50)  null,
    b_created_at  datetime2    null,
    b_updated_by  varchar(50)  null,
    b_updated_at  datetime2    null
);

create table dbo.b_othercompany_bmfl (
    b_id          varchar(150)  not null primary key,
    b_parent_id   varchar(150)  null,
    b_depth       int           not null default 0,
    b_path        varchar(1000) not null,
    b_name        nvarchar(200) not null,
    b_i18n        varchar(150)  null,
    b_canuse      tinyint       not null default 1,
    b_xh          int           not null default 0,
    b_created_by  varchar(50)   null,
    b_created_at  datetime2     null,
    b_updated_by  varchar(50)   null,
    b_updated_at  datetime2     null
);

create index ix_b_othercompany_bmfl_parent
    on dbo.b_othercompany_bmfl (b_parent_id, b_canuse, b_depth, b_xh, b_id);
create index ix_b_othercompany_bmfl_path
    on dbo.b_othercompany_bmfl (b_path, b_canuse, b_id);

create table dbo.b_grade (
    b_id          varchar(50)  not null primary key,
    b_name        nvarchar(50) null,
    b_i18n        varchar(150) null,
    b_canuse      tinyint      not null default 1,
    b_xh          int          not null default 0,
    b_bz          nvarchar(50) null,
    b_created_by  varchar(50)  null,
    b_created_at  datetime2    null,
    b_updated_by  varchar(50)  null,
    b_updated_at  datetime2    null
);

create table dbo.b_from (
    b_id          varchar(50)  not null primary key,
    b_name        nvarchar(50) null,
    b_i18n        varchar(150) null,
    b_canuse      tinyint      not null default 1,
    b_xh          int          not null default 0,
    b_bz          nvarchar(50) null,
    b_created_by  varchar(50)  null,
    b_created_at  datetime2    null,
    b_updated_by  varchar(50)  null,
    b_updated_at  datetime2    null
);

create table dbo.b_othercompany_accountbank (
    subid          bigint        not null primary key,
    mx_xh          int           null,
    father         bigint        null,
    mx_bank        nvarchar(800) null,
    mx_bz1         nvarchar(200) null,
    mx_created_by  varchar(50)   null,
    mx_created_at  datetime2     null,
    mx_updated_by  varchar(50)   null,
    mx_updated_at  datetime2     null
);

create index ix_b_othercompany_accountbank_father
    on dbo.b_othercompany_accountbank (father, mx_xh, subid);

create or alter view dbo.v_b_othercompany as
select o.b_id, o.b_ywid, o.b_pycode, o.b_type, o.b_name, o.b_shortname,
       o.b_linkman, o.b_phone, o.b_addr, o.b_firstlinkdate,
       o.b_htno, o.b_htdate, o.b_htexpiredate, o.b_black, o.b_canuse,
       o.b_zl, o.b_tel, o.b_fax, o.b_www, o.b_email,
       o.b_bankacount, o.b_invaccount, o.b_cate_id,
       o.b_bz1, o.b_bz2, o.b_bz3, o.b_bz4,
       o.b_province, o.b_city, o.b_area, o.b_country,
       o.b_edicode, o.b_showcolor, o.b_type_id, o.b_from_id,
       o.b_type1_id, o.b_type2_id, o.b_type3_id, o.b_type4_id, o.b_type5_id,
       o.b_owner_id, o.b_created_by, o.b_created_at,
       o.b_updated_by, o.b_updated_at,
       o.b_password, o.b_state,
       o.b_bankacount_e, o.b_addr_e, o.b_name_e,
       u.b_name as v_ownername
from dbo.b_othercompany o
         left join dbo.b_user u on u.b_id = o.b_owner_id;