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
cabb014d
提交
cabb014d
authored
11月 26, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
差异文件
店内执行查看/修改权限限制;添加三米两秒、六小金刚
上级
84f78d1e
b83fbd97
隐藏空白字符变更
内嵌
并排
正在显示
32 个修改的文件
包含
1123 行增加
和
82 行删除
+1123
-82
QcMarketEmpQuery.java
...m/sfa/operation/controller/qc/query/QcMarketEmpQuery.java
+10
-1
ApDisplayCoreController.java
...ration/controller/sales/core/ApDisplayCoreController.java
+34
-4
ApPromotionCoreController.java
...tion/controller/sales/core/ApPromotionCoreController.java
+15
-5
ApDisplayQueryController.java
...tion/controller/sales/query/ApDisplayQueryController.java
+40
-5
ApPromotionQueryController.java
...on/controller/sales/query/ApPromotionQueryController.java
+22
-7
ISalesApDisplayJDao.java
...m/sfa/operation/domain/sales/dao/ISalesApDisplayJDao.java
+16
-0
ISalesApDisplaySDao.java
...m/sfa/operation/domain/sales/dao/ISalesApDisplaySDao.java
+16
-0
SalesApDisplayJDaoImpl.java
...eration/domain/sales/dao/impl/SalesApDisplayJDaoImpl.java
+90
-0
SalesApDisplaySDaoImpl.java
...eration/domain/sales/dao/impl/SalesApDisplaySDaoImpl.java
+90
-0
SalesApPromotionImplDao.java
...ration/domain/sales/dao/impl/SalesApPromotionImplDao.java
+0
-2
SalesApSnacksDisplayDaoImpl.java
...on/domain/sales/dao/impl/SalesApSnacksDisplayDaoImpl.java
+0
-2
SalesApDisplay.java
...com/sfa/operation/domain/sales/entity/SalesApDisplay.java
+62
-5
SalesApDisplayJ.java
...om/sfa/operation/domain/sales/entity/SalesApDisplayJ.java
+168
-0
SalesApDisplayS.java
...om/sfa/operation/domain/sales/entity/SalesApDisplayS.java
+168
-0
SalesApPromotion.java
...m/sfa/operation/domain/sales/entity/SalesApPromotion.java
+51
-12
SalesApSnacksDisplay.java
...a/operation/domain/sales/entity/SalesApSnacksDisplay.java
+5
-1
SalesApDisplayJMapper.java
.../operation/domain/sales/mapper/SalesApDisplayJMapper.java
+20
-0
SalesApDisplaySMapper.java
.../operation/domain/sales/mapper/SalesApDisplaySMapper.java
+20
-0
SalesApRequest.java
.../com/sfa/operation/pojo/sales/request/SalesApRequest.java
+59
-3
SalesApDisplayDto.java
.../sfa/operation/pojo/sales/response/SalesApDisplayDto.java
+10
-0
SalesApDisplayJDto.java
...sfa/operation/pojo/sales/response/SalesApDisplayJDto.java
+22
-0
SalesApDisplaySDto.java
...sfa/operation/pojo/sales/response/SalesApDisplaySDto.java
+22
-0
SalesApPromotionDto.java
...fa/operation/pojo/sales/response/SalesApPromotionDto.java
+12
-0
SalesApSnacksDisplayDto.java
...peration/pojo/sales/response/SalesApSnacksDisplayDto.java
+1
-1
IApDisplayCoreService.java
...om/sfa/operation/service/sales/IApDisplayCoreService.java
+4
-0
IApDisplayQueryService.java
...m/sfa/operation/service/sales/IApDisplayQueryService.java
+4
-0
ApDisplayCoreServiceImpl.java
...peration/service/sales/impl/ApDisplayCoreServiceImpl.java
+24
-6
ApDisplayQueryServiceImpl.java
...eration/service/sales/impl/ApDisplayQueryServiceImpl.java
+22
-12
SalesApDisplayJMapper.xml
src/main/resources/mapper/sales/SalesApDisplayJMapper.xml
+40
-0
SalesApDisplayMapper.xml
src/main/resources/mapper/sales/SalesApDisplayMapper.xml
+12
-0
SalesApDisplaySMapper.xml
src/main/resources/mapper/sales/SalesApDisplaySMapper.xml
+39
-0
SalesApPromotionMapper.xml
src/main/resources/mapper/sales/SalesApPromotionMapper.xml
+25
-16
没有找到文件。
src/main/java/com/sfa/operation/controller/qc/query/QcMarketEmpQuery.java
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
controller
.
qc
.
query
;
import
com.sfa.common.core.constant.RoleConstants
;
import
com.sfa.common.security.utils.SecurityUtils
;
import
com.sfa.operation.service.qc.IQinceMarketEmployeeService
;
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
;
...
...
@@ -9,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author : liqiulin
...
...
@@ -23,8 +26,14 @@ public class QcMarketEmpQuery {
@GetMapping
public
boolean
query
()
{
//
是
区域销售部的人员,查看人客关系
//
运营中心、大区TM、
区域销售部的人员,查看人客关系
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
Optional
<
SysRole
>
first
=
roles
.
stream
().
filter
(
role
->
RoleConstants
.
OPERATION_CENTER_AP_MANAGER
.
equals
(
role
.
getRoleKey
())
||
RoleConstants
.
DISTRICT_AP_MANAGER
.
equals
(
role
.
getRoleKey
())).
findFirst
();
if
(
first
.
isPresent
())
{
return
true
;
}
String
empNo
=
loginUser
.
getUsername
();
List
<
String
>
dealerCodes
=
qinceMarketEmployeeService
.
checkPermission
(
empNo
);
return
!
dealerCodes
.
isEmpty
();
...
...
src/main/java/com/sfa/operation/controller/sales/core/ApDisplayCoreController.java
浏览文件 @
cabb014d
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.utils.SecurityUtils
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.qc.IQinceMarketEmployeeService
;
import
com.sfa.operation.service.sales.IApDisplayCoreService
;
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.*
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author : liqiulin
...
...
@@ -54,14 +57,41 @@ public class ApDisplayCoreController {
apDisplayCoreService
.
putSnackDisplayDetail
(
request
);
}
/**
* 三米两秒
*/
@PutMapping
(
"/core_s/{id}"
)
public
void
putDisplaySDetail
(
@PathVariable
(
"id"
)
Long
sadsId
,
@RequestBody
SalesApRequest
request
){
checkPermission
();
request
.
setSadsId
(
sadsId
);
apDisplayCoreService
.
putDisplaySDetail
(
request
);
}
/**
* 六小金刚
*/
@PutMapping
(
"/core_j/{id}"
)
public
void
putDisplayJDetail
(
@PathVariable
(
"id"
)
Long
sadjId
,
@RequestBody
SalesApRequest
request
){
checkPermission
();
request
.
setSadjId
(
sadjId
);
apDisplayCoreService
.
putDisplayJDetail
(
request
);
}
private
void
checkPermission
(){
// 是区域销售部的人员,查看人客关系
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
String
empNo
=
loginUser
.
getUsername
();
List
<
String
>
dealerCodes
=
qinceMarketEmployeeService
.
checkPermission
(
empNo
);
if
(
dealerCodes
.
isEmpty
()){
throw
new
CheckedException
(
ECode
.
QC_MARKET_EMP_ERROR
);
// 只有销售(促销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
浏览文件 @
cabb014d
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.utils.SecurityUtils
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.qc.IQinceMarketEmployeeService
;
import
com.sfa.operation.service.sales.IApPromotionCoreService
;
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.*
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe :
* @describe :
档期计划
*/
@RestController
@RequestMapping
(
"/sales/ap_promotion/core"
)
...
...
@@ -34,10 +37,17 @@ public class ApPromotionCoreController {
private
void
checkPermission
(){
// 是区域销售部的人员,查看人客关系
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
String
empNo
=
loginUser
.
getUsername
();
List
<
String
>
dealerCodes
=
qinceMarketEmployeeService
.
checkPermission
(
empNo
);
if
(
dealerCodes
.
isEmpty
()){
throw
new
CheckedException
(
ECode
.
QC_MARKET_EMP_ERROR
);
// 只有销售(促销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/ApDisplayQueryController.java
浏览文件 @
cabb014d
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.core.web.domain.PageInfo
;
import
com.sfa.common.security.annotation.RequiresPermissions
;
import
com.sfa.common.security.utils.SecurityUtils
;
...
...
@@ -7,6 +10,7 @@ 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.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
;
...
...
@@ -14,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author : liqiulin
...
...
@@ -22,6 +27,8 @@ import java.util.List;
* 常规陈列
* 档期陈列
* 零食陈列
* 三米两秒
* 六小金刚
*/
@RequiresPermissions
(
"promotion:display_schedule:list"
)
@RestController
...
...
@@ -61,6 +68,24 @@ public class ApDisplayQueryController {
return
apDisplayQueryService
.
snackPage
(
salesApRequest
);
}
/**
* 三米两秒
*/
@GetMapping
(
"/sl_page"
)
public
PageInfo
slPage
(
SalesApRequest
salesApRequest
){
checkPermission
(
salesApRequest
);
return
apDisplayQueryService
.
slPage
(
salesApRequest
);
}
/**
* 六小金刚
*/
@GetMapping
(
"/jg_page"
)
public
PageInfo
jgPage
(
SalesApRequest
salesApRequest
){
checkPermission
(
salesApRequest
);
return
apDisplayQueryService
.
jgPage
(
salesApRequest
);
}
/**
* 判断登录人权限
* 判断是否存在人客关系,存在:根据负责经销商查询数据;不存在:判断是否是销售部人员。是:根据部门查询;不是:返回全部数据
...
...
@@ -73,15 +98,25 @@ public class ApDisplayQueryController {
return
;
}
// 是区域销售部的人员,查看人客关系
// 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
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
);
return
;
}
// 不是大区TM,判断是否是销售人员
String
empNo
=
loginUser
.
getUsername
();
List
<
String
>
dealerCodes
=
qinceMarketEmployeeService
.
checkPermission
(
empNo
);
// 没有人客关系
,根据部门查询
// 没有人客关系
if
(
dealerCodes
.
isEmpty
())
{
String
deptName
=
loginUser
.
getSysUser
().
getDept
().
getDeptName
();
salesApRequest
.
setDeptName
(
deptName
);
return
;
throw
new
CheckedException
(
ECode
.
QC_MARKET_EMP_ERROR
);
// String deptName = loginUser.getSysUser().getDept().getDeptName();
// salesApRequest.setDeptName(deptName);
// return;
}
// 有人客关系,根据负责经销商查询
salesApRequest
.
setDealerCodes
(
dealerCodes
);
...
...
src/main/java/com/sfa/operation/controller/sales/query/ApPromotionQueryController.java
浏览文件 @
cabb014d
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.core.web.domain.PageInfo
;
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.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
;
...
...
@@ -13,11 +17,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe :
* @describe :
档期计划
*/
@RestController
@RequestMapping
(
"/sales/ap_promotion/query"
)
...
...
@@ -48,16 +53,26 @@ public class ApPromotionQueryController {
return
;
}
// 是区域销售部的人员,查看人客关系
String
empNo
=
loginUser
.
getNickName
();
List
<
String
>
dealerCodes
=
qinceMarketEmployeeService
.
checkPermission
(
empNo
);
// 没有人客关系,根据部门查询
if
(
dealerCodes
.
isEmpty
())
{
// 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
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
);
return
;
}
// 不是大区TM,判断是否是销售人员
String
empNo
=
loginUser
.
getUsername
();
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
.
setDealerCodes
(
dealerCodes
);
}
...
...
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApDisplayJDao.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.response.SalesApDisplayJDto
;
/**
* @author : liqiulin
* @date : 2025-11-21 14
* @describe :
*/
public
interface
ISalesApDisplayJDao
{
PageInfo
page
(
SalesApWq
salesApWq
);
void
updateDetail
(
SalesApDisplayJDto
djDto
);
}
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApDisplaySDao.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.response.SalesApDisplaySDto
;
/**
* @author : liqiulin
* @date : 2025-11-21 13
* @describe :
*/
public
interface
ISalesApDisplaySDao
{
PageInfo
page
(
SalesApWq
wq
);
void
updateDetail
(
SalesApDisplaySDto
dsDto
);
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApDisplayJDaoImpl.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.ISalesApDisplayJDao
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplayJ
;
import
com.sfa.operation.domain.sales.mapper.SalesApDisplayJMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.response.SalesApDisplayJDto
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2025-11-21 14
* @describe :
*/
@DS
(
"bi"
)
@Service
public
class
SalesApDisplayJDaoImpl
implements
ISalesApDisplayJDao
{
@Autowired
private
SalesApDisplayJMapper
salesApDisplayJMapper
;
@Override
public
PageInfo
page
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApDisplayJ
>
qw
=
buildWq
(
salesApWq
);
Page
<
SalesApDisplayJ
>
salesApDisplayJPage
=
salesApDisplayJMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
return
new
PageInfo
<>(
salesApDisplayJPage
);
}
@Override
public
void
updateDetail
(
SalesApDisplayJDto
djDto
)
{
SalesApDisplayJ
entity
=
new
SalesApDisplayJ
();
BeanUtils
.
copyProperties
(
djDto
,
entity
);
salesApDisplayJMapper
.
updateById
(
entity
);
}
private
LambdaQueryWrapper
<
SalesApDisplayJ
>
buildWq
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApDisplayJ
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
salesApWq
.
getSalesMonth
())){
qw
.
eq
(
SalesApDisplayJ:
:
getSalesMonth
,
salesApWq
.
getSalesMonth
());
}
if
(!
CollectionUtils
.
isEmpty
(
salesApWq
.
getDealerCodes
()))
{
qw
.
in
(
SalesApDisplayJ:
:
getDealerCode
,
salesApWq
.
getDealerCodes
());
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDeptName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApDisplayJ:
:
getRegionName
,
salesApWq
.
getDeptName
())
.
or
()
.
eq
(
SalesApDisplayJ:
:
getDistrictName
,
salesApWq
.
getDeptName
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getNickName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApDisplayJ:
:
getRegionManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApDisplayJ:
:
getDistrictManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApDisplayJ:
:
getCityManager
,
salesApWq
.
getNickName
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDealerCN
())){
qw
.
and
(
wrapper
->
wrapper
.
like
(
SalesApDisplayJ:
:
getDealerName
,
salesApWq
.
getDealerCN
())
.
or
()
.
like
(
SalesApDisplayJ:
:
getDealerCode
,
salesApWq
.
getDealerCN
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getStoreCN
())){
qw
.
and
(
wrapper
->
wrapper
.
like
(
SalesApDisplayJ:
:
getStoreName
,
salesApWq
.
getStoreCN
())
.
or
()
.
like
(
SalesApDisplayJ:
:
getStoreCode
,
salesApWq
.
getStoreCN
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getLineNameLike
())){
qw
.
like
(
SalesApDisplayJ:
:
getLineName
,
salesApWq
.
getLineNameLike
());
}
return
qw
;
}
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApDisplaySDaoImpl.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.ISalesApDisplaySDao
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplayS
;
import
com.sfa.operation.domain.sales.mapper.SalesApDisplaySMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.response.SalesApDisplaySDto
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2025-11-21 13
* @describe : 三米两秒表
*/
@DS
(
"bi"
)
@Service
public
class
SalesApDisplaySDaoImpl
implements
ISalesApDisplaySDao
{
@Autowired
private
SalesApDisplaySMapper
salesApDisplaySMapper
;
@Override
public
PageInfo
page
(
SalesApWq
wq
)
{
LambdaQueryWrapper
<
SalesApDisplayS
>
qw
=
buildWq
(
wq
);
Page
<
SalesApDisplayS
>
salesApDisplaySPage
=
salesApDisplaySMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
return
new
PageInfo
<>(
salesApDisplaySPage
);
}
@Override
public
void
updateDetail
(
SalesApDisplaySDto
dsDto
)
{
SalesApDisplayS
entity
=
new
SalesApDisplayS
();
BeanUtils
.
copyProperties
(
dsDto
,
entity
);
salesApDisplaySMapper
.
updateById
(
entity
);
}
private
LambdaQueryWrapper
<
SalesApDisplayS
>
buildWq
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApDisplayS
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
salesApWq
.
getSalesMonth
())){
qw
.
eq
(
SalesApDisplayS:
:
getSalesMonth
,
salesApWq
.
getSalesMonth
());
}
if
(!
CollectionUtils
.
isEmpty
(
salesApWq
.
getDealerCodes
()))
{
qw
.
in
(
SalesApDisplayS:
:
getDealerCode
,
salesApWq
.
getDealerCodes
());
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDeptName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApDisplayS:
:
getRegionName
,
salesApWq
.
getDeptName
())
.
or
()
.
eq
(
SalesApDisplayS:
:
getDistrictName
,
salesApWq
.
getDeptName
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getNickName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApDisplayS:
:
getRegionManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApDisplayS:
:
getDistrictManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApDisplayS:
:
getCityManager
,
salesApWq
.
getNickName
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDealerCN
())){
qw
.
and
(
wrapper
->
wrapper
.
like
(
SalesApDisplayS:
:
getDealerName
,
salesApWq
.
getDealerCN
())
.
or
()
.
like
(
SalesApDisplayS:
:
getDealerCode
,
salesApWq
.
getDealerCN
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getStoreCN
())){
qw
.
and
(
wrapper
->
wrapper
.
like
(
SalesApDisplayS:
:
getStoreName
,
salesApWq
.
getStoreCN
())
.
or
()
.
like
(
SalesApDisplayS:
:
getStoreCode
,
salesApWq
.
getStoreCN
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getLineNameLike
())){
qw
.
like
(
SalesApDisplayS:
:
getLineName
,
salesApWq
.
getLineNameLike
());
}
return
qw
;
}
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApPromotionImplDao.java
浏览文件 @
cabb014d
...
...
@@ -58,8 +58,6 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
if
(
dto
.
getIsActualPromotionEndDate
()
&&
Objects
.
nonNull
(
dto
.
getActualPromotionEndDate
())){
Date
plansDate
=
entityOld
.
getPlannedPromotionEndDate
();
Date
sDate
=
dto
.
getActualPromotionEndDate
();
System
.
out
.
println
(
DateUtils
.
isSameYearMonth
(
sDate
,
plansDate
));
System
.
out
.
println
(
DateUtils
.
isNextMonth
(
sDate
,
plansDate
));
if
(!(
DateUtils
.
isSameYearMonth
(
sDate
,
plansDate
)
||
DateUtils
.
isNextMonth
(
plansDate
,
sDate
))){
throw
new
CheckedException
(
ECode
.
SAP_EXECUTE_MONTH_ERROR
);
}
...
...
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApSnacksDisplayDaoImpl.java
浏览文件 @
cabb014d
...
...
@@ -7,8 +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.ISalesApSnacksDisplayDao
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay
;
import
com.sfa.operation.domain.sales.mapper.SalesApSnacksDisplayMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
...
...
src/main/java/com/sfa/operation/domain/sales/entity/SalesApDisplay.java
浏览文件 @
cabb014d
...
...
@@ -21,7 +21,12 @@ public class SalesApDisplay implements Serializable {
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
sadId
;
/**
* 陈列所属月份
*/
private
Date
salesMonth
;
/**
* 销售大区
*/
...
...
@@ -193,10 +198,15 @@ public class SalesApDisplay implements Serializable {
private
Integer
actualMainShelfQty
;
/**
* 实际主货架-是否执行
* 实际主货架-是否执行
,有计划默认否
*/
private
String
actualMainShelfExecuted
;
/**
* 主货架目标网点数
*/
private
Integer
mainShelfTypeSn
;
/**
* 计划端架-数量
*/
...
...
@@ -218,10 +228,15 @@ public class SalesApDisplay implements Serializable {
private
Double
actualEndCapQty
;
/**
* 实际端架-是否执行
* 实际端架-是否执行
,有计划默认否
*/
private
String
actualEndCapExecuted
;
/**
* 端架目标网点数
*/
private
Integer
endCapQtySn
;
/**
* 计划地堆-平米数(㎡)
*/
...
...
@@ -263,10 +278,15 @@ public class SalesApDisplay implements Serializable {
private
String
actualThemedFloorStack
;
/**
* 实际地堆是否执行
* 实际地堆是否执行
,有计划默认否
*/
private
String
actualFloorStackExecuted
;
/**
* 地堆目标网点数
*/
private
Integer
floorStackAreaSn
;
/**
* 计划多点陈列-数量+形式
*/
...
...
@@ -283,10 +303,35 @@ public class SalesApDisplay implements Serializable {
private
String
actualMultiDisplay
;
/**
* 实际多点陈列-是否执行
* 实际多点陈列-是否执行
,有计划默认否
*/
private
String
actualMultiDisplayExecuted
;
/**
* 多点陈列目标网点数
*/
private
Integer
multiPointDisplaySn
;
/**
* 计划挂条-数量+形式
*/
private
String
plannedHangingStripQuantityForm
;
/**
* 实际挂条-数量+形式
*/
private
String
actualHangingStripQuantityForm
;
/**
* 挂条-是否执行
*/
private
String
hangingStripExecuted
;
/**
* 挂条目标网点数
*/
private
Integer
hangingStripSn
;
/**
* 合计费用-费用
*/
...
...
@@ -298,7 +343,7 @@ public class SalesApDisplay implements Serializable {
private
Double
totalCostRate
;
/**
* 常规陈列是否执行
* 常规陈列是否执行
,有计划默认否
*/
private
String
regularDisplayExecuted
;
...
...
@@ -316,8 +361,20 @@ public class SalesApDisplay implements Serializable {
* 当月是否拜访
*/
private
String
monthlyVisited
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新者
*/
private
String
updateBy
;
/**
* 更新时间
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
...
...
src/main/java/com/sfa/operation/domain/sales/entity/SalesApDisplayJ.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
lombok.Data
;
/**
* 六小金刚批发挂网执行表
* @TableName sales_ap_display_j
*/
@TableName
(
value
=
"sales_ap_display_j"
)
@Data
public
class
SalesApDisplayJ
implements
Serializable
{
/**
* 主键ID(自增)
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
sadjId
;
/**
* 陈列所属月份
*/
private
Date
salesMonth
;
/**
* 销售大区
*/
private
String
regionName
;
/**
* 销售战区
*/
private
String
districtName
;
/**
* 经销商-省份
*/
private
String
dealerProvince
;
/**
* 经销商-城市
*/
private
String
dealerCity
;
/**
* 经销商-代码
*/
private
String
dealerCode
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 大区总监
*/
private
String
regionManager
;
/**
* 战区经理
*/
private
String
districtManager
;
/**
* 城市经理
*/
private
String
cityManager
;
/**
* 门店编码
*/
private
String
storeCode
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 门店-省份
*/
private
String
storeProvince
;
/**
* 门店-城市
*/
private
String
storeCity
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 系统类型
*/
private
String
lineType
;
/**
* 渠道大类
*/
private
String
channelDl
;
/**
* 渠道小类
*/
private
String
channelXl
;
/**
* 门店类型
*/
private
String
storeType
;
/**
* 系统业态
*/
private
String
lineLf
;
/**
* 计划执行-六小金刚批发挂网
*/
private
String
plannedGw6
;
/**
* 实际执行-六小金刚批发挂网
*/
private
String
actualGw6
;
/**
* 六小金刚批发挂网陈列费
*/
private
BigDecimal
totalCostGw6
;
/**
* 六小金刚批发挂网-是否执行(Y=是,N=否)
*/
private
String
gwExecuted6
;
/**
* 六小金刚批发挂网目标网点数
*/
private
Integer
gwSn6
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新者
*/
private
String
updateBy
;
/**
* 更新时间
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/operation/domain/sales/entity/SalesApDisplayS.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
lombok.Data
;
/**
* 三米两秒表
* @TableName sales_ap_display_s
*/
@TableName
(
value
=
"sales_ap_display_s"
)
@Data
public
class
SalesApDisplayS
implements
Serializable
{
/**
* 主键ID(自增)
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
sadsId
;
/**
* 陈列所属月份
*/
private
Date
salesMonth
;
/**
* 销售大区
*/
private
String
regionName
;
/**
* 销售战区
*/
private
String
districtName
;
/**
* 经销商-省份
*/
private
String
dealerProvince
;
/**
* 经销商-城市
*/
private
String
dealerCity
;
/**
* 经销商-代码
*/
private
String
dealerCode
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 大区总监
*/
private
String
regionManager
;
/**
* 战区经理
*/
private
String
districtManager
;
/**
* 城市经理
*/
private
String
cityManager
;
/**
* 门店编码
*/
private
String
storeCode
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 门店-省份
*/
private
String
storeProvince
;
/**
* 门店-城市
*/
private
String
storeCity
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 系统类型
*/
private
String
lineType
;
/**
* 渠道大类
*/
private
String
channelDl
;
/**
* 渠道小类
*/
private
String
channelXl
;
/**
* 门店类型
*/
private
String
storeType
;
/**
* 系统业态
*/
private
String
lineLf
;
/**
* 计划-60g挂条陈列数量
*/
private
String
plannedDisplayQty60
;
/**
* 实际-60g挂条陈列数量
*/
private
String
actualDisplayQty60
;
/**
* 60g挂条陈列费
*/
private
BigDecimal
totalCost60
;
/**
* 60g挂条陈列-是否执行
*/
private
String
displayQtyExecuted60
;
/**
* 60g挂条陈列目标网点数
*/
private
Integer
displaySn60
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新者
*/
private
String
updateBy
;
/**
* 更新时间
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/operation/domain/sales/entity/SalesApPromotion.java
浏览文件 @
cabb014d
...
...
@@ -21,7 +21,12 @@ public class SalesApPromotion implements Serializable {
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
sapId
;
/**
* 陈列所属月份
*/
private
Date
salesMonth
;
/**
* 销售大区
*/
...
...
@@ -117,6 +122,11 @@ public class SalesApPromotion implements Serializable {
*/
private
String
promotionExecutionMonth
;
/**
* 档期目标网点数
*/
private
Integer
promotionSn
;
/**
* 档期计划-促销规格
*/
...
...
@@ -132,18 +142,28 @@ public class SalesApPromotion implements Serializable {
*/
private
String
actualPromotionSpec
;
/**
* 实际执行规格(填报)
*/
private
String
actualPromotionSpecRe
;
/**
* 档期执行-促销口味
*/
private
String
actualPromotionFlavor
;
/**
* 档期规格是否执行
* 实际执行口味(填报)
*/
private
String
actualPromotionFlavorRe
;
/**
* 档期规格是否执行,有计划默认否
*/
private
String
specExecutionStatus
;
/**
* 促销口味是否执行
* 促销口味是否执行
,有计划默认未执行
*/
private
String
flavorExecutionStatus
;
...
...
@@ -191,8 +211,6 @@ public class SalesApPromotion implements Serializable {
* 实际-档期开始时间
*/
private
Date
actualPromotionStartDate
;
@TableField
(
exist
=
false
)
private
Boolean
isActualPromotionStartDate
;
/**
* 计划-档期结束时间
...
...
@@ -203,16 +221,14 @@ public class SalesApPromotion implements Serializable {
* 实际-档期结束时间
*/
private
Date
actualPromotionEndDate
;
@TableField
(
exist
=
false
)
private
Boolean
isActualPromotionEndDate
;
/**
* 档期是否开展
* 档期是否开展
,有计划默认否
*/
private
String
promotionImplementationStatus
;
/**
* 时间是否执行
* 时间是否执行
,有计划默认否
*/
private
String
timeExecutionStatus
;
...
...
@@ -237,7 +253,7 @@ public class SalesApPromotion implements Serializable {
private
String
actualPromotionMechanism
;
/**
* 促销机制是否执行
* 促销机制是否执行
,有计划默认否
*/
private
String
promotionMechanismExecutionStatus
;
...
...
@@ -277,10 +293,15 @@ public class SalesApPromotion implements Serializable {
private
BigDecimal
actualPromotionPrice
;
/**
* 促销价是否执行
* 促销价是否执行
,有计划默认否
*/
private
String
promotionPriceExecutionStatus
;
/**
* 实际执行价格(填报)
*/
private
String
actualPromotionPriceRe
;
/**
* 正常经销商毛利现状
*/
...
...
@@ -322,7 +343,7 @@ public class SalesApPromotion implements Serializable {
private
BigDecimal
totalAdjustmentCost
;
/**
* 档期是否执行
* 档期是否执行
,有计划默认否
*/
private
String
promotionExecutionStatus
;
...
...
@@ -342,7 +363,7 @@ public class SalesApPromotion implements Serializable {
private
String
actualPosterFormat
;
/**
* 海报是否执行
* 海报是否执行
,有计划默认否
*/
private
String
posterExecutionStatus
;
...
...
@@ -360,9 +381,26 @@ public class SalesApPromotion implements Serializable {
* 费用
*/
private
BigDecimal
cost
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新者
*/
private
String
updateBy
;
/**
* 更新时间
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
Boolean
isActualPromotionStartDate
;
@TableField
(
exist
=
false
)
private
Boolean
isActualPromotionEndDate
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/operation/domain/sales/entity/SalesApSnacksDisplay.java
浏览文件 @
cabb014d
...
...
@@ -154,7 +154,7 @@ public class SalesApSnacksDisplay implements Serializable {
/**
* 实际-端架数量(组)
*/
private
Double
actualEndCapQty
;
private
String
actualEndCapQty
;
/**
* 端架数量是否执行
*/
...
...
@@ -163,6 +163,10 @@ public class SalesApSnacksDisplay implements Serializable {
* 零食陈列是否执行
*/
private
String
snackDisplayExecuted
;
/**
* 陈列目标网点数
*/
private
String
actualDisplaySn
;
/**
* 计划-陈列费用
*/
...
...
src/main/java/com/sfa/operation/domain/sales/mapper/SalesApDisplayJMapper.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
mapper
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplayJ
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sales_ap_display_j(六小金刚批发挂网执行表)】的数据库操作Mapper
* @createDate 2025-11-21 13:42:23
* @Entity com.sfa.operation.domain.sales.entity.SalesApDisplayJ
*/
@Repository
public
interface
SalesApDisplayJMapper
extends
BaseMapper
<
SalesApDisplayJ
>
{
}
src/main/java/com/sfa/operation/domain/sales/mapper/SalesApDisplaySMapper.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
domain
.
sales
.
mapper
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplayS
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sales_ap_display_s(三米两秒表)】的数据库操作Mapper
* @createDate 2025-11-21 13:42:23
* @Entity com.sfa.operation.domain.sales.entity.SalesApDisplayS
*/
@Repository
public
interface
SalesApDisplaySMapper
extends
BaseMapper
<
SalesApDisplayS
>
{
}
src/main/java/com/sfa/operation/pojo/sales/request/SalesApRequest.java
浏览文件 @
cabb014d
...
...
@@ -69,6 +69,17 @@ public class SalesApRequest {
private
Long
sasdId
;
private
SnackDisplay
snackDisplay
;
/**
* 三米两秒
*/
private
Long
sadsId
;
private
DisplayS
displayS
;
/**
* 六小金刚
*/
private
Long
sadjId
;
private
DisplayJ
displayJ
;
@Data
public
static
class
Display
{
...
...
@@ -134,6 +145,17 @@ public class SalesApRequest {
* 常规陈列是否执行
*/
private
String
regularDisplayExecuted
;
/**
* 实际挂条-数量+形式
*/
private
String
actualHangingStripQuantityForm
;
/**
* 挂条-是否执行
*/
private
String
hangingStripExecuted
;
}
@Data
public
static
class
Promotion
{
...
...
@@ -141,10 +163,18 @@ public class SalesApRequest {
* 档期执行-促销规格
*/
private
String
actualPromotionSpec
;
/**
* 实际执行规格
*/
private
String
actualPromotionSpecRe
;
/**
* 档期执行-促销口味
*/
private
String
actualPromotionFlavor
;
/**
* 实际执行口味
*/
private
String
actualPromotionFlavorRe
;
/**
* 档期规格是否执行
*/
...
...
@@ -206,6 +236,10 @@ public class SalesApRequest {
* 促销价是否执行
*/
private
String
promotionPriceExecutionStatus
;
/**
* 实际执行价格(填报)
*/
private
String
actualPromotionPriceRe
;
/**
* 档期是否执行
*/
...
...
@@ -220,7 +254,7 @@ public class SalesApRequest {
private
String
posterExecutionStatus
;
}
@Data
private
class
SnackDisplay
{
private
static
class
SnackDisplay
{
/**
* 实际-陈列形式
...
...
@@ -234,7 +268,7 @@ public class SalesApRequest {
/**
* 实际-端架数量(组)
*/
private
Double
actualEndCapQty
;
private
String
actualEndCapQty
;
/**
* 端架数量是否执行
*/
...
...
@@ -245,7 +279,7 @@ public class SalesApRequest {
private
String
snackDisplayExecuted
;
}
@Data
private
class
PromotionDisplay
{
private
static
class
PromotionDisplay
{
/**
* 实际端架-数量
...
...
@@ -287,6 +321,28 @@ public class SalesApRequest {
*/
private
String
promotionDisplayExecuted
;
}
@Data
private
static
class
DisplayS
{
/**
* 实际-60g挂条陈列数量
*/
private
String
actualDisplayQty60
;
/**
* 60g挂条陈列-是否执行
*/
private
String
displayQtyExecuted60
;
}
@Data
private
static
class
DisplayJ
{
/**
* 实际执行-六小金刚批发挂网
*/
private
String
actualGw6
;
/**
* 六小金刚批发挂网-是否执行(Y=是,N=否)
*/
private
String
gwExecuted6
;
}
}
src/main/java/com/sfa/operation/pojo/sales/response/SalesApDisplayDto.java
浏览文件 @
cabb014d
...
...
@@ -75,4 +75,14 @@ public class SalesApDisplayDto {
private
String
regularDisplayExecuted
;
private
String
updateBy
;
/**
* 实际挂条-数量+形式
*/
private
String
actualHangingStripQuantityForm
;
/**
* 挂条-是否执行
*/
private
String
hangingStripExecuted
;
}
src/main/java/com/sfa/operation/pojo/sales/response/SalesApDisplayJDto.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
pojo
.
sales
.
response
;
import
lombok.Data
;
/**
* @author : liqiulin
* @date : 2025-11-21 15
* @describe :
*/
@Data
public
class
SalesApDisplayJDto
{
private
Long
sadjId
;
/**
* 实际执行-六小金刚批发挂网
*/
private
String
actualGw6
;
/**
* 六小金刚批发挂网-是否执行(Y=是,N=否)
*/
private
String
gwExecuted6
;
private
String
updateBy
;
}
src/main/java/com/sfa/operation/pojo/sales/response/SalesApDisplaySDto.java
0 → 100644
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
pojo
.
sales
.
response
;
import
lombok.Data
;
/**
* @author : liqiulin
* @date : 2025-11-21 15
* @describe :
*/
@Data
public
class
SalesApDisplaySDto
{
private
Long
sadsId
;
/**
* 实际-60g挂条陈列数量
*/
private
String
actualDisplayQty60
;
/**
* 60g挂条陈列-是否执行
*/
private
String
displayQtyExecuted60
;
private
String
updateBy
;
}
src/main/java/com/sfa/operation/pojo/sales/response/SalesApPromotionDto.java
浏览文件 @
cabb014d
...
...
@@ -17,10 +17,18 @@ public class SalesApPromotionDto {
* 档期执行-促销规格
*/
private
String
actualPromotionSpec
;
/**
* 实际执行规格
*/
private
String
actualPromotionSpecRe
;
/**
* 档期执行-促销口味
*/
private
String
actualPromotionFlavor
;
/**
* 实际执行口味
*/
private
String
actualPromotionFlavorRe
;
/**
* 档期规格是否执行
*/
...
...
@@ -66,6 +74,10 @@ public class SalesApPromotionDto {
* 实际促销售价(单包)
*/
private
BigDecimal
actualPromotionPrice
;
/**
* 实际执行价格(填报)
*/
private
String
actualPromotionPriceRe
;
/**
* 促销价是否执行
*/
...
...
src/main/java/com/sfa/operation/pojo/sales/response/SalesApSnacksDisplayDto.java
浏览文件 @
cabb014d
...
...
@@ -23,7 +23,7 @@ public class SalesApSnacksDisplayDto {
/**
* 实际-端架数量(组)
*/
private
Double
actualEndCapQty
;
private
String
actualEndCapQty
;
/**
* 端架数量是否执行
*/
...
...
src/main/java/com/sfa/operation/service/sales/IApDisplayCoreService.java
浏览文件 @
cabb014d
...
...
@@ -13,4 +13,8 @@ public interface IApDisplayCoreService {
void
putSnackDisplayDetail
(
SalesApRequest
request
);
void
putProDisplayDetail
(
SalesApRequest
request
);
void
putDisplaySDetail
(
SalesApRequest
request
);
void
putDisplayJDetail
(
SalesApRequest
request
);
}
src/main/java/com/sfa/operation/service/sales/IApDisplayQueryService.java
浏览文件 @
cabb014d
...
...
@@ -16,4 +16,8 @@ public interface IApDisplayQueryService {
PageInfo
proPage
(
SalesApRequest
salesApRequest
);
PageInfo
snackPage
(
SalesApRequest
salesApRequest
);
PageInfo
slPage
(
SalesApRequest
salesApRequest
);
PageInfo
jgPage
(
SalesApRequest
salesApRequest
);
}
src/main/java/com/sfa/operation/service/sales/impl/ApDisplayCoreServiceImpl.java
浏览文件 @
cabb014d
package
com
.
sfa
.
operation
.
service
.
sales
.
impl
;
import
com.sfa.common.security.utils.SecurityUtils
;
import
com.sfa.operation.domain.sales.dao.ISalesApDisplayDao
;
import
com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao
;
import
com.sfa.operation.domain.sales.dao.ISalesApSnacksDisplayDao
;
import
com.sfa.operation.domain.sales.dao.*
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.pojo.sales.response.SalesApDisplayDto
;
import
com.sfa.operation.pojo.sales.response.SalesApPromotionDisplayDto
;
import
com.sfa.operation.pojo.sales.response.SalesApSnacksDisplayDto
;
import
com.sfa.operation.pojo.sales.response.*
;
import
com.sfa.operation.service.sales.IApDisplayCoreService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -26,6 +22,10 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService {
private
ISalesApSnacksDisplayDao
salesApSnacksDisplayDao
;
@Autowired
private
ISalesApPromotionDisplayDao
salesApPromotionDisplayDao
;
@Autowired
private
ISalesApDisplaySDao
salesApDisplaySDao
;
@Autowired
private
ISalesApDisplayJDao
salesApDisplayJDao
;
@Override
public
void
updateDetail
(
SalesApRequest
request
)
{
SalesApDisplayDto
salesApDisplayDto
=
new
SalesApDisplayDto
();
...
...
@@ -52,4 +52,22 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService {
pdDto
.
setUpdateBy
(
SecurityUtils
.
getNickName
());
salesApPromotionDisplayDao
.
updateDetail
(
pdDto
);
}
@Override
public
void
putDisplaySDetail
(
SalesApRequest
request
)
{
SalesApDisplaySDto
dsDto
=
new
SalesApDisplaySDto
();
BeanUtils
.
copyProperties
(
request
.
getDisplayS
(),
dsDto
);
dsDto
.
setSadsId
(
request
.
getSadsId
());
dsDto
.
setUpdateBy
(
SecurityUtils
.
getNickName
());
salesApDisplaySDao
.
updateDetail
(
dsDto
);
}
@Override
public
void
putDisplayJDetail
(
SalesApRequest
request
)
{
SalesApDisplayJDto
djDto
=
new
SalesApDisplayJDto
();
BeanUtils
.
copyProperties
(
request
.
getDisplayJ
(),
djDto
);
djDto
.
setSadjId
(
request
.
getSadjId
());
djDto
.
setUpdateBy
(
SecurityUtils
.
getNickName
());
salesApDisplayJDao
.
updateDetail
(
djDto
);
}
}
src/main/java/com/sfa/operation/service/sales/impl/ApDisplayQueryServiceImpl.java
浏览文件 @
cabb014d
...
...
@@ -5,9 +5,7 @@ import cn.hutool.core.date.DateUtil;
import
com.sfa.common.core.utils.bean.BeanUtils
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.feishu.dao.IQinceMarketEmployeeDao
;
import
com.sfa.operation.domain.sales.dao.ISalesApDisplayDao
;
import
com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao
;
import
com.sfa.operation.domain.sales.dao.ISalesApSnacksDisplayDao
;
import
com.sfa.operation.domain.sales.dao.*
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.sales.IApDisplayQueryService
;
...
...
@@ -30,29 +28,41 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
private
ISalesApPromotionDisplayDao
salesApPromotionDisplayDao
;
@Autowired
private
ISalesApSnacksDisplayDao
salesapsnackdsDisplayDao
;
@Autowired
private
ISalesApDisplaySDao
salesApDisplaySDao
;
@Autowired
private
ISalesApDisplayJDao
salesApDisplayJDao
;
@Override
public
PageInfo
page
(
SalesApRequest
salesApRequest
)
{
SalesApWq
salesApWq
=
new
SalesApWq
();
BeanUtils
.
copyProperties
(
salesApRequest
,
salesApWq
);
salesApWq
.
setSalesMonth
(
salesApRequest
.
getSalesMonth
()
!=
null
?
DateUtil
.
parse
(
salesApRequest
.
getSalesMonth
()
+
"-01"
,
DatePattern
.
NORM_DATE_PATTERN
)
:
null
);
return
salesApDisplayDao
.
page
(
salesApWq
);
return
salesApDisplayDao
.
page
(
build
(
salesApRequest
));
}
@Override
public
PageInfo
proPage
(
SalesApRequest
salesApRequest
)
{
SalesApWq
salesApWq
=
new
SalesApWq
();
BeanUtils
.
copyProperties
(
salesApRequest
,
salesApWq
);
salesApWq
.
setSalesMonth
(
salesApRequest
.
getSalesMonth
()
!=
null
?
DateUtil
.
parse
(
salesApRequest
.
getSalesMonth
()
+
"-01"
,
DatePattern
.
NORM_DATE_PATTERN
)
:
null
);
return
salesApPromotionDisplayDao
.
page
(
salesApWq
);
return
salesApPromotionDisplayDao
.
page
(
build
(
salesApRequest
));
}
@Override
public
PageInfo
snackPage
(
SalesApRequest
salesApRequest
)
{
return
salesapsnackdsDisplayDao
.
page
(
build
(
salesApRequest
));
}
@Override
public
PageInfo
slPage
(
SalesApRequest
salesApRequest
)
{
return
salesApDisplaySDao
.
page
(
build
(
salesApRequest
));
}
@Override
public
PageInfo
jgPage
(
SalesApRequest
salesApRequest
)
{
return
salesApDisplayJDao
.
page
(
build
(
salesApRequest
));
}
private
SalesApWq
build
(
SalesApRequest
salesApRequest
){
SalesApWq
salesApWq
=
new
SalesApWq
();
BeanUtils
.
copyProperties
(
salesApRequest
,
salesApWq
);
salesApWq
.
setSalesMonth
(
salesApRequest
.
getSalesMonth
()
!=
null
?
DateUtil
.
parse
(
salesApRequest
.
getSalesMonth
()
+
"-01"
,
DatePattern
.
NORM_DATE_PATTERN
)
:
null
);
return
sales
apsnackdsDisplayDao
.
page
(
salesApWq
)
;
return
sales
ApWq
;
}
}
src/main/resources/mapper/sales/SalesApDisplayJMapper.xml
0 → 100644
浏览文件 @
cabb014d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.sfa.operation.domain.sales.mapper.SalesApDisplayJMapper"
>
<resultMap
id=
"SalesApDisplayJBase"
type=
"com.sfa.operation.domain.sales.entity.SalesApDisplayJ"
>
<id
property=
"sadjId"
column=
"sadj_id"
jdbcType=
"BIGINT"
/>
<result
property=
"salesMonth"
column=
"sales_month"
jdbcType=
"DATE"
/>
<result
property=
"regionName"
column=
"region_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"districtName"
column=
"district_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerProvince"
column=
"dealer_province"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerCity"
column=
"dealer_city"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerCode"
column=
"dealer_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"regionManager"
column=
"region_manager"
jdbcType=
"VARCHAR"
/>
<result
property=
"districtManager"
column=
"district_manager"
jdbcType=
"VARCHAR"
/>
<result
property=
"cityManager"
column=
"city_manager"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCode"
column=
"store_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeName"
column=
"store_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeProvince"
column=
"store_province"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCity"
column=
"store_city"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineName"
column=
"line_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineType"
column=
"line_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"channelDl"
column=
"channel_dl"
jdbcType=
"VARCHAR"
/>
<result
property=
"channelXl"
column=
"channel_xl"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeType"
column=
"store_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineLf"
column=
"line_lf"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedGw6"
column=
"planned_gw_6"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualGw6"
column=
"actual_gw_6"
jdbcType=
"VARCHAR"
/>
<result
property=
"totalCostGw6"
column=
"total_cost_gw_6"
jdbcType=
"DECIMAL"
/>
<result
property=
"gwExecuted6"
column=
"gw_executed_6"
jdbcType=
"VARCHAR"
/>
<result
property=
"gwSn6"
column=
"gw_sn_6"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateBy"
column=
"update_by"
jdbcType=
"VARCHAR"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
</mapper>
src/main/resources/mapper/sales/SalesApDisplayMapper.xml
浏览文件 @
cabb014d
...
...
@@ -6,6 +6,7 @@
<resultMap
id=
"SalesApDisplayBash"
type=
"com.sfa.operation.domain.sales.entity.SalesApDisplay"
>
<id
property=
"sadId"
column=
"sad_id"
jdbcType=
"BIGINT"
/>
<result
property=
"salesMonth"
column=
"sales_month"
jdbcType=
"DATE"
/>
<result
property=
"regionName"
column=
"region_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"districtName"
column=
"district_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerProvince"
column=
"dealer_province"
jdbcType=
"VARCHAR"
/>
...
...
@@ -41,11 +42,13 @@
<result
property=
"actualMainShelfType"
column=
"actual_main_shelf_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualMainShelfQty"
column=
"actual_main_shelf_qty"
jdbcType=
"INTEGER"
/>
<result
property=
"actualMainShelfExecuted"
column=
"actual_main_shelf_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"mainShelfTypeSn"
column=
"main_shelf_type_sn"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedEndCapQty"
column=
"planned_end_cap_qty"
jdbcType=
"FLOAT"
/>
<result
property=
"plannedEndCapTotalCost"
column=
"planned_end_cap_total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"plannedEndCapUnitCost"
column=
"planned_end_cap_unit_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"actualEndCapQty"
column=
"actual_end_cap_qty"
jdbcType=
"FLOAT"
/>
<result
property=
"actualEndCapExecuted"
column=
"actual_end_cap_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"endCapQtySn"
column=
"end_cap_qty_sn"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedFloorStackArea"
column=
"planned_floor_stack_area"
jdbcType=
"FLOAT"
/>
<result
property=
"plannedFloorStackQty"
column=
"planned_floor_stack_qty"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedThemedFloorStack"
column=
"planned_themed_floor_stack"
jdbcType=
"VARCHAR"
/>
...
...
@@ -55,16 +58,25 @@
<result
property=
"actualFloorStackQty"
column=
"actual_floor_stack_qty"
jdbcType=
"INTEGER"
/>
<result
property=
"actualThemedFloorStack"
column=
"actual_themed_floor_stack"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualFloorStackExecuted"
column=
"actual_floor_stack_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"floorStackAreaSn"
column=
"floor_stack_area_sn"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedMultiDisplay"
column=
"planned_multi_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedMultiDisplayTotalCost"
column=
"planned_multi_display_total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"actualMultiDisplay"
column=
"actual_multi_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualMultiDisplayExecuted"
column=
"actual_multi_display_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"multiPointDisplaySn"
column=
"multi_point_display_sn"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedHangingStripQuantityForm"
column=
"planned_hanging_strip_quantity_form"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualHangingStripQuantityForm"
column=
"actual_hanging_strip_quantity_form"
jdbcType=
"VARCHAR"
/>
<result
property=
"hangingStripExecuted"
column=
"hanging_strip_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"hangingStripSn"
column=
"hanging_strip_sn"
jdbcType=
"INTEGER"
/>
<result
property=
"totalCost"
column=
"total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"totalCostRate"
column=
"total_cost_rate"
jdbcType=
"FLOAT"
/>
<result
property=
"regularDisplayExecuted"
column=
"regular_display_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"paidDisplay"
column=
"paid_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"monthlyVisitTarget"
column=
"monthly_visit_target"
jdbcType=
"VARCHAR"
/>
<result
property=
"monthlyVisited"
column=
"monthly_visited"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateBy"
column=
"update_by"
jdbcType=
"VARCHAR"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
...
...
src/main/resources/mapper/sales/SalesApDisplaySMapper.xml
0 → 100644
浏览文件 @
cabb014d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.sfa.operation.domain.sales.mapper.SalesApDisplaySMapper"
>
<resultMap
id=
"SalesApDisplaySBase"
type=
"com.sfa.operation.domain.sales.entity.SalesApDisplayS"
>
<id
property=
"sadsId"
column=
"sads_id"
jdbcType=
"BIGINT"
/>
<result
property=
"salesMonth"
column=
"sales_month"
jdbcType=
"DATE"
/>
<result
property=
"regionName"
column=
"region_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"districtName"
column=
"district_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerProvince"
column=
"dealer_province"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerCity"
column=
"dealer_city"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerCode"
column=
"dealer_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"regionManager"
column=
"region_manager"
jdbcType=
"VARCHAR"
/>
<result
property=
"districtManager"
column=
"district_manager"
jdbcType=
"VARCHAR"
/>
<result
property=
"cityManager"
column=
"city_manager"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCode"
column=
"store_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeName"
column=
"store_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeProvince"
column=
"store_province"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCity"
column=
"store_city"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineName"
column=
"line_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineType"
column=
"line_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"channelDl"
column=
"channel_dl"
jdbcType=
"VARCHAR"
/>
<result
property=
"channelXl"
column=
"channel_xl"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeType"
column=
"store_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineLf"
column=
"line_lf"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedDisplayQty60"
column=
"planned_display_qty_60"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualDisplayQty60"
column=
"actual_display_qty_60"
jdbcType=
"VARCHAR"
/>
<result
property=
"totalCost60"
column=
"total_cost_60"
jdbcType=
"DECIMAL"
/>
<result
property=
"displayQtyExecuted60"
column=
"display_qty_executed_60"
jdbcType=
"VARCHAR"
/>
<result
property=
"displaySn60"
column=
"display_sn_60"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateBy"
column=
"update_by"
jdbcType=
"VARCHAR"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
</mapper>
src/main/resources/mapper/sales/SalesApPromotionMapper.xml
浏览文件 @
cabb014d
...
...
@@ -5,6 +5,7 @@
<mapper
namespace=
"com.sfa.operation.domain.sales.mapper.SalesApPromotionMapper"
>
<resultMap
id=
"SalesApPromotionBaseMap"
type=
"com.sfa.operation.domain.sales.entity.SalesApPromotion"
>
<id
property=
"sapId"
column=
"sap_id"
jdbcType=
"BIGINT"
/>
<result
property=
"salesMonth"
column=
"sales_month"
jdbcType=
"DATE"
/>
<result
property=
"regionName"
column=
"region_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"districtName"
column=
"district_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerProvince"
column=
"dealer_province"
jdbcType=
"VARCHAR"
/>
...
...
@@ -24,10 +25,13 @@
<result
property=
"lineLf"
column=
"line_lf"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCount"
column=
"store_count"
jdbcType=
"VARCHAR"
/>
<result
property=
"promotionExecutionMonth"
column=
"promotion_execution_month"
jdbcType=
"VARCHAR"
/>
<result
property=
"promotionSn"
column=
"promotion_sn"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedPromotionSpec"
column=
"planned_promotion_spec"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedPromotionFlavor"
column=
"planned_promotion_flavor"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionSpec"
column=
"actual_promotion_spec"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionSpecRe"
column=
"actual_promotion_spec_re"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionFlavor"
column=
"actual_promotion_flavor"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionFlavorRe"
column=
"actual_promotion_flavor_re"
jdbcType=
"VARCHAR"
/>
<result
property=
"specExecutionStatus"
column=
"spec_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"flavorExecutionStatus"
column=
"flavor_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"totalCost"
column=
"total_cost"
jdbcType=
"DECIMAL"
/>
...
...
@@ -35,23 +39,19 @@
<result
property=
"plannedPromotionFormat"
column=
"planned_promotion_format"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedVerificationMethod"
column=
"planned_verification_method"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedPromotionRules"
column=
"planned_promotion_rules"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedPrePromotionAdjustDays"
column=
"planned_pre_promotion_adjust_days"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedPostPromotionAdjustDays"
column=
"planned_post_promotion_adjust_days"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedPrePromotionAdjustDays"
column=
"planned_pre_promotion_adjust_days"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedPostPromotionAdjustDays"
column=
"planned_post_promotion_adjust_days"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedPromotionStartDate"
column=
"planned_promotion_start_date"
jdbcType=
"DATE"
/>
<result
property=
"actualPromotionStartDate"
column=
"actual_promotion_start_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedPromotionEndDate"
column=
"planned_promotion_end_date"
jdbcType=
"DATE"
/>
<result
property=
"actualPromotionEndDate"
column=
"actual_promotion_end_date"
jdbcType=
"DATE"
/>
<result
property=
"promotionImplementationStatus"
column=
"promotion_implementation_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"promotionImplementationStatus"
column=
"promotion_implementation_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"timeExecutionStatus"
column=
"time_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedAdjustmentStartDate"
column=
"planned_adjustment_start_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedAdjustmentEndDate"
column=
"planned_adjustment_end_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedPromotionMechanism"
column=
"planned_promotion_mechanism"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionMechanism"
column=
"actual_promotion_mechanism"
jdbcType=
"VARCHAR"
/>
<result
property=
"promotionMechanismExecutionStatus"
column=
"promotion_mechanism_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"promotionMechanismExecutionStatus"
column=
"promotion_mechanism_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"estimatedBagCount"
column=
"estimated_bag_count"
jdbcType=
"INTEGER"
/>
<result
property=
"promotionStockQuantity"
column=
"promotion_stock_quantity"
jdbcType=
"INTEGER"
/>
<result
property=
"unitFactoryPrice"
column=
"unit_factory_price"
jdbcType=
"DECIMAL"
/>
...
...
@@ -59,15 +59,12 @@
<result
property=
"regularRetailPrice"
column=
"regular_retail_price"
jdbcType=
"DECIMAL"
/>
<result
property=
"plannedPromotionPrice"
column=
"planned_promotion_price"
jdbcType=
"DECIMAL"
/>
<result
property=
"actualPromotionPrice"
column=
"actual_promotion_price"
jdbcType=
"DECIMAL"
/>
<result
property=
"promotionPriceExecutionStatus"
column=
"promotion_price_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"promotionPriceExecutionStatus"
column=
"promotion_price_execution_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionPriceRe"
column=
"actual_promotion_price_re"
jdbcType=
"VARCHAR"
/>
<result
property=
"normalDealerMarginStatus"
column=
"normal_dealer_margin_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"systemFrontendMarginGuarantee"
column=
"system_frontend_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"systemBackendMarginGuarantee"
column=
"system_backend_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"systemPromotionMarginGuarantee"
column=
"system_promotion_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"systemFrontendMarginGuarantee"
column=
"system_frontend_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"systemBackendMarginGuarantee"
column=
"system_backend_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"systemPromotionMarginGuarantee"
column=
"system_promotion_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerMarginGuarantee"
column=
"dealer_margin_guarantee"
jdbcType=
"VARCHAR"
/>
<result
property=
"unitBagAdjustmentAmount"
column=
"unit_bag_adjustment_amount"
jdbcType=
"DECIMAL"
/>
<result
property=
"adjustmentCostRatio"
column=
"adjustment_cost_ratio"
jdbcType=
"FLOAT"
/>
...
...
@@ -80,6 +77,9 @@
<result
property=
"storeCountInt"
column=
"store_count_int"
jdbcType=
"INTEGER"
/>
<result
property=
"averageStoreCost"
column=
"average_store_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"cost"
column=
"cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateBy"
column=
"update_by"
jdbcType=
"VARCHAR"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<update
id=
"putById"
parameterType=
"com.sfa.operation.domain.sales.entity.SalesApPromotion"
>
...
...
@@ -89,9 +89,15 @@
<if
test=
"actualPromotionSpec != null"
>
actual_promotion_spec = #{actualPromotionSpec},
</if>
<if
test=
"actualPromotionSpecRe != null"
>
actual_promotion_spec_re = #{actualPromotionSpecRe},
</if>
<if
test=
"actualPromotionFlavor != null"
>
actual_promotion_flavor = #{actualPromotionFlavor},
</if>
<if
test=
"actualPromotionFlavorRe != null"
>
actual_promotion_flavor_re = #{actualPromotionFlavorRe},
</if>
<if
test=
"flavorExecutionStatus != null"
>
flavor_execution_status = #{flavorExecutionStatus},
</if>
...
...
@@ -122,6 +128,9 @@
<if
test=
"actualPromotionPrice != null"
>
actual_promotion_price = #{actualPromotionPrice},
</if>
<if
test=
"actualPromotionPriceRe != null"
>
actual_promotion_price_re = #{actualPromotionPriceRe},
</if>
<if
test=
"promotionPriceExecutionStatus != null"
>
promotion_price_execution_status = #{promotionPriceExecutionStatus},
</if>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论