Ei kuvausta
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SKILL.md 5.3KB


name: master-company description: 公司主数据表 - 存储法人实体信息,包含公司类型、层级、联系信息和财务账户,用于结算、管理和维度分析 license: MIT compatibility: opencode metadata: category: database domain: retail-erp

table_type: master

公司主数据表 (master_company)

表信息

  • 表名: master_company
  • 主键: id
  • 时间字段: created_at, updated_at
  • 查询日期字段: (不适用,主数据表)

关键字段

字段名 数据类型 查询用途
id varchar(50) 公司ID,主键标识
type varchar(30) 公司类型编码,关联master_company_dimension(type=‘company_type’)
code varchar(50) 公司编码,唯一标识
name varchar(200) 公司名称,支持模糊查询
short_name varchar(100) 公司简称,用于快速识别
english_name varchar(200) 英文名称,用于国际化查询
parent_id varchar(50) 上级公司ID,支持公司树结构
level int 公司层级:1集团/2子公司/3分公司
tax_id varchar(30) 税号/统一社会信用代码,用于税务查询
legal_representative varchar(50) 法定代表人,用于法律查询
contact_person varchar(50) 联系人,用于业务对接查询
contact_phone varchar(20) 联系电话,用于联系信息查询
email varchar(100) 邮箱,用于通讯查询
address varchar(500) 公司地址,用于地理位置查询
bank_name varchar(100) 开户银行,用于财务查询
bank_account varchar(50) 银行账号,用于结算查询
account_holder varchar(100) 账户持有人,用于账户验证
status varchar(20) 公司状态:ACTIVE/INACTIVE
is_active bool 是否激活,用于有效公司筛选
remark text 备注信息,用于特殊说明查询
extra_properties json 扩展属性JSON,用于存储自定义字段
created_at datetime 创建时间,用于时间序列分析
updated_at datetime 更新时间,用于数据变更跟踪

关联关系

  • 自关联: parent_id → 本表.id (上级公司)
  • 被关联:
    • master_store.company_id → 本表.id (店铺所属公司)
    • bill_*.company_id → 本表.id (单据所属公司)
    • bill_*.from_company_id → 本表.id (发货方公司)
    • bill_*.to_company_id → 本表.id (收货方公司)

维度字段说明

  • type字段存储公司类型编码,如’SUPPLIER’、’SUBSIDIARY’等
  • 该字段不需要外键关联,直接存储维度表的code值
  • 查询时可直接使用编码值进行筛选
  • 维度表master_company_dimension作为独立数据字典,提供编码与名称的映射关系

在查询拆解中的角色

  • where部分:用于公司范围筛选,用户提到的公司条件映射到本表字段,type字段可直接使用编码值筛选
  • from部分:可作为主表查询公司信息,或作为关联表提供公司维度
  • 汇总部分:可按type、level、status等字段分组统计公司数量

维度默认值参考

以下为公司维度表的固定分类编码,用于理解业务含义和构建查询条件:

公司类型 (company_type)

编码 名称 描述
SUPPLIER 供应商 商品供应商,提供采购商品
SUBSIDIARY 子公司 集团下属子公司
AGENT 代理商 品牌代理商,负责区域销售
WHOLESALER 批发商 批发销售商,批量采购销售
GROUP 集团 集团公司总部
FRANCHISEE 加盟商 品牌加盟商
CUSTOMER 客户 终端客户
LOGISTICS 物流商 物流运输服务商

其他维度说明

  • 行业(industry):可通过master_company_dimension表扩展,type=‘industry’
  • 规模(scale):可通过master_company_dimension表扩展,type=‘scale’
  • 区域(region):可通过master_company_dimension表扩展,type=‘region’

使用说明

  • type字段直接存储公司类型编码,无需外键关联
  • WHERE条件示例:WHERE type IN ('SUPPLIER', 'SUBSIDIARY')
  • 对于扩展维度(industry、scale等),可通过维度表独立查询,但不需要与公司表关联
  • 维度表作为独立数据字典,提供编码与名称的映射关系

多步骤查询支持

  • 类型筛选优先:复杂查询建议先筛选公司类型,再关联公司数据
  • 中间表创建:可作为筛选条件的源表,创建中间表保存筛选的公司ID
  • 中间表格式:{userid}{datetime}_step{n}_filtered_companies
  • 中间表关键字段:id, code, name, type, level, status, parent_id
  • 类型筛选步骤
    1. 直接使用type编码筛选公司:WHERE type IN (‘SUPPLIER’, ‘AGENT’)
    2. 如需获取类型名称:可单独查询master_company_dimension表,但不需要与公司表关联
    3. 创建中间表保存筛选结果
    4. 关联业务数据:用中间表公司ID关联查询店铺、销售等业务数据
  • 示例流程:用户查询”所有供应商和代理商的店铺销售数据” →
    1. 筛选type IN (‘SUPPLIER’, ‘AGENT’)
    2. 创建中间表包含符合条件的公司ID
    3. 用中间表关联master_store获取相关店铺
    4. 用店铺ID关联bill_sales_retail查询销售数据
  • 层级查询:支持按公司层级(level)和父公司(parent_id)进行树状结构查询