convert to gitea

This commit is contained in:
2025-09-15 13:33:34 +09:00
commit 95882ac072
277 changed files with 46023 additions and 0 deletions

View File

@ -0,0 +1,55 @@
DELIMITER $$
SET @saved_sql_mode = @@sql_mode
$$
SET @@sql_mode = 'NO_AUTO_VALUE_ON_ZERO'
$$
CREATE PROCEDURE `sp_delete_group`(
IN p_admin_user_id INT,
IN p_actor_description VARCHAR(100),
IN p_group_id BIGINT,
OUT p_result_message VARCHAR(255)
)
COMMENT '그룹(부서) 삭제 및 로그 기록 (멤버 확인 포함)'
BEGIN
DECLARE v_group_name VARCHAR(100);
DECLARE v_manager_user_id BIGINT; -- 변수명 변경
DECLARE v_member_count INT DEFAULT 0;
DECLARE v_now DATETIME DEFAULT NOW();
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
ROLLBACK; SET p_result_message = CONCAT('DB 오류 (', @errno, '): ', @text);
END;
-- 입력값 검증
IF p_admin_user_id IS NULL AND p_actor_description IS NULL THEN
SET p_result_message = '작업 주체 정보는 필수입니다.';
ELSE
-- 삭제 대상 정보 조회
SELECT group_name, manager_user_id INTO v_group_name, v_manager_user_id -- 컬럼명/변수명 변경
FROM group_info WHERE group_id = p_group_id;
IF v_group_name IS NULL THEN
SET p_result_message = CONCAT('삭제할 그룹(부서)을 찾을 수 없습니다 (ID: ', p_group_id, ')');
ELSE
-- 소속된 사용자 확인
SELECT COUNT(*) INTO v_member_count FROM user_info WHERE group_id = p_group_id;
IF v_member_count > 0 THEN
SET p_result_message = CONCAT('그룹(부서) "', v_group_name, '"에 속한 사용자 ', v_member_count, '명이 있어 삭제할 수 없습니다. 사용자 소속을 먼저 변경하세요.');
ELSE
-- 모든 검증 통과, 트랜잭션 시작
START TRANSACTION;
INSERT INTO log_delete_group (log_date, admin_user_id, actor_description, group_id, group_name, manager_user_id) -- 컬럼명 변경
VALUES (v_now, p_admin_user_id, p_actor_description, p_group_id, v_group_name, v_manager_user_id); -- 변수명 변경
DELETE FROM group_info WHERE group_id = p_group_id;
COMMIT;
SET p_result_message = CONCAT('그룹(부서) "', v_group_name, '" (ID: ', p_group_id, ') 삭제 완료.');
END IF; -- 멤버 확인 IF 종료
END IF; -- 그룹 존재 IF 종료
END IF; -- 입력값 검증 IF 종료
END
$$
DELIMITER ;