From 3aa74cf9b2cbd4bb5cae62608cadee852b7ef77e Mon Sep 17 00:00:00 2001
From: “wangming” <“wangming@antissoft.com”>
Date: Thu, 18 Sep 2025 11:20:36 +0800
Subject: [PATCH] 提交
---
netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs | 8 +++++---
数据库说明.md | 791 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2 files changed, 188 insertions(+), 611 deletions(-)
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
index 97def2c..5f301b3 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
@@ -30,6 +30,11 @@ namespace NCC.Extend.LqEvent
private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager;
+ ///
+ /// 初始化一个类型的新实例
+ ///
+ /// 数据库
+ /// 用户管理
public LqEventService(ISqlSugarClient db, IUserManager userManager)
{
_db = db;
@@ -184,9 +189,6 @@ namespace NCC.Extend.LqEvent
///
/// 创建参数
/// 无返回值
- /// 拓客活动创建成功
- /// 请求参数错误或验证失败
- /// 服务器内部错误
[HttpPost("")]
public async Task Create([FromBody] LqEventCrInput input)
{
diff --git a/数据库说明.md b/数据库说明.md
index 8e660d9..e194e7c 100644
--- a/数据库说明.md
+++ b/数据库说明.md
@@ -1,469 +1,163 @@
# 绿纤美业ERP系统 - 数据库说明
-## 说明
-本文档用于记录项目中的数据库表结构、字段说明、表关联关系等信息。由于项目中的表名和字段名使用拼音首字母命名,且缺乏主外键关系,因此需要在此文档中详细记录以便开发时参考。
+## 📋 目录
+- [数据库基本信息](#数据库基本信息)
+- [表关系图](#表关系图)
+- [核心业务表关系](#核心业务表关系)
+- [已弃用表变更记录](#已弃用表变更记录)
+- [重要业务规则](#重要业务规则)
+- [数据字典](#数据字典)
+- [开发注意事项](#开发注意事项)
---
## 数据库基本信息
-- **数据库类型**:MySQL
-- **数据库名称**:lqerp
-- **字符集**:utf8
-- **表总数**:约100+张表
+- **数据库类型**: MySQL
+- **数据库名称**: lqerp
+- **字符集**: utf8
+- **表总数**: 约100+张表
+- **命名规范**: 业务前缀 `lq_` + 功能名称
---
-## 表结构说明
-
-### 表命名规范
-- **业务前缀**:`lq_` (绿纤)
-- **系统表前缀**:`base_` (基础系统表)
-- **功能模块**:根据业务功能命名
-
-### 字段命名规范
-- **主键字段**:统一使用 `F_Id` (varchar类型)
-- **业务字段**:使用拼音首字母缩写
-- **时间字段**:统一使用 `datetime` 类型
-- **金额字段**:统一使用 `decimal` 类型
-- **删除标记**:`DeleteMark` 字段为 `null` 表示未删除,为 `0` 或其他值表示已删除
-
-### 重要字段规则
-- **base_organize 表删除标记**:`DeleteMark` 字段为 `null` 表示未删除,为 `0` 或其他值表示已删除
-
-### 已弃用表
-- **lq_ryzl (人员资料表)** - 已弃用,人员信息现在使用系统用户表 `BASE_USER` 管理
-- **lq_mdxx_mdgs (门店归属表)** - 已弃用,门店归属信息已整合到 `lq_mdxx` 表中
-- **lq_ycsd_mdmbsd (门店目标设定表)** - 已弃用,门店目标信息已整合到 `lq_mdxx` 表中
-
-### 新增表
-
-#### lq_zjl_tcsz (总经理提成设置表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| id | varchar(50) | NO | 主键ID | PRI |
-| userid | varchar(50) | NO | 用户ID | |
-| level1 | decimal(10,4) | YES | 一级提成比例 | |
-| level2 | decimal(10,4) | YES | 二级提成比例 | |
-| level3 | decimal(10,4) | YES | 三级提成比例 | |
-| tclx | varchar(20) | YES | 提成类型:gdb-固定比例,jttc-阶梯提成,tsgz-特殊规则 | |
-| bz | text | YES | 备注说明 | |
-| cjsj | datetime | YES | 创建时间 | |
-| cjry | varchar(50) | YES | 创建用户 | |
-| xgsj | datetime | YES | 修改时间 | |
-| xgly | varchar(50) | YES | 修改用户 | |
-| deletemark | tinyint(1) | YES | 删除标记:0-未删除,1-已删除 | |
-
-**索引**:
-- PRIMARY KEY (`id`)
-- UNIQUE KEY `uk_userid` (`userid`)
-- KEY `idx_userid` (`userid`)
-
-**表说明**:用于管理总经理的提成设置,支持多级提成比例配置和不同类型的提成规则。
-
-**相关接口**:
-- `GET /api/Extend/LqZjlMdsmxsz/GetByZjlUserid` - 根据总经理用户ID查询相关设置信息
-- `POST /api/Extend/LqZjlMdsmxsz/BatchCreate` - 批量创建事业部总经理门店生命线设置
-
-#### lq_zjl_mdsmxsz (总经理门店生命线设置表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| id | varchar(50) | NO | 主键ID | PRI |
-| zjl_userid | varchar(50) | NO | 总经理用户ID | |
-| md_id | varchar(50) | NO | 门店ID | |
-| smx1 | decimal(15,2) | NO | 生命线1 | |
-| tcbl1 | decimal(5,2) | NO | 生命线提成比例1(%) | |
-| smx2 | decimal(15,2) | YES | 生命线2 | |
-| tcbl2 | decimal(5,2) | YES | 生命线提成比例2(%) | |
-| smx3 | decimal(15,2) | YES | 生命线3 | |
-| tcbl3 | decimal(5,2) | YES | 生命线提成比例3(%) | |
-| bz | text | YES | 备注说明 | |
-| cjsj | datetime | YES | 创建时间 | |
-| cjry | varchar(50) | YES | 创建人员 | |
-| xgsj | datetime | YES | 修改时间 | |
-| xgly | varchar(50) | YES | 修改人员 | |
-| deletemark | int(1) | NO | 删除标记:0=未删除,1=已删除 | |
-
-**索引**:
-- PRIMARY KEY (`id`)
-- UNIQUE KEY `uk_zjl_md` (`zjl_userid`, `md_id`)
-- KEY `idx_zjl_userid` (`zjl_userid`)
-- KEY `idx_md_id` (`md_id`)
-- KEY `idx_cjsj` (`cjsj`)
-- KEY `idx_zjl_md_status` (`zjl_userid`, `md_id`, `deletemark`)
-
-**表说明**:用于管理总经理对各个门店的生命线设置,每个总经理可以为其管理的门店设置3个生命线级别,每个级别都有对应的提成比例,用于业绩考核和提成计算。
-
-**业务规则**:
-- 每个总经理-门店组合只能有一条记录(通过唯一索引保证)
-- 生命线1和提成比例1为必填项
-- 生命线2、3和对应的提成比例为可选项
-- 生命线金额必须大于0
-- 提成比例必须在0-100之间
-- 支持软删除,通过deletemark字段控制
+## 表关系图
+
+### 核心业务流程图
+```
+门店信息 (lq_mdxx)
+ ↓
+用户信息 (BASE_USER) ← 人员资料 (lq_ryzl) [已弃用]
+ ↓
+金三角设定 (lq_ycsd_jsj) ← 金三角用户绑定 (lq_jinsanjiao_user)
+ ↓
+开单记录 (lq_kd_kdjlb) ← 预约记录 (lq_yyjl)
+ ↓
+├── 开单品项明细 (lq_kd_pxmx) ← 项目资料 (lq_xmzl)
+├── 开单健康师业绩 (lq_kd_jksyj)
+├── 开单科技部老师业绩 (lq_kd_kjbsyj)
+└── 业绩明细 (lq_yjmxb)
+
+耗卡业务
+ ↓
+耗卡记录 (lq_xh_hyhk)
+ ↓
+├── 耗卡品项明细 (lq_xh_pxmx)
+├── 耗卡健康师业绩 (lq_xh_jksyj)
+└── 耗卡科技部老师业绩 (lq_xh_kjbsyj)
+```
---
-## 核心业务表
-
-### 1. 门店相关表
-
-#### lq_mdxx (门店资料)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar(50) | NO | 主键 | PRI |
-| mdbm | varchar(50) | YES | 门店编码 | |
-| djmdbh | varchar(50) | YES | 单据门店编号 | |
-| djmd | varchar(50) | YES | 单据门店 | |
-| dm | varchar(50) | YES | 店名 | |
-| cs | varchar(50) | YES | 城市 | |
-| dz | varchar(50) | YES | 地址 | |
-| xm | varchar(50) | YES | 姓名 | |
-| dhhm | varchar(50) | YES | 电话号码 | |
-| zj | varchar(50) | YES | 座机 | |
-| kysj | datetime | YES | 开业时间 | |
-| zxzt | varchar(50) | YES | 最新状态 | |
-| gsmc | varchar(50) | YES | 工商名称 | |
-| fr | varchar(50) | YES | 法人 | |
-| ywsb | varchar(50) | YES | 有无社保 | |
-| syb | varchar(50) | YES | 事业部 | |
-| jyb | varchar(50) | YES | 教育部 | |
-| kjb | varchar(50) | YES | 科技部 | |
-| dxmb | varchar(50) | YES | 大项目部 | |
-| gsqssj | datetime | YES | 归属起始时间 | |
-| gszzsj | datetime | YES | 归属终止时间 | |
-| status | int(11) | YES | 状态 | |
-| xsyj | decimal(18,2) | YES | 目标-门店生命线 | |
-| xhyj | decimal(18,2) | YES | 目标-消耗业绩 | |
-| xms | int(11) | YES | 目标-项目数 | |
-| rt1 | int(11) | YES | 目标-人头1 | |
-| rt2 | int(11) | YES | 目标-人头2 | |
-| rc | int(11) | YES | 目标-人次 | |
-
-#### lq_md_mdlbjhsxx (门店类别及核算信息)
-- 用于存储门店的分类信息和核算相关配置
-
-#### ~~lq_md_mdgs (门店归属)~~ - 已弃用
-- ~~用于存储门店的归属关系~~ - 已整合到 `lq_mdxx` 表中
-
-#### lq_md_mdwy (门店物业)
-- 用于存储门店物业相关信息
-
-#### lq_md_xdbhsj (门店新店保护时间)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar(50) | NO | 主键ID | PRI |
-| mdid | varchar(50) | NO | 门店ID | |
-| bhkssj | datetime | NO | 保护开始时间 | |
-| bhjssj | datetime | NO | 保护结束时间 | |
-| sm | varchar(500) | YES | 说明 | |
-| cjsj | datetime | NO | 创建时间 | |
-| sfqy | int | NO | 是否启用(1启用,0禁用) | |
-
-**业务说明**:
-- 用于设置门店的新店保护时间段
-- 在保护期间内,门店按新店薪酬规则计算
-- 保护期结束后,门店按老店薪酬规则计算
-- 支持多个门店设置不同的保护时间段
-
-### 2. 人员相关表
-
-#### lq_ryzl (人员资料) - ⚠️ 已弃用
-> **注意**:此表已弃用,人员信息现在使用系统用户表 `BASE_USER` 管理
-
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 序号 | PRI |
-| dm | varchar | YES | 店名 | |
-| zw | varchar | YES | 职位 | |
-| fyft | varchar | YES | 费用分摊 | |
-| gwfl1 | varchar | YES | 岗位分类1 | |
-| xm | varchar | YES | 姓名 | |
-| zzqk | varchar | YES | 在职情况 | |
-| gwfl2 | varchar | YES | 岗位分类2 | |
-| rzsj | datetime | YES | 入职时间 | |
-| lzsj | datetime | YES | 离职时间 | |
-| zd | varchar | YES | 战队 | |
-| yl1 | varchar | YES | 预留1 | |
-| yl2 | varchar | YES | 预留2 | |
-| yl3 | varchar | YES | 预留3 | |
-| sjh | varchar | YES | 手机号 | |
-
-### 3. 项目相关表
-
-#### lq_xmzl (项目资料)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 主键 | PRI |
-| xmbh | varchar | YES | 项目编号 | |
-| xmmc | varchar | YES | 项目名称 | |
-| bzjg | decimal | YES | 标准价格 | |
-| xmsc | int | YES | 项目时长(分钟) | |
-| jcfwtc | decimal | YES | 基础服务提成 | |
-| fl1 | varchar | YES | 分类①-汇总表 | |
-| fl2 | varchar | YES | 分类②-汇总表 | |
-| fl3 | varchar | YES | 分类③-工资用 | |
-| fl4 | varchar | YES | 分类④-统计品项用 | |
-| tjlb | varchar | YES | 统计类别 | |
-| zklb | varchar | YES | 折扣类别 | |
-| fl | varchar | YES | 分类 | |
-| qt1 | varchar | YES | 其它1 | |
-| qt2 | varchar | YES | 其它2 | |
-| syje | decimal | YES | 溯源金额 | |
-| cellje | decimal | YES | Cell金额 | |
-| sgf | decimal | YES | 手工费 | |
-
-### 4. 业绩相关表
-
-#### lq_yjmxb (业绩明细表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 业绩编号 | PRI |
-| fssj | datetime | YES | 发生时间 | |
-| syb | varchar | YES | 事业部 | |
-| mdbh | varchar | YES | 门店编号 | |
-| mdmc | varchar | YES | 门店名称 | |
-| jsj | varchar | YES | 金三角 | |
-| jks | varchar | YES | 健康师 | |
-| xmbh | varchar | YES | 项目编号 | |
-| xmmc | varchar | YES | 项目名称 | |
-| bm | varchar | YES | 部门 | |
-| khbh | varchar | YES | 客户编号 | |
-| khmc | varchar | YES | 客户名称 | |
-| ssyj | varchar | YES | 实收业绩 | |
-| qk | varchar | YES | 欠款 | |
-| khly | varchar | YES | 客户来源 | |
-| bz | varchar | YES | 备注 | |
-| zyj | varchar | YES | 总业绩 | |
-
-### 5. 金三角设定表
-
-#### lq_ycsd_jsj (金三角设定)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar(50) | NO | 主键 | PRI |
-| yf | varchar(50) | YES | 月份 | |
-| jsj | varchar(50) | YES | 金三角 | |
-| md | varchar(255) | YES | 门店ID | |
-
-**业务说明**:
-- 这是金三角基础信息表,只记录金三角的基本信息
-- 金三角与用户的绑定关系通过 `lq_jinsanjiao_user` 表管理
-- 金三角的业绩统计等数据通过业务逻辑计算,不存储在此表中
-
-#### lq_jinsanjiao_user (金三角用户绑定关系)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar(50) | NO | 主键 | PRI |
-| jsj_id | varchar(50) | NO | 金三角ID(关联lq_ycsd_jsj.F_Id) | |
-| user_id | varchar(50) | NO | 用户ID(关联BASE_USER.F_Id) | |
-| user_name | varchar(50) | NO | 用户姓名 | |
-| is_leader | int(11) | YES | 是否顾问(0-否,1-是) | |
-| status | varchar(20) | YES | 状态(ACTIVE-活跃,INACTIVE-非活跃) | |
-| sort_order | int(11) | YES | 排序 | |
-| F_CreatorTime | datetime | YES | 创建时间 | |
-| F_CreatorUserId | varchar(50) | YES | 创建人ID | |
-| F_LastModifyTime | datetime | YES | 最后修改时间 | |
-| F_LastModifyUserId | varchar(50) | YES | 最后修改人ID | |
-| F_DeleteMark | int(11) | YES | 删除标记 | |
-
-**业务说明**:
-- 这是金三角与用户的绑定关系表,管理金三角成员信息
-- 支持多人或单人金三角,通过 `is_leader` 字段标识队长
-- 支持用户在不同金三角间流动,通过 `status` 字段管理状态
-- 通过 `sort_order` 字段控制成员排序
-
-### 6. 开单相关表
-
-#### lq_kd_kdjlb (开单记录表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 开单编号 | PRI |
-| djmd | varchar | YES | 单据门店 | |
-| jsj | varchar | YES | 金三角 | |
-| kdrq | datetime | YES | 开单日期 | |
-| gjlx | varchar | YES | 顾客类型 | |
-| hgjg | varchar | YES | 合作机构 | |
-| zdyj | decimal | YES | 整单业绩 | |
-| sfyj | decimal | YES | 实付业绩 | |
-| qk | decimal | YES | 欠款 | |
-| ckfs | varchar | YES | 储扣方式 | |
-| ckmx | varchar | YES | 储扣明细 | |
-| fkfs | varchar | YES | 付款方式 | |
-| fkyy | varchar | YES | 付款医院 | |
-| fkpd | varchar | YES | 付款判断 | |
-| khly | varchar | YES | 客户来源 | |
-| tjr | varchar | YES | 推荐人 | |
-| sfskdd | varchar | YES | 是否首开订单 | |
-| jj | varchar | YES | 简介 | |
-| scwj | varchar | YES | 上传文件 | |
-| hyqz | varchar | YES | 会员签字 | |
-| bz | varchar | YES | 备注 | |
-| kdhy | varchar | YES | 开单会员 | |
-| kdhyc | varchar | YES | 开单会员名称 | |
-| kdhysjh | varchar | YES | 开单会员手机号 | |
-| jksyj | varchar | YES | 健康师业绩 | |
-| kjblsyj | varchar | YES | 科技部老师业绩 | |
-| pxxx | varchar | YES | 品项信息 | |
-| F_CreateUser | varchar | YES | 开单用户 | |
-| F_FIleUrl | varchar | YES | 方案其他 | |
-
-**业务说明**:
-- 这是系统的核心业务表,记录所有开单信息
-- 包含业绩计算、客户信息、付款方式等关键业务数据
-- 与业绩明细表、人员表、项目表等都有密切关联
-- 用于薪酬计算、业绩统计、客户管理等核心功能
-- **新增字段说明**:
- - `jksyj`:健康师业绩,存储该开单记录关联的所有健康师业绩总和
- - `kjblsyj`:科技部老师业绩,存储该开单记录关联的所有科技部老师业绩总和
- - `pxxx`:品项信息,存储该开单记录的所有品项信息
- - `F_CreateUser`:开单用户,记录创建该开单记录的用户ID
- - `F_FIleUrl`:方案其他,存储开单相关的其他文件或方案信息
-
-#### lq_kd_jksyj (开单健康师业绩表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 业绩编号 | PRI |
-| glkdbh | varchar | YES | 关联开单编号 | |
-| jks | varchar | YES | 健康师 | |
-| jksxm | varchar | YES | 健康师姓名 | |
-| jkszh | varchar | YES | 健康师账号 | |
-| jksyj | varchar | YES | 健康师业绩 | |
-| yjsj | datetime | YES | 业绩时间 | |
-| jsj_id | varchar | YES | 金三角id | |
-| F_kdpxid | varchar | NO | 开单品相ID | |
-
-**业务说明**:
-- 记录每个开单记录关联的健康师业绩明细
-- 通过 `glkdbh` 字段关联开单记录表
-- 通过 `jsj_id` 字段关联金三角信息
-- **新增字段**:`F_kdpxid` 用于关联具体的品项明细
-
-#### lq_kd_kjbsyj (开单科技部老师业绩表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 业绩编号 | PRI |
-| glkdbh | varchar | YES | 关联开单编号 | |
-| kjbls | varchar | YES | 科技部老师 | |
-| kjblsxm | varchar | YES | 科技部老师姓名 | |
-| kjblszh | varchar | YES | 科技部老师账号 | |
-| kjblsyj | varchar | YES | 科技部老师业绩 | |
-| yjsj | datetime | YES | 业绩时间 | |
-| F_kdpxid | varchar | NO | 开单品相id | |
-
-**业务说明**:
-- 记录每个开单记录关联的科技部老师业绩明细
-- 通过 `glkdbh` 字段关联开单记录表
-- **新增字段**:`F_kdpxid` 用于关联具体的品项明细
-
-#### lq_kd_pxmx (开单品项明细表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 明细编号 | PRI |
-| glkdbh | varchar | YES | 关联开单编号 | |
-| px | varchar | YES | 品项 | |
-| pxmc | varchar | YES | 品项名称 | |
-| pxjg | decimal | YES | 品项价格 | |
-| F_MemberId | varchar | NO | 会员id | |
-| F_CreateTIme | datetime | YES | 创建时间 | |
-| F_ProjectNumber | int | YES | 项目次数 | |
-| F_IsEnabled | int | YES | 是否有效 | |
-| F_SourceType | varchar | YES | 来源类型 | |
-| F_TotalPrice | decimal | YES | 金额合计 | |
-
-**业务说明**:
-- 记录每个开单记录的具体品项明细
-- 通过 `glkdbh` 字段关联开单记录表
-- 通过 `F_MemberId` 字段关联会员信息
-- **字段变更**:`F_MemberId` 现在是必填字段
-
-### 7. 其他重要表
-
-#### lq_xhmxb (消耗明细表)
-- 用于存储消耗明细信息
-
-#### lq_xh_jksyj (健康师业绩)
-- 用于存储健康师业绩信息
-
-#### lq_xh_kjbsyj (科技部老师业绩)
-- 用于存储科技部老师业绩信息
-
-#### lq_ycsd_mdmbsd (门店目标设定)
-- 用于存储门店目标设定信息
-
-#### lq_ycsd_gzhsfdtjsz (工资核算浮动条件设置)
-- 用于存储工资核算的浮动条件设置
-
-#### lq_ycsd_mdtjbcbftb (社保门店统计表成本分摊表)
-- 用于存储社保成本分摊信息
-
-### 8. 视图
-
-#### v_jsj_monthly_performance (金三角月度业绩统计视图)
-| 字段名 | 数据类型 | 字段说明 |
-|--------|----------|----------|
-| jsj_id | varchar(50) | 金三角ID |
-| jsj_name | varchar(50) | 金三角名称 |
-| month | varchar(50) | 月份 |
-| store_id | varchar(50) | 门店ID |
-| store_name | varchar(50) | 门店名称 |
-| order_count | int | 开单数量 |
-| total_performance | decimal(18,2) | 总业绩 |
-| avg_performance | decimal(18,2) | 平均业绩 |
-| last_order_date | datetime | 最后开单日期 |
-| first_order_date | datetime | 首次开单日期 |
-| health_teacher_count | int | 健康师数量 |
-| health_teachers | text | 健康师姓名列表 |
-
-**业务说明**:
-- 用于统计每个金三角的月度业绩情况
-- 关联表:`lq_ycsd_jsj`(金三角设定)、`lq_kd_jksyj`(健康师业绩)、`lq_mdxx`(门店信息)
-- 提供详细的业绩统计信息,包括总业绩、平均业绩、开单数量等
-
-#### v_jsj_monthly_summary (金三角月度业绩总和视图)
-| 字段名 | 数据类型 | 字段说明 |
-|--------|----------|----------|
-| jsj_id | varchar(50) | 金三角ID |
-| jsj_name | varchar(50) | 金三角名称 |
-| month | varchar(50) | 月份 |
-| store_id | varchar(50) | 门店ID |
-| store_name | varchar(50) | 门店名称 |
-| total_performance | decimal(18,2) | 月度业绩总和 |
-
-**业务说明**:
-- 简化版的金三角月度业绩统计视图
-- 只包含核心的业绩总和信息
-- 用于快速查询金三角的月度业绩情况
+## 核心业务表关系
+
+### 1. 门店与人员关系
+- **门店信息表**: `lq_mdxx` (门店基础信息)
+- **人员信息**: `BASE_USER` (系统用户表,包含门店ID等扩展字段)
+- **关联字段**: `BASE_USER.F_MDID` ↔ `lq_mdxx.F_Id`
+
+### 2. 金三角管理关系
+- **金三角设定**: `lq_ycsd_jsj` (金三角基础信息)
+- **金三角用户绑定**: `lq_jinsanjiao_user` (金三角与用户绑定关系)
+- **用户信息**: `BASE_USER` (系统用户表)
+- **关联字段**:
+ - `lq_ycsd_jsj.F_Id` ↔ `lq_jinsanjiao_user.jsj_id`
+ - `lq_jinsanjiao_user.user_id` ↔ `BASE_USER.F_Id`
+
+### 3. 开单业务关系
+- **开单记录**: `lq_kd_kdjlb` (核心业务表)
+- **开单品项明细**: `lq_kd_pxmx` (品项明细)
+- **开单健康师业绩**: `lq_kd_jksyj` (健康师业绩)
+- **开单科技部老师业绩**: `lq_kd_kjbsyj` (科技部老师业绩)
+- **项目资料**: `lq_xmzl` (项目基础信息)
+- **关联字段**:
+ - `lq_kd_kdjlb.F_Id` ↔ `lq_kd_pxmx.glkdbh`
+ - `lq_kd_kdjlb.F_Id` ↔ `lq_kd_jksyj.glkdbh`
+ - `lq_kd_kdjlb.F_Id` ↔ `lq_kd_kjbsyj.glkdbh`
+ - `lq_kd_pxmx.px` ↔ `lq_xmzl.F_Id`
+ - `lq_kd_jksyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
+ - `lq_kd_kjbsyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
+
+### 4. 耗卡业务关系
+- **耗卡记录**: `lq_xh_hyhk` (耗卡记录表)
+- **耗卡品项明细**: `lq_xh_pxmx` (耗卡品项明细)
+- **耗卡健康师业绩**: `lq_xh_jksyj` (耗卡健康师业绩)
+- **耗卡科技部老师业绩**: `lq_xh_kjbsyj` (耗卡科技部老师业绩)
+- **关联字段**:
+ - `lq_xh_hyhk.F_Id` ↔ `lq_xh_pxmx.glkdbh` (耗卡记录关联品项明细)
+ - `lq_xh_hyhk.F_Id` ↔ `lq_xh_jksyj.glkdbh` (耗卡记录关联健康师业绩)
+ - `lq_xh_hyhk.F_Id` ↔ `lq_xh_kjbsyj.glkdbh` (耗卡记录关联科技部老师业绩)
+ - `lq_xh_jksyj.F_kdpxid` ↔ `lq_xh_pxmx.F_Id` (健康师业绩关联品项明细)
+ - `lq_xh_kjbsyj.F_hkpxid` ↔ `lq_xh_pxmx.F_Id` (科技部老师业绩关联品项明细)
+
+### 5. 业绩统计关系
+- **业绩明细**: `lq_yjmxb` (业绩统计表)
+- **关联字段**:
+ - `lq_yjmxb.jks` ↔ `BASE_USER.F_REALNAME` (健康师姓名)
+ - `lq_yjmxb.mdbh` ↔ `lq_mdxx.mdbm` (门店编号)
+ - `lq_yjmxb.xmbh` ↔ `lq_xmzl.xmbh` (项目编号)
---
-## 表关联关系
-
-### 主要关联关系
-1. **门店与人员**:`lq_mdxx.dm` ↔ `BASE_USER.F_MDID` (人员信息已迁移到系统用户表)
-2. **人员与业绩**:`BASE_USER.F_REALNAME` ↔ `lq_yjmxb.jks` (通过姓名关联)
-3. **项目与业绩**:`lq_xmzl.xmbh` ↔ `lq_yjmxb.xmbh`
-4. **门店与业绩**:`lq_mdxx.mdbm` ↔ `lq_yjmxb.mdbh`
-5. **金三角设定与用户绑定**:`lq_ycsd_jsj.F_Id` ↔ `lq_jinsanjiao_user.jsj_id`
-6. **金三角用户绑定与用户**:`lq_jinsanjiao_user.user_id` ↔ `BASE_USER.F_Id`
-7. **开单记录与门店**:`lq_kd_kdjlb.djmd` ↔ `lq_mdxx.dm`
-8. **开单记录与金三角**:`lq_kd_kdjlb.jsj` ↔ `lq_ycsd_jsj.jsj`
-9. **开单记录与业绩**:`lq_kd_kdjlb.F_Id` ↔ `lq_yjmxb.F_Id` (通过开单编号关联)
-10. **门店与新店保护时间**:`lq_mdxx.F_Id` ↔ `lq_md_xdbhsj.mdid`
-11. **开单记录与健康师业绩**:`lq_kd_kdjlb.F_Id` ↔ `lq_kd_jksyj.glkdbh`
-12. **开单记录与科技部老师业绩**:`lq_kd_kdjlb.F_Id` ↔ `lq_kd_kjbsyj.glkdbh`
-13. **开单记录与品项明细**:`lq_kd_kdjlb.F_Id` ↔ `lq_kd_pxmx.glkdbh`
-14. **健康师业绩与品项明细**:`lq_kd_jksyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
-15. **科技部老师业绩与品项明细**:`lq_kd_kjbsyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
-16. **品项明细与项目资料**:`lq_kd_pxmx.px` ↔ `lq_xmzl.F_Id`
-
-### 业务逻辑关联
-- **开单记录表是核心业务表**:所有业务操作都围绕开单进行,是系统的业务中心
-- 门店信息是基础数据,人员、业绩、金三角设定都依赖门店
-- **人员信息已迁移**:人员资料现在使用系统用户表 `BASE_USER` 管理,包含门店ID、职位等扩展字段
-- 业绩明细表从开单记录表衍生,用于业绩统计和薪酬计算
-- 金三角设定表用于薪酬计算,关联人员业绩数据
-- 开单记录表包含完整的业务信息:客户、业绩、付款、品项等
+## 已弃用表变更记录
+
+### ⚠️ 重要变更
+
+#### 1. 人员资料表弃用 (2024年)
+- **弃用表**: `lq_ryzl` (人员资料表)
+- **替代方案**: 使用系统用户表 `BASE_USER`
+- **迁移字段**:
+ - `lq_ryzl.dm` → `BASE_USER.F_MDID` (门店ID)
+ - `lq_ryzl.zw` → `BASE_USER.F_ZW` (职位)
+ - `lq_ryzl.gwfl1` → `BASE_USER.F_GWFL` (岗位分类)
+ - `lq_ryzl.xm` → `BASE_USER.F_REALNAME` (姓名)
+ - `lq_ryzl.sjh` → `BASE_USER.F_MobilePhone` (手机号)
+- **业务影响**: 所有人员相关查询必须使用 `BASE_USER` 表
+
+#### 2. 门店归属表弃用 (2024年)
+- **弃用表**: `lq_mdxx_mdgs` (门店归属表)
+- **替代方案**: 归属信息整合到 `lq_mdxx` 表
+- **迁移字段**:
+ - `syb` (事业部)
+ - `jyb` (教育部)
+ - `kjb` (科技部)
+ - `dxmb` (大项目部)
+ - `gsqssj` (归属起始时间)
+ - `gszzsj` (归属终止时间)
+ - `status` (状态)
+- **业务影响**: 门店归属信息现在直接在 `lq_mdxx` 表中管理
+
+#### 3. 门店目标设定表弃用 (2024年)
+- **弃用表**: `lq_ycsd_mdmbsd` (门店目标设定表)
+- **替代方案**: 目标信息整合到 `lq_mdxx` 表
+- **迁移字段**:
+ - `xsyj` (目标-门店生命线)
+ - `xhyj` (目标-消耗业绩)
+ - `xms` (目标-项目数)
+ - `rt1` (目标-人头1)
+ - `rt2` (目标-人头2)
+ - `rc` (目标-人次)
+
+---
+
+## 重要业务规则
+
+### 1. 删除标记规则
+- **base_organize 表**: `DeleteMark` 为 `null` 表示未删除,为 `0` 或其他值表示已删除
+- **其他表**: 通常使用 `deletemark` 字段,`0` 表示未删除,`1` 表示已删除
+
+### 2. ID生成规则
+- **主键字段**: 统一使用 `F_Id` (varchar类型)
+
+### 3. 金额字段规则
+- **存储类型**: 所有金额字段使用 `varchar` 类型存储
+- **计算注意**: 查询时需要转换为 `decimal` 类型进行计算
+- **精度要求**: 金额计算保留2位小数
+
+### 4. 时间字段规则
+- **存储类型**: 统一使用 `datetime` 类型
+- **时区处理**: 注意时区转换问题
+- **查询格式**: 使用 `yyyy-MM-dd HH:mm:ss` 格式
---
@@ -472,177 +166,58 @@
### 门店状态 (lq_mdxx.zxzt)
- 待补充具体枚举值
-### 在职情况 (BASE_USER.F_ENABLEDMARK) - ⚠️ 已迁移
-- 人员在职状态现在使用系统用户表的 `F_ENABLEDMARK` 字段管理
+### 岗位分类 (BASE_USER.F_GWFL, F_GW)
- 待补充具体枚举值
-### 岗位分类 (BASE_USER.F_GWFL, F_GW) - ⚠️ 已迁移
-- 岗位信息现在使用系统用户表的 `F_GWFL` 和 `F_GW` 字段管理
+### 项目分类 (lq_xmzl.fl1, fl2, fl3, fl4)
- 待补充具体枚举值
-### 项目分类 (lq_xmzl.fl1, fl2, fl3, fl4)
+### 金三角状态 (lq_jinsanjiao_user.status)
+- `ACTIVE`: 活跃
+- `INACTIVE`: 非活跃
+
+### 预约状态 (lq_yyjl.F_Status)
- 待补充具体枚举值
---
-## 数据库视图
-
-### v_jsj_monthly_performance (金三角月度业绩统计视图)
-- **功能**:统计每个金三角的月度业绩数据
-- **关联表**:lq_ycsd_jsj, lq_kd_jksyj, lq_mdxx, lq_jinsanjiao_user
-- **主要字段**:
- - jsj_id: 金三角ID
- - jsj_name: 金三角姓名
- - month: 统计月份
- - total_performance: 总业绩
- - order_count: 开单数量
- - avg_performance: 平均业绩
- - last_order_date: 最后开单日期
- - first_order_date: 首次开单日期
- - health_teacher_name: 健康师姓名
-
-### v_jsj_monthly_summary (金三角月度业绩总和视图)
-- **功能**:金三角月度业绩汇总(简化版)
-- **关联表**:lq_ycsd_jsj, lq_kd_jksyj, lq_jinsanjiao_user
-- **主要字段**:
- - jsj_id: 金三角ID
- - jsj_name: 金三角姓名
- - month: 统计月份
- - total_performance: 总业绩
-
-### v_order_detail_simple (开单详细记录视图)
-- **功能**:联合开单记录表、开单品项明细表、项目资料表,呈现开单详细记录
-- **关联表**:lq_kd_kdjlb, lq_kd_pxmx, lq_xmzl
-- **主要字段**:
- - order_id: 开单编号
- - order_member: 开单会员
- - member_phone: 会员手机号
- - order_time: 开单时间
- - item_code: 开单品项(项目编号)
- - item_name: 品项名称
- - project_count: 项目数量
- - project_unit_price: 项目单价
- - project_total_price: 项目总价(数量*单价)
- - source_type: 来源类型
- - project_category3: 项目分类3
-
-### v_personal_monthly_performance (个人业绩月度统计视图)
-- **功能**:统计每个健康师和科技部老师的月度业绩情况
-- **关联表**:lq_kd_jksyj, lq_kd_kjbsyj, lq_kd_kdjlb, lq_kd_pxmx, BASE_USER, lq_mdxx, lq_ycsd_jsj
-- **主要字段**:
- - performance_month: 业绩月份(YYYY-MM)
- - user_name: 用户姓名
- - position: 职位
- - department: 部门(门店名称)
- - golden_triangle: 金三角名称
- - total_performance: 总业绩
- - basic_performance: 基础业绩(新客业绩)
- - cooperation_performance: 合作业绩(老客业绩)
- - reward_performance: 奖励业绩(预留字段,目前为0)
- - total_project_count: 项目数量总和(品项数量总和)
-
-## 耗卡相关表
-
-#### lq_xh_pxmx (耗卡品项明细表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 明细编号 | PRI |
-| glkdbh | varchar | YES | 关联开单编号 | |
-| px | varchar | YES | 品项 | |
-| pxmc | varchar | YES | 品项名称 | |
-| pxjg | decimal | YES | 品项价格 | |
-| xfzs | varchar | YES | 是否赠送 | |
-| F_MemberId | varchar | YES | 会员id | |
-| F_CreateTIme | datetime | YES | 创建时间 | |
-| F_ProjectNumber | int | YES | 项目次数 | |
-| F_IsEnabled | int | YES | 是否有效 | |
-| F_SourceType | varchar | YES | 来源类型 | |
-| F_TotalPrice | decimal | YES | 合计金额 | |
-
-**业务说明**:
-- 记录每个耗卡记录的具体品项明细
-- 通过 `glkdbh` 字段关联开单记录表
-- 通过 `F_MemberId` 字段关联会员信息
-- 包含是否赠送、项目次数等耗卡特有字段
-
-#### lq_xh_jksyj (耗卡健康师业绩表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 业绩编号 | PRI |
-| glkdbh | varchar | YES | 关联开单编号 | |
-| jks | varchar | YES | 健康师 | |
-| jksxm | varchar | YES | 健康师姓名 | |
-| jkszh | varchar | YES | 健康师账号 | |
-| jksyj | varchar | YES | 健康师业绩 | |
-| yjsj | datetime | YES | 业绩时间 | |
-| F_jsjid | varchar | YES | 金三角id | |
-| F_kdpxid | varchar | YES | 耗卡品项id | |
-| F_LaborCost | decimal | YES | 手工费 | |
-| F_kdpxNumber | decimal | YES | 耗卡品项次数 | |
-
-**业务说明**:
-- 记录每个耗卡记录关联的健康师业绩明细
-- 通过 `glkdbh` 字段关联开单记录表
-- 通过 `F_kdpxid` 字段关联耗卡品项明细表
-- 包含手工费等耗卡特有字段
-
-#### lq_xh_kjbsyj (耗卡科技部老师业绩表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar | NO | 业绩编号 | PRI |
-| glkdbh | varchar | YES | 关联开单编号 | |
-| kjbls | varchar | YES | 科技部老师 | |
-| kjblsxm | varchar | YES | 科技部老师姓名 | |
-| kjblszh | varchar | YES | 科技部老师账号 | |
-| kjblsyj | varchar | YES | 科技部老师业绩 | |
-| yjsj | datetime | YES | 业绩时间 | |
-| F_hkpxid | varchar | YES | 耗卡品项Id | |
-| F_LaborCost | decimal | YES | 手工费 | |
-| F_hdpxNumber | decimal | YES | 耗卡品相次数 | |
-
-**业务说明**:
-- 记录每个耗卡记录关联的科技部老师业绩明细
-- 通过 `glkdbh` 字段关联开单记录表
-- 通过 `F_hkpxid` 字段关联耗卡品项明细表
-- 包含手工费等耗卡特有字段
+## 开发注意事项
----
+### 1. 查询优化
+- 所有列表查询必须支持分页
+- 关键字段建立索引
+- 避免 N+1 查询,使用 JOIN 优化
-#### lq_yyjl (预约记录表)
-| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
-|--------|----------|----------|----------|------|
-| F_Id | varchar(50) | NO | 预约编号 | PRI |
-| djmd | varchar(50) | YES | 单据门店 | |
-| yyr | varchar(50) | YES | 邀约人 | |
-| gklx | varchar(50) | YES | 顾客类型 | |
-| yytyxm | varchar(200) | YES | 预约体验项目 | |
-| czr | varchar(50) | YES | 操作人 | |
-| czsj | datetime | YES | 操作时间 | |
-| gk | varchar(50) | YES | 顾客 | |
-| gkxm | varchar(50) | YES | 顾客姓名 | |
-| yyjks | varchar(50) | YES | 预约健康师 | |
-| yysj | datetime | YES | 预约开始时间 | |
-| yyjs | datetime | YES | 预约结束时间 | |
-| F_Status | varchar(50) | YES | 预约状态 | |
-
-**业务说明**:
-- 记录客户预约服务的详细信息
-- 包含预约时间、健康师、体验项目等关键信息
-- 通过 `djmd` 字段关联门店信息
-- `F_Status` 字段用于记录预约状态(如:已预约、已完成、已取消等)
+### 2. 数据一致性
+- 统计接口与列表接口使用相同的过滤条件
+- 所有数据查询必须添加园区权限过滤
+- DTO字段名称、大小写必须完全一致
----
+### 3. 业务逻辑
+- 开单记录表是核心业务表,所有业务操作都围绕开单进行
+- 人员信息已迁移到系统用户表,查询时使用 `BASE_USER`
+- 门店归属信息现在直接在 `lq_mdxx` 表中管理
-## 重要说明
+### 4. 字段映射
+- 数据库字段使用拼音首字母命名
+- 实体类字段使用驼峰命名
+- 查询时注意字段名映射关系
-1. **字段命名**:项目中使用拼音首字母命名,需要在此文档中详细说明
-2. **关联关系**:由于缺乏主外键约束,需要在文档中明确记录表间关联
-3. **业务含义**:每个字段的业务含义需要详细说明
-4. **数据字典**:枚举值、状态码等需要在此文档中记录
-5. **金额字段**:所有金额相关字段都使用varchar类型存储,需要注意数据类型转换
-6. **时间字段**:统一使用datetime类型,注意时区处理
+### 5. 权限控制
+- 所有数据查询必须添加园区权限过滤
+- 使用 `base_organize.DeleteMark` 过滤已删除数据
+- 接口必须校验 JWT Token
---
-*文档创建时间:2024年*
-*最后更新时间:2025年1月11日*
+## 视图说明
+
+### 业绩统计视图
+- `v_jsj_monthly_performance`: 金三角月度业绩统计
+- `v_jsj_monthly_summary`: 金三角月度业绩汇总
+- `v_personal_monthly_performance`: 个人业绩月度统计
+
+### 开单相关视图
+- `v_order_detail_simple`: 开单详细记录视图
+
+---
--
libgit2 0.21.4