创建清洗管理相关表.sql
4.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
-- ============================================
-- 创建清洗管理相关表
-- ============================================
-- 说明:包含门店消耗品库存表、清洗商表、清洗流水表
-- ============================================
-- ============================================
-- 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='清洗流水表';