Просмотр исходного кода

部门统计BUG修复及优化

anderx лет назад: 2
Родитель
Сommit
fa9912893c
1 измененных файлов с 24 добавлено и 10 удалено
  1. 24 10
      src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java

+ 24 - 10
src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java

@@ -418,10 +418,11 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 
 	private List<AdminCustomerBo> AllDepCount(List<Department> depIds, String startTime, String endTime) {
 		List<AdminCustomerBo> admins = adminMapper.selectByDeps(depIds);
-		List<AdminCustomerBo> users = 	userMapper.selectNoChannelByaids(admins,startTime,endTime);
-		List<AdminCustomerBo> users2 = 	userMapper.selectChannelByaids(admins,startTime,endTime);
-		for (AdminCustomerBo admin : admins) {
-			for (AdminCustomerBo user : users) {
+		if(!admins.isEmpty()){
+			List<AdminCustomerBo> users = 	userMapper.selectNoChannelByaids(admins,startTime,endTime);
+			List<AdminCustomerBo> users2 = 	userMapper.selectChannelByaids(admins,startTime,endTime);
+			for (AdminCustomerBo admin : admins) {
+				for (AdminCustomerBo user : users) {
 					if (admin.getAid().equals(user.getAid())){
 						admin.setUserCount(user.getUserCount());
 						admin.setChannelCount(user.getChannelCount());
@@ -431,18 +432,31 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 						admin.setReceiveCount(user.getReceiveCount());
 						break;
 					}
-			}
-			for (AdminCustomerBo user : users2) {
-				if (admin.getAid().equals(user.getAid())){
-					admin.setCompleteCount(user.getCompleteCount());
-					admin.setChannelCompleteCount(user.getChannelCompleteCount());
-					break;
 				}
+				for (AdminCustomerBo user : users2) {
+					if (admin.getAid().equals(user.getAid())){
+						admin.setCompleteCount(user.getCompleteCount());
+						admin.setChannelCompleteCount(user.getChannelCompleteCount());
+						break;
+					}
+				}
+				pushAdminCount(admin);
 			}
 		}
 		return admins;
 	}
 
+	private void pushAdminCount(AdminCustomerBo admin) {
+		if (admin.getUserCount()==null) admin.setUserCount(0);
+		if (admin.getChannelCount()==null) admin.setChannelCount(0);
+		if (admin.getSignCount()==null) admin.setSignCount(0);
+		if (admin.getNewCount()==null) admin.setNewCount(0);
+		if (admin.getChannelNewCount()==null) admin.setChannelNewCount(0);
+		if (admin.getReceiveCount()==null) admin.setReceiveCount(0);
+		if (admin.getCompleteCount()==null) admin.setCompleteCount(0);
+		if (admin.getChannelCompleteCount()==null) admin.setChannelCompleteCount(0);
+	}
+
 	//迭代获取所有部门与部门员工并计算出部门数量
 	public List<DepCountBo> iterationDeps(String id,List<AdminCustomerBo> list) {
 		List<DepCountBo>  deps =departmentMapper.selectBysuperId(id);