# FMS 业务表设计 ## 往来单位(合作伙伴) ```sql 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; ```