水产海鲜鱼业全链路经营平台

面向业务领域各版块模块的功能设计方案及数据库规划方案

供应链 + 零售 + 批发 + 门店进销存 + 客户进销存 + CRM + 财务结算 + 一鱼一码追溯

版本:V1.0    适用数据库:SQL Server 2020    适用架构:多租户业务库

一、方案定位与设计目标

本方案面向水产海鲜鱼业企业,将原有供应链系统升级为“水产海鲜鱼业全链路经营平台”。平台不再只是采购、库存、订单系统,而是覆盖供应链经营、线上零售、B2B批发、门店进销存、客户进销存、CRM客户经营、财务结算、一鱼一码追溯、冷链配送与经营分析的一体化业务系统。

1.1 核心建设目标

一套业务库支撑多渠道经营:公司大仓、线上零售、批发商城、门店收银、礼品卡提货、客户进销存统一打通。

一鱼一码贯穿采购、赋码、入库、库存、零售/批发/POS出库、配送、签收和客户追溯。

商品域与价格域分离:PMS只管理商品主数据,零售价格、批发价格、客户价、阶梯价、报价单统一进入price_价格域。

公司库存、门店库存、客户库存边界清晰:wms_、store_inv_、cust_inv_各自独立,避免库存主体混淆。

CRM与批发商城、价格、合同、财务、配送打通,实现从线索到回款的客户经营闭环。

统一多租户、组织、主从表、审计字段和SQL Server 2020命名规范,便于后续生成代码和长期维护。

1.2 总体业务域架构图

图1:水产海鲜鱼业全链路经营平台总体业务域架构。基础主数据、核心业务交易与结算分析支撑三层协同,订单、库存、鱼码、财务和追溯是贯穿全系统的主线。

二、数据库总体分域与表前缀规划

数据库采用业务域前缀方式组织。每个前缀代表一个边界清晰的业务领域,减少跨模块表名混乱,便于权限、代码包、接口、报表和数据治理按领域拆分。

前缀

业务领域

职责边界

org_

租户组织域

租户、公司、组织、门店、仓库归属;不承载用户权限菜单角色。

base_

基础资料域

通用字典、行政区域、参数、公共基础数据。

file_

文件附件域

图片、视频、检测报告、合同附件、凭证文件。

pms_

商品中心域

商品分类、商品、SKU、单位、条码、图片、属性;不放价格。

price_

价格中心域

零售价、批发价、客户价、价格组、阶梯价、报价单、调价记录。

sup_

供应商域

供应商档案、资质、供货商品、供应商风险。

cus_

B2B客户域

正式客户档案、账期、价格组、客户门店、客户配置。

crm_

CRM客户经营域

线索、跟进、拜访、商机、报价、合同、客户画像、服务工单。

ums_

会员域

C端会员、会员等级、积分、储值、会员权益。

pur_

采购域

采购申请、采购订单、收货、采购退货、采购对账。

wms_

公司仓储库存域

公司大仓、库区库位、入库、出库、盘点、移库、报损报溢、库存汇总。

store_goods_

门店商品域

自有门店商品、门店条码、门店上下架、门店销售单位。

store_inv_

门店进销存域

自有门店/前置仓库存、入库、出库、盘点、调拨、损耗。

cust_inv_

客户进销存域

B2B客户自己的轻量进销存、客户商品、客户库存、客户入库出库。

fish_

水产一鱼一码域

单鱼档案、单鱼重量、鱼码库存、鱼码流转、箱/筐关系、分割记录。

trace_

赋码追溯域

赋码规则、追溯码、批次码、箱码、追溯流转、客户扫码。

oms_

订单中心域

统一订单、订单明细、鱼码绑定、支付配送信息、售后。

retail_

零售商城域

C端商城商品、规格、购物车、零售拣货、零售履约。

wholesale_

批发商城域

B2B批发商品、称重下单、客户价下单、重量差异结算。

gift_

礼品卡提货域

礼品卡方案、卡批次、卡实例、预约提货、核销。

pos_

线下收银域

门店称重收银、班次、支付、小票、退款。

promo_

营销域

优惠券、满减、促销、会员营销、批发促销。

tms_

配送运输域

线路、配送单、车辆、司机、装车、签收、回单。

cold_

冷链温控域

温控设备、温度记录、冷链异常、温控报表。

qc_

质量检测域

检测报告、质检批次、检疫证书、抽检异常。

fin_

财务结算域

应收、应付、对账、收款、付款、发票、客户账期。

pay_

支付退款域

在线支付单、支付流水、退款单、支付通道。

rpt_

经营报表域

销售日报、库存日报、毛利、客户、供应商、损耗分析。

audit_

日志审计域

业务操作日志、字段级变更日志、导出审计、扫码审计。

2.1 数据库命名与字段规范

所有表和字段统一使用清晰、可读、可扩展的命名规则,减少历史字段、缩写字段、业务单号重复关联字段带来的理解成本。

规范项

建议字段/类型

说明

主键

id BIGINT IDENTITY(1,1)

每张业务表统一使用id作为主键。

租户字段

tenant_id BIGINT NOT NULL

