提交
This commit is contained in:
1 parent
e1d6de45a3
commit
5ad07c8cac
616 files changed
+181132
-35125
No files matched your search
@@ -1,6 +0,0 @@
|
||||
-- 母亲邮箱:采集协议当事人、科研捐赠当事人
|
||||
ALTER TABLE `biz_protocol_party_customer`
|
||||
ADD COLUMN `mother_email` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '母亲邮箱' AFTER `mother_ethnic`;
|
||||
|
||||
ALTER TABLE `biz_research_donation_party`
|
||||
ADD COLUMN `mother_email` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '母亲邮箱' AFTER `mother_ethnic`;
|
||||
@@ -1,4 +0,0 @@
|
||||
-- 中试/临床申请单:知情同意书与其他附件
|
||||
ALTER TABLE `biz_pilot_application`
|
||||
ADD COLUMN `consent_form_urls` varchar(4000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '知情同意书附件URL(逗号分隔)' AFTER `remark`,
|
||||
ADD COLUMN `attachment_urls` varchar(4000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其他附件URL(逗号分隔)' AFTER `consent_form_urls`;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- 每期间隔(月)支持小数,如 0.1、0.5
|
||||
ALTER TABLE `biz_protocol_payment`
|
||||
MODIFY COLUMN `installment_interval_months` decimal(10, 2) DEFAULT NULL COMMENT '每期间隔(月)';
|
||||
@@ -1,109 +0,0 @@
|
||||
-- ============================================================
|
||||
-- 基础实验:sys_menu 菜单数据 + 隐藏临床应用菜单
|
||||
-- 与 web-admin/src/router/modules/sqxp.ts、backend/app/api/menu.py 对齐
|
||||
-- ============================================================
|
||||
|
||||
-- 1. 一级菜单:基础实验(挂在 Web 端虚拟根「2」下,order_num=4 接替临床应用位置)
|
||||
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 (
|
||||
'BEX00000000000000000000000000001', '基础实验', '2', 'M', '/basic-experiment', '/index/index', NULL,
|
||||
1, '1', '1', 'zkxw', 4, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`menu_type` = VALUES(`menu_type`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`visible` = '1',
|
||||
`status` = '1',
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
-- 2. 二级菜单
|
||||
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
|
||||
(
|
||||
'BEX00000000000000000000000000002', '基础实验申请单', 'BEX00000000000000000000000000001', 'C',
|
||||
'application', '/pilot-service/pilot-application/index', 'basic-experiment:application:list',
|
||||
1, '1', '1', 'zkxw', 1, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'BEX00000000000000000000000000003', '缴退费财务确认', 'BEX00000000000000000000000000001', 'C',
|
||||
'payment-confirm', '/pilot-service/clinical-payment-confirm/index', 'basic-experiment:payment-confirm:list',
|
||||
1, '1', '1', 'zkxw', 2, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'BEX00000000000000000000000000004', '出库放行审核', 'BEX00000000000000000000000000001', 'C',
|
||||
'outbound-release-review', '/pilot-service/outbound-release-review/index', 'basic-experiment:outbound-release-review:list',
|
||||
1, '1', '1', 'zkxw', 3, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = '1',
|
||||
`status` = '1',
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
-- 3. 隐藏临床应用菜单(侧栏不展示,与 sqxp.ts isHide 一致)
|
||||
UPDATE `sys_menu`
|
||||
SET `visible` = '0', `update_time` = NOW()
|
||||
WHERE `id` IN (
|
||||
'CLI00000000000000000000000000001',
|
||||
'CLI00000000000000000000000000002',
|
||||
'CLI00000000000000000000000000006',
|
||||
'CLI00000000000000000000000000008'
|
||||
)
|
||||
AND `del_flag` = 0;
|
||||
|
||||
-- 4. 为已授权「中试服务」一级菜单的角色,自动授予「基础实验」一级菜单(含子菜单需在角色管理中勾选,或执行下方扩展)
|
||||
INSERT INTO `sys_role_menu` (
|
||||
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
UPPER(REPLACE(UUID(), '-', '')),
|
||||
rm.`role_id`,
|
||||
m.`id`,
|
||||
'zkxw',
|
||||
0,
|
||||
'基础实验菜单迁移自动授权',
|
||||
NULL,
|
||||
'',
|
||||
NOW(),
|
||||
NULL,
|
||||
NOW(),
|
||||
0
|
||||
FROM `sys_role_menu` rm
|
||||
CROSS JOIN (
|
||||
SELECT 'BEX00000000000000000000000000001' AS id UNION ALL
|
||||
SELECT 'BEX00000000000000000000000000002' UNION ALL
|
||||
SELECT 'BEX00000000000000000000000000003' UNION ALL
|
||||
SELECT 'BEX00000000000000000000000000004'
|
||||
) m
|
||||
WHERE rm.`menu_id` = 'PIL00000000000000000000000000001'
|
||||
AND rm.`del_flag` = 0
|
||||
AND rm.`tenant_no` = 'zkxw'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_menu` x
|
||||
WHERE x.`role_id` = rm.`role_id`
|
||||
AND x.`menu_id` = m.`id`
|
||||
AND x.`del_flag` = 0
|
||||
AND x.`tenant_no` = 'zkxw'
|
||||
);
|
||||
@@ -1,14 +0,0 @@
|
||||
-- 基础实验:biz_pilot_application 扩展
|
||||
ALTER TABLE biz_pilot_application
|
||||
MODIFY COLUMN biz_type VARCHAR(20) NOT NULL DEFAULT 'pilot_service'
|
||||
COMMENT '业务类型: pilot_service=中试服务, clinical_application=临床应用, basic_experiment=基础实验';
|
||||
|
||||
ALTER TABLE biz_pilot_application
|
||||
ADD COLUMN project_title VARCHAR(200) DEFAULT NULL COMMENT '课题名称(基础实验)' AFTER application_name,
|
||||
ADD COLUMN customer_name VARCHAR(200) DEFAULT NULL COMMENT '客户名称(基础实验)' AFTER project_title,
|
||||
ADD COLUMN customer_contact VARCHAR(100) DEFAULT NULL COMMENT '客户联系人(基础实验)' AFTER customer_name,
|
||||
ADD COLUMN customer_phone VARCHAR(32) DEFAULT NULL COMMENT '客户联系方式(基础实验)' AFTER customer_contact;
|
||||
|
||||
ALTER TABLE biz_pilot_payment
|
||||
MODIFY COLUMN biz_type VARCHAR(20) NOT NULL DEFAULT 'clinical_application'
|
||||
COMMENT '业务类型: clinical_application=临床应用, basic_experiment=基础实验';
|
||||
@@ -1,4 +0,0 @@
|
||||
-- 采集协议单分期:应缴费提前天数 + 各期缴费比例
|
||||
ALTER TABLE `biz_protocol_payment`
|
||||
ADD COLUMN `installment_advance_days` INT NULL DEFAULT 30 COMMENT '第2期起应缴费提前天数' AFTER `installment_start_date`,
|
||||
ADD COLUMN `installment_ratios` VARCHAR(256) NULL COMMENT '各期缴费比例JSON数组' AFTER `installment_advance_days`;
|
||||
@@ -1,6 +0,0 @@
|
||||
-- 采集协议单样本:增加原价格字段,price 注释调整为优惠价格
|
||||
ALTER TABLE `biz_protocol_sample`
|
||||
ADD COLUMN `original_price` decimal(18,2) DEFAULT NULL COMMENT '原价格(元)' AFTER `price`;
|
||||
|
||||
ALTER TABLE `biz_protocol_sample`
|
||||
MODIFY COLUMN `price` decimal(18,2) DEFAULT NULL COMMENT '优惠价格(元)';
|
||||
@@ -1,104 +0,0 @@
|
||||
-- ============================================================
|
||||
-- 环境检测:主数据 + 登记记录 + 菜单 + 种子数据
|
||||
-- 与 docs/superpowers/specs/2026-06-11-env-detect-design.md 对齐
|
||||
-- ============================================================
|
||||
|
||||
-- 1. 环境检测项(主数据)
|
||||
DROP TABLE IF EXISTS `biz_env_detect_record`;
|
||||
DROP TABLE IF EXISTS `biz_env_detect_item`;
|
||||
|
||||
CREATE TABLE `biz_env_detect_item` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`item_code` varchar(64) NOT NULL COMMENT '项目编码',
|
||||
`item_name` varchar(200) NOT NULL COMMENT '项目名称',
|
||||
`status` char(1) NOT NULL DEFAULT '1' COMMENT '1启用 0停用',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_env_item_tenant_code` (`tenant_no`, `item_code`, `del_flag`),
|
||||
KEY `idx_env_item_tenant_status` (`tenant_no`, `status`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='环境检测项';
|
||||
|
||||
-- 2. 环境检测登记
|
||||
CREATE TABLE `biz_env_detect_record` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`record_no` varchar(32) NOT NULL COMMENT '登记编号',
|
||||
`detect_time` datetime NOT NULL COMMENT '检测时间',
|
||||
`inspector_ids` varchar(500) NOT NULL COMMENT '检测人用户ID,逗号分隔',
|
||||
`inspector_names` varchar(500) NOT NULL COMMENT '检测人姓名快照,逗号分隔',
|
||||
`env_detect_item_id` varchar(64) NOT NULL COMMENT '检测项目ID',
|
||||
`item_code` varchar(64) NOT NULL COMMENT '项目编码快照',
|
||||
`item_name` varchar(200) NOT NULL COMMENT '项目名称快照',
|
||||
`result_desc` varchar(2000) NOT NULL COMMENT '检测结果描述',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '检测附件URL,逗号分隔',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_env_rec_tenant_no` (`tenant_no`, `record_no`, `del_flag`),
|
||||
KEY `idx_env_rec_tenant_time` (`tenant_no`, `detect_time`, `del_flag`),
|
||||
KEY `idx_env_rec_tenant_item` (`tenant_no`, `env_detect_item_id`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='环境检测登记';
|
||||
|
||||
-- 3. 种子:6 项初始检测项目(租户 zkxw)
|
||||
INSERT INTO `biz_env_detect_item` (
|
||||
`id`, `item_code`, `item_name`, `status`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
('ENVITEM00000000000000000000000001', 'BMWS', '表面微生物检测', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
|
||||
('ENVITEM00000000000000000000000002', 'SYFS', '实验室风速检测', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
|
||||
('ENVITEM00000000000000000000000003', 'ZWQD', '紫外灯强度检测', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
|
||||
('ENVITEM00000000000000000000000004', 'CJJ', '沉降菌检测', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
|
||||
('ENVITEM00000000000000000000000005', 'JJZY', '洁净区噪音检测', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
|
||||
('ENVITEM00000000000000000000000006', 'XFZL', '洁净区悬浮粒子检测', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`item_name` = VALUES(`item_name`),
|
||||
`status` = VALUES(`status`),
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
-- 4. 菜单
|
||||
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
|
||||
(
|
||||
'71000000000000000000000000000001', '环境检测项维护',
|
||||
'QCB00000000000000000000000000001', 'C', 'env-detect-item',
|
||||
'/quality-inspection/env-detect-item/index', 'biz:envDetectItem:list',
|
||||
1, '1', '1', 'zkxw', 7, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'71000000000000000000000000000002', '环境检测管理',
|
||||
'QCM00000000000000000000000000001', 'C', 'env-detect-record',
|
||||
'/quality-inspection/env-detect-record/index', 'biz:envDetectRecord:list',
|
||||
1, '1', '1', 'zkxw', 3, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = '1',
|
||||
`status` = '1',
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
@@ -1,27 +0,0 @@
|
||||
-- ============================================================
|
||||
-- 质检管理 · 我的物料领用记录
|
||||
-- 与 web-admin/src/router/modules/sqxp.ts、backend/app/api/menu.py 对齐
|
||||
-- ============================================================
|
||||
|
||||
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 (
|
||||
'92000000000000000000000000000001', '我的物料领用记录', 'QCM00000000000000000000000000001', 'C',
|
||||
'my-qc-material-usage', '/quality-inspection/my-qc-material-usage/index',
|
||||
'biz:myQcMaterialUsage:list',
|
||||
1, '1', '1', 'zkxw', 4, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = '1',
|
||||
`status` = '1',
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
@@ -1,27 +0,0 @@
|
||||
-- ============================================================
|
||||
-- 生产管理 · 样本接收信息完善
|
||||
-- 与 web-admin/src/router/modules/sqxp.ts、backend/app/api/menu.py 对齐
|
||||
-- ============================================================
|
||||
|
||||
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 (
|
||||
'91000000000000000000000000000001', '样本接收信息完善', 'PRM00000000000000000000000000001', 'C',
|
||||
'sample-reception-completion', '/production/sample-reception-completion/index',
|
||||
'production:sample-reception-completion:list',
|
||||
1, '1', '1', 'zkxw', 4, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = '1',
|
||||
`status` = '1',
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
@@ -1,21 +0,0 @@
|
||||
-- 质检物料库 · 清除旧数据(批次改造上线前)
|
||||
-- 执行时机:DDL 已执行 + 代码已部署后,导入测试数据前
|
||||
-- 默认采用物理 DELETE;若需保留审计可改为 UPDATE ... SET del_flag=1
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 变动记录(含旧版无 batch_id 的行)
|
||||
DELETE FROM `biz_qc_material_usage`;
|
||||
|
||||
-- 入库批次(新表,若曾手工插入过也一并清空)
|
||||
DELETE FROM `biz_qc_material_stock_batch`;
|
||||
|
||||
-- 物资目录
|
||||
DELETE FROM `biz_qc_material`;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 软删替代方案(按需取消注释,勿与上方 DELETE 同时执行):
|
||||
-- UPDATE `biz_qc_material_usage` SET `del_flag` = 1 WHERE `del_flag` = 0;
|
||||
-- UPDATE `biz_qc_material_stock_batch` SET `del_flag` = 1 WHERE `del_flag` = 0;
|
||||
-- UPDATE `biz_qc_material` SET `del_flag` = 1 WHERE `del_flag` = 0;
|
||||
@@ -1,130 +0,0 @@
|
||||
-- 质检物料库 · 批次管理测试数据
|
||||
-- 执行时机:clear-data 脚本之后
|
||||
-- 租户:zkxw;覆盖单物资多批次、零库存批次、入出库流水
|
||||
|
||||
SET @tenant := 'zkxw';
|
||||
SET @now := NOW();
|
||||
|
||||
-- ========== 物资目录(3 种) ==========
|
||||
INSERT INTO `biz_qc_material` (
|
||||
`id`, `material_code`, `material_name`, `spec_model`, `unit`,
|
||||
`stock_qty`, `warning_qty`, `status`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
(
|
||||
'qc-mat-001', 'QC-M-001', 'DMEM 培养基', '500mL/瓶', '瓶',
|
||||
15.0000, 5.0000, '1', @tenant, 1, '测试物资-培养基',
|
||||
'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
(
|
||||
'qc-mat-002', 'QC-M-002', '胎牛血清', '100mL/瓶', '瓶',
|
||||
8.0000, 3.0000, '1', @tenant, 2, '测试物资-血清',
|
||||
'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
(
|
||||
'qc-mat-003', 'QC-M-003', '胰酶消化液', '100mL/瓶', '瓶',
|
||||
0.0000, 2.0000, '1', @tenant, 3, '测试物资-已全部出清',
|
||||
'admin', '', @now, 'admin', @now, 0
|
||||
);
|
||||
|
||||
-- ========== 入库批次 ==========
|
||||
-- DMEM:2 批次(一批有库存,一批零库存)
|
||||
INSERT INTO `biz_qc_material_stock_batch` (
|
||||
`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`,
|
||||
`stock_in_no`, `stock_in_date`, `catalog_no`, `batch_no`, `manufacturer`,
|
||||
`unit_price`, `amount`, `in_qty`, `remaining_qty`,
|
||||
`tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
(
|
||||
'qc-batch-001', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基', '500mL/瓶', '瓶',
|
||||
'RK-202606-001', '2026-06-01', 'SH30022.01', 'LOT-A202601', '赛默飞',
|
||||
280.00, 2800.00, 10.0000, 8.0000,
|
||||
@tenant, 1, '首批入库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
(
|
||||
'qc-batch-002', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基', '500mL/瓶', '瓶',
|
||||
'RK-202606-002', '2026-06-05', 'SH30022.01', 'LOT-B202602', '赛默飞',
|
||||
295.00, 1475.00, 5.0000, 0.0000,
|
||||
@tenant, 2, '第二批已出清', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
(
|
||||
'qc-batch-003', 'qc-mat-002', 'QC-M-002', '胎牛血清', '100mL/瓶', '瓶',
|
||||
'RK-202606-003', '2026-06-03', '10270-106', 'SER-202603', 'Gibco',
|
||||
1200.00, 9600.00, 8.0000, 8.0000,
|
||||
@tenant, 1, '血清入库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
(
|
||||
'qc-batch-004', 'qc-mat-003', 'QC-M-003', '胰酶消化液', '100mL/瓶', '瓶',
|
||||
'RK-202606-004', '2026-06-08', '25200-056', 'TRY-202604', 'Sigma',
|
||||
350.00, 1050.00, 3.0000, 0.0000,
|
||||
@tenant, 1, '零库存展示用', 'admin', '', @now, 'admin', @now, 0
|
||||
);
|
||||
|
||||
-- ========== 变动记录(入库 / 手动出库) ==========
|
||||
INSERT INTO `biz_qc_material_usage` (
|
||||
`id`, `material_id`, `material_code`, `material_name`,
|
||||
`batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`,
|
||||
`change_type`, `change_qty`, `stock_before`, `stock_after`,
|
||||
`qc_task_id`, `qc_task_no`, `receiver`, `purpose`, `source_type`,
|
||||
`tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
-- batch-001 入库 10
|
||||
(
|
||||
'qc-usage-in-001', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
|
||||
'qc-batch-001', 'RK-202606-001', 'SH30022.01', 'LOT-A202601', '赛默飞', 280.00, 2800.00,
|
||||
'in', 10.0000, 0.0000, 10.0000,
|
||||
NULL, NULL, NULL, NULL, 'manual_in',
|
||||
@tenant, '首批入库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
-- batch-002 入库 5
|
||||
(
|
||||
'qc-usage-in-002', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
|
||||
'qc-batch-002', 'RK-202606-002', 'SH30022.01', 'LOT-B202602', '赛默飞', 295.00, 1475.00,
|
||||
'in', 5.0000, 10.0000, 15.0000,
|
||||
NULL, NULL, NULL, NULL, 'manual_in',
|
||||
@tenant, '第二批入库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
-- batch-002 手动出库 5(出清)
|
||||
(
|
||||
'qc-usage-out-001', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
|
||||
'qc-batch-002', 'RK-202606-002', 'SH30022.01', 'LOT-B202602', '赛默飞', NULL, NULL,
|
||||
'use', -5.0000, 15.0000, 10.0000,
|
||||
NULL, NULL, '张三', '实验室领用', 'manual_out',
|
||||
@tenant, '第二批全部出库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
-- batch-001 手动出库 2
|
||||
(
|
||||
'qc-usage-out-002', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
|
||||
'qc-batch-001', 'RK-202606-001', 'SH30022.01', 'LOT-A202601', '赛默飞', NULL, NULL,
|
||||
'use', -2.0000, 10.0000, 8.0000,
|
||||
NULL, NULL, '李四', '质检实验', 'manual_out',
|
||||
@tenant, '部分出库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
-- batch-003 血清入库
|
||||
(
|
||||
'qc-usage-in-003', 'qc-mat-002', 'QC-M-002', '胎牛血清',
|
||||
'qc-batch-003', 'RK-202606-003', '10270-106', 'SER-202603', 'Gibco', 1200.00, 9600.00,
|
||||
'in', 8.0000, 0.0000, 8.0000,
|
||||
NULL, NULL, NULL, NULL, 'manual_in',
|
||||
@tenant, '血清入库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
-- batch-004 胰酶入库后全部出库(物资汇总库存 0)
|
||||
(
|
||||
'qc-usage-in-004', 'qc-mat-003', 'QC-M-003', '胰酶消化液',
|
||||
'qc-batch-004', 'RK-202606-004', '25200-056', 'TRY-202604', 'Sigma', 350.00, 1050.00,
|
||||
'in', 3.0000, 0.0000, 3.0000,
|
||||
NULL, NULL, NULL, NULL, 'manual_in',
|
||||
@tenant, '胰酶入库', 'admin', '', @now, 'admin', @now, 0
|
||||
),
|
||||
(
|
||||
'qc-usage-out-003', 'qc-mat-003', 'QC-M-003', '胰酶消化液',
|
||||
'qc-batch-004', 'RK-202606-004', '25200-056', 'TRY-202604', 'Sigma', NULL, NULL,
|
||||
'use', -3.0000, 3.0000, 0.0000,
|
||||
NULL, NULL, '王五', '细胞消化', 'manual_out',
|
||||
@tenant, '全部出库', 'admin', '', @now, 'admin', @now, 0
|
||||
);
|
||||
|
||||
-- 汇总库存与批次 remaining_qty 已在 INSERT 中对齐:
|
||||
-- qc-mat-001 stock_qty=15 (batch-001:8 + batch-002:0,其中 batch-002 已出清)
|
||||
-- 修正 qc-mat-001 汇总为 8(10+5 入库,出库 7)
|
||||
UPDATE `biz_qc_material` SET `stock_qty` = 8.0000 WHERE `id` = 'qc-mat-001';
|
||||
@@ -1,48 +0,0 @@
|
||||
-- 质检物料库 · 入库批次管理 DDL
|
||||
-- 执行顺序:本脚本 → 部署代码 → clear-data → test-data
|
||||
|
||||
-- 1. 入库批次表
|
||||
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_batch` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`material_id` varchar(64) NOT NULL COMMENT '关联 biz_qc_material.id',
|
||||
`material_code` varchar(64) DEFAULT NULL COMMENT '物料编码快照',
|
||||
`material_name` varchar(200) DEFAULT NULL COMMENT '物料名称快照',
|
||||
`spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号快照',
|
||||
`unit` varchar(32) DEFAULT NULL COMMENT '单位快照',
|
||||
`stock_in_no` varchar(64) NOT NULL COMMENT '入库编号(用户录入,租户内唯一)',
|
||||
`stock_in_date` date NOT NULL COMMENT '入库日期',
|
||||
`catalog_no` varchar(128) NOT NULL COMMENT '货号',
|
||||
`batch_no` varchar(128) NOT NULL COMMENT '批号',
|
||||
`manufacturer` varchar(200) NOT NULL COMMENT '厂家',
|
||||
`unit_price` decimal(18,2) NOT NULL COMMENT '单价(元)',
|
||||
`amount` decimal(18,2) NOT NULL COMMENT '金额(元)',
|
||||
`in_qty` decimal(18,4) NOT NULL COMMENT '入库数量',
|
||||
`remaining_qty` decimal(18,4) NOT NULL COMMENT '剩余数量',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_qc_batch_tenant_stock_in_no` (`tenant_no`,`stock_in_no`,`del_flag`),
|
||||
KEY `idx_qc_batch_material` (`material_id`,`del_flag`),
|
||||
KEY `idx_qc_batch_tenant_date` (`tenant_no`,`stock_in_date`,`del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料入库批次';
|
||||
|
||||
-- 2. 扩展变动记录表
|
||||
ALTER TABLE `biz_qc_material_usage`
|
||||
ADD COLUMN `batch_id` varchar(64) DEFAULT NULL COMMENT '关联入库批次ID' AFTER `material_name`,
|
||||
ADD COLUMN `stock_in_no` varchar(64) DEFAULT NULL COMMENT '入库编号快照' AFTER `batch_id`,
|
||||
ADD COLUMN `catalog_no` varchar(128) DEFAULT NULL COMMENT '货号快照' AFTER `stock_in_no`,
|
||||
ADD COLUMN `batch_no` varchar(128) DEFAULT NULL COMMENT '批号快照' AFTER `catalog_no`,
|
||||
ADD COLUMN `manufacturer` varchar(200) DEFAULT NULL COMMENT '厂家快照' AFTER `batch_no`,
|
||||
ADD COLUMN `unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价快照(元)' AFTER `manufacturer`,
|
||||
ADD COLUMN `amount` decimal(18,2) DEFAULT NULL COMMENT '金额快照(元)' AFTER `unit_price`,
|
||||
ADD COLUMN `stock_before` decimal(18,4) DEFAULT NULL COMMENT '变动前物资汇总库存' AFTER `change_qty`;
|
||||
|
||||
ALTER TABLE `biz_qc_material_usage`
|
||||
ADD KEY `idx_qc_mu_batch` (`batch_id`,`del_flag`);
|
||||
@@ -1,91 +0,0 @@
|
||||
-- 质检物料库:过期日期 + 库存盘点
|
||||
-- 执行前请确认无未补填 expire_date 的历史批次(见 spec)
|
||||
|
||||
ALTER TABLE `biz_qc_material_stock_batch`
|
||||
ADD COLUMN `expire_date` date NULL COMMENT '过期日期' AFTER `stock_in_date`;
|
||||
|
||||
-- 历史数据临时回填(须由业务核对后改为真实过期日;此处用入库日期占位以便 NOT NULL)
|
||||
UPDATE `biz_qc_material_stock_batch`
|
||||
SET `expire_date` = `stock_in_date`
|
||||
WHERE `expire_date` IS NULL AND `del_flag` = 0;
|
||||
|
||||
ALTER TABLE `biz_qc_material_stock_batch`
|
||||
MODIFY COLUMN `expire_date` date NOT NULL COMMENT '过期日期';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_check` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`title` varchar(200) NOT NULL COMMENT '盘点标题',
|
||||
`check_time` datetime NOT NULL COMMENT '盘点时间',
|
||||
`status` varchar(16) NOT NULL DEFAULT 'draft' COMMENT 'draft/completed/cancelled',
|
||||
`complete_time` datetime DEFAULT NULL COMMENT '完成时间',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime NOT NULL COMMENT '更新时间',
|
||||
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_qc_stock_check_tenant_time` (`tenant_no`, `check_time`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料库存盘点单';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_check_batch_line` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`check_id` varchar(64) NOT NULL COMMENT '盘点单ID',
|
||||
`batch_id` varchar(64) NOT NULL COMMENT '原入库批次ID',
|
||||
`material_id` varchar(64) NOT NULL COMMENT '物资ID',
|
||||
`material_code` varchar(64) DEFAULT NULL COMMENT '物料编码快照',
|
||||
`material_name` varchar(200) DEFAULT NULL COMMENT '物料名称快照',
|
||||
`spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号快照',
|
||||
`unit` varchar(32) DEFAULT NULL COMMENT '单位快照',
|
||||
`stock_in_no` varchar(64) NOT NULL COMMENT '入库编号快照',
|
||||
`stock_in_date` date NOT NULL COMMENT '入库日期快照',
|
||||
`expire_date` date NOT NULL COMMENT '过期日期快照',
|
||||
`catalog_no` varchar(128) NOT NULL COMMENT '货号快照',
|
||||
`batch_no` varchar(128) NOT NULL COMMENT '批号快照',
|
||||
`manufacturer` varchar(200) NOT NULL COMMENT '厂家快照',
|
||||
`unit_price` decimal(18,2) NOT NULL COMMENT '单价快照(元)',
|
||||
`amount` decimal(18,2) NOT NULL COMMENT '批次金额快照(元)',
|
||||
`remaining_qty` decimal(18,4) NOT NULL COMMENT '快照时点剩余数量',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime NOT NULL COMMENT '更新时间',
|
||||
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_qc_check_batch_line_check` (`check_id`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料盘点-系统库存快照行';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_check_unused_line` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`check_id` varchar(64) NOT NULL COMMENT '盘点单ID',
|
||||
`material_code` varchar(64) DEFAULT NULL COMMENT '物料编码',
|
||||
`material_name` varchar(200) NOT NULL COMMENT '物料名称',
|
||||
`spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号',
|
||||
`unit` varchar(32) DEFAULT NULL COMMENT '单位',
|
||||
`stock_in_no` varchar(64) DEFAULT NULL COMMENT '入库编号',
|
||||
`stock_in_date` date DEFAULT NULL COMMENT '入库日期',
|
||||
`expire_date` date DEFAULT NULL COMMENT '过期日期',
|
||||
`catalog_no` varchar(128) DEFAULT NULL COMMENT '货号',
|
||||
`batch_no` varchar(128) DEFAULT NULL COMMENT '批号',
|
||||
`manufacturer` varchar(200) DEFAULT NULL COMMENT '厂家',
|
||||
`holder` varchar(64) DEFAULT NULL COMMENT '持有人/领用人',
|
||||
`unused_qty` decimal(18,4) NOT NULL COMMENT '未用完数量',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime NOT NULL COMMENT '更新时间',
|
||||
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_qc_check_unused_line_check` (`check_id`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料盘点-领用未用完登记行';
|
||||
@@ -1,3 +0,0 @@
|
||||
-- Part B 未用完登记行增加单价快照(检索批次填入或手工场景可选)
|
||||
ALTER TABLE `biz_qc_material_stock_check_unused_line`
|
||||
ADD COLUMN `unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价快照(元)' AFTER `manufacturer`;
|
||||
@@ -1,4 +0,0 @@
|
||||
-- 质检物料变动:任务使用关联领用记录 + 自由用量单位
|
||||
ALTER TABLE `biz_qc_material_usage`
|
||||
ADD COLUMN `parent_usage_id` varchar(64) DEFAULT NULL COMMENT '关联领用记录ID(task_complete指向manual_out)' AFTER `qc_task_no`,
|
||||
ADD COLUMN `usage_unit` varchar(32) DEFAULT NULL COMMENT '用量单位(领用/任务使用登记)' AFTER `change_qty`;
|
||||
@@ -1,23 +0,0 @@
|
||||
-- 质检管理 · 我的质检任务
|
||||
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 (
|
||||
'93000000000000000000000000000001', '我的质检任务', 'QCM00000000000000000000000000001', 'C',
|
||||
'my-qc-task', '/quality-inspection/my-qc-task/index',
|
||||
'biz:myQcTask:list',
|
||||
1, '1', '1', 'zkxw', 5, NULL,
|
||||
NULL, '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = '1',
|
||||
`status` = '1',
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
@@ -1,4 +0,0 @@
|
||||
-- 修复 biz_qc_task_assignee 与 biz_qc_task 排序规则不一致(Illegal mix of collations)
|
||||
-- biz_qc_task 为 utf8mb4 默认排序规则,assignee 表应对齐
|
||||
|
||||
ALTER TABLE `biz_qc_task_assignee` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
@@ -1,18 +0,0 @@
|
||||
-- 质检任务负责人关联表
|
||||
CREATE TABLE IF NOT EXISTS `biz_qc_task_assignee` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键',
|
||||
`task_id` varchar(64) NOT NULL COMMENT '质检任务ID',
|
||||
`user_id` varchar(64) NOT NULL COMMENT '负责人用户ID',
|
||||
`tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
|
||||
`order_num` int DEFAULT 0 COMMENT '展示顺序',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
|
||||
`create_dept_id` varchar(64) DEFAULT NULL COMMENT '创建人部门ID',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`del_flag` tinyint DEFAULT 0 COMMENT '删除标志',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_qc_task_assignee_task` (`task_id`, `del_flag`),
|
||||
KEY `idx_qc_task_assignee_user` (`user_id`, `tenant_no`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检任务负责人';
|
||||
@@ -1,13 +0,0 @@
|
||||
-- 质检工单:生产过程触发来源字段
|
||||
ALTER TABLE biz_qc_work_order
|
||||
ADD COLUMN trigger_source VARCHAR(20) NOT NULL DEFAULT 'reception'
|
||||
COMMENT '触发来源 reception=样本接收 production=生产过程' AFTER qc_biz_type,
|
||||
ADD COLUMN production_work_order_id VARCHAR(64) NULL
|
||||
COMMENT '关联生产工单ID(生产过程触发时)' AFTER cell_product_id,
|
||||
ADD COLUMN production_task_id VARCHAR(64) NULL
|
||||
COMMENT '关联生产任务ID(可选)' AFTER production_work_order_id;
|
||||
|
||||
UPDATE biz_qc_work_order SET trigger_source = 'reception' WHERE trigger_source IS NULL OR trigger_source = '';
|
||||
|
||||
CREATE INDEX idx_qc_wo_sample_trigger ON biz_qc_work_order (tenant_no, sample_code, trigger_source, del_flag);
|
||||
CREATE INDEX idx_qc_wo_prod_wo ON biz_qc_work_order (production_work_order_id, del_flag);
|
||||
Reference in new issue
Block a user