Browse Source

Merge branch 'test' of jishutao/kede-server into prod

anderx 3 years ago
parent
commit
3637f4baac
34 changed files with 767 additions and 240 deletions
  1. 5 5
      src/main/java/com/goafanti/admin/bo/depCountBo.java
  2. 3 6
      src/main/java/com/goafanti/admin/service/AdminService.java
  3. 26 14
      src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java
  4. 2 0
      src/main/java/com/goafanti/business/controller/AdminBusinessProjectController.java
  5. 1 2
      src/main/java/com/goafanti/business/service/BusinessProjectService.java
  6. 34 3
      src/main/java/com/goafanti/business/service/impl/BusinessProjectServiceImpl.java
  7. 3 1
      src/main/java/com/goafanti/common/dao/BusinessProjectMapper.java
  8. 3 3
      src/main/java/com/goafanti/common/dao/DepartmentMapper.java
  9. 4 0
      src/main/java/com/goafanti/common/mapper/BusinessProjectMapper.xml
  10. 3 3
      src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml
  11. 52 44
      src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml
  12. 3 4
      src/main/java/com/goafanti/common/mapper/UserLockReleaseMapper.xml
  13. 1 1
      src/main/java/com/goafanti/common/mapper/UserMapper.xml
  14. 62 56
      src/main/java/com/goafanti/common/mapper/UserServiceMapper.xml
  15. 7 1
      src/main/java/com/goafanti/common/task/ReleaseUserTask.java
  16. 7 14
      src/main/java/com/goafanti/customer/bo/InputAddCustomer.java
  17. 9 0
      src/main/java/com/goafanti/customer/bo/LockingReleaseBo.java
  18. 15 2
      src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java
  19. 16 10
      src/main/java/com/goafanti/order/bo/InputProjectStatistics.java
  20. 23 23
      src/main/java/com/goafanti/order/bo/InputProvincialStatistics.java
  21. 40 0
      src/main/java/com/goafanti/order/bo/OutProjectStatistics.java
  22. 9 6
      src/main/java/com/goafanti/order/bo/inuptTaskListBo.java
  23. 12 0
      src/main/java/com/goafanti/order/bo/outStatistics/OutProjectStatisticsHighTech.java
  24. 336 0
      src/main/java/com/goafanti/order/bo/outStatistics/OutProjectStatisticsMember.java
  25. 2 1
      src/main/java/com/goafanti/order/controller/StatisticsApiController.java
  26. 8 2
      src/main/java/com/goafanti/order/enums/ProjectType.java
  27. 3 1
      src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java
  28. 36 8
      src/main/java/com/goafanti/order/service/impl/ProjectStatisticsServiceImpl.java
  29. 11 8
      src/main/java/com/goafanti/user/bo/InputListOrderUserService.java
  30. 12 10
      src/main/java/com/goafanti/user/controller/UserServiceApiController.java
  31. 6 2
      src/main/java/com/goafanti/user/service/impl/UserFollowServiceImpl.java
  32. 11 8
      src/main/java/com/goafanti/user/service/impl/UserServiceServiceImpl.java
  33. 1 1
      src/main/resources/props/config_local.properties
  34. 1 1
      src/main/resources/props/config_test.properties

+ 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);
 
 
 

+ 26 - 14
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("科德集团");
@@ -382,13 +395,12 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 			depIds.add(department);
 		}
 		List<AdminCustomerBo> list =departmentMapper.AlldepCount(depIds,startTime,  endTime);