多租户隔离字段,全表保留。

组织字段

org_id BIGINT NULL

部门字段统一改为org_id;客户进销存可增加customer_org_id。

主从关系

子表.parent_id -> 主表.id

所有明细表以_item结尾,并用parent_id关联主表id。

审计字段

CreateID/Creator/CreateDate/ModifyID/Modifier/ModifyDate

统一审计字段,CreateDate/ModifyDate按现有口径使用bigint时间戳。

启用状态

enabled TINYINT

1启用,0停用。

业务状态

status INT

用于订单、库存、鱼码、财务等状态机。

删除标记

del_flag TINYINT

0正常,1删除。

数量精度

DECIMAL(18,3)

水产重量、数量建议三位小数。

金额精度

DECIMAL(18,2)

金额、单价、结算金额使用两位或按业务扩展。

2.2 数据库标准关系图

三、组织、基础资料与文件附件模块

业务前缀:org_ / base_ / file_

提供多租户、组织、门店、仓库、区域、字典、附件等公共基础能力。该模块不包含系统用户、角色、菜单、权限,这些能力建议对接独立IAM或RBAC平台。

功能设计

租户与公司主体管理

组织机构、门店、仓库档案管理

行政区域、业务字典、基础参数管理

文件、图片、视频、检测报告、合同附件统一管理

为商品、采购、库存、订单、CRM、财务提供基础维度

核心表规划

表名

表说明

关键字段

设计说明

org_tenant

租户表

id, tenant_code, tenant_name, enabled

全库tenant_id的来源。

org_company

公司主体表

id, company_code, company_name, tenant_id

供应链公司、经营主体。

org_unit

组织机构表

id, parent_id, org_code, org_name

org_id统一引用该表。

org_shop

门店表

id, shop_code, shop_name, org_id

POS、门店进销存、门店商城使用。

org_warehouse

仓库表

id, warehouse_code, warehouse_name, warehouse_type

公司仓、门店仓、前置仓。

base_dict_type

字典类型

id, dict_code, dict_name

通用字典类型。

base_dict_item

字典明细

parent_id, item_code, item_name, sort_code

通过parent_id关联base_dict_type。

file_resource

文件资源

id, file_name, file_url, file_type, business_type

检测报告、商品图、合同附件等统一存储。

关键关系

org_tenant 1:N org_company/org_unit/org_shop/org_warehouse

base_dict_type 1:N base_dict_item

file_resource通过business_type + business_id弱关联各业务单据

四、PMS商品中心模块

业务前缀:pms_

PMS只负责商品主数据:商品是什么、有哪些SKU、用什么单位、有哪些条码/图片/属性、是否一鱼一码、是否称重销售。价格全部拆分到price_价格域。

功能设计

商品分类树管理

商品主档案管理

SKU规格管理

商品单位与换算关系管理

商品条码、图片、属性管理

水产属性管理:是否一鱼一码、是否称重、是否启用追溯、保质期、储存温度

核心表规划

表名

表说明

关键字段

设计说明

pms_category

商品分类

id, parent_id, category_code, category_name

分类树,支持水产分类。

pms_goods

商品主表

id, goods_code, goods_name, category_id, seafood_flag, one_code_flag, weighing_flag

定义商品基础属性。

pms_goods_sku

商品SKU

id, goods_id, sku_code, sku_name, spec_desc

一个商品多个SKU。

pms_goods_unit

商品单位

id, unit_code, unit_name, precision_scale

斤、公斤、条、箱、盒等。

pms_goods_unit_relation

单位换算

id, goods_id, sku_id, from_unit_id, to_unit_id, ratio

支持箱/斤/条换算。

pms_goods_barcode

商品条码

id, sku_id, unit_id, barcode

销售条码、包装条码。

pms_goods_media

商品媒体

id, goods_id, media_type, media_url

商品图片、视频。

pms_goods_attr

商品属性定义

id, attr_code, attr_name

产地、养殖方式、储温等。

pms_goods_attr_value

商品属性值

id, goods_id, attr_id, attr_value

商品属性实例。

关键关系

pms_category 1:N pms_goods

pms_goods 1:N pms_goods_sku

pms_goods_sku 1:N pms_goods_barcode

pms_goods 1:N pms_goods_media

pms_goods_unit_relation关联SKU与单位换算

五、价格中心模块

业务前缀:price_

统一管理零售价、批发价、客户价、价格组价、会员价、阶梯价、报价单和调价记录。所有销售前台从price_读取价格策略,PMS不再保存业务价格。

功能设计

零售价格政策

批发价格政策

客户专属价

价格组价格

阶梯价

报价单与合同价

调价记录与价格生效期管理

按渠道、客户、会员、门店差异化定价

核心表规划

表名

表说明

关键字段

设计说明

price_policy

价格政策主表

id, policy_code, policy_name, channel_type, start_time, end_time

零售/批发/门店/会员价格策略。

price_policy_item

价格政策明细

parent_id, sku_id, unit_id, sale_price

明细表,关联商品SKU。

price_group

价格组

id, group_code, group_name, customer_scope

B2B客户价格组。

