<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="cn.gistack.sm.intelligentCall.mapper.CallTaskMapper">
|
|
<!--查詢任务列表数据-->
|
<select id="getCallListPage" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic">
|
select
|
ct."id",
|
ct."task_name" as taskName,
|
date_format(ct."gmt_create",'%Y-%m-%d %H:%i:%s') as createTime,
|
ct."task_status" as taskStatus,
|
date_format(ct."task_schedule_time",'%Y-%m-%d %H:%i:%s') as executeTime,
|
ctr."calling_number" as callingNumber,
|
ctra."callee_number_count" as calleeNumberCount,
|
ctra."connection_count" as connectionCount,
|
ctra."failure_count" as failureCount,
|
ctra."other_status_count" as otherStatusCount,
|
cs."call_scenes_name" as callScenesName
|
from "SJZT_ODS"."call_task" ct
|
left join (select * from "SJZT_ODS"."call_scenes" where "is_deleted" = 0) cs on ct."scene_id" = cs."id"
|
left join (select DISTINCT "task_id","calling_number" from "SJZT_ODS"."call_task_result") ctr on ctr."task_id" = ct."id"
|
left join "SJZT_ODS"."call_task_result_analyse" ctra on ctra."task_id" = ct."id"
|
where 1=1
|
<if test="callTask.taskName!=null and callTask.taskName!=''">
|
and ct."task_name" like concat(concat('%',#{callTask.taskName}),'%')
|
</if>
|
<if test="callTask.taskStatus!=null">
|
and ct."task_status" = #{callTask.taskStatus}
|
</if>
|
<if test="callTask.startTime!=null and callTask.startTime!=''">
|
and date_format(ct."gmt_create",'%Y-%m-%d') >= #{callTask.startTime}
|
</if>
|
<if test="callTask.endTime!=null and callTask.endTime!=''">
|
and date_format(ct."gmt_create",'%Y-%m-%d') <= #{callTask.endTime}
|
</if>
|
order by ct."gmt_create" desc
|
</select>
|
|
<!--查询呼叫详情列表信息-->
|
<select id="getCallTaskResultListPage" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskResultVO">
|
select
|
ctr."id",
|
ctr."call_result" as callResult,
|
ctr."call_duration" as callDuration,
|
ctr."call_conversation_round" as callConversationRound,
|
ctr."call_hangup_direction" as callHangupDirection,
|
ctr."call_id" as callId,
|
date_format(ctr."gmt_create",'%Y-%m-%d %H:%i:%s') as gmtCreate,
|
ctr."calling_number" as callingNumber,
|
ctr."callee_number" as calleeNumber,
|
ctr."task_id" as taskId,
|
ctr."call_start_time" as callStartTime,
|
date_format(ctr."call_end_time",'%Y-%m-%d %H:%i:%s') as callEndTime,
|
ctr."call_record_file" as callRecordFile,
|
ctr."intention_customer_flag" as intentionCustomerFlag,
|
ctr."is_deleted" as isDeleted,
|
ctc.waterCode,
|
arb."name" as waterName,
|
aab."ad_name" as areaName,
|
ctc.userName
|
from "SJZT_ODS"."call_task_result" ctr
|
left join
|
(
|
select "callee_number",
|
"task_id",
|
JSON_VALUE("call_task_callee_content",'$."$水库编码$"') as waterCode,
|
JSON_VALUE("call_task_callee_content",'$."$用户名$"') as userName from "SJZT_ODS"."call_task_callee"
|
) ctc
|
on ctr."task_id" = ctc."task_id" and ctr."callee_number" = ctc."callee_number"
|
left join "SJZT_MD"."att_res_base" arb on ctc.waterCode = arb."code"
|
left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
|
where 1=1
|
<if test="callTaskResult.taskId!=null and callTaskResult.taskId!=''">
|
and ctr."task_id" = #{callTaskResult.taskId}
|
</if>
|
<if test="callTaskResult.waterName!=null and callTaskResult.waterName!=''">
|
and ctc."call_task_callee_content" like concat('%',#{callTaskResult.waterName},'%')
|
</if>
|
<if test="callTaskResult.userName!=null and callTaskResult.userName!=''">
|
and ctc."call_task_callee_content" like concat('%',#{callTaskResult.userName},'%')
|
</if>
|
<if test="callTaskResult.startTime!=null and callTaskResult.startTime!=''">
|
and date_format(ctr."gmt_create",'%Y-%m-%d') >= #{callTaskResult.startTime}
|
</if>
|
<if test="callTaskResult.endTime!=null and callTaskResult.endTime!=''">
|
and date_format(ctr."gmt_create",'%Y-%m-%d') <= #{callTaskResult.endTime}
|
</if>
|
order by ctr."gmt_create" desc
|
</select>
|
|
<!--通过水库编码获取行政区名称-->
|
<select id="getAreaNameByAdCode" resultType="java.lang.String">
|
select aab."ad_name" from SJZT_MD."att_ad_base" aab
|
left join SJZT_MD."att_res_base" arb on aab."guid" = concat(arb."ad_guid",'000000')
|
where arb."code" = #{adCode}
|
</select>
|
|
<!--通过行政区编号获取水库名称-->
|
<select id="getWaterNameByAreaCode" resultType="java.lang.String">
|
select "name" from SJZT_MD."att_res_base" where concat("ad_guid",'000000') = #{areaCode}
|
</select>
|
</mapper>
|