120 lines
3.6 KiB
MySQL
120 lines
3.6 KiB
MySQL
|
|
-- 工单显示问题完整诊断脚本
|
|||
|
|
-- 执行时间: 2026-01-09
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 1. 检查数据库中是否有工单数据
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '1. 检查工单数据' AS step;
|
|||
|
|
SELECT
|
|||
|
|
COUNT(*) AS total_workorders,
|
|||
|
|
COUNT(CASE WHEN order_id IS NULL THEN 1 END) AS unlinked_workorders,
|
|||
|
|
COUNT(CASE WHEN order_id IS NOT NULL THEN 1 END) AS linked_workorders
|
|||
|
|
FROM test_work_order;
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 2. 查看最近的工单数据(应该显示在列表中的)
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '2. 最近的未关联工单(应该显示)' AS step;
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
batch_id,
|
|||
|
|
batch_name,
|
|||
|
|
name,
|
|||
|
|
test_eut_id,
|
|||
|
|
order_id,
|
|||
|
|
create_time
|
|||
|
|
FROM test_work_order
|
|||
|
|
WHERE order_id IS NULL
|
|||
|
|
ORDER BY id DESC
|
|||
|
|
LIMIT 10;
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 3. 检查 name 字段长度是否已修复
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '3. 检查 name 字段定义' AS step;
|
|||
|
|
SELECT
|
|||
|
|
COLUMN_NAME,
|
|||
|
|
COLUMN_TYPE,
|
|||
|
|
CHARACTER_MAXIMUM_LENGTH,
|
|||
|
|
IS_NULLABLE,
|
|||
|
|
COLUMN_COMMENT
|
|||
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|||
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|||
|
|
AND TABLE_NAME = 'test_work_order'
|
|||
|
|
AND COLUMN_NAME = 'name';
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 4. 检查 batch_id 字段类型是否正确
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '4. 检查 batch_id 字段定义' AS step;
|
|||
|
|
SELECT
|
|||
|
|
COLUMN_NAME,
|
|||
|
|
COLUMN_TYPE,
|
|||
|
|
IS_NULLABLE,
|
|||
|
|
COLUMN_COMMENT
|
|||
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|||
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|||
|
|
AND TABLE_NAME = 'test_work_order'
|
|||
|
|
AND COLUMN_NAME = 'batch_id';
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 5. 模拟后端查询(完整的 LEFT JOIN)
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '5. 模拟后端查询' AS step;
|
|||
|
|
SELECT
|
|||
|
|
tw.id,
|
|||
|
|
tw.batch_id,
|
|||
|
|
tw.batch_name,
|
|||
|
|
tw.name,
|
|||
|
|
tw.test_eut_id,
|
|||
|
|
tw.test_category_id,
|
|||
|
|
tw.test_step,
|
|||
|
|
tw.test_status,
|
|||
|
|
tw.order_id,
|
|||
|
|
eut.sn AS test_eut_name,
|
|||
|
|
category.name AS test_category_name,
|
|||
|
|
creator_user.nick_name AS creator_name
|
|||
|
|
FROM test_work_order tw
|
|||
|
|
LEFT JOIN test_eut eut ON tw.test_eut_id = eut.id
|
|||
|
|
LEFT JOIN test_category category ON tw.test_category_id = category.id
|
|||
|
|
LEFT JOIN sys_user creator_user ON tw.creator = creator_user.user_id
|
|||
|
|
WHERE tw.order_id IS NULL
|
|||
|
|
ORDER BY tw.id DESC
|
|||
|
|
LIMIT 5;
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 6. 检查是否有孤立的工单(关联的数据不存在)
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '6. 检查孤立工单' AS step;
|
|||
|
|
SELECT
|
|||
|
|
tw.id,
|
|||
|
|
tw.name,
|
|||
|
|
tw.test_eut_id,
|
|||
|
|
CASE WHEN eut.id IS NULL THEN 'EUT不存在' ELSE 'EUT存在' END AS eut_status,
|
|||
|
|
tw.test_category_id,
|
|||
|
|
CASE WHEN category.id IS NULL THEN '类别不存在' ELSE '类别存在' END AS category_status,
|
|||
|
|
tw.creator,
|
|||
|
|
CASE WHEN creator_user.user_id IS NULL THEN '创建人不存在' ELSE '创建人存在' END AS creator_status
|
|||
|
|
FROM test_work_order tw
|
|||
|
|
LEFT JOIN test_eut eut ON tw.test_eut_id = eut.id
|
|||
|
|
LEFT JOIN test_category category ON tw.test_category_id = category.id
|
|||
|
|
LEFT JOIN sys_user creator_user ON tw.creator = creator_user.user_id
|
|||
|
|
WHERE tw.order_id IS NULL
|
|||
|
|
ORDER BY tw.id DESC
|
|||
|
|
LIMIT 5;
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 7. 检查表结构完整性
|
|||
|
|
-- ============================================
|
|||
|
|
SELECT '7. 检查表结构' AS step;
|
|||
|
|
SELECT
|
|||
|
|
COLUMN_NAME,
|
|||
|
|
COLUMN_TYPE,
|
|||
|
|
IS_NULLABLE,
|
|||
|
|
COLUMN_DEFAULT,
|
|||
|
|
COLUMN_COMMENT
|
|||
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|||
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|||
|
|
AND TABLE_NAME = 'test_work_order'
|
|||
|
|
ORDER BY ORDINAL_POSITION;
|