price_group_item

价格组明细

parent_id, sku_id, unit_id, group_price

价格组商品价。

price_customer

客户专属价格

id, customer_id, sku_id, unit_id, customer_price

覆盖价格组价格。

price_ladder

阶梯价主表

id, ladder_code, ladder_name, ladder_type

按数量/重量分段。

price_ladder_item

阶梯价明细

parent_id, min_qty, max_qty, ladder_price

阶梯价区间。

price_quote

报价单主表

id, quote_code, customer_id, valid_start, valid_end

CRM或销售发起报价后生效。

price_quote_item

报价单明细

parent_id, sku_id, unit_id, quote_price

报价商品明细。

price_adjust_log

调价记录

id, price_type, business_id, old_price, new_price

价格变更审计。

关键关系

pms_goods_sku + pms_goods_unit -> price_*_item

cus_customer -> price_customer/price_quote

crm_quote审批通过后可生成price_quote

retail_/wholesale_/pos_从price_取价

六、供应商与采购模块

业务前缀:sup_ / pur_

管理供应商档案、资质、供货商品、采购申请、采购订单、到货收货、采购退货和采购对账。水产采购要与质检、赋码和一鱼一码入库打通。

功能设计

供应商档案与资质管理

供应商供货商品管理

采购申请与采购订单

采购收货与差异处理

采购退货

采购对账与应付生成

采购批次、检测报告、捕捞日期/产地记录

核心表规划

表名

表说明

关键字段

设计说明

sup_supplier

供应商档案

id, supplier_code, supplier_name, supplier_type, settle_type

供应商主数据。

sup_supplier_goods

供应商供货商品

id, supplier_id, goods_id, sku_id, default_price

供应商商品关系。

sup_supplier_cert

供应商资质证书

id, supplier_id, cert_type, cert_no, expire_date

营业执照、检疫资质等。

pur_apply

采购申请主表

id, apply_code, apply_date, status

采购需求。

pur_apply_item

采购申请明细

parent_id, sku_id, unit_id, apply_qty

明细表。

pur_order

采购订单主表

id, order_code, supplier_id, order_date, status

供应商采购订单。

pur_order_item

采购订单明细

parent_id, sku_id, unit_id, order_qty, unit_price

采购商品明细。

pur_receive

采购收货主表

id, receive_code, supplier_id, warehouse_id, receive_date

到货收货。

pur_receive_item

采购收货明细

parent_id, sku_id, unit_id, receive_qty, receive_weight, batch_no

称重和批次信息。

pur_return

采购退货主表

id, return_code, supplier_id, status

退货给供应商。

pur_return_item

采购退货明细

parent_id, sku_id, unit_id, return_qty, return_weight

退货明细。

关键关系

sup_supplier 1:N pur_order/pur_receive/pur_return

pur_order 1:N pur_order_item

pur_receive可触发wms_inbound与trace_code_task

pur_receive_item与qc_report/trace_batch关联

七、公司仓储库存模块

业务前缀:wms_

负责公司大仓库存、入库、出库、盘点、移库、报损报溢、库存流水和成本核算。公司库存主核算口径使用product_sku_id + unit_id,不以商城销售sku_unit_id作为主核算口径。

功能设计

仓库/库区/库位管理

采购入库、销售出库、调拨出入库

库存汇总与库存流水

盘点、报损、报溢

批次与保质期管理

成本核算与库存金额

与一鱼一码明细库存同步

核心表规划

表名

表说明

关键字段

设计说明

wms_warehouse

仓库表

id, warehouse_code, warehouse_name, warehouse_type

公司仓、冷库、前置仓。

wms_area

库区表

id, warehouse_id, area_code, area_name

冷冻区、冷藏区等。

wms_location

库位表

id, area_id, location_code, location_name

具体库位。

wms_stock

实时库存汇总

id, warehouse_id, sku_id, unit_id, stock_qty, stock_weight

公司库存汇总。

wms_stock_flow

库存流水

id, sku_id, unit_id, bill_type, change_qty, change_weight

所有库存变化。

wms_inbound

入库单主表

id, inbound_code, inbound_type, warehouse_id, status

采购/退货/调拨入库。

wms_inbound_item

入库单明细

parent_id, sku_id, unit_id, inbound_qty, inbound_weight

入库明细。

wms_outbound

出库单主表

id, outbound_code, outbound_type, warehouse_id, status

销售/报损/调拨出库。

wms_outbound_item

出库单明细

parent_id, sku_id, unit_id, outbound_qty, outbound_weight

出库明细。

wms_stocktake

盘点单主表

id, stocktake_code, warehouse_id, status

仓库盘点。

wms_stocktake_item

盘点单明细

parent_id, sku_id, unit_id, book_qty, count_qty, diff_qty

盘点差异。

wms_loss_overflow

报损报溢主表

id, bill_code, inout_type, warehouse_id, status

报损/报溢。

wms_loss_overflow_item

报损报溢明细

parent_id, sku_id, unit_id, change_qty, change_weight

明细表。

关键关系

wms_warehouse 1:N wms_area 1:N wms_location

