Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

dw_retail_document.md 6.4KB

服装ERP零售单据表创建提示词

核心需求

基于服装行业ERP系统,创建统一的零售单据表,包含销售、退货、盘点、调拨、入库等所有业务单据,并完整记录交易明细。

表基本信息

  • 表名: dw_retail_document
  • 模型名: DWRetailDocument
  • 表注释: 零售单据主表 - 统一管理所有零售业务单据
  • 开发框架: Go + GORM

必需字段列表

1. 单据主信息

  • document_id - 单据ID (主键,全局唯一)
  • document_no - 单据编号 (业务可见编号,如XS202401010001)
  • document_type - 单据类型:
    • SALE: 销售单
    • RETURN: 退货单
    • STOCKTAKE: 盘点单
    • TRANSFER_IN: 调拨入库单
    • TRANSFER_OUT: 调拨出库单
    • PURCHASE_IN: 采购入库单
    • ADJUST_IN: 调整入库单
    • ADJUST_OUT: 调整出库单
    • ALLOCATION: 配货单
  • document_status - 单据状态:
    • DRAFT: 草稿
    • PENDING: 待审核
    • APPROVED: 已审核
    • COMPLETED: 已完成
    • CANCELLED: 已取消

2. 业务关联

  • shop_id - 店铺ID
  • shop_code - 店铺编码
  • shop_name - 店铺名称
  • related_shop_id - 关联店铺ID (调拨、配货时使用)
  • related_shop_code - 关联店铺编码
  • related_shop_name - 关联店铺名称
  • supplier_id - 供应商ID (采购入库时使用)

3. 会员与促销信息

  • member_id - 会员ID
  • member_code - 会员卡号
  • member_name - 会员姓名
  • member_level - 会员等级
  • is_member_sale - 是否会员消费 (0否/1是)
  • promotion_id - 促销活动ID
  • promotion_code - 促销活动编码
  • promotion_name - 促销活动名称
  • promotion_type - 促销类型 (DISCOUNT折扣/COUPON优惠券/GIFT赠品/PACKAGE套餐)
  • promotion_desc - 促销描述

4. 商品信息

  • product_id - 商品ID
  • product_code - 商品编码
  • product_name - 商品名称
  • color_code - 颜色编码
  • color_name - 颜色名称
  • size_code - 尺码编码
  • size_name - 尺码名称
  • sku_code - SKU编码 (商品+颜色+尺码唯一编码)
  • style_code - 款式编码
  • season_code - 季节代码 (SS/FW)
  • year - 年份

5. 价格与金额信息(核心交易信息)

  • quantity - 销售数量 (正数表示入库/增加,负数表示出库/减少)
  • tag_price - 吊牌价/建议零售价
  • cost_price - 成本价
  • original_price - 原售价 (促销前的价格)
  • discount_rate - 折扣率 (0-1,如8折为0.8)
  • discount_amount - 折扣金额 (单件商品折扣金额)
  • final_price - 成交价/实售价 (最终销售单价)
  • line_amount - 行金额 (quantity * final_price)
  • line_cost - 行成本 (quantity * cost_price)
  • line_gross_margin - 行毛利率 ((final_price - cost_price) / final_price)

6. 单据汇总信息

  • total_quantity - 总数量 (绝对值)
  • total_tag_amount - 吊牌价总金额
  • total_cost_amount - 成本总金额
  • total_discount_amount - 总折扣金额
  • total_final_amount - 成交总金额
  • total_gross_margin - 总毛利率
  • total_items - 商品种类数

7. 支付与交易信息

  • transaction_date - 业务发生日期
  • transaction_time - 业务发生时间
  • operator_id - 操作员ID
  • operator_name - 操作员姓名
  • cashier_id - 收银员ID
  • cashier_name - 收银员姓名
  • payment_method - 支付方式 (CASH/ALIPAY/WECHAT/CREDIT_CARD/UNIONPAY)
  • payment_status - 支付状态 (UNPAID/PARTIAL/PAID/REFUNDED)
  • invoice_no - 发票号码
  • reference_no - 参考单号 (如退货对应原销售单号)

8. 审核与状态

  • approver_id - 审核人ID
  • approver_name - 审核人姓名
  • approve_time - 审核时间
  • remark - 备注

9. 时间信息

  • created_at - 创建时间
  • updated_at - 更新时间
  • data_date - 数据日期 (数据仓库快照)
  • sync_batch - 同步批次号

索引要求

  • 主键: document_id
  • 唯一索引: document_no
  • 普通索引:
    • document_type
    • document_status
    • shop_id
    • member_id
    • product_id
    • sku_code
    • transaction_date
    • promotion_id
  • 复合索引:
    • (shop_id, transaction_date, document_type) - 店铺日销售查询
    • (member_id, transaction_date) - 会员消费记录
    • (product_id, shop_id, transaction_date) - 商品销售追踪
    • (document_type, document_status, transaction_date) - 单据状态监控

特别说明

  1. 完整价格链条: 吊牌价→原售价→折扣→成交价,完整记录价格变化
  2. 会员关联: 记录会员信息,支持会员消费分析
  3. 促销追溯: 记录促销活动,分析促销效果
  4. 毛利率计算: 支持单品毛利率和单笔交易毛利率分析
  5. 正负数设计: quantity正负表示库存增减方向
  6. 合并设计: 所有单据类型统一存储,便于全链路分析

业务场景示例

```sql -- 1. 会员消费分析 SELECT member_level,

   COUNT(DISTINCT member_id) as member_count,
   SUM(total_final_amount) as total_sales,
   AVG(total_final_amount) as avg_basket_size

FROM dw_retail_document WHERE document_type = ‘SALE’ AND is_member_sale = 1 AND transaction_date BETWEEN ‘2024-01-01’ AND ‘2024-01-31’ GROUP BY member_level;

-- 2. 促销效果分析 SELECT promotion_name,

   promotion_type,
   COUNT(DISTINCT document_id) as order_count,
   SUM(total_quantity) as total_qty,
   SUM(total_final_amount) as total_sales,
   AVG(discount_rate) as avg_discount

FROM dw_retail_document WHERE document_type = ‘SALE’ AND promotion_id IS NOT NULL GROUP BY promotion_id, promotion_name, promotion_type;

-- 3. 商品价格分析 SELECT product_code, product_name,

   AVG(tag_price) as avg_tag_price,
   AVG(final_price) as avg_final_price,
   AVG(discount_rate) as avg_discount_rate,
   AVG(line_gross_margin) as avg_gross_margin

FROM dw_retail_document WHERE document_type = ‘SALE’ GROUP BY product_id, product_code, product_name;

-- 4. 店铺销售日报 SELECT shop_code, shop_name,

   COUNT(DISTINCT document_id) as order_count,
   SUM(total_quantity) as total_qty,
   SUM(total_final_amount) as total_sales,
   SUM(total_cost_amount) as total_cost,
   SUM(total_final_amount - total_cost_amount) as total_gross_profit

FROM dw_retail_document WHERE document_type = ‘SALE’ AND document_status = ‘COMPLETED’ AND transaction_date = ‘2024-01-01’ GROUP BY shop_id, shop_code, shop_name;