Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-operation
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-operation
Commits
95330cd8
提交
95330cd8
authored
12月 01, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'qa' 到 'master'
店内执行-大区/战区表 查看合并请求
!75
上级
9efcf16b
04a682e8
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
106 行增加
和
38 行删除
+106
-38
ApDisplayCoreController.java
...ration/controller/sales/core/ApDisplayCoreController.java
+27
-20
ApPromotionCoreController.java
...tion/controller/sales/core/ApPromotionCoreController.java
+24
-16
APReportQueryController.java
...ation/controller/sales/query/APReportQueryController.java
+28
-2
ISalesApDisplayDao.java
...om/sfa/operation/domain/sales/dao/ISalesApDisplayDao.java
+2
-0
SalesApDisplayDaoImpl.java
...peration/domain/sales/dao/impl/SalesApDisplayDaoImpl.java
+14
-0
SalesApDisplayMapper.java
...a/operation/domain/sales/mapper/SalesApDisplayMapper.java
+4
-0
IApDisplayQueryService.java
...m/sfa/operation/service/sales/IApDisplayQueryService.java
+2
-0
ApDisplayQueryServiceImpl.java
...eration/service/sales/impl/ApDisplayQueryServiceImpl.java
+5
-0
SalesApDisplayMapper.xml
src/main/resources/mapper/sales/SalesApDisplayMapper.xml
+0
-0
没有找到文件。
src/main/java/com/sfa/operation/controller/sales/core/ApDisplayCoreController.java
浏览文件 @
95330cd8
...
...
@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.core;
import
com.sfa.common.core.constant.RoleConstants
;
import
com.sfa.common.core.enums.ECode
;
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.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.qc.IQinceMarketEmployeeService
;
...
...
@@ -31,8 +33,9 @@ public class ApDisplayCoreController {
* 常规陈列 根据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
){
checkPermission
();
//
checkPermission();
request
.
setSadId
(
sadId
);
apDisplayCoreService
.
updateDetail
(
request
);
}
...
...
@@ -41,8 +44,9 @@ public class ApDisplayCoreController {
* 档期陈列 根据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
){
checkPermission
();
//
checkPermission();
request
.
setSapdId
(
sapdId
);
apDisplayCoreService
.
putProDisplayDetail
(
request
);
}
...
...
@@ -51,8 +55,9 @@ public class ApDisplayCoreController {
* 零食陈列 根据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
){
checkPermission
();
//
checkPermission();
request
.
setSasdId
(
sasdId
);
apDisplayCoreService
.
putSnackDisplayDetail
(
request
);
}
...
...
@@ -61,8 +66,9 @@ public class ApDisplayCoreController {
* 三米两秒
*/
@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
){
checkPermission
();
//
checkPermission();
request
.
setSadsId
(
sadsId
);
apDisplayCoreService
.
putDisplaySDetail
(
request
);
}
...
...
@@ -71,27 +77,28 @@ public class ApDisplayCoreController {
* 六小金刚
*/
@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
){
checkPermission
();
//
checkPermission();
request
.
setSadjId
(
sadjId
);
apDisplayCoreService
.
putDisplayJDetail
(
request
);
}
private
void
checkPermission
(){
// 是区域销售部的人员,查看人客关系
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
// 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
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
();
if
(!
first
.
isPresent
())
{
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);
// private void checkPermission(){
// // 是区域销售部的人员,查看人客关系
// LoginUser loginUser = SecurityUtils.getLoginUser();
// // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
// 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();
// if (!first.isPresent()) {
// 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);
//// }
// }
}
src/main/java/com/sfa/operation/controller/sales/core/ApPromotionCoreController.java
浏览文件 @
95330cd8
...
...
@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.core;
import
com.sfa.common.core.constant.RoleConstants
;
import
com.sfa.common.core.enums.ECode
;
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.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.qc.IQinceMarketEmployeeService
;
...
...
@@ -27,27 +29,33 @@ public class ApPromotionCoreController {
private
IApPromotionCoreService
apPromotionCoreService
;
@Autowired
private
IQinceMarketEmployeeService
qinceMarketEmployeeService
;
/**
* 更新AP促销计划详情
* 大区总、战区经理、城市经理、TM,可以更新
*/
@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
)
{
checkPermission
();
//
checkPermission();
request
.
setSapId
(
sapId
);
apPromotionCoreService
.
updateDetail
(
request
);
}
private
void
checkPermission
(){
// 是区域销售部的人员,查看人客关系
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
// 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
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
();
if
(!
first
.
isPresent
())
{
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);
// private void checkPermission(){
// // 是区域销售部的人员,查看人客关系
// LoginUser loginUser = SecurityUtils.getLoginUser();
// // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
// 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();
// if (!first.isPresent()) {
// 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);
//// }
// }
}
src/main/java/com/sfa/operation/controller/sales/query/APReportQueryController.java
浏览文件 @
95330cd8
...
...
@@ -3,6 +3,8 @@ package com.sfa.operation.controller.sales.query;
import
com.sfa.common.core.constant.RoleConstants
;
import
com.sfa.common.core.enums.ECode
;
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.operation.config.ConstantValue
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
...
...
@@ -36,8 +38,6 @@ public class APReportQueryController {
/**
* 店内执行-城市经理
* @param request
* @return
*/
@GetMapping
(
"/store_cm"
)
public
Object
queryStoreAPReport
(
SalesApRequest
request
)
{
...
...
@@ -45,6 +45,16 @@ public class APReportQueryController {
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
)
{
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
String
ancestors
=
loginUser
.
getSysUser
().
getDept
().
getAncestors
();
...
...
@@ -72,4 +82,20 @@ public class APReportQueryController {
// salesApRequest.setNickName(loginUser.getNickName());
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
));
}
}
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApDisplayDao.java
浏览文件 @
95330cd8
...
...
@@ -15,4 +15,6 @@ public interface ISalesApDisplayDao {
void
updateDetail
(
SalesApDisplayDto
salesApDisplayDto
);
Object
queryStoreAPReport
(
SalesApWq
build
);
Object
queryDeptAPReport
(
SalesApWq
build
);
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApDisplayDaoImpl.java
浏览文件 @
95330cd8
...
...
@@ -16,6 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
/**
...
...
@@ -49,6 +52,17 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao {
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
)
{
LambdaQueryWrapper
<
SalesApDisplay
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDealerCode
()))
{
...
...
src/main/java/com/sfa/operation/domain/sales/mapper/SalesApDisplayMapper.java
浏览文件 @
95330cd8
...
...
@@ -18,6 +18,10 @@ import java.util.Map;
public
interface
SalesApDisplayMapper
extends
BaseMapper
<
SalesApDisplay
>
{
List
<
Map
<
String
,
Object
>>
queryStoreAPReport
(
SalesApWq
build
);
List
<
Map
<
String
,
Object
>>
queryDeptAPReportZQ
(
SalesApWq
build
);
List
<
Map
<
String
,
Object
>>
queryDeptAPReportDQ
(
SalesApWq
build
);
}
...
...
src/main/java/com/sfa/operation/service/sales/IApDisplayQueryService.java
浏览文件 @
95330cd8
...
...
@@ -22,4 +22,6 @@ public interface IApDisplayQueryService {
PageInfo
jgPage
(
SalesApRequest
salesApRequest
);
Object
queryStoreAPReport
(
SalesApRequest
request
);
Object
queryDeptAPReport
(
SalesApRequest
request
);
}
src/main/java/com/sfa/operation/service/sales/impl/ApDisplayQueryServiceImpl.java
浏览文件 @
95330cd8
...
...
@@ -64,6 +64,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
return
salesApDisplayDao
.
queryStoreAPReport
(
build
(
salesApRequest
));
}
@Override
public
Object
queryDeptAPReport
(
SalesApRequest
request
)
{
return
salesApDisplayDao
.
queryDeptAPReport
(
build
(
request
));
}
private
SalesApWq
build
(
SalesApRequest
salesApRequest
){
SalesApWq
salesApWq
=
new
SalesApWq
();
BeanUtils
.
copyProperties
(
salesApRequest
,
salesApWq
);
...
...
src/main/resources/mapper/sales/SalesApDisplayMapper.xml
浏览文件 @
95330cd8
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论