wms_inbound/wms_outbound/stocktake/loss_overflow均有_item明细

wms_stock由单据审核和fish_item汇总联动

八、水产一鱼一码与赋码追溯模块

业务前缀:fish_ / trace_

水产行业核心扩展模块。trace_负责赋码与对外追溯,fish_负责具体鱼码库存和鱼的业务状态。每一条鱼一个唯一鱼码,库存汇总按重量和条数统计,拣货出库按鱼码扫码绑定。

功能设计

赋码规则、赋码任务、二维码打印

单鱼称重、单鱼档案、一鱼一码库存

鱼码状态流转:待入库、在库、锁定、拣货、出库、退货、报损

箱码/筐码与鱼码关系

礼盒、零售、批发、POS扫码绑定鱼码

客户扫码追溯供应商、批次、检测报告、订单、配送信息

核心表规划

表名

表说明

关键字段

设计说明

trace_code_rule

赋码规则

id, rule_code, code_type, prefix, serial_length

鱼码、批次码、箱码、礼品卡码规则。

trace_code_task

赋码任务

id, task_code, source_bill_id, code_type, status

采购入库或后台发起赋码。

trace_code

追溯码主表

id, trace_code, code_type, goods_id, batch_no, status

追溯码基础信息。

trace_code_flow

追溯码流转

id, trace_code, business_type, bill_type, bill_id, before_status, after_status

码全生命周期。

trace_batch

追溯批次

id, batch_no, supplier_id, production_date, qc_report_id

采购/生产批次。

trace_scan_log

客户扫码记录

id, trace_code, scan_time, scan_ip, scan_user

对外扫码追溯日志。

fish_item

单鱼库存表

id, fish_code, trace_code, sku_id, actual_weight, owner_type, owner_id, fish_status

一条鱼一个库存对象。

fish_item_flow

单鱼流转记录

id, fish_code, bill_type, bill_id, change_status, change_weight

鱼码业务流转。

fish_weight_record

称重记录

id, fish_code, weight_value, device_id, weigh_time

电子秤称重记录。

fish_box

箱/筐主表

id, box_code, warehouse_id, status

箱码/筐码。

fish_box_item

箱/筐明细

parent_id, fish_code, actual_weight

箱码下面的鱼码。

fish_split

分割主表

id, source_fish_code, split_type, status

整鱼分割。

fish_split_item

分割明细

parent_id, child_fish_code, split_weight

分割子码。

关键关系

trace_code与fish_item通过trace_code/fish_code关联

fish_item owner_type支持公司仓/门店/客户

oms_order_trace_item/pos_weight_item/gift_pickup_item均可绑定fish_code

fish_box 1:N fish_box_item

九、OMS统一订单中心模块

业务前缀:oms_

OMS统一承接零售商城、批发商城、礼品卡提货、POS线下收银、后台手工单等所有销售履约业务。订单明细可以是规格商品、称重商品、礼盒组合、礼品卡兑换,也可以绑定具体鱼码。

功能设计

统一订单主表和订单明细

订单来源、销售渠道、销售模式统一编码

订单支付、配送、售后信息统一记录

订单拣货绑定鱼码

预估重量与实际重量差异结算

订单全生命周期日志

核心表规划

表名

表说明

关键字段

设计说明

oms_order

订单主表

id, order_code, order_source, sale_channel, sale_mode, customer_id, member_id, status

统一订单主表。

oms_order_item

订单明细

parent_id, sku_id, unit_id, qty, estimate_weight, actual_weight, unit_price, amount

商品明细。

oms_order_trace_item

订单鱼码绑定

parent_id, order_item_id, fish_code, actual_weight, scan_time

扫码拣货绑定具体鱼码。

oms_order_pay

订单支付信息

parent_id, pay_order_id, pay_amount, pay_status

关联pay_。

oms_order_delivery

订单配送信息

parent_id, delivery_id, receiver_name, receiver_mobile

关联tms_。

oms_order_log

订单操作日志

id, order_id, operate_type, operate_user, operate_time

订单生命周期日志。

oms_after_sale

售后主表

id, after_code, order_id, after_type, status

退款/退货/补差。

oms_after_sale_item

售后明细

parent_id, order_item_id, fish_code, qty, weight

售后商品和鱼码。

关键关系

retail_/wholesale_/gift_/pos_业务单最终进入oms_order

oms_order 1:N oms_order_item

oms_order_item 1:N oms_order_trace_item

oms_order审核出库时联动wms_与fish_

十、在线零售商城模块

业务前缀:retail_

面向C端消费者,支持规格鱼、礼盒、套餐、礼品卡购买。零售商城下单时客户买的是重量区间规格或礼盒,不直接选择具体鱼码;仓库拣货时扫码绑定具体鱼。

功能设计

零售商品上下架

重量区间规格管理

零售购物车

零售订单扩展

零售拣货任务

零售礼盒/套餐展示

会员价、优惠券、满减活动

门店自提、同城配送、冷链快递

核心表规划

表名

表说明

关键字段

设计说明

retail_goods

零售商品配置

id, goods_id, sku_id, sale_mode, enabled

商品是否在零售商城销售。

