Files
ccdi/sql/migration/2026-05-27-add-project-tag-failed-status.sql

54 lines
1.3 KiB
MySQL
Raw Normal View History

ALTER TABLE ccdi_project
MODIFY COLUMN status CHAR(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0'
COMMENT '项目状态0-进行中1-已完成2-已归档3-打标中4-打标失败';
INSERT INTO sys_dict_data (
dict_sort,
dict_label,
dict_value,
dict_type,
css_class,
list_class,
is_default,
status,
create_by,
create_time
)
SELECT
5,
'打标失败',
'4',
'ccdi_project_status',
'',
'danger',
'N',
'0',
'admin',
NOW()
WHERE NOT EXISTS (
SELECT 1
FROM sys_dict_data
WHERE dict_type = 'ccdi_project_status'
AND dict_value = '4'
);
UPDATE ccdi_project project
JOIN (
SELECT latest.project_id, latest.status
FROM ccdi_bank_tag_task latest
JOIN (
SELECT project_id, MAX(id) AS latest_id
FROM ccdi_bank_tag_task
GROUP BY project_id
) latest_id
ON latest.id = latest_id.latest_id
) latest_task
ON latest_task.project_id = project.project_id
SET project.status = '4',
project.update_by = 'system',
project.update_time = NOW()
WHERE latest_task.status = 'FAILED'
AND project.status IN ('0', '3')
AND (project.is_archived IS NULL OR project.is_archived = 0)
AND project.del_flag = '0';