Browse Source

优化客户商享客户管理增加数据权限

master
fanzongzhe 9 months ago
parent
commit
bc2497cb74
  1. 1
      src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.xml
  2. 12
      src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempQuery.java
  3. 59
      src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempService.java

1
src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.xml

@ -16,6 +16,7 @@
FROM crm_visit cvi FROM crm_visit cvi
WHERE cct.sid = cvi.customerSid) gjcounts WHERE cct.sid = cvi.customerSid) gjcounts
FROM crm_customer cct FROM crm_customer cct
LEFT JOIN ss_user.sys_organization as s ON cct.useOrgSid = s.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>

12
src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempQuery.java

@ -49,8 +49,7 @@ public class CrmCustomerTempQuery implements Query {
@ApiModelProperty("业务员sid") @ApiModelProperty("业务员sid")
private String staffSid; private String staffSid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("客户sid") @ApiModelProperty("客户sid")
private List<String> customerSidList; private List<String> customerSidList;
@ -64,4 +63,13 @@ public class CrmCustomerTempQuery implements Query {
@ApiModelProperty("销售专员") @ApiModelProperty("销售专员")
private String staffName; private String staffName;
private String useOrgSid; private String useOrgSid;
private String orgLevelKey;//权限等级
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
private int index;
} }

59
src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempService.java

@ -110,7 +110,64 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
public PagerVo<CrmCustomerTempVo> listPageVo(PagerQuery<CrmCustomerTempQuery> pq) { public PagerVo<CrmCustomerTempVo> listPageVo(PagerQuery<CrmCustomerTempQuery> pq) {
CrmCustomerTempQuery query = pq.getParams(); CrmCustomerTempQuery query = pq.getParams();
QueryWrapper<CrmCustomerTemp> qw = createQueryWrapper(query); QueryWrapper<CrmCustomerTemp> qw = new QueryWrapper<>();
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getOrgLevelKey())) {
//数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
String orgLevelKey=query.getOrgLevelKey();
String orgSidPath=query.getOrgPath();
int index=query.getIndex();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, index);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, index);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, index);
qw.apply("s.orgSidPath like('"+orgSidPath+"')");
} else if ("4".equals(orgLevelKey)) {
qw.eq("cct.createBySid", query.getUserSid());
} else {
PagerVo<CrmCustomerTempVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<CrmCustomerTempVo> p = new PagerVo<>();
return p;
}
if (StringUtils.isNotBlank(query.getCustomerTypeKey())) {
qw.eq("cct.customerTypeKey", query.getCustomerTypeKey());
}
if (StringUtils.isNotBlank(query.getName())) {
qw.like("cct.name", query.getName());
}
if (StringUtils.isNotBlank(query.getLevelKey())) {
qw.eq("cct.levelKey", query.getLevelKey());
}
if (StringUtils.isNotBlank(query.getMobile())) {
qw.like("cct.mobile", query.getMobile());
}
// if (StringUtils.isNotBlank(query.getStaffSid())) {
// qw.eq("cct.staffSid", query.getStaffSid());
// }
//
// if (query.getCustomerSidList() != null && query.getCustomerSidList().size() > 0) {
// qw.notIn("cct.sid", query.getCustomerSidList());
// }
// if (StringUtils.isNotBlank(query.getUseOrgSid())) {
// qw.eq("cct.useOrgSid", query.getUseOrgSid());
// }
String remindStartDay = query.getRemindStartDay();
String remindEndDay = query.getRemindEndDay();
qw.apply(StringUtils.isNotBlank(remindStartDay), "date_format (cct.remind_day,'%Y-%m-%d') >= date_format('" + remindStartDay + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(remindEndDay), "date_format (cct.remind_day,'%Y-%m-%d') <= date_format('" + remindEndDay + "','%Y-%m-%d')"
);
IPage<CrmCustomerTemp> page = PagerUtil.queryToPage(pq); IPage<CrmCustomerTemp> page = PagerUtil.queryToPage(pq);
IPage<CrmCustomerTempVo> pagging = baseMapper.selectPageVo(page, qw); IPage<CrmCustomerTempVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<CrmCustomerTempVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<CrmCustomerTempVo> p = PagerUtil.pageToVo(pagging, null);

Loading…
Cancel
Save