1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| -- 生产质检:初检、复检、加工部审批、公司质检审批后才放行库存。
| -- 先部署数据库变更,再部署对应后端与前端;历史合格记录已完成库存流转。
| ALTER TABLE mes_qc_seed_quality
| ADD COLUMN workflow_status tinyint NOT NULL DEFAULT 40 COMMENT '10待复检 20待加工部审批 30待公司质检审批 40已放行 50待加工部不合格评审 60待公司不合格审批 70已报废',
| ADD COLUMN qualified_warehouse_id bigint DEFAULT NULL COMMENT '审批通过后的目标合格库',
| ADD COLUMN retest_result tinyint DEFAULT NULL COMMENT '复检结果 1合格 2不合格',
| ADD COLUMN retested_at datetime DEFAULT NULL COMMENT '复检时间',
| ADD COLUMN process_approved_at datetime DEFAULT NULL COMMENT '加工部审批时间',
| ADD COLUMN company_approved_at datetime DEFAULT NULL COMMENT '公司质检审批时间';
| CREATE INDEX idx_mes_seed_quality_workflow ON mes_qc_seed_quality (workflow_status, inspected_at);
|
| -- 旧数据已经按旧流程放行或报废,不能重新审批或重复扣库存。
| UPDATE mes_qc_seed_quality SET workflow_status = CASE WHEN result = 1 THEN 40 WHEN result = 2 THEN 70 ELSE 10 END;
|
| CREATE TABLE IF NOT EXISTS mes_qc_seed_quality_action (
| id bigint NOT NULL AUTO_INCREMENT,
| quality_id bigint NOT NULL,
| action varchar(32) NOT NULL COMMENT 'INITIAL/RETEST/PROCESS_APPROVE/COMPANY_APPROVE/REJECT',
| result tinyint DEFAULT NULL,
| opinion varchar(500) DEFAULT NULL,
| indicators_json text DEFAULT NULL,
| operator_id bigint DEFAULT NULL,
| create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
| PRIMARY KEY (id),
| KEY idx_quality_time (quality_id, create_time)
| ) ENGINE=InnoDB COMMENT='种子质检流程操作留痕';
|
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '复检', 'mes:qc-seed-quality:retest', 3, 3, id, '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM system_menu WHERE parent_id = 5500 AND path = 'seed-quality' AND deleted = b'0'
| AND NOT EXISTS (SELECT 1 FROM system_menu m WHERE m.parent_id = system_menu.id AND m.permission = 'mes:qc-seed-quality:retest' AND m.deleted = b'0');
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '加工部审批', 'mes:qc-seed-quality:process-approve', 3, 4, id, '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM system_menu WHERE parent_id = 5500 AND path = 'seed-quality' AND deleted = b'0'
| AND NOT EXISTS (SELECT 1 FROM system_menu m WHERE m.parent_id = system_menu.id AND m.permission = 'mes:qc-seed-quality:process-approve' AND m.deleted = b'0');
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '公司质检审批', 'mes:qc-seed-quality:company-approve', 3, 5, id, '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM system_menu WHERE parent_id = 5500 AND path = 'seed-quality' AND deleted = b'0'
| AND NOT EXISTS (SELECT 1 FROM system_menu m WHERE m.parent_id = system_menu.id AND m.permission = 'mes:qc-seed-quality:company-approve' AND m.deleted = b'0');
|
| -- 独立销售质检入口;保留原“出货检验”菜单,复用其已实现的销售出库单检验能力。
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '销售质检', '', 2, 8, 5500, 'sales-quality', 'ep:document-checked', 'mes/qc/salesQuality/index', 'MesQcSalesQuality', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE parent_id = 5500 AND path = 'sales-quality' AND deleted = b'0');
|
| -- 销售质检复检及两级审批;历史已完成出货检验单维持既有放行结果。
| ALTER TABLE mes_qc_oqc
| ADD COLUMN workflow_status tinyint NOT NULL DEFAULT 0 COMMENT '0草稿 10待复检 20待销售部审批 30待公司质检审批 40已放行 50待销售部不合格评审 60待公司不合格审批 70已拒绝出货';
| CREATE INDEX idx_mes_oqc_workflow ON mes_qc_oqc (workflow_status, id);
| UPDATE mes_qc_oqc SET workflow_status = CASE
| WHEN status = 0 THEN 0
| WHEN check_result = 1 THEN 40
| ELSE 70 END;
| CREATE TABLE IF NOT EXISTS mes_qc_oqc_action (
| id bigint NOT NULL AUTO_INCREMENT,
| oqc_id bigint NOT NULL,
| action varchar(32) NOT NULL,
| result tinyint DEFAULT NULL,
| opinion varchar(500) DEFAULT NULL,
| quantities_json text DEFAULT NULL,
| operator_id bigint DEFAULT NULL,
| create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
| PRIMARY KEY (id),
| KEY idx_oqc_time (oqc_id, create_time)
| ) ENGINE=InnoDB COMMENT='销售质检复检和审批留痕';
|
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '销售复检', 'mes:qc-oqc:retest', 3, 1, id, '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM system_menu WHERE parent_id = 5500 AND path = 'sales-quality' AND deleted = b'0'
| AND NOT EXISTS (SELECT 1 FROM system_menu m WHERE m.parent_id = system_menu.id AND m.permission = 'mes:qc-oqc:retest' AND m.deleted = b'0');
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '销售部审批', 'mes:qc-oqc:sales-approve', 3, 2, id, '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM system_menu WHERE parent_id = 5500 AND path = 'sales-quality' AND deleted = b'0'
| AND NOT EXISTS (SELECT 1 FROM system_menu m WHERE m.parent_id = system_menu.id AND m.permission = 'mes:qc-oqc:sales-approve' AND m.deleted = b'0');
| INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
| SELECT '销售公司质检审批', 'mes:qc-oqc:company-approve', 3, 3, id, '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
| FROM system_menu WHERE parent_id = 5500 AND path = 'sales-quality' AND deleted = b'0'
| AND NOT EXISTS (SELECT 1 FROM system_menu m WHERE m.parent_id = system_menu.id AND m.permission = 'mes:qc-oqc:company-approve' AND m.deleted = b'0');
|
|