Browse Source

导出修改

anderx 3 years ago
parent
commit
58780e7df0

+ 5 - 5
src/main/java/com/goafanti/admin/bo/depCountBo.java

@@ -3,7 +3,7 @@ package com.goafanti.admin.bo;
 import java.util.ArrayList;
 import java.util.List;
 
-public class depCountBo {
+public class DepCountBo {
 
 	private String id;
 	private String name;
@@ -15,10 +15,10 @@ public class depCountBo {
 	private Integer newCount;
 	private Integer channelNewCount;
 	private Integer channelCompleteCount;
-	private List<depCountBo> list;
+	private List<DepCountBo> list;
 	private List<AdminCustomerBo> aList;
 
-	public depCountBo() {
+	public DepCountBo() {
 		userCount = 0;
 		receiveCount = 0;
 		completeCount = 0;
@@ -93,10 +93,10 @@ public class depCountBo {
 		this.completeCount = completeCount;
 	}
 
-	public List<depCountBo> getList() {
+	public List<DepCountBo> getList() {
 		return list;
 	}
-	public void setList(List<depCountBo> list) {
+	public void setList(List<DepCountBo> list) {
 		this.list = list;
 	}
 	public List<AdminCustomerBo> getaList() {

+ 3 - 6
src/main/java/com/goafanti/admin/service/AdminService.java

@@ -3,11 +3,8 @@ package com.goafanti.admin.service;
 import java.util.List;
 import java.util.Map;
 
-import com.goafanti.admin.bo.AdminCustomerBo;
-import com.goafanti.admin.bo.AdminCustomerDetailBo;
-import com.goafanti.admin.bo.AdminDetail;
-import com.goafanti.admin.bo.AdminListBo;
-import com.goafanti.admin.bo.depCountBo;
+import com.goafanti.admin.bo.*;
+import com.goafanti.admin.bo.DepCountBo;
 import com.goafanti.common.model.Admin;
 import com.goafanti.core.mybatis.page.Pagination;
 
@@ -86,7 +83,7 @@ public interface AdminService {
 
 	int updatePrivateBusinessTransfer(String inputId, String uid, String pid);
 
-	depCountBo selectAllUser(String depId, String startTime, String endTime, String aName);
+	DepCountBo selectAllUser(String depId, String startTime, String endTime, String aName);
 
 
 

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

@@ -7,6 +7,7 @@ import javax.annotation.Resource;
 import com.goafanti.admin.service.DepartmentService;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.model.Department;
+import com.goafanti.common.utils.RedisUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
@@ -17,7 +18,7 @@ import com.goafanti.admin.bo.AdminCustomerBo;
 import com.goafanti.admin.bo.AdminCustomerDetailBo;
 import com.goafanti.admin.bo.AdminDetail;
 import com.goafanti.admin.bo.AdminListBo;
-import com.goafanti.admin.bo.depCountBo;
+import com.goafanti.admin.bo.DepCountBo;
 import com.goafanti.admin.service.AdminService;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.model.Admin;
@@ -50,6 +51,8 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 	@Resource(name = "passwordUtil")
 	private PasswordUtil					passwordUtil;
 
+	@Autowired
+	private RedisUtil	redisUtil;
 	@Override
 	public List<Admin> selectAllAdmin() {
 		return adminMapper.selectAllAdmin(null);
@@ -360,13 +363,23 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 		if (StringUtils.isNotBlank(endTime)) params.put("endTime", endTime+" 23:59:59");
 		return (Pagination<AdminCustomerBo>)findPage("selectAdminCustomerList", "selectAdminCustomerCount", params, pageNo, pageSize);
 	}
-
 	@Override
 	@Cacheable(cacheNames = "selectAllUser#500",key = "'selectAllUser:depId:'+#depId+'startTime:'+#startTime+" +"'endTime:'+#endTime+'aName:'+#aName")
-	public depCountBo selectAllUser(String depId, String startTime, String endTime,String aName) {
-		depCountBo acb=new depCountBo();
+	public DepCountBo selectAllUser(String depId, String startTime, String endTime,String aName) {
+    	String str="selectAllUser"+depId+startTime+endTime+aName;
+		DepCountBo depCountBo=redisUtil.getJsonArray(str,DepCountBo.class);
+		if (depCountBo==null){
+			depCountBo=getselectAllUser(depId,startTime,endTime,aName);
+			redisUtil.saveJsonArray(depCountBo,str);
+		}
+		return depCountBo;
+	}
+
+
+	public DepCountBo getselectAllUser(String depId, String startTime, String endTime,String aName) {
+		DepCountBo acb=new DepCountBo();
 		if (endTime!=null)endTime=endTime+" 23:59:59";
-		List<depCountBo >deps=new ArrayList<>();
+		List<DepCountBo >deps=new ArrayList<>();
 		List<Department> depIds=new ArrayList<>();
 		if (depId==null) {
 			acb.setName("科德集团");
@@ -387,7 +400,7 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 				acb.getaList().add(ad);
 			}
 		}
-		for (depCountBo dep : deps) {
+		for (DepCountBo dep : deps) {
 			dep.setList(iterationDeps(dep.getId(),list));
 			for (AdminCustomerBo ad : list) {
 				if (dep.getId().equals(ad.getDepId())){
@@ -402,9 +415,9 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 	}
 
 	//迭代获取所有部门与部门员工并计算出部门数量
-	private List<depCountBo> iterationDeps(String id,List<AdminCustomerBo> list) {
-		List<depCountBo>  deps =departmentMapper.selectBysuperId(id);
-		for (depCountBo dep : deps) {
+	public List<DepCountBo> iterationDeps(String id,List<AdminCustomerBo> list) {
+		List<DepCountBo>  deps =departmentMapper.selectBysuperId(id);
+		for (DepCountBo dep : deps) {
 			dep.setList(iterationDeps(dep.getId(),list));
 			for (AdminCustomerBo ad : list) {
 				if (dep.getId().equals(ad.getDepId())){
@@ -420,10 +433,10 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 	 *
 	 * @param ab
 	 */
-	private void sumCount(depCountBo ab) {
+	public void sumCount(DepCountBo ab) {
 		int completeCount=0,receiveCount=0,userCount=0,signCount=0,channelCount=0,newCount=0,channelNewCount=0,channelCompleteCount=0;
 		if (ab.getList()!=null&&!ab.getList().isEmpty()) {
-			for (depCountBo a : ab.getList()) {
+			for (DepCountBo a : ab.getList()) {
 				if (a.getCompleteCount()!=null&& a.getCompleteCount()!=0) completeCount+=a.getCompleteCount();
 				if (a.getReceiveCount()!=null&& a.getReceiveCount()!=0) receiveCount+=a.getReceiveCount();
 				if (a.getUserCount()!=null&& a.getUserCount()!=0) userCount+=a.getUserCount();

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

@@ -2,7 +2,7 @@ package com.goafanti.common.dao;
 
 import com.goafanti.admin.bo.AdminCustomerBo;
 import com.goafanti.admin.bo.AdminListBo;
-import com.goafanti.admin.bo.depCountBo;
+import com.goafanti.admin.bo.DepCountBo;
 import com.goafanti.common.model.Department;
 import com.goafanti.organization.bo.DepOut;
 import com.goafanti.organization.bo.OrganizationListOut;
@@ -87,9 +87,9 @@ public interface DepartmentMapper {
     List<String> selectSubDeps(@Param("superIds")String superIds);
     List<Department> selectSubDepsList(@Param("superIds")String superIds);
 
-    List<depCountBo> selectBysuperId(String id);
+    List<DepCountBo> selectBysuperId(String id);
 
-    List<depCountBo> selectBysuperName(String name);
+    List<DepCountBo> selectBysuperName(String name);
     /**
      * 查询当前集合
      * @return

+ 3 - 3
src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml

@@ -458,18 +458,18 @@
     select id from department where super_id in (#{superIds,jdbcType=VARCHAR})
   </select>
 
-  <select id="selectBysuperId"  resultType="com.goafanti.admin.bo.depCountBo">
+  <select id="selectBysuperId"  resultType="com.goafanti.admin.bo.DepCountBo">
     select a.id ,a.name ,0 userCount,0 inputCount,0 receiveCount, 0 completeCount, 0 interviewCount
     from department a  where a.super_id= #{id}
   </select>
 
-  <select id="selectBysuperName" resultType="com.goafanti.admin.bo.depCountBo">
+  <select id="selectBysuperName" resultType="com.goafanti.admin.bo.DepCountBo">
     select a.id ,a.name ,0 userCount,0 inputCount,0 receiveCount, 0 completeCount, 0 interviewCount
     from department a left join department b on a.super_id=b.id where b.name= #{name}
   </select>
 
   <!-- 查询所有 -->
-  <select id="selectAllDeps" resultType="string">
+  <select id="selectAllDeps" resultType="com.goafanti.common.model.Department">
     select id from department
   </select>
   <select id="getMaxAbbreviation"  parameterType="java.lang.String" resultType="java.lang.String">