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; }