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
2a5ed7ca
提交
2a5ed7ca
authored
9月 26, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
AP中添加档期陈列、零食陈列分页查询;档期计划添加促销口味是否执行
上级
c9d4d5d9
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
856 行增加
和
13 行删除
+856
-13
ApDisplayQueryController.java
...tion/controller/sales/query/ApDisplayQueryController.java
+35
-5
ISalesApPromotionDisplayDao.java
...eration/domain/sales/dao/ISalesApPromotionDisplayDao.java
+13
-0
ISalesApSnacksDisplayDao.java
.../operation/domain/sales/dao/ISalesApSnacksDisplayDao.java
+13
-0
SalesApPromotionDisplayDaoImpl.java
...domain/sales/dao/impl/SalesApPromotionDisplayDaoImpl.java
+57
-0
SalesApPromotionImplDao.java
...ration/domain/sales/dao/impl/SalesApPromotionImplDao.java
+1
-3
SalesApSnacksDisplayDaoImpl.java
...on/domain/sales/dao/impl/SalesApSnacksDisplayDaoImpl.java
+58
-0
SalesApDisplay.java
...com/sfa/operation/domain/sales/entity/SalesApDisplay.java
+0
-5
SalesApPromotion.java
...m/sfa/operation/domain/sales/entity/SalesApPromotion.java
+5
-0
SalesApPromotionDisplay.java
...peration/domain/sales/entity/SalesApPromotionDisplay.java
+303
-0
SalesApSnacksDisplay.java
...a/operation/domain/sales/entity/SalesApSnacksDisplay.java
+183
-0
SalesApPromotionDisplayMapper.java
...on/domain/sales/mapper/SalesApPromotionDisplayMapper.java
+20
-0
SalesApSnacksDisplayMapper.java
...ation/domain/sales/mapper/SalesApSnacksDisplayMapper.java
+20
-0
SalesApRequest.java
.../com/sfa/operation/pojo/sales/request/SalesApRequest.java
+6
-0
SalesApPromotionDto.java
...fa/operation/pojo/sales/response/SalesApPromotionDto.java
+5
-0
IApDisplayQueryService.java
...m/sfa/operation/service/sales/IApDisplayQueryService.java
+3
-0
ApDisplayQueryServiceImpl.java
...eration/service/sales/impl/ApDisplayQueryServiceImpl.java
+22
-0
SalesApPromotionDisplayMapper.xml
.../resources/mapper/sales/SalesApPromotionDisplayMapper.xml
+66
-0
SalesApPromotionMapper.xml
src/main/resources/mapper/sales/SalesApPromotionMapper.xml
+4
-0
SalesApSnacksDisplayMapper.xml
...ain/resources/mapper/sales/SalesApSnacksDisplayMapper.xml
+42
-0
没有找到文件。
src/main/java/com/sfa/operation/controller/sales/query/ApDisplayQueryController.java
浏览文件 @
2a5ed7ca
...
@@ -17,8 +17,12 @@ import java.util.Set;
...
@@ -17,8 +17,12 @@ import java.util.Set;
/**
/**
* @author : liqiulin
* @author : liqiulin
* @date : 2025-09-08 13
* @date : 2025-09-08 13
* @describe :营销中心-活动计划-陈列查询
* @describe :营销中心-活动计划
* 常规陈列
* 档期陈列
* 零食陈列
*/
*/
@RequiresPermissions
(
"promotion:display_schedule:list"
)
@RestController
@RestController
@RequestMapping
(
"/sales/ap_display/query"
)
@RequestMapping
(
"/sales/ap_display/query"
)
public
class
ApDisplayQueryController
{
public
class
ApDisplayQueryController
{
...
@@ -26,12 +30,39 @@ public class ApDisplayQueryController {
...
@@ -26,12 +30,39 @@ public class ApDisplayQueryController {
private
IApDisplayQueryService
apDisplayQueryService
;
private
IApDisplayQueryService
apDisplayQueryService
;
/**
/**
* 查询条件:经销商dealer_code、计划月份sales_month、城市经理city_manager、
* 常规陈列
* @return
*/
*/
@RequiresPermissions
(
"promotion:display_schedule:list"
)
//
@RequiresPermissions("promotion:display_schedule:list")
@GetMapping
(
"/page"
)
@GetMapping
(
"/page"
)
public
PageInfo
page
(
SalesApRequest
salesApRequest
){
public
PageInfo
page
(
SalesApRequest
salesApRequest
){
checkPermission
(
salesApRequest
);
return
apDisplayQueryService
.
page
(
salesApRequest
);
}
/**
* 档期陈列
*/
// @RequiresPermissions("promotion:display_schedule:list")
@GetMapping
(
"/pro_page"
)
public
PageInfo
proPage
(
SalesApRequest
salesApRequest
){
checkPermission
(
salesApRequest
);
return
apDisplayQueryService
.
proPage
(
salesApRequest
);
}
/**
* 零食陈列
*/
// @RequiresPermissions("promotion:display_schedule:list")
@GetMapping
(
"/snack_page"
)
public
PageInfo
snackPage
(
SalesApRequest
salesApRequest
){
checkPermission
(
salesApRequest
);
return
apDisplayQueryService
.
snackPage
(
salesApRequest
);
}
/**
* 判断登录人权限
*/
private
void
checkPermission
(
SalesApRequest
salesApRequest
){
// 判断登录人权限
// 判断登录人权限
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
Set
<
String
>
roles
=
loginUser
.
getRoles
();
Set
<
String
>
roles
=
loginUser
.
getRoles
();
...
@@ -43,6 +74,5 @@ public class ApDisplayQueryController {
...
@@ -43,6 +74,5 @@ public class ApDisplayQueryController {
salesApRequest
.
setDeptName
(
deptName
)
salesApRequest
.
setDeptName
(
deptName
)
.
setNickName
(
nickname
);
.
setNickName
(
nickname
);
}
}
return
apDisplayQueryService
.
page
(
salesApRequest
);
}
}
}
}
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApPromotionDisplayDao.java
0 → 100644
浏览文件 @
2a5ed7ca
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
/**
* @author : liqiulin
* @date : 2025-09-26 13
* @describe :
*/
public
interface
ISalesApPromotionDisplayDao
{
PageInfo
page
(
SalesApWq
salesApWq
);
}
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApSnacksDisplayDao.java
0 → 100644
浏览文件 @
2a5ed7ca
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
/**
* @author : liqiulin
* @date : 2025-09-26 13
* @describe :
*/
public
interface
ISalesApSnacksDisplayDao
{
PageInfo
page
(
SalesApWq
salesApWq
);
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApPromotionDisplayDaoImpl.java
0 → 100644
浏览文件 @
2a5ed7ca
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.ISalesApPromotionDisplayDao
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay
;
import
com.sfa.operation.domain.sales.mapper.SalesApPromotionDisplayMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2025-09-26 13
* @describe :
*/
@DS
(
"bi"
)
@Service
public
class
SalesApPromotionDisplayDaoImpl
implements
ISalesApPromotionDisplayDao
{
@Autowired
private
SalesApPromotionDisplayMapper
salesApPromotionDisplayMapper
;
@Override
public
PageInfo
page
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApPromotionDisplay
>
qw
=
buildWq
(
salesApWq
);
Page
<
SalesApPromotionDisplay
>
page
=
salesApPromotionDisplayMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
return
new
PageInfo
<>(
page
);
}
private
LambdaQueryWrapper
<
SalesApPromotionDisplay
>
buildWq
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApPromotionDisplay
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
salesApWq
.
getSalesMonth
())){
qw
.
eq
(
SalesApPromotionDisplay:
:
getSalesMonth
,
salesApWq
.
getSalesMonth
());
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDeptName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApPromotionDisplay:
:
getRegionName
,
salesApWq
.
getDeptName
())
.
or
()
.
eq
(
SalesApPromotionDisplay:
:
getDistrictName
,
salesApWq
.
getDeptName
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getNickName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApPromotionDisplay:
:
getRegionManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApPromotionDisplay:
:
getDistrictManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApPromotionDisplay:
:
getCityManager
,
salesApWq
.
getNickName
())
);
}
return
qw
;
}
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApPromotionImplDao.java
浏览文件 @
2a5ed7ca
...
@@ -10,7 +10,6 @@ import com.sfa.common.core.utils.StringUtils;
...
@@ -10,7 +10,6 @@ import com.sfa.common.core.utils.StringUtils;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.page.TableSupport
;
import
com.sfa.common.core.web.page.TableSupport
;
import
com.sfa.operation.domain.sales.dao.ISalesApPromotionDao
;
import
com.sfa.operation.domain.sales.dao.ISalesApPromotionDao
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotion
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotion
;
import
com.sfa.operation.domain.sales.mapper.SalesApPromotionMapper
;
import
com.sfa.operation.domain.sales.mapper.SalesApPromotionMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
...
@@ -37,8 +36,7 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
...
@@ -37,8 +36,7 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
public
PageInfo
page
(
SalesApWq
salesApWq
)
{
public
PageInfo
page
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApPromotion
>
qw
=
buildWq
(
salesApWq
);
LambdaQueryWrapper
<
SalesApPromotion
>
qw
=
buildWq
(
salesApWq
);
Page
<
SalesApPromotion
>
salesApDisplayPage
=
salesApPromotionMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
Page
<
SalesApPromotion
>
salesApDisplayPage
=
salesApPromotionMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
PageInfo
pageInfo
=
new
PageInfo
(
salesApDisplayPage
);
return
new
PageInfo
(
salesApDisplayPage
);
return
pageInfo
;
}
}
@Override
@Override
...
...
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApSnacksDisplayDaoImpl.java
0 → 100644
浏览文件 @
2a5ed7ca
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.ISalesApSnacksDisplayDao
;
import
com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay
;
import
com.sfa.operation.domain.sales.mapper.SalesApSnacksDisplayMapper
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2025-09-26 13
* @describe :
*/
@DS
(
"bi"
)
@Service
public
class
SalesApSnacksDisplayDaoImpl
implements
ISalesApSnacksDisplayDao
{
@Autowired
private
SalesApSnacksDisplayMapper
salesapsnackdsDisplayMapper
;
@Override
public
PageInfo
page
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApSnacksDisplay
>
qw
=
buildWq
(
salesApWq
);
Page
<
SalesApSnacksDisplay
>
page
=
salesapsnackdsDisplayMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
return
new
PageInfo
(
page
);
}
private
LambdaQueryWrapper
<
SalesApSnacksDisplay
>
buildWq
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApSnacksDisplay
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
salesApWq
.
getSalesMonth
())){
qw
.
eq
(
SalesApSnacksDisplay:
:
getSalesMonth
,
salesApWq
.
getSalesMonth
());
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDeptName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApSnacksDisplay:
:
getRegionName
,
salesApWq
.
getDeptName
())
.
or
()
.
eq
(
SalesApSnacksDisplay:
:
getDistrictName
,
salesApWq
.
getDeptName
())
);
}
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getNickName
())){
qw
.
and
(
wrapper
->
wrapper
.
eq
(
SalesApSnacksDisplay:
:
getRegionManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApSnacksDisplay:
:
getDistrictManager
,
salesApWq
.
getNickName
())
.
or
()
.
eq
(
SalesApSnacksDisplay:
:
getCityManager
,
salesApWq
.
getNickName
())
);
}
return
qw
;
}
}
src/main/java/com/sfa/operation/domain/sales/entity/SalesApDisplay.java
浏览文件 @
2a5ed7ca
...
@@ -302,11 +302,6 @@ public class SalesApDisplay implements Serializable {
...
@@ -302,11 +302,6 @@ public class SalesApDisplay implements Serializable {
*/
*/
private
String
regularDisplayExecuted
;
private
String
regularDisplayExecuted
;
/**
* 综合标签-拜访辅助列
*/
private
String
visitAssistTag
;
/**
/**
* 付费陈列- 是否
* 付费陈列- 是否
*/
*/
...
...
src/main/java/com/sfa/operation/domain/sales/entity/SalesApPromotion.java
浏览文件 @
2a5ed7ca
...
@@ -142,6 +142,11 @@ public class SalesApPromotion implements Serializable {
...
@@ -142,6 +142,11 @@ public class SalesApPromotion implements Serializable {
*/
*/
private
String
specExecutionStatus
;
private
String
specExecutionStatus
;
/**
* 促销口味是否执行
*/
private
String
flavorExecutionStatus
;
/**
/**
* 合计费用
* 合计费用
*/
*/
...
...
src/main/java/com/sfa/operation/domain/sales/entity/SalesApPromotionDisplay.java
0 → 100644
浏览文件 @
2a5ed7ca
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_promotion_display
*/
@TableName
(
value
=
"sales_ap_promotion_display"
)
@Data
public
class
SalesApPromotionDisplay
implements
Serializable
{
/**
* 主键ID
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
sapdId
;
private
Date
salesMonth
;
/**
* 销售大区
*/
private
String
regionName
;
/**
* 销售战区
*/
private
String
districtName
;
/**
* 经销商-省份
*/
private
String
dealerProvince
;
/**
* 经销商-城市
*/
private
String
dealerCity
;
/**
* 经销商-代码
*/
private
String
dealerCode
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 经销商类型
*/
private
String
dealerType
;
/**
* 开户日期
*/
private
Date
openingDate
;
/**
* 闭户日期
*/
private
Date
closingDate
;
/**
* 大区总监
*/
private
String
regionManager
;
/**
* 战区经理
*/
private
String
districtManager
;
/**
* 城市经理
*/
private
String
cityManager
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 系统类型
*/
private
String
lineType
;
/**
* 渠道大类
*/
private
String
channelDl
;
/**
* 渠道小类
*/
private
String
channelXl
;
/**
* 系统业态
*/
private
String
lineLf
;
/**
* 门店数
*/
private
String
storeCount
;
/**
* 档期执行月份
*/
private
String
promotionExecutionMonth
;
/**
* 档期计划-促销规格
*/
private
String
plannedPromotionSpec
;
/**
* 档期计划-促销口味
*/
private
String
plannedPromotionFlavor
;
/**
* 计划-档期规则
*/
private
String
plannedPromotionRules
;
/**
* 计划-档期前补差天数
*/
private
Integer
plannedPrePromotionAdjustDays
;
/**
* 计划-档期后补差天数
*/
private
Integer
plannedPostPromotionAdjustDays
;
/**
* 计划-档期开始时间
*/
private
Date
plannedPromotionStartDate
;
/**
* 计划-补差开始时间
*/
private
Date
plannedAdjustmentStartDate
;
/**
* 计划-档期结束时间
*/
private
Date
plannedPromotionEndDate
;
/**
* 计划-补差结束时间
*/
private
Date
plannedAdjustmentEndDate
;
/**
* 计划-档期陈列开始时间
*/
private
Date
plannedPromotionDisplayStartDate
;
/**
* 计划-档期陈列结束时间
*/
private
Date
plannedPromotionDisplayEndDate
;
/**
* 门店编码
*/
private
String
storeCode
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 门店类型
*/
private
String
storeType
;
/**
* 门店计数
*/
private
String
storeCountNum
;
/**
* 门店地址
*/
private
String
storeAddress
;
/**
* 计划端架-数量
*/
private
Double
plannedEndCapQty
;
/**
* 计划端架-费用
*/
private
BigDecimal
plannedEndCapTotalCost
;
/**
* 实际端架-数量
*/
private
Double
actualEndCapQty
;
/**
* 实际端架-是否执行
*/
private
String
actualEndCapExecuted
;
/**
* 计划地堆-平米数(㎡)
*/
private
Double
plannedFloorStackArea
;
/**
* 计划地堆-数量
*/
private
Integer
plannedFloorStackQty
;
/**
* 计划地堆-费用
*/
private
BigDecimal
plannedFloorStackTotalCost
;
/**
* 实际地堆-平米数(㎡)
*/
private
Double
actualFloorStackArea
;
/**
* 实际地堆-数量
*/
private
Integer
actualFloorStackQty
;
/**
* 实际地堆是否执行
*/
private
String
actualFloorStackExecuted
;
/**
* 计划其他陈列数量+形式
*/
private
String
plannedOtherDisplay
;
/**
* 计划其他陈列-总费用
*/
private
BigDecimal
plannedOtherDisplayTotalCost
;
/**
* 实际其他陈列-数量+形式
*/
private
String
actualOtherDisplay
;
/**
* 实际其他陈列-是否执行
*/
private
String
actualOtherDisplayExecuted
;
/**
* 合计费用-费用
*/
private
BigDecimal
totalCost
;
/**
* 档期陈列是否执行
*/
private
String
promotionDisplayExecuted
;
/**
* 付费陈列- 是否
*/
private
String
paidDisplay
;
/**
* 当月拜访目标-是否
*/
private
String
monthlyVisitTarget
;
/**
* 实际是否拜访
*/
private
String
monthlyVisited
;
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/SalesApSnacksDisplay.java
0 → 100644
浏览文件 @
2a5ed7ca
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_snacks_display
*/
@TableName
(
value
=
"sales_ap_snacks_display"
)
@Data
public
class
SalesApSnacksDisplay
implements
Serializable
{
/**
* 主键ID
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
sasdId
;
private
Date
salesMonth
;
/**
* 销售大区
*/
private
String
regionName
;
/**
* 销售战区
*/
private
String
districtName
;
/**
* 经销商-省份
*/
private
String
dealerProvince
;
/**
* 经销商-城市
*/
private
String
dealerCity
;
/**
* 经销商-代码
*/
private
String
dealerCode
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 经销商类型
*/
private
String
dealerType
;
/**
* 开户日期
*/
private
Date
openingDate
;
/**
* 闭户日期
*/
private
Date
closingDate
;
/**
* 大区总监
*/
private
String
regionManager
;
/**
* 战区经理
*/
private
String
districtManager
;
/**
* 城市经理
*/
private
String
cityManager
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 系统类型
*/
private
String
lineType
;
/**
* 渠道大类
*/
private
String
channelDl
;
/**
* 渠道小类
*/
private
String
channelXl
;
/**
* 系统业态
*/
private
String
lineLf
;
/**
* 是否直营
*/
private
String
isDirect
;
/**
* 门店编码
*/
private
String
storeCode
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 门店计数
*/
private
String
storeCount
;
/**
* 门店地址
*/
private
String
storeAddress
;
/**
* 计划-陈列形式
*/
private
String
plannedDisplay
;
/**
* 实际-陈列形式
*/
private
String
actualDisplay
;
/**
* 计划-端架数量(组)
*/
private
Double
plannedEndCapQty
;
/**
* 实际-端架数量(组)
*/
private
Double
actualEndCapQty
;
/**
* 计划-陈列费用
*/
private
BigDecimal
totalCost
;
/**
* 付费陈列- 是否
*/
private
String
paidDisplay
;
/**
* 当月拜访目标-是否
*/
private
String
monthlyVisitTarget
;
/**
* 实际是否拜访
*/
private
String
monthlyVisited
;
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/mapper/SalesApPromotionDisplayMapper.java
0 → 100644
浏览文件 @
2a5ed7ca
package
com
.
sfa
.
operation
.
domain
.
sales
.
mapper
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sales_ap_promotion_display(营销中心-活动计划-档期陈列(计划+执行))】的数据库操作Mapper
* @createDate 2025-09-25 20:10:55
* @Entity com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay
*/
@Repository
public
interface
SalesApPromotionDisplayMapper
extends
BaseMapper
<
SalesApPromotionDisplay
>
{
}
src/main/java/com/sfa/operation/domain/sales/mapper/SalesApSnacksDisplayMapper.java
0 → 100644
浏览文件 @
2a5ed7ca
package
com
.
sfa
.
operation
.
domain
.
sales
.
mapper
;
import
com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sales_ap_snacks_display(营销中心-活动计划-零食陈列(计划+执行))】的数据库操作Mapper
* @createDate 2025-09-25 20:10:55
* @Entity com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay
*/
@Repository
public
interface
SalesApSnacksDisplayMapper
extends
BaseMapper
<
SalesApSnacksDisplay
>
{
}
src/main/java/com/sfa/operation/pojo/sales/request/SalesApRequest.java
浏览文件 @
2a5ed7ca
...
@@ -109,6 +109,12 @@ public class SalesApRequest {
...
@@ -109,6 +109,12 @@ public class SalesApRequest {
* 档期规格是否执行
* 档期规格是否执行
*/
*/
private
String
specExecutionStatus
;
private
String
specExecutionStatus
;
/**
* 促销口味是否执行
*/
private
String
flavorExecutionStatus
;
/**
/**
* 实际-档期开始时间
* 实际-档期开始时间
*/
*/
...
...
src/main/java/com/sfa/operation/pojo/sales/response/SalesApPromotionDto.java
浏览文件 @
2a5ed7ca
...
@@ -25,6 +25,11 @@ public class SalesApPromotionDto {
...
@@ -25,6 +25,11 @@ public class SalesApPromotionDto {
* 档期规格是否执行
* 档期规格是否执行
*/
*/
private
String
specExecutionStatus
;
private
String
specExecutionStatus
;
/**
* 促销口味是否执行
*/
private
String
flavorExecutionStatus
;
/**
/**
* 实际-档期开始时间
* 实际-档期开始时间
*/
*/
...
...
src/main/java/com/sfa/operation/service/sales/IApDisplayQueryService.java
浏览文件 @
2a5ed7ca
...
@@ -11,4 +11,7 @@ import com.sfa.operation.pojo.sales.request.SalesApRequest;
...
@@ -11,4 +11,7 @@ import com.sfa.operation.pojo.sales.request.SalesApRequest;
public
interface
IApDisplayQueryService
{
public
interface
IApDisplayQueryService
{
PageInfo
page
(
SalesApRequest
salesApRequest
);
PageInfo
page
(
SalesApRequest
salesApRequest
);
PageInfo
proPage
(
SalesApRequest
salesApRequest
);
PageInfo
snackPage
(
SalesApRequest
salesApRequest
);
}
}
src/main/java/com/sfa/operation/service/sales/impl/ApDisplayQueryServiceImpl.java
浏览文件 @
2a5ed7ca
...
@@ -5,6 +5,8 @@ import cn.hutool.core.date.DateUtil;
...
@@ -5,6 +5,8 @@ import cn.hutool.core.date.DateUtil;
import
com.sfa.common.core.utils.bean.BeanUtils
;
import
com.sfa.common.core.utils.bean.BeanUtils
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.dao.ISalesApDisplayDao
;
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.wq.SalesApWq
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.sales.IApDisplayQueryService
;
import
com.sfa.operation.service.sales.IApDisplayQueryService
;
...
@@ -20,6 +22,10 @@ import org.springframework.stereotype.Service;
...
@@ -20,6 +22,10 @@ import org.springframework.stereotype.Service;
public
class
ApDisplayQueryServiceImpl
implements
IApDisplayQueryService
{
public
class
ApDisplayQueryServiceImpl
implements
IApDisplayQueryService
{
@Autowired
@Autowired
private
ISalesApDisplayDao
salesApDisplayDao
;
private
ISalesApDisplayDao
salesApDisplayDao
;
@Autowired
private
ISalesApPromotionDisplayDao
salesApPromotionDisplayDao
;
@Autowired
private
ISalesApSnacksDisplayDao
salesapsnackdsDisplayDao
;
@Override
@Override
public
PageInfo
page
(
SalesApRequest
salesApRequest
)
{
public
PageInfo
page
(
SalesApRequest
salesApRequest
)
{
SalesApWq
salesApWq
=
new
SalesApWq
();
SalesApWq
salesApWq
=
new
SalesApWq
();
...
@@ -27,4 +33,20 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
...
@@ -27,4 +33,20 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
salesApWq
.
setSalesMonth
(
salesApRequest
.
getSalesMonth
()
!=
null
?
DateUtil
.
parse
(
salesApRequest
.
getSalesMonth
()
+
"-01"
,
DatePattern
.
NORM_DATE_PATTERN
)
:
null
);
salesApWq
.
setSalesMonth
(
salesApRequest
.
getSalesMonth
()
!=
null
?
DateUtil
.
parse
(
salesApRequest
.
getSalesMonth
()
+
"-01"
,
DatePattern
.
NORM_DATE_PATTERN
)
:
null
);
return
salesApDisplayDao
.
page
(
salesApWq
);
return
salesApDisplayDao
.
page
(
salesApWq
);
}
}
@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
);
}
@Override
public
PageInfo
snackPage
(
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
salesapsnackdsDisplayDao
.
page
(
salesApWq
);
}
}
}
src/main/resources/mapper/sales/SalesApPromotionDisplayMapper.xml
0 → 100644
浏览文件 @
2a5ed7ca
<?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.SalesApPromotionDisplayMapper"
>
<resultMap
id=
"SalesApPromotionDisplayBase"
type=
"com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay"
>
<id
property=
"sapdId"
column=
"sapd_id"
jdbcType=
"BIGINT"
/>
<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=
"dealerType"
column=
"dealer_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"openingDate"
column=
"opening_date"
jdbcType=
"DATE"
/>
<result
property=
"closingDate"
column=
"closing_date"
jdbcType=
"DATE"
/>
<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=
"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=
"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=
"plannedPromotionSpec"
column=
"planned_promotion_spec"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedPromotionFlavor"
column=
"planned_promotion_flavor"
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=
"plannedPromotionStartDate"
column=
"planned_promotion_start_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedAdjustmentStartDate"
column=
"planned_adjustment_start_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedPromotionEndDate"
column=
"planned_promotion_end_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedAdjustmentEndDate"
column=
"planned_adjustment_end_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedPromotionDisplayStartDate"
column=
"planned_promotion_display_start_date"
jdbcType=
"DATE"
/>
<result
property=
"plannedPromotionDisplayEndDate"
column=
"planned_promotion_display_end_date"
jdbcType=
"DATE"
/>
<result
property=
"storeCode"
column=
"store_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeName"
column=
"store_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeType"
column=
"store_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCountNum"
column=
"store_count_num"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeAddress"
column=
"store_address"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedEndCapQty"
column=
"planned_end_cap_qty"
jdbcType=
"FLOAT"
/>
<result
property=
"plannedEndCapTotalCost"
column=
"planned_end_cap_total_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=
"plannedFloorStackArea"
column=
"planned_floor_stack_area"
jdbcType=
"FLOAT"
/>
<result
property=
"plannedFloorStackQty"
column=
"planned_floor_stack_qty"
jdbcType=
"INTEGER"
/>
<result
property=
"plannedFloorStackTotalCost"
column=
"planned_floor_stack_total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"actualFloorStackArea"
column=
"actual_floor_stack_area"
jdbcType=
"FLOAT"
/>
<result
property=
"actualFloorStackQty"
column=
"actual_floor_stack_qty"
jdbcType=
"INTEGER"
/>
<result
property=
"actualFloorStackExecuted"
column=
"actual_floor_stack_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedOtherDisplay"
column=
"planned_other_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedOtherDisplayTotalCost"
column=
"planned_other_display_total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"actualOtherDisplay"
column=
"actual_other_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualOtherDisplayExecuted"
column=
"actual_other_display_executed"
jdbcType=
"VARCHAR"
/>
<result
property=
"totalCost"
column=
"total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"promotionDisplayExecuted"
column=
"promotion_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"
/>
</resultMap>
</mapper>
src/main/resources/mapper/sales/SalesApPromotionMapper.xml
浏览文件 @
2a5ed7ca
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
<result
property=
"actualPromotionSpec"
column=
"actual_promotion_spec"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionSpec"
column=
"actual_promotion_spec"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionFlavor"
column=
"actual_promotion_flavor"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualPromotionFlavor"
column=
"actual_promotion_flavor"
jdbcType=
"VARCHAR"
/>
<result
property=
"specExecutionStatus"
column=
"spec_execution_status"
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"
/>
<result
property=
"totalCost"
column=
"total_cost"
jdbcType=
"DECIMAL"
/>
<result
property=
"totalCostRate"
column=
"total_cost_rate"
jdbcType=
"FLOAT"
/>
<result
property=
"totalCostRate"
column=
"total_cost_rate"
jdbcType=
"FLOAT"
/>
<result
property=
"plannedPromotionFormat"
column=
"planned_promotion_format"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedPromotionFormat"
column=
"planned_promotion_format"
jdbcType=
"VARCHAR"
/>
...
@@ -91,6 +92,9 @@
...
@@ -91,6 +92,9 @@
<if
test=
"actualPromotionFlavor != null"
>
<if
test=
"actualPromotionFlavor != null"
>
actual_promotion_flavor = #{actualPromotionFlavor},
actual_promotion_flavor = #{actualPromotionFlavor},
</if>
</if>
<if
test=
"flavorExecutionStatus != null"
>
flavor_execution_status = #{flavorExecutionStatus},
</if>
<if
test=
"specExecutionStatus != null"
>
<if
test=
"specExecutionStatus != null"
>
spec_execution_status = #{specExecutionStatus},
spec_execution_status = #{specExecutionStatus},
</if>
</if>
...
...
src/main/resources/mapper/sales/SalesApSnacksDisplayMapper.xml
0 → 100644
浏览文件 @
2a5ed7ca
<?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.SalesApSnacksDisplayMapper"
>
<resultMap
id=
"SalesApSnacksDisplayBase"
type=
"com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay"
>
<id
property=
"sasdId"
column=
"sasd_id"
jdbcType=
"BIGINT"
/>
<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=
"dealerType"
column=
"dealer_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"openingDate"
column=
"opening_date"
jdbcType=
"DATE"
/>
<result
property=
"closingDate"
column=
"closing_date"
jdbcType=
"DATE"
/>
<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=
"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=
"lineLf"
column=
"line_lf"
jdbcType=
"VARCHAR"
/>
<result
property=
"isDirect"
column=
"is_direct"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCode"
column=
"store_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeName"
column=
"store_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCount"
column=
"store_count"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeAddress"
column=
"store_address"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedDisplay"
column=
"planned_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"actualDisplay"
column=
"actual_display"
jdbcType=
"VARCHAR"
/>
<result
property=
"plannedEndCapQty"
column=
"planned_end_cap_qty"
jdbcType=
"FLOAT"
/>
<result
property=
"actualEndCapQty"
column=
"actual_end_cap_qty"
jdbcType=
"FLOAT"
/>
<result
property=
"totalCost"
column=
"total_cost"
jdbcType=
"DECIMAL"
/>
<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"
/>
</resultMap>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论