retail_goods_spec

重量规格

id, goods_id, sku_id, min_weight, max_weight, spec_price

如0.5-0.7斤一档。

retail_cart

购物车

id, member_id, goods_id, spec_id, qty

C端购物车。

retail_order

零售订单扩展

id, oms_order_id, member_id, retail_scene

零售订单补充信息。

retail_order_item

零售订单明细扩展

parent_id, oms_order_item_id, spec_id, gift_flag

零售明细。

retail_pick_task

零售拣货任务

id, task_code, order_id, warehouse_id, status

零售拣货。

retail_pick_task_item

零售拣货任务明细

parent_id, order_item_id, spec_id, required_qty, picked_qty

扫码鱼码满足规格。

关键关系

retail_order关联oms_order

retail_goods_spec通过重量区间匹配fish_item

retail_pick_task_item扫码写入oms_order_trace_item

十一、B2B批发商城模块

业务前缀:wholesale_

面向餐饮店、商超、学校食堂、企业食堂、水产档口等B2B客户,支持按斤、按箱、按批次、按规格销售,并支持客户价、账期、对账和配送线路。

功能设计

批发商品配置

客户价格和价格组联动

按重量下单

按实际出库重量结算

批发拣货称重

重量差异、多退少补

账期订单、应收生成

批发客户对账

核心表规划

表名

表说明

关键字段

设计说明

wholesale_goods

批发商品配置

id, goods_id, sku_id, sale_mode, min_order_qty

批发商城商品。

wholesale_order

批发订单扩展

id, oms_order_id, customer_id, settle_type, tolerance_weight

B2B订单扩展。

wholesale_order_item

批发订单明细扩展

parent_id, oms_order_item_id, order_weight, actual_weight

称重结算数据。

wholesale_pick_task

批发拣货任务

id, task_code, order_id, warehouse_id, status

批发拣货。

wholesale_pick_task_item

批发拣货任务明细

parent_id, order_item_id, required_weight, picked_weight

扫码累计重量。

wholesale_weight_confirm

称重确认

id, order_id, confirm_weight, confirm_amount, confirm_user

实际出库确认。

wholesale_settle_diff

重量差异结算

id, order_id, diff_weight, diff_amount, handle_type

多退少补/转应收。

关键关系

cus_customer -> wholesale_order

price_customer/price_group为批发取价来源

wholesale_order关联oms_order

出库后生成fin_receivable

十二、礼品卡提货模块

业务前缀:gift_

礼品卡是提货权益,不是具体鱼码。售卡时可不锁定具体鱼,预约提货时锁规格库存,实际提货时扫码绑定鱼码并核销。

功能设计

礼品卡方案管理

礼品卡批次生成

卡号卡密/二维码管理

售卡订单

提货预约

提货核销

礼品卡流水

礼盒卡、重量卡、金额卡、商品卡

核心表规划

表名

表说明

关键字段

设计说明

gift_card_plan

礼品卡方案

id, plan_code, plan_name, card_type, sale_price, valid_days

定义卡权益。

gift_card_plan_item

礼品卡权益明细

parent_id, goods_id, spec_id, need_qty, need_weight

兑换内容。

gift_card_batch

礼品卡批次

id, batch_code, plan_id, card_count

批量发卡。

gift_card

礼品卡实例

id, card_no, card_password, plan_id, status, expire_time

单张卡。

gift_pickup_order

提货预约单

id, pickup_code, card_id, pickup_shop_id, pickup_time, status

客户预约提货。

gift_pickup_order_item

提货明细

parent_id, goods_id, spec_id, need_qty, picked_qty

需要提货的商品。

gift_card_flow

礼品卡流水

id, card_id, flow_type, amount, operate_time

售卡、预约、核销、作废。

gift_verify_log

核销日志

id, card_id, pickup_order_id, verify_user, verify_time

核销记录。

关键关系

gift_card_plan 1:N gift_card_plan_item

gift_card_batch 1:N gift_card

gift_pickup_order关联oms_order和fish_item扫码出库

十三、线下POS称重收银模块

业务前缀:pos_

服务线下门店现场销售,支持扫码鱼码、电子秤称重、按斤计价、收款、小票打印、退款和班次交接。POS销售成功后即时扣减门店库存和鱼码库存。

功能设计

收银班次

扫码称重销售

鱼码扫码销售

会员识别与积分储值

多支付方式

挂单/取单

退款退货

小票打印

收款后门店库存自动出库

核心表规划

表名

表说明

关键字段

设计说明

pos_shift

收银班次

id, shift_code, shop_id, cashier_id, start_time, end_time

班次管理。

pos_order

POS销售单

id, order_code, shop_id, member_id, total_amount, pay_status

线下销售单。

pos_order_item

POS销售明细

parent_id, sku_id, unit_id, qty, weight, unit_price, amount

销售商品。

pos_weight_item

称重鱼码明细

parent_id, fish_code, actual_weight, unit_price, amount

一鱼一码/称重销售。

pos_payment

POS支付记录

id, order_id, pay_type, pay_amount, pay_time

现金/刷卡/扫码支付。

pos_refund

