-- ============================================ -- 为清洗流水表(lq_laundry_flow)添加送出/送回时间字段 -- ============================================ -- 说明:此脚本为清洗流水表添加送出时间和送回时间字段,用于记录实际的送出/送回时间 -- -- 字段说明: -- F_SendTime:送出时间,用于记录实际的送出时间(流水类型为0时使用) -- F_ReturnTime:送回时间,用于记录实际的送回时间(流水类型为1时使用) -- -- 业务含义: -- - 送出时间:记录实际送出清洗的时间,便于后续统计 -- - 送回时间:记录实际送回清洗的时间,便于后续统计 -- - F_CreateTime:保持为记录创建时间(系统时间),用于记录数据录入时间 -- -- 注意事项: -- - 字段类型为DATETIME,允许为NULL(历史数据可能没有这些时间) -- - 字段位置:放在 F_CreateTime 字段之后 -- - 创建后需要更新历史数据,将 F_CreateTime 的值复制到对应的时间字段 -- ============================================ -- 1. 添加送出时间字段 -- ============================================ ALTER TABLE `lq_laundry_flow` ADD COLUMN `F_SendTime` DATETIME NULL COMMENT '送出时间(流水类型为0时使用)' AFTER `F_CreateTime`; -- ============================================ -- 2. 添加送回时间字段 -- ============================================ ALTER TABLE `lq_laundry_flow` ADD COLUMN `F_ReturnTime` DATETIME NULL COMMENT '送回时间(流水类型为1时使用)' AFTER `F_SendTime`; -- ============================================ -- 3. 更新历史数据:将创建时间复制到对应的时间字段 -- ============================================ -- 更新送出记录:将创建时间复制到送出时间 UPDATE `lq_laundry_flow` SET `F_SendTime` = `F_CreateTime` WHERE `F_FlowType` = 0 AND `F_SendTime` IS NULL AND `F_CreateTime` IS NOT NULL; -- 更新送回记录:将创建时间复制到送回时间 UPDATE `lq_laundry_flow` SET `F_ReturnTime` = `F_CreateTime` WHERE `F_FlowType` = 1 AND `F_ReturnTime` IS NULL AND `F_CreateTime` IS NOT NULL; -- ============================================ -- 4. 验证更新结果 -- ============================================ -- 查看更新后的统计信息 SELECT F_FlowType, CASE WHEN F_FlowType = 0 THEN '送出' ELSE '送回' END as FlowTypeName, COUNT(*) as TotalCount, COUNT(CASE WHEN F_FlowType = 0 THEN F_SendTime END) as HasSendTimeCount, COUNT(CASE WHEN F_FlowType = 1 THEN F_ReturnTime END) as HasReturnTimeCount FROM lq_laundry_flow WHERE F_IsEffective = 1 GROUP BY F_FlowType;