ソースを参照

增加bi_app_access_stat按小时的存储过程

Ping 1 年間 前
コミット
dd272827cb
1 ファイル変更116 行追加0 行削除
  1. 116 0
      procedures/wk_bi_app_access_stat.sql

+ 116 - 0
procedures/wk_bi_app_access_stat.sql

@@ -0,0 +1,116 @@
+CREATE PROCEDURE lawe.wk_bi_app_access_stat(in bg_time varchar(300), in ed_time varchar(300))
+BEGIN
+	DELETE FROM bi_app_access_stat WHERE dtype='HOUR' and thedvalue between bg_time and ed_time;
+	insert into bi_app_access_stat
+	SELECT
+		'HOUR' AS dtype,
+	    DATE_FORMAT(A.time_mark,'%Y%m%d%H') as thedvalue,
+		B.ITM_NETGROUP_ID AS NET_ID,
+		C.NAME AS net_name,
+		A.ORGAN_ID AS ORGAN_ID,
+		D.short_name AS ORGAN_name,
+		A.app_id as app_id,
+		B.ITM_APP_NAME AS app_name,
+		sum(A.visit_count) as visit_count,
+		sum(A.operate_count) as operate_count ,
+	CASE
+			B.PRIORITY 
+			WHEN 'low' THEN
+			'一般应用' 
+			WHEN 'important' THEN
+			'重要应用' 
+			WHEN 'high' THEN
+			'核心应用' ELSE '未知' 
+		END AS PRIORITY,
+		F.NAME
+	FROM  app_visit_log_region as A
+		LEFT JOIN itm_app B on A.app_id=B.itm_app_id
+		LEFT JOIN ( SELECT VALUE, NAME FROM m_com_dict WHERE dict_index = 'itm_resources_netcode' ) C ON C.VALUE = B.ITM_NETGROUP_ID
+		LEFT JOIN pub_organ D ON D.id = A.ORGAN_ID
+		LEFT JOIN ( SELECT temp1.ITM_APP_ID, temp2.NAME FROM itm_app temp1 LEFT JOIN m_com_dict temp2 ON temp1.app_type = temp2.VALUE ) AS F ON A.app_id = F.itm_app_id 
+	WHERE
+		DATE_FORMAT(A.time_mark,'%Y%m%d%H') between bg_time and ed_time
+	GROUP BY
+		A.app_id, A.ORGAN_ID, B.ITM_NETGROUP_ID, B.ITM_APP_NAME, C.NAME, D.short_name, B.priority, F.NAME, B.PRIORITY, A.time_mark, DATE_FORMAT(A.time_mark,'%Y%m%d%H');
+
+	DELETE FROM bi_app_access_stat WHERE dtype='DAY' and thedvalue=SUBSTRING(bg_time, 1, 8);
+	insert into bi_app_access_stat
+	SELECT
+		'DAY' AS dtype,
+	  	substring(thedvalue,1,8) AS thedvalue, 
+		NET_ID,
+		 net_name,
+		 ORGAN_ID,
+		 ORGAN_name,
+		app_id,
+		app_name,
+		sum(visit_count) as visit_count,
+		sum(operate_count) as operate_count ,
+	CASE
+			PRIORITY 
+			WHEN 'low' THEN
+			'一般应用' 
+			WHEN 'important' THEN
+			'重要应用' 
+			WHEN 'high' THEN
+			'核心应用' ELSE '未知' 
+		END AS PRIORITY,
+		app_type
+	FROM bi_app_access_stat 
+	WHERE dtype = 'HOUR' and substring(thedvalue,1,8)= SUBSTRING(bg_time, 1, 8)
+	GROUP BY dtype,thedvalue,NET_ID,net_name,ORGAN_ID,ORGAN_name,app_id,app_name,priority,app_type,substring(thedvalue,1,8);
+
+	DELETE FROM bi_app_access_stat WHERE dtype='MONTH' and thedvalue=SUBSTRING(bg_time, 1, 6);
+	insert into bi_app_access_stat
+	SELECT
+		'MONTH' AS dtype,
+	  	substring(thedvalue,1,6) AS thedvalue, 
+		NET_ID,
+		 net_name,
+		 ORGAN_ID,
+		 ORGAN_name,
+		app_id,
+		app_name,
+		sum(visit_count) as visit_count,
+		sum(operate_count) as operate_count ,
+	CASE
+			PRIORITY 
+			WHEN 'low' THEN
+			'一般应用' 
+			WHEN 'important' THEN
+			'重要应用' 
+			WHEN 'high' THEN
+			'核心应用' ELSE '未知' 
+		END AS PRIORITY,
+		app_type
+	FROM bi_app_access_stat 
+	WHERE dtype = 'DAY' and substring(thedvalue,1,6)= SUBSTRING(bg_time, 1, 6)
+	GROUP BY dtype,thedvalue,NET_ID,net_name,ORGAN_ID,ORGAN_name,app_id,app_name,priority,app_type,substring(thedvalue,1,6);
+
+	DELETE FROM bi_app_access_stat WHERE dtype='YEAR' and thedvalue=SUBSTRING(bg_time, 1, 4);
+	insert into bi_app_access_stat
+	SELECT
+		'YEAR' AS dtype,
+	  	substring(thedvalue,1,4) AS thedvalue, 
+		NET_ID,
+		 net_name,
+		 ORGAN_ID,
+		 ORGAN_name,
+		app_id,
+		app_name,
+		sum(visit_count) as visit_count,
+		sum(operate_count) as operate_count ,
+	CASE
+			PRIORITY 
+			WHEN 'low' THEN
+			'一般应用' 
+			WHEN 'important' THEN
+			'重要应用' 
+			WHEN 'high' THEN
+			'核心应用' ELSE '未知' 
+		END AS PRIORITY,
+		app_type
+	FROM bi_app_access_stat 
+	WHERE dtype = 'MONTH' and substring(thedvalue,1,4)= SUBSTRING(bg_time, 1, 4)
+	GROUP BY dtype,thedvalue,NET_ID,net_name,ORGAN_ID,ORGAN_name,app_id,app_name,priority,app_type,substring(thedvalue,1,4);
+END