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
9f730abe
提交
9f730abe
authored
12月 01, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
城市经理-店内执行汇总看板
上级
3bfcc803
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
118 行增加
和
1 行删除
+118
-1
APReportQueryController.java
...ation/controller/sales/query/APReportQueryController.java
+76
-0
ISalesApDisplayDao.java
...om/sfa/operation/domain/sales/dao/ISalesApDisplayDao.java
+2
-0
SalesApDisplayDaoImpl.java
...peration/domain/sales/dao/impl/SalesApDisplayDaoImpl.java
+5
-0
SalesApDisplayMapper.java
...a/operation/domain/sales/mapper/SalesApDisplayMapper.java
+5
-0
SalesApWq.java
...ain/java/com/sfa/operation/domain/sales/wq/SalesApWq.java
+10
-0
SalesApRequest.java
.../com/sfa/operation/pojo/sales/request/SalesApRequest.java
+13
-1
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/query/APReportQueryController.java
0 → 100644
浏览文件 @
9f730abe
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.utils.SecurityUtils
;
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
;
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
;
/**
* @author : liqiulin
* @date : 2025-12-01 15
* @describe :
*/
@RestController
@RequestMapping
(
"/sales/ap_report/query"
)
public
class
APReportQueryController
{
@Autowired
private
IApDisplayQueryService
apDisplayQueryService
;
@Autowired
private
IQinceMarketEmployeeService
qinceMarketEmployeeService
;
@Autowired
private
ConstantValue
constantValue
;
/**
* 店内执行-城市经理
* @param request
* @return
*/
@GetMapping
(
"/store_cm"
)
public
Object
queryStoreAPReport
(
SalesApRequest
request
)
{
checkPermission
(
request
);
return
apDisplayQueryService
.
queryStoreAPReport
(
request
);
}
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
)
&&
roles
.
stream
().
filter
(
role
->
RoleConstants
.
OPERATION_CENTER_AP_MANAGER
.
equals
(
role
.
getRoleKey
())).
findFirst
().
isPresent
())
{
return
;
}
// 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
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
.
setDeptNames
(
"000889"
.
equals
(
empNo
)
?
Arrays
.
asList
(
deptName
,
"北京特区"
)
:
Arrays
.
asList
(
deptName
));
return
;
}
// 不是大区TM,判断是否是销售人员(人客关系)
List
<
String
>
dealerCodes
=
qinceMarketEmployeeService
.
checkPermission
(
empNo
);
if
(
dealerCodes
.
isEmpty
())
{
throw
new
CheckedException
(
ECode
.
QC_MARKET_EMP_ERROR
);
}
// salesApRequest.setNickName(loginUser.getNickName());
salesApRequest
.
setDealerCodes
(
dealerCodes
);
}
}
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApDisplayDao.java
浏览文件 @
9f730abe
...
@@ -13,4 +13,6 @@ public interface ISalesApDisplayDao {
...
@@ -13,4 +13,6 @@ public interface ISalesApDisplayDao {
PageInfo
page
(
SalesApWq
salesApWq
);
PageInfo
page
(
SalesApWq
salesApWq
);
void
updateDetail
(
SalesApDisplayDto
salesApDisplayDto
);
void
updateDetail
(
SalesApDisplayDto
salesApDisplayDto
);
Object
queryStoreAPReport
(
SalesApWq
build
);
}
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApDisplayDaoImpl.java
浏览文件 @
9f730abe
...
@@ -45,6 +45,11 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao {
...
@@ -45,6 +45,11 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao {
salesapdisMapper
.
updateById
(
updateDo
);
salesapdisMapper
.
updateById
(
updateDo
);
}
}
@Override
public
Object
queryStoreAPReport
(
SalesApWq
build
)
{
return
salesapdisMapper
.
queryStoreAPReport
(
build
);
}
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
()))
{
...
...
src/main/java/com/sfa/operation/domain/sales/mapper/SalesApDisplayMapper.java
浏览文件 @
9f730abe
...
@@ -2,8 +2,12 @@ package com.sfa.operation.domain.sales.mapper;
...
@@ -2,8 +2,12 @@ package com.sfa.operation.domain.sales.mapper;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author a02200059
* @author a02200059
* @description 针对表【sales_ap_display(营销中心-活动计划-陈列(计划+执行))】的数据库操作Mapper
* @description 针对表【sales_ap_display(营销中心-活动计划-陈列(计划+执行))】的数据库操作Mapper
...
@@ -13,6 +17,7 @@ import org.springframework.stereotype.Repository;
...
@@ -13,6 +17,7 @@ import org.springframework.stereotype.Repository;
@Repository
@Repository
public
interface
SalesApDisplayMapper
extends
BaseMapper
<
SalesApDisplay
>
{
public
interface
SalesApDisplayMapper
extends
BaseMapper
<
SalesApDisplay
>
{
List
<
Map
<
String
,
Object
>>
queryStoreAPReport
(
SalesApWq
build
);
}
}
...
...
src/main/java/com/sfa/operation/domain/sales/wq/SalesApWq.java
浏览文件 @
9f730abe
...
@@ -19,8 +19,10 @@ public class SalesApWq {
...
@@ -19,8 +19,10 @@ public class SalesApWq {
* 大区/战区
* 大区/战区
*/
*/
private
String
deptName
;
private
String
deptName
;
private
List
<
String
>
deptNames
;
private
String
nickName
;
private
String
nickName
;
private
List
<
String
>
dealerCodes
;
private
List
<
String
>
dealerCodes
;
private
String
dealerCodeStrs
;
/**
/**
* 经销商编码(精准)/名称(模糊)
* 经销商编码(精准)/名称(模糊)
*/
*/
...
@@ -33,4 +35,12 @@ public class SalesApWq {
...
@@ -33,4 +35,12 @@ public class SalesApWq {
* 系统名称
* 系统名称
*/
*/
private
String
lineNameLike
;
private
String
lineNameLike
;
/**
* 登录人工号
*/
private
String
empNo
;
/**
* 部门编码
*/
private
String
deptCode
;
}
}
src/main/java/com/sfa/operation/pojo/sales/request/SalesApRequest.java
浏览文件 @
9f730abe
...
@@ -29,19 +29,31 @@ public class SalesApRequest {
...
@@ -29,19 +29,31 @@ public class SalesApRequest {
private
String
dealerCN
;
private
String
dealerCN
;
private
String
cityManager
;
private
String
cityManager
;
/**
/**
* 大区/战区
* 大区/战区
(用来查询大区/战区两列)
*/
*/
private
String
deptName
;
private
String
deptName
;
private
List
<
String
>
deptNames
;
/**
/**
* 门店编码/名称(模糊)
* 门店编码/名称(模糊)
*/
*/
private
String
storeCN
;
private
String
storeCN
;
/**
* 登录人姓名
*/
private
String
nickName
;
private
String
nickName
;
private
List
<
String
>
dealerCodes
;
private
List
<
String
>
dealerCodes
;
/**
/**
* 系统名称
* 系统名称
*/
*/
private
String
lineNameLike
;
private
String
lineNameLike
;
/**
* 登录人工号
*/
private
String
empNo
;
/**
* 部门编码
*/
private
String
deptCode
;
// ######################## 通用查询 ########################
// ######################## 通用查询 ########################
...
...
src/main/java/com/sfa/operation/service/sales/IApDisplayQueryService.java
浏览文件 @
9f730abe
...
@@ -20,4 +20,6 @@ public interface IApDisplayQueryService {
...
@@ -20,4 +20,6 @@ public interface IApDisplayQueryService {
PageInfo
slPage
(
SalesApRequest
salesApRequest
);
PageInfo
slPage
(
SalesApRequest
salesApRequest
);
PageInfo
jgPage
(
SalesApRequest
salesApRequest
);
PageInfo
jgPage
(
SalesApRequest
salesApRequest
);
Object
queryStoreAPReport
(
SalesApRequest
request
);
}
}
src/main/java/com/sfa/operation/service/sales/impl/ApDisplayQueryServiceImpl.java
浏览文件 @
9f730abe
...
@@ -59,6 +59,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
...
@@ -59,6 +59,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
return
salesApDisplayJDao
.
page
(
build
(
salesApRequest
));
return
salesApDisplayJDao
.
page
(
build
(
salesApRequest
));
}
}
@Override
public
Object
queryStoreAPReport
(
SalesApRequest
salesApRequest
)
{
return
salesApDisplayDao
.
queryStoreAPReport
(
build
(
salesApRequest
));
}
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
);
...
...
src/main/resources/mapper/sales/SalesApDisplayMapper.xml
浏览文件 @
9f730abe
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论