-- ============================================ -- 创建清洗管理相关表 -- ============================================ -- 说明:包含门店消耗品库存表、清洗商表、清洗流水表 -- ============================================ -- ============================================ -- 1. 创建门店消耗品库存表(lq_store_consumable_inventory) -- ============================================ CREATE TABLE IF NOT EXISTS `lq_store_consumable_inventory` ( `F_Id` VARCHAR(50) NOT NULL COMMENT '主键ID', `F_StoreId` VARCHAR(50) NULL COMMENT '门店ID(关联lq_mdxx.F_Id)', `F_ProductType` VARCHAR(50) NULL COMMENT '产品类型(枚举:毛巾、垫子等)', `F_Quantity` INT NULL DEFAULT 0 COMMENT '当前库存数量', `F_IsEffective` INT NULL DEFAULT 1 COMMENT '是否有效(1:有效 0:无效)', `F_CreateUser` VARCHAR(50) NULL COMMENT '创建人ID', `F_CreateTime` DATETIME NULL COMMENT '创建时间', `F_UpdateUser` VARCHAR(50) NULL COMMENT '更新人ID', `F_UpdateTime` DATETIME NULL COMMENT '更新时间', PRIMARY KEY (`F_Id`), INDEX `idx_store_id` (`F_StoreId`) COMMENT '门店ID索引', INDEX `idx_product_type` (`F_ProductType`) COMMENT '产品类型索引', INDEX `idx_store_product` (`F_StoreId`, `F_ProductType`) COMMENT '门店+产品类型联合索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='门店消耗品库存表'; -- ============================================ -- 2. 创建清洗商表(lq_laundry_supplier) -- ============================================ CREATE TABLE IF NOT EXISTS `lq_laundry_supplier` ( `F_Id` VARCHAR(50) NOT NULL COMMENT '主键ID', `F_SupplierName` VARCHAR(200) NULL COMMENT '清洗商名称', `F_ProductType` VARCHAR(50) NULL COMMENT '产品类型(枚举:毛巾、垫子等)', `F_LaundryPrice` DECIMAL(18,2) NULL DEFAULT 0 COMMENT '清洗价格(当前价格)', `F_Remark` VARCHAR(1000) NULL COMMENT '备注', `F_IsEffective` INT NULL DEFAULT 1 COMMENT '是否有效(1:有效 0:无效)', `F_CreateUser` VARCHAR(50) NULL COMMENT '创建人ID', `F_CreateTime` DATETIME NULL COMMENT '创建时间', `F_UpdateUser` VARCHAR(50) NULL COMMENT '更新人ID', `F_UpdateTime` DATETIME NULL COMMENT '更新时间', PRIMARY KEY (`F_Id`), INDEX `idx_supplier_name` (`F_SupplierName`) COMMENT '清洗商名称索引', INDEX `idx_product_type` (`F_ProductType`) COMMENT '产品类型索引', INDEX `idx_supplier_product` (`F_SupplierName`, `F_ProductType`) COMMENT '清洗商+产品类型联合索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='清洗商表'; -- ============================================ -- 3. 创建清洗流水表(lq_laundry_flow) -- ============================================ CREATE TABLE IF NOT EXISTS `lq_laundry_flow` ( `F_Id` VARCHAR(50) NOT NULL COMMENT '主键ID(送出时作为批次号)', `F_FlowType` INT NULL DEFAULT 0 COMMENT '流水类型(0:送出 1:送回)', `F_BatchNumber` VARCHAR(50) NULL COMMENT '批次号(送出时=F_Id,送回时=对应的送出记录的F_Id)', `F_StoreId` VARCHAR(50) NULL COMMENT '门店ID(关联lq_mdxx.F_Id)', `F_ProductType` VARCHAR(50) NULL COMMENT '产品类型(枚举:毛巾、垫子等)', `F_LaundrySupplierId` VARCHAR(50) NULL COMMENT '清洗商ID(关联lq_laundry_supplier.F_Id)', `F_Quantity` INT NULL DEFAULT 0 COMMENT '数量', `F_LaundryPrice` DECIMAL(18,2) NULL DEFAULT 0 COMMENT '清洗单价(记录历史价格)', `F_TotalPrice` DECIMAL(18,2) NULL DEFAULT 0 COMMENT '总费用(数量 × 单价)', `F_Remark` VARCHAR(1000) NULL COMMENT '备注(可说明差异原因,如损坏、丢失等)', `F_IsEffective` INT NULL DEFAULT 1 COMMENT '是否有效(1:有效 0:无效)', `F_CreateUser` VARCHAR(50) NULL COMMENT '创建人ID', `F_CreateTime` DATETIME NULL COMMENT '创建时间', PRIMARY KEY (`F_Id`), INDEX `idx_flow_type` (`F_FlowType`) COMMENT '流水类型索引', INDEX `idx_batch_number` (`F_BatchNumber`) COMMENT '批次号索引', INDEX `idx_store_id` (`F_StoreId`) COMMENT '门店ID索引', INDEX `idx_product_type` (`F_ProductType`) COMMENT '产品类型索引', INDEX `idx_supplier_id` (`F_LaundrySupplierId`) COMMENT '清洗商ID索引', INDEX `idx_create_time` (`F_CreateTime`) COMMENT '创建时间索引', INDEX `idx_store_month` (`F_StoreId`, `F_CreateTime`) COMMENT '门店+时间联合索引(用于月度统计)' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='清洗流水表';