rushfee/resource/db/callrecord_sql.xml

88 lines
4.8 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqls SYSTEM "sql_definition.dtd">
<sqls>
<sql group="callrecord">
<i id="getList"><![CDATA[
select * fromSELECT
nvl( OPERATOR, '合计' ) AS OPERATOR,
sum( CASE WHEN action = 'phone' THEN 1 ELSE 0 END ) AS 呼出总量,
sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) AS 接通总量,
to_char( ROUND( sum( CASE WHEN action = 'phone' THEN to_number( info ) ELSE 0 END ) / 60, 1 ), 'fm9999999990.9' ) || '分钟' 通话总时长,
to_char( ROUND( sum( CASE WHEN action = 'phone' THEN to_number( zltime-1 ) ELSE 0 END ) / 60, 1 ), 'fm9999999990.9' ) || '分钟' 振铃总时长,
round( DECODE(sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ),0,0,sum( CASE WHEN action = 'phone' THEN to_number( info ) ELSE 0 END ) /sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) ),1)||'秒' AS 平均通话时长,
ROUND( DECODE(sum( CASE WHEN action = 'phone' THEN 1 ELSE 0 END ),0,0,
sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) / sum( CASE WHEN action = 'phone' THEN 1 ELSE 0 END ) * 100),
2
) || '%' AS 接通率,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_online_success' THEN OBJ_ID ELSE NULL END ) AS 在线缴费成功量,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_need' THEN OBJ_ID ELSE NULL END )-count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_online_success' THEN OBJ_ID ELSE NULL END ) as 同意缴费量,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_need' THEN OBJ_ID ELSE NULL END ) AS 成功量,
ROUND(DECODE(sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) ,0,0,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_need' THEN OBJ_ID ELSE NULL END ) /
sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) * 100 ),
2
) || '%' AS 成功率
FROM
rush_log left JOIN RUSH_DICTIONARY y ON INFO = y.MEMO
WHERE
(action = 'phone' or ACTION='rushfee')
and $like(operator,operator) and $between(operate_date,searchbegindate,searchenddate)
and operator in (SELECT c.cname FROM
RUSH_USER_QUERYAUTH a
LEFT JOIN AOS_RMS_USER b ON a.USER_ID = b.cguid
LEFT JOIN AOS_RMS_USER c ON a.userauth_id = c.cguid
where a.USER_ID={user_id})
GROUP BY rollup(OPERATOR)
union all
select '统计平均值' as OPERATOR,FLOOR(AVG(呼出总量) )as 呼出总量 ,
FLOOR(AVG(接通总量)) as 接通总量
, to_char(ROUND(AVG(通话总时长),1),'fm9999999990.9') || '分钟' as 通话总时长
, to_char(ROUND(AVG(振铃总时长),1),'fm9999999990.9') || '分钟' as 振铃总时长
, ROUND(AVG(平均通话时长),1) || '秒' as 平均通话时长 ,
ROUND(AVG(接通率),2)|| '%' as 接通率,
FLOOR(AVG(在线缴费成功量)) as 在线缴费成功量,
FLOOR(AVG(同意缴费量)) as 同意缴费量, FLOOR(AVG(成功量) )as 成功量, ROUND(AVG(成功率),2)|| '%' as 成功率
from (SELECT
OPERATOR,
sum( CASE WHEN action = 'phone' THEN 1 ELSE 0 END ) AS 呼出总量,
sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) AS 接通总量,
to_char( ROUND( sum( CASE WHEN action = 'phone' THEN to_number( info ) ELSE 0 END ) / 60, 1 ), 'fm9999999990.9' ) as 通话总时长,
to_char( ROUND( sum( CASE WHEN action = 'phone' THEN to_number( zltime-1 ) ELSE 0 END ) / 60, 1 ), 'fm9999999990.9' ) as 振铃总时长,
round( DECODE(sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ),0,0,sum( CASE WHEN action = 'phone' THEN to_number( info ) ELSE 0 END ) /sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END )) ,1
) AS 平均通话时长,
ROUND( DECODE(sum( CASE WHEN action = 'phone' THEN 1 ELSE 0 END ),0,0,
sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) / sum( CASE WHEN action = 'phone' THEN 1 ELSE 0 END ) * 100),
2
) AS 接通率,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_online_success' THEN OBJ_ID ELSE NULL END ) AS 在线缴费成功量,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_need' THEN OBJ_ID ELSE NULL END )-count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_online_success' THEN OBJ_ID ELSE NULL END ) as 同意缴费量,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_need' THEN OBJ_ID ELSE NULL END ) AS 成功量,
ROUND(DECODE(sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) ,0,0,
count( DISTINCT CASE WHEN action = 'rushfee' AND CODETYPE = 'phone_need' THEN OBJ_ID ELSE NULL END ) /
sum( CASE WHEN action = 'phone' AND info > 0 THEN 1 ELSE 0 END ) * 100 ),
2
) AS 成功率
FROM
rush_log left JOIN RUSH_DICTIONARY y ON INFO = y.MEMO
WHERE
( action = 'phone' OR ACTION = 'rushfee' )
and $like(operator,operator) and $between(operate_date,searchbegindate,searchenddate)
GROUP BY OPERATOR) )
]]></i>
</sql>
</sqls>