钉钉审批配置优化

This commit is contained in:
geht
2026-06-08 19:05:29 +08:00
parent 1d0b4c9fbb
commit fd5205e33e
44 changed files with 3730 additions and 278 deletions

View File

@@ -0,0 +1,7 @@
-- XSLMES-20260605-K8R4台账增加 node_activity_map 字段
-- 存储 processForecast 结果JSON数组每项含 approvalMethod/totalActioners/completionAt
-- completionAt = 累计已处理任务数边界用于会签/依次审批多人等待完成判断
SET NAMES utf8mb4;
ALTER TABLE `mes_xsl_approval_record`
ADD COLUMN `node_activity_map` TEXT NULL COMMENT '钉钉节点活动映射(processForecast结果JSON数组含completionAt幂等边界)';

View File

@@ -0,0 +1,2 @@
-- 用户表新增钉钉用户ID字段
ALTER TABLE sys_user ADD COLUMN ding_user_id VARCHAR(100) DEFAULT NULL COMMENT '钉钉用户ID';

View File

@@ -0,0 +1,31 @@
-- 混炼示方主表新增状态字段复用配合示方状态字典
-- author: cursor date: 2026-06-08 forXSLMES-20260608-A01
SET NAMES utf8mb4;
SET @db = DATABASE();
SET @sql = IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'mes_xsl_mixing_spec' AND COLUMN_NAME = 'status') = 0,
'ALTER TABLE `mes_xsl_mixing_spec` ADD COLUMN `status` varchar(32) DEFAULT ''compile'' COMMENT ''状态字典xslmes_formula_spec_status'' AFTER `change_date`',
'SELECT 1'
);
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- 按已有审批痕迹回填历史数据状态
UPDATE `mes_xsl_mixing_spec` SET `status` = 'obsolete' WHERE `del_flag` = 1;
UPDATE `mes_xsl_mixing_spec` SET `status` = 'recognition_pass' WHERE `del_flag` = 0 AND `approve_time` IS NOT NULL;
UPDATE `mes_xsl_mixing_spec` SET `status` = 'review_pass' WHERE `del_flag` = 0 AND `approve_time` IS NULL AND `audit_time` IS NOT NULL;
UPDATE `mes_xsl_mixing_spec` SET `status` = 'submit' WHERE `del_flag` = 0 AND `approve_time` IS NULL AND `audit_time` IS NULL AND `proofread_time` IS NOT NULL;
-- 混炼示方注册中心默认开启三环节并绑定 status 字段
UPDATE `mes_xsl_biz_doc_registry`
SET `enabled_stages` = 'proofread,audit,approve',
`status_field` = 'status',
`proofread_by_field` = 'proofread_by',
`proofread_time_field` = 'proofread_time',
`audit_by_field` = 'audit_by',
`audit_time_field` = 'audit_time',
`approve_by_field` = 'approve_by',
`approve_time_field` = 'approve_time',
`update_by` = 'admin',
`update_time` = NOW()
WHERE `doc_code` = 'mixing_spec' AND `del_flag` = 0;