POS退款

id, refund_code, order_id, refund_amount, status

退款退货。

pos_print_log

小票打印日志

id, order_id, print_type, print_time

打印记录。

pos_device

收银设备

id, shop_id, device_code, device_type

收银机、电子秤、打印机。

关键关系

pos_order可同步或生成oms_order

pos_order收款成功后生成store_inv_outbound

pos_weight_item绑定fish_code并变更fish_item状态

十四、门店商品与门店进销存模块

业务前缀:store_goods_ / store_inv_

管理自有门店、直营网点、前置仓的商品和库存。公司大仓库存使用wms_,门店库存使用store_inv_,二者通过调拨、配送或门店采购发生业务关系。

功能设计

门店商品资料与上下架

门店入库:总部调入、供应商直送、门店采购、退货入库

门店出库:POS销售、门店报损、调拨出库

门店盘点和自动盘盈盘亏

门店批次、保质期、鱼码库存

门店进销存日报、损耗分析

核心表规划

表名

表说明

关键字段

设计说明

store_goods

门店商品

id, shop_id, goods_id, sku_id, shop_goods_name, enabled

门店商品映射。

store_goods_unit

门店商品单位

id, store_goods_id, unit_id, barcode, sale_flag

门店销售单位。

store_goods_barcode

门店条码

id, store_goods_unit_id, barcode

门店扫码。

store_inv_stock

门店实时库存

id, shop_id, warehouse_id, sku_id, unit_id, stock_qty, stock_weight

门店库存汇总。

store_inv_stock_flow

门店库存流水

id, shop_id, sku_id, bill_type, change_qty, change_weight

门店库存变化。

store_inv_inbound

门店入库单

id, inbound_code, shop_id, inbound_type, status

门店入库。

store_inv_inbound_item

门店入库明细

parent_id, sku_id, unit_id, inbound_qty, inbound_weight

明细。

store_inv_outbound

门店出库单

id, outbound_code, shop_id, outbound_type, status

门店出库。

store_inv_outbound_item

门店出库明细

parent_id, sku_id, unit_id, outbound_qty, outbound_weight

明细。

store_inv_transfer

门店调拨单

id, transfer_code, source_shop_id, target_shop_id, status

门店间/总部到门店调拨。

store_inv_transfer_item

门店调拨明细

parent_id, sku_id, unit_id, transfer_qty, transfer_weight

调拨明细。

store_inv_stocktake

门店盘点单

id, stocktake_code, shop_id, status

门店盘点。

store_inv_stocktake_item

门店盘点明细

parent_id, sku_id, book_qty, count_qty, diff_qty

盘点差异。

store_inv_fish_item

门店鱼码库存

id, shop_id, fish_code, actual_weight, fish_status

门店持有的单鱼库存。

关键关系

wms_调拨到门店生成store_inv_inbound

store_inv_outbound由pos_order或门店报损生成

store_inv_fish_item可由fish_item owner_type=门店同步或视图化实现

十五、客户进销存模块

业务前缀:cust_inv_

客户进销存是给B2B客户使用的轻量进销存,不是供应链公司的库存。客户从批发商城下单并签收后,可以自动生成客户入库,客户再维护自己的库存、销售、盘点和报损。

功能设计

客户商品管理,可从平台商品复制

客户采购入库,批发订单签收自动入库

客户销售出库

客户库存汇总与流水

客户盘点、报损、调拨

客户进销存日报

客户采购账单与对账

核心表规划

表名

表说明

关键字段

设计说明

cust_inv_goods

客户商品

id, customer_id, source_goods_id, goods_name, enabled

客户自己的商品档案。

cust_inv_goods_unit

客户商品单位

id, cust_goods_id, unit_id, barcode, sale_flag

客户销售/库存单位。

cust_inv_stock

客户库存

id, customer_id, customer_org_id, cust_goods_id, unit_id, stock_qty, stock_weight

客户实时库存。

cust_inv_stock_flow

客户库存流水

id, customer_id, bill_type, change_qty, change_weight

客户库存变化。

cust_inv_inbound

客户入库单

id, inbound_code, customer_id, source_order_id, status

客户签收入库。

cust_inv_inbound_item

客户入库明细

parent_id, cust_goods_id, unit_id, inbound_qty, inbound_weight

入库明细。

cust_inv_outbound

客户出库单

id, outbound_code, customer_id, outbound_type, status

客户销售/消耗出库。

cust_inv_outbound_item

客户出库明细

parent_id, cust_goods_id, unit_id, outbound_qty, outbound_weight

出库明细。

cust_inv_stocktake

客户盘点单

id, stocktake_code, customer_id, status

客户盘点。

cust_inv_stocktake_item

客户盘点明细

parent_id, cust_goods_id, book_qty, count_qty, diff_qty

盘点明细。

cust_inv_loss

客户报损单

id, loss_code, customer_id, status

客户损耗。

cust_inv_loss_item

客户报损明细

parent_id, cust_goods_id, loss_qty, loss_weight

损耗明细。

cust_inv_daily_report

客户进销存日报

id, customer_id, report_date, begin_qty, in_qty, out_qty, end_qty

