DELIMITER //

CREATE OR REPLACE PROCEDURE sys_chart_process(
  IN p_uuid VARCHAR(100)
)
/*
  function   : 刪除 amis chart 類的報表所產生的站存資料, 一般是被 chart 類報表的 sp 於執行取得資料後呼叫
  description: 可參考 gexrpt_opor11 的呼叫方式, 基本上不會單獨執行
  build date : 2021/10/16
  
  call sample:
  exec sys_chart_process @uuid
  
  modify history
    item who        date       modify docs
    ==== ========== ========== ================================================
    1    michael    2021/10/16 新增
	2    Michael    2025/07/20 改寫為 MariaDB 並最佳化(ChatGPT+DeepSeek)
*/
BEGIN
  DECLARE v_max INT;
  
  -- get max
  SELECT IFNULL(MAX(rowid), 0) INTO v_max FROM sys_chart_data;
  
  -- delete template data
  DELETE FROM sys_chart_data WHERE uuid = p_uuid;
  
  -- 如果?据量?大?重置表
  IF v_max > 10000 THEN
    TRUNCATE TABLE sys_chart_data;
    ALTER TABLE sys_chart_data AUTO_INCREMENT = 1;
  END IF;
END //

DELIMITER ;