Przeglądaj źródła

首页统计团队新增管理员查看所有数据

anderx 1 rok temu
rodzic
commit
8d8d9e96aa

+ 6 - 4
src/main/java/com/goafanti/admin/service/impl/AdminStatisticsServiceImpl.java

@@ -33,6 +33,8 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
     private CallLogMapper callLogMapper;
     @Resource
     private SalesTeamMapper salesTeamMapper;
+    @Resource
+    private AdminCallDayMapper adminCallDayMapper;
 
 
     @Override
@@ -62,7 +64,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
         BigDecimal rangeReceivables=adminMapper.addAdminContactsRangeReceivables(aid,startTime,endTime);
         adminStatisticsBo.setRangeReceivables(rangeReceivables);
         //添加外呼数据
-        AdminStatisticsBo as=callLogMapper.selectAdminCallSum(aid,startTime,endTime);
+        AdminStatisticsBo as = adminCallDayMapper.selectByAidCount(aid, startTime, endTime);
         if (as !=null){
             if (as.getCallSum()!=null)adminStatisticsBo.setCallSum(as.getCallSum());
             if (as.getCallDurationSum()!=null)adminStatisticsBo.setCallDurationSum(as.getCallDurationSum());
@@ -104,7 +106,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
         int teamValidSum=0;
         BigDecimal teamCallDurationSum=BigDecimal.ZERO;
         for (String s : set) {
-            AdminStatisticsBo as=callLogMapper.selectAdminCallSum(s,startTime,endTime);
+            AdminStatisticsBo as = adminCallDayMapper.selectByAidCount(aid, startTime, endTime);
             if (as != null) {
                 if (as.getCallSum()!= null) teamCallSum = teamCallSum + as.getCallSum();
                 if (as.getCallDurationSum()!= null) teamCallDurationSum = teamCallDurationSum.add(as.getCallDurationSum());
@@ -362,7 +364,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
         int teamValidSum=0;
         BigDecimal teamCallDurationSum=BigDecimal.ZERO;
         //先计算负责人
-        AdminStatisticsBo ab=callLogMapper.selectAdminCallSum(aid,startTime,endTime);
+        AdminStatisticsBo ab=adminCallDayMapper.selectByAidCount(aid,startTime,endTime);
         if (ab!= null) {
             if (ab.getCallSum()!= null) teamCallSum = teamCallSum + ab.getCallSum();
             if (ab.getCallDurationSum()!= null) teamCallDurationSum = teamCallDurationSum.add(ab.getCallDurationSum());
@@ -376,7 +378,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
                 //再计算所有成员
                 List<Admin> admins = adminMapper.queryByTeamId(e.getId());
                 for (Admin e2 : admins) {
-                    AdminStatisticsBo as=callLogMapper.selectAdminCallSum(e2.getId(),startTime,endTime);
+                    AdminStatisticsBo as=adminCallDayMapper.selectByAidCount(aid,startTime,endTime);
                     if (as != null) {
                         if (as.getCallSum()!= null) teamCallSum = teamCallSum + as.getCallSum();
                         if (as.getCallDurationSum()!= null) teamCallDurationSum = teamCallDurationSum.add(as.getCallDurationSum());

+ 4 - 0
src/main/java/com/goafanti/common/dao/AdminCallDayMapper.java

@@ -1,5 +1,6 @@
 package com.goafanti.common.dao;
 
+import com.goafanti.admin.bo.AdminStatisticsBo;
 import com.goafanti.common.model.AdminCallDay;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.domain.Pageable;
@@ -87,5 +88,8 @@ public interface AdminCallDayMapper {
     void insertDay(@Param("id") String id, @Param("startDate") LocalDate startDate, @Param("endTime") LocalDate endTime);
 
     void updateDay(@Param("id") String id, @Param("startDate") LocalDate startDate, @Param("endTime") LocalDate endTime);
+
+
+    AdminStatisticsBo selectByAidCount(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
 }
 

+ 9 - 0
src/main/java/com/goafanti/common/mapper/AdminCallDayMapper.xml

@@ -211,6 +211,7 @@
         from admin_call_day
         where aid = #{aid} and day_date = #{dayDate}
     </select>
+
     <insert id="insertDay">
         insert into admin_call_day(aid,name,team_id,team_name,call_sum,connect_sum,valid_sum,call_duration_sum,day_date)
         select b.id,b.name,c.id,c.name ,a.callSum,a.connectSum,a.validSum,a.callDurationSum,a.dates
@@ -237,5 +238,13 @@
         set a.call_sum=b.callSum,a.connect_sum=b.connectSum,a.valid_sum=b.validSum,a.call_duration_sum=b.callDurationSum
         where a.aid=b.aid and a.day_date=b.dates
     </update>
+    <select id="selectByAidCount" resultType="com.goafanti.admin.bo.AdminStatisticsBo">
+        select  aid,sum(call_sum) callSum,
+                sum(connect_sum)connectSum,sum(valid_sum)validSum,sum(call_duration_sum) callDurationSum
+        from admin_call_day
+        where aid= #{aid}
+          and day_date BETWEEN #{startTime} and  #{endTime}
+        group by aid
+    </select>
 </mapper>