日报汇总。

关键关系

tms_delivery签收后可生成cust_inv_inbound

cust_inv_stock按customer_id + customer_org_id隔离

cust_inv可选择继续追踪fish_code或仅记录汇总库存

十六、CRM客户经营模块

业务前缀:crm_

CRM负责客户从线索到成交、从成交到复购的经营过程。它不替代cus_客户主档案,而是管理线索、跟进、商机、报价、合同、拜访、服务工单和客户画像。

功能设计

销售线索管理

客户跟进与拜访记录

商机管理

报价和合同管理

客户标签和客户画像

销售任务和跟进提醒

客户服务工单

与价格、批发订单、财务应收、配送履约打通

核心表规划

表名

表说明

关键字段

设计说明

crm_lead

销售线索

id, lead_code, lead_name, source_channel, lead_status

潜在客户。

crm_lead_follow

线索跟进

parent_id, follow_type, follow_content, next_follow_time

跟进记录。

crm_customer_profile

客户画像

id, customer_id, total_amount, unpaid_amount, last_order_time, risk_level

正式客户画像。

crm_contact

客户联系人

id, customer_id, contact_name, mobile, position

联系人。

crm_visit

拜访记录

id, customer_id, visit_time, visit_result, next_plan

拜访过程。

crm_opportunity

销售商机

id, opportunity_code, customer_id, stage, expected_amount

商机。

crm_opportunity_item

商机明细

parent_id, goods_id, sku_id, expected_qty, expected_amount

意向商品。

crm_quote

CRM报价

id, quote_code, customer_id, quote_status, valid_end

销售过程报价。

crm_quote_item

CRM报价明细

parent_id, sku_id, unit_id, quote_price

报价商品。

crm_contract

客户合同

id, contract_code, customer_id, start_date, end_date, status

合同。

crm_contract_item

合同明细

parent_id, sku_id, unit_id, contract_price, contract_qty

合同商品/条款。

crm_service_ticket

客户服务工单

id, customer_id, ticket_type, priority, status

售后/投诉/服务。

crm_customer_tag

客户标签

id, tag_code, tag_name

客户标签。

crm_customer_tag_rel

客户标签关系

id, customer_id, tag_id

客户画像标签。

关键关系

crm_lead转正式客户生成cus_customer

crm_quote审批通过可生成price_quote/price_customer

crm_contract可约束wholesale_下单价格和账期

crm_customer_profile从oms_/fin_/tms_汇总客户经营数据

十七、配送冷链、质量检测、财务支付、营销报表与审计模块

前缀

模块

核心表

设计说明

tms_

配送运输

tms_route, tms_delivery_order, tms_delivery_order_item, tms_vehicle, tms_driver, tms_loading_task, tms_sign_record

固定线路、司机任务、装车、配送、签收、回单。

cold_

冷链温控

cold_device, cold_temperature_log, cold_exception, cold_trip_record

冷链设备、运输温度、异常预警,与tms_delivery_order关联。

qc_

质量检测

qc_report, qc_report_item, qc_batch, qc_certificate, qc_sample, qc_exception

检测报告与追溯批次、鱼码、供应商关联。

fin_

财务结算

fin_receivable, fin_receivable_item, fin_payable, fin_payable_item, fin_customer_statement, fin_supplier_statement, fin_invoice

客户应收、供应商应付、对账、发票、账期、欠款。

pay_

支付退款

pay_order, pay_flow, pay_refund, pay_channel

线上支付、POS支付、退款、支付渠道。

promo_

营销活动

promo_coupon, promo_coupon_item, promo_activity, promo_activity_item, promo_member_rule

零售优惠券、批发促销、会员营销。

rpt_

经营报表

rpt_sales_daily, rpt_inventory_daily, rpt_gross_profit_daily, rpt_customer_sales, rpt_fish_loss

交易库汇总后的分析表,不参与核心交易写入。

audit_

日志审计

audit_business_log, audit_field_change, audit_export_log, audit_scan_log, audit_print_log

字段级变更日志、导出审计、扫码审计。

十八、核心业务闭环流程设计

18.1 一鱼一码全链路流转

采购收货时按鱼种、批次、供应商、检测报告生成赋码任务。

每条鱼称重后生成fish_item,并同步trace_code,进入wms_stock汇总库存。

零售、批发、礼品卡、POS出库时都必须扫码绑定fish_code。

客户扫码可通过trace_code看到供应商、批次、检测报告、入库、出库、配送和签收信息。

18.2 CRM、批发商城、客户进销存闭环

CRM线索经过跟进、商机、报价、合同后转为正式B2B客户。

正式客户配置价格组、客户价、账期和配送线路后进入批发商城下单。

批发订单经OMS、WMS、TMS配送签收后,可自动生成客户进销存入库。

客户侧库存、采购、销售、盘点、损耗数据可反哺CRM客户画像和财务对账。

18.3 门店进销存与POS闭环

公司大仓通过调拨、配送或门店采购形成store_inv_inbound。

门店POS称重销售成功后生成store_inv_outbound,扣减门店库存。

