anderx лет назад: 2
Родитель
Сommit
5a22c4999e

+ 21 - 19
src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java

@@ -7,10 +7,7 @@ import com.goafanti.admin.service.NewAdminService;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.error.BusinessException;
-import com.goafanti.common.model.Admin;
-import com.goafanti.common.model.AdminUserCount;
-import com.goafanti.common.model.Department;
-import com.goafanti.common.model.UserBusiness;
+import com.goafanti.common.model.*;
 import com.goafanti.common.utils.LoggerUtils;
 import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.StringUtils;
@@ -50,6 +47,9 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 	private NewAdminService newAdminService;
 	@Autowired
 	private AdminUserCountMapper adminUserCountMapper;
+
+
+
 	@Override
 	public List<Admin> selectAllAdmin() {
 		return adminMapper.selectAllAdmin(null);
@@ -561,27 +561,29 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 
 	@Override
 	public Object pushStatistics() {
-		List<AdminUserCount> list =adminMapper.selectAllAdminPublicRelease();
-		List<AdminUserCount> list2 =adminMapper.selectAllAdminUserFollow();
-		List<AdminUserCount> list3 =adminMapper.selectAllAdminOrder();
-		for (AdminUserCount adminUserCount : list) {
-			for (AdminUserCount e : list2) {
-				if (adminUserCount.getAid().equals(e.getAid())&&adminUserCount.getDateTime().equals(e.getDateTime())){
-					adminUserCount.setFollowCount(e.getFollowCount());
-				}
-			}
-			for (AdminUserCount e : list3) {
-				if (adminUserCount.getAid().equals(e.getAid())&&adminUserCount.getDateTime().equals(e.getDateTime())){
-					adminUserCount.setOrderCount(e.getOrderCount());
-				}
-			}
+		List<String> roles=new ArrayList<>();
+		roles.add(AFTConstants.SALESMAN);
+		roles.add(AFTConstants.SALESMAN_MANAGER);
+		List<Admin> adminList = adminMapper.getAdminRoleTypesList(roles);
+		for (Admin admin : adminList) {
+		List<AdminUserCount> list =adminMapper.selectAdminPublicRelease(admin.getId());
+		List<AdminUserCount> list2 =adminMapper.selectAdminUserFollow(admin.getId());
+		List<AdminUserCount> list3 =adminMapper.selectAdminOrder(admin.getId());
+		if (list.isEmpty())list=new ArrayList<>();
+		if (!list.isEmpty())list.addAll(list2);
+		if (!list.isEmpty())list.addAll(list3);
+		publiAdminUserCount(list);
+		System.out.println("list="+list.size());
 		}
-		publiAdminUserCount(list3);
+
+
+
 		return 1;
 	}
 
 	private void publiAdminUserCount(List<AdminUserCount> list) {
 		for (AdminUserCount e : list) {
+
 			int i=adminUserCountMapper.updateByAidAndDateSelective(e);
 			if (i==0){
 				adminUserCountMapper.insertSelective(e);

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

@@ -41,7 +41,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
             adminStatisticsBo.setRangePrivateSum(asb.getRangePrivateSum());
             adminStatisticsBo.setRangeSignSum(asb.getRangeSignSum());
             adminStatisticsBo.setRangeChannelSum(asb.getRangeChannelSum());
-            adminStatisticsBo.setRangeFollowSum(asb.getFollowSum());
+            adminStatisticsBo.setRangeFollowSum(asb.getRangeFollowSum());
             adminStatisticsBo.setRangeOrderSum(asb.getRangeOrderSum());
         }
         Integer rangePublicReleaseSum=adminMapper.adminStatisticsPublicReleaseByAidAndTime(aid, startTime, endTime);

+ 3 - 3
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -186,9 +186,9 @@ public interface AdminMapper {
 
     List<Integer> thisMonthOrderSum(@Param("list")List thisMonth,@Param("firstDay")String firstDay, @Param("aid")String aid);
 
-    List<AdminUserCount> selectAllAdminPublicRelease();
-    List<AdminUserCount> selectAllAdminUserFollow();
-    List<AdminUserCount> selectAllAdminOrder();
+    List<AdminUserCount> selectAdminPublicRelease(String aid);
+    List<AdminUserCount> selectAdminUserFollow(String aid);
+    List<AdminUserCount> selectAdminOrder(String aid);
 
 
     Integer adminStatisticsPublicReleaseByAidAndTime(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);

+ 24 - 14
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -1254,9 +1254,12 @@
     left join(select a.salesman_id aid , sum(if(b.project_status=2 or b.project_status =3 or b.project_status =29,1,0))projectStopSum ,
             sum(if(b.check_status=1,1,0))projectCheckSum from t_order_new a left join t_order_task b
             on a.order_no =b.order_no where a.salesman_id =  #{aid})y on x.aid=y.aid
-    left join (  select salesman_id aid,  sum(1)orderSum,sum(if(order_status=3 or order_status=5,1,0))rejectSum, sum(if(delete_sign=2,1,0))changeSum
+    left join (  select salesman_id aid,  sum(1)orderSum, sum(if(delete_sign=2,1,0))changeSum
             from t_order_new where delete_sign in (0,2,3) and process_status >0
             and salesman_id =  #{aid})g on x.aid=g.aid
+    left join (  select salesman_id aid,  sum(if(order_status=3 or order_status=5,1,0))rejectSum
+            from t_order_new where delete_sign in (0,2,3)
+            and salesman_id =  #{aid})z on x.aid=z.aid
   </select>
 
   <select id="adminStatisticsInfoByTime" resultType="com.goafanti.admin.bo.AdminStatisticsBo">
@@ -1308,19 +1311,26 @@
       and create_time BETWEEN  #{firstDay} and  '${e} 23:59:59'
     </foreach>
   </select>
-  <select id="selectAllAdminPublicRelease" resultType="com.goafanti.common.model.AdminUserCount">
-    select aid,count(*)publicReleaseCount,DATE_FORMAT(a.release_start , '%Y-%m-%d') dateTime
-    from public_release a left join public_release_details b on a.id=b.prid
-    where status =2 group by aid,release_start
-  </select>
-  <select id="selectAllAdminUserFollow" resultType="com.goafanti.common.model.AdminUserCount">
-    select aid  ,count(*)followCount,DATE_FORMAT(create_time , '%Y-%m-%d') dateTime
-    from user_follow  group by aid,create_time
-  </select>
-  <select id="selectAllAdminOrder" resultType="com.goafanti.common.model.AdminUserCount">
-    select salesman_id aid ,count(*)orderCount,DATE_FORMAT(create_time , '%Y-%m-%d') dateTime
-    from t_order_new where delete_sign in (0,2,3) and process_status >0
-    group by salesman_id ,create_time
+  <select id="selectAdminPublicRelease" resultType="com.goafanti.common.model.AdminUserCount">
+    select aid,count(*)publicReleaseCount, dates dateTime
+    from (select aid,DATE_FORMAT(a.release_start , '%Y-%m-%d') dates
+          from public_release a left join public_release_details b on a.id=b.prid
+          where status =2 and aid= #{aid})x
+    group by aid,dates
+  </select>
+  <select id="selectAdminUserFollow" resultType="com.goafanti.common.model.AdminUserCount">
+    select aid  ,count(*)followCount, dateTime
+    from (select aid,DATE_FORMAT(create_time , '%Y-%m-%d') dateTime
+          from user_follow where aid= #{aid} )a
+    group by aid,dateTime
+  </select>
+  <select id="selectAdminOrder" resultType="com.goafanti.common.model.AdminUserCount">
+    select salesman_id aid ,count(*)orderCount, dateTime
+    from (select salesman_id, DATE_FORMAT(create_time , '%Y-%m-%d') dateTime
+          from t_order_new
+          where delete_sign in (0,2,3) and process_status >0
+            and salesman_id= #{aid} )x
+    group by salesman_id ,dateTime
   </select>
   <select id="adminStatisticsPublicReleaseByAidAndTime" resultType="java.lang.Integer">
     select sum(1) rangePublicReleaseSum