Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-export
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
wangxiaolu-export
Commits
b5342c98
提交
b5342c98
authored
8月 12, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
飞书CP表格添加活动品项
上级
2342174c
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
56 行增加
和
52 行删除
+56
-52
TemporaryActivityReportedDO.java
...olu/export/mapper/entity/TemporaryActivityReportedDO.java
+5
-0
ActivityToFeishuSheetServiceImpl.java
...export/service/impl/ActivityToFeishuSheetServiceImpl.java
+44
-49
TemporaryActivityReportedMapper.xml
...main/resources/mapper/TemporaryActivityReportedMapper.xml
+7
-3
没有找到文件。
src/main/java/com/wangxiaolu/export/mapper/entity/TemporaryActivityReportedDO.java
浏览文件 @
b5342c98
...
...
@@ -52,4 +52,8 @@ public class TemporaryActivityReportedDO implements Serializable {
@TableField
(
exist
=
false
)
private
String
date
;
/**
* 活动品项:老品/黑鸭/散称
*/
private
String
prdClass
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/export/service/impl/ActivityToFeishuSheetServiceImpl.java
浏览文件 @
b5342c98
...
...
@@ -132,6 +132,8 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
// 活动形式
row
.
add
(
rdo
.
getActivityPattern
());
// 活动品类
row
.
add
(
rdo
.
getPrdClass
());
// 是否提交审核
row
.
add
(
"APPROVED"
.
equals
(
rdo
.
getApproveStatus
())
?
"已审核"
:
"未提交"
);
...
...
@@ -175,10 +177,6 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
if
(
null
!=
clockDo
.
getClockOutTime
())
{
timeSb
.
append
(
"、下班卡:"
).
append
(
this
.
formatDateTime
(
clockDo
.
getClockOutTime
()));
}
// rowClockData.add(DateUtil.formatDateTime(clockDo.getClockInTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockOutTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockInTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getClockOutTime()));
rowClockData
.
add
(
timeSb
.
toString
());
// 打卡地点
...
...
@@ -195,12 +193,9 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
if
(
null
!=
clockDo
.
getClockOutAddress
())
{
addrSb
.
append
(
"、"
).
append
(
clockDo
.
getClockOutAddress
());
}
// rowClockData.add(clockDo.getClockInAddress());
// rowClockData.add(clockDo.getNoonClockOutAddress());
// rowClockData.add(clockDo.getNoonClockInAddress());
// rowClockData.add(clockDo.getClockOutAddress());
rowClockData
.
add
(
addrSb
.
toString
());
String
range
=
String
.
format
(
rangFormat
,
"T"
,
"V"
);
// todo 顺延
String
range
=
String
.
format
(
rangFormat
,
"T"
,
"W"
);
updateClockData
(
range
,
rowClockData
);
}
...
...
@@ -216,28 +211,28 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
/**
* 推广照>> 真实pos证明反馈
*/
List
<
TemporaryActivityPhotoDO
>
photosType7
=
Objects
.
isNull
(
photoTypeMap
.
get
(
7
))
?
new
ArrayList
<>()
:
photoTypeMap
.
get
(
7
);
int
photosType7Size
=
photosType7
.
size
();
// 真实pos证明反馈1 >>>
if
(!(
photosType7Size
<
1
||
Objects
.
isNull
(
photosType7
.
get
(
0
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"P"
,
"P"
),
photosType7
.
get
(
0
).
getPhotoUrl
());
}
// 真实pos证明反馈2 >>>
if
(!(
photosType7Size
<
2
||
Objects
.
isNull
(
photosType7
.
get
(
1
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"Q"
,
"Q"
),
photosType7
.
get
(
1
).
getPhotoUrl
());
}
// 真实pos证明反馈3 >>>
if
(!(
photosType7Size
<
3
||
Objects
.
isNull
(
photosType7
.
get
(
2
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"R"
,
"R"
),
photosType7
.
get
(
2
).
getPhotoUrl
());
}
// 真实pos证明反馈4 >>>
if
(!(
photosType7Size
<
4
||
Objects
.
isNull
(
photosType7
.
get
(
3
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"S"
,
"S"
),
photosType7
.
get
(
3
).
getPhotoUrl
());
}
//
List<TemporaryActivityPhotoDO> photosType7 = Objects.isNull(photoTypeMap.get(7)) ? new ArrayList<>() : photoTypeMap.get(7);
//
int photosType7Size = photosType7.size();
//
//
// 真实pos证明反馈1 >>>
//
if (!(photosType7Size < 1 || Objects.isNull(photosType7.get(0)))) {
//
valuesImageToSheet(String.format(rangFormat, "P", "P"), photosType7.get(0).getPhotoUrl());
//
}
//
//
// 真实pos证明反馈2 >>>
//
if (!(photosType7Size < 2 || Objects.isNull(photosType7.get(1)))) {
//
valuesImageToSheetByRobot2(String.format(rangFormat, "Q", "Q"), photosType7.get(1).getPhotoUrl());
//
}
//
//
// 真实pos证明反馈3 >>>
//
if (!(photosType7Size < 3 || Objects.isNull(photosType7.get(2)))) {
//
valuesImageToSheet(String.format(rangFormat, "R", "R"), photosType7.get(2).getPhotoUrl());
//
}
//
//
// 真实pos证明反馈4 >>>
//
if (!(photosType7Size < 4 || Objects.isNull(photosType7.get(3)))) {
//
valuesImageToSheetByRobot2(String.format(rangFormat, "S", "S"), photosType7.get(3).getPhotoUrl());
//
}
log
.
info
(
"上传pos照片完成,行号:{}"
,
rowNumStr
);
/**
...
...
@@ -247,22 +242,22 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
Map
<
Integer
,
String
>
clockMap
=
activityClock
.
stream
().
collect
(
Collectors
.
toMap
(
TemporaryActivityPhotoDO:
:
getType
,
TemporaryActivityPhotoDO:
:
getPhotoUrl
));
// 上班打卡照片 >>>
if
(
clockMap
.
containsKey
(
4
))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"
W"
,
"W
"
),
clockMap
.
get
(
4
));
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"
X"
,
"X
"
),
clockMap
.
get
(
4
));
}
// 午休下班打卡照片 >>>
if
(
clockMap
.
containsKey
(
5
))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"
X"
,
"X
"
),
clockMap
.
get
(
5
));
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"
Y"
,
"Y
"
),
clockMap
.
get
(
5
));
}
// 午休上班打卡照片 >>>
if
(
clockMap
.
containsKey
(
6
))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"
Y"
,
"Y
"
),
clockMap
.
get
(
6
));
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"
Z"
,
"Z
"
),
clockMap
.
get
(
6
));
}
// 下班打卡照片 >>>
if
(
clockMap
.
containsKey
(
7
))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"
Z"
,
"Z
"
),
clockMap
.
get
(
7
));
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"
AA"
,
"AA
"
),
clockMap
.
get
(
7
));
}
log
.
info
(
"上传打卡照片完成,行号:{}"
,
rowNumStr
);
...
...
@@ -274,25 +269,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int
photosType1Size
=
photosType1
.
size
();
// 推广试吃照片1 >>>
if
(!(
photosType1Size
<
1
||
Objects
.
isNull
(
photosType1
.
get
(
0
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
A"
,
"AA
"
),
photosType1
.
get
(
0
).
getPhotoUrl
());
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
B"
,
"AB
"
),
photosType1
.
get
(
0
).
getPhotoUrl
());
pct
.
append
(
"试吃1:"
+
DateUtil
.
formatDateTime
(
photosType1
.
get
(
0
).
getCreateTime
()));
}
// 推广试吃照片2 >>>
if
(!(
photosType1Size
<
2
||
Objects
.
isNull
(
photosType1
.
get
(
1
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
B"
,
"AB
"
),
photosType1
.
get
(
1
).
getPhotoUrl
());
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
C"
,
"AC
"
),
photosType1
.
get
(
1
).
getPhotoUrl
());
pct
.
append
(
"、试吃2:"
+
DateUtil
.
formatDateTime
(
photosType1
.
get
(
1
).
getCreateTime
()));
}
// 推广试吃照片3 >>>
if
(!(
photosType1Size
<
3
||
Objects
.
isNull
(
photosType1
.
get
(
2
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
C"
,
"AC
"
),
photosType1
.
get
(
2
).
getPhotoUrl
());
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
D"
,
"AD
"
),
photosType1
.
get
(
2
).
getPhotoUrl
());
pct
.
append
(
"、试吃3:"
+
DateUtil
.
formatDateTime
(
photosType1
.
get
(
2
).
getCreateTime
()));
}
// 推广试吃照片4 >>>
if
(!(
photosType1Size
<
4
||
Objects
.
isNull
(
photosType1
.
get
(
3
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
D"
,
"AD
"
),
photosType1
.
get
(
3
).
getPhotoUrl
());
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
E"
,
"AE
"
),
photosType1
.
get
(
3
).
getPhotoUrl
());
pct
.
append
(
"、试吃4:"
+
DateUtil
.
formatDateTime
(
photosType1
.
get
(
3
).
getCreateTime
()));
}
log
.
info
(
"上传推广-试吃照片完成,行号:{}"
,
rowNumStr
);
...
...
@@ -304,25 +299,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int
photosType2Size
=
photosType2
.
size
();
// 推广互动照片1 >>>
if
(!(
photosType2Size
<
1
||
Objects
.
isNull
(
photosType2
.
get
(
0
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
E"
,
"AE
"
),
photosType2
.
get
(
0
).
getPhotoUrl
());
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
F"
,
"AF
"
),
photosType2
.
get
(
0
).
getPhotoUrl
());
pct
.
append
(
"、互动1:"
+
DateUtil
.
formatDateTime
(
photosType2
.
get
(
0
).
getCreateTime
()));
}
// 推广互动照片2 >>>
if
(!(
photosType2Size
<
2
||
Objects
.
isNull
(
photosType2
.
get
(
1
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
F"
,
"AF
"
),
photosType2
.
get
(
1
).
getPhotoUrl
());
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
G"
,
"AG
"
),
photosType2
.
get
(
1
).
getPhotoUrl
());
pct
.
append
(
"、互动2:"
+
DateUtil
.
formatDateTime
(
photosType2
.
get
(
1
).
getCreateTime
()));
}
// 推广互动照片3 >>>
if
(!(
photosType2Size
<
3
||
Objects
.
isNull
(
photosType2
.
get
(
2
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
G"
,
"AG
"
),
photosType2
.
get
(
2
).
getPhotoUrl
());
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
H"
,
"AH
"
),
photosType2
.
get
(
2
).
getPhotoUrl
());
pct
.
append
(
"、互动3:"
+
DateUtil
.
formatDateTime
(
photosType2
.
get
(
2
).
getCreateTime
()));
}
// 推广互动照片4 >>>
if
(!(
photosType2Size
<
4
||
Objects
.
isNull
(
photosType2
.
get
(
3
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
H"
,
"AH
"
),
photosType2
.
get
(
3
).
getPhotoUrl
());
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
I"
,
"AI
"
),
photosType2
.
get
(
3
).
getPhotoUrl
());
pct
.
append
(
"、互动4:"
+
DateUtil
.
formatDateTime
(
photosType2
.
get
(
3
).
getCreateTime
()));
}
log
.
info
(
"上传推广-互动照片完成,行号:{}"
,
rowNumStr
);
...
...
@@ -334,30 +329,30 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int
photosType3Size
=
photosType3
.
size
();
// 推广成交照片1 >>>
if
(!(
photosType3Size
<
1
||
Objects
.
isNull
(
photosType3
.
get
(
0
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
I"
,
"AI
"
),
photosType3
.
get
(
0
).
getPhotoUrl
());
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
J"
,
"AJ
"
),
photosType3
.
get
(
0
).
getPhotoUrl
());
pct
.
append
(
"、成交1:"
+
DateUtil
.
formatDateTime
(
photosType3
.
get
(
0
).
getCreateTime
()));
}
// 推广成交照片2 >>>
if
(!(
photosType3Size
<
2
||
Objects
.
isNull
(
photosType3
.
get
(
1
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
J"
,
"AJ
"
),
photosType3
.
get
(
1
).
getPhotoUrl
());
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
K"
,
"AK
"
),
photosType3
.
get
(
1
).
getPhotoUrl
());
pct
.
append
(
"、成交2:"
+
DateUtil
.
formatDateTime
(
photosType3
.
get
(
1
).
getCreateTime
()));
}
// 推广成交照片3 >>>
if
(!(
photosType3Size
<
3
||
Objects
.
isNull
(
photosType3
.
get
(
2
))))
{
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
K"
,
"AK
"
),
photosType3
.
get
(
2
).
getPhotoUrl
());
valuesImageToSheet
(
String
.
format
(
rangFormat
,
"A
L"
,
"AL
"
),
photosType3
.
get
(
2
).
getPhotoUrl
());
pct
.
append
(
"、成交3:"
+
DateUtil
.
formatDateTime
(
photosType3
.
get
(
2
).
getCreateTime
()));
}
// 推广成交照片4 >>>
if
(!(
photosType3Size
<
4
||
Objects
.
isNull
(
photosType3
.
get
(
3
))))
{
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
L"
,
"AL
"
),
photosType3
.
get
(
3
).
getPhotoUrl
());
valuesImageToSheetByRobot2
(
String
.
format
(
rangFormat
,
"A
M"
,
"AM
"
),
photosType3
.
get
(
3
).
getPhotoUrl
());
pct
.
append
(
"、成交4:"
+
DateUtil
.
formatDateTime
(
photosType3
.
get
(
3
).
getCreateTime
()));
}
// 推广类照片上传时间
String
range
=
String
.
format
(
rangFormat
,
"A
M"
,
"AM
"
);
String
range
=
String
.
format
(
rangFormat
,
"A
N"
,
"AN
"
);
updateClockData
(
range
,
Arrays
.
asList
(
pct
.
toString
()));
log
.
info
(
"上传推广-成交照片完成,行号:{}"
,
rowNumStr
);
...
...
@@ -367,7 +362,7 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
String
redisKey
=
getRowNumRedisKey
();
String
rowNumStr
=
redisCache
.
get
(
redisKey
);
Integer
rowNumNext
=
StringUtils
.
isBlank
(
rowNumStr
)
?
2
:
Integer
.
parseInt
(
rowNumStr
)
+
1
;
String
range
=
sheetInfoD
.
getSheetId
()
+
"!A"
+
rowNumNext
+
":
O
"
+
rowNumNext
;
String
range
=
sheetInfoD
.
getSheetId
()
+
"!A"
+
rowNumNext
+
":
P
"
+
rowNumNext
;
Integer
rowNumEnd
=
feishuSheetUtils
.
appendValueToSheet
(
range
,
rowData
,
sheetInfoD
.
getSheetToken
(),
getFeishuTenantToken1
());
if
(
rowNumEnd
<
1
)
{
...
...
src/main/resources/mapper/TemporaryActivityReportedMapper.xml
浏览文件 @
b5342c98
...
...
@@ -17,6 +17,7 @@
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"lineName"
column=
"line_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"orgName"
column=
"org_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"prdClass"
column=
"prd_class"
jdbcType=
"VARCHAR"
/>
</resultMap>
<select
id=
"findListByCreateDate"
resultMap=
"BaseResultMap"
>
...
...
@@ -32,7 +33,8 @@
activity_pattern,
approve_status,
line_name,
dept_qc_org_name as org_name
dept_qc_org_name as org_name,
prd_class
from temporary_activity_reported
where create_time BETWEEN '${dateStr} 00:00:00' and '${dateStr} 23:59:00'
and is_delete = 1
...
...
@@ -52,7 +54,8 @@
activity_pattern,
approve_status,
line_name,
dept_qc_org_name as org_name
dept_qc_org_name as org_name,
prd_class
from temporary_activity_reported
where create_time between #{params.createDateStart} and #{params.createDateEnd}
and is_delete = 1
...
...
@@ -73,7 +76,8 @@
activity_pattern,
approve_status,
line_name,
dept_qc_org_name as org_name
dept_qc_org_name as org_name,
prd_class
from temporary_activity_reported
where id in
<foreach
collection=
"ids"
item=
"id"
open=
"("
close=
")"
separator=
","
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论