-- =============================================
-- 绿纤美业ERP系统 - 退卡相关表创建脚本
-- 创建时间: 2025-01-27
-- 说明: 创建会员退卡主表、明细表、业绩表
-- =============================================

-- 1. 创建会员退卡主表
DROP TABLE IF EXISTS `lq_hytk_hytk`;
CREATE TABLE `lq_hytk_hytk` (
  `F_Id` varchar(50) NOT NULL COMMENT '退卡编号',
  `md` varchar(50) DEFAULT NULL COMMENT '门店',
  `mdbh` varchar(50) DEFAULT NULL COMMENT '门店编号',
  `mdmc` varchar(50) DEFAULT NULL COMMENT '门店名称',
  `hy` varchar(50) DEFAULT NULL COMMENT '会员',
  `hyzh` varchar(50) DEFAULT NULL COMMENT '会员账号',
  `hymc` varchar(50) DEFAULT NULL COMMENT '会员名称',
  `gklx` varchar(50) DEFAULT NULL COMMENT '顾客类型',
  `tkje` decimal(15,2) DEFAULT NULL COMMENT '退卡总金额',
  `sgfy` decimal(15,2) DEFAULT NULL COMMENT '手工费用',
  `bz` text COMMENT '备注',
  `tksj` datetime DEFAULT NULL COMMENT '退卡时间',
  `czry` varchar(50) DEFAULT NULL COMMENT '操作人员',
  `tkzt` varchar(20) DEFAULT NULL COMMENT '退卡状态',
  `tkyy` varchar(200) DEFAULT NULL COMMENT '退卡原因',
  `F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
  `F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建用户',
  `F_ModifyTime` datetime DEFAULT NULL COMMENT '修改时间',
  `F_ModifyUser` varchar(50) DEFAULT NULL COMMENT '修改用户',
  `F_DeleteMark` int(1) DEFAULT NULL COMMENT '删除标记',
  PRIMARY KEY (`F_Id`),
  KEY `idx_md` (`md`),
  KEY `idx_hy` (`hy`),
  KEY `idx_tksj` (`tksj`),
  KEY `idx_tkzt` (`tkzt`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='退卡_信息表';

-- 2. 创建会员退卡明细表
DROP TABLE IF EXISTS `lq_hytk_mx`;
CREATE TABLE `lq_hytk_mx` (
  `F_Id` varchar(50) NOT NULL COMMENT '明细编号',
  `gltkbh` varchar(50) DEFAULT NULL COMMENT '关联退卡编号',
  `px` varchar(50) DEFAULT NULL COMMENT '品项',
  `pxmc` varchar(100) DEFAULT NULL COMMENT '品项名称',
  `pxjg` decimal(15,2) DEFAULT NULL COMMENT '品项价格',
  `tkje` decimal(15,2) DEFAULT NULL COMMENT '退款金额',
  `F_ProjectNumber` int DEFAULT NULL COMMENT '项目次数',
  `F_IsEnabled` int(1) DEFAULT NULL COMMENT '是否有效',
  `F_SourceType` varchar(20) DEFAULT NULL COMMENT '来源类型',
  `F_TotalPrice` decimal(15,2) DEFAULT NULL COMMENT '合计金额',
  `F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
  `F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建用户',
  `F_ModifyTime` datetime DEFAULT NULL COMMENT '修改时间',
  `F_ModifyUser` varchar(50) DEFAULT NULL COMMENT '修改用户',
  `F_DeleteMark` int(1) DEFAULT NULL COMMENT '删除标记',
  PRIMARY KEY (`F_Id`),
  KEY `idx_gltkbh` (`gltkbh`),
  KEY `idx_px` (`px`),
  KEY `idx_F_SourceType` (`F_SourceType`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='退卡_品项明细表';

-- 3. 创建退卡健康师业绩表
DROP TABLE IF EXISTS `lq_hytk_jksyj`;
CREATE TABLE `lq_hytk_jksyj` (
  `F_Id` varchar(50) NOT NULL COMMENT '业绩编号',
  `gltkbh` varchar(50) DEFAULT NULL COMMENT '关联退卡编号',
  `jks` varchar(50) DEFAULT NULL COMMENT '健康师',
  `jksxm` varchar(50) DEFAULT NULL COMMENT '健康师姓名',
  `jkszh` varchar(50) DEFAULT NULL COMMENT '健康师账号',
  `jksyj` decimal(15,2) DEFAULT NULL COMMENT '健康师业绩',
  `tksj` datetime DEFAULT NULL COMMENT '退卡时间',
  `F_jsjid` varchar(50) DEFAULT NULL COMMENT '金三角id',
  `F_tkpxid` varchar(50) DEFAULT NULL COMMENT '关联项目资料表ID',
  `F_LaborCost` decimal(15,2) DEFAULT NULL COMMENT '手工费',
  `F_tkpxNumber` decimal(15,2) DEFAULT NULL COMMENT '退卡品项次数',
  `F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
  `F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建用户',
  `F_ModifyTime` datetime DEFAULT NULL COMMENT '修改时间',
  `F_ModifyUser` varchar(50) DEFAULT NULL COMMENT '修改用户',
  `F_DeleteMark` int(1) DEFAULT NULL COMMENT '删除标记',
  PRIMARY KEY (`F_Id`),
  KEY `idx_gltkbh` (`gltkbh`),
  KEY `idx_jks` (`jks`),
  KEY `idx_F_tkpxid` (`F_tkpxid`),
  KEY `idx_tksj` (`tksj`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='退卡_健康师业绩表';

-- 4. 创建退卡科技部老师业绩表
DROP TABLE IF EXISTS `lq_hytk_kjbsyj`;
CREATE TABLE `lq_hytk_kjbsyj` (
  `F_Id` varchar(50) NOT NULL COMMENT '业绩编号',
  `gltkbh` varchar(50) DEFAULT NULL COMMENT '关联退卡编号',
  `kjbls` varchar(50) DEFAULT NULL COMMENT '科技部老师',
  `kjblsxm` varchar(50) DEFAULT NULL COMMENT '科技部老师姓名',
  `kjblszh` varchar(50) DEFAULT NULL COMMENT '科技部老师账号',
  `kjblsyj` decimal(15,2) DEFAULT NULL COMMENT '科技部老师业绩',
  `tksj` datetime DEFAULT NULL COMMENT '退卡时间',
  `F_tkpxid` varchar(50) DEFAULT NULL COMMENT '关联项目资料表ID',
  `F_LaborCost` decimal(15,2) DEFAULT NULL COMMENT '手工费',
  `F_tkpxNumber` decimal(15,2) DEFAULT NULL COMMENT '退卡品项次数',
  `F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
  `F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建用户',
  `F_ModifyTime` datetime DEFAULT NULL COMMENT '修改时间',
  `F_ModifyUser` varchar(50) DEFAULT NULL COMMENT '修改用户',
  `F_DeleteMark` int(1) DEFAULT NULL COMMENT '删除标记',
  PRIMARY KEY (`F_Id`),
  KEY `idx_gltkbh` (`gltkbh`),
  KEY `idx_kjbls` (`kjbls`),
  KEY `idx_F_tkpxid` (`F_tkpxid`),
  KEY `idx_tksj` (`tksj`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='退卡_科技部老师业绩表';

-- =============================================
-- 添加外键约束（可选）
-- =============================================

-- 退卡明细表外键约束
-- ALTER TABLE `lq_hytk_mx` ADD CONSTRAINT `fk_hytk_mx_gltkbh` FOREIGN KEY (`gltkbh`) REFERENCES `lq_hytk_hytk` (`F_Id`) ON DELETE CASCADE ON UPDATE CASCADE;

-- 退卡健康师业绩表外键约束
-- ALTER TABLE `lq_hytk_jksyj` ADD CONSTRAINT `fk_hytk_jksyj_gltkbh` FOREIGN KEY (`gltkbh`) REFERENCES `lq_hytk_hytk` (`F_Id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- ALTER TABLE `lq_hytk_jksyj` ADD CONSTRAINT `fk_hytk_jksyj_tkpxid` FOREIGN KEY (`F_tkpxid`) REFERENCES `lq_xmzl` (`F_Id`) ON DELETE CASCADE ON UPDATE CASCADE;

-- 退卡科技部老师业绩表外键约束
-- ALTER TABLE `lq_hytk_kjbsyj` ADD CONSTRAINT `fk_hytk_kjbsyj_gltkbh` FOREIGN KEY (`gltkbh`) REFERENCES `lq_hytk_hytk` (`F_Id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- ALTER TABLE `lq_hytk_kjbsyj` ADD CONSTRAINT `fk_hytk_kjbsyj_tkpxid` FOREIGN KEY (`F_tkpxid`) REFERENCES `lq_xmzl` (`F_Id`) ON DELETE CASCADE ON UPDATE CASCADE;

-- =============================================
-- 创建完成提示
-- =============================================
SELECT '退卡相关表创建完成！' AS '创建结果';
