数据库说明.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_MDIDlq_mdxx.F_Id

2. 金三角管理关系

  • 金三角设定: lq_ycsd_jsj (金三角基础信息)
  • 金三角用户绑定: lq_jinsanjiao_user (金三角与用户绑定关系)
  • 用户信息: BASE_USER (系统用户表)
  • 关联字段:
    • lq_ycsd_jsj.F_Idlq_jinsanjiao_user.jsj_id
    • lq_jinsanjiao_user.user_idBASE_USER.F_Id

3. 开单业务关系

  • 开单记录: lq_kd_kdjlb (核心业务表)
  • 开单品项明细: lq_kd_pxmx (品项明细)
  • 开单健康师业绩: lq_kd_jksyj (健康师业绩)
  • 开单科技部老师业绩: lq_kd_kjbsyj (科技部老师业绩)
  • 项目资料: lq_xmzl (项目基础信息)
  • 关联字段:
    • lq_kd_kdjlb.F_Idlq_kd_pxmx.glkdbh
    • lq_kd_kdjlb.F_Idlq_kd_jksyj.glkdbh
    • lq_kd_kdjlb.F_Idlq_kd_kjbsyj.glkdbh
    • lq_kd_pxmx.pxlq_xmzl.F_Id
    • lq_kd_jksyj.F_kdpxidlq_kd_pxmx.F_Id
    • lq_kd_kjbsyj.F_kdpxidlq_kd_pxmx.F_Id

4. 耗卡业务关系

  • 耗卡记录: lq_xh_hyhk (耗卡记录表)
  • 耗卡品项明细: lq_xh_pxmx (耗卡品项明细)
  • 耗卡健康师业绩: lq_xh_jksyj (耗卡健康师业绩)
  • 耗卡科技部老师业绩: lq_xh_kjbsyj (耗卡科技部老师业绩)
  • 关联字段:
    • lq_xh_hyhk.F_Idlq_xh_pxmx.glkdbh (耗卡记录关联品项明细)
    • lq_xh_hyhk.F_Idlq_xh_jksyj.glkdbh (耗卡记录关联健康师业绩)
    • lq_xh_hyhk.F_Idlq_xh_kjbsyj.glkdbh (耗卡记录关联科技部老师业绩)
    • lq_xh_jksyj.F_kdpxidlq_xh_pxmx.F_Id (健康师业绩关联品项明细)
    • lq_xh_kjbsyj.F_hkpxidlq_xh_pxmx.F_Id (科技部老师业绩关联品项明细)

5. 退卡业务关系

  • 退卡记录: lq_hytk_hytk (退卡记录表)
  • 退卡品项明细: lq_hytk_mx (退卡品项明细)
  • 退卡健康师业绩: lq_hytk_jksyj (退卡健康师业绩)
  • 退卡科技部老师业绩: lq_hytk_kjbsyj (退卡科技部老师业绩)
  • 关联字段:
    • lq_hytk_hytk.F_Idlq_hytk_mx.F_RefundInfoId (退卡记录关联品项明细)
    • lq_hytk_hytk.F_Idlq_hytk_jksyj.gltkbh (退卡记录关联健康师业绩)
    • lq_hytk_hytk.F_Idlq_hytk_kjbsyj.gltkbh (退卡记录关联科技部老师业绩)
    • lq_hytk_mx.F_BillingItemIdlq_kd_pxmx.F_Id (退卡明细关联开单品项明细)
    • lq_hytk_mx.F_MemberIdlq_khxx.F_Id (退卡明细关联会员,通过会员ID)
    • lq_hytk_hytk.hylq_khxx.F_Id (退卡记录关联会员)

6. 报销申请与流程配置关系

  • 报销申请表: lq_reimbursement_application
  • 流程配置表: lq_reimbursement_workflow_config
  • 关联字段: lq_reimbursement_application.F_WorkflowConfigIdlq_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: 最后修改人ID
    • F_LastModifyUserName: 最后修改人姓名
    • F_LastModifyTime: 最后修改时间
  • 关联字段:
    • BASE_USER.F_AttendanceGroupIdlq_attendance_group.F_Id(员工当前考勤分组,直接绑定在用户表,不单独建成员表)
    • lq_attendance_group.F_MonthlyRestDays / lq_attendance_group.F_HalfDaySplitRestDays(共同约束“休假”流程:前者控制月总休假天数,后者控制当月最多可拆成半天的休假额度)
    • lq_attendance_exempt_user.F_UserIdBASE_USER.F_Id(免考勤人员)
    • lq_attendance_extra_leave.F_UserIdBASE_USER.F_Id(员工额外假期额度配置)
    • lq_attendance_config_history.F_BizId ↔ 各考勤配置表 F_Id(按 F_ModuleType 区分模块)
    • WFORM_LEAVEAPPLY.F_FUNERALRELATIONTYPE(丧假关系类型:1-直系亲属,2-非直系亲属,不再从请假原因文本识别)
    • 销假流程表 WFORM_LEAVE_CANCEL_APPLY:字段含 F_FLOWIDF_BILLNOF_ATTENDANCERECORDID(待销假的 lq_attendance_record.F_Id)、F_CANCELREASON 等;流程通过后由工作流钩子调用考勤销假。
    • 补卡流程表 WFORM_ATTENDANCE_PUNCH_APPLY:字段含 F_PUNCHTARGETSJSON(补卡目标 JSON:date / punchIn / punchOut)、F_APPLYREASON 等;流程通过后按考勤组标准上下班时间写入打卡。
    • 单据规则 BASE_BILLRULE:销假/补卡流程取号依赖编码 WF_LeaveCancelApplyNoWF_AttendancePunchApplyNo;未配置时取号结果为「单据规则不存在」。初始化脚本:项目文档相关/sql/2026-4-2/单据规则_BASE_BILLRULE_销假与补卡.sql

8. 考勤打卡记录表说明

  • 表名: lq_attendance_record
  • 用途: 存储员工每日真实打卡结果,供“打卡记录”页面按月生成矩阵视图,并同时固化“命中的规则快照”和“打卡当时整套考勤规则快照”。
  • 核心字段:
    • F_UserId: 员工ID
    • F_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_UserIdBASE_USER.F_Id(打卡员工)
    • lq_attendance_record.F_StoreIdlq_mdxx.F_Id(打卡时门店快照)
    • lq_attendance_record.F_AttendanceGroupIdlq_attendance_group.F_Id(打卡时考勤分组快照)

9. 业绩统计关系

  • 业绩明细: lq_yjmxb (业绩统计表)
  • 关联字段:
    • lq_yjmxb.jksBASE_USER.F_REALNAME (健康师姓名)
    • lq_yjmxb.mdbhlq_mdxx.mdbm (门店编号)
    • lq_yjmxb.xmbhlq_xmzl.xmbh (项目编号)

已弃用表变更记录

⚠️ 重要变更

1. 人员资料表弃用 (2024年)

  • 弃用表: lq_ryzl (人员资料表)
  • 替代方案: 使用系统用户表 BASE_USER
  • 迁移字段:
    • lq_ryzl.dmBASE_USER.F_MDID (门店ID)
    • lq_ryzl.zwBASE_USER.F_ZW (职位)
    • lq_ryzl.gwfl1BASE_USER.F_GWFL (岗位分类)
    • lq_ryzl.xmBASE_USER.F_REALNAME (姓名)
    • lq_ryzl.sjhBASE_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 表: DeleteMarknull 表示未删除,为 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: 开单详细记录视图