This commit is contained in:
zlwu committed 2026-05-24 16:58:51 +08:00
1 parent 9dd7eb56ba
commit 7cec1f2190
112 files changed
+22684 -6952

No files matched your search

-23
View File
@@ -1,23 +0,0 @@
-- 样本接收短信通知记录表
CREATE TABLE biz_sample_sms_notification (
id VARCHAR(64) NOT NULL COMMENT 'UUID',
sample_reception_id VARCHAR(64) NOT NULL COMMENT '关联 biz_sample_reception.id',
protocol_id VARCHAR(64) DEFAULT NULL COMMENT '关联采集协议单ID(冗余,方便查询)',
sms_content VARCHAR(500) DEFAULT NULL COMMENT '提取的短信内容',
sms_notified TINYINT(1) DEFAULT 0 COMMENT '0=未通知 1=已通知',
notified_by VARCHAR(64) DEFAULT NULL COMMENT '通知操作人ID',
notified_time DATETIME DEFAULT NULL COMMENT '通知时间',
-- 公共字段
tenant_no VARCHAR(32) DEFAULT NULL,
order_num INT DEFAULT 0,
remark VARCHAR(500) DEFAULT NULL,
create_by VARCHAR(64) DEFAULT NULL,
create_dept_id VARCHAR(64) DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_by VARCHAR(64) DEFAULT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
PRIMARY KEY (id),
KEY idx_sample_reception_id (sample_reception_id),
KEY idx_protocol_id (protocol_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='样本接收短信通知记录';
@@ -1,25 +0,0 @@
-- 样本入库短信通知记录表
CREATE TABLE biz_storage_entry_sms_notification (
id VARCHAR(64) NOT NULL COMMENT 'UUID',
storage_review_id VARCHAR(64) NOT NULL COMMENT '关联 biz_storage_release_review.id',
protocol_id VARCHAR(64) DEFAULT NULL COMMENT '关联采集协议单ID(冗余)',
sms_content VARCHAR(500) DEFAULT NULL COMMENT '生成的短信内容',
sms_notified TINYINT(1) DEFAULT 0 COMMENT '0=未通知 1=已通知',
notified_by VARCHAR(64) DEFAULT NULL COMMENT '通知操作人ID',
notified_by_name VARCHAR(64) DEFAULT NULL COMMENT '通知操作人姓名',
notified_time DATETIME DEFAULT NULL COMMENT '通知时间',
-- 公共字段
tenant_no VARCHAR(32) DEFAULT NULL,
order_num INT DEFAULT 0,
remark VARCHAR(500) DEFAULT NULL,
create_by VARCHAR(64) DEFAULT NULL,
create_dept_id VARCHAR(64) DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_by VARCHAR(64) DEFAULT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
PRIMARY KEY (id),
KEY idx_storage_review_id (storage_review_id),
KEY idx_protocol_id (protocol_id),
KEY idx_tenant_no (tenant_no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='样本入库短信通知记录';
@@ -1,3 +0,0 @@
-- Fix collation mismatch (1267) when joining biz_sample_sms_notification with biz_sample_reception
ALTER TABLE biz_sample_sms_notification
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
@@ -1,24 +0,0 @@
-- 样本接收信息菜单(位于退费确认与储存证管理之间)
-- 注意:插入后需将储存证管理的 order_num 从 6 改为 7
-- 1. 新增菜单
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES (
'50000000000000000000000000000011',
'样本接收信息',
'50000000000000000000000000000001',
'C',
'sample-reception-info',
'/cell-storage/sample-reception-info/index',
'cell-storage:sample-reception-info:list',
1, '1', '1', 'zkxw', 6, NULL,
NULL, '', NOW(), NULL, NOW(), 0
);
-- 2. 后续菜单 order_num +1
UPDATE `sys_menu` SET `order_num` = `order_num` + 1
WHERE `parent_id` = '50000000000000000000000000000001'
AND `order_num` >= 6;
@@ -1,24 +0,0 @@
-- 样本入库信息菜单(位于样本接收信息与储存证管理之间)
-- 注意:插入后需将储存证管理及之后的 order_num +1
-- 1. 新增菜单
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES (
'50000000000000000000000000000012',
'样本入库信息',
'50000000000000000000000000000001',
'C',
'storage-entry-info',
'/cell-storage/storage-entry-info/index',
'cell-storage:storage-entry-info:list',
1, '1', '1', 'zkxw', 7, NULL,
NULL, '', NOW(), NULL, NOW(), 0
);
-- 2. 后续菜单 order_num +1
UPDATE `sys_menu` SET `order_num` = `order_num` + 1
WHERE `parent_id` = '50000000000000000000000000000001'
AND `order_num` >= 7;
+59
View File
@@ -0,0 +1,59 @@
-- ============================================================
-- 工单表合并迁移:biz_temp_* → 主表 + work_order_type
-- Date: 2026-05-24
-- 执行顺序:先本脚本,再 work_order_unification_phase1.sql
-- 适用:仍保留 biz_temp_qc_work_order / biz_temp_production_work_order 的旧库
-- ============================================================
-- 1. biz_qc_work_order: 加 work_order_type(若已存在则跳过,需 MySQL 8+ 或手动检查)
-- ALTER TABLE biz_qc_work_order
-- ADD COLUMN work_order_type VARCHAR(20) NOT NULL DEFAULT 'inbound'
-- COMMENT '工单类型: inbound=入库, temporary=临时' AFTER work_order_no;
-- 2. reception 关联字段改为可空(临时工单不需要)
-- ALTER TABLE biz_qc_work_order
-- MODIFY COLUMN reception_id VARCHAR(64) NULL,
-- MODIFY COLUMN protocol_sample_id VARCHAR(64) NULL,
-- MODIFY COLUMN collection_protocol_id VARCHAR(64) NULL,
-- MODIFY COLUMN reception_source VARCHAR(20) NULL DEFAULT 'cell_storage';
-- 3. 迁移临时质检工单(按 id 去重,避免重复执行)
INSERT INTO biz_qc_work_order (
id, work_order_no, work_order_type, work_order_status,
has_lab, has_third_party, third_party_fee_total,
configured_time, configured_by,
tenant_no, order_num, remark,
create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
t.id, t.work_order_no, 'temporary', t.work_order_status,
t.has_lab, t.has_third_party, t.third_party_fee_total,
t.configured_time, t.configured_by,
t.tenant_no, t.order_num, t.remark,
t.create_by, t.create_dept_id, t.create_time, t.update_by, t.update_time, t.del_flag
FROM biz_temp_qc_work_order t
WHERE NOT EXISTS (SELECT 1 FROM biz_qc_work_order m WHERE m.id = t.id);
-- 4. biz_production_work_order: 加 work_order_type / configured_time / configured_by(若未加请手动 ALTER)
-- ALTER TABLE biz_production_work_order ADD COLUMN work_order_type ...
-- ALTER TABLE biz_production_work_order ADD COLUMN configured_time DATETIME NULL ...
-- ALTER TABLE biz_production_work_order ADD COLUMN configured_by VARCHAR(64) NULL ...
-- 5. 迁移临时生产工单
INSERT INTO biz_production_work_order (
id, work_order_no, work_order_type, work_order_status,
configured_time, configured_by,
tenant_no, order_num, remark,
create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
t.id, t.work_order_no, 'temporary', t.work_order_status,
t.configured_time, t.configured_by,
t.tenant_no, t.order_num, t.remark,
t.create_by, t.create_dept_id, t.create_time, t.update_by, t.update_time, t.del_flag
FROM biz_temp_production_work_order t
WHERE NOT EXISTS (SELECT 1 FROM biz_production_work_order m WHERE m.id = t.id);
-- 6. 删除临时表(确认迁移成功后执行)
DROP TABLE IF EXISTS biz_temp_qc_work_order;
DROP TABLE IF EXISTS biz_temp_production_work_order;
+7
View File
@@ -0,0 +1,7 @@
-- ============================================================
-- 临时质检工单关联细胞产品(质检对象)
-- Date: 2026-05-24
-- ============================================================
ALTER TABLE biz_qc_work_order
ADD COLUMN cell_product_id VARCHAR(64) DEFAULT NULL COMMENT '质检对象-细胞产品ID' AFTER qc_biz_type;
@@ -0,0 +1,47 @@
-- ============================================================
-- 工单融合 Phase 1:菜单收口 + 数据修正 + 删除废弃临时表
-- Date: 2026-05-24
--
-- 执行顺序:
-- 1) 若库中仍有 biz_temp_* 表 → 先执行 merge_work_order_tables.sql
-- 2) 再执行本脚本
--
-- 说明:zkxw.sql 全量基线已无 biz_temp_* 表;本脚本 DROP 用于清理历史库残留。
-- ============================================================
-- 1. 菜单重命名与软删临时工单菜单
UPDATE sys_menu SET menu_name = '质检工单', update_time = NOW()
WHERE id = '70000000000000000000000000000007' AND del_flag = 0;
UPDATE sys_menu SET menu_name = '生产工单', update_time = NOW()
WHERE id = '90000000000000000000000000000011' AND del_flag = 0;
UPDATE sys_menu SET del_flag = 1, update_time = NOW()
WHERE id IN (
'70000000000000000000000000000012',
'90000000000000000000000000000110'
) AND del_flag = 0;
-- 2. 临时工单 reception_id 空串修正为 NULL(避免 uk_qc_wo_reception 冲突)
UPDATE biz_qc_work_order
SET reception_id = NULL,
protocol_sample_id = NULL,
collection_protocol_id = NULL,
update_time = NOW()
WHERE work_order_type = 'temporary'
AND del_flag = 0
AND (reception_id = '' OR reception_id IS NULL);
UPDATE biz_production_work_order
SET reception_id = NULL,
protocol_sample_id = NULL,
collection_protocol_id = NULL,
update_time = NOW()
WHERE work_order_type = 'temporary'
AND del_flag = 0
AND (reception_id = '' OR reception_id IS NULL);
-- 3. 删除已废弃的临时工单表(ORM/代码已不再使用)
-- 若表内仍有未迁移数据,请先执行 merge_work_order_tables.sql 再 DROP
DROP TABLE IF EXISTS biz_temp_qc_work_order;
DROP TABLE IF EXISTS biz_temp_production_work_order;
+964 -150
View File
File diff suppressed because it is too large. Load diff