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

54 lines
1.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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';