提交 04a682e8 authored 作者: 000516's avatar 000516

店内执行-大区/战区表

...@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.core; ...@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.core;
import com.sfa.common.core.constant.RoleConstants; import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode; import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException; import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresRoles;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
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;
...@@ -31,8 +33,9 @@ public class ApDisplayCoreController { ...@@ -31,8 +33,9 @@ public class ApDisplayCoreController {
* 常规陈列 根据id更新 * 常规陈列 根据id更新
*/ */
@PutMapping("/core/{id}") @PutMapping("/core/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDetail(@PathVariable("id") Long sadId, @RequestBody SalesApRequest request){ public void putDetail(@PathVariable("id") Long sadId, @RequestBody SalesApRequest request){
checkPermission(); // checkPermission();
request.setSadId(sadId); request.setSadId(sadId);
apDisplayCoreService.updateDetail(request); apDisplayCoreService.updateDetail(request);
} }
...@@ -41,8 +44,9 @@ public class ApDisplayCoreController { ...@@ -41,8 +44,9 @@ public class ApDisplayCoreController {
* 档期陈列 根据id更新 * 档期陈列 根据id更新
*/ */
@PutMapping("/core_pro/{id}") @PutMapping("/core_pro/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putProDisplayDetail(@PathVariable("id") Long sapdId, @RequestBody SalesApRequest request){ public void putProDisplayDetail(@PathVariable("id") Long sapdId, @RequestBody SalesApRequest request){
checkPermission(); // checkPermission();
request.setSapdId(sapdId); request.setSapdId(sapdId);
apDisplayCoreService.putProDisplayDetail(request); apDisplayCoreService.putProDisplayDetail(request);
} }
...@@ -51,8 +55,9 @@ public class ApDisplayCoreController { ...@@ -51,8 +55,9 @@ public class ApDisplayCoreController {
* 零食陈列 根据id更新 * 零食陈列 根据id更新
*/ */
@PutMapping("/core_snack/{id}") @PutMapping("/core_snack/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putSnackDisplayDetail(@PathVariable("id") Long sasdId, @RequestBody SalesApRequest request){ public void putSnackDisplayDetail(@PathVariable("id") Long sasdId, @RequestBody SalesApRequest request){
checkPermission(); // checkPermission();
request.setSasdId(sasdId); request.setSasdId(sasdId);
apDisplayCoreService.putSnackDisplayDetail(request); apDisplayCoreService.putSnackDisplayDetail(request);
} }
...@@ -61,8 +66,9 @@ public class ApDisplayCoreController { ...@@ -61,8 +66,9 @@ public class ApDisplayCoreController {
* 三米两秒 * 三米两秒
*/ */
@PutMapping("/core_s/{id}") @PutMapping("/core_s/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDisplaySDetail(@PathVariable("id") Long sadsId, @RequestBody SalesApRequest request){ public void putDisplaySDetail(@PathVariable("id") Long sadsId, @RequestBody SalesApRequest request){
checkPermission(); // checkPermission();
request.setSadsId(sadsId); request.setSadsId(sadsId);
apDisplayCoreService.putDisplaySDetail(request); apDisplayCoreService.putDisplaySDetail(request);
} }
...@@ -71,27 +77,28 @@ public class ApDisplayCoreController { ...@@ -71,27 +77,28 @@ public class ApDisplayCoreController {
* 六小金刚 * 六小金刚
*/ */
@PutMapping("/core_j/{id}") @PutMapping("/core_j/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDisplayJDetail(@PathVariable("id") Long sadjId, @RequestBody SalesApRequest request){ public void putDisplayJDetail(@PathVariable("id") Long sadjId, @RequestBody SalesApRequest request){
checkPermission(); // checkPermission();
request.setSadjId(sadjId); request.setSadjId(sadjId);
apDisplayCoreService.putDisplayJDetail(request); apDisplayCoreService.putDisplayJDetail(request);
} }
private void checkPermission(){ // private void checkPermission(){
// 是区域销售部的人员,查看人客关系 // // 是区域销售部的人员,查看人客关系
LoginUser loginUser = SecurityUtils.getLoginUser(); // LoginUser loginUser = SecurityUtils.getLoginUser();
// 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改 // // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
List<SysRole> roles = loginUser.getSysUser().getRoles(); // List<SysRole> roles = loginUser.getSysUser().getRoles();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst(); // Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst();
if (!first.isPresent()) { // if (!first.isPresent()) {
throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR); // throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR);
}
// String empNo = loginUser.getUsername();
// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// if (dealerCodes.isEmpty()){
// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// } // }
} //
//// String empNo = loginUser.getUsername();
//// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
//// if (dealerCodes.isEmpty()){
//// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
//// }
// }
} }
...@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.core; ...@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.core;
import com.sfa.common.core.constant.RoleConstants; import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode; import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException; import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresRoles;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
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;
...@@ -27,27 +29,33 @@ public class ApPromotionCoreController { ...@@ -27,27 +29,33 @@ public class ApPromotionCoreController {
private IApPromotionCoreService apPromotionCoreService; private IApPromotionCoreService apPromotionCoreService;
@Autowired @Autowired
private IQinceMarketEmployeeService qinceMarketEmployeeService; private IQinceMarketEmployeeService qinceMarketEmployeeService;
/**
* 更新AP促销计划详情
* 大区总、战区经理、城市经理、TM,可以更新
*/
@PutMapping("/{id}") @PutMapping("/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDetail(@PathVariable("id") Long sapId, @RequestBody SalesApRequest request) { public void putDetail(@PathVariable("id") Long sapId, @RequestBody SalesApRequest request) {
checkPermission(); // checkPermission();
request.setSapId(sapId); request.setSapId(sapId);
apPromotionCoreService.updateDetail(request); apPromotionCoreService.updateDetail(request);
} }
private void checkPermission(){ // private void checkPermission(){
// 是区域销售部的人员,查看人客关系 // // 是区域销售部的人员,查看人客关系
LoginUser loginUser = SecurityUtils.getLoginUser(); // LoginUser loginUser = SecurityUtils.getLoginUser();
// 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改 // // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
List<SysRole> roles = loginUser.getSysUser().getRoles(); // List<SysRole> roles = loginUser.getSysUser().getRoles();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst(); // Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst();
if (!first.isPresent()) { // if (!first.isPresent()) {
throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR); // throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR);
}
// String empNo = loginUser.getUsername();
// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// if (dealerCodes.isEmpty()){
// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// } // }
} //
//// String empNo = loginUser.getUsername();
//// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
//// if (dealerCodes.isEmpty()){
//// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
//// }
// }
} }
...@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.query; ...@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.query;
import com.sfa.common.core.constant.RoleConstants; import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode; import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException; import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresRoles;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.config.ConstantValue; import com.sfa.operation.config.ConstantValue;
import com.sfa.operation.pojo.sales.request.SalesApRequest; import com.sfa.operation.pojo.sales.request.SalesApRequest;
...@@ -36,8 +38,6 @@ public class APReportQueryController { ...@@ -36,8 +38,6 @@ public class APReportQueryController {
/** /**
* 店内执行-城市经理 * 店内执行-城市经理
* @param request
* @return
*/ */
@GetMapping("/store_cm") @GetMapping("/store_cm")
public Object queryStoreAPReport(SalesApRequest request) { public Object queryStoreAPReport(SalesApRequest request) {
...@@ -45,6 +45,16 @@ public class APReportQueryController { ...@@ -45,6 +45,16 @@ public class APReportQueryController {
return apDisplayQueryService.queryStoreAPReport(request); return apDisplayQueryService.queryStoreAPReport(request);
} }
/**
* 店内执行-大区/战区
*/
@GetMapping("/dept_cm")
@RequiresRoles(value = {RoleConstants.OPERATION_CENTER_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public Object queryDeptAPReport(SalesApRequest request) {
checkPermissionDept(request);
return apDisplayQueryService.queryDeptAPReport(request);
}
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();
...@@ -72,4 +82,20 @@ public class APReportQueryController { ...@@ -72,4 +82,20 @@ public class APReportQueryController {
// salesApRequest.setNickName(loginUser.getNickName()); // salesApRequest.setNickName(loginUser.getNickName());
salesApRequest.setDealerCodes(dealerCodes); salesApRequest.setDealerCodes(dealerCodes);
} }
private void checkPermissionDept(SalesApRequest salesApRequest) {
LoginUser loginUser = SecurityUtils.getLoginUser();
String ancestors = loginUser.getSysUser().getDept().getAncestors();
List<SysRole> roles = loginUser.getSysUser().getRoles();
// 不是区域销售部的人员,可以查看所有
if (!ancestors.contains(constantValue.deptYX) && roles.stream().filter(role -> RoleConstants.OPERATION_CENTER_AP_MANAGER.equals(role.getRoleKey())).findFirst().isPresent()) {
return;
}
// 是区域销售部的人员按部门查询
String empNo = loginUser.getUsername();
String deptName = loginUser.getSysUser().getDept().getDeptName();
salesApRequest.setDeptNames("000889".equals(empNo) ? Arrays.asList(deptName, "北京特区") : Arrays.asList(deptName));
}
} }
...@@ -15,4 +15,6 @@ public interface ISalesApDisplayDao { ...@@ -15,4 +15,6 @@ public interface ISalesApDisplayDao {
void updateDetail(SalesApDisplayDto salesApDisplayDto); void updateDetail(SalesApDisplayDto salesApDisplayDto);
Object queryStoreAPReport(SalesApWq build); Object queryStoreAPReport(SalesApWq build);
Object queryDeptAPReport(SalesApWq build);
} }
...@@ -16,6 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -16,6 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
/** /**
...@@ -49,6 +52,17 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao { ...@@ -49,6 +52,17 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao {
return salesapdisMapper.queryStoreAPReport(build); return salesapdisMapper.queryStoreAPReport(build);
} }
@Override
public Object queryDeptAPReport(SalesApWq build) {
List<Map<String, Object>> mapZ = salesapdisMapper.queryDeptAPReportZQ(build);
List<Map<String, Object>> mapD = salesapdisMapper.queryDeptAPReportDQ(build);
Map<String,Object> r = new HashMap<>();
r.put("zq",mapZ);
r.put("dq",mapD);
return r;
}
private LambdaQueryWrapper<SalesApDisplay> buildWq(SalesApWq salesApWq) { private LambdaQueryWrapper<SalesApDisplay> buildWq(SalesApWq salesApWq) {
LambdaQueryWrapper<SalesApDisplay> qw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SalesApDisplay> qw = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(salesApWq.getDealerCode())) { if (StringUtils.isNotBlank(salesApWq.getDealerCode())) {
......
...@@ -18,6 +18,10 @@ import java.util.Map; ...@@ -18,6 +18,10 @@ import java.util.Map;
public interface SalesApDisplayMapper extends BaseMapper<SalesApDisplay> { public interface SalesApDisplayMapper extends BaseMapper<SalesApDisplay> {
List<Map<String,Object>> queryStoreAPReport(SalesApWq build); List<Map<String,Object>> queryStoreAPReport(SalesApWq build);
List<Map<String,Object>> queryDeptAPReportZQ(SalesApWq build);
List<Map<String, Object>> queryDeptAPReportDQ(SalesApWq build);
} }
......
...@@ -22,4 +22,6 @@ public interface IApDisplayQueryService { ...@@ -22,4 +22,6 @@ public interface IApDisplayQueryService {
PageInfo jgPage(SalesApRequest salesApRequest); PageInfo jgPage(SalesApRequest salesApRequest);
Object queryStoreAPReport(SalesApRequest request); Object queryStoreAPReport(SalesApRequest request);
Object queryDeptAPReport(SalesApRequest request);
} }
...@@ -64,6 +64,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService { ...@@ -64,6 +64,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
return salesApDisplayDao.queryStoreAPReport(build(salesApRequest)); return salesApDisplayDao.queryStoreAPReport(build(salesApRequest));
} }
@Override
public Object queryDeptAPReport(SalesApRequest request) {
return salesApDisplayDao.queryDeptAPReport(build(request));
}
private SalesApWq build(SalesApRequest salesApRequest){ private SalesApWq build(SalesApRequest salesApRequest){
SalesApWq salesApWq = new SalesApWq(); SalesApWq salesApWq = new SalesApWq();
BeanUtils.copyProperties(salesApRequest,salesApWq); BeanUtils.copyProperties(salesApRequest,salesApWq);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论