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
ac325b15
提交
ac325b15
authored
12月 17, 2025
作者:
窦馨雨
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'dxy' 到 'qa'
增加档期陈列的导出部分代码 查看合并请求
!98
上级
53167021
5ecbd267
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
222 行增加
和
4 行删除
+222
-4
SalesPermissionAspect.java
.../java/com/sfa/operation/aspect/SalesPermissionAspect.java
+40
-2
ISalesApPromotionDao.java
.../sfa/operation/domain/sales/dao/ISalesApPromotionDao.java
+10
-0
SalesApPromotionImplDao.java
...ration/domain/sales/dao/impl/SalesApPromotionImplDao.java
+13
-0
ExportAPType.java
src/main/java/com/sfa/operation/enums/ExportAPType.java
+5
-1
ImportApType.java
src/main/java/com/sfa/operation/enums/ImportApType.java
+5
-1
IApDisplayQueryService.java
...m/sfa/operation/service/sales/IApDisplayQueryService.java
+16
-0
ApDisplayQueryServiceImpl.java
...eration/service/sales/impl/ApDisplayQueryServiceImpl.java
+29
-0
PromotionDisplayExportStrategyImpl.java
...tegy/impl/exports/PromotionDisplayExportStrategyImpl.java
+104
-0
没有找到文件。
src/main/java/com/sfa/operation/aspect/SalesPermissionAspect.java
浏览文件 @
ac325b15
...
@@ -65,8 +65,23 @@ public class SalesPermissionAspect {
...
@@ -65,8 +65,23 @@ public class SalesPermissionAspect {
*/
*/
private
void
checkPermission
(
SalesApRequest
salesApRequest
)
{
private
void
checkPermission
(
SalesApRequest
salesApRequest
)
{
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
String
ancestors
=
loginUser
.
getSysUser
().
getDept
().
getAncestors
();
if
(
loginUser
==
null
||
loginUser
.
getSysUser
()
==
null
)
{
throw
new
CheckedException
(
ECode
.
QC_MARKET_EMP_ERROR
);
}
// 安全获取 ancestors 和 roles
String
ancestors
=
""
;
if
(
loginUser
.
getSysUser
().
getDept
()
!=
null
)
{
ancestors
=
loginUser
.
getSysUser
().
getDept
().
getAncestors
();
if
(
ancestors
==
null
)
{
ancestors
=
""
;
}
}
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
if
(
roles
==
null
)
{
roles
=
new
ArrayList
<>();
}
// 不是区域销售部的人员,可以查看所有
// 不是区域销售部的人员,可以查看所有
if
(!
ancestors
.
contains
(
constantValue
.
deptYX
)
&&
roles
.
stream
().
filter
(
role
->
RoleConstants
.
OPERATION_CENTER_AP_MANAGER
.
equals
(
role
.
getRoleKey
())).
findFirst
().
isPresent
())
{
if
(!
ancestors
.
contains
(
constantValue
.
deptYX
)
&&
roles
.
stream
().
filter
(
role
->
RoleConstants
.
OPERATION_CENTER_AP_MANAGER
.
equals
(
role
.
getRoleKey
())).
findFirst
().
isPresent
())
{
...
@@ -97,8 +112,23 @@ public class SalesPermissionAspect {
...
@@ -97,8 +112,23 @@ public class SalesPermissionAspect {
private
void
checkPermissionDept
(
SalesApRequest
salesApRequest
)
{
private
void
checkPermissionDept
(
SalesApRequest
salesApRequest
)
{
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
String
ancestors
=
loginUser
.
getSysUser
().
getDept
().
getAncestors
();
if
(
loginUser
==
null
||
loginUser
.
getSysUser
()
==
null
)
{
return
;
}
// 安全获取 ancestors 和 roles
String
ancestors
=
""
;
if
(
loginUser
.
getSysUser
().
getDept
()
!=
null
)
{
ancestors
=
loginUser
.
getSysUser
().
getDept
().
getAncestors
();
if
(
ancestors
==
null
)
{
ancestors
=
""
;
}
}
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
List
<
SysRole
>
roles
=
loginUser
.
getSysUser
().
getRoles
();
if
(
roles
==
null
)
{
roles
=
new
ArrayList
<>();
}
// 不是区域销售部的人员,可以查看所有
// 不是区域销售部的人员,可以查看所有
if
(!
ancestors
.
contains
(
constantValue
.
deptYX
)
&&
roles
.
stream
().
filter
(
role
->
RoleConstants
.
OPERATION_CENTER_AP_MANAGER
.
equals
(
role
.
getRoleKey
())).
findFirst
().
isPresent
())
{
if
(!
ancestors
.
contains
(
constantValue
.
deptYX
)
&&
roles
.
stream
().
filter
(
role
->
RoleConstants
.
OPERATION_CENTER_AP_MANAGER
.
equals
(
role
.
getRoleKey
())).
findFirst
().
isPresent
())
{
...
@@ -107,7 +137,15 @@ public class SalesPermissionAspect {
...
@@ -107,7 +137,15 @@ public class SalesPermissionAspect {
// 是区域销售部的人员按部门查询
// 是区域销售部的人员按部门查询
String
empNo
=
loginUser
.
getUsername
();
String
empNo
=
loginUser
.
getUsername
();
if
(
loginUser
.
getSysUser
().
getDept
()
==
null
)
{
return
;
}
String
deptName
=
loginUser
.
getSysUser
().
getDept
().
getDeptNameSale
();
String
deptName
=
loginUser
.
getSysUser
().
getDept
().
getDeptNameSale
();
if
(
deptName
==
null
)
{
deptName
=
""
;
}
salesApRequest
.
setDeptNames
(
"000889"
.
equals
(
empNo
)
?
Arrays
.
asList
(
deptName
,
"北京特区"
)
:
Arrays
.
asList
(
deptName
));
salesApRequest
.
setDeptNames
(
"000889"
.
equals
(
empNo
)
?
Arrays
.
asList
(
deptName
,
"北京特区"
)
:
Arrays
.
asList
(
deptName
));
}
}
}
}
src/main/java/com/sfa/operation/domain/sales/dao/ISalesApPromotionDao.java
浏览文件 @
ac325b15
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
;
package
com
.
sfa
.
operation
.
domain
.
sales
.
dao
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotion
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.response.SalesApPromotionDto
;
import
com.sfa.operation.pojo.sales.response.SalesApPromotionDto
;
import
java.util.List
;
/**
/**
* @author : liqiulin
* @author : liqiulin
* @date : 2025-09-17 15
* @date : 2025-09-17 15
...
@@ -13,4 +16,11 @@ public interface ISalesApPromotionDao {
...
@@ -13,4 +16,11 @@ public interface ISalesApPromotionDao {
PageInfo
page
(
SalesApWq
salesApWq
);
PageInfo
page
(
SalesApWq
salesApWq
);
void
updateById
(
SalesApPromotionDto
dto
);
void
updateById
(
SalesApPromotionDto
dto
);
/**
* 导出 - 根据条件查询导出数据
* @param build 条件
* @return List<SalesApPromotion>
*/
List
<
SalesApPromotion
>
queryPromotionDisplayByCondition
(
SalesApWq
build
);
}
}
src/main/java/com/sfa/operation/domain/sales/dao/impl/SalesApPromotionImplDao.java
浏览文件 @
ac325b15
...
@@ -19,7 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -19,7 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
/**
/**
...
@@ -69,6 +71,17 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
...
@@ -69,6 +71,17 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
salesApPromotionMapper
.
putById
(
salesApPromotion
);
salesApPromotionMapper
.
putById
(
salesApPromotion
);
}
}
/**
* 导出 - 根据条件查询导出数据
* @param build 条件
* @return 查询结果列表
*/
@Override
public
List
<
SalesApPromotion
>
queryPromotionDisplayByCondition
(
SalesApWq
build
)
{
LambdaQueryWrapper
<
SalesApPromotion
>
queryWrapper
=
buildWq
(
build
);
return
salesApPromotionMapper
.
selectList
(
queryWrapper
);
}
private
LambdaQueryWrapper
<
SalesApPromotion
>
buildWq
(
SalesApWq
salesApWq
)
{
private
LambdaQueryWrapper
<
SalesApPromotion
>
buildWq
(
SalesApWq
salesApWq
)
{
LambdaQueryWrapper
<
SalesApPromotion
>
qw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
SalesApPromotion
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDealerCode
()))
{
if
(
StringUtils
.
isNotBlank
(
salesApWq
.
getDealerCode
()))
{
...
...
src/main/java/com/sfa/operation/enums/ExportAPType.java
浏览文件 @
ac325b15
...
@@ -28,7 +28,11 @@ public enum ExportAPType {
...
@@ -28,7 +28,11 @@ public enum ExportAPType {
/**
/**
* 六小金刚策略
* 六小金刚策略
*/
*/
SIX_KINGkONG_EXPORT
(
"sixKingKongExportStrategy"
);
SIX_KINGkONG_EXPORT
(
"sixKingKongExportStrategy"
),
/**
* 档期陈列策略
*/
PROMOTION_DISPLAY_EXPORT
(
"promotionDisplayExportStrategy"
);
private
final
String
strategy
;
private
final
String
strategy
;
ExportAPType
(
String
strategy
)
{
ExportAPType
(
String
strategy
)
{
...
...
src/main/java/com/sfa/operation/enums/ImportApType.java
浏览文件 @
ac325b15
...
@@ -28,7 +28,11 @@ public enum ImportApType {
...
@@ -28,7 +28,11 @@ public enum ImportApType {
/**
/**
* 六小金刚导入策略
* 六小金刚导入策略
*/
*/
SIX_KINGkONG_IMPORT
(
"sixKingKongImportStrategy"
);
SIX_KINGkONG_IMPORT
(
"sixKingKongImportStrategy"
),
/**
* 档期陈列导入策略
*/
PROMOTION_DISPLAY_IMPORT
(
"promotionDisplayImportStrategy"
);
private
final
String
importStrategy
;
private
final
String
importStrategy
;
ImportApType
(
String
importStrategy
)
{
ImportApType
(
String
importStrategy
)
{
...
...
src/main/java/com/sfa/operation/service/sales/IApDisplayQueryService.java
浏览文件 @
ac325b15
...
@@ -2,6 +2,8 @@ package com.sfa.operation.service.sales;
...
@@ -2,6 +2,8 @@ package com.sfa.operation.service.sales;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotion
;
import
com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay
;
import
com.sfa.operation.pojo.sales.excel.SalesApDisplayImportExcelDto
;
import
com.sfa.operation.pojo.sales.excel.SalesApDisplayImportExcelDto
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
...
@@ -32,4 +34,18 @@ public interface IApDisplayQueryService {
...
@@ -32,4 +34,18 @@ public interface IApDisplayQueryService {
Object
queryDistAPReport
(
SalesApRequest
request
);
Object
queryDistAPReport
(
SalesApRequest
request
);
List
<
SalesApDisplay
>
queryDataListByCondition
(
SalesApRequest
build
);
List
<
SalesApDisplay
>
queryDataListByCondition
(
SalesApRequest
build
);
List
<
SalesApDisplay
>
queryByCondition
(
List
<
SalesApDisplayImportExcelDto
>
queryParam
);
List
<
SalesApDisplay
>
queryByCondition
(
List
<
SalesApDisplayImportExcelDto
>
queryParam
);
/**
* 导出 - 根据条件查询零食陈列
* @param salesApRequest 查询条件
* @return 返回根据条件查询的结果列表
*/
List
<
SalesApSnacksDisplay
>
querySnackByCondition
(
SalesApRequest
salesApRequest
);
/**
* 导出- 根据条件查询数据结果集
* @param salesApRequest 查询条件
* @return 返回根据条件查询的结果列表
*/
List
<
SalesApPromotion
>
queryPromotionDisplayByCondition
(
SalesApRequest
salesApRequest
);
}
}
src/main/java/com/sfa/operation/service/sales/impl/ApDisplayQueryServiceImpl.java
浏览文件 @
ac325b15
...
@@ -6,12 +6,16 @@ import com.sfa.common.core.utils.bean.BeanUtils;
...
@@ -6,12 +6,16 @@ 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.*
;
import
com.sfa.operation.domain.sales.dao.*
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApDisplay
;
import
com.sfa.operation.domain.sales.entity.SalesApPromotion
;
import
com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.domain.sales.wq.SalesApWq
;
import
com.sfa.operation.pojo.sales.excel.SalesApDisplayImportExcelDto
;
import
com.sfa.operation.pojo.sales.excel.SalesApDisplayImportExcelDto
;
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
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -79,16 +83,41 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
...
@@ -79,16 +83,41 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
return
salesApDisplayDao
.
queryDistAPReport
(
build
(
request
));
return
salesApDisplayDao
.
queryDistAPReport
(
build
(
request
));
}
}
/**
* 导入导出根据条件查询
* @param request 请求参数
* @return List
*/
@Override
@Override
public
List
<
SalesApDisplay
>
queryDataListByCondition
(
SalesApRequest
request
)
{
public
List
<
SalesApDisplay
>
queryDataListByCondition
(
SalesApRequest
request
)
{
return
salesApDisplayDao
.
queryDataListByCondition
(
build
(
request
));
return
salesApDisplayDao
.
queryDataListByCondition
(
build
(
request
));
}
}
/**
* 导入数据时 根据DTO的内容批量查询数据
* @param validDtoList
* @return
*/
@Override
@Override
public
List
<
SalesApDisplay
>
queryByCondition
(
List
<
SalesApDisplayImportExcelDto
>
validDtoList
)
{
public
List
<
SalesApDisplay
>
queryByCondition
(
List
<
SalesApDisplayImportExcelDto
>
validDtoList
)
{
return
salesApDisplayDao
.
queryByCondition
(
validDtoList
);
return
salesApDisplayDao
.
queryByCondition
(
validDtoList
);
}
}
/**
* 根据条件查询零食陈列
* @param request
* @return List
*/
@Override
public
List
<
SalesApSnacksDisplay
>
querySnackByCondition
(
SalesApRequest
request
)
{
return
salesapsnackdsDisplayDao
.
querySnackByCondition
(
build
(
request
));
}
@Override
public
List
<
SalesApPromotion
>
queryPromotionDisplayByCondition
(
SalesApRequest
request
)
{
return
salesApPromotionDao
.
queryPromotionDisplayByCondition
(
build
(
request
));
}
private
SalesApWq
build
(
SalesApRequest
salesApRequest
){
private
SalesApWq
build
(
SalesApRequest
salesApRequest
){
SalesApWq
salesApWq
=
new
SalesApWq
();
SalesApWq
salesApWq
=
new
SalesApWq
();
BeanUtils
.
copyProperties
(
salesApRequest
,
salesApWq
);
BeanUtils
.
copyProperties
(
salesApRequest
,
salesApWq
);
...
...
src/main/java/com/sfa/operation/strategy/impl/exports/PromotionDisplayExportStrategyImpl.java
0 → 100644
浏览文件 @
ac325b15
package
com
.
sfa
.
operation
.
strategy
.
impl
.
exports
;
import
com.sfa.operation.config.ExportColumnConfig
;
import
com.sfa.operation.domain.sales.dao.ISalesApPromotionDao
;
import
com.sfa.operation.pojo.sales.request.SalesApRequest
;
import
com.sfa.operation.service.sales.IApDisplayQueryService
;
import
com.sfa.operation.strategy.IExportApExcelStrategy
;
import
com.sfa.operation.util.excel.ExcelStyleUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @Author: DouXinYu
* @Date: 2025-12-16 13:28
* @Description: 档期陈列导出策略实现类
*/
@Component
(
"promotionDisplayExportStrategy"
)
public
class
PromotionDisplayExportStrategyImpl
implements
IExportApExcelStrategy
{
private
static
final
String
FILE_NAME_PREFIX
=
"档期陈列"
;
private
static
final
String
SHEET_NAME
=
"档期陈列"
;
@Autowired
private
IApDisplayQueryService
apDisplayQueryService
;
@Override
public
List
<
ExportColumnConfig
>
getExportColumnConfig
()
{
List
<
ExportColumnConfig
>
column
=
new
ArrayList
<>();
//特殊列处理
//实际端架数量
ExportColumnConfig
actualEndCapQty
=
new
ExportColumnConfig
(
"actualEndCapQty"
,
"端架数量(实际)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
LIGHT_BLUE_BG
);
actualEndCapQty
.
setValidationValidOptions
(
Arrays
.
asList
(
"0"
,
"0.5"
,
"1"
,
"2"
));
actualEndCapQty
.
setValidationErrorTitle
(
"输入错误"
);
actualEndCapQty
.
setValidationErrorMsg
(
"端架数量必须是“0、0.5、1、2”之一!"
);
actualEndCapQty
.
setConditionalStyling
(
true
);
//实际地堆平米数
ExportColumnConfig
actualFloorStackArea
=
new
ExportColumnConfig
(
"actualFloorStackArea"
,
"地堆平米数(实际)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
LIGHT_BLUE_BG
);
actualFloorStackArea
.
setValidationValidOptions
(
Arrays
.
asList
(
"0"
,
"0.5"
,
"0.8"
,
"1"
,
"2"
,
"3"
,
"4"
,
"5"
));
actualFloorStackArea
.
setValidationErrorTitle
(
"输入错误"
);
actualFloorStackArea
.
setValidationErrorMsg
(
"地堆平米数必须是“0、0.5、0.8、1、2、3、4、5”之一!"
);
actualFloorStackArea
.
setConditionalStyling
(
true
);
//实际地堆数量
ExportColumnConfig
actualFloorStackQty
=
new
ExportColumnConfig
(
"actualFloorStackQty"
,
"地堆数量(实际)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
LIGHT_BLUE_BG
);
actualFloorStackQty
.
setNumberValidation
(
true
);
actualFloorStackQty
.
setValidationNumberMin
(
0.0
);
actualFloorStackQty
.
setValidationNumberMax
(
99999999999999999.999999999999999999
);
actualFloorStackQty
.
setValidationErrorTitle
(
"输入错误"
);
actualFloorStackQty
.
setValidationErrorMsg
(
"地堆数量必须是大于0的数字!"
);
actualFloorStackQty
.
setConditionalStyling
(
true
);
//实际其他陈列数量+形式
ExportColumnConfig
actualOtherDisplay
=
new
ExportColumnConfig
(
"actualOtherDisplay"
,
"其他陈列数量+形式(实际)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
LIGHT_BLUE_BG
);
actualOtherDisplay
.
setValidationValidOptions
(
Arrays
.
asList
(
"执行与计划一致"
,
"执行与计划不一致"
));
actualOtherDisplay
.
setValidationErrorTitle
(
"输入错误"
);
actualOtherDisplay
.
setValidationPromptMsg
(
"其他陈列数量+形式(实际)必须输入“执行与计划一致”或“执行与计划不一致”!"
);
actualOtherDisplay
.
setConditionalStyling
(
true
);
column
.
add
(
new
ExportColumnConfig
(
"sapdId"
,
"程序编号-请忽略"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"salesMonth"
,
"计划月份"
,
"YYYY-MM"
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"regionName"
,
"销售大区"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"districtName"
,
"销售战区"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"dealerCode"
,
"经销商代码"
,
"@"
,
ExcelStyleUtils
.
ExcelStyle
.
CHANGE_TEXT_STYLE
));
column
.
add
(
new
ExportColumnConfig
(
"dealerName"
,
"经销商名称"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"lineName"
,
"系统名称"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"storeCode"
,
"门店编码"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"store_name"
,
"门店名称"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
new
ExportColumnConfig
(
"plannedEndCapQty"
,
"端架数量(计划)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
actualEndCapQty
);
column
.
add
(
new
ExportColumnConfig
(
"plannedFloorStackArea"
,
"地堆平米数(计划)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
actualFloorStackArea
);
column
.
add
(
new
ExportColumnConfig
(
"plannedFloorStackQty"
,
"地堆数量(计划)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
actualFloorStackQty
);
column
.
add
(
new
ExportColumnConfig
(
"plannedOtherDisplay"
,
"其他陈列数量+形式(计划)"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
UNMODIFIABLE
));
column
.
add
(
actualOtherDisplay
);
column
.
add
(
new
ExportColumnConfig
(
"remark"
,
"备注"
,
""
,
ExcelStyleUtils
.
ExcelStyle
.
DEFAULT_STYLE
));
return
column
;
}
@Override
public
List
<?>
queryData
(
SalesApRequest
salesApRequest
)
{
return
apDisplayQueryService
.
queryPromotionDisplayByCondition
(
salesApRequest
);
}
@Override
public
String
getExportSheetName
()
{
return
SHEET_NAME
;
}
@Override
public
String
getExportFileNamePrefix
()
{
return
FILE_NAME_PREFIX
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论