# 服装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;