Browse Source

新增客户最后跟进列表

anderx 2 years ago
parent
commit
6cd657bee7

+ 1 - 1
src/main/java/com/goafanti/RD/service/impl/RDServiceImpl.java

@@ -87,7 +87,7 @@ public class RDServiceImpl extends BaseMybatisDao<RdDetailsMapper> implements RD
         param.put("RdNo", in.getRdNo());
         param.put("RdEnd", in.getRdEnd());
         param.put("RdName", in.getRdName());
-        if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR)||TokenManager.hasRole(AFTConstants.CED)){
+        if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)||TokenManager.hasRole(AFTConstants.CED)){
 
         }else {
             param.put("aid", TokenManager.getAdminId());

+ 3 - 3
src/main/java/com/goafanti/ambSystem/controller/AmbInvestApiController.java

@@ -41,7 +41,7 @@ public class AmbInvestApiController extends CertifyApiController {
 					ParamUtils.getParamName(in,bindingResult.getFieldError().getField())));
 			return res;
 		}
-		if(!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)&&!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR)){
+		if(!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)&&!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)){
 			in.setRoleType(0);
 			if (in.getMyAmbId()==null){
 				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"发起部门","发起部门"));
@@ -94,7 +94,7 @@ public class AmbInvestApiController extends CertifyApiController {
 	@RequestMapping(value="/updateTransfer",method = RequestMethod.POST)
 	public Result updateTransfer(InputAmbInvest in){
 		Result res =new Result();
-		if(!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)&&!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR)){
+		if(!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)&&!TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)){
 			in.setRoleType(0);
 			if (in.getMyAmbId()==null){
 				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"发起部门","发起部门"));
@@ -141,7 +141,7 @@ public class AmbInvestApiController extends CertifyApiController {
 	@RequestMapping(value="/getInvestAmbList",method = RequestMethod.GET)
 	public Result getInvestAmbList(Long id){
 		Result res =new Result();
-		if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR)){
+		if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)){
 			if (id==null)id=1L;
 		}
 		if (id==null){

+ 2 - 1
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -17,10 +17,11 @@ public class AFTConstants {
 
 	/**	超级管理员 */
 	public static final String	SUPERADMIN							= "999999";
+	public static final String	SUPERADMIN_ASSISTANT				= "999998";
 	/**	特批决策者 */
 	public static final String	APPROVAL_DECISION					= "99999";
 	/**	特批决策者审核 */
-	public static final String	APPROVAL_DECISION_AUDITOR			= "99989";
+	public static final String	APPROVAL_DECISION_ASSISTANT				= "99989";
 	/**	总裁 */
 	public static final String	CED									= "99998";
 	/**	总裁助理 */

+ 1 - 1
src/main/java/com/goafanti/common/controller/BaseController.java

@@ -169,7 +169,7 @@ public class BaseController {
 		if (TokenManager.hasRole(AFTConstants.OPERATION_MANAGER))str=str.append(11).append(",");
 		if (TokenManager.hasRole(AFTConstants.CED_ASSISTANT))str=str.append(12).append(",");
 		if (TokenManager.hasRole(AFTConstants.CED))str=str.append(13).append(",");
-		if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR))str=str.append(14).append(",");
+		if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT))str=str.append(14).append(",");
 		if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION))str=str.append(15).append(",");
 		if (str.length()<1)return "";
 		String shiroList=str.substring(0,str.length()-1);

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

@@ -1609,4 +1609,44 @@
     </if>
   </select>
 
+
+  <select id="selectUserLastSignList" resultType="com.goafanti.customer.bo.OutUserLastSignBo">
+    select a.share_type shareType ,a.nickname ,b.name ,c.contacts ,c.contact_mobile contactMobile,d.task_names taskNames ,
+    date_format(d.last_follow_time,'%Y-%m-%d %H:%i:%S')lastFollowTimeStr
+    from `user` a left join admin b on a.aid=b.id left join department dep on b.department_id =dep.id
+    left join organization_identity c on a.id=c.uid left join user_mid d on a.id=d.uid
+    where 1=1
+      and a.share_type in (0,2,3,4)
+      <if test="purview==0">
+      and dep.province in (11) is not true
+      </if>
+    <if test="purview==1">
+      and dep.province in (11)
+      and b.id in ('734092ad-6564-4021-b7ab-aab5af3a1537') is not true
+    </if>
+    <if test="uid !=null">
+      and a.id =#{uid}
+    </if>
+    order by last_follow_time desc
+    <if test="page_sql !=null">
+      ${page_sql}
+    </if>
+  </select>
+  <select id="selectUserLastSignCount" resultType="java.lang.Integer">
+    select count(*)
+    from `user` a left join admin b on a.aid=b.id left join department dep on b.department_id =dep.id
+    where 1=1
+    and a.share_type in (0,2,3,4)
+    <if test="purview==0">
+      and dep.province in (11) is not true
+    </if>
+    <if test="purview==1">
+      and dep.province in (11)
+      and b.id in ('734092ad-6564-4021-b7ab-aab5af3a1537') is not true
+    </if>
+    <if test="uid !=null">
+      and a.id =#{uid}
+    </if>
+  </select>
+
 </mapper>

+ 31 - 0
src/main/java/com/goafanti/customer/bo/InputSelectUserLastSignBo.java

@@ -0,0 +1,31 @@
+package com.goafanti.customer.bo;
+
+public class InputSelectUserLastSignBo {
+    private String uid;
+    private Integer pageSize;
+    private Integer pageNo;
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public Integer getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(Integer pageNo) {
+        this.pageNo = pageNo;
+    }
+}

+ 77 - 0
src/main/java/com/goafanti/customer/bo/OutUserLastSignBo.java

@@ -0,0 +1,77 @@
+package com.goafanti.customer.bo;
+
+import com.goafanti.common.utils.excel.Excel;
+
+public class OutUserLastSignBo {
+
+    @Excel(name = "类型",readConverterExp = "0=私有,1=公共,2=签单,3=外联,4=渠道")
+    private Integer shareType;
+    @Excel(name = "客户名称")
+    private String nickname;
+    @Excel(name = "跟单人")
+    private String name;
+    @Excel(name = "联系人")
+    private String contacts;
+    @Excel(name = "联系人电话")
+    private String contactMobile;
+    @Excel(name = "已签项目")
+    private String taskNames;
+    @Excel(name = "最后跟进时间")
+    private String lastFollowTimeStr;
+
+    public Integer getShareType() {
+        return shareType;
+    }
+
+    public void setShareType(Integer shareType) {
+        this.shareType = shareType;
+    }
+
+    public String getNickname() {
+        return nickname;
+    }
+
+    public void setNickname(String nickname) {
+        this.nickname = nickname;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(String contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+
+    public String getTaskNames() {
+        return taskNames;
+    }
+
+    public void setTaskNames(String taskNames) {
+        this.taskNames = taskNames;
+    }
+
+    public String getLastFollowTimeStr() {
+        return lastFollowTimeStr;
+    }
+
+    public void setLastFollowTimeStr(String lastFollowTimeStr) {
+        this.lastFollowTimeStr = lastFollowTimeStr;
+    }
+}

+ 12 - 0
src/main/java/com/goafanti/customer/controller/AdminCustomerApiController.java

@@ -1566,4 +1566,16 @@ public class AdminCustomerApiController extends BaseApiController{
 		res.setData(customerService.queryUserMax());
 		return res;
 	}
+
+	@RequestMapping(value = "/selectUserLastSign",method = RequestMethod.GET)
+	public Result selectUserLastSign (InputSelectUserLastSignBo in){
+		Result  res =new Result();
+		res.setData(customerService.selectUserLastSign(in));
+		return res;
+	}
+
+	@RequestMapping(value = "/selectUserLastSign/export",method = RequestMethod.GET)
+	public Result selectUserLastSignExport (InputSelectUserLastSignBo in){
+		return customerService.selectUserLastSignExport(in);
+	}
 }

+ 5 - 0
src/main/java/com/goafanti/customer/service/CustomerService.java

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Set;
 
 
+import com.goafanti.common.bo.Result;
 import com.goafanti.customer.bo.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
@@ -556,4 +557,8 @@ public interface CustomerService {
     boolean checkOrgCode(String orgCode);
 
     Integer queryUserMax();
+
+    Pagination<?> selectUserLastSign(InputSelectUserLastSignBo in);
+
+	Result selectUserLastSignExport(InputSelectUserLastSignBo in);
 }

+ 36 - 0
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -16,9 +16,11 @@ import java.util.UUID;
 import javax.annotation.Resource;
 
 import com.goafanti.admin.bo.AdminListBo;
+import com.goafanti.common.bo.Result;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.enums.*;
 import com.goafanti.common.model.*;
+import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.customer.bo.*;
 import com.goafanti.order.bo.TOrderNewBo;
 import org.apache.commons.beanutils.BeanUtils;
@@ -1403,6 +1405,8 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 	}
 
 
+
+
 	/**
 	 * 处理中间表
 	 * @param aid
@@ -2737,4 +2741,36 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		diff1 = (int) ((endLong  - now.getTime()) / (24 * 3600 * 1000));
 		return diff1.toString();
 	}
+
+	@Override
+	public Pagination<OutUserLastSignBo> selectUserLastSign(InputSelectUserLastSignBo in) {
+		Map<String, Object> param = addParam(in);
+
+		return (Pagination<OutUserLastSignBo>) findPage("selectUserLastSignList","selectUserLastSignCount",param,in.getPageNo(),in.getPageSize());
+	}
+
+	private Map<String, Object> addParam(InputSelectUserLastSignBo in) {
+		Map<String,Object> param=new HashMap<>();
+		Integer purview=null;
+		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.SUPERADMIN_ASSISTANT)){
+			purview=2;
+		} else if (TokenManager.hasRole(AFTConstants.CED_ASSISTANT)){
+			purview=0;
+		} else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)) {
+			purview = 1;
+		}else {
+			throw new BusinessException("权限异常");
+		}
+		param.put("purview",purview);
+		if(in.getUid()!=null)param.put("uid",in.getUid());
+		return param;
+	}
+
+	@Override
+	public Result selectUserLastSignExport(InputSelectUserLastSignBo in) {
+		Map<String, Object> param = addParam(in);
+		List<OutUserLastSignBo> list = (List<OutUserLastSignBo>) findList("selectUserLastSignList", param, 1, 99999);
+		NewExcelUtil<OutUserLastSignBo> excelUtil=new NewExcelUtil<>(OutUserLastSignBo.class);
+		return excelUtil.exportExcel(list,"用户最后跟进表");
+	}
 }

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

@@ -499,7 +499,7 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 			List<String> types=new ArrayList<>();
 			//董事长加助理
 			types.add(AFTConstants.APPROVAL_DECISION);
-			types.add(AFTConstants.APPROVAL_DECISION_AUDITOR);
+			types.add(AFTConstants.APPROVAL_DECISION_ASSISTANT);
 			for (Admin admin : adminMapper.getAdminRoleTypesList(types)) {
 				aids.add(admin.getId());
 			}

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

@@ -809,7 +809,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		if (in.getSpecially()==3){
 			if (TokenManager.hasRole(AFTConstants.CED)){
 				params.put("manageType",0);
-			}else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)){
+			}else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)){
 				params.put("manageType",1);
 			}else {
 				params.put("manageType",0);

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

@@ -123,7 +123,7 @@ public class PushOrderService {
                     break;
                 case 9:
 
-                    if((TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||(TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR))&&status!=2)||
+                    if((TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||(TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT))&&status!=2)||
                             (TokenManager.hasRole(AFTConstants.FINANCE)&&status==2)){
                         flag=true;
                     }

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

@@ -52,7 +52,7 @@ yxjl_max=100
 amb.maxLvl=6
 
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.67
+static.host=//static.jishutao.com/1.2.68
 rd.static.host=//static.jishutao.com/RD/1.0.00
 #avatar.host=//172.16.0.255:3000
 #static.host=//172.16.0.255:3000/1.2.62