--- name: bill-inventory-count description: 库存盘点单据表 - 记录库存盘点业务数据,包括盘赢和盘亏 license: MIT compatibility: opencode metadata: category: database domain: retail-erp table_type: transaction business_type: inventory --- # 库存盘点单据表 (bill_inventory_count) ## 表信息 - **表名**: bill_inventory_count - **主键**: id - **时间字段**: created_at, updated_at, sure_date, data_date - **查询日期字段**: sure_date (默认查询日期字段) ## 关键字段 | 字段名 | 数据类型 | 查询用途 | |--------|----------|----------| | id | varchar(50) | 主键ID | | tenant_id | varchar(50) | 租户ID,必须包含在查询条件中 | | bill_id | varchar(50) | 单据编号 | | bill_type | varchar(20) | 单据类型:INVENTORY_CHECK盘点 | | bill_status | varchar(20) | 单据状态:DRAFT/COUNTING/REVIEWED/APPROVED/ADJUSTED/CANCELLED | | check_type | int | 盘点类型:1盘赢/2盘亏 | | store_id | varchar(50) | 店铺ID,关联master_store | | company_id | varchar(50) | 公司ID,关联master_company | | product_id | varchar(50) | 商品ID,关联master_product | | settlement_qty | decimal(12,4) | 结算数量,盘点差异数量 | | settlement_price | decimal(12,2) | 结算单价 | | discount_rate | decimal(5,4) | 折扣率 | | settlement_amount | decimal(12,2) | 结算金额 = qty × price × (1 - discount_rate) | | sure_status | int | 登账标识:0草稿/1已登账,查询必须为1 | | sure_date | date | 登账日期,默认查询日期字段 | | data_date | date | 数据日期(数据仓库快照) | | created_at | datetime | 创建时间 | ## 关联关系 - **父表关联**: - store_id → master_store.stor_id (盘点店铺) - company_id → master_company.id (所属公司) - product_id → master_product.product_id (盘点商品) ## 在查询拆解中的角色 - **查询部分**:可查询盘点数量、盘点金额、盘点类型(盘赢/盘亏)等业务指标 - **where部分**:可通过关联的店铺、商品、公司字段进行筛选,时间条件默认使用sure_date - **from部分**:作为盘点数据的主表,需关联档案表获取维度信息 - **汇总部分**:可按店铺、商品、时间、盘点类型等维度汇总盘点数据 - **排序部分**:通常按盘点金额、盘点数量或时间排序 ## 关键查询规则 1. **租户隔离**: 必须包含tenant_id条件 2. **单据状态**: 必须检查sure_status=1 (已登账数据) 3. **时间字段**: 查询日期默认使用sure_date字段 4. **关联完整性**: 必须正确关联店铺、商品、公司档案表 5. **盘点类型**: check_type=1表示盘赢,check_type=2表示盘亏 ## 多步骤查询支持 - 可作为数据源表,创建中间表保存盘点明细数据 - 支持创建中间表格式:{user_id}_{datetime}_step{n}_inventory_count - 中间表关键字段:id, bill_id, store_id, product_id, check_type, settlement_qty, settlement_amount, sure_date - 通常作为查询的最后几步,先筛选档案数据再关联本表