云
15 小时以前 5072520172e8f45e3ccb8afc26cf0c8186ba4cdd
sql/mysql/mes_seed_quality_workflow_20261019.sql
@@ -1,7 +1,7 @@
-- 生产质检:初检、复检、加工部审批、公司质检审批后才放行库存。
-- 生产质检:初检审核、复检、复检审核后才放行或处置库存。
-- 先部署数据库变更,再部署对应后端与前端;历史合格记录已完成库存流转。
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 workflow_status tinyint NOT NULL DEFAULT 40 COMMENT '10待复检 20待初检审核 25待初检不合格处理 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 '复检时间',
@@ -30,49 +30,10 @@
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'
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'
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');