-- ============================================
-- 创建合同成本按月统计表（lq_contract_monthly_cost）
-- ============================================
-- 说明：用于按月统计每个合同的成本，便于后续统计和查询
-- 
-- 业务逻辑：
-- 1. 根据合同起始日期、结束日期，按月生成成本记录
-- 2. 每个月成本 = 缴租金额 / 交租周期
-- 3. 例如：合同一年，交费周期3个月，缴租金额3000元
--    - 每个月成本 = 3000 / 3 = 1000元
--    - 生成12个月的记录，每个月都是1000元
-- 
-- 字段说明：
-- F_Month：统计月份（格式：YYYY-MM-01，表示该月的第一天）
-- F_MonthlyCost：该月的合同成本（缴租金额 / 交租周期）
-- 
-- 索引设计：
-- - 主键：F_Id
-- - 合同ID索引：F_ContractId（用于查询某个合同的所有月份成本）
-- - 月份索引：F_Month（用于按月份统计）
-- - 门店ID索引：F_StoreId（用于按门店统计）
-- - 联合索引：(F_StoreId, F_Month) - 用于查询某个门店某个月的成本
-- - 联合索引：(F_ContractId, F_Month) - 用于查询某个合同某个月的成本

CREATE TABLE IF NOT EXISTS `lq_contract_monthly_cost` (
  `F_Id` VARCHAR(50) NOT NULL COMMENT '主键ID',
  `F_ContractId` VARCHAR(50) NOT NULL COMMENT '合同ID（关联lq_contract.F_Id）',
  `F_StoreId` VARCHAR(50) NOT NULL COMMENT '门店ID（关联lq_mdxx.F_Id，冗余字段便于查询）',
  `F_StoreName` VARCHAR(200) NOT NULL COMMENT '店名（冗余字段，便于查询）',
  `F_Category` VARCHAR(100) DEFAULT NULL COMMENT '分类（冗余字段，便于按分类统计）',
  `F_Month` DATETIME NOT NULL COMMENT '统计月份（格式：YYYY-MM-01，表示该月的第一天）',
  `F_MonthlyCost` DECIMAL(18,2) NOT NULL COMMENT '该月的合同成本（缴租金额 / 交租周期）',
  `F_PaymentCycle` INT NOT NULL COMMENT '交租周期（冗余字段，便于查询）',
  `F_PaymentAmount` DECIMAL(18,2) NOT NULL COMMENT '缴租金额（冗余字段，便于查询）',
  `F_IsEffective` INT DEFAULT 1 COMMENT '是否有效（1-有效，0-无效）',
  `F_CreateUser` VARCHAR(50) NOT NULL COMMENT '创建人ID',
  `F_CreateTime` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `F_UpdateTime` DATETIME DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`F_Id`),
  KEY `idx_contract_id` (`F_ContractId`) COMMENT '合同ID索引',
  KEY `idx_month` (`F_Month`) COMMENT '月份索引',
  KEY `idx_store_id` (`F_StoreId`) COMMENT '门店ID索引',
  KEY `idx_category` (`F_Category`) COMMENT '分类索引',
  KEY `idx_store_month` (`F_StoreId`, `F_Month`) COMMENT '门店+月份联合索引',
  KEY `idx_contract_month` (`F_ContractId`, `F_Month`) COMMENT '合同+月份联合索引',
  KEY `idx_category_month` (`F_Category`, `F_Month`) COMMENT '分类+月份联合索引',
  KEY `idx_is_effective` (`F_IsEffective`) COMMENT '是否有效索引',
  KEY `idx_create_time` (`F_CreateTime`) COMMENT '创建时间索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合同成本按月统计表';

-- ============================================
-- 数据示例说明
-- ============================================
-- 合同示例：
-- F_ContractId: '768041985045955845'
-- F_StoreId: '1649328471923847168'
-- F_StoreName: '绿纤总部'
-- F_ContractStartDate: '2025-01-01 00:00:00'
-- F_ContractEndDate: '2025-12-31 23:59:59'
-- F_PaymentAmount: 3000.00
-- F_PaymentCycle: 3
-- 
-- 每个月成本 = 3000 / 3 = 1000元
-- 
-- 对应的成本记录（自动生成）：
-- 记录1: F_Month='2025-01-01', F_MonthlyCost=1000.00
-- 记录2: F_Month='2025-02-01', F_MonthlyCost=1000.00
-- 记录3: F_Month='2025-03-01', F_MonthlyCost=1000.00
-- 记录4: F_Month='2025-04-01', F_MonthlyCost=1000.00
-- ...（共12条记录）

