【竞品与研究】悦厚 SCP 仓配版详细开发说明文档及数据库表结构数据字典(一)---升鲜宝生鲜配送供应链管理系统源代码服务
悦厚 SCP 仓配版
详细开发说明文档及数据库表结构数据字典
基于《悦厚SCP系统帮助中心》仓配版帮助资料整理 / 反推 / 参考设计
版本:V1.0 适用对象:产品经理、架构师、后端开发、前端开发、测试、实施顾问
说明:本文的数据表结构为竞品分析反推版与开发参考版,不代表悦厚官方内部真实数据库结构。
目录
- 一、文档说明与设计边界
- 二、悦厚 SCP 仓配版业务总览
- 三、端口与角色设计
- 四、核心业务流程与状态流
- 五、模块开发说明
- 六、核心 E-R 图
- 七、数据库表结构总览
- 八、数据库表结构数据字典
- 九、接口与实现建议
- 十、实施落地风险与升鲜宝参考建议
- 附录:帮助中心资料依据
一、文档说明与设计边界
|-----------------------------------------------------------------------------------------------------------|
| **重要声明:**本文基于《悦厚SCP系统帮助中心》中的仓配版帮助文档、版本说明和拓展应用文档进行产品分析与开发设计反推。文档中的数据库表、字段、索引、E-R 图均为开发参考版,不代表悦厚官方内部真实 DDL。 |
本文目标不是复刻悦厚系统源码,而是把悦厚 SCP 仓配版公开帮助资料中体现出的业务能力,转换成可供升鲜宝或类似生鲜供应链系统参考的模块设计、流程设计、数据库设计和开发落地说明。
|--------|-----------------------------------------------------------------------|
| 维度 | 说明 |
| 资料来源 | 上传 ZIP 中的仓配版系统使用帮助、SCP仓配版配置总览、新手入门、拓展应用、版本更新等。 |
| 设计范围 | 仓配版核心:商品、客户、商城、订单、采购、仓库、分拣、配送、财务、报表、基础设置、硬件与开放接口。 |
| 不包含范围 | 央厨净菜加工、平台供应商入驻、商超/农批收银、总分公司模式仅作为接口边界参考,不展开完整 DDL。 |
| 数据库口径 | 以 MySQL 8.0 设计为目标,采用 bigint 主键、decimal 金额与数量、状态枚举、创建/修改/删除审计字段。 |
| 开发口径 | 建议采用 Spring Boot + MyBatis-Plus + MySQL + Redis + 定时任务 + APP/小程序多端接口。 |
二、悦厚 SCP 仓配版业务总览
仓配版的业务主线是:客户商城下单或后台代下单后,订单进入审核、汇总、采购、仓库、分拣、配送、财务对账。系统尤其强调生鲜行业中的客户差异价、实际称重分拣、下单数与收货数差异处理、客户余额/账期/货到付款、供应商采购与库存成本联动。
|---------|-------------------------------------------|---------------------------------|
| 业务域 | 核心功能 | 影响的下游模块 |
| 商品与报价 | 分类、单位、多规格、多单位、报价单、客户价、群体价、分仓群体价、促销价、可售库存。 | 商城展示、订单价格、采购供应品、分拣标签、库存成本、报表毛利。 |
| 客户中心 | 客户资料、客户群体、客户区域、支付方式、主子账号、商品屏蔽、常用商品。 | 商城可见范围、价格策略、订单归仓、配送线路、财务账期。 |
| 商城端 | 客户下单、购物车、配送时间、起送金额、配送费、协议、微信客服。 | 订单生成、支付、库存锁定、客户对账。 |
| 订单中心 | 审核、改单、合并订单、订单汇总、出库、发货、核准、退货退款、差异款处理。 | 采购、分拣、配送、库存、财务。 |
| 采购中心 | 智能采购、订单采购、手工采购、分拣缺货采购、采购实际录入、收货入库。 | 库存增加、成本变化、供应商应付。 |
| 仓库库存 | 期初、入库、出库、库存、批次、盘点、报损报溢、多仓调拨、打包拆解、成本调整。 | 分拣可出库、财务毛利、库存预警、批次追溯。 |
| 分拣中心 | PC分拣、APP称重、标签打印、分组分拣、预分拣、浮动值、缺货处理。 | 订单实际数量、出库数量、配送装车、差异款。 |
| 配送中心 | 线路、区域、司机、配送任务、扫码核货、签收、司机收款。 | 订单完成、客户应收、异常处理、司机绩效。 |
| 财务对账 | 余额、账期、货到付款、收款、退款、客户对账、采购结算。 | 客户资金、应收应付、经营报表、毛利分析。 |
三、端口与角色设计
仓配版不是单端后台系统,而是后台 PC、客户商城、仓管/分拣/配送移动端、供应商通知/商户助手、硬件设备共同驱动的多端协同系统。
|------------|-------------------------|---------------------------------------|------------------------|
| 端口 | 主要角色 | 核心操作 | 影响数据 |
| PC后台管理端 | 老板、管理员、客服、采购、仓管、财务、运营 | 配置商品、价格、客户、订单审核、采购、入库出库、财务对账、报表。 | 全量主数据与业务单据,是主控端。 |
| 客户商城/小程序 | B2B客户、客户子账号 | 浏览商品、查看客户价、加入购物车、选择配送时间、提交订单、支付、查看账单。 | 生成订单、支付记录、客户常用商品、客户资金。 |
| 掌上悦厚/移动管理端 | 老板、业务员、采购员 | 查看订单、商品、客户、采购入库、经营报表、代客下单。 | 订单、客户、采购、财务报表。 |
| 采购端/采购小程序 | 采购员 | 查看采购任务、录入实际采购数量与价格、供应商沟通。 | 采购单、采购实际、收货入库、采购成本。 |
| 仓管端/掌上仓管 | 仓管员 | 采购收货、入库、出库、盘点、扫码拣货、预分拣绑定。 | 库存、批次、库存流水、成本流水。 |
| 分拣APP/电子秤端 | 分拣员 | 接收分拣任务、称重、打印标签、处理缺货、重置分拣。 | 分拣数量、订单实际数、出库数、缺货采购。 |
| 配送APP | 司机、配送员 | 待发货、装车核货、地图配送、确认送达、签收拍照、司机收款。 | 配送任务、订单签收、收款、异常、客户应收。 |
| 供应商通知/商户助手 | 供应商 | 接收采购单、报价、供货、代分拣或直供。 | 采购单、供应商报价、采购结算。 |
| 硬件设备 | 电子秤、标签打印机、小票打印机、PDA、扫码枪 | 称重、打印标签/小票、扫码核货、云打印。 | 称重记录、标签、出入库扫描、签收单。 |
四、核心业务流程与状态流
4.1 客户下单到财务对账主流程
- 客户登录商城或后台代下单。
- 系统按客户、群体、区域、仓库、促销等规则计算价格。
- 订单提交后进入待审核或直接待分拣。
- 订单汇总生成采购需求,采购入库后增加库存并更新成本。
- 分拣员按订单、商品或线路称重分拣,实际数量回写订单。
- 出库扣减库存,生成发货与配送任务。
- 司机装车核货、配送签收、司机收款或客户确认收货。
- 系统根据实际收货数量、支付方式、差异款规则生成应收、退款、余额流水、对账单。
4.2 订单状态流
- 待提交/已提交:商城购物车生成订单。
- 待审核/已审核:根据订单流程设置决定是否人工审核。
- 待分拣/分拣中/已分拣/缺货:由分拣任务驱动。
- 待出库/已出库:库存管理开启时必须出库。
- 待发货/配送中/已送达/已签收:由配送APP或后台发货驱动。
- 待核准/已核准:出库后需要修改发货数或单价时进入核准。
- 已完成/已取消/异常/退货中:财务与售后收口。
4.3 采购状态流
- 待生成:订单汇总或缺货形成采购需求。
- 待采购:采购单创建并分配供应商。
- 采购中:采购员录入实际采购数和采购价。
- 待收货:采购完成等待仓管收货。
- 已收货/部分收货:仓管确认到货数量。
- 已入库:生成入库单并写库存流水、成本流水。
- 待结算/已结算:形成供应商应付并核销。
4.4 库存成本状态流
- 期初库存作为库存和成本初始值。
- 采购入库增加库存数量和库存金额,按移动加权计算成本价。
- 销售出库按当前成本价扣减库存金额。
- 盘点差异生成报损/报溢,影响库存与成本。
- 调拨在调出仓扣减,在调入仓增加,可保持原成本或按规则重算。
- 成本调整直接记录成本流水,不应只改实时库存表。
4.5 分拣与差异款流程
- 客户下单数量是预估数量。
- 分拣 APP 称重得到实际分拣数量。
- 实际分拣数量可能高于或低于下单数量,可通过浮动值控制。
- 出库和发货以实际分拣数或核准数为准。
- 客户签收数量若再次变化,则形成收货差异。
- 不同支付方式下,差异款分别进入余额退款、余额扣款、欠款或账期应收。
五、模块开发说明
商品与报价模块
商品分类、单位、SPU/SKU、多单位、多条码、客户报价单、群体价、分仓群体价、促销价、供应品关系。
|----------|----------------------------------------------------|
| 开发要点 | 说明 |
| 要点1 | 商品删除必须校验是否产生订单、采购、库存、分拣、报价等业务引用。 |
| 要点2 | 价格计算必须保留价格来源快照,避免后续改价影响历史订单。 |
| 要点3 | 报价优先级建议为:促销价 > 客户价 > 分仓群体价 > 群体价 > 商城价 > 默认价。 |
| 要点4 | 称重商品必须明确基础单位、销售单位、分拣单位和换算关系。 |
关联表:scp_goods_category、scp_unit、scp_goods、scp_goods_spec、scp_goods_unit、scp_price_quote、scp_price_quote_item、scp_customer_price、scp_group_price、scp_warehouse_group_price、scp_promotion_price
客户与商城模块
客户资料、客户群体、客户区域、支付方式、商品屏蔽、常用商品、主子账号、购物车、配送时间、起送金额。
|----------|-------------------------------|
| 开发要点 | 说明 |
| 要点1 | 客户群体影响价格、促销和商品可见范围。 |
| 要点2 | 客户区域影响默认仓库、配送线路、供应商直供区域价。 |
| 要点3 | 客户支付方式必须在下单时校验,特别是账期、余额和货到付款。 |
| 要点4 | 白名单模式下,客户只能看到报价单或可见范围内商品。 |
关联表:scp_customer_group、scp_customer_area、scp_customer、scp_customer_address、scp_customer_payment_method、scp_customer_goods_scope、scp_customer_favorite_goods、scp_mall_config、scp_customer_sub_account、scp_cart、scp_cart_item
订单模块
下单、代下单、审核、改单、合并订单、订单汇总、出库、发货、核准、退货退款、差异款处理。
|----------|---------------------------------------|
| 开发要点 | 说明 |
| 要点1 | 订单明细必须保存商品、单位、价格快照。 |
| 要点2 | 出库前允许改数量和价格,出库后应通过订单核准或差异调整处理。 |
| 要点3 | 订单金额要拆分下单金额、发货金额、应付金额、已收金额、退款金额、未收金额。 |
| 要点4 | 订单状态机必须防重复审核、防重复出库、防重复生成应收。 |
关联表:scp_order、scp_order_item、scp_order_pay、scp_order_status_log、scp_order_adjust、scp_order_summary、scp_order_summary_item、scp_order_return、scp_order_return_item
采购模块
智能采购、手工采购、订单采购、分拣缺货采购、供应商报价、采购实际录入、收货入库、采购结算。
|----------|------------------------------------|
| 开发要点 | 说明 |
| 要点1 | 智能采购应按订单需求、现有库存、安全库存、采购百分比计算建议采购量。 |
| 要点2 | 供应商拆单逻辑应考虑默认供应商、客户指定供应商、供应品关系。 |
| 要点3 | 采购实际数和入库数允许不一致,入库数才影响库存。 |
| 要点4 | 采购入库必须生成库存流水、成本流水和供应商应付。 |
关联表:scp_supplier、scp_supplier_goods、scp_supplier_quote、scp_purchase_task、scp_purchase_task_item、scp_purchase_order、scp_purchase_order_item、scp_purchase_actual、scp_purchase_receipt、scp_purchase_receipt_item
仓库库存模块
期初、入库、出库、实时库存、批次、成本、盘点、报损报溢、调拨、打包拆解、成本调整。
|----------|----------------------------|
| 开发要点 | 说明 |
| 要点1 | 实时库存不能作为唯一凭证,必须通过库存流水追溯。 |
| 要点2 | 移动加权成本应由成本流水驱动,不能只覆盖库存成本价。 |
| 要点3 | 批次和负库存通常不能同时开启,批次出库必须选择批次。 |
| 要点4 | 盘点审核后应自动生成盘盈/盘亏库存调整或报损报溢。 |
关联表:scp_warehouse、scp_shelf、scp_inventory、scp_inventory_batch、scp_inventory_flow、scp_cost_flow、scp_inbound_order、scp_outbound_order、scp_stocktake、scp_loss_overflow、scp_transfer_order、scp_pack_convert_order
分拣模块
PC分拣、APP称重分拣、标签打印、分组分拣、预分拣、投筐序号、浮动值、缺货处理。
|----------|----------------------------|
| 开发要点 | 说明 |
| 要点1 | 分拣任务可以来源于订单、商品汇总、线路或预分拣包裹。 |
| 要点2 | 称重记录应独立保存,不能只保存订单最终数量。 |
| 要点3 | 缺货记录可触发采购任务或订单取消/替代。 |
| 要点4 | 分拣完成后才能生成出库和配送待发货任务。 |
关联表:scp_sorting_task、scp_sorting_task_item、scp_sorting_weigh_record、scp_sorting_label、scp_shortage_record、scp_pre_sorting_package、scp_sorting_operator_goods
配送模块
线路、区域、司机、配送任务、装车核货、地图配送、签收、异常、司机收款。
|----------|--------------------------|
| 开发要点 | 说明 |
| 要点1 | 客户区域绑定线路,线路绑定仓库和司机。 |
| 要点2 | 装车核货应校验扫描标签是否属于当前配送任务。 |
| 要点3 | 签收后更新订单配送状态、签收数量和财务应收。 |
| 要点4 | 司机收款必须生成收款单或司机收款记录并参与对账。 |
关联表:scp_delivery_route、scp_delivery_area_rel、scp_delivery_driver_rel、scp_delivery_task、scp_delivery_task_item、scp_delivery_load_scan、scp_delivery_sign、scp_driver_collection、scp_basket、scp_basket_bind
财务对账模块
余额、账期、货到付款、司机收款、应收、收款核销、退款、对账单、供应商应付与付款。
|----------|----------------------------|
| 开发要点 | 说明 |
| 要点1 | 不同支付方式差异款处理规则必须分开。 |
| 要点2 | 客户余额流水必须能追溯业务单据。 |
| 要点3 | 订单签收/确认后生成应收,取消或退货生成退款或红冲。 |
| 要点4 | 客户对账单应从应收、收款、退款、调整等明细汇总生成。 |
关联表:scp_customer_wallet、scp_customer_wallet_flow、scp_ar_bill、scp_ar_bill_item、scp_payment_receipt、scp_payment_receipt_item、scp_refund_order、scp_reconciliation_statement、scp_reconciliation_statement_item、scp_ap_bill、scp_supplier_payment
六、核心 E-R 图
以下 E-R 图为仓配版核心模块的参考关系图,强调业务关系和核心表关系,实际落地时可结合已有项目命名规范与主键策略调整。
6.1 仓配版核心总 E-R 关系图

6.2 商品与报价 E-R 图

6.3 客户与商城 E-R 图

6.4 订单中心 E-R 图

6.5 采购中心 E-R 图

6.6 仓库库存与成本 E-R 图

6.7 分拣与配送 E-R 图

6.8 财务对账 E-R 图

七、数据库表结构总览
|--------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 模块 | 表数量 | 核心表举例 |
| 基础设置 | 7 | scp_org、scp_employee、scp_role、scp_employee_role、scp_system_config、scp_operation_log、scp_print_template |
| 商品中心 | 8 | scp_goods_category、scp_unit、scp_goods、scp_goods_spec、scp_goods_unit、scp_goods_barcode、scp_goods_media、scp_goods_alias |
| 报价中心 | 7 | scp_price_quote、scp_price_quote_item、scp_customer_price、scp_group_price、scp_warehouse_group_price、scp_promotion_price、scp_price_log |
| 客户中心 | 8 | scp_customer_group、scp_customer_area、scp_customer、scp_customer_contact、scp_customer_address、scp_customer_payment_method、scp_customer_goods_scope、scp_customer_favorite_goods |
| 商城端 | 4 | scp_mall_config、scp_customer_sub_account、scp_cart、scp_cart_item |
| 订单中心 | 9 | scp_order、scp_order_item、scp_order_pay、scp_order_status_log、scp_order_adjust、scp_order_summary、scp_order_summary_item、scp_order_return...... |
| 采购中心 | 10 | scp_supplier、scp_supplier_goods、scp_supplier_quote、scp_purchase_task、scp_purchase_task_item、scp_purchase_order、scp_purchase_order_item、scp_purchase_actual...... |
| 仓库库存 | 18 | scp_warehouse、scp_shelf、scp_inventory、scp_inventory_batch、scp_inventory_flow、scp_cost_flow、scp_inbound_order、scp_inbound_order_item...... |
| 分拣中心 | 7 | scp_sorting_task、scp_sorting_task_item、scp_sorting_weigh_record、scp_sorting_label、scp_shortage_record、scp_pre_sorting_package、scp_sorting_operator_goods |
| 配送中心 | 8 | scp_delivery_route、scp_delivery_area_rel、scp_delivery_driver_rel、scp_delivery_task、scp_delivery_task_item、scp_delivery_load_scan、scp_delivery_sign、scp_driver_collection |
| 周转物 | 2 | scp_basket、scp_basket_bind |
| 财务对账 | 12 | scp_customer_wallet、scp_customer_wallet_flow、scp_ar_bill、scp_ar_bill_item、scp_payment_receipt、scp_payment_receipt_item、scp_refund_order、scp_reconciliation_statement...... |
| 报表分析 | 2 | scp_stat_sales_day、scp_warning_rule |
| 开放硬件 | 2 | scp_device、scp_api_push_log |
| **通用字段建议:**所有业务表建议统一包含:id、tenant_id/org_id、created_by、created_time、updated_by、updated_time、delete_flag、remark。为减少数据字典重复,以下表字段未逐表重复列出这些通用审计字段。 |||
八、数据库表结构数据字典
本章共列出 104 张仓配版核心参考表。字段类型以 MySQL 8.0 为参考,金额统一 decimal(18,2),单价/成本价统一 decimal(18,4/18,6),数量统一 decimal(18,4)。
8.1 基础设置
scp_org - 组织/租户表
用途:记录使用系统的企业主体,仓配版所有业务数据归属于同一组织或租户。
建议索引:uk_org_code(org_code)
|--------------|--------------|-------|--------|----------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| org_code | varchar(32) | | 是 | 组织编码 |
| org_name | varchar(128) | | 是 | 企业名称 |
| edition_type | tinyint | | 是 | 系统版本:1仓配 2平台 3央厨 4商超 |
| enabled_flag | tinyint | | 是 | 启用标记 |
| remark | varchar(500) | | 否 | 备注 |
scp_employee - 员工表
用途:员工、采购员、仓管、分拣员、配送员、销售员等统一人员档案。
建议索引:uk_employee_code(employee_code), idx_mobile(mobile)
|---------------|--------------|-------|--------|------------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 员工ID |
| employee_code | varchar(32) | | 是 | 员工编号 |
| employee_name | varchar(64) | | 是 | 员工姓名 |
| mobile | varchar(32) | | 否 | 手机号/登录绑定 |
| role_tags | varchar(255) | | 否 | 角色标签:采购员/仓管/分拣员/司机/销售员 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_role - 角色表
用途:后台与 APP 角色定义,用于控制菜单、按钮和端口权限。
建议索引:uk_role_code(role_code)
|--------------|-------------|-------|--------|----------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 角色ID |
| role_code | varchar(64) | | 是 | 角色编码 |
| role_name | varchar(64) | | 是 | 角色名称 |
| role_type | tinyint | | 是 | 角色类型:后台/商城/配送/仓管/供应商 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_employee_role - 员工角色关系表
用途:支持一个员工有多种身份。
建议索引:uk_emp_role(employee_id,role_id)
|--------------|---------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| employee_id | bigint | | 是 | 员工ID |
| role_id | bigint | | 是 | 角色ID |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_system_config - 系统配置表
用途:保存订单流程、负库存、批次、商城营业时间等全局配置。
建议索引:uk_config_key(config_key)
|--------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| config_key | varchar(128) | | 是 | 配置键 |
| config_value | text | | 否 | 配置值 |
| config_group | varchar(64) | | 否 | 配置分组 |
| description | varchar(500) | | 否 | 说明 |
scp_operation_log - 操作日志表
用途:记录改价、改单、审核、反审核、收款、入库出库等关键业务操作。
建议索引:idx_biz(module_code,biz_no), idx_operator(operator_id,operation_time)
|----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 日志ID |
| module_code | varchar(64) | | 是 | 模块编码 |
| biz_type | varchar(64) | | 是 | 业务类型 |
| biz_id | bigint | | 否 | 业务ID |
| biz_no | varchar(64) | | 否 | 业务单号 |
| operation_type | varchar(64) | | 是 | 操作类型 |
| operator_id | bigint | | 是 | 操作人ID |
| operation_time | datetime | | 是 | 操作时间 |
| content | text | | 否 | 操作内容 |
scp_print_template - 打印模板表
用途:保存分拣标签、发货单、小票、对账单等打印模板。
建议索引:uk_template_code(template_code)
|------------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 模板ID |
| template_code | varchar(64) | | 是 | 模板编码 |
| template_name | varchar(128) | | 是 | 模板名称 |
| template_type | tinyint | | 是 | 模板类型 |
| template_content | longtext | | 是 | 模板内容 |
| enabled_flag | tinyint | | 是 | 启用标记 |
8.2 商品中心
scp_goods_category - 商品分类表
用途:商品分类树,供商城展示、商品屏蔽、统计分析、采购权限使用。
建议索引:idx_parent(parent_id), uk_category_code(category_code)
|---------------|--------------|-------|--------|-----------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 分类ID |
| parent_id | bigint | | 是 | 父级ID,一级为0 |
| category_code | varchar(32) | | 是 | 分类编码 |
| category_name | varchar(128) | | 是 | 分类名称 |
| sort_no | int | | 否 | 排序 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_unit - 计量单位表
用途:系统所有单位,如斤、公斤、箱、袋、个、份。
建议索引:uk_unit_code(unit_code), uk_unit_name(unit_name)
|-----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 单位ID |
| unit_code | varchar(32) | | 是 | 单位编码 |
| unit_name | varchar(32) | | 是 | 单位名称 |
| precision_scale | int | | 是 | 数量小数位 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_goods - 商品SPU表
用途:商品主档,保存商品名称、分类、图片、上下架等基础信息。
建议索引:uk_goods_code(goods_code), idx_category(category_id)
|-------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 商品ID |
| goods_code | varchar(64) | | 是 | 商品编码 |
| goods_name | varchar(128) | | 是 | 商品名称 |
| category_id | bigint | | 是 | 分类ID |
| brand_name | varchar(64) | | 否 | 品牌/产地/供应商展示名 |
| sale_status | tinyint | | 是 | 销售状态:上架/下架 |
| delete_flag | tinyint | | 是 | 删除标记 |
scp_goods_spec - 商品规格表
用途:商品SKU/规格,如净重、规格型号、是否称重、基础单位。
建议索引:idx_goods(goods_id), uk_spec_code(spec_code)
|-------------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 规格ID |
| goods_id | bigint | | 是 | 商品ID |
| spec_code | varchar(64) | | 是 | 规格编码 |
| spec_name | varchar(128) | | 是 | 规格名称 |
| base_unit_id | bigint | | 是 | 基础单位ID |
| weigh_flag | tinyint | | 是 | 是否称重商品 |
| batch_manage_flag | tinyint | | 是 | 是否启用批次 |
| shelf_life_days | int | | 否 | 保质期天数 |
scp_goods_unit - 商品销售/分拣单位表
用途:商品最小销售、分拣、采购单位配置,支持多单位换算。
建议索引:idx_spec(goods_spec_id), uk_spec_unit(goods_spec_id,unit_id)
|-----------------|---------------|-------|--------|----------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 商品单位ID |
| goods_id | bigint | | 是 | 商品ID |
| goods_spec_id | bigint | | 是 | 规格ID |
| unit_id | bigint | | 是 | 单位ID |
| conversion_rate | decimal(18,6) | | 是 | 与基础单位换算率 |
| sale_flag | tinyint | | 是 | 是否可销售 |
| purchase_flag | tinyint | | 是 | 是否可采购 |
| pick_flag | tinyint | | 是 | 是否可分拣 |
| barcode | varchar(64) | | 否 | 默认条码 |
| default_price | decimal(18,4) | | 否 | 默认销售价 |
scp_goods_barcode - 商品条码表
用途:保存普通条码、称重码、预包装码。
建议索引:uk_barcode(barcode), idx_goods_unit(goods_unit_id)
|---------------|-------------|-------|--------|----------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 条码ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| barcode | varchar(64) | | 是 | 条码 |
| barcode_type | tinyint | | 是 | 条码类型:普通/称重/预包装 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_goods_media - 商品图片表
用途:保存商城端商品主图、详情图。
建议索引:idx_goods(goods_id)
|------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 图片ID |
| goods_id | bigint | | 是 | 商品ID |
| media_url | varchar(500) | | 是 | 图片地址 |
| media_type | tinyint | | 是 | 媒体类型 |
| sort_no | int | | 否 | 排序 |
scp_goods_alias - 客户商品名表
用途:支持为不同客户维护商品别名,便于客户识别。
建议索引:uk_customer_goods(customer_id,goods_unit_id)
|---------------|--------------|-------|--------|---------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| customer_id | bigint | | 是 | 客户ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| alias_name | varchar(128) | | 是 | 客户侧商品名称 |
| enabled_flag | tinyint | | 是 | 启用标记 |
8.3 报价中心
scp_price_quote - 商品报价单表
用途:报价单主表,承载客户报价、群体报价、商城价格的统一管理。
建议索引:uk_quote_code(quote_code), idx_scope(scope_type)
|-----------------|--------------|-------|--------|---------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 报价单ID |
| quote_code | varchar(64) | | 是 | 报价单号 |
| quote_name | varchar(128) | | 是 | 报价单名称 |
| quote_type | tinyint | | 是 | 报价类型 |
| scope_type | tinyint | | 是 | 适用范围:全局/群体/客户/区域/仓库 |
| effective_start | datetime | | 否 | 生效时间 |
| effective_end | datetime | | 否 | 失效时间 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_price_quote_item - 商品报价单明细表
用途:报价单中的商品价格、起订量、限购量等。
建议索引:uk_quote_goods(quote_id,goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| quote_id | bigint | | 是 | 报价单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| sale_price | decimal(18,4) | | 是 | 销售单价 |
| min_order_qty | decimal(18,4) | | 否 | 起订量 |
| max_order_qty | decimal(18,4) | | 否 | 限购量 |
| sort_no | int | | 否 | 排序 |
scp_customer_price - 客户专属价表
用途:指定客户的专属商品价格,优先级高于群体价和商城价。
建议索引:uk_customer_goods(customer_id,goods_unit_id,effective_start)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| customer_id | bigint | | 是 | 客户ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| price | decimal(18,4) | | 是 | 客户价 |
| effective_start | datetime | | 否 | 生效时间 |
| effective_end | datetime | | 否 | 失效时间 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_group_price - 客户群体价表
用途:按客户群体维护商品价格或折扣。
建议索引:uk_group_goods(customer_group_id,goods_unit_id)
|-------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| customer_group_id | bigint | | 是 | 客户群体ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| price | decimal(18,4) | | 否 | 群体价 |
| discount_rate | decimal(10,4) | | 否 | 折扣率 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_warehouse_group_price - 分仓群体价表
用途:同一客户群体在不同仓库下的商品价格。
建议索引:uk_wh_group_goods(warehouse_id,customer_group_id,goods_unit_id)
|-------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| customer_group_id | bigint | | 是 | 客户群体ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| price | decimal(18,4) | | 是 | 分仓群体价 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_promotion_price - 促销价表
用途:商城促销价,优先级最高。
建议索引:idx_goods_time(goods_unit_id,start_time,end_time)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 促销ID |
| promotion_name | varchar(128) | | 是 | 促销名称 |
| scope_type | tinyint | | 是 | 适用范围 |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| promotion_price | decimal(18,4) | | 是 | 促销价 |
| start_time | datetime | | 是 | 开始时间 |
| end_time | datetime | | 是 | 结束时间 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_price_log - 价格变更日志表
用途:记录客户价、群体价、报价单价、促销价等变更历史。
建议索引:idx_goods(goods_unit_id), idx_biz(price_type,biz_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 日志ID |
| price_type | tinyint | | 是 | 价格类型 |
| biz_id | bigint | | 是 | 价格记录ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| before_price | decimal(18,4) | | 否 | 变更前价格 |
| after_price | decimal(18,4) | | 否 | 变更后价格 |
| change_reason | varchar(500) | | 否 | 变更原因 |
| operator_id | bigint | | 是 | 操作人ID |
8.4 客户中心
scp_customer_group - 客户群体表
用途:客户分层,用于报价、促销、商品屏蔽、自动审核。
建议索引:uk_group_code(group_code)
|--------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 群体ID |
| group_code | varchar(32) | | 是 | 群体编码 |
| group_name | varchar(128) | | 是 | 群体名称 |
| default_flag | tinyint | | 否 | 是否默认群体 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_customer_area - 客户区域表
用途:客户配送区域,与仓库、线路、直供区域价相关。
建议索引:uk_area_code(area_code)
|--------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 区域ID |
| area_code | varchar(32) | | 是 | 区域编码 |
| area_name | varchar(128) | | 是 | 区域名称 |
| warehouse_id | bigint | | 否 | 默认仓库ID |
| route_id | bigint | | 否 | 默认线路ID |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_customer - 客户表
用途:B2B客户主档,关联群体、区域、支付方式、销售员、账期。
建议索引:uk_customer_code(customer_code), idx_group_area(customer_group_id,customer_area_id)
|-------------------|--------------|-------|--------|--------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 客户ID |
| customer_code | varchar(64) | | 是 | 客户编号 |
| customer_name | varchar(128) | | 是 | 客户名称 |
| customer_group_id | bigint | | 是 | 客户群体ID |
| customer_area_id | bigint | | 否 | 区域ID |
| salesman_id | bigint | | 否 | 销售员ID |
| settle_type | tinyint | | 是 | 结算方式:余额/账期/货到付款/微信 |
| audit_status | tinyint | | 是 | 审核状态 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_customer_contact - 客户联系人表
用途:客户联系人、电话、职务等。
建议索引:idx_customer(customer_id)
|---------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 联系人ID |
| customer_id | bigint | | 是 | 客户ID |
| contact_name | varchar(64) | | 是 | 联系人 |
| mobile | varchar(32) | | 是 | 手机号 |
| position_name | varchar(64) | | 否 | 职务 |
| default_flag | tinyint | | 是 | 是否默认 |
scp_customer_address - 客户地址表
用途:配送地址,支持地图坐标、线路排序。
建议索引:idx_customer(customer_id), idx_lng_lat(longitude,latitude)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 地址ID |
| customer_id | bigint | | 是 | 客户ID |
| receiver_name | varchar(64) | | 是 | 收货人 |
| receiver_mobile | varchar(32) | | 是 | 收货电话 |
| address_detail | varchar(500) | | 是 | 详细地址 |
| longitude | decimal(12,6) | | 否 | 经度 |
| latitude | decimal(12,6) | | 否 | 纬度 |
| default_flag | tinyint | | 是 | 默认地址 |
scp_customer_payment_method - 客户支付方式表
用途:控制客户可使用支付方式、账期和额度。
建议索引:uk_customer_pay(customer_id,pay_method)
|---------------|---------------|-------|--------|--------------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| customer_id | bigint | | 是 | 客户ID |
| pay_method | tinyint | | 是 | 支付方式:余额/微信/账期/货到付款/余额+微信 |
| credit_limit | decimal(18,2) | | 否 | 授信额度 |
| billing_cycle | varchar(64) | | 否 | 账期规则 |
| enabled_flag | tinyint | | 是 | 是否启用 |
scp_customer_goods_scope - 客户商品可见范围表
用途:控制"不让客户看部分商品"或"只让客户看特定商品"。
建议索引:idx_scope(scope_level,scope_id), idx_target(target_type,target_id)
|--------------|---------|-------|--------|---------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| scope_level | tinyint | | 是 | 范围层级:客户/群体/区域 |
| scope_id | bigint | | 是 | 范围对象ID |
| target_type | tinyint | | 是 | 目标类型:商品/分类 |
| target_id | bigint | | 是 | 目标ID |
| visible_type | tinyint | | 是 | 可见类型:黑名单/白名单 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_customer_favorite_goods - 客户常用商品表
用途:客户常用商品清单,用于商城排序、代下单和快速复购。
建议索引:uk_customer_goods(customer_id,goods_unit_id)
|---------------|---------|-------|--------|---------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| customer_id | bigint | | 是 | 客户ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| sort_no | int | | 否 | 排序 |
| source_type | tinyint | | 否 | 来源:手工/历史订单/导入 |
| enabled_flag | tinyint | | 是 | 启用标记 |
8.5 商城端
scp_mall_config - 商城配置表
用途:商城首页、运营时间、起送金额、配送费、协议等配置。
建议索引:idx_enabled(enabled_flag)
|-------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 配置ID |
| config_name | varchar(128) | | 是 | 配置名称 |
| operating_start | time | | 否 | 营业开始时间 |
| operating_end | time | | 否 | 营业结束时间 |
| min_order_amount | decimal(18,2) | | 否 | 起送金额 |
| delivery_fee_rule | text | | 否 | 配送费规则 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_customer_sub_account - 商城主子账号表
用途:一个客户主体下多个下单账号。
建议索引:uk_mobile(login_mobile), idx_customer(customer_id)
|-----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 子账号ID |
| customer_id | bigint | | 是 | 客户ID |
| login_mobile | varchar(32) | | 是 | 登录手机号 |
| account_name | varchar(64) | | 是 | 账号名称 |
| permission_json | text | | 否 | 权限配置 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_cart - 购物车表
用途:客户商城购物车主表。
建议索引:idx_customer(customer_id)
|----------------|---------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 购物车ID |
| customer_id | bigint | | 是 | 客户ID |
| sub_account_id | bigint | | 否 | 子账号ID |
| delivery_date | date | | 否 | 配送日期 |
| warehouse_id | bigint | | 否 | 发货仓库ID |
| cart_status | tinyint | | 是 | 购物车状态 |
scp_cart_item - 购物车明细表
用途:保存购物车商品数量、价格快照。
建议索引:uk_cart_goods(cart_id,goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| cart_id | bigint | | 是 | 购物车ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| quantity | decimal(18,4) | | 是 | 数量 |
| unit_price | decimal(18,4) | | 是 | 单价 |
| price_source | tinyint | | 否 | 价格来源 |
| amount | decimal(18,2) | | 是 | 金额 |
8.6 订单中心
scp_order - 订单主表
用途:客户订单主数据,承载订单状态、支付状态、分拣配送状态、金额口径。
建议索引:uk_order_no(order_no), idx_customer_date(customer_id,delivery_date), idx_status(order_status,pick_status,delivery_status)
|-------------------|---------------|-------|--------|------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 订单ID |
| order_no | varchar(64) | | 是 | 订单号 |
| customer_id | bigint | | 是 | 客户ID |
| customer_group_id | bigint | | 否 | 客户群体ID快照 |
| warehouse_id | bigint | | 是 | 发货仓库ID |
| delivery_date | date | | 是 | 配送日期 |
| address_id | bigint | | 否 | 收货地址ID |
| order_source | tinyint | | 是 | 来源:商城/代下单/导入/API |
| order_status | tinyint | | 是 | 订单状态 |
| audit_status | tinyint | | 是 | 审核状态 |
| pick_status | tinyint | | 是 | 分拣状态 |
| outbound_status | tinyint | | 是 | 出库状态 |
| delivery_status | tinyint | | 是 | 配送状态 |
| pay_status | tinyint | | 是 | 支付状态 |
| order_amount | decimal(18,2) | | 是 | 下单金额 |
| ship_amount | decimal(18,2) | | 否 | 发货金额 |
| payable_amount | decimal(18,2) | | 是 | 应付金额 |
scp_order_item - 订单明细表
用途:订单商品明细,记录下单数量、分拣数量、出库数量、签收数量和价格快照。
建议索引:idx_order(order_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| order_id | bigint | | 是 | 订单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| goods_name | varchar(128) | | 是 | 商品名称快照 |
| spec_name | varchar(128) | | 否 | 规格快照 |
| unit_name | varchar(32) | | 是 | 单位快照 |
| order_qty | decimal(18,4) | | 是 | 下单数量 |
| pick_qty | decimal(18,4) | | 否 | 分拣数量 |
| outbound_qty | decimal(18,4) | | 否 | 出库数量 |
| sign_qty | decimal(18,4) | | 否 | 签收数量 |
| unit_price | decimal(18,4) | | 是 | 单价 |
| amount | decimal(18,2) | | 是 | 下单金额 |
| ship_amount | decimal(18,2) | | 否 | 发货金额 |
| price_source | tinyint | | 否 | 价格来源 |
scp_order_pay - 订单支付表
用途:记录订单支付、退款、余额扣款、微信支付等。
建议索引:uk_pay_no(pay_no), idx_order(order_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 支付ID |
| order_id | bigint | | 是 | 订单ID |
| pay_no | varchar(64) | | 是 | 支付单号 |
| pay_method | tinyint | | 是 | 支付方式 |
| pay_amount | decimal(18,2) | | 是 | 支付金额 |
| refund_amount | decimal(18,2) | | 否 | 退款金额 |
| pay_status | tinyint | | 是 | 支付状态 |
| pay_time | datetime | | 否 | 支付时间 |
scp_order_status_log - 订单状态日志表
用途:记录审核、出库、发货、签收、取消、异常等状态变更。
建议索引:idx_order(order_id), idx_time(operation_time)
|----------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 日志ID |
| order_id | bigint | | 是 | 订单ID |
| from_status | varchar(64) | | 否 | 原状态 |
| to_status | varchar(64) | | 是 | 新状态 |
| operation_type | varchar(64) | | 是 | 操作类型 |
| operator_id | bigint | | 是 | 操作人 |
| operation_time | datetime | | 是 | 操作时间 |
| remark | varchar(500) | | 否 | 备注 |
scp_order_adjust - 订单调整表
用途:订单核准、改单、批量改价、差异款处理的调整记录。
建议索引:idx_order(order_id)
|---------------|---------------|-------|--------|----------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 调整ID |
| order_id | bigint | | 是 | 订单ID |
| adjust_type | tinyint | | 是 | 调整类型:数量/价格/金额/运费/差异款 |
| before_value | varchar(128) | | 否 | 调整前值 |
| after_value | varchar(128) | | 否 | 调整后值 |
| adjust_amount | decimal(18,2) | | 否 | 调整金额 |
| reason | varchar(500) | | 否 | 原因 |
scp_order_summary - 订单汇总表
用途:按发货日期、仓库、商品或客户生成订单汇总。
建议索引:uk_summary_no(summary_no), idx_wh_date(warehouse_id,delivery_date)
|---------------|-------------|-------|--------|---------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 汇总ID |
| summary_no | varchar(64) | | 是 | 汇总单号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| delivery_date | date | | 是 | 配送日期 |
| summary_type | tinyint | | 是 | 汇总类型:商品/客户/线路 |
| status | tinyint | | 是 | 状态 |
scp_order_summary_item - 订单汇总明细表
用途:订单汇总后的商品需求数量、分拣数量、采购建议数量。
建议索引:idx_summary(summary_id), idx_goods(goods_unit_id)
|----------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| summary_id | bigint | | 是 | 汇总ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| total_order_qty | decimal(18,4) | | 是 | 汇总下单量 |
| total_pick_qty | decimal(18,4) | | 否 | 汇总分拣量 |
| suggest_purchase_qty | decimal(18,4) | | 否 | 建议采购量 |
scp_order_return - 退货退款单主表
用途:已签收订单退货退款。
建议索引:uk_return_no(return_no), idx_order(order_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 退货单ID |
| return_no | varchar(64) | | 是 | 退货单号 |
| order_id | bigint | | 是 | 订单ID |
| customer_id | bigint | | 是 | 客户ID |
| return_status | tinyint | | 是 | 退货状态 |
| refund_status | tinyint | | 是 | 退款状态 |
| return_amount | decimal(18,2) | | 是 | 退货金额 |
scp_order_return_item - 退货退款单明细表
用途:退货商品明细及退款金额。
建议索引:idx_return(return_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| return_id | bigint | | 是 | 退货单ID |
| order_item_id | bigint | | 是 | 订单明细ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| return_qty | decimal(18,4) | | 是 | 退货数量 |
| refund_amount | decimal(18,2) | | 是 | 退款金额 |
8.7 采购中心
scp_supplier - 供应商表
用途:供应商主档,支持采购、报价、结算、商户助手通知。
建议索引:uk_supplier_code(supplier_code), idx_mobile(mobile)
|---------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 供应商ID |
| supplier_code | varchar(64) | | 是 | 供应商编号 |
| supplier_name | varchar(128) | | 是 | 供应商名称 |
| contact_name | varchar(64) | | 否 | 联系人 |
| mobile | varchar(32) | | 否 | 联系电话 |
| settle_type | tinyint | | 否 | 结算方式 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_supplier_goods - 供应品关系表
用途:供应商与商品单位关系,包含默认供应商、采购价。
建议索引:uk_supplier_goods(supplier_id,goods_unit_id), idx_goods(goods_unit_id)
|----------------|---------------|-------|--------|---------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| supplier_id | bigint | | 是 | 供应商ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| purchase_price | decimal(18,4) | | 否 | 采购价 |
| default_flag | tinyint | | 是 | 是否默认供应商 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_supplier_quote - 供应商报价表
用途:供应商报价、询价、市场询价结果。
建议索引:idx_supplier_goods(supplier_id,goods_unit_id), idx_date(quote_date)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 报价ID |
| supplier_id | bigint | | 是 | 供应商ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| quote_price | decimal(18,4) | | 是 | 报价 |
| quote_date | date | | 是 | 报价日期 |
| quote_type | tinyint | | 是 | 报价类型 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_purchase_task - 采购任务表
用途:智能采购/订单汇总/缺货补采生成的采购任务主表。
建议索引:uk_task_no(task_no), idx_wh_date(warehouse_id,delivery_date)
|---------------|-------------|-------|--------|--------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 任务ID |
| task_no | varchar(64) | | 是 | 任务号 |
| source_type | tinyint | | 是 | 来源:订单汇总/分拣缺货/手工/导入 |
| warehouse_id | bigint | | 是 | 采购入库仓库 |
| delivery_date | date | | 否 | 对应配送日期 |
| task_status | tinyint | | 是 | 任务状态 |
scp_purchase_task_item - 采购任务明细表
用途:采购需求明细,记录需求、库存、建议采购数。
建议索引:idx_task(task_id), idx_goods(goods_unit_id)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| task_id | bigint | | 是 | 任务ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| demand_qty | decimal(18,4) | | 是 | 订单需求量 |
| stock_qty | decimal(18,4) | | 否 | 当前库存 |
| purchase_percent | decimal(10,4) | | 否 | 采购百分比 |
| suggest_qty | decimal(18,4) | | 是 | 建议采购量 |
scp_purchase_order - 采购单主表
用途:采购单主数据,支持手工、智能采购、订单采购、分拣缺货采购。
建议索引:uk_purchase_no(purchase_no), idx_supplier(supplier_id), idx_wh_status(warehouse_id,purchase_status)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 采购单ID |
| purchase_no | varchar(64) | | 是 | 采购单号 |
| supplier_id | bigint | | 是 | 供应商ID |
| warehouse_id | bigint | | 是 | 入库仓库ID |
| source_type | tinyint | | 是 | 来源类型 |
| purchase_status | tinyint | | 是 | 采购状态 |
| receive_status | tinyint | | 是 | 收货状态 |
| settle_status | tinyint | | 是 | 结算状态 |
| total_amount | decimal(18,2) | | 是 | 采购金额 |
scp_purchase_order_item - 采购单明细表
用途:采购商品明细,记录计划数、实际采购数、采购价。
建议索引:idx_purchase(purchase_id), idx_goods(goods_unit_id)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| purchase_id | bigint | | 是 | 采购单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| plan_qty | decimal(18,4) | | 是 | 计划采购数 |
| actual_qty | decimal(18,4) | | 否 | 实际采购数 |
| purchase_price | decimal(18,4) | | 是 | 采购单价 |
| purchase_amount | decimal(18,2) | | 是 | 采购金额 |
scp_purchase_actual - 采购实际录入表
用途:采购员实际采买录入,支持多次录入。
建议索引:idx_purchase_item(purchase_item_id)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 录入ID |
| purchase_item_id | bigint | | 是 | 采购明细ID |
| actual_qty | decimal(18,4) | | 是 | 实际采购数 |
| actual_price | decimal(18,4) | | 是 | 实际采购价 |
| actual_amount | decimal(18,2) | | 是 | 实际采购金额 |
| operator_id | bigint | | 是 | 采购员ID |
| actual_time | datetime | | 是 | 录入时间 |
scp_purchase_receipt - 采购收货单主表
用途:仓管收货确认,采购数和入库数可以不一致。
建议索引:uk_receipt_no(receipt_no), idx_purchase(purchase_id)
|----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 收货单ID |
| receipt_no | varchar(64) | | 是 | 收货单号 |
| purchase_id | bigint | | 是 | 采购单ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| receive_status | tinyint | | 是 | 收货状态 |
| receive_time | datetime | | 否 | 收货时间 |
scp_purchase_receipt_item - 采购收货单明细表
用途:收货商品明细,生成入库和成本。
建议索引:idx_receipt(receipt_id), idx_goods(goods_unit_id)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| receipt_id | bigint | | 是 | 收货单ID |
| purchase_item_id | bigint | | 是 | 采购明细ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| receive_qty | decimal(18,4) | | 是 | 收货数量 |
| cost_price | decimal(18,4) | | 是 | 入库成本价 |
| batch_no | varchar(64) | | 否 | 批次号 |
| production_date | date | | 否 | 生产日期 |
8.8 仓库库存
scp_warehouse - 仓库表
用途:仓配版仓库主档,支持多仓、负库存、批次。
建议索引:uk_warehouse_code(warehouse_code)
|---------------------|--------------|-------|--------|-----------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 仓库ID |
| warehouse_code | varchar(64) | | 是 | 仓库编码 |
| warehouse_name | varchar(128) | | 是 | 仓库名称 |
| warehouse_type | tinyint | | 是 | 仓库类型:总仓/前置仓/虚拟仓 |
| negative_stock_flag | tinyint | | 是 | 是否允许负库存 |
| batch_manage_flag | tinyint | | 是 | 是否启用批次 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_shelf - 货架/库位表
用途:仓库货架或库位,用于入库、分拣、盘点定位。
建议索引:uk_wh_shelf(warehouse_id,shelf_code)
|--------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 货架ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| shelf_code | varchar(64) | | 是 | 货架编码 |
| shelf_name | varchar(128) | | 是 | 货架名称 |
| parent_id | bigint | | 否 | 父货架ID |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_inventory - 实时库存表
用途:按仓库和商品单位记录实时库存、可用库存、成本价和金额。
建议索引:uk_wh_goods(warehouse_id,goods_unit_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|---------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 库存ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| stock_qty | decimal(18,4) | | 是 | 现有库存 |
| available_qty | decimal(18,4) | | 是 | 可用库存 |
| lock_qty | decimal(18,4) | | 是 | 锁定库存 |
| cost_price | decimal(18,6) | | 是 | 移动加权成本价 |
| stock_amount | decimal(18,2) | | 是 | 库存金额 |
| last_biz_time | datetime | | 否 | 最后业务时间 |
scp_inventory_batch - 库存批次表
用途:启用批次商品的批次库存,含生产日期、保质期。
建议索引:uk_wh_goods_batch(warehouse_id,goods_unit_id,batch_no)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 批次库存ID |
| inventory_id | bigint | | 是 | 库存ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| batch_no | varchar(64) | | 是 | 批次号 |
| production_date | date | | 否 | 生产日期 |
| expire_date | date | | 否 | 到期日期 |
| stock_qty | decimal(18,4) | | 是 | 批次数量 |
| cost_price | decimal(18,6) | | 是 | 批次成本 |
scp_inventory_flow - 库存流水表
用途:所有入库、出库、调拨、盘点、报损报溢的库存变化明细。
建议索引:idx_wh_goods_time(warehouse_id,goods_unit_id,created_time), idx_biz(biz_type,biz_no)
|---------------|---------------|-------|--------|---------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 流水ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| batch_id | bigint | | 否 | 批次ID |
| flow_type | tinyint | | 是 | 流水类型:入库/出库/调整 |
| biz_type | tinyint | | 是 | 业务类型 |
| biz_no | varchar(64) | | 是 | 业务单号 |
| before_qty | decimal(18,4) | | 是 | 变更前数量 |
| change_qty | decimal(18,4) | | 是 | 变更数量 |
| after_qty | decimal(18,4) | | 是 | 变更后数量 |
| cost_price | decimal(18,6) | | 否 | 成本价 |
scp_cost_flow - 成本流水表
用途:移动加权成本变化记录。
建议索引:idx_wh_goods_time(warehouse_id,goods_unit_id,created_time), idx_source(source_type,source_no)
|-------------------|---------------|-------|--------|-----------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 成本流水ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| source_type | tinyint | | 是 | 来源:采购入库/盘点/报损/调拨/成本调整 |
| source_no | varchar(64) | | 是 | 来源单号 |
| before_qty | decimal(18,4) | | 是 | 变更前库存 |
| before_cost_price | decimal(18,6) | | 是 | 变更前成本价 |
| change_qty | decimal(18,4) | | 是 | 变更数量 |
| change_amount | decimal(18,2) | | 是 | 变更金额 |
| after_qty | decimal(18,4) | | 是 | 变更后库存 |
| after_cost_price | decimal(18,6) | | 是 | 变更后成本价 |
scp_inbound_order - 入库单主表
用途:普通入库、采购入库、退货入库、盘盈入库。
建议索引:uk_inbound_no(inbound_no), idx_wh_status(warehouse_id,inbound_status)
|----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 入库单ID |
| inbound_no | varchar(64) | | 是 | 入库单号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| source_type | tinyint | | 是 | 来源类型 |
| source_no | varchar(64) | | 否 | 来源单号 |
| inbound_status | tinyint | | 是 | 入库状态 |
| audit_time | datetime | | 否 | 审核时间 |
scp_inbound_order_item - 入库单明细表
用途:入库商品数量、成本、批次。
建议索引:idx_inbound(inbound_id), idx_goods(goods_unit_id)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| inbound_id | bigint | | 是 | 入库单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| inbound_qty | decimal(18,4) | | 是 | 入库数量 |
| cost_price | decimal(18,6) | | 是 | 入库成本价 |
| batch_no | varchar(64) | | 否 | 批次号 |
| production_date | date | | 否 | 生产日期 |
| expire_date | date | | 否 | 到期日期 |
scp_outbound_order - 出库单主表
用途:销售出库、报损出库、调拨出库、普通出库。
建议索引:uk_outbound_no(outbound_no), idx_wh_status(warehouse_id,outbound_status)
|-----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 出库单ID |
| outbound_no | varchar(64) | | 是 | 出库单号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| source_type | tinyint | | 是 | 来源类型 |
| source_no | varchar(64) | | 否 | 来源单号 |
| outbound_status | tinyint | | 是 | 出库状态 |
| audit_time | datetime | | 否 | 审核时间 |
scp_outbound_order_item - 出库单明细表
用途:出库商品数量、批次、成本。
建议索引:idx_outbound(outbound_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| outbound_id | bigint | | 是 | 出库单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| batch_id | bigint | | 否 | 批次ID |
| outbound_qty | decimal(18,4) | | 是 | 出库数量 |
| cost_price | decimal(18,6) | | 是 | 成本价 |
| cost_amount | decimal(18,2) | | 是 | 成本金额 |
scp_stocktake - 盘点单主表
用途:库存盘点主表,支持多人联合计划盘点。
建议索引:uk_stocktake_no(stocktake_no), idx_wh_status(warehouse_id,stocktake_status)
|------------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 盘点单ID |
| stocktake_no | varchar(64) | | 是 | 盘点单号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| stocktake_type | tinyint | | 是 | 盘点类型 |
| stocktake_status | tinyint | | 是 | 盘点状态 |
| audit_time | datetime | | 否 | 审核时间 |
scp_stocktake_item - 盘点单明细表
用途:账面数量、实盘数量、差异数量。
建议索引:idx_stocktake(stocktake_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| stocktake_id | bigint | | 是 | 盘点单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| batch_id | bigint | | 否 | 批次ID |
| book_qty | decimal(18,4) | | 是 | 账面数量 |
| actual_qty | decimal(18,4) | | 是 | 实盘数量 |
| diff_qty | decimal(18,4) | | 是 | 差异数量 |
| diff_amount | decimal(18,2) | | 否 | 差异金额 |
scp_loss_overflow - 报损报溢单主表
用途:盘点差异、损耗、溢余形成报损报溢单。
建议索引:uk_bill_no(bill_no), idx_wh_type(warehouse_id,bill_type)
|--------------|-------------|-------|--------|---------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 单据ID |
| bill_no | varchar(64) | | 是 | 单据号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| bill_type | tinyint | | 是 | 类型:报损/报溢 |
| source_type | tinyint | | 是 | 来源:手工/盘点/分拣超出 |
| bill_status | tinyint | | 是 | 状态 |
| audit_time | datetime | | 否 | 审核时间 |
scp_loss_overflow_item - 报损报溢单明细表
用途:损耗或溢余商品明细。
建议索引:idx_bill(bill_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| bill_id | bigint | | 是 | 单据ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| batch_id | bigint | | 否 | 批次ID |
| quantity | decimal(18,4) | | 是 | 数量 |
| cost_price | decimal(18,6) | | 否 | 成本价 |
| amount | decimal(18,2) | | 否 | 金额 |
scp_transfer_order - 调拨单主表
用途:多仓调拨主表。
建议索引:uk_transfer_no(transfer_no), idx_wh(from_warehouse_id,to_warehouse_id)
|-------------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 调拨单ID |
| transfer_no | varchar(64) | | 是 | 调拨单号 |
| from_warehouse_id | bigint | | 是 | 调出仓库 |
| to_warehouse_id | bigint | | 是 | 调入仓库 |
| transfer_status | tinyint | | 是 | 调拨状态 |
| audit_time | datetime | | 否 | 审核时间 |
scp_transfer_order_item - 调拨单明细表
用途:调拨商品明细。
建议索引:idx_transfer(transfer_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| transfer_id | bigint | | 是 | 调拨单ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| batch_id | bigint | | 否 | 批次ID |
| transfer_qty | decimal(18,4) | | 是 | 调拨数量 |
| cost_price | decimal(18,6) | | 否 | 成本价 |
scp_pack_convert_order - 打包拆解单主表
用途:多规格商品库存互转、打包拆解。
建议索引:uk_convert_no(convert_no)
|----------------|-------------|-------|--------|-------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 单据ID |
| convert_no | varchar(64) | | 是 | 转换单号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| convert_type | tinyint | | 是 | 类型:打包/拆解/转换 |
| convert_status | tinyint | | 是 | 状态 |
| audit_time | datetime | | 否 | 审核时间 |
scp_pack_convert_item - 打包拆解单明细表
用途:转换前后商品单位和数量。
建议索引:idx_convert(convert_id), idx_goods(goods_unit_id)
|---------------|---------------|-------|--------|----------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| convert_id | bigint | | 是 | 转换单ID |
| direction | tinyint | | 是 | 方向:投入/产出 |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| quantity | decimal(18,4) | | 是 | 数量 |
| cost_price | decimal(18,6) | | 否 | 成本价 |
8.9 分拣中心
scp_sorting_task - 分拣任务主表
用途:由订单审核/汇总后生成的分拣任务,按订单、商品、线路或分组分拣。
建议索引:uk_task_no(task_no), idx_order(order_id), idx_status(sort_status)
|--------------|-------------|-------|--------|----------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 任务ID |
| task_no | varchar(64) | | 是 | 任务号 |
| order_id | bigint | | 否 | 订单ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| route_id | bigint | | 否 | 线路ID |
| sorting_type | tinyint | | 是 | 分拣类型:订单/商品/线路/分组/预分拣 |
| sorter_id | bigint | | 否 | 分拣员ID |
| sort_status | tinyint | | 是 | 分拣状态 |
scp_sorting_task_item - 分拣任务明细表
用途:分拣商品明细,承接订单数量和实际分拣数量。
建议索引:idx_task(task_id), idx_order_item(order_item_id), idx_goods(goods_unit_id)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| task_id | bigint | | 是 | 任务ID |
| order_item_id | bigint | | 否 | 订单明细ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| order_qty | decimal(18,4) | | 是 | 下单数量 |
| sorted_qty | decimal(18,4) | | 否 | 已分拣数量 |
| shortage_qty | decimal(18,4) | | 否 | 缺货数量 |
| floating_min_qty | decimal(18,4) | | 否 | 浮动下限 |
| floating_max_qty | decimal(18,4) | | 否 | 浮动上限 |
| item_status | tinyint | | 是 | 明细状态 |
scp_sorting_weigh_record - 分拣称重记录表
用途:分拣 APP/电子秤称重记录,支持多次称重和标签打印。
建议索引:idx_task_item(task_item_id), idx_package(package_no)
|------------------|---------------|-------|--------|---------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 称重记录ID |
| task_item_id | bigint | | 是 | 分拣明细ID |
| scale_no | varchar(64) | | 否 | 电子秤编号 |
| weight_qty | decimal(18,4) | | 是 | 称重数量 |
| package_no | varchar(64) | | 否 | 包装/标签号 |
| label_print_flag | tinyint | | 是 | 是否已打印标签 |
| weigh_time | datetime | | 是 | 称重时间 |
| operator_id | bigint | | 是 | 操作人ID |
scp_sorting_label - 分拣标签表
用途:标签内容、打印模板、打印状态。
建议索引:uk_label_code(label_code), idx_task_item(task_item_id)
|--------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 标签ID |
| label_code | varchar(64) | | 是 | 标签编码 |
| task_item_id | bigint | | 是 | 分拣明细ID |
| order_id | bigint | | 否 | 订单ID |
| customer_id | bigint | | 否 | 客户ID |
| template_id | bigint | | 否 | 打印模板ID |
| print_status | tinyint | | 是 | 打印状态 |
scp_shortage_record - 缺货处理表
用途:分拣缺货、补采、替代、取消等处理记录。
建议索引:idx_task_item(task_item_id), idx_goods(goods_unit_id)
|------------------|---------------|-------|--------|------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 记录ID |
| task_item_id | bigint | | 是 | 分拣明细ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| shortage_qty | decimal(18,4) | | 是 | 缺货数量 |
| handle_type | tinyint | | 是 | 处理方式:补采/替代/取消/等待 |
| purchase_task_id | bigint | | 否 | 关联采购任务ID |
| handle_status | tinyint | | 是 | 处理状态 |
scp_pre_sorting_package - 预分拣包裹表
用途:客户下单前先称重打标的预包装商品。
建议索引:uk_package_code(package_code), idx_goods(goods_unit_id)
|---------------------|---------------|-------|--------|---------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 预分拣包裹ID |
| package_code | varchar(64) | | 是 | 预分拣标签号 |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品单位ID |
| package_qty | decimal(18,4) | | 是 | 包装数量 |
| package_status | tinyint | | 是 | 状态:待绑定/已绑定/作废 |
| bound_order_item_id | bigint | | 否 | 绑定订单明细ID |
scp_sorting_operator_goods - 分拣员商品权限表
用途:限制分拣员可分拣商品分类或商品。
建议索引:idx_sorter(sorter_id), idx_target(target_type,target_id)
|--------------|---------|-------|--------|------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| sorter_id | bigint | | 是 | 分拣员ID |
| target_type | tinyint | | 是 | 目标类型:分类/商品 |
| target_id | bigint | | 是 | 目标ID |
| enabled_flag | tinyint | | 是 | 启用标记 |
8.10 配送中心
scp_delivery_route - 配送线路表
用途:配送线路主档,一条线路关联一个仓库,可绑定多个区域和司机。
建议索引:uk_route_code(route_code), idx_warehouse(warehouse_id)
|-------------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 线路ID |
| route_code | varchar(64) | | 是 | 线路编码 |
| route_name | varchar(128) | | 是 | 线路名称 |
| warehouse_id | bigint | | 是 | 仓库ID |
| default_driver_id | bigint | | 否 | 默认司机ID |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_delivery_area_rel - 线路区域关系表
用途:区域与线路绑定,用于自动生成配送任务。
建议索引:uk_route_area(route_id,area_id)
|--------------|---------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| route_id | bigint | | 是 | 线路ID |
| area_id | bigint | | 是 | 区域ID |
| sort_no | int | | 否 | 配送顺序 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_delivery_driver_rel - 线路司机关系表
用途:一条线路可关联多个司机,并设置默认司机。
建议索引:uk_route_driver(route_id,driver_id)
|--------------|---------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| route_id | bigint | | 是 | 线路ID |
| driver_id | bigint | | 是 | 司机员工ID |
| default_flag | tinyint | | 是 | 是否默认 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_delivery_task - 配送任务主表
用途:分拣完成后生成的司机配送任务。
建议索引:uk_delivery_no(delivery_no), idx_driver_date(driver_id,delivery_date), idx_status(delivery_status)
|-----------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 配送任务ID |
| delivery_no | varchar(64) | | 是 | 配送任务号 |
| route_id | bigint | | 是 | 线路ID |
| driver_id | bigint | | 是 | 司机ID |
| warehouse_id | bigint | | 是 | 仓库ID |
| delivery_date | date | | 是 | 配送日期 |
| load_status | tinyint | | 是 | 装车状态 |
| delivery_status | tinyint | | 是 | 配送状态 |
| start_time | datetime | | 否 | 开始配送时间 |
| finish_time | datetime | | 否 | 完成时间 |
scp_delivery_task_item - 配送任务明细表
用途:配送任务下的客户订单。
建议索引:idx_task(delivery_task_id), idx_order(order_id)
|-------------------|---------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| delivery_task_id | bigint | | 是 | 配送任务ID |
| order_id | bigint | | 是 | 订单ID |
| customer_id | bigint | | 是 | 客户ID |
| address_id | bigint | | 否 | 配送地址ID |
| sequence_no | int | | 否 | 配送顺序 |
| sign_status | tinyint | | 是 | 签收状态 |
| collection_status | tinyint | | 是 | 收款状态 |
scp_delivery_load_scan - 装车核货记录表
用途:司机装车前扫码核货记录。
建议索引:idx_delivery_item(delivery_item_id), idx_scan_code(scan_code)
|------------------|--------------|-------|--------|---------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 扫描ID |
| delivery_item_id | bigint | | 是 | 配送明细ID |
| scan_code | varchar(128) | | 是 | 扫描码/标签码 |
| scan_result | tinyint | | 是 | 扫描结果 |
| scan_time | datetime | | 是 | 扫描时间 |
| operator_id | bigint | | 是 | 操作人ID |
| remark | varchar(500) | | 否 | 备注 |
scp_delivery_sign - 配送签收表
用途:配送签收、拍照、签名、异常。
建议索引:idx_delivery_item(delivery_item_id), idx_order(order_id)
|------------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 签收ID |
| delivery_item_id | bigint | | 是 | 配送明细ID |
| order_id | bigint | | 是 | 订单ID |
| sign_status | tinyint | | 是 | 签收状态 |
| sign_name | varchar(64) | | 否 | 签收人 |
| sign_image_url | varchar(500) | | 否 | 签名/照片 |
| sign_time | datetime | | 否 | 签收时间 |
| exception_remark | varchar(500) | | 否 | 异常说明 |
scp_driver_collection - 司机收款表
用途:货到付款、司机现金收款、订单收款码收款记录。
建议索引:idx_driver(driver_id,collect_time), idx_order(order_id)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 收款ID |
| delivery_item_id | bigint | | 是 | 配送明细ID |
| order_id | bigint | | 是 | 订单ID |
| driver_id | bigint | | 是 | 司机ID |
| collect_method | tinyint | | 是 | 收款方式 |
| collect_amount | decimal(18,2) | | 是 | 收款金额 |
| collect_status | tinyint | | 是 | 收款状态 |
| collect_time | datetime | | 否 | 收款时间 |
8.11 周转物
scp_basket - 周转物表
用途:筐、箱、桶等周转物档案。
建议索引:uk_basket_code(basket_code)
|----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 周转物ID |
| basket_code | varchar(64) | | 是 | 周转物编码 |
| basket_name | varchar(128) | | 是 | 周转物名称 |
| basket_type | tinyint | | 是 | 类型 |
| deposit_amount | decimal(18,2) | | 否 | 押金 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_basket_bind - 周转物绑定记录表
用途:记录订单/客户发出和回收周转物。
建议索引:idx_customer(customer_id), idx_order(order_id)
|-------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 记录ID |
| basket_id | bigint | | 是 | 周转物ID |
| order_id | bigint | | 否 | 订单ID |
| customer_id | bigint | | 是 | 客户ID |
| out_qty | decimal(18,2) | | 是 | 发出数量 |
| return_qty | decimal(18,2) | | 否 | 归还数量 |
| bind_status | tinyint | | 是 | 状态 |
8.12 财务对账
scp_customer_wallet - 客户钱包表
用途:客户商城余额、欠款、冻结金额。
建议索引:uk_customer(customer_id)
|-----------------|---------------|-------|--------|----------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 钱包ID |
| customer_id | bigint | | 是 | 客户ID |
| balance | decimal(18,2) | | 是 | 商城余额,可为负表示余额欠款 |
| frozen_amount | decimal(18,2) | | 是 | 冻结金额 |
| credit_amount | decimal(18,2) | | 否 | 授信额度 |
| last_trade_time | datetime | | 否 | 最后交易时间 |
scp_customer_wallet_flow - 客户钱包流水表
用途:充值、扣款、退款、差异款、余额欠款流水。
建议索引:uk_flow_no(flow_no), idx_customer_time(customer_id,created_time)
|----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 流水ID |
| wallet_id | bigint | | 是 | 钱包ID |
| customer_id | bigint | | 是 | 客户ID |
| flow_no | varchar(64) | | 是 | 流水号 |
| flow_type | tinyint | | 是 | 流水类型 |
| biz_type | tinyint | | 否 | 业务类型 |
| biz_no | varchar(64) | | 否 | 业务单号 |
| before_balance | decimal(18,2) | | 是 | 变更前余额 |
| change_amount | decimal(18,2) | | 是 | 变更金额 |
| after_balance | decimal(18,2) | | 是 | 变更后余额 |
scp_ar_bill - 客户应收单表
用途:订单签收/确认后生成客户应收。
建议索引:uk_ar_no(ar_no), idx_customer_status(customer_id,writeoff_status)
|-----------------|---------------|-------|--------|-----------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 应收ID |
| ar_no | varchar(64) | | 是 | 应收单号 |
| customer_id | bigint | | 是 | 客户ID |
| source_type | tinyint | | 是 | 来源:订单/退货/差异款/手工 |
| source_no | varchar(64) | | 是 | 来源单号 |
| ar_amount | decimal(18,2) | | 是 | 应收金额 |
| received_amount | decimal(18,2) | | 是 | 已收金额 |
| writeoff_status | tinyint | | 是 | 核销状态 |
scp_ar_bill_item - 客户应收明细表
用途:应收单与订单/订单明细的关联明细。
建议索引:idx_ar(ar_id), idx_order(order_id)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| ar_id | bigint | | 是 | 应收ID |
| order_id | bigint | | 是 | 订单ID |
| order_item_id | bigint | | 否 | 订单明细ID |
| amount | decimal(18,2) | | 是 | 应收明细金额 |
| received_amount | decimal(18,2) | | 是 | 已收金额 |
scp_payment_receipt - 客户收款单表
用途:后台收款、司机收款、线上支付、线下转账统一收款单。
建议索引:uk_receipt_no(receipt_no), idx_customer_time(customer_id,receipt_time)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 收款单ID |
| receipt_no | varchar(64) | | 是 | 收款单号 |
| customer_id | bigint | | 是 | 客户ID |
| pay_method | tinyint | | 是 | 收款方式 |
| received_amount | decimal(18,2) | | 是 | 收款金额 |
| receipt_status | tinyint | | 是 | 收款状态 |
| receipt_time | datetime | | 否 | 收款时间 |
scp_payment_receipt_item - 客户收款核销明细表
用途:收款单核销应收单明细。
建议索引:idx_receipt(receipt_id), idx_ar(ar_id)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| receipt_id | bigint | | 是 | 收款单ID |
| ar_id | bigint | | 是 | 应收ID |
| writeoff_amount | decimal(18,2) | | 是 | 核销金额 |
| writeoff_time | datetime | | 否 | 核销时间 |
scp_refund_order - 退款单表
用途:订单取消、退货、多退少补产生退款。
建议索引:uk_refund_no(refund_no), idx_customer(customer_id)
|---------------|---------------|-------|--------|-----------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 退款ID |
| refund_no | varchar(64) | | 是 | 退款单号 |
| order_id | bigint | | 否 | 订单ID |
| customer_id | bigint | | 是 | 客户ID |
| refund_method | tinyint | | 是 | 退款方式:原路退/退余额/线下 |
| refund_amount | decimal(18,2) | | 是 | 退款金额 |
| refund_status | tinyint | | 是 | 退款状态 |
scp_reconciliation_statement - 客户对账单主表
用途:按客户和周期生成对账单,支持打印/导出。
建议索引:uk_statement_no(statement_no), idx_customer_period(customer_id,period_start,period_end)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 对账单ID |
| statement_no | varchar(64) | | 是 | 对账单号 |
| customer_id | bigint | | 是 | 客户ID |
| period_start | date | | 是 | 对账开始日期 |
| period_end | date | | 是 | 对账结束日期 |
| total_amount | decimal(18,2) | | 是 | 对账金额 |
| received_amount | decimal(18,2) | | 是 | 已收金额 |
| statement_status | tinyint | | 是 | 状态 |
scp_reconciliation_statement_item - 客户对账单明细表
用途:对账单中的订单、退货、收款、欠款明细。
建议索引:idx_statement(statement_id), idx_biz(biz_type,biz_no)
|--------------|---------------|-------|--------|---------------------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| statement_id | bigint | | 是 | 对账单ID |
| biz_type | tinyint | | 是 | 业务类型:订单/退货/收款/退款/调整 |
| biz_no | varchar(64) | | 是 | 业务单号 |
| biz_date | date | | 是 | 业务日期 |
| amount | decimal(18,2) | | 是 | 金额 |
| remark | varchar(500) | | 否 | 备注 |
scp_ap_bill - 供应商应付单表
用途:采购入库/采购结算形成供应商应付。
建议索引:uk_ap_no(ap_no), idx_supplier(supplier_id)
|-----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 应付ID |
| ap_no | varchar(64) | | 是 | 应付单号 |
| supplier_id | bigint | | 是 | 供应商ID |
| purchase_id | bigint | | 否 | 采购单ID |
| ap_amount | decimal(18,2) | | 是 | 应付金额 |
| paid_amount | decimal(18,2) | | 是 | 已付金额 |
| writeoff_status | tinyint | | 是 | 核销状态 |
scp_ap_bill_item - 供应商应付明细表
用途:供应商应付与采购收货明细关联。
建议索引:idx_ap(ap_id), idx_purchase(purchase_id)
|------------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 明细ID |
| ap_id | bigint | | 是 | 应付ID |
| purchase_id | bigint | | 否 | 采购单ID |
| purchase_item_id | bigint | | 否 | 采购明细ID |
| amount | decimal(18,2) | | 是 | 应付明细金额 |
scp_supplier_payment - 供应商付款单表
用途:供应商付款及应付核销。
建议索引:uk_payment_no(payment_no), idx_supplier(supplier_id)
|----------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 付款单ID |
| payment_no | varchar(64) | | 是 | 付款单号 |
| supplier_id | bigint | | 是 | 供应商ID |
| payment_method | tinyint | | 是 | 付款方式 |
| payment_amount | decimal(18,2) | | 是 | 付款金额 |
| payment_status | tinyint | | 是 | 付款状态 |
| payment_time | datetime | | 否 | 付款时间 |
8.13 报表分析
scp_stat_sales_day - 销售日报表
用途:按日期、客户、商品、仓库统计销售额、发货额、毛利。
建议索引:idx_stat(stat_date,warehouse_id,customer_id,goods_unit_id)
|---------------|---------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 主键ID |
| stat_date | date | | 是 | 统计日期 |
| warehouse_id | bigint | | 否 | 仓库ID |
| customer_id | bigint | | 否 | 客户ID |
| goods_unit_id | bigint | | 否 | 商品单位ID |
| order_qty | decimal(18,4) | | 否 | 下单数量 |
| ship_qty | decimal(18,4) | | 否 | 发货数量 |
| sales_amount | decimal(18,2) | | 否 | 销售金额 |
| cost_amount | decimal(18,2) | | 否 | 成本金额 |
| gross_profit | decimal(18,2) | | 否 | 毛利 |
scp_warning_rule - 预警规则表
用途:库存、订单、采购、配送、账期、临期等预警规则。
建议索引:uk_rule_code(rule_code)
|--------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 规则ID |
| rule_code | varchar(64) | | 是 | 规则编码 |
| rule_name | varchar(128) | | 是 | 规则名称 |
| warning_type | tinyint | | 是 | 预警类型 |
| rule_config | text | | 是 | 规则配置 |
| enabled_flag | tinyint | | 是 | 启用标记 |
8.14 开放硬件
scp_device - 设备表
用途:电子秤、PDA、标签打印机、飞鹅打印机、POS等硬件设备档案。
建议索引:uk_device_code(device_code), idx_type(device_type)
|--------------|--------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 设备ID |
| device_code | varchar(64) | | 是 | 设备编码 |
| device_name | varchar(128) | | 是 | 设备名称 |
| device_type | tinyint | | 是 | 设备类型 |
| warehouse_id | bigint | | 否 | 绑定仓库 |
| employee_id | bigint | | 否 | 绑定员工 |
| config_json | text | | 否 | 设备配置 |
| enabled_flag | tinyint | | 是 | 启用标记 |
scp_api_push_log - 开放平台推送日志表
用途:记录订单、商品、采购、供应商等 API 推送日志和重试。
建议索引:idx_api_biz(api_type,biz_no), idx_status(push_status)
|------------------|-------------|-------|--------|--------|
| 字段名 | 类型 | 键 | 必填 | 说明 |
| id | bigint | PK | 是 | 日志ID |
| api_type | varchar(64) | | 是 | 接口类型 |
| biz_no | varchar(64) | | 否 | 业务单号 |
| request_payload | longtext | | 否 | 请求内容 |
| response_payload | longtext | | 否 | 响应内容 |
| push_status | tinyint | | 是 | 推送状态 |
| retry_count | int | | 是 | 重试次数 |
| last_push_time | datetime | | 否 | 最后推送时间 |
九、接口与实现建议
|--------|------------|-------------------------------------------|---------------------------------|
| 模块 | 接口类型 | 关键接口建议 | 实现注意事项 |
| 商品报价 | 后台管理接口 | 商品分类、商品、规格单位、报价单、客户价、群体价、促销价 CRUD;价格计算接口。 | 价格计算要返回 priceSource,并在订单明细保存快照。 |
| 客户商城 | 客户端接口 | 登录、首页、分类、商品列表、商品详情、购物车、提交订单、订单列表、账单。 | 查询商品时必须叠加客户可见范围、客户报价、运营时间、可售库存。 |
| 订单中心 | 后台与客户端接口 | 代下单、订单审核、改单、合并、汇总、出库、发货、核准、退货。 | 订单状态变更必须走状态机与幂等键,禁止前端直接改状态。 |
| 采购中心 | 后台/采购端接口 | 采购任务、生成采购单、采购实际录入、收货入库、采购结算。 | 采购入库要事务性更新库存、成本、供应商应付。 |
| 仓库库存 | 后台/仓管端接口 | 期初、入库、出库、现有库存、批次、盘点、报损报溢、调拨。 | 实时库存表只保存结果,所有变化必须写库存流水。 |
| 分拣中心 | 后台/分拣APP接口 | 生成分拣任务、称重、打印标签、缺货、重置、预分拣绑定。 | 称重记录独立保存,并回写订单明细 pick_qty。 |
| 配送中心 | 配送APP接口 | 任务列表、装车核货、开始配送、确认送达、签收拍照、司机收款。 | 签收动作会影响订单完成、应收生成和客户资金。 |
| 财务对账 | 后台财务接口 | 客户钱包、收款、退款、应收、对账单、供应商应付与付款。 | 余额/账期/货到付款三种资金口径要分开,流水可追溯。 |
十、实施落地风险与升鲜宝参考建议
|-----------|-----------------------------|---------------------------------------|
| 风险点 | 表现 | 建议 |
| 价格优先级混乱 | 客户看到的价格、订单价格、财务对账价格不一致。 | 建立统一 PriceEngine,输出价格、来源、命中规则,并写订单快照。 |
| 库存与订单耦合过紧 | 分拣、出库、签收任何一步变更都导致库存错乱。 | 订单数量、分拣数量、出库数量、签收数量分字段保存,库存只由出入库单据驱动。 |
| 成本只存实时值 | 无法解释历史毛利和库存变化。 | 库存实时表 + 成本流水 + 库存流水三者配套。 |
| 分拣缺少称重记录 | 只知道最终数量,不知道谁称重、何时称重、是否打印。 | 分拣任务、分拣明细、称重记录、标签记录分表保存。 |
| 财务金额口径不清 | 下单金额、发货金额、应收、已收、退款、欠款混在一起。 | 订单金额字段拆清楚,应收/收款/退款/钱包流水独立。 |
| 多端状态不一致 | APP 已签收,后台订单未完成;后台取消,配送仍在送。 | 所有端口调用同一状态机服务,状态变更写日志并发布事件。 |
对升鲜宝的重点参考:悦厚仓配版的优势在于"客户交易策略 + 订单驱动采购 + 称重分拣 + 配送签收 + 财务对账"的全链路闭环。升鲜宝如果对标,应优先把 B2B 订货商城、OMS、WMS、分拣、配送、财务应收做成一个主流程,而不是分别做孤立模块。
附录:帮助中心资料依据
|----------|---------|--------------------------------------------------------------------------------------------------------------------------|
| 帮助目录 | 文档数 | 代表性文档 |
| 仓库篇(11) | 15 | 期初库存怎么设置?;现有库存及打包拆解的操作?;出库管理有哪几种出库类型?;报损报溢是如何产生的,如何创建?;多仓库间库存调拨如何操作?;库存盘点如何操作?盘库盘盈如何产生的?...... |
| 分拣篇(15) | 15 | PC端如何进行无标签分拣?;供应商代分拣打标签;如何进行分组分拣?;如何根据分拣实际生成采购?Excel;Q:分拣错了怎么办?(重置);Q:分拣时商品缺货了怎么办?...... |
| 商品篇(14) | 17 | Q:常用商品填法示例;Q:商品如何下架,下架后影响已销售的商品吗?;※如何设置可售库存或同步仓库库存为可售库存?;Q:如何新建多规格商品?;Q:如何删除商品?删除条件是什么?;如何通过悦厚商品库批量新增商品?...... |
| 商城篇(8) | 11 | 通过特定网址进入悦厚商城,无需二次登录,方便自助开发类嵌套使用;商城主子账号功能说明;配送费如何设置?;【商城端】的使用介绍;运营时间如何设置?;配送时间如何设置?...... |
| 客户篇(11) | 11 | 如何不让客户看部分商品或只让看特定商品?;如何新增客户,需要哪些资料?;区域有什么作用,如何设置?;客户常用商品清单管理;客户编号有什么作用,如何设置?;客户群体有什么作用,如何设置?...... |
| 系统设置(3) | 3 | Q:一个员工可以是多种身份吗?;如何添加员工账号?(角色+账号);系统日志查询 |
| 订单篇(20) | 20 | 订单流程设置(业务启动前必须设好);取消订单时,客户钱包余额如何退款?;Q:如何查看某个商品有多少个订单?;Q:客户1天内多单怎么更方便地代下单?;报损出库:分拣数超出下单数时,如何按客户下单数出库?;Q、订单商品排序如何设置?...... |
| 财务篇(7) | 10 | 货到付款是什么意思?怎么收款;采购结算怎么操作?;Q:客户钱包充值和扣款怎么操作?;余额欠款是什么意思?怎么收款;客户资金、交易记录及对账说明;账期结算是什么意思?怎么收款...... |
| 配送篇(4) | 4 | 线路应该如何配置?;如何查看配送任务?;司机如何收款?;如何临时更改配送任务的配送员或线路? |
| 采购篇(14) | 18 | Q:采购单如何修改供应商?;如何新增供应商?新增后如何关联商品?;Q:新建采购单商品未关联供应商怎么办?;Q:如何快速取消供应品的关联?;采购单:采购单有哪几种创建方式?;采购:采购单如何进行采购实际录入?...... |
| **后续建议:**如需要继续落地,可以再基于本数据字典生成 MySQL 8.0 DDL、Spring Boot 后端目录结构、Controller/Service/Dao/XML/Entity/Req/Resp/Excel 代码骨架,以及 Vue3 后台页面原型。 |||