zhongrj
2023-05-15 6b3618d35a088380ca18d168c6ea4c0dc8f101eb
新增智能外呼按行政区统计接通率接口
6 files modified
74 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java 11 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml 33 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
@@ -97,4 +97,15 @@
        return R.data(callService.getOutgoingStatisticList(Condition.getPage(query),callTaskStatistic));
    }
    /**
     * 查询智能外呼统计数据-行政区统计
     * @param callTaskStatistic
     * @return
     */
    @GetMapping("/getOutgoingStatisticByArea")
    public R getOutgoingStatisticByArea(CallTaskStatistic callTaskStatistic){
        // 返回
        return R.data(callService.getOutgoingStatisticByArea(callTaskStatistic));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
@@ -73,4 +73,12 @@
    List<CallTaskStatistic> getOutgoingStatisticList(@Param("page") IPage<CallTaskStatistic> page,
                                                     @Param("callTaskStatistic") CallTaskStatistic callTaskStatistic,
                                                     @Param("list") List<String> list);
    /**
     * 查询智能外呼统计数据-行政区统计
     * @param callTaskStatistic
     * @return
     */
    @DS("zt")
    List<CallTaskStatistic> getOutgoingStatisticByArea(@Param("callTaskStatistic") CallTaskStatistic callTaskStatistic);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
@@ -179,4 +179,37 @@
        ) a
        order by createTime desc,callCompletingRate desc
    </select>
    <!--查询智能外呼统计数据-行政区统计-->
    <select id="getOutgoingStatisticByArea" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic">
        select b.*,case when b.totalCount>0 then round(b.connectCount/b.totalCount*100,2) else 0 end callCompletingRate from(
            select  aab."guid",
                    aab."ad_name" as adName,
                    ifnull(sum(totalCount),0) totalCount,
                    ifnull(sum(connectCount),0) connectCount
                    from SJZT_MD."att_ad_base"  aab
            left join (
                select
                count(*) as totalCount,
                ifnull(sum(case when ctr."call_result"='200000' then 1 else 0 end),0) as connectCount,
                DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d') as createTime,
                aab."guid",
                aab."ad_grad",
                aab."p_ad_code",
                aab."ad_name" as adName
                from "SJZT_ODS"."call_task_result" ctr
                left join
                (
                select "call_id","task_id",JSON_VALUE("call_task_callee_content",'$."$水库编码$"') as waterCode from "SJZT_ODS"."call_task_callee"
                ) ctc on ctr."call_id" = ctc."call_id"
                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 and aab."ad_name" is not null
                group by DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d'),aab."ad_name",aab."guid",aab."ad_grad",aab."p_ad_code"
            ) a
            on aab."guid" = a."p_ad_code" where aab."p_ad_code" = #{callTaskStatistic.adCode}
            group by aab."ad_name",aab."guid"
            order by aab."guid"
        ) b
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
@@ -54,4 +54,11 @@
     * @return
     */
    Object getOutgoingStatisticList(IPage<CallTaskStatistic> page,CallTaskStatistic callTaskStatistic);
    /**
     * 查询智能外呼统计数据-行政区统计
     * @param callTaskStatistic
     * @return
     */
    Object getOutgoingStatisticByArea(CallTaskStatistic callTaskStatistic);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -275,6 +275,16 @@
    }
    /**
     * 查询智能外呼统计数据-行政区统计
     * @param callTaskStatistic
     * @return
     */
    @Override
    public Object getOutgoingStatisticByArea(CallTaskStatistic callTaskStatistic) {
        return callTaskMapper.getOutgoingStatisticByArea(callTaskStatistic);
    }
    /**
     * 查询所有下级区域
     * @param areaCode
     * @return
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
@@ -109,5 +109,10 @@
     */
    private String ids;
    /**
     * 区域id
     */
    private String adCode;
}