-
-		for(AdminCustomerBo ad:list){
+		for (AdminCustomerBo ad : list) {
 			if (acb.getId().equals(ad.getDepId())){
 				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())){
@@ -403,11 +415,11 @@ 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){
+			for (AdminCustomerBo ad : list) {
 				if (dep.getId().equals(ad.getDepId())){
 					dep.getaList().add(ad);
 				}
@@ -421,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();

+ 2 - 0
src/main/java/com/goafanti/business/controller/AdminBusinessProjectController.java

@@ -225,4 +225,6 @@ public class AdminBusinessProjectController extends CertifyApiController{
 		res.setData(businessprojectService.updateSotpProjectSize(id));
 		return res;
 	}
+
+
 }

+ 1 - 2
src/main/java/com/goafanti/business/service/BusinessProjectService.java

@@ -28,7 +28,7 @@ public interface BusinessProjectService {
 
 	BusinessProjectBo orgProjects(String id);
 
-	List<Map<String, String>> getAllCnames(Integer flag);
+	List<Map<String, Object>> getAllCnames(Integer flag);
 
 	int updateProject(BusinessProject s);
 
@@ -67,5 +67,4 @@ public interface BusinessProjectService {
 	List<BusinessCategory> selectBusinessProjectCatalog();
 
 
-
 }

+ 34 - 3
src/main/java/com/goafanti/business/service/impl/BusinessProjectServiceImpl.java

@@ -8,6 +8,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import com.goafanti.order.enums.ProjectType;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -160,14 +161,16 @@ public class BusinessProjectServiceImpl extends BaseMybatisDao<BusinessProjectMa
 	}
 
 	@Override
-	public List<Map<String, String>> getAllCnames(Integer flag) {
-		List<Map<String, String>> list=new ArrayList<Map<String, String>>();
+	public List<Map<String, Object>> getAllCnames(Integer flag) {
+		if (flag==null)flag=0;
+		List<Map<String, Object>> list=new ArrayList<Map<String, Object>>();
 		List<String> listcid=businessVarietiesMapper.getListId();
 		for (String s : listcid) {
-			Map<String, String> map=new HashMap<>();
+			Map<String, Object> map=new HashMap<>();
 			String cname=getAllCname(s);
 			map.put("id", s);
 			map.put("cname", cname);
+			map.put("typeList",selectProjectAndTypeById(s));
 			if (flag==1) {
 				if (StringUtils.isBlank(cname)) {
 					map.put("cname", "平台超级业务品类");
@@ -457,5 +460,33 @@ public class BusinessProjectServiceImpl extends BaseMybatisDao<BusinessProjectMa
 		return businessProjectMapper.selectBusinessProjectCatalog();
 	}
 
+
+	public List<Map> selectProjectAndTypeById(String id) {
+		List<Map> list=businessProjectMapper.selectProjectAndTypeAll();
+		for (Map map : list) {
+			if (id.equals(map.get("id"))){
+				List<Map> typeList=new ArrayList<>();
+				String groupCount= (String) map.get("groupCount");
+				if (groupCount!=null){
+					String[] ss=groupCount.split(",");
+					Map<String, String> typeBo = new HashMap<>();
+					typeBo.put("id",null);
+					typeBo.put("name", "全部");
+					typeList.add(typeBo);
+					if (ss.length>0){
+						for (String s : ss) {
+							Map<String, String> types = new HashMap<>();
+							types.put("id",s);
+							types.put("name", ProjectType.getValueByCode(Integer.valueOf(s)));
+							typeList.add(types);
+						}
+					}
+					return typeList;
+				}
+			}
+		}
+		return  new ArrayList<>();
+	}
+
 }
 

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

@@ -9,6 +9,8 @@ import com.goafanti.order.bo.Outproject;
 import com.goafanti.common.model.BusinessCategory;
 
 import java.util.List;
+import java.util.Map;
+
 import org.apache.ibatis.annotations.Param;
 
 public interface BusinessProjectMapper {
@@ -46,5 +48,5 @@ public interface BusinessProjectMapper {
 	 List<BusinessCategory> selectBusinessProjectCatalog();
 
 
-
+    List<Map> selectProjectAndTypeAll();
 }

+ 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

+ 4 - 0
src/main/java/com/goafanti/common/mapper/BusinessProjectMapper.xml

@@ -567,5 +567,9 @@
   <select id="selectBusinessProjectCatalog" resultType="com.goafanti.common.model.BusinessCategory">
   	select id,cname from business_category where delete_sign=0
   </select>
+    <select id="selectProjectAndTypeAll" resultType="java.util.Map">
+      select bc.id,  group_concat(distinct bp.`type`)groupCount  from business_category bc
+        left join business_project bp on bc.id =bp.cid group by bc.id
+    </select>
 
 </mapper>

+ 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">

+ 52 - 44
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -883,8 +883,11 @@
     <if test="projectStatus != null">
       and a.project_status = #{projectStatus,jdbcType=INTEGER}
     </if>
-    <if test="depId != null">
-      and e.order_dep= #{depId,jdbcType=VARCHAR}
+    <if test="deps != null">
+      and e.order_dep in
+      <foreach close=")" collection="deps" item="depId" open="(" separator=",">
+        #{depId}
+      </foreach>
     </if>
     <if test="name != null">
       and f.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
@@ -952,8 +955,11 @@
     <if test="projectStatus != null">
       and a.project_status = #{projectStatus,jdbcType=INTEGER}
     </if>
-    <if test="depId != null">
-      and e.order_dep = #{depId,jdbcType=VARCHAR}
+    <if test="deps != null">
+      and e.order_dep in
+      <foreach close=")" collection="deps" item="depId" open="(" separator=",">
+        #{depId}
+      </foreach>
     </if>
     <if test="name != null">
       and f.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
@@ -1239,34 +1245,18 @@
 
 
   <select id="selectProjectStatisticsListByPage" resultType="com.goafanti.order.bo.OutProjectStatistics">
-    select  date_format( a.task_distribution_time, '%Y-%m-%d %H:%i:%S' ) distributionTime ,d.name province  ,c.name depName,e.salesman_name salesmanName,
+    select  date_format( a.task_distribution_time, '%Y-%m-%d %H:%i:%S' ) distributionTime ,d.name province , c.name depName,e.salesman_name salesmanName,
     b.contract_no contractNo ,b.order_no orderNo ,e.buyer_name userName,bc.cname ,a.commodity_name pname,ta.name techName,td.name techDepName,
-    a.project_status projectStatus,a.id,b.order_remarks orderRemarks,
-    <if test="status==1">
-      a.set_up_status setUpStatus , date_format( a.set_up_time , '%Y-%m-%d' ) setUpTime ,a.spot_check_status spotCheckStatus ,b.contact_mobile contactMobile ,
-      b.legal_person_tel legalPersonTel , a.certificate_number certificateNumber,a.declaration_batch declarationBatch,
-    </if>
-    <if test="status==2">
-      date_format(a.licence_time, '%Y-%m-%d' ) licenceTime,
-    </if>
-    <if test="status==3">
-      a.commodity_quantity commodityQuantity ,ttm.certificates_count certificatesCount,ttm.urgent_day urgentDay ,ttm.if_material ifMaterial,
-      date_format(tp.licence_time, '%Y-%m-%d' )  licenceTime,
-      a.certificate_number certificateNumber,ttm.cost_amount costAmount ,
-      (a.commodity_price-ttm.cost_amount)profit,
-    </if>
-    <if test="status==4">
-      ttm.certificates_count certificatesCount,a.high_tech_status highTechStatus,
-      tp.patent_name patentName ,tp.patent_no patentNo ,date_format(tp.accept_time, '%Y-%m-%d ' ) acceptTime ,
-      date_format(tp.licence_time, '%Y-%m-%d' ) licenceTime ,date_format(tp.authorize_time, '%Y-%m-%d ' )  authorizeTime,
-      ttm.reject_count	rejectCount ,ttm.cost_amount costAmount ,(a.commodity_price-ttm.cost_amount)profit,
-    </if>
-
-    a.commodity_quantity commodityQuantity , a.commodity_price commodityPrice ,a.special_comment specialComment,a.task_comment taskComment
-    from t_order_task a left join t_order_new b on a.order_no =b.order_no left join department c on b.order_dep =c.id left join district_glossory d on c.province=d.id
-    <if test="status==3 or status==4">
-      left join task_progress tp  on a.id=tp.task_id
-    </if>
+    a.project_status projectStatus,a.id,b.order_remarks orderRemarks, a.set_up_status setUpStatus , date_format( a.set_up_time , '%Y-%m-%d' ) setUpTime ,
+    a.spot_check_status spotCheckStatus ,b.contact_mobile contactMobile ,b.legal_person_tel legalPersonTel , a.certificate_number certificateNumber,
+    a.declaration_batch declarationBatch, date_format(a.licence_time, '%Y-%m-%d' ) licenceTime, a.commodity_quantity commodityQuantity ,
+    ttm.certificates_count certificatesCount,ttm.urgent_day urgentDay ,ttm.if_material ifMaterial, ttm.cost_amount costAmount ,
+    (a.commodity_price-ttm.cost_amount)profit, a.high_tech_status highTechStatus, tp.patent_name patentName ,tp.patent_no patentNo ,
+    date_format(tp.accept_time, '%Y-%m-%d ' ) acceptTime , date_format(tp.authorize_time, '%Y-%m-%d ' )  authorizeTime, ttm.reject_count rejectCount ,
+    tm.service_life serviceLife,tm.service_year serviceyear, tm.year_sum yearsum,tm.contract_term contractTerm, a.commodity_price commodityPrice ,
+    a.special_comment specialComment,a.task_comment taskComment
+    from t_order_task a left join t_order_new b on a.order_no =b.order_no left join department c on b.order_dep =c.id
+    left join district_glossory d on c.province=d.id left join task_progress tp  on a.id=tp.task_id left join t_task_member tm on a.id=tm.tid
     left join t_order_mid e on b.order_no =e.order_no left join business_project bp on a.commodity_id =bp.id left join business_category bc on bp.cid =bc.id
     left join t_task_mid ttm on a.id=ttm.tid left join admin ta on a.task_receiver =ta.id left join department td on ta.department_id =td.id
     <if test="screen ==6">
@@ -1317,11 +1307,17 @@
     <if test="projectId !=null">
       and a.commodity_id = #{projectId}
     </if>
-    <if test="depId !=null">
-      and b.order_dep = #{depId}
+    <if test="deps != null">
+      and b.order_dep in
+      <foreach close=")" collection="deps" item="dep" open="(" separator=",">
+        #{dep}
+      </foreach>
     </if>
-    <if test="thchDepId !=null">
-      and td.id= #{thchDepId}
+    <if test="thchDeps != null">
+      and td.id in
+      <foreach close=")" collection="thchDeps" item="thchDep" open="(" separator=",">
+        #{thchDep}
+      </foreach>
     </if>
     <if test="projectStatus !=null">
       and bp.cid= #{projectStatus}
@@ -1367,7 +1363,7 @@
     <if test="projectStatus !=null or projectType !=null">
       left join business_project bp on a.commodity_id =bp.id
     </if>
-    <if test="thchDepId !=null">
+    <if test="thchDeps !=null">
       left join admin ta on a.task_receiver =ta.id
       left join department td on ta.department_id =td.id
     </if>
@@ -1422,11 +1418,17 @@
     <if test="projectId !=null">
       and a.commodity_id = #{projectId}
     </if>
-    <if test="depId !=null">
-      and b.order_dep = #{depId}
+    <if test="deps != null">
+      and b.order_dep in
+      <foreach close=")" collection="deps" item="dep" open="(" separator=",">
+        #{dep}
+      </foreach>
     </if>
-    <if test="thchDepId !=null">
-      and td.id= #{thchDepId}
+    <if test="thchDeps != null">
+      and td.id in
+      <foreach close=")" collection="thchDeps" item="thchDep" open="(" separator=",">
+        #{thchDep}
+      </foreach>
     </if>
     <if test="projectStatus !=null">
       and bp.cid= #{projectStatus}
@@ -1482,8 +1484,11 @@
     <if test="province !=null">
     and b.dispatch_province = #{province}
     </if>
-    <if test="thchDepId !=null">
-    and b.duty_dep = #{thchDepId}
+    <if test="thchDeps !=null">
+    and b.duty_dep in
+      <foreach close=")" collection="thchDeps" item="depId" open="(" separator=",">
+        #{depId}
+      </foreach>
     </if>
     <if test="projectType !=null">
     and bp.`type` = #{projectType}
@@ -1521,8 +1526,11 @@
     <if test="province !=null">
       and b.dispatch_province = #{province}
     </if>
-    <if test="thchDepId !=null">
-      and b.duty_dep = #{thchDepId}
+    <if test="thchDeps !=null">
+      and b.duty_dep in
+      <foreach close=")" collection="thchDeps" item="depId" open="(" separator=",">
+        #{depId}
+      </foreach>
     </if>
     <if test="projectType !=null">
       and bp.`type` = #{projectType}

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

@@ -379,14 +379,13 @@
   <select id="selectWaitReleaseCustomer" resultType="com.goafanti.customer.bo.LockingReleaseBo">
 	select
 		t0.id, t0.uid, t0.aid, t0.lock_time lockTime,u.new_channel newChannel,
-		t1.last_follow_time lastFollowTime,u.nickname userName
+		t1.last_follow_time lastFollowTime,u.nickname userName ,um.channel_type channelType
 	from
 		(select id,uid,aid,lock_time from user_lock_release where aid = #{aid} and type = 0 and status = 0)t0
 	left join
 		(select uid,aid,max(create_time) as last_follow_time from user_follow where aid = #{aid} group by uid)t1
-	on t0.uid = t1.uid
-	left join user u on t0.uid=u.id
-	where u.channel=0 and u.new_channel
+	on t0.uid = t1.uid left join user u on t0.uid=u.id  left join user_mid um on t0.uid=um.uid
+	where u.channel=0
 	 and datediff(now(),if(t0.lock_time &lt; t1.last_follow_time,t1.last_follow_time,t0.lock_time))>30
   </select>
 

+ 1 - 1
src/main/java/com/goafanti/common/mapper/UserMapper.xml

@@ -1366,7 +1366,7 @@
   </update>
 
   <select id="selectUserByRoleName" parameterType="java.lang.String" resultMap="BaseResultMap">
-    select c.id from role a left join user_role b on a.id = b.rid left join admin c on b.uid = c.id where a.role_name in(#{roleName1},#{roleName2})
+    select DISTINCT  c.id from role a left join user_role b on a.id = b.rid left join admin c on b.uid = c.id where a.role_name in(#{roleName1},#{roleName2})
   </select>
   <update id="updateDimissionTransfer">
     update user

+ 62 - 56
src/main/java/com/goafanti/common/mapper/UserServiceMapper.xml

@@ -28,7 +28,7 @@
       This element is automatically generated by MyBatis Generator, do not modify.
       This element was generated on Fri May 28 13:36:56 CST 2021.
     -->
-    id, `uid`, aid, add_wechat, wechat, renewal, renewal_time, sign_project, sign_project_id, 
+    id, `uid`, aid, add_wechat, wechat, renewal, renewal_time, sign_project, sign_project_id,
     new_time, remarks, create_time, tech_satisfaction, business_satisfaction
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
@@ -37,7 +37,7 @@
       This element is automatically generated by MyBatis Generator, do not modify.
       This element was generated on Fri May 28 13:36:56 CST 2021.
     -->
-    select 
+    select
     <include refid="Base_Column_List" />
     from user_service
     where id = #{id,jdbcType=INTEGER}
@@ -57,15 +57,15 @@
       This element is automatically generated by MyBatis Generator, do not modify.
       This element was generated on Fri May 28 13:36:56 CST 2021.
     -->
-    insert into user_service (id, `uid`, aid, 
-      add_wechat, wechat, renewal, 
-      renewal_time, sign_project, sign_project_id, 
-      new_time, remarks, create_time, 
+    insert into user_service (id, `uid`, aid,
+      add_wechat, wechat, renewal,
+      renewal_time, sign_project, sign_project_id,
+      new_time, remarks, create_time,
       tech_satisfaction, business_satisfaction)
-    values (#{id,jdbcType=INTEGER}, #{uid,jdbcType=VARCHAR}, #{aid,jdbcType=VARCHAR}, 
-      #{addWechat,jdbcType=INTEGER}, #{wechat,jdbcType=VARCHAR}, #{renewal,jdbcType=INTEGER}, 
-      #{renewalTime,jdbcType=TIMESTAMP}, #{signProject,jdbcType=VARCHAR}, #{signProjectId,jdbcType=VARCHAR}, 
-      #{newTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
+    values (#{id,jdbcType=INTEGER}, #{uid,jdbcType=VARCHAR}, #{aid,jdbcType=VARCHAR},
+      #{addWechat,jdbcType=INTEGER}, #{wechat,jdbcType=VARCHAR}, #{renewal,jdbcType=INTEGER},
+      #{renewalTime,jdbcType=TIMESTAMP}, #{signProject,jdbcType=VARCHAR}, #{signProjectId,jdbcType=VARCHAR},
+      #{newTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
       #{techSatisfaction,jdbcType=INTEGER}, #{businessSatisfaction,jdbcType=INTEGER})
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.UserService">
@@ -239,8 +239,8 @@
   <select id="selectByUid" resultType="java.lang.Integer">
   select id from user_service where uid= #{uid}
   </select>
-  
-  
+
+
    <resultMap id="userService" type="com.goafanti.user.bo.OutOrderUserService">
       <result column="orderNo" property="orderNo" />
       <result column="contractNo" property="contractNo" />
@@ -267,8 +267,8 @@
 		receiver_name receiverName ,certificate_number  certificateNumber
 		from t_order_task where split_status in (0,1) and order_no = #{orderNo}
     </select>
-  
-  
+
+
   <select id="OrderUseServiceList" resultMap="userService">
 select a.order_no orderNo,a.contract_no contractNo,b.dep_name depName ,a.buyer_id uid,a.create_time ,b.buyer_name userName,c.new_time ,
 date_format(a.create_time,'%Y-%m-%d %H:%i:%S') as orderTimes, date_format(c.new_time,'%Y-%m-%d %H:%i:%S') as newTimes,
@@ -276,56 +276,62 @@ date_format(c.renewal_time,'%Y-%m-%d') as renewalTimes, date_format(a.sign_time,
 d.name adminName,c.add_wechat addWechat,c.wechat ,c.renewal ,c.renewal_time ,c.sign_project signProject ,c.remarks,
 c.tech_satisfaction techSatisfaction, c.business_satisfaction businessSatisfaction
 from t_order_new a
-left join t_order_mid b on a.order_no =b.order_no  left join user_service c on a.buyer_id =c.uid 
-left join admin d on c.aid =d.id  
+left join t_order_mid b on a.order_no =b.order_no  left join user_service c on a.buyer_id =c.uid
+left join admin d on c.aid =d.id
 where a.delete_sign in(0,2,3)
-<if test="userName != null">
-and b.buyer_name like CONCAT('%', #{userName},'%') 
-</if>
-<if test="depId != null">
-and a.order_dep = #{depId}
-</if>
-<if test="addWechat != null">
-and c.add_wechat = #{addWechat}
-</if>
-<if test="renewal != null">
-and c.renewal = #{renewal}
-</if>
-<if test="startFollowTimes != null">
-and c.new_time  BETWEEN #{startFollowTimes} and #{endFollowTimes}
-</if>
-<if test="startSignTimes != null">
-and a.create_time BETWEEN #{startSignTimes} and #{endSignTimes}
-</if>
+  <if test="userName != null">
+  and b.buyer_name like CONCAT('%', #{userName},'%')
+  </if>
+  <if test="deps != null">
+  and a.order_dep in
+    <foreach close=")" collection="deps" item="depId" open="(" separator=",">
+      #{depId}
+    </foreach>
+  </if>
+  <if test="addWechat != null">
+  and c.add_wechat = #{addWechat}
+  </if>
+  <if test="renewal != null">
+  and c.renewal = #{renewal}
+  </if>
+  <if test="startFollowTimes != null">
+  and c.new_time  BETWEEN #{startFollowTimes} and #{endFollowTimes}
+  </if>
+  <if test="startSignTimes != null">
+  and a.create_time BETWEEN #{startSignTimes} and #{endSignTimes}
+  </if>
 order by c.new_time,a.create_time
   <if test="page_sql != null">
     		${page_sql}
    </if>
  </select>
- 
+
  <select id="OrderUseServiceCount" resultType="java.lang.Integer">
   select count(*)
 from t_order_new a
-left join t_order_mid b on a.order_no =b.order_no  left join user_service c on a.buyer_id =c.uid 
-left join admin d on c.aid =d.id 
+left join t_order_mid b on a.order_no =b.order_no  left join user_service c on a.buyer_id =c.uid
+left join admin d on c.aid =d.id
 where a.delete_sign in(0,2,3)
-<if test="userName != null">
-and b.buyer_name like CONCAT('%', #{userName},'%') 
-</if>
-<if test="depId != null">
-and a.order_dep = #{depId}
-</if>
-<if test="addWechat != null">
-and c.add_wechat = #{addWechat}
-</if>
-<if test="renewal != null">
-and c.renewal = #{renewal}
-</if>
-<if test="startFollowTimes != null">
-and c.new_time  BETWEEN #{startFollowTimes} and #{endFollowTimes}
-</if>
-<if test="startSignTimes != null">
-and a.create_time BETWEEN #{startSignTimes} and #{endSignTimes}
-</if>
+    <if test="userName != null">
+    and b.buyer_name like CONCAT('%', #{userName},'%')
+    </if>
+   <if test="deps != null">
+     and a.order_dep in
+     <foreach close=")" collection="deps" item="depId" open="(" separator=",">
+       #{depId}
+     </foreach>
+   </if>
+    <if test="addWechat != null">
+    and c.add_wechat = #{addWechat}
+    </if>
+    <if test="renewal != null">
+    and c.renewal = #{renewal}
+    </if>
+    <if test="startFollowTimes != null">
+    and c.new_time  BETWEEN #{startFollowTimes} and #{endFollowTimes}
+    </if>
+    <if test="startSignTimes != null">
+    and a.create_time BETWEEN #{startSignTimes} and #{endSignTimes}
+    </if>
  </select>
-</mapper>
+</mapper>

+ 7 - 1
src/main/java/com/goafanti/common/task/ReleaseUserTask.java

@@ -159,6 +159,13 @@ public class ReleaseUserTask {
 		}
 		LoggerUtils.debug(getClass(), "==============客户释放完成============");
 	}
+
+	/**
+	 * 处理外联
+	 * @param releaseTime
+	 * @param userList
+	 * @throws InterruptedException
+	 */
 	private void pushChannel(Date releaseTime, List<User> userList) throws InterruptedException {
 		// 获取超过90天客户,判断是否回收过,未回收则回收,已回收则释放为公共客户
 		List<userDaysBo> userChannelList =null;
@@ -237,7 +244,6 @@ public class ReleaseUserTask {
 						u.getUid()));
 			}
 		}
-
 		if(!nl.isEmpty())addNoticeBatch(nl);
 	}
 

+ 7 - 14
src/main/java/com/goafanti/customer/bo/InputAddCustomer.java

@@ -10,27 +10,21 @@ public class InputAddCustomer {
     @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
     @Param(name = "名称")
     private String name;
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "联系人")
+
     private String contacts;
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "联系人电话")
+
     private String contactMobile;
 
     private Integer type;
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "省")
+
     private Integer province;
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "市")
+
     private Integer city;
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "区")
+
     private Integer area;
     private Integer source;
     private String societyTag;
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "职位")
+
     private String position;
     private Integer industry;
     private String businessScope;
@@ -40,8 +34,7 @@ public class InputAddCustomer {
     /**
      * 简介
      */
-    @NotNull(message = "{"+ ErrorConstants.PARAM_EMPTY_ERROR+"}")
-    @Param(name = "简介")
+
     private String introduction;
 
     /**

+ 9 - 0
src/main/java/com/goafanti/customer/bo/LockingReleaseBo.java

@@ -14,6 +14,15 @@ public class LockingReleaseBo {
 	private String userName;
 	private Integer mySign;
 	private Integer newChannel;
+	private Integer channelType;
+
+	public Integer getChannelType() {
+		return channelType;
+	}
+
+	public void setChannelType(Integer channelType) {
+		this.channelType = channelType;
+	}
 
 	public Integer getNewChannel() {
 		return newChannel;

+ 15 - 2
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -1865,7 +1865,14 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 
 	@Override
 	public List<LockingReleaseBo> selectWaitReleaseCustomer(String uid) {
-		return userLockReleaseMapper.selectWaitReleaseCustomer(uid);
+		List list = new ArrayList();
+		List<LockingReleaseBo> lockingReleaseBos = userLockReleaseMapper.selectWaitReleaseCustomer(uid);
+		for (LockingReleaseBo bo : lockingReleaseBos) {
+			if (bo.getChannelType()==null||bo.getChannelType()!=1){
+				list.add(bo);
+			}
+		}
+		return list;
 	}
 
 	/**
@@ -2488,7 +2495,13 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		if (in.getShareType()==null || in.getShareType()!=1){
 			List<OutChannelListBo> list = (List<OutChannelListBo>) p.getList();
 			for (OutChannelListBo out : list) {
-				out.setRemainingDays(getRemainingDays(out));
+				if(out.getType()!=null&&out.getType()==1){
+					out.setaName(null);
+					out.setCreateTime(null);
+					out.setLastFollowTime(null);
+				}else {
+					out.setRemainingDays(getRemainingDays(out));
+				}
 			}
 		}
 		return p;

+ 16 - 10
src/main/java/com/goafanti/order/bo/InputProjectStatistics.java

@@ -4,8 +4,8 @@ public class InputProjectStatistics {
 
 	private String startDate;
 	private String endDate;
-	private String depId;
-	private String thchDepId;
+	private String deps;
+	private String thchDeps;
 	private String projectStatus;
 	private Integer projectType;
 	private String orderNo;
@@ -17,6 +17,7 @@ public class InputProjectStatistics {
 	private Integer pageNo;
 	private Integer pageSize;
 
+	/** 双软=2,软著=3,专利=4,高新=1,其他=0 */
 	private Integer status;
 	private String depName;
 	private String thchDepName;
@@ -69,18 +70,23 @@ public class InputProjectStatistics {
 	public void setEndDate(String endDate) {
 		this.endDate = endDate;
 	}
-	public String getDepId() {
-		return depId;
+
+	public String getDeps() {
+		return deps;
 	}
-	public void setDepId(String depId) {
-		this.depId = depId;
+
+	public void setDeps(String deps) {
+		this.deps = deps;
 	}
-	public String getThchDepId() {
-		return thchDepId;
+
+	public String getThchDeps() {
+		return thchDeps;
 	}
-	public void setThchDepId(String thchDepId) {
-		this.thchDepId = thchDepId;
+
+	public void setThchDeps(String thchDeps) {
+		this.thchDeps = thchDeps;
 	}
+
 	public String getProjectStatus() {
 		return projectStatus;
 	}

+ 23 - 23
src/main/java/com/goafanti/order/bo/InputProvincialStatistics.java

@@ -3,37 +3,37 @@ package com.goafanti.order.bo;
 public class InputProvincialStatistics {
 
 	private String startDate;
-	
+
 	private String endDate;
-	
+
 	private Integer province;
-	
-	private String thchDepId;
-	
+
+	private String thchDeps;
+
 	private String projectStatus;
-	
+
 	private Integer projectType;
-	
+
 	private String projectId;
-	
+
 	private Integer pageSize;
-	
+
 	private Integer pageNo;
-	
+
 	private String provinceName;
 
 	private String thchDepName;
-	
+
 	private String projectStatusName;
-	
+
 	private String projectTypeName;
-	
+
 	private String projectName;
-	
+
 	private Integer status;
-	
-	
-	
+
+
+
 
 	public String getThchDepName() {
 		return thchDepName;
@@ -75,12 +75,12 @@ public class InputProvincialStatistics {
 		this.province = province;
 	}
 
-	public String getThchDepId() {
-		return thchDepId;
+	public String getThchDeps() {
+		return thchDeps;
 	}
 
-	public void setThchDepId(String thchDepId) {
-		this.thchDepId = thchDepId;
+	public void setThchDeps(String thchDeps) {
+		this.thchDeps = thchDeps;
 	}
 
 	public String getProjectStatus() {
@@ -154,6 +154,6 @@ public class InputProvincialStatistics {
 	public void setProvinceName(String provinceName) {
 		this.provinceName = provinceName;
 	}
-	
-	
+
+
 }

+ 40 - 0
src/main/java/com/goafanti/order/bo/OutProjectStatistics.java

@@ -1,5 +1,7 @@
 package com.goafanti.order.bo;
 
+import com.goafanti.common.utils.excel.Excel;
+
 import java.math.BigDecimal;
 
 
@@ -59,6 +61,44 @@ public class OutProjectStatistics {
 
 	private String orderRemarks;
 
+	//会员
+	private String serviceLife;
+	private String serviceYear;
+	private Integer yearSum;
+	private String contractTerm;
+
+	public String getServiceLife() {
+		return serviceLife;
+	}
+
+	public void setServiceLife(String serviceLife) {
+		this.serviceLife = serviceLife;
+	}
+
+	public String getServiceYear() {
+		return serviceYear;
+	}
+
+	public void setServiceYear(String serviceYear) {
+		this.serviceYear = serviceYear;
+	}
+
+	public Integer getYearSum() {
+		return yearSum;
+	}
+
+	public void setYearSum(Integer yearSum) {
+		this.yearSum = yearSum;
+	}
+
+	public String getContractTerm() {
+		return contractTerm;
+	}
+
+	public void setContractTerm(String contractTerm) {
+		this.contractTerm = contractTerm;
+	}
+
 	public String getOrderRemarks() {
 		return orderRemarks;
 	}

+ 9 - 6
src/main/java/com/goafanti/order/bo/inuptTaskListBo.java

@@ -7,7 +7,7 @@ public class inuptTaskListBo {
 	private Integer taskStatus;
 	private String adminName;
 	private Integer specially;
-	private String depId;
+	private String deps;
 	private  String contractNo;
 	private Integer projectStatus;
 	private  Integer approval;
@@ -63,12 +63,15 @@ public class inuptTaskListBo {
 	public void setSpecially(Integer specially) {
 		this.specially = specially;
 	}
-	public String getDepId() {
-		return depId;
+
+	public String getDeps() {
+		return deps;
 	}
-	public void setDepId(String depId) {
-		this.depId = depId;
+
+	public void setDeps(String deps) {
+		this.deps = deps;
 	}
+
 	public String getContractNo() {
 		return contractNo;
 	}
@@ -123,5 +126,5 @@ public class inuptTaskListBo {
 	public void setPageSize(Integer pageSize) {
 		this.pageSize = pageSize;
 	}
-	
+
 }

+ 12 - 0
src/main/java/com/goafanti/order/bo/outStatistics/OutProjectStatisticsHighTech.java

@@ -47,6 +47,8 @@ public class OutProjectStatisticsHighTech extends OutProjectStatistics {
     private String  legalPersonTel;
     @Excel(name = "证书编号")
     private String  certificateNumber;
+    @Excel(name = "申报年份")
+    private String serviceYear;
     @Excel(name = "申请批次")
     private String  declarationBatch;
     @Excel(name = "项目金额")
@@ -75,6 +77,16 @@ public class OutProjectStatisticsHighTech extends OutProjectStatistics {
 
     private Integer	certificatesCount;
 
+    @Override
+    public String getServiceYear() {
+        return serviceYear;
+    }
+
+    @Override
+    public void setServiceYear(String serviceYear) {
+        this.serviceYear = serviceYear;
+    }
+
     public String getOrderRemarks() {
         return orderRemarks;
     }

+ 336 - 0
src/main/java/com/goafanti/order/bo/outStatistics/OutProjectStatisticsMember.java

@@ -0,0 +1,336 @@
+package com.goafanti.order.bo.outStatistics;
+
+import com.goafanti.common.utils.excel.Excel;
+import com.goafanti.order.bo.OutProjectStatistics;
+
+import java.math.BigDecimal;
+
+public class OutProjectStatisticsMember extends OutProjectStatistics {
+    private Integer id;
+    @Excel(name = "派单时间")
+    private String distributionTime;
+    @Excel(name = "派单省份")
+    private String province;
+    @Excel(name = "订单部门")
+    private String depName;
+    @Excel(name = "营销员")
+    private String salesmanName;
+    @Excel(name = "合同编号")
+    private String contractNo;
+    @Excel(name = "订单编号")
+    private String orderNo;
+    @Excel(name = "客户名称")
+    private String  userName;
+    @Excel(name = "项目类型")
+    private String cname;
+    @Excel(name = "项目名称")
+    private String  pname;
+    @Excel(name = "数量")
+    private Integer  commodityQuantity;
+    @Excel(name = "负责部门")
+    private String techDepName;
+    @Excel(name = "咨询师/咨询师经理")
+    private String techName;
+    @Excel(name = "项目状态" ,enumsName = "com.goafanti.order.enums.NewProjectStatus")
+    private Integer projectStatus;
+    @Excel(name = "项目金额",scale = 6)
+    private BigDecimal  commodityPrice;
+    @Excel(name = "特别说明")
+    private String	specialComment;
+    @Excel(name = "项目说明")
+    private String	taskComment;
+    @Excel(name = "订单说明")
+    private String orderRemarks;
+
+    private Integer  setUpStatus;
+    private String setUpTime;
+    private Integer  spotCheckStatus;
+    private String  contactMobile;
+    private String  legalPersonTel;
+    private String  certificateNumber;
+    private String  declarationBatch;
+    private String	licenceTime;
+    private Integer	ifMaterial;
+    private Integer	urgentDay;
+    private BigDecimal	costAmount;
+    private BigDecimal	profit;
+    private Integer  highTechstatus;
+    private Integer	rejectCount;
+    private String	patentNo;
+    private String	patentName;
+    private String	acceptTime;
+
+
+
+    private Integer	certificatesCount;
+    @Excel(name = "服务年限")
+    private String serviceLife;
+    @Excel(name = "本次年份")
+    private String serviceYear;
+    @Excel(name = "服务年数")
+    private Integer yearSum;
+    @Excel(name = "合同期")
+    private String contractTerm;
+
+    @Override
+    public String getServiceLife() {
+        return serviceLife;
+    }
+
+    @Override
+    public void setServiceLife(String serviceLife) {
+        this.serviceLife = serviceLife;
+    }
+
+    public String getServiceYear() {
+        return serviceYear;
+    }
+
+    public void setServiceYear(String serviceYear) {
+        this.serviceYear = serviceYear;
+    }
+
+    public Integer getYearSum() {
+        return yearSum;
+    }
+
+    public void setYearSum(Integer yearSum) {
+        this.yearSum = yearSum;
+    }
+
+    @Override
+    public String getContractTerm() {
+        return contractTerm;
+    }
+
+    @Override
+    public void setContractTerm(String contractTerm) {
+        this.contractTerm = contractTerm;
+    }
+
+    public String getOrderRemarks() {
+        return orderRemarks;
+    }
+
+    public void setOrderRemarks(String orderRemarks) {
+        this.orderRemarks = orderRemarks;
+    }
+
+    public Integer getSetUpStatus() {
+        return setUpStatus;
+    }
+    public void setSetUpStatus(Integer setUpStatus) {
+        this.setUpStatus = setUpStatus;
+    }
+    public String getSetUpTime() {
+        return setUpTime;
+    }
+    public void setSetUpTime(String setUpTime) {
+        this.setUpTime = setUpTime;
+    }
+    public Integer getSpotCheckStatus() {
+        return spotCheckStatus;
+    }
+    public void setSpotCheckStatus(Integer spotCheckStatus) {
+        this.spotCheckStatus = spotCheckStatus;
+    }
+    public String getContactMobile() {
+        return contactMobile;
+    }
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+    public String getLegalPersonTel() {
+        return legalPersonTel;
+    }
+    public void setLegalPersonTel(String legalPersonTel) {
+        this.legalPersonTel = legalPersonTel;
+    }
+    public String getCertificateNumber() {
+        return certificateNumber;
+    }
+    public void setCertificateNumber(String certificateNumber) {
+        this.certificateNumber = certificateNumber;
+    }
+    public String getDeclarationBatch() {
+        return declarationBatch;
+    }
+    public void setDeclarationBatch(String declarationBatch) {
+        this.declarationBatch = declarationBatch;
+    }
+    public Integer getCommodityQuantity() {
+        return commodityQuantity;
+    }
+    public void setCommodityQuantity(Integer commodityQuantity) {
+        this.commodityQuantity = commodityQuantity;
+    }
+    public BigDecimal getCommodityPrice() {
+        return commodityPrice;
+    }
+    public void setCommodityPrice(BigDecimal commodityPrice) {
+        this.commodityPrice = commodityPrice;
+    }
+
+
+
+    public String getDistributionTime() {
+        return distributionTime;
+    }
+    public void setDistributionTime(String distributionTime) {
+        this.distributionTime = distributionTime;
+    }
+    public String getProvince() {
+        return province;
+    }
+    public void setProvince(String province) {
+        this.province = province;
+    }
+    public String getDepName() {
+        return depName;
+    }
+    public void setDepName(String depName) {
+        this.depName = depName;
+    }
+    public String getSalesmanName() {
+        return salesmanName;
+    }
+    public void setSalesmanName(String salesmanName) {
+        this.salesmanName = salesmanName;
+    }
+    public String getContractNo() {
+        return contractNo;
+    }
+    public void setContractNo(String contractNo) {
+        this.contractNo = contractNo;
+    }
+    public String getOrderNo() {
+        return orderNo;
+    }
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+    public String getUserName() {
+        return userName;
+    }
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+    public String getCname() {
+        return cname;
+    }
+    public void setCname(String cname) {
+        this.cname = cname;
+    }
+    public String getPname() {
+        return pname;
+    }
+    public void setPname(String pname) {
+        this.pname = pname;
+    }
+    public String getTechName() {
+        return techName;
+    }
+    public void setTechName(String techName) {
+        this.techName = techName;
+    }
+    public String getTechDepName() {
+        return techDepName;
+    }
+    public void setTechDepName(String techDepName) {
+        this.techDepName = techDepName;
+    }
+    public Integer getProjectStatus() {
+        return projectStatus;
+    }
+    public void setProjectStatus(Integer projectStatus) {
+        this.projectStatus = projectStatus;
+    }
+    public String getLicenceTime() {
+        return licenceTime;
+    }
+    public void setLicenceTime(String licenceTime) {
+        this.licenceTime = licenceTime;
+    }
+    public String getTaskComment() {
+        return taskComment;
+    }
+    public void setTaskComment(String taskComment) {
+        this.taskComment = taskComment;
+    }
+    public Integer getCertificatesCount() {
+        return certificatesCount;
+    }
+    public void setCertificatesCount(Integer certificatesCount) {
+        this.certificatesCount = certificatesCount;
+    }
+    public Integer getUrgentDay() {
+        return urgentDay;
+    }
+    public void setUrgentDay(Integer urgentDay) {
+        this.urgentDay = urgentDay;
+    }
+    public Integer getIfMaterial() {
+        return ifMaterial;
+    }
+    public void setIfMaterial(Integer ifMaterial) {
+        this.ifMaterial = ifMaterial;
+    }
+    public BigDecimal getCostAmount() {
+        return costAmount;
+    }
+    public void setCostAmount(BigDecimal costAmount) {
+        this.costAmount = costAmount;
+    }
+    public BigDecimal getProfit() {
+        if (profit==null&&commodityPrice!=null&&costAmount!=null) {
+            return  commodityPrice.subtract(costAmount);
+        }
+        return profit;
+    }
+    public void setProfit(BigDecimal profit) {
+        this.profit = profit;
+    }
+    public Integer getRejectCount() {
+        return rejectCount;
+    }
+    public void setRejectCount(Integer rejectCount) {
+        this.rejectCount = rejectCount;
+    }
+    public String getPatentName() {
+        return patentName;
+    }
+    public void setPatentName(String patentName) {
+        this.patentName = patentName;
+    }
+    public String getAcceptTime() {
+        return acceptTime;
+    }
+    public void setAcceptTime(String acceptTime) {
+        this.acceptTime = acceptTime;
+    }
+    public Integer getHighTechstatus() {
+        return highTechstatus;
+    }
+    public void setHighTechstatus(Integer highTechstatus) {
+        this.highTechstatus = highTechstatus;
+    }
+    public Integer getId() {
+        return id;
+    }
+    public void setId(Integer id) {
+        this.id = id;
+    }
+    public String getSpecialComment() {
+        return specialComment;
+    }
+    public void setSpecialComment(String specialComment) {
+        this.specialComment = specialComment;
+    }
+    public String getPatentNo() {
+        return patentNo;
+    }
+    public void setPatentNo(String patentNo) {
+        this.patentNo = patentNo;
+    }
+
+}

+ 2 - 1
src/main/java/com/goafanti/order/controller/StatisticsApiController.java

@@ -7,6 +7,7 @@ import java.util.List;
 
 import javax.servlet.http.HttpServletResponse;
 
+import com.alibaba.fastjson.JSONObject;
 import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.order.bo.*;
 import com.goafanti.order.service.OrderStatisticsService;
@@ -75,7 +76,6 @@ public class StatisticsApiController extends CertifyApiController {
 	 */
 	@RequestMapping(value = "/exporProvincialList", method = RequestMethod.GET)
 	public Result exporProvincialList(InputProvincialStatistics ib){
-		Result res=new Result();
 		return projectStatisticsService.exporProvincialList(ib);
 		}
 
@@ -164,4 +164,5 @@ public class StatisticsApiController extends CertifyApiController {
 		res.data(userStaticticsService.signStatisticsOrderList(in));
 		return res;
 	}
+
 }

+ 8 - 2
src/main/java/com/goafanti/order/enums/ProjectType.java

@@ -19,9 +19,15 @@ public enum ProjectType {
 	SJ(3,"审计"),
 	/** 已撤项 **/
 	SR(4,"双软"),
+	/** 已撤项 **/
+	GX(5,"高新"),
+	/** 已撤项 **/
+	SB(6,"商标"),
+	/** 已撤项 **/
+	HY(7,"会员"),
 	/** 无效 **/
 	INVALID(10, "INVALID");
-	
+
 	private ProjectType(Integer code, String desc) {
 		this.code = code;
 		this.desc = desc;
@@ -37,7 +43,7 @@ public enum ProjectType {
         }
         return  null;
     }
-	
+
 	static {
 		for (ProjectType value : ProjectType.values()) {
 			status.put(value.getCode(), value);

+ 3 - 1
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -303,6 +303,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		return processStatus;
 	}
 
+
+
 	private void insetLog(Integer taskId, String taskReceiverId) {
 		TTaskLog tl=new TTaskLog();
 		tl.setCreateTime(new Date());
@@ -321,7 +323,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		params.put("outsource", ib.getOutsource()==null?0:ib.getOutsource());
 		if (null!=ib.getSpecially()) params.put("specially", ib.getSpecially());
 		if (StringUtils.isNotBlank(ib.getName())) params.put("name", ib.getName());
-		if (StringUtils.isNotBlank(ib.getDepId())) params.put("depId", ib.getDepId());
+		if (StringUtils.isNotBlank(ib.getDeps())) params.put("deps", departmentService.parseArray(ib.getDeps()));
 		if (StringUtils.isNotBlank(ib.getOrderNo())) params.put("orderNo", ib.getOrderNo());
 		if (StringUtils.isNotBlank(ib.getContractNo())) params.put("contractNo", ib.getContractNo());
 		if (ib.getProjectStatus() !=null ) params.put("projectStatus", ib.getProjectStatus());

+ 36 - 8
src/main/java/com/goafanti/order/service/impl/ProjectStatisticsServiceImpl.java

@@ -10,10 +10,16 @@ import java.util.*;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.goafanti.admin.service.DepartmentService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.order.bo.*;
 import com.goafanti.order.bo.outStatistics.*;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
 import groovy.util.logging.Log4j;
 import org.apache.commons.collections4.map.HashedMap;
 import org.apache.commons.lang3.StringUtils;
@@ -23,6 +29,7 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -41,6 +48,8 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 
 	@Value("${upload.path}")
 	private String downloadPath;
+	@Autowired
+	private DepartmentService departmentService;
 
 
 	@SuppressWarnings("unchecked")
@@ -50,8 +59,8 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 		Integer pageNo=1,pageSize=10;
 		if(ps.getStartDate()!=null)params.put("startDate", ps.getStartDate());
 		if(ps.getEndDate()!=null)params.put("endDate", ps.getEndDate()+" 23:59:59");
-		if(ps.getDepId()!=null)params.put("depId", ps.getDepId());
-		if(ps.getThchDepId()!=null)params.put("thchDepId", ps.getThchDepId());
+		if(ps.getDeps()!=null)params.put("deps", departmentService.parseArray(ps.getDeps()));
+		if(ps.getThchDeps()!=null)params.put("thchDeps", departmentService.parseArray(ps.getThchDeps()));
 		if(ps.getProjectStatus()!=null)params.put("projectStatus", ps.getProjectStatus());
 		if(ps.getProjectType()!=null)params.put("projectType", ps.getProjectType());
 		if(ps.getOrderNo()!=null)params.put("orderNo", ps.getOrderNo());
@@ -78,8 +87,6 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 			params.put("amountEnd", e);
 		}
 		params.put("status",ps.getStatus()==null?0:ps.getStatus());
-
-
 		if(ps.getProvince()!=null)	params.put("province", ps.getProvince());
 		if(ps.getProjectId()!=null) params.put("projectId", ps.getProjectId());
 		if(ps.getScreen()!=null) params.put("screen", ps.getScreen());
@@ -151,11 +158,32 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 				}
 				NewExcelUtil<OutProjectStatisticsPatent> excelUtil=new NewExcelUtil<>(OutProjectStatisticsPatent.class);
 				res=excelUtil.exportExcel(tl,"项目汇总表(专利)",downloadPath);
+			}else if (ib.getStatus()==5){//会员
+				List<OutProjectStatisticsMember> tl=new ArrayList<>();
+				for (OutProjectStatistics o : list) {
+					OutProjectStatisticsMember member = new OutProjectStatisticsMember();
+					BeanUtils.copyProperties(o,member);
+					if (member.getServiceLife()!=null){
+						JSONArray jsonArray = JSONArray.parseArray(member.getServiceLife());
+						Object[] object=jsonArray.stream().toArray();
+						member.setServiceLife(StringUtils.join(object,","));
+					}
+					if (member.getContractTerm()!=null){
+						JSONArray jsonArray = JSONArray.parseArray(member.getContractTerm());
+						Object[] object=jsonArray.stream().toArray();
+						member.setContractTerm(StringUtils.join(object,"~"));
+					}
+					tl.add(member);
+				}
+				NewExcelUtil<OutProjectStatisticsMember> excelUtil=new NewExcelUtil<>(OutProjectStatisticsMember.class);
+				res=excelUtil.exportExcel(tl,"项目汇总表(会员)",downloadPath);
 			}
 			return  res;
 	}
 
 
+
+
 	/**
 	 * 处理搜索条件
 	 * @param ib
@@ -187,8 +215,8 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 			str=StringUtils.join(str,i++,"-筛选分类:",screenName,"   ");
 		}
 		if(ib.getProvinceName()!=null)str=StringUtils.join(str,i++,"-省份:",ib.getProvinceName(),"   ");
-		if(ib.getDepId()!=null)str=StringUtils.join(str,i++,"-订单部门:",ib.getDepName(),"   ");
-		if(ib.getThchDepId()!=null)str=StringUtils.join(str,i++,"-责任部门:",ib.getThchDepName(),"   ");
+		if(ib.getDeps()!=null)str=StringUtils.join(str,i++,"-订单部门:",ib.getDepName(),"   ");
+		if(ib.getThchDeps()!=null)str=StringUtils.join(str,i++,"-责任部门:",ib.getThchDepName(),"   ");
 		if(ib.getProjectStatus()!=null)str=StringUtils.join(str,i++,"-项目别类:",ib.getProjectStatusName(),"   ");
 		if(ib.getProjectType()!=null)str=StringUtils.join(str,i++,"-项目分类:",ib.getProjectTypeName(),"   ");
 		if(ib.getOrderNo()!=null)str=StringUtils.join(str,i++,"-订单编号:",ib.getOrderNo(),"   ");
@@ -234,7 +262,7 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 		Integer pageNo=1,pageSize=10;
 		if(is.getStartDate()!=null)params.put("startDate", is.getStartDate());
 		if(is.getEndDate()!=null)params.put("endDate", is.getEndDate()+" 23:59:59");
-		if(is.getThchDepId()!=null)params.put("thchDepId", is.getThchDepId());
+		if(is.getThchDeps()!=null)params.put("thchDeps", departmentService.parseArray(is.getThchDeps()));
 		if(is.getProjectStatus()!=null)params.put("projectStatus", is.getProjectStatus());
 		if(is.getProjectType()!=null)params.put("projectType", is.getProjectType());
 		if(is.getProvince()!=null)params.put("province", is.getProvince());
@@ -372,7 +400,7 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 		if(ib.getStartDate()!=null) str=StringUtils.join(str,i++,"-开始时间:",ib.getStartDate(),"   ");
 		if(ib.getEndDate()!=null)str=StringUtils.join(str,i++,"-结束时间:",ib.getEndDate(),"   ");
 		if(ib.getProvince()!=null)str=StringUtils.join(str,i++,"-省份:",ib.getProvinceName(),"   ");
-		if(ib.getThchDepId()!=null)str=StringUtils.join(str,i++,"-责任部门:",ib.getThchDepName(),"   ");
+		if(ib.getThchDeps()!=null)str=StringUtils.join(str,i++,"-责任部门:",ib.getThchDepName(),"   ");
 		if(ib.getProjectStatus()!=null)str=StringUtils.join(str,i++,"-项目别类:",ib.getProjectStatusName(),"   ");
 		if(ib.getProjectType()!=null)str=StringUtils.join(str,i++,"-项目分类:",ib.getProjectTypeName(),"   ");
 		if(ib.getProjectId()!=null)str=StringUtils.join(str,i++,"-项目名称:",ib.getProjectName(),"   ");

+ 11 - 8
src/main/java/com/goafanti/user/bo/InputListOrderUserService.java

@@ -4,7 +4,7 @@ public class InputListOrderUserService {
 //	a)客户名称/关键字:可根据客户名称或名称关键字搜索客户信息,系统默认显示全部。
 	private String userName;
 //	b)订单部门:可根据订单部门搜索,系统默认显示全部。
-	private String depId;
+	private String deps;
 //	c)是否已添微信:可根据“是”“否”来搜索
 	private Integer addWechat;
 //	d)续签情况:按续签情况搜索,续签分为以下七个类型,系统默认显示全部。可按不同续签状态搜索。
@@ -30,12 +30,15 @@ public class InputListOrderUserService {
 	public void setUserName(String userName) {
 		this.userName = userName;
 	}
-	public String getDepId() {
-		return depId;
+
+	public String getDeps() {
+		return deps;
 	}
-	public void setDepId(String depId) {
-		this.depId = depId;
+
+	public void setDeps(String deps) {
+		this.deps = deps;
 	}
+
 	public Integer getAddWechat() {
 		return addWechat;
 	}
@@ -84,7 +87,7 @@ public class InputListOrderUserService {
 	public void setEndFollowTimes(String endFollowTimes) {
 		this.endFollowTimes = endFollowTimes;
 	}
-	
-	
-	
+
+
+
 }

+ 12 - 10
src/main/java/com/goafanti/user/controller/UserServiceApiController.java

@@ -5,6 +5,7 @@ import java.util.List;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -23,6 +24,8 @@ import com.goafanti.user.service.UserServiceService;
 public class UserServiceApiController extends BaseApiController {
 	@Resource
 	private UserServiceService						userServiceService;
+	@Value(value = "${upload.path}")
+	private String			uploadPath	= null;
 
 	@RequestMapping(value = "/addUseService",method = RequestMethod.POST)
 	public Result addUseService(InputUserServiceFollow us) {
@@ -38,38 +41,37 @@ public class UserServiceApiController extends BaseApiController {
 		return res;
 	}
 
-	
+
 	@RequestMapping(value = "/listUseServiceFollow",method = RequestMethod.GET)
 	public Result listUseServiceFollow(String uid) {
 		Result res =new Result();
 		if(uid==null) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "用户编号"));
 		}
-		
+
 		res.data(userServiceService.listUseServiceFollow(uid));
 		return res;
 	}
-	
-	
+
+
 	@RequestMapping(value = "/listOrderUseService",method = RequestMethod.GET)
 	public Result listOrderUseService(InputListOrderUserService i) {
 		Result res =new Result();
 		res.data(userServiceService.listOrderUseService(i));
 		return res;
 	}
-	
+
 	/**导出客服跟进列表
-	 * 
+	 *
 	 * @param i
-	 * @param response
 	 * @return
 	 */
 	@RequestMapping(value = "/userServiceExport",method = RequestMethod.GET)
-	public Result userServiceExport(InputListOrderUserService i,HttpServletResponse response) {
+	public Result userServiceExport(InputListOrderUserService i) {
 		List<OutOrderUserService> list=userServiceService.listOrderUseServiceGetList(i);
 		NewExcelUtil<OutOrderUserService>excel=new NewExcelUtil<>(OutOrderUserService.class);
- 		 return  excel.exportExcel(list,"客服订单跟进列表",response);
+ 		 return  excel.exportExcel(list,"客服订单跟进列表",uploadPath);
 	}
-	
+
 
 }

+ 6 - 2
src/main/java/com/goafanti/user/service/impl/UserFollowServiceImpl.java

@@ -56,8 +56,12 @@ public class UserFollowServiceImpl extends BaseMybatisDao<UserFollowMapper>  imp
         if (in.getDeps()!=null){
             map.put("deps", departmentService.parseArray(in.getDeps()));
         }
-        if (in.getShiroType()!=null)map.put("shiroType",in.getShiroType());
-        else map.put("shiroType",0);
+        if (in.getShiroType()!=null){
+            map.put("shiroType",in.getShiroType());
+        }
+        else{
+            map.put("shiroType",0);
+        }
         if(in.getShiroType()==0){
         map.put("aid", TokenManager.getAdminId());
         }else if(in.getShiroType()==1){

+ 11 - 8
src/main/java/com/goafanti/user/service/impl/UserServiceServiceImpl.java

@@ -5,6 +5,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.goafanti.admin.service.DepartmentService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,12 +33,14 @@ public class  UserServiceServiceImpl extends BaseMybatisDao<UserServiceMapper> i
 	private UserServiceMapper userServiceMapper;
 	@Autowired
 	private UserServiceFollowMapper userServiceFollowMapper;
-	
+	@Autowired
+	private DepartmentService departmentService;
+
 	@Override
 	public int addUseService(InputUserServiceFollow us) {
 		us.setAid(TokenManager.getAdminId());
 		if (StringUtils.isNotBlank(us.getRenewalTimes())) {
-			us.setRenewalTime(DateUtils.StringToDate(us.getRenewalTimes(), AFTConstants.YYYYMMDD));	
+			us.setRenewalTime(DateUtils.StringToDate(us.getRenewalTimes(), AFTConstants.YYYYMMDD));
 		}
 		Date date=new Date();
 		us.setCreateTime(date);
@@ -74,7 +77,7 @@ public class  UserServiceServiceImpl extends BaseMybatisDao<UserServiceMapper> i
 	private Map<String, Object> setParams(InputListOrderUserService i) {
 		Map<String, Object>map =new HashMap<String, Object>();
 		if(i.getUserName()!=null)map.put("userName", i.getUserName());
-		if(i.getDepId()!=null)map.put("depId", i.getDepId());
+		if(i.getDeps()!=null)map.put("deps", departmentService.parseArray(i.getDeps()));
 		if(i.getStartFollowTimes()!=null)map.put("startFollowTimes", i.getStartFollowTimes());
 		if(i.getEndFollowTimes()!=null)map.put("endFollowTimes", i.getEndFollowTimes()+" 23:59:59");
 		if(i.getStartSignTimes()!=null)map.put("startSignTimes", i.getStartSignTimes());
@@ -107,28 +110,28 @@ public class  UserServiceServiceImpl extends BaseMybatisDao<UserServiceMapper> i
 					projects.append("无");
 				}
 				projects.append("/");
-				
+
 				if (StringUtils.isNotBlank(o.getReceiverName())) {
 					consultants.append(o.getReceiverName());
 				} else {
 					consultants.append("无");
 				}
 				consultants.append("/");
-				
+
 				if (o.getDeclarationBatch() != null) {
 					declareBatchs.append(o.getDeclarationBatch());
 				} else {
 					declareBatchs.append("无");
 				}
 				declareBatchs.append("/");
-				
+
 				if (StringUtils.isNotBlank(o.getCertificateNumber())) {
 					certificationNos.append(o.getCertificateNumber());
 				} else {
 					certificationNos.append("无");
 				}
 				certificationNos.append("/");
-				
+
 			}
 			if(projects.length()>1)ou.setProjects(projects.substring(0, projects.length()-1));
 			if(consultants.length()>1)ou.setConsultants(consultants.substring(0, consultants.length()-1));
@@ -137,4 +140,4 @@ public class  UserServiceServiceImpl extends BaseMybatisDao<UserServiceMapper> i
 		}
 	}
 
-}
+}

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -46,7 +46,7 @@ user_remind_days=15
 user_channel_days=90
 
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.37
+static.host=//static.jishutao.com/1.2.38
 #avatar.host=//172.16.0.255:3000
 #static.host=//172.16.0.255:3000/1.2.27
 #static.host=http://172.16.1.187/prod/1.2.25

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -43,7 +43,7 @@ user_remind_days=15
 #\u63D0\u524D\u63D0\u9192\u5929\u6570
 user_channel_days=90
 
-static.host=//static.jishutao.com/1.2.37
+static.host=//static.jishutao.com/1.2.38
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
 avatar.upload.host=//static.jishutao.com/upload