first commit

This commit is contained in:
2026-02-06 23:26:59 +08:00
parent 0f3f1467b8
commit 6cf8248b2d
34 changed files with 2348 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
DELIMITER //
CREATE OR REPLACE PROCEDURE sys_transfer_owned2userroles(
IN p_para_roleid VARCHAR(100)
)
BEGIN
/*
function : 配合 amis 的 transfer 元件, 將暫存在 owned 欄位的值, 寫到 userroles
description: 目前先配合 omi_api 的存檔後機制(sys_transaction) 執行
build date : 2021/10/22
modify history
item who date modify docs
==== ========== ========== ================================================
1 michael 2021-10-17 新增
2 Michael 2025/07/20 改寫為 MariaDB 並最佳化(ChatGPT+DeepSeek)
*/
DECLARE v_owned TEXT;
-- 取得 owned 欄位值
SELECT owned INTO v_owned FROM sys_roles WHERE roleid = p_para_roleid;
-- 先刪除現有記錄
DELETE FROM sys_userroles WHERE roleid = p_para_roleid;
-- 使用 STRING_SPLIT 函數插入新記錄
IF v_owned IS NOT NULL AND v_owned != '' THEN
SET @sql = CONCAT(
'INSERT INTO sys_userroles (roleid, userid) ',
'SELECT ''', p_para_roleid, ''', value ',
'FROM STRING_SPLIT(''', v_owned, ''', '','') ',
'WHERE value != '''';'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END //
DELIMITER ;