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

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

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