Commit 3aa74cf9b2cbd4bb5cae62608cadee852b7ef77e

Authored by “wangming”
1 parent 0ef47194

提交

netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
... ... @@ -30,6 +30,11 @@ namespace NCC.Extend.LqEvent
30 30 private readonly ISqlSugarClient _db;
31 31 private readonly IUserManager _userManager;
32 32  
  33 + /// <summary>
  34 + /// 初始化一个<see cref="LqEventService"/>类型的新实例
  35 + /// </summary>
  36 + /// <param name="db">数据库</param>
  37 + /// <param name="userManager">用户管理</param>
33 38 public LqEventService(ISqlSugarClient db, IUserManager userManager)
34 39 {
35 40 _db = db;
... ... @@ -184,9 +189,6 @@ namespace NCC.Extend.LqEvent
184 189 /// </remarks>
185 190 /// <param name="input">创建参数</param>
186 191 /// <returns>无返回值</returns>
187   - /// <response code="200">拓客活动创建成功</response>
188   - /// <response code="400">请求参数错误或验证失败</response>
189   - /// <response code="500">服务器内部错误</response>
190 192 [HttpPost("")]
191 193 public async Task Create([FromBody] LqEventCrInput input)
192 194 {
... ...
数据库说明.md
1 1 # 绿纤美业ERP系统 - 数据库说明
2 2  
3   -## 说明
4   -本文档用于记录项目中的数据库表结构、字段说明、表关联关系等信息。由于项目中的表名和字段名使用拼音首字母命名,且缺乏主外键关系,因此需要在此文档中详细记录以便开发时参考。
  3 +## 📋 目录
  4 +- [数据库基本信息](#数据库基本信息)
  5 +- [表关系图](#表关系图)
  6 +- [核心业务表关系](#核心业务表关系)
  7 +- [已弃用表变更记录](#已弃用表变更记录)
  8 +- [重要业务规则](#重要业务规则)
  9 +- [数据字典](#数据字典)
  10 +- [开发注意事项](#开发注意事项)
5 11  
6 12 ---
7 13  
8 14 ## 数据库基本信息
9 15  
10   -- **数据库类型**:MySQL
11   -- **数据库名称**:lqerp
12   -- **字符集**:utf8
13   -- **表总数**:约100+张表
  16 +- **数据库类型**: MySQL
  17 +- **数据库名称**: lqerp
  18 +- **字符集**: utf8
  19 +- **表总数**: 约100+张表
  20 +- **命名规范**: 业务前缀 `lq_` + 功能名称
14 21  
15 22 ---
16 23  
17   -## 表结构说明
18   -
19   -### 表命名规范
20   -- **业务前缀**:`lq_` (绿纤)
21   -- **系统表前缀**:`base_` (基础系统表)
22   -- **功能模块**:根据业务功能命名
23   -
24   -### 字段命名规范
25   -- **主键字段**:统一使用 `F_Id` (varchar类型)
26   -- **业务字段**:使用拼音首字母缩写
27   -- **时间字段**:统一使用 `datetime` 类型
28   -- **金额字段**:统一使用 `decimal` 类型
29   -- **删除标记**:`DeleteMark` 字段为 `null` 表示未删除,为 `0` 或其他值表示已删除
30   -
31   -### 重要字段规则
32   -- **base_organize 表删除标记**:`DeleteMark` 字段为 `null` 表示未删除,为 `0` 或其他值表示已删除
33   -
34   -### 已弃用表
35   -- **lq_ryzl (人员资料表)** - 已弃用,人员信息现在使用系统用户表 `BASE_USER` 管理
36   -- **lq_mdxx_mdgs (门店归属表)** - 已弃用,门店归属信息已整合到 `lq_mdxx` 表中
37   -- **lq_ycsd_mdmbsd (门店目标设定表)** - 已弃用,门店目标信息已整合到 `lq_mdxx` 表中
38   -
39   -### 新增表
40   -
41   -#### lq_zjl_tcsz (总经理提成设置表)
42   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
43   -|--------|----------|----------|----------|------|
44   -| id | varchar(50) | NO | 主键ID | PRI |
45   -| userid | varchar(50) | NO | 用户ID | |
46   -| level1 | decimal(10,4) | YES | 一级提成比例 | |
47   -| level2 | decimal(10,4) | YES | 二级提成比例 | |
48   -| level3 | decimal(10,4) | YES | 三级提成比例 | |
49   -| tclx | varchar(20) | YES | 提成类型:gdb-固定比例,jttc-阶梯提成,tsgz-特殊规则 | |
50   -| bz | text | YES | 备注说明 | |
51   -| cjsj | datetime | YES | 创建时间 | |
52   -| cjry | varchar(50) | YES | 创建用户 | |
53   -| xgsj | datetime | YES | 修改时间 | |
54   -| xgly | varchar(50) | YES | 修改用户 | |
55   -| deletemark | tinyint(1) | YES | 删除标记:0-未删除,1-已删除 | |
56   -
57   -**索引**:
58   -- PRIMARY KEY (`id`)
59   -- UNIQUE KEY `uk_userid` (`userid`)
60   -- KEY `idx_userid` (`userid`)
61   -
62   -**表说明**:用于管理总经理的提成设置,支持多级提成比例配置和不同类型的提成规则。
63   -
64   -**相关接口**:
65   -- `GET /api/Extend/LqZjlMdsmxsz/GetByZjlUserid` - 根据总经理用户ID查询相关设置信息
66   -- `POST /api/Extend/LqZjlMdsmxsz/BatchCreate` - 批量创建事业部总经理门店生命线设置
67   -
68   -#### lq_zjl_mdsmxsz (总经理门店生命线设置表)
69   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
70   -|--------|----------|----------|----------|------|
71   -| id | varchar(50) | NO | 主键ID | PRI |
72   -| zjl_userid | varchar(50) | NO | 总经理用户ID | |
73   -| md_id | varchar(50) | NO | 门店ID | |
74   -| smx1 | decimal(15,2) | NO | 生命线1 | |
75   -| tcbl1 | decimal(5,2) | NO | 生命线提成比例1(%) | |
76   -| smx2 | decimal(15,2) | YES | 生命线2 | |
77   -| tcbl2 | decimal(5,2) | YES | 生命线提成比例2(%) | |
78   -| smx3 | decimal(15,2) | YES | 生命线3 | |
79   -| tcbl3 | decimal(5,2) | YES | 生命线提成比例3(%) | |
80   -| bz | text | YES | 备注说明 | |
81   -| cjsj | datetime | YES | 创建时间 | |
82   -| cjry | varchar(50) | YES | 创建人员 | |
83   -| xgsj | datetime | YES | 修改时间 | |
84   -| xgly | varchar(50) | YES | 修改人员 | |
85   -| deletemark | int(1) | NO | 删除标记:0=未删除,1=已删除 | |
86   -
87   -**索引**:
88   -- PRIMARY KEY (`id`)
89   -- UNIQUE KEY `uk_zjl_md` (`zjl_userid`, `md_id`)
90   -- KEY `idx_zjl_userid` (`zjl_userid`)
91   -- KEY `idx_md_id` (`md_id`)
92   -- KEY `idx_cjsj` (`cjsj`)
93   -- KEY `idx_zjl_md_status` (`zjl_userid`, `md_id`, `deletemark`)
94   -
95   -**表说明**:用于管理总经理对各个门店的生命线设置,每个总经理可以为其管理的门店设置3个生命线级别,每个级别都有对应的提成比例,用于业绩考核和提成计算。
96   -
97   -**业务规则**:
98   -- 每个总经理-门店组合只能有一条记录(通过唯一索引保证)
99   -- 生命线1和提成比例1为必填项
100   -- 生命线2、3和对应的提成比例为可选项
101   -- 生命线金额必须大于0
102   -- 提成比例必须在0-100之间
103   -- 支持软删除,通过deletemark字段控制
  24 +## 表关系图
  25 +
  26 +### 核心业务流程图
  27 +```
  28 +门店信息 (lq_mdxx)
  29 + ↓
  30 +用户信息 (BASE_USER) ← 人员资料 (lq_ryzl) [已弃用]
  31 + ↓
  32 +金三角设定 (lq_ycsd_jsj) ← 金三角用户绑定 (lq_jinsanjiao_user)
  33 + ↓
  34 +开单记录 (lq_kd_kdjlb) ← 预约记录 (lq_yyjl)
  35 + ↓
  36 +├── 开单品项明细 (lq_kd_pxmx) ← 项目资料 (lq_xmzl)
  37 +├── 开单健康师业绩 (lq_kd_jksyj)
  38 +├── 开单科技部老师业绩 (lq_kd_kjbsyj)
  39 +└── 业绩明细 (lq_yjmxb)
  40 +
  41 +耗卡业务
  42 + ↓
  43 +耗卡记录 (lq_xh_hyhk)
  44 + ↓
  45 +├── 耗卡品项明细 (lq_xh_pxmx)
  46 +├── 耗卡健康师业绩 (lq_xh_jksyj)
  47 +└── 耗卡科技部老师业绩 (lq_xh_kjbsyj)
  48 +```
104 49  
105 50 ---
106 51  
107   -## 核心业务表
108   -
109   -### 1. 门店相关表
110   -
111   -#### lq_mdxx (门店资料)
112   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
113   -|--------|----------|----------|----------|------|
114   -| F_Id | varchar(50) | NO | 主键 | PRI |
115   -| mdbm | varchar(50) | YES | 门店编码 | |
116   -| djmdbh | varchar(50) | YES | 单据门店编号 | |
117   -| djmd | varchar(50) | YES | 单据门店 | |
118   -| dm | varchar(50) | YES | 店名 | |
119   -| cs | varchar(50) | YES | 城市 | |
120   -| dz | varchar(50) | YES | 地址 | |
121   -| xm | varchar(50) | YES | 姓名 | |
122   -| dhhm | varchar(50) | YES | 电话号码 | |
123   -| zj | varchar(50) | YES | 座机 | |
124   -| kysj | datetime | YES | 开业时间 | |
125   -| zxzt | varchar(50) | YES | 最新状态 | |
126   -| gsmc | varchar(50) | YES | 工商名称 | |
127   -| fr | varchar(50) | YES | 法人 | |
128   -| ywsb | varchar(50) | YES | 有无社保 | |
129   -| syb | varchar(50) | YES | 事业部 | |
130   -| jyb | varchar(50) | YES | 教育部 | |
131   -| kjb | varchar(50) | YES | 科技部 | |
132   -| dxmb | varchar(50) | YES | 大项目部 | |
133   -| gsqssj | datetime | YES | 归属起始时间 | |
134   -| gszzsj | datetime | YES | 归属终止时间 | |
135   -| status | int(11) | YES | 状态 | |
136   -| xsyj | decimal(18,2) | YES | 目标-门店生命线 | |
137   -| xhyj | decimal(18,2) | YES | 目标-消耗业绩 | |
138   -| xms | int(11) | YES | 目标-项目数 | |
139   -| rt1 | int(11) | YES | 目标-人头1 | |
140   -| rt2 | int(11) | YES | 目标-人头2 | |
141   -| rc | int(11) | YES | 目标-人次 | |
142   -
143   -#### lq_md_mdlbjhsxx (门店类别及核算信息)
144   -- 用于存储门店的分类信息和核算相关配置
145   -
146   -#### ~~lq_md_mdgs (门店归属)~~ - 已弃用
147   -- ~~用于存储门店的归属关系~~ - 已整合到 `lq_mdxx` 表中
148   -
149   -#### lq_md_mdwy (门店物业)
150   -- 用于存储门店物业相关信息
151   -
152   -#### lq_md_xdbhsj (门店新店保护时间)
153   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
154   -|--------|----------|----------|----------|------|
155   -| F_Id | varchar(50) | NO | 主键ID | PRI |
156   -| mdid | varchar(50) | NO | 门店ID | |
157   -| bhkssj | datetime | NO | 保护开始时间 | |
158   -| bhjssj | datetime | NO | 保护结束时间 | |
159   -| sm | varchar(500) | YES | 说明 | |
160   -| cjsj | datetime | NO | 创建时间 | |
161   -| sfqy | int | NO | 是否启用(1启用,0禁用) | |
162   -
163   -**业务说明**:
164   -- 用于设置门店的新店保护时间段
165   -- 在保护期间内,门店按新店薪酬规则计算
166   -- 保护期结束后,门店按老店薪酬规则计算
167   -- 支持多个门店设置不同的保护时间段
168   -
169   -### 2. 人员相关表
170   -
171   -#### lq_ryzl (人员资料) - ⚠️ 已弃用
172   -> **注意**:此表已弃用,人员信息现在使用系统用户表 `BASE_USER` 管理
173   -
174   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
175   -|--------|----------|----------|----------|------|
176   -| F_Id | varchar | NO | 序号 | PRI |
177   -| dm | varchar | YES | 店名 | |
178   -| zw | varchar | YES | 职位 | |
179   -| fyft | varchar | YES | 费用分摊 | |
180   -| gwfl1 | varchar | YES | 岗位分类1 | |
181   -| xm | varchar | YES | 姓名 | |
182   -| zzqk | varchar | YES | 在职情况 | |
183   -| gwfl2 | varchar | YES | 岗位分类2 | |
184   -| rzsj | datetime | YES | 入职时间 | |
185   -| lzsj | datetime | YES | 离职时间 | |
186   -| zd | varchar | YES | 战队 | |
187   -| yl1 | varchar | YES | 预留1 | |
188   -| yl2 | varchar | YES | 预留2 | |
189   -| yl3 | varchar | YES | 预留3 | |
190   -| sjh | varchar | YES | 手机号 | |
191   -
192   -### 3. 项目相关表
193   -
194   -#### lq_xmzl (项目资料)
195   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
196   -|--------|----------|----------|----------|------|
197   -| F_Id | varchar | NO | 主键 | PRI |
198   -| xmbh | varchar | YES | 项目编号 | |
199   -| xmmc | varchar | YES | 项目名称 | |
200   -| bzjg | decimal | YES | 标准价格 | |
201   -| xmsc | int | YES | 项目时长(分钟) | |
202   -| jcfwtc | decimal | YES | 基础服务提成 | |
203   -| fl1 | varchar | YES | 分类①-汇总表 | |
204   -| fl2 | varchar | YES | 分类②-汇总表 | |
205   -| fl3 | varchar | YES | 分类③-工资用 | |
206   -| fl4 | varchar | YES | 分类④-统计品项用 | |
207   -| tjlb | varchar | YES | 统计类别 | |
208   -| zklb | varchar | YES | 折扣类别 | |
209   -| fl | varchar | YES | 分类 | |
210   -| qt1 | varchar | YES | 其它1 | |
211   -| qt2 | varchar | YES | 其它2 | |
212   -| syje | decimal | YES | 溯源金额 | |
213   -| cellje | decimal | YES | Cell金额 | |
214   -| sgf | decimal | YES | 手工费 | |
215   -
216   -### 4. 业绩相关表
217   -
218   -#### lq_yjmxb (业绩明细表)
219   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
220   -|--------|----------|----------|----------|------|
221   -| F_Id | varchar | NO | 业绩编号 | PRI |
222   -| fssj | datetime | YES | 发生时间 | |
223   -| syb | varchar | YES | 事业部 | |
224   -| mdbh | varchar | YES | 门店编号 | |
225   -| mdmc | varchar | YES | 门店名称 | |
226   -| jsj | varchar | YES | 金三角 | |
227   -| jks | varchar | YES | 健康师 | |
228   -| xmbh | varchar | YES | 项目编号 | |
229   -| xmmc | varchar | YES | 项目名称 | |
230   -| bm | varchar | YES | 部门 | |
231   -| khbh | varchar | YES | 客户编号 | |
232   -| khmc | varchar | YES | 客户名称 | |
233   -| ssyj | varchar | YES | 实收业绩 | |
234   -| qk | varchar | YES | 欠款 | |
235   -| khly | varchar | YES | 客户来源 | |
236   -| bz | varchar | YES | 备注 | |
237   -| zyj | varchar | YES | 总业绩 | |
238   -
239   -### 5. 金三角设定表
240   -
241   -#### lq_ycsd_jsj (金三角设定)
242   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
243   -|--------|----------|----------|----------|------|
244   -| F_Id | varchar(50) | NO | 主键 | PRI |
245   -| yf | varchar(50) | YES | 月份 | |
246   -| jsj | varchar(50) | YES | 金三角 | |
247   -| md | varchar(255) | YES | 门店ID | |
248   -
249   -**业务说明**:
250   -- 这是金三角基础信息表,只记录金三角的基本信息
251   -- 金三角与用户的绑定关系通过 `lq_jinsanjiao_user` 表管理
252   -- 金三角的业绩统计等数据通过业务逻辑计算,不存储在此表中
253   -
254   -#### lq_jinsanjiao_user (金三角用户绑定关系)
255   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
256   -|--------|----------|----------|----------|------|
257   -| F_Id | varchar(50) | NO | 主键 | PRI |
258   -| jsj_id | varchar(50) | NO | 金三角ID(关联lq_ycsd_jsj.F_Id) | |
259   -| user_id | varchar(50) | NO | 用户ID(关联BASE_USER.F_Id) | |
260   -| user_name | varchar(50) | NO | 用户姓名 | |
261   -| is_leader | int(11) | YES | 是否顾问(0-否,1-是) | |
262   -| status | varchar(20) | YES | 状态(ACTIVE-活跃,INACTIVE-非活跃) | |
263   -| sort_order | int(11) | YES | 排序 | |
264   -| F_CreatorTime | datetime | YES | 创建时间 | |
265   -| F_CreatorUserId | varchar(50) | YES | 创建人ID | |
266   -| F_LastModifyTime | datetime | YES | 最后修改时间 | |
267   -| F_LastModifyUserId | varchar(50) | YES | 最后修改人ID | |
268   -| F_DeleteMark | int(11) | YES | 删除标记 | |
269   -
270   -**业务说明**:
271   -- 这是金三角与用户的绑定关系表,管理金三角成员信息
272   -- 支持多人或单人金三角,通过 `is_leader` 字段标识队长
273   -- 支持用户在不同金三角间流动,通过 `status` 字段管理状态
274   -- 通过 `sort_order` 字段控制成员排序
275   -
276   -### 6. 开单相关表
277   -
278   -#### lq_kd_kdjlb (开单记录表)
279   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
280   -|--------|----------|----------|----------|------|
281   -| F_Id | varchar | NO | 开单编号 | PRI |
282   -| djmd | varchar | YES | 单据门店 | |
283   -| jsj | varchar | YES | 金三角 | |
284   -| kdrq | datetime | YES | 开单日期 | |
285   -| gjlx | varchar | YES | 顾客类型 | |
286   -| hgjg | varchar | YES | 合作机构 | |
287   -| zdyj | decimal | YES | 整单业绩 | |
288   -| sfyj | decimal | YES | 实付业绩 | |
289   -| qk | decimal | YES | 欠款 | |
290   -| ckfs | varchar | YES | 储扣方式 | |
291   -| ckmx | varchar | YES | 储扣明细 | |
292   -| fkfs | varchar | YES | 付款方式 | |
293   -| fkyy | varchar | YES | 付款医院 | |
294   -| fkpd | varchar | YES | 付款判断 | |
295   -| khly | varchar | YES | 客户来源 | |
296   -| tjr | varchar | YES | 推荐人 | |
297   -| sfskdd | varchar | YES | 是否首开订单 | |
298   -| jj | varchar | YES | 简介 | |
299   -| scwj | varchar | YES | 上传文件 | |
300   -| hyqz | varchar | YES | 会员签字 | |
301   -| bz | varchar | YES | 备注 | |
302   -| kdhy | varchar | YES | 开单会员 | |
303   -| kdhyc | varchar | YES | 开单会员名称 | |
304   -| kdhysjh | varchar | YES | 开单会员手机号 | |
305   -| jksyj | varchar | YES | 健康师业绩 | |
306   -| kjblsyj | varchar | YES | 科技部老师业绩 | |
307   -| pxxx | varchar | YES | 品项信息 | |
308   -| F_CreateUser | varchar | YES | 开单用户 | |
309   -| F_FIleUrl | varchar | YES | 方案其他 | |
310   -
311   -**业务说明**:
312   -- 这是系统的核心业务表,记录所有开单信息
313   -- 包含业绩计算、客户信息、付款方式等关键业务数据
314   -- 与业绩明细表、人员表、项目表等都有密切关联
315   -- 用于薪酬计算、业绩统计、客户管理等核心功能
316   -- **新增字段说明**:
317   - - `jksyj`:健康师业绩,存储该开单记录关联的所有健康师业绩总和
318   - - `kjblsyj`:科技部老师业绩,存储该开单记录关联的所有科技部老师业绩总和
319   - - `pxxx`:品项信息,存储该开单记录的所有品项信息
320   - - `F_CreateUser`:开单用户,记录创建该开单记录的用户ID
321   - - `F_FIleUrl`:方案其他,存储开单相关的其他文件或方案信息
322   -
323   -#### lq_kd_jksyj (开单健康师业绩表)
324   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
325   -|--------|----------|----------|----------|------|
326   -| F_Id | varchar | NO | 业绩编号 | PRI |
327   -| glkdbh | varchar | YES | 关联开单编号 | |
328   -| jks | varchar | YES | 健康师 | |
329   -| jksxm | varchar | YES | 健康师姓名 | |
330   -| jkszh | varchar | YES | 健康师账号 | |
331   -| jksyj | varchar | YES | 健康师业绩 | |
332   -| yjsj | datetime | YES | 业绩时间 | |
333   -| jsj_id | varchar | YES | 金三角id | |
334   -| F_kdpxid | varchar | NO | 开单品相ID | |
335   -
336   -**业务说明**:
337   -- 记录每个开单记录关联的健康师业绩明细
338   -- 通过 `glkdbh` 字段关联开单记录表
339   -- 通过 `jsj_id` 字段关联金三角信息
340   -- **新增字段**:`F_kdpxid` 用于关联具体的品项明细
341   -
342   -#### lq_kd_kjbsyj (开单科技部老师业绩表)
343   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
344   -|--------|----------|----------|----------|------|
345   -| F_Id | varchar | NO | 业绩编号 | PRI |
346   -| glkdbh | varchar | YES | 关联开单编号 | |
347   -| kjbls | varchar | YES | 科技部老师 | |
348   -| kjblsxm | varchar | YES | 科技部老师姓名 | |
349   -| kjblszh | varchar | YES | 科技部老师账号 | |
350   -| kjblsyj | varchar | YES | 科技部老师业绩 | |
351   -| yjsj | datetime | YES | 业绩时间 | |
352   -| F_kdpxid | varchar | NO | 开单品相id | |
353   -
354   -**业务说明**:
355   -- 记录每个开单记录关联的科技部老师业绩明细
356   -- 通过 `glkdbh` 字段关联开单记录表
357   -- **新增字段**:`F_kdpxid` 用于关联具体的品项明细
358   -
359   -#### lq_kd_pxmx (开单品项明细表)
360   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
361   -|--------|----------|----------|----------|------|
362   -| F_Id | varchar | NO | 明细编号 | PRI |
363   -| glkdbh | varchar | YES | 关联开单编号 | |
364   -| px | varchar | YES | 品项 | |
365   -| pxmc | varchar | YES | 品项名称 | |
366   -| pxjg | decimal | YES | 品项价格 | |
367   -| F_MemberId | varchar | NO | 会员id | |
368   -| F_CreateTIme | datetime | YES | 创建时间 | |
369   -| F_ProjectNumber | int | YES | 项目次数 | |
370   -| F_IsEnabled | int | YES | 是否有效 | |
371   -| F_SourceType | varchar | YES | 来源类型 | |
372   -| F_TotalPrice | decimal | YES | 金额合计 | |
373   -
374   -**业务说明**:
375   -- 记录每个开单记录的具体品项明细
376   -- 通过 `glkdbh` 字段关联开单记录表
377   -- 通过 `F_MemberId` 字段关联会员信息
378   -- **字段变更**:`F_MemberId` 现在是必填字段
379   -
380   -### 7. 其他重要表
381   -
382   -#### lq_xhmxb (消耗明细表)
383   -- 用于存储消耗明细信息
384   -
385   -#### lq_xh_jksyj (健康师业绩)
386   -- 用于存储健康师业绩信息
387   -
388   -#### lq_xh_kjbsyj (科技部老师业绩)
389   -- 用于存储科技部老师业绩信息
390   -
391   -#### lq_ycsd_mdmbsd (门店目标设定)
392   -- 用于存储门店目标设定信息
393   -
394   -#### lq_ycsd_gzhsfdtjsz (工资核算浮动条件设置)
395   -- 用于存储工资核算的浮动条件设置
396   -
397   -#### lq_ycsd_mdtjbcbftb (社保门店统计表成本分摊表)
398   -- 用于存储社保成本分摊信息
399   -
400   -### 8. 视图
401   -
402   -#### v_jsj_monthly_performance (金三角月度业绩统计视图)
403   -| 字段名 | 数据类型 | 字段说明 |
404   -|--------|----------|----------|
405   -| jsj_id | varchar(50) | 金三角ID |
406   -| jsj_name | varchar(50) | 金三角名称 |
407   -| month | varchar(50) | 月份 |
408   -| store_id | varchar(50) | 门店ID |
409   -| store_name | varchar(50) | 门店名称 |
410   -| order_count | int | 开单数量 |
411   -| total_performance | decimal(18,2) | 总业绩 |
412   -| avg_performance | decimal(18,2) | 平均业绩 |
413   -| last_order_date | datetime | 最后开单日期 |
414   -| first_order_date | datetime | 首次开单日期 |
415   -| health_teacher_count | int | 健康师数量 |
416   -| health_teachers | text | 健康师姓名列表 |
417   -
418   -**业务说明**:
419   -- 用于统计每个金三角的月度业绩情况
420   -- 关联表:`lq_ycsd_jsj`(金三角设定)、`lq_kd_jksyj`(健康师业绩)、`lq_mdxx`(门店信息)
421   -- 提供详细的业绩统计信息,包括总业绩、平均业绩、开单数量等
422   -
423   -#### v_jsj_monthly_summary (金三角月度业绩总和视图)
424   -| 字段名 | 数据类型 | 字段说明 |
425   -|--------|----------|----------|
426   -| jsj_id | varchar(50) | 金三角ID |
427   -| jsj_name | varchar(50) | 金三角名称 |
428   -| month | varchar(50) | 月份 |
429   -| store_id | varchar(50) | 门店ID |
430   -| store_name | varchar(50) | 门店名称 |
431   -| total_performance | decimal(18,2) | 月度业绩总和 |
432   -
433   -**业务说明**:
434   -- 简化版的金三角月度业绩统计视图
435   -- 只包含核心的业绩总和信息
436   -- 用于快速查询金三角的月度业绩情况
  52 +## 核心业务表关系
  53 +
  54 +### 1. 门店与人员关系
  55 +- **门店信息表**: `lq_mdxx` (门店基础信息)
  56 +- **人员信息**: `BASE_USER` (系统用户表,包含门店ID等扩展字段)
  57 +- **关联字段**: `BASE_USER.F_MDID` ↔ `lq_mdxx.F_Id`
  58 +
  59 +### 2. 金三角管理关系
  60 +- **金三角设定**: `lq_ycsd_jsj` (金三角基础信息)
  61 +- **金三角用户绑定**: `lq_jinsanjiao_user` (金三角与用户绑定关系)
  62 +- **用户信息**: `BASE_USER` (系统用户表)
  63 +- **关联字段**:
  64 + - `lq_ycsd_jsj.F_Id` ↔ `lq_jinsanjiao_user.jsj_id`
  65 + - `lq_jinsanjiao_user.user_id` ↔ `BASE_USER.F_Id`
  66 +
  67 +### 3. 开单业务关系
  68 +- **开单记录**: `lq_kd_kdjlb` (核心业务表)
  69 +- **开单品项明细**: `lq_kd_pxmx` (品项明细)
  70 +- **开单健康师业绩**: `lq_kd_jksyj` (健康师业绩)
  71 +- **开单科技部老师业绩**: `lq_kd_kjbsyj` (科技部老师业绩)
  72 +- **项目资料**: `lq_xmzl` (项目基础信息)
  73 +- **关联字段**:
  74 + - `lq_kd_kdjlb.F_Id` ↔ `lq_kd_pxmx.glkdbh`
  75 + - `lq_kd_kdjlb.F_Id` ↔ `lq_kd_jksyj.glkdbh`
  76 + - `lq_kd_kdjlb.F_Id` ↔ `lq_kd_kjbsyj.glkdbh`
  77 + - `lq_kd_pxmx.px` ↔ `lq_xmzl.F_Id`
  78 + - `lq_kd_jksyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
  79 + - `lq_kd_kjbsyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
  80 +
  81 +### 4. 耗卡业务关系
  82 +- **耗卡记录**: `lq_xh_hyhk` (耗卡记录表)
  83 +- **耗卡品项明细**: `lq_xh_pxmx` (耗卡品项明细)
  84 +- **耗卡健康师业绩**: `lq_xh_jksyj` (耗卡健康师业绩)
  85 +- **耗卡科技部老师业绩**: `lq_xh_kjbsyj` (耗卡科技部老师业绩)
  86 +- **关联字段**:
  87 + - `lq_xh_hyhk.F_Id` ↔ `lq_xh_pxmx.glkdbh` (耗卡记录关联品项明细)
  88 + - `lq_xh_hyhk.F_Id` ↔ `lq_xh_jksyj.glkdbh` (耗卡记录关联健康师业绩)
  89 + - `lq_xh_hyhk.F_Id` ↔ `lq_xh_kjbsyj.glkdbh` (耗卡记录关联科技部老师业绩)
  90 + - `lq_xh_jksyj.F_kdpxid` ↔ `lq_xh_pxmx.F_Id` (健康师业绩关联品项明细)
  91 + - `lq_xh_kjbsyj.F_hkpxid` ↔ `lq_xh_pxmx.F_Id` (科技部老师业绩关联品项明细)
  92 +
  93 +### 5. 业绩统计关系
  94 +- **业绩明细**: `lq_yjmxb` (业绩统计表)
  95 +- **关联字段**:
  96 + - `lq_yjmxb.jks` ↔ `BASE_USER.F_REALNAME` (健康师姓名)
  97 + - `lq_yjmxb.mdbh` ↔ `lq_mdxx.mdbm` (门店编号)
  98 + - `lq_yjmxb.xmbh` ↔ `lq_xmzl.xmbh` (项目编号)
437 99  
438 100 ---
439 101  
440   -## 表关联关系
441   -
442   -### 主要关联关系
443   -1. **门店与人员**:`lq_mdxx.dm` ↔ `BASE_USER.F_MDID` (人员信息已迁移到系统用户表)
444   -2. **人员与业绩**:`BASE_USER.F_REALNAME` ↔ `lq_yjmxb.jks` (通过姓名关联)
445   -3. **项目与业绩**:`lq_xmzl.xmbh` ↔ `lq_yjmxb.xmbh`
446   -4. **门店与业绩**:`lq_mdxx.mdbm` ↔ `lq_yjmxb.mdbh`
447   -5. **金三角设定与用户绑定**:`lq_ycsd_jsj.F_Id` ↔ `lq_jinsanjiao_user.jsj_id`
448   -6. **金三角用户绑定与用户**:`lq_jinsanjiao_user.user_id` ↔ `BASE_USER.F_Id`
449   -7. **开单记录与门店**:`lq_kd_kdjlb.djmd` ↔ `lq_mdxx.dm`
450   -8. **开单记录与金三角**:`lq_kd_kdjlb.jsj` ↔ `lq_ycsd_jsj.jsj`
451   -9. **开单记录与业绩**:`lq_kd_kdjlb.F_Id` ↔ `lq_yjmxb.F_Id` (通过开单编号关联)
452   -10. **门店与新店保护时间**:`lq_mdxx.F_Id` ↔ `lq_md_xdbhsj.mdid`
453   -11. **开单记录与健康师业绩**:`lq_kd_kdjlb.F_Id` ↔ `lq_kd_jksyj.glkdbh`
454   -12. **开单记录与科技部老师业绩**:`lq_kd_kdjlb.F_Id` ↔ `lq_kd_kjbsyj.glkdbh`
455   -13. **开单记录与品项明细**:`lq_kd_kdjlb.F_Id` ↔ `lq_kd_pxmx.glkdbh`
456   -14. **健康师业绩与品项明细**:`lq_kd_jksyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
457   -15. **科技部老师业绩与品项明细**:`lq_kd_kjbsyj.F_kdpxid` ↔ `lq_kd_pxmx.F_Id`
458   -16. **品项明细与项目资料**:`lq_kd_pxmx.px` ↔ `lq_xmzl.F_Id`
459   -
460   -### 业务逻辑关联
461   -- **开单记录表是核心业务表**:所有业务操作都围绕开单进行,是系统的业务中心
462   -- 门店信息是基础数据,人员、业绩、金三角设定都依赖门店
463   -- **人员信息已迁移**:人员资料现在使用系统用户表 `BASE_USER` 管理,包含门店ID、职位等扩展字段
464   -- 业绩明细表从开单记录表衍生,用于业绩统计和薪酬计算
465   -- 金三角设定表用于薪酬计算,关联人员业绩数据
466   -- 开单记录表包含完整的业务信息:客户、业绩、付款、品项等
  102 +## 已弃用表变更记录
  103 +
  104 +### ⚠️ 重要变更
  105 +
  106 +#### 1. 人员资料表弃用 (2024年)
  107 +- **弃用表**: `lq_ryzl` (人员资料表)
  108 +- **替代方案**: 使用系统用户表 `BASE_USER`
  109 +- **迁移字段**:
  110 + - `lq_ryzl.dm` → `BASE_USER.F_MDID` (门店ID)
  111 + - `lq_ryzl.zw` → `BASE_USER.F_ZW` (职位)
  112 + - `lq_ryzl.gwfl1` → `BASE_USER.F_GWFL` (岗位分类)
  113 + - `lq_ryzl.xm` → `BASE_USER.F_REALNAME` (姓名)
  114 + - `lq_ryzl.sjh` → `BASE_USER.F_MobilePhone` (手机号)
  115 +- **业务影响**: 所有人员相关查询必须使用 `BASE_USER` 表
  116 +
  117 +#### 2. 门店归属表弃用 (2024年)
  118 +- **弃用表**: `lq_mdxx_mdgs` (门店归属表)
  119 +- **替代方案**: 归属信息整合到 `lq_mdxx` 表
  120 +- **迁移字段**:
  121 + - `syb` (事业部)
  122 + - `jyb` (教育部)
  123 + - `kjb` (科技部)
  124 + - `dxmb` (大项目部)
  125 + - `gsqssj` (归属起始时间)
  126 + - `gszzsj` (归属终止时间)
  127 + - `status` (状态)
  128 +- **业务影响**: 门店归属信息现在直接在 `lq_mdxx` 表中管理
  129 +
  130 +#### 3. 门店目标设定表弃用 (2024年)
  131 +- **弃用表**: `lq_ycsd_mdmbsd` (门店目标设定表)
  132 +- **替代方案**: 目标信息整合到 `lq_mdxx` 表
  133 +- **迁移字段**:
  134 + - `xsyj` (目标-门店生命线)
  135 + - `xhyj` (目标-消耗业绩)
  136 + - `xms` (目标-项目数)
  137 + - `rt1` (目标-人头1)
  138 + - `rt2` (目标-人头2)
  139 + - `rc` (目标-人次)
  140 +
  141 +---
  142 +
  143 +## 重要业务规则
  144 +
  145 +### 1. 删除标记规则
  146 +- **base_organize 表**: `DeleteMark` 为 `null` 表示未删除,为 `0` 或其他值表示已删除
  147 +- **其他表**: 通常使用 `deletemark` 字段,`0` 表示未删除,`1` 表示已删除
  148 +
  149 +### 2. ID生成规则
  150 +- **主键字段**: 统一使用 `F_Id` (varchar类型)
  151 +
  152 +### 3. 金额字段规则
  153 +- **存储类型**: 所有金额字段使用 `varchar` 类型存储
  154 +- **计算注意**: 查询时需要转换为 `decimal` 类型进行计算
  155 +- **精度要求**: 金额计算保留2位小数
  156 +
  157 +### 4. 时间字段规则
  158 +- **存储类型**: 统一使用 `datetime` 类型
  159 +- **时区处理**: 注意时区转换问题
  160 +- **查询格式**: 使用 `yyyy-MM-dd HH:mm:ss` 格式
467 161  
468 162 ---
469 163  
... ... @@ -472,177 +166,58 @@
472 166 ### 门店状态 (lq_mdxx.zxzt)
473 167 - 待补充具体枚举值
474 168  
475   -### 在职情况 (BASE_USER.F_ENABLEDMARK) - ⚠️ 已迁移
476   -- 人员在职状态现在使用系统用户表的 `F_ENABLEDMARK` 字段管理
  169 +### 岗位分类 (BASE_USER.F_GWFL, F_GW)
477 170 - 待补充具体枚举值
478 171  
479   -### 岗位分类 (BASE_USER.F_GWFL, F_GW) - ⚠️ 已迁移
480   -- 岗位信息现在使用系统用户表的 `F_GWFL` 和 `F_GW` 字段管理
  172 +### 项目分类 (lq_xmzl.fl1, fl2, fl3, fl4)
481 173 - 待补充具体枚举值
482 174  
483   -### 项目分类 (lq_xmzl.fl1, fl2, fl3, fl4)
  175 +### 金三角状态 (lq_jinsanjiao_user.status)
  176 +- `ACTIVE`: 活跃
  177 +- `INACTIVE`: 非活跃
  178 +
  179 +### 预约状态 (lq_yyjl.F_Status)
484 180 - 待补充具体枚举值
485 181  
486 182 ---
487 183  
488   -## 数据库视图
489   -
490   -### v_jsj_monthly_performance (金三角月度业绩统计视图)
491   -- **功能**:统计每个金三角的月度业绩数据
492   -- **关联表**:lq_ycsd_jsj, lq_kd_jksyj, lq_mdxx, lq_jinsanjiao_user
493   -- **主要字段**:
494   - - jsj_id: 金三角ID
495   - - jsj_name: 金三角姓名
496   - - month: 统计月份
497   - - total_performance: 总业绩
498   - - order_count: 开单数量
499   - - avg_performance: 平均业绩
500   - - last_order_date: 最后开单日期
501   - - first_order_date: 首次开单日期
502   - - health_teacher_name: 健康师姓名
503   -
504   -### v_jsj_monthly_summary (金三角月度业绩总和视图)
505   -- **功能**:金三角月度业绩汇总(简化版)
506   -- **关联表**:lq_ycsd_jsj, lq_kd_jksyj, lq_jinsanjiao_user
507   -- **主要字段**:
508   - - jsj_id: 金三角ID
509   - - jsj_name: 金三角姓名
510   - - month: 统计月份
511   - - total_performance: 总业绩
512   -
513   -### v_order_detail_simple (开单详细记录视图)
514   -- **功能**:联合开单记录表、开单品项明细表、项目资料表,呈现开单详细记录
515   -- **关联表**:lq_kd_kdjlb, lq_kd_pxmx, lq_xmzl
516   -- **主要字段**:
517   - - order_id: 开单编号
518   - - order_member: 开单会员
519   - - member_phone: 会员手机号
520   - - order_time: 开单时间
521   - - item_code: 开单品项(项目编号)
522   - - item_name: 品项名称
523   - - project_count: 项目数量
524   - - project_unit_price: 项目单价
525   - - project_total_price: 项目总价(数量*单价)
526   - - source_type: 来源类型
527   - - project_category3: 项目分类3
528   -
529   -### v_personal_monthly_performance (个人业绩月度统计视图)
530   -- **功能**:统计每个健康师和科技部老师的月度业绩情况
531   -- **关联表**:lq_kd_jksyj, lq_kd_kjbsyj, lq_kd_kdjlb, lq_kd_pxmx, BASE_USER, lq_mdxx, lq_ycsd_jsj
532   -- **主要字段**:
533   - - performance_month: 业绩月份(YYYY-MM)
534   - - user_name: 用户姓名
535   - - position: 职位
536   - - department: 部门(门店名称)
537   - - golden_triangle: 金三角名称
538   - - total_performance: 总业绩
539   - - basic_performance: 基础业绩(新客业绩)
540   - - cooperation_performance: 合作业绩(老客业绩)
541   - - reward_performance: 奖励业绩(预留字段,目前为0)
542   - - total_project_count: 项目数量总和(品项数量总和)
543   -
544   -## 耗卡相关表
545   -
546   -#### lq_xh_pxmx (耗卡品项明细表)
547   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
548   -|--------|----------|----------|----------|------|
549   -| F_Id | varchar | NO | 明细编号 | PRI |
550   -| glkdbh | varchar | YES | 关联开单编号 | |
551   -| px | varchar | YES | 品项 | |
552   -| pxmc | varchar | YES | 品项名称 | |
553   -| pxjg | decimal | YES | 品项价格 | |
554   -| xfzs | varchar | YES | 是否赠送 | |
555   -| F_MemberId | varchar | YES | 会员id | |
556   -| F_CreateTIme | datetime | YES | 创建时间 | |
557   -| F_ProjectNumber | int | YES | 项目次数 | |
558   -| F_IsEnabled | int | YES | 是否有效 | |
559   -| F_SourceType | varchar | YES | 来源类型 | |
560   -| F_TotalPrice | decimal | YES | 合计金额 | |
561   -
562   -**业务说明**:
563   -- 记录每个耗卡记录的具体品项明细
564   -- 通过 `glkdbh` 字段关联开单记录表
565   -- 通过 `F_MemberId` 字段关联会员信息
566   -- 包含是否赠送、项目次数等耗卡特有字段
567   -
568   -#### lq_xh_jksyj (耗卡健康师业绩表)
569   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
570   -|--------|----------|----------|----------|------|
571   -| F_Id | varchar | NO | 业绩编号 | PRI |
572   -| glkdbh | varchar | YES | 关联开单编号 | |
573   -| jks | varchar | YES | 健康师 | |
574   -| jksxm | varchar | YES | 健康师姓名 | |
575   -| jkszh | varchar | YES | 健康师账号 | |
576   -| jksyj | varchar | YES | 健康师业绩 | |
577   -| yjsj | datetime | YES | 业绩时间 | |
578   -| F_jsjid | varchar | YES | 金三角id | |
579   -| F_kdpxid | varchar | YES | 耗卡品项id | |
580   -| F_LaborCost | decimal | YES | 手工费 | |
581   -| F_kdpxNumber | decimal | YES | 耗卡品项次数 | |
582   -
583   -**业务说明**:
584   -- 记录每个耗卡记录关联的健康师业绩明细
585   -- 通过 `glkdbh` 字段关联开单记录表
586   -- 通过 `F_kdpxid` 字段关联耗卡品项明细表
587   -- 包含手工费等耗卡特有字段
588   -
589   -#### lq_xh_kjbsyj (耗卡科技部老师业绩表)
590   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
591   -|--------|----------|----------|----------|------|
592   -| F_Id | varchar | NO | 业绩编号 | PRI |
593   -| glkdbh | varchar | YES | 关联开单编号 | |
594   -| kjbls | varchar | YES | 科技部老师 | |
595   -| kjblsxm | varchar | YES | 科技部老师姓名 | |
596   -| kjblszh | varchar | YES | 科技部老师账号 | |
597   -| kjblsyj | varchar | YES | 科技部老师业绩 | |
598   -| yjsj | datetime | YES | 业绩时间 | |
599   -| F_hkpxid | varchar | YES | 耗卡品项Id | |
600   -| F_LaborCost | decimal | YES | 手工费 | |
601   -| F_hdpxNumber | decimal | YES | 耗卡品相次数 | |
602   -
603   -**业务说明**:
604   -- 记录每个耗卡记录关联的科技部老师业绩明细
605   -- 通过 `glkdbh` 字段关联开单记录表
606   -- 通过 `F_hkpxid` 字段关联耗卡品项明细表
607   -- 包含手工费等耗卡特有字段
  184 +## 开发注意事项
608 185  
609   ----
  186 +### 1. 查询优化
  187 +- 所有列表查询必须支持分页
  188 +- 关键字段建立索引
  189 +- 避免 N+1 查询,使用 JOIN 优化
610 190  
611   -#### lq_yyjl (预约记录表)
612   -| 字段名 | 数据类型 | 是否可空 | 字段说明 | 主键 |
613   -|--------|----------|----------|----------|------|
614   -| F_Id | varchar(50) | NO | 预约编号 | PRI |
615   -| djmd | varchar(50) | YES | 单据门店 | |
616   -| yyr | varchar(50) | YES | 邀约人 | |
617   -| gklx | varchar(50) | YES | 顾客类型 | |
618   -| yytyxm | varchar(200) | YES | 预约体验项目 | |
619   -| czr | varchar(50) | YES | 操作人 | |
620   -| czsj | datetime | YES | 操作时间 | |
621   -| gk | varchar(50) | YES | 顾客 | |
622   -| gkxm | varchar(50) | YES | 顾客姓名 | |
623   -| yyjks | varchar(50) | YES | 预约健康师 | |
624   -| yysj | datetime | YES | 预约开始时间 | |
625   -| yyjs | datetime | YES | 预约结束时间 | |
626   -| F_Status | varchar(50) | YES | 预约状态 | |
627   -
628   -**业务说明**:
629   -- 记录客户预约服务的详细信息
630   -- 包含预约时间、健康师、体验项目等关键信息
631   -- 通过 `djmd` 字段关联门店信息
632   -- `F_Status` 字段用于记录预约状态(如:已预约、已完成、已取消等)
  191 +### 2. 数据一致性
  192 +- 统计接口与列表接口使用相同的过滤条件
  193 +- 所有数据查询必须添加园区权限过滤
  194 +- DTO字段名称、大小写必须完全一致
633 195  
634   ----
  196 +### 3. 业务逻辑
  197 +- 开单记录表是核心业务表,所有业务操作都围绕开单进行
  198 +- 人员信息已迁移到系统用户表,查询时使用 `BASE_USER`
  199 +- 门店归属信息现在直接在 `lq_mdxx` 表中管理
635 200  
636   -## 重要说明
  201 +### 4. 字段映射
  202 +- 数据库字段使用拼音首字母命名
  203 +- 实体类字段使用驼峰命名
  204 +- 查询时注意字段名映射关系
637 205  
638   -1. **字段命名**:项目中使用拼音首字母命名,需要在此文档中详细说明
639   -2. **关联关系**:由于缺乏主外键约束,需要在文档中明确记录表间关联
640   -3. **业务含义**:每个字段的业务含义需要详细说明
641   -4. **数据字典**:枚举值、状态码等需要在此文档中记录
642   -5. **金额字段**:所有金额相关字段都使用varchar类型存储,需要注意数据类型转换
643   -6. **时间字段**:统一使用datetime类型,注意时区处理
  206 +### 5. 权限控制
  207 +- 所有数据查询必须添加园区权限过滤
  208 +- 使用 `base_organize.DeleteMark` 过滤已删除数据
  209 +- 接口必须校验 JWT Token
644 210  
645 211 ---
646 212  
647   -*文档创建时间:2024年*
648   -*最后更新时间:2025年1月11日*
  213 +## 视图说明
  214 +
  215 +### 业绩统计视图
  216 +- `v_jsj_monthly_performance`: 金三角月度业绩统计
  217 +- `v_jsj_monthly_summary`: 金三角月度业绩汇总
  218 +- `v_personal_monthly_performance`: 个人业绩月度统计
  219 +
  220 +### 开单相关视图
  221 +- `v_order_detail_simple`: 开单详细记录视图
  222 +
  223 +---
... ...