一鱼一码商品在门店销售时必须绑定fish_code,fish_item.owner_type从门店变更为已销售。

门店盘点差异可以自动生成store_inv_loss_overflow,并形成库存流水。

门店销售数据进入rpt_进行门店毛利、损耗、畅销品和库存周转分析。

十九、重点数据库边界与集成规则

边界

规则

原因

商品与价格

pms_只放商品主数据;price_统一放所有价格。

避免商品表价格字段膨胀,支持多渠道和客户差异定价。

公司库存与门店库存

公司大仓wms_;自有门店store_inv_。

库存主体不同,不允许混表核算。

客户库存

客户自己的库存放cust_inv_,以customer_id/customer_org_id隔离。

不能把客户库存计入公司库存。

一鱼一码

fish_item是具体鱼实物,trace_code是码和追溯展示。

fish_负责库存状态,trace_负责赋码和对外追溯。

订单中心

所有销售渠道统一落到oms_order。

便于支付、配送、出库、售后和财务统一。

CRM与客户

crm_管理经营过程,cus_管理正式客户档案。

线索成交后转cus_customer。

财务

fin_记录应收应付和对账,pay_记录支付流水。

业务应收与支付流水不能混同。

权限菜单

用户权限菜单角色不放入水产业务库。

对接独立IAM/RBAC平台。

二十、开发落地建议

20.1 后端模块建议

按业务域建包:pms、price、pur、wms、fish、trace、oms、retail、wholesale、gift、pos、storeinv、custinv、crm、fin、tms、rpt、audit。

每个业务模块内部保持Controller / Service / ServiceImpl / Dao / Entity / Req / Resp / Excel / XML目录约束。

请求对象使用Req前缀,响应对象使用Resp前缀;不再以DTO/VO作为主要命名口径。

主表与明细表保存采用事务,明细表统一使用parent_id。

所有涉及库存、鱼码、支付、财务的审核/反审核必须幂等,并写入audit_和业务流水。

20.2 前端模块建议

后台管理端按业务域建立菜单:商品、价格、采购、仓储、一鱼一码、追溯、订单、零售、批发、礼品卡、POS、门店进销存、客户进销存、CRM、财务、报表。

每个功能一般保留列表页和新增/修改共用页,复杂业务如扫码拣货、称重收银、CRM跟进可设计专用工作台。

列表页默认隐藏id、parent_id、tenant_id等技术字段,展示名称字段和业务状态。

移动端重点包括:仓库扫码、门店POS、司机配送、客户进销存、CRM拜访。

20.3 分阶段实施路线

阶段

目标

重点模块

交付成果

第一阶段

主数据与一鱼一码基础

pms_, price_, sup_, pur_, wms_, fish_, trace_

完成商品、价格、采购入库、赋码、鱼码库存和基础追溯。

第二阶段

零售与批发交易闭环

retail_, wholesale_, oms_, pay_

完成零售规格销售、批发称重销售、统一订单和支付。

第三阶段

门店与POS闭环

store_goods_, store_inv_, pos_

完成门店库存、调拨、盘点、POS称重销售。

第四阶段

客户进销存与CRM

crm_, cus_, cust_inv_

完成客户线索、报价、合同、客户入库和客户库存。

第五阶段

礼品卡、冷链、财务对账

gift_, tms_, cold_, fin_

完成礼品卡提货、配送签收、冷链温控和应收应付。

第六阶段

报表、审计与智能分析

rpt_, audit_

完成毛利、损耗、客户贡献、库存周转和审计追溯。

二十一、附录:核心字段标准建议

字段名

SQL Server类型

规则

说明

tenant_id

BIGINT

NOT NULL

租户ID,全表必备。

org_id

BIGINT

NULL

组织ID,替代dept_id。

shop_id

BIGINT

NULL

门店ID,门店业务使用。

customer_id

BIGINT

NULL

B2B客户ID,客户业务使用。

parent_id

BIGINT

明细表必填

所有_item明细表关联主表id。

goods_id

BIGINT

NULL

商品主表ID。

sku_id

BIGINT

NULL

商品SKU ID。

unit_id

BIGINT

NULL

库存/销售单位ID。

fish_code

NVARCHAR(64)

NULL

唯一鱼码。

trace_code

NVARCHAR(64)

NULL

追溯码。

actual_weight

DECIMAL(18,3)

NULL

实际重量。

stock_weight

DECIMAL(18,3)

DEFAULT 0

库存重量。

stock_qty

DECIMAL(18,3)

DEFAULT 0

库存数量。

amount

DECIMAL(18,2)

DEFAULT 0

金额。

status

INT

DEFAULT 0

业务状态。

enabled

TINYINT

DEFAULT 1

启用状态。

del_flag

TINYINT

DEFAULT 0

删除标记。

CreateID

BIGINT

NULL

创建人ID。

Creator

NVARCHAR(30)

NULL

创建人名称。

CreateDate

BIGINT

NULL

创建时间戳。

ModifyID

BIGINT

NULL

修改人ID。

Modifier

NVARCHAR(30)

NULL

修改人名称。

ModifyDate

BIGINT

NULL

修改时间戳。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