提交 2297a3d0 authored 作者: 000516's avatar 000516

店内执行表,大区TM特殊处理000889

......@@ -8,7 +8,6 @@ import com.sfa.operation.config.ConstantValue;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApDisplayQueryService;
import com.sfa.operation.service.sales.IApPromotionQueryService;
import com.sfa.system.api.domain.SysRole;
import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
......@@ -93,32 +94,28 @@ public class ApDisplayQueryController {
private void checkPermission(SalesApRequest salesApRequest) {
LoginUser loginUser = SecurityUtils.getLoginUser();
String ancestors = loginUser.getSysUser().getDept().getAncestors();
List<SysRole> roles = loginUser.getSysUser().getRoles();
// 不是区域销售部的人员,可以查看所有
if (!ancestors.contains(constantValue.deptYX)) {
if (!ancestors.contains(constantValue.deptYX) && roles.stream().filter(role -> RoleConstants.OPERATION_CENTER_AP_MANAGER.equals(role.getRoleKey())).findFirst().isPresent()) {
return;
}
// 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
List<SysRole> roles = loginUser.getSysUser().getRoles();
String empNo = loginUser.getUsername();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey())).findFirst();
if (first.isPresent()) {
String deptName = loginUser.getSysUser().getDept().getDeptName();
salesApRequest.setDeptName(deptName);
salesApRequest.setDeptNames("000889".equals(empNo) ? Arrays.asList(deptName,"北京特区") : Arrays.asList(deptName));
return;
}
// 不是大区TM,判断是否是销售人员
String empNo = loginUser.getUsername();
// 不是大区TM,判断是否是销售人员(人客关系)
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// 没有人客关系
if (dealerCodes.isEmpty()) {
throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// String deptName = loginUser.getSysUser().getDept().getDeptName();
// salesApRequest.setDeptName(deptName);
// return;
}
// 有人客关系,根据负责经销商查询
// salesApRequest.setNickName(loginUser.getNickName());
salesApRequest.setDealerCodes(dealerCodes);
}
}
......@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
......@@ -48,32 +49,28 @@ public class ApPromotionQueryController {
private void checkPermission(SalesApRequest salesApRequest) {
LoginUser loginUser = SecurityUtils.getLoginUser();
String ancestors = loginUser.getSysUser().getDept().getAncestors();
List<SysRole> roles = loginUser.getSysUser().getRoles();
// 不是区域销售部的人员,可以查看所有
if (!ancestors.contains(constantValue.deptYX)) {
if (!ancestors.contains(constantValue.deptYX) && roles.stream().filter(role -> RoleConstants.OPERATION_CENTER_AP_MANAGER.equals(role.getRoleKey())).findFirst().isPresent()) {
return;
}
// 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
List<SysRole> roles = loginUser.getSysUser().getRoles();
String empNo = loginUser.getUsername();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey())).findFirst();
if (first.isPresent()) {
String deptName = loginUser.getSysUser().getDept().getDeptName();
salesApRequest.setDeptName(deptName);
salesApRequest.setDeptNames("000889".equals(empNo) ? Arrays.asList(deptName,"北京特区") : Arrays.asList(deptName));
return;
}
// 不是大区TM,判断是否是销售人员
String empNo = loginUser.getUsername();
// 不是大区TM,判断是否是销售人员(人客关系)
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// 没有人客关系
if (dealerCodes.isEmpty()) {
throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// String deptName = loginUser.getSysUser().getDept().getDeptName();
// salesApRequest.setDeptName(deptName);
// return;
}
// 有人客关系,根据负责经销商查询
// salesApRequest.setNickName(loginUser.getNickName());
salesApRequest.setDealerCodes(dealerCodes);
}
}
......@@ -8,7 +8,6 @@ import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.operation.domain.sales.dao.ISalesApDisplayDao;
import com.sfa.operation.domain.sales.entity.SalesApDisplay;
import com.sfa.operation.domain.sales.entity.SalesApPromotion;
import com.sfa.operation.domain.sales.mapper.SalesApDisplayMapper;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import com.sfa.operation.pojo.sales.response.SalesApDisplayDto;
......@@ -64,11 +63,11 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao {
if (Objects.nonNull(salesApWq.getSalesMonth())){
qw.eq(SalesApDisplay::getSalesMonth, salesApWq.getSalesMonth());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
if (!CollectionUtils.isEmpty(salesApWq.getDeptNames())){
qw.and(
wrapper -> wrapper.like(SalesApDisplay::getRegionName, salesApWq.getDeptName())
wrapper -> wrapper.in(SalesApDisplay::getRegionName, salesApWq.getDeptNames())
.or()
.like(SalesApDisplay::getDistrictName, salesApWq.getDeptName())
.in(SalesApDisplay::getDistrictName, salesApWq.getDeptNames())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
......
......@@ -52,11 +52,11 @@ public class SalesApDisplayJDaoImpl implements ISalesApDisplayJDao {
if (!CollectionUtils.isEmpty(salesApWq.getDealerCodes())) {
qw.in(SalesApDisplayJ::getDealerCode, salesApWq.getDealerCodes());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
if (!CollectionUtils.isEmpty(salesApWq.getDeptNames())){
qw.and(
wrapper -> wrapper.eq(SalesApDisplayJ::getRegionName, salesApWq.getDeptName())
wrapper -> wrapper.in(SalesApDisplayJ::getRegionName, salesApWq.getDeptNames())
.or()
.eq(SalesApDisplayJ::getDistrictName, salesApWq.getDeptName())
.in(SalesApDisplayJ::getDistrictName, salesApWq.getDeptNames())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
......
......@@ -52,11 +52,11 @@ public class SalesApDisplaySDaoImpl implements ISalesApDisplaySDao {
if (!CollectionUtils.isEmpty(salesApWq.getDealerCodes())) {
qw.in(SalesApDisplayS::getDealerCode, salesApWq.getDealerCodes());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
if (!CollectionUtils.isEmpty(salesApWq.getDeptNames())){
qw.and(
wrapper -> wrapper.eq(SalesApDisplayS::getRegionName, salesApWq.getDeptName())
wrapper -> wrapper.in(SalesApDisplayS::getRegionName, salesApWq.getDeptNames())
.or()
.eq(SalesApDisplayS::getDistrictName, salesApWq.getDeptName())
.in(SalesApDisplayS::getDistrictName, salesApWq.getDeptNames())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
......
......@@ -7,7 +7,6 @@ import com.sfa.common.core.utils.StringUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao;
import com.sfa.operation.domain.sales.entity.SalesApDisplay;
import com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay;
import com.sfa.operation.domain.sales.mapper.SalesApPromotionDisplayMapper;
import com.sfa.operation.domain.sales.wq.SalesApWq;
......@@ -51,11 +50,11 @@ public class SalesApPromotionDisplayDaoImpl implements ISalesApPromotionDisplayD
if (!CollectionUtils.isEmpty(salesApWq.getDealerCodes())) {
qw.in(SalesApPromotionDisplay::getDealerCode, salesApWq.getDealerCodes());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
if (!CollectionUtils.isEmpty(salesApWq.getDeptNames())){
qw.and(
wrapper -> wrapper.eq(SalesApPromotionDisplay::getRegionName, salesApWq.getDeptName())
wrapper -> wrapper.in(SalesApPromotionDisplay::getRegionName, salesApWq.getDeptNames())
.or()
.eq(SalesApPromotionDisplay::getDistrictName, salesApWq.getDeptName())
.in(SalesApPromotionDisplay::getDistrictName, salesApWq.getDeptNames())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
......
......@@ -83,11 +83,11 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
if (Objects.nonNull(salesApWq.getSalesMonth())){
qw.eq(SalesApPromotion::getSalesMonth, salesApWq.getSalesMonth());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
if (!CollectionUtils.isEmpty(salesApWq.getDeptNames())){
qw.and(
wrapper -> wrapper.eq(SalesApPromotion::getRegionName, salesApWq.getDeptName())
wrapper -> wrapper.in(SalesApPromotion::getRegionName, salesApWq.getDeptNames())
.or()
.eq(SalesApPromotion::getDistrictName, salesApWq.getDeptName())
.in(SalesApPromotion::getDistrictName, salesApWq.getDeptNames())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
......
......@@ -50,11 +50,11 @@ public class SalesApSnacksDisplayDaoImpl implements ISalesApSnacksDisplayDao {
if (!CollectionUtils.isEmpty(salesApWq.getDealerCodes())) {
qw.in(SalesApSnacksDisplay::getDealerCode, salesApWq.getDealerCodes());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
if (!CollectionUtils.isEmpty(salesApWq.getDeptNames())){
qw.and(
wrapper -> wrapper.eq(SalesApSnacksDisplay::getRegionName, salesApWq.getDeptName())
wrapper -> wrapper.in(SalesApSnacksDisplay::getRegionName, salesApWq.getDeptNames())
.or()
.eq(SalesApSnacksDisplay::getDistrictName, salesApWq.getDeptName())
.in(SalesApSnacksDisplay::getDistrictName, salesApWq.getDeptNames())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论