124 lines
4.3 KiB
MySQL
124 lines
4.3 KiB
MySQL
|
|
-- ============================================================
|
|||
|
|
-- 报工单班次和班组数据补齐脚本
|
|||
|
|
-- 版本:v2.0.014 日期:2026-03-23 作者:Claude
|
|||
|
|
-- 问题:老版数据存储的是 dict_value,新版前端需要 dict_label
|
|||
|
|
-- ============================================================
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 1. 查看当前字典配置
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 班次字典
|
|||
|
|
SELECT '=== 班次字典 ===' AS info;
|
|||
|
|
SELECT dict_label, dict_value, remark
|
|||
|
|
FROM sys_dict_data
|
|||
|
|
WHERE dict_type = 'sys_shift_type'
|
|||
|
|
ORDER BY dict_sort;
|
|||
|
|
|
|||
|
|
-- 班组字典
|
|||
|
|
SELECT '=== 班组字典 ===' AS info;
|
|||
|
|
SELECT dict_label, dict_value, remark
|
|||
|
|
FROM sys_dict_data
|
|||
|
|
WHERE dict_type = 'production_team'
|
|||
|
|
ORDER BY dict_sort;
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 2. 查看当前报工单中的原始数据分布
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 班次分布
|
|||
|
|
SELECT '=== 班次数据分布 ===' AS info;
|
|||
|
|
SELECT shift_name, COUNT(*) as count
|
|||
|
|
FROM pro_report
|
|||
|
|
WHERE shift_name IS NOT NULL AND shift_name != ''
|
|||
|
|
GROUP BY shift_name
|
|||
|
|
ORDER BY shift_name;
|
|||
|
|
|
|||
|
|
-- 班组分布
|
|||
|
|
SELECT '=== 班组数据分布 ===' AS info;
|
|||
|
|
SELECT team_name, COUNT(*) as count
|
|||
|
|
FROM pro_report
|
|||
|
|
WHERE team_name IS NOT NULL AND team_name != ''
|
|||
|
|
GROUP BY team_name
|
|||
|
|
ORDER BY team_name;
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 3. 执行数据更新
|
|||
|
|
-- ============================================================
|
|||
|
|
|
|||
|
|
-- ================== 班次更新 ==================
|
|||
|
|
-- 早班:MORNING -> 早班
|
|||
|
|
UPDATE pro_report
|
|||
|
|
SET shift_name = '早班'
|
|||
|
|
WHERE shift_name = 'MORNING';
|
|||
|
|
|
|||
|
|
-- 中班:AFTERNOON -> 中班
|
|||
|
|
UPDATE pro_report
|
|||
|
|
SET shift_name = '中班'
|
|||
|
|
WHERE shift_name = 'AFTERNOON';
|
|||
|
|
|
|||
|
|
-- 晚班:NIGHT -> 晚班
|
|||
|
|
UPDATE pro_report
|
|||
|
|
SET shift_name = '晚班'
|
|||
|
|
WHERE shift_name = 'NIGHT';
|
|||
|
|
|
|||
|
|
-- 如果使用的是 A/B/C 值(根据字典配置调整)
|
|||
|
|
-- UPDATE pro_report SET shift_name = '早班' WHERE shift_name = 'A';
|
|||
|
|
-- UPDATE pro_report SET shift_name = '中班' WHERE shift_name = 'B';
|
|||
|
|
-- UPDATE pro_report SET shift_name = '晚班' WHERE shift_name = 'C';
|
|||
|
|
|
|||
|
|
-- ================== 班组更新 ==================
|
|||
|
|
-- 甲班:GROUP_A -> 甲班
|
|||
|
|
UPDATE pro_report
|
|||
|
|
SET team_name = '甲班'
|
|||
|
|
WHERE team_name = 'GROUP_A';
|
|||
|
|
|
|||
|
|
-- 乙班:GROUP_B -> 乙班
|
|||
|
|
UPDATE pro_report
|
|||
|
|
SET team_name = '乙班'
|
|||
|
|
WHERE team_name = 'GROUP_B';
|
|||
|
|
|
|||
|
|
-- 丙班:GROUP_C -> 丙班
|
|||
|
|
UPDATE pro_report
|
|||
|
|
SET team_name = '丙班'
|
|||
|
|
WHERE team_name = 'GROUP_C';
|
|||
|
|
|
|||
|
|
-- 丁班(如有)
|
|||
|
|
-- UPDATE pro_report SET team_name = '丁班' WHERE team_name = 'GROUP_D';
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 4. 验证更新结果
|
|||
|
|
-- ============================================================
|
|||
|
|
SELECT '=== 更新后班次分布 ===' AS info;
|
|||
|
|
SELECT shift_name, COUNT(*) as count
|
|||
|
|
FROM pro_report
|
|||
|
|
WHERE shift_name IS NOT NULL AND shift_name != ''
|
|||
|
|
GROUP BY shift_name
|
|||
|
|
ORDER BY shift_name;
|
|||
|
|
|
|||
|
|
SELECT '=== 更新后班组分布 ===' AS info;
|
|||
|
|
SELECT team_name, COUNT(*) as count
|
|||
|
|
FROM pro_report
|
|||
|
|
WHERE team_name IS NOT NULL AND team_name != ''
|
|||
|
|
GROUP BY team_name
|
|||
|
|
ORDER BY team_name;
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 5. 影响行数统计(执行前可预估)
|
|||
|
|
-- ============================================================
|
|||
|
|
SELECT '=== 影响行数预估 ===' AS info;
|
|||
|
|
SELECT
|
|||
|
|
(SELECT COUNT(*) FROM pro_report WHERE shift_name = 'MORNING') AS '早班待更新',
|
|||
|
|
(SELECT COUNT(*) FROM pro_report WHERE shift_name = 'AFTERNOON') AS '中班待更新',
|
|||
|
|
(SELECT COUNT(*) FROM pro_report WHERE shift_name = 'NIGHT') AS '晚班待更新',
|
|||
|
|
(SELECT COUNT(*) FROM pro_report WHERE team_name = 'GROUP_A') AS '甲班待更新',
|
|||
|
|
(SELECT COUNT(*) FROM pro_report WHERE team_name = 'GROUP_B') AS '乙班待更新',
|
|||
|
|
(SELECT COUNT(*) FROM pro_report WHERE team_name = 'GROUP_C') AS '丙班待更新';
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 执行说明
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 1. 请在测试环境先执行此脚本
|
|||
|
|
-- 2. 验证数据无误后再在生产环境执行
|
|||
|
|
-- 3. 执行前建议备份数据库
|
|||
|
|
-- 4. 如果你的字典值与脚本中不同,请根据实际情况调整 UPDATE 语句
|
|||
|
|
-- ============================================================
|