数据库说明.md
14.4 KB
绿纤美业ERP系统 - 数据库说明
📋 目录
数据库基本信息
- 数据库类型: MySQL
- 数据库名称: lqerp
- 字符集: utf8
- 表总数: 约100+张表
- 命名规范: 业务前缀
lq_+ 功能名称
表关系图
核心业务流程图
门店信息 (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(门店基础信息)longitude(DECIMAL): 经度latitude(DECIMAL): 纬度fence_polygons(JSON): 电子围栏多边形坐标,格式[[{lng,lat},...]]F_BusinessHours(TEXT): 营业时间设置F_TrafficTips(TEXT): 交通提示
- 人员信息:
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_idlq_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.glkdbhlq_kd_kdjlb.F_Id↔lq_kd_jksyj.glkdbhlq_kd_kdjlb.F_Id↔lq_kd_kjbsyj.glkdbhlq_kd_pxmx.px↔lq_xmzl.F_Idlq_kd_jksyj.F_kdpxid↔lq_kd_pxmx.F_Idlq_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_hytk_hytk(退卡记录表) - 退卡品项明细:
lq_hytk_mx(退卡品项明细) - 退卡健康师业绩:
lq_hytk_jksyj(退卡健康师业绩) - 退卡科技部老师业绩:
lq_hytk_kjbsyj(退卡科技部老师业绩) - 关联字段:
lq_hytk_hytk.F_Id↔lq_hytk_mx.F_RefundInfoId(退卡记录关联品项明细)lq_hytk_hytk.F_Id↔lq_hytk_jksyj.gltkbh(退卡记录关联健康师业绩)lq_hytk_hytk.F_Id↔lq_hytk_kjbsyj.gltkbh(退卡记录关联科技部老师业绩)lq_hytk_mx.F_BillingItemId↔lq_kd_pxmx.F_Id(退卡明细关联开单品项明细)lq_hytk_mx.F_MemberId↔lq_khxx.F_Id(退卡明细关联会员,通过会员ID)lq_hytk_hytk.hy↔lq_khxx.F_Id(退卡记录关联会员)
6. 报销申请与流程配置关系
- 报销申请表:
lq_reimbursement_application - 流程配置表:
lq_reimbursement_workflow_config - 关联字段:
lq_reimbursement_application.F_WorkflowConfigId↔lq_reimbursement_workflow_config.F_Id(可选,用于返回流程名称 workflowName)
7. 考勤设置关系
- 考勤设置主表:
lq_attendance_setting - 公休日期表:
lq_attendance_holiday - 考勤分组表:
lq_attendance_group- 关键字段:
F_MonthlyRestDays(月应休天数)、F_HalfDaySplitRestDays(可拆分半天休假天数,整数,表示允许拆成半天的整天额度)
- 关键字段:
- 免考勤人员表:
lq_attendance_exempt_user - 额外假期表:
lq_attendance_extra_leave - 婚假规则表:
lq_attendance_marriage_leave_rule - 丧假规则表:
lq_attendance_funeral_leave_rule - 年假规则表:
lq_attendance_annual_leave_rule - 产假规则表:
lq_attendance_maternity_leave_rule - 迟到 / 早退规则表:
lq_attendance_late_rule - 缺卡规则表:
lq_attendance_missing_card_rule - 旷工规则表:
lq_attendance_absenteeism_rule - 配置历史表:
lq_attendance_config_history - 人员信息来源:
BASE_USER(司龄按BASE_USER.F_ENTRYDATE计算,考勤分组绑定字段为BASE_USER.F_AttendanceGroupId) - 统一历史字段(除历史表外,所有考勤配置表均已补齐):
F_DeleteMark: 逻辑删除标记(0-正常,1-已删除)F_VersionNo: 当前版本号F_LastModifyUserId: 最后修改人IDF_LastModifyUserName: 最后修改人姓名F_LastModifyTime: 最后修改时间
- 关联字段:
BASE_USER.F_AttendanceGroupId↔lq_attendance_group.F_Id(员工当前考勤分组,直接绑定在用户表,不单独建成员表)lq_attendance_group.F_MonthlyRestDays/lq_attendance_group.F_HalfDaySplitRestDays(共同约束“休假”流程:前者控制月总休假天数,后者控制当月最多可拆成半天的休假额度)lq_attendance_exempt_user.F_UserId↔BASE_USER.F_Id(免考勤人员)lq_attendance_extra_leave.F_UserId↔BASE_USER.F_Id(员工额外假期额度配置)lq_attendance_config_history.F_BizId↔ 各考勤配置表F_Id(按F_ModuleType区分模块)WFORM_LEAVEAPPLY.F_FUNERALRELATIONTYPE(丧假关系类型:1-直系亲属,2-非直系亲属,不再从请假原因文本识别)- 销假流程表
WFORM_LEAVE_CANCEL_APPLY:字段含F_FLOWID、F_BILLNO、F_ATTENDANCERECORDID(待销假的lq_attendance_record.F_Id)、F_CANCELREASON等;流程通过后由工作流钩子调用考勤销假。 - 补卡流程表
WFORM_ATTENDANCE_PUNCH_APPLY:字段含F_PUNCHTARGETSJSON(补卡目标 JSON:date/punchIn/punchOut)、F_APPLYREASON等;流程通过后按考勤组标准上下班时间写入打卡。 - 单据规则
BASE_BILLRULE:销假/补卡流程取号依赖编码WF_LeaveCancelApplyNo、WF_AttendancePunchApplyNo;未配置时取号结果为「单据规则不存在」。初始化脚本:项目文档相关/sql/2026-4-2/单据规则_BASE_BILLRULE_销假与补卡.sql。
8. 考勤打卡记录表说明
- 表名:
lq_attendance_record - 用途: 存储员工每日真实打卡结果,供“打卡记录”页面按月生成矩阵视图,并同时固化“命中的规则快照”和“打卡当时整套考勤规则快照”。
- 核心字段:
F_UserId: 员工IDF_EmployeeName: 员工姓名快照F_StoreId/F_StoreName: 门店快照F_AttendanceGroupId/F_AttendanceGroupName: 考勤分组快照F_AttendanceDate: 打卡日期F_PunchInTime/F_PunchOutTime: 上下班打卡时间F_PunchInType/F_PunchOutType: 上下班打卡类型(1正常上班,2外勤)F_PunchInLongitude/F_PunchInLatitude/F_PunchInAddress: 上班打卡定位与地址F_PunchOutLongitude/F_PunchOutLatitude/F_PunchOutAddress: 下班打卡定位与地址F_PunchInPhotoUrl/F_PunchOutPhotoUrl: 上下班打卡照片F_IsPunchInFenceValid/F_IsPunchOutFenceValid: 上下班围栏校验结果(1围栏内,0围栏外,null未校验)F_Status: 打卡状态(1正常,2迟到,3休息,4请假,5病假,6缺卡,7旷工)F_LateMinutes: 迟到分钟数F_EarlyLeaveMinutes: 早退分钟数F_IsManual: 是否手动补录F_Remark: 备注F_RuleSnapshotJson: 规则快照JSON(保存打卡当日命中的考勤组、迟到早退规则等配置,便于事后追溯)F_AllRuleSnapshotJson: 全量考勤规则快照JSON(保存打卡当时整套考勤设置,包括基础扣款倍率、公休、假期规则、缺卡/旷工/迟到早退规则、当前员工相关免考勤与额外假期配置等)F_SupplementRemark: 补卡备注F_SupplementOperatorId/F_SupplementOperatorName/F_SupplementTime: 补卡操作信息F_SupplementWorkflowId: 关联补卡流程ID(可空)F_RelatedWorkflowsJson: 关联流程 JSON(数组,记录与该日考勤相关的请假/补卡等流程,含类型、表单主键、单号、假种等,便于详情展示与追溯)
- 索引说明:
uk_attendance_record_user_date: 保证同一员工同一天只有一条有效记录idx_attendance_record_month_group: 支持按月份、分组快速查询月度矩阵
- 关联字段:
lq_attendance_record.F_UserId↔BASE_USER.F_Id(打卡员工)lq_attendance_record.F_StoreId↔lq_mdxx.F_Id(打卡时门店快照)lq_attendance_record.F_AttendanceGroupId↔lq_attendance_group.F_Id(打卡时考勤分组快照)
9. 业绩统计关系
- 业绩明细:
lq_yjmxb(业绩统计表) - 关联字段:
lq_yjmxb.jks↔BASE_USER.F_REALNAME(健康师姓名)lq_yjmxb.mdbh↔lq_mdxx.mdbm(门店编号)lq_yjmxb.xmbh↔lq_xmzl.xmbh(项目编号)
已弃用表变更记录
⚠️ 重要变更
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格式
5. 考勤配置规则
- 司龄来源: 考勤相关司龄一律使用
BASE_USER.F_ENTRYDATE计算,不再依赖lq_ryzl或其他历史人员表 - 区间规则: 婚假、丧假、年假、产假、迟到、缺卡、旷工规则统一按“最小值包含、最大值不包含”处理,最大值留空表示无上限
- 人员归属: 同一员工只能归属一个考勤分组,直接维护在
BASE_USER.F_AttendanceGroupId;免考勤人员使用lq_attendance_exempt_user独立维护 - 额外假期: 员工奖励假、旅游假等额外休假额度单独存储在
lq_attendance_extra_leave,按“员工 + 年份 + 假期名称”维度配置,可配置多条
数据字典
门店状态 (lq_mdxx.zxzt)
- 待补充具体枚举值
岗位分类 (BASE_USER.F_GWFL, F_GW)
- 待补充具体枚举值
项目分类 (lq_xmzl.fl1, fl2, fl3, fl4)
- 待补充具体枚举值
金三角状态 (lq_jinsanjiao_user.status)
ACTIVE: 活跃INACTIVE: 非活跃
预约状态 (lq_yyjl.F_Status)
- 待补充具体枚举值
开发注意事项
1. 查询优化
- 所有列表查询必须支持分页
- 关键字段建立索引
- 避免 N+1 查询,使用 JOIN 优化
2. 数据一致性
- 统计接口与列表接口使用相同的过滤条件
- 所有数据查询必须添加园区权限过滤
- DTO字段名称、大小写必须完全一致
3. 业务逻辑
- 开单记录表是核心业务表,所有业务操作都围绕开单进行
- 人员信息已迁移到系统用户表,查询时使用
BASE_USER - 门店归属信息现在直接在
lq_mdxx表中管理
4. 字段映射
- 数据库字段使用拼音首字母命名
- 实体类字段使用驼峰命名
- 查询时注意字段名映射关系
5. 权限控制
- 所有数据查询必须添加园区权限过滤
- 使用
base_organize.DeleteMark过滤已删除数据 - 接口必须校验 JWT Token
视图说明
业绩统计视图
v_jsj_monthly_performance: 金三角月度业绩统计v_jsj_monthly_summary: 金三角月度业绩汇总v_personal_monthly_performance: 个人业绩月度统计
开单相关视图
v_order_detail_simple: 开单详细记录视图