Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
7cc006fe
提交
7cc006fe
authored
7月 28, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修复excel 替换/追加
上级
ddae50a7
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
47 行增加
和
61 行删除
+47
-61
ExtractDataService.java
.../java/io/dataease/service/dataset/ExtractDataService.java
+22
-37
AddExcel.vue
frontend/src/views/dataset/add/AddExcel.vue
+1
-1
UpdateInfo.vue
frontend/src/views/dataset/data/UpdateInfo.vue
+24
-23
没有找到文件。
backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
浏览文件 @
7cc006fe
...
...
@@ -267,6 +267,9 @@ public class ExtractDataService {
});
String
dorisTablColumnSql
=
createDorisTablColumnSql
(
datasetTableFields
);
boolean
msg
=
false
;
JobStatus
jobStatus
=
JobStatus
.
Completed
;
Long
execTime
=
null
;
switch
(
updateType
)
{
case
all_scope:
// 全量更新
try
{
...
...
@@ -281,29 +284,22 @@ public class ExtractDataService {
}
else
{
generateJobFile
(
"all_scope"
,
datasetTable
,
String
.
join
(
","
,
datasetTableFields
.
stream
().
map
(
DatasetTableField:
:
getDataeaseName
).
collect
(
Collectors
.
toList
())));
}
Long
execTime
=
System
.
currentTimeMillis
();
execTime
=
System
.
currentTimeMillis
();
extractData
(
datasetTable
,
"all_scope"
);
replaceTable
(
DorisTableUtils
.
dorisName
(
datasetTableId
));
saveSucessLog
(
datasetTableTaskLog
);
sendWebMsg
(
datasetTable
,
datasetTableTask
,
datasetTableTaskLog
,
true
);
deleteFile
(
"all_scope"
,
datasetTableId
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
JobStatus
.
Completed
);
msg
=
true
;
jobStatus
=
JobStatus
.
Completed
;
}
catch
(
Exception
e
)
{
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
JobStatus
.
Error
);
sendWebMsg
(
datasetTable
,
datasetTableTask
,
datasetTableTaskLog
,
false
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
dropDorisTable
(
DorisTableUtils
.
dorisTmpName
(
DorisTableUtils
.
dorisName
(
datasetTableId
)));
deleteFile
(
"all_scope"
,
datasetTableId
);
msg
=
false
;
jobStatus
=
JobStatus
.
Error
;
}
finally
{
try
{
deleteFile
(
"all_scope"
,
datasetTableId
);
}
catch
(
Exception
ignore
){}
try
{
sendWebMsg
(
datasetTable
,
datasetTableTask
,
datasetTableTaskLog
,
msg
);
}
catch
(
Exception
ignore
){}
try
{
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
jobStatus
);
}
catch
(
Exception
ignore
){}
try
{
updateTableStatus
(
datasetTableId
,
datasetTable
,
jobStatus
,
execTime
);
}
catch
(
Exception
ignore
){}
try
{
dropDorisTable
(
DorisTableUtils
.
dorisTmpName
(
DorisTableUtils
.
dorisName
(
datasetTableId
)));
}
catch
(
Exception
ignore
){}
}
break
;
...
...
@@ -323,7 +319,7 @@ public class ExtractDataService {
if
(
datasetTableTask
==
null
)
{
datasetTableTaskLog
=
writeDatasetTableTaskLog
(
datasetTableId
,
taskId
);
}
Long
execTime
=
System
.
currentTimeMillis
();
execTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isNotEmpty
(
datasetTableIncrementalConfig
.
getIncrementalAdd
())
&&
StringUtils
.
isNotEmpty
(
datasetTableIncrementalConfig
.
getIncrementalAdd
().
replace
(
" "
,
""
)))
{
// 增量添加
String
sql
=
datasetTableIncrementalConfig
.
getIncrementalAdd
().
replace
(
lastUpdateTime
,
datasetTable
.
getLastUpdateTime
().
toString
())
.
replace
(
currentUpdateTime
,
Long
.
valueOf
(
System
.
currentTimeMillis
()).
toString
());
...
...
@@ -341,28 +337,17 @@ public class ExtractDataService {
}
saveSucessLog
(
datasetTableTaskLog
);
sendWebMsg
(
datasetTable
,
datasetTableTask
,
datasetTableTaskLog
,
true
);
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
JobStatus
.
Completed
);
msg
=
true
;
jobStatus
=
JobStatus
.
Completed
;
}
catch
(
Exception
e
)
{
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
sendWebMsg
(
datasetTable
,
datasetTableTask
,
datasetTableTaskLog
,
false
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
JobStatus
.
Error
);
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
msg
=
false
;
jobStatus
=
JobStatus
.
Error
;
}
finally
{
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
()))
{
datasetTableTask
.
setStatus
(
TaskStatus
.
Stopped
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
}
try
{
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
}
catch
(
Exception
ignore
){}
try
{
sendWebMsg
(
datasetTable
,
datasetTableTask
,
datasetTableTaskLog
,
msg
);
}
catch
(
Exception
ignore
){}
try
{
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
jobStatus
);
}
catch
(
Exception
ignore
){}
try
{
updateTableStatus
(
datasetTableId
,
datasetTable
,
jobStatus
,
execTime
);
}
catch
(
Exception
ignore
){
}
}
break
;
}
...
...
frontend/src/views/dataset/add/AddExcel.vue
浏览文件 @
7cc006fe
...
...
@@ -270,7 +270,7 @@ export default {
type
:
'excel'
,
mode
:
parseInt
(
this
.
mode
),
// info: '{"data":"' + this.path + '"}',
info
:
JSON
.
stringify
({
data
:
this
.
path
}),
info
:
JSON
.
stringify
({
data
:
this
.
path
,
sheets
:
[
this
.
sheets
[
0
]]
}),
editType
:
this
.
param
.
editType
?
this
.
param
.
editType
:
0
}
}
...
...
frontend/src/views/dataset/data/UpdateInfo.vue
浏览文件 @
7cc006fe
<
template
>
<el-col>
<el-row>
<el-button
v-if=
"hasDataPermission('manage',param.privileges)
||
table.type !== 'excel'"
icon=
"el-icon-setting"
size=
"mini"
@
click=
"showConfig"
>
<el-button
v-if=
"hasDataPermission('manage',param.privileges)
&&
table.type !== 'excel'"
icon=
"el-icon-setting"
size=
"mini"
@
click=
"showConfig"
>
{{
$t
(
'dataset.update_setting'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"refreshLog"
>
...
...
@@ -96,7 +96,7 @@
append-to-body
>
<el-col>
<el-form
ref=
"taskForm"
:form=
"taskForm"
:model=
"taskForm"
label-width=
"100px"
size=
"mini
"
:rules=
"taskFormRules"
>
<el-form
:form=
"taskForm"
:model=
"taskForm"
label-width=
"100px"
size=
"mini"
ref=
"taskForm
"
:rules=
"taskFormRules"
>
<el-form-item
:label=
"$t('dataset.task_name')"
prop=
"name"
>
<el-input
v-model=
"taskForm.name"
...
...
@@ -143,15 +143,15 @@
<el-form-item
v-if=
"taskForm.rate === 'SIMPLE_CRON'"
label=
""
>
<el-form
:inline=
"true"
>
<el-form-item
:label=
"$t('cron.every')"
>
<el-input
v-model=
"taskForm.extraData.simple_cron_value"
size=
"mini"
type=
"number"
min=
"1"
@
change=
"onSimpleCronChange()"
/>
<el-form-item
:label=
"$t('cron.every')"
>
<el-input
v-model=
"taskForm.extraData.simple_cron_value"
size=
"mini"
type=
"number"
min=
"1"
@
change=
"onSimpleCronChange()"
/>
</el-form-item>
<el-form-item
class=
"form-item"
>
<el-select
v-model=
"taskForm.extraData.simple_cron_type"
filterable
size=
"mini"
@
change=
"onSimpleCronChange()"
>
<el-option
:label=
"$t('cron.minute')"
value=
"minute"
/>
<el-option
:label=
"$t('cron.hour')"
value=
"hour"
/>
<el-option
:label=
"$t('cron.day')"
value=
"day"
/>
<el-select
v-model=
"taskForm.extraData.simple_cron_type"
filterable
size=
"mini"
@
change=
"onSimpleCronChange()"
>
<el-option
:label=
"$t('cron.minute
_default
')"
value=
"minute"
/>
<el-option
:label=
"$t('cron.hour
_default
')"
value=
"hour"
/>
<el-option
:label=
"$t('cron.day
_default
')"
value=
"day"
/>
</el-select>
</el-form-item>
<el-form-item
class=
"form-item"
:label=
"$t('cron.every_exec')"
/>
...
...
@@ -534,7 +534,7 @@ export default {
}
this
.
incrementalConfig
.
tableId
=
this
.
table
.
id
let
startTime
=
new
Date
(
task
.
startTime
).
getTime
()
if
(
startTime
<
new
Date
().
getTime
())
{
if
(
startTime
<
new
Date
().
getTime
())
{
startTime
=
new
Date
().
getTime
()
}
task
.
startTime
=
startTime
...
...
@@ -558,9 +558,10 @@ export default {
this
.
listTask
()
this
.
listTaskLog
()
})
}
else
{
}
else
{
return
false
}
})
},
deleteTask
(
task
)
{
...
...
@@ -588,27 +589,27 @@ export default {
},
onSimpleCronChange
()
{
if
(
this
.
taskForm
.
extraData
.
simple_cron_type
===
'minute'
)
{
if
(
this
.
taskForm
.
extraData
.
simple_cron_value
<
1
||
this
.
taskForm
.
extraData
.
simple_cron_value
>
59
)
{
this
.
$message
({
message
:
this
.
$t
(
'cron.minute_limit'
),
type
:
'warning'
,
showClose
:
true
})
if
(
this
.
taskForm
.
extraData
.
simple_cron_value
<
1
||
this
.
taskForm
.
extraData
.
simple_cron_value
>
59
)
{
this
.
$message
({
message
:
this
.
$t
(
'cron.minute_limit'
),
type
:
'warning'
,
showClose
:
true
})
this
.
taskForm
.
extraData
.
simple_cron_value
=
59
}
this
.
taskForm
.
cron
=
'0 0/'
+
this
.
taskForm
.
extraData
.
simple_cron_value
+
' * * * ? *'
this
.
taskForm
.
cron
=
'0 0/'
+
this
.
taskForm
.
extraData
.
simple_cron_value
+
' * * * ? *'
return
}
if
(
this
.
taskForm
.
extraData
.
simple_cron_type
===
'hour'
)
{
if
(
this
.
taskForm
.
extraData
.
simple_cron_value
<
1
||
this
.
taskForm
.
extraData
.
simple_cron_value
>
23
)
{
this
.
$message
({
message
:
this
.
$t
(
'cron.hour_limit'
),
type
:
'warning'
,
showClose
:
true
})
if
(
this
.
taskForm
.
extraData
.
simple_cron_value
<
1
||
this
.
taskForm
.
extraData
.
simple_cron_value
>
23
)
{
this
.
$message
({
message
:
this
.
$t
(
'cron.hour_limit'
),
type
:
'warning'
,
showClose
:
true
})
this
.
taskForm
.
extraData
.
simple_cron_value
=
23
}
this
.
taskForm
.
cron
=
'0 0 0/'
+
this
.
taskForm
.
extraData
.
simple_cron_value
+
' * * ? *'
this
.
taskForm
.
cron
=
'0 0 0/'
+
this
.
taskForm
.
extraData
.
simple_cron_value
+
' * * ? *'
return
}
if
(
this
.
taskForm
.
extraData
.
simple_cron_type
===
'day'
)
{
if
(
this
.
taskForm
.
extraData
.
simple_cron_value
<
1
||
this
.
taskForm
.
extraData
.
simple_cron_value
>
31
)
{
this
.
$message
({
message
:
this
.
$t
(
'cron.day_limit'
),
type
:
'warning'
,
showClose
:
true
})
if
(
this
.
taskForm
.
extraData
.
simple_cron_value
<
1
||
this
.
taskForm
.
extraData
.
simple_cron_value
>
31
)
{
this
.
$message
({
message
:
this
.
$t
(
'cron.day_limit'
),
type
:
'warning'
,
showClose
:
true
})
this
.
taskForm
.
extraData
.
simple_cron_value
=
31
}
this
.
taskForm
.
cron
=
'0 0 0 1/'
+
this
.
taskForm
.
extraData
.
simple_cron_value
+
' * ? *'
this
.
taskForm
.
cron
=
'0 0 0 1/'
+
this
.
taskForm
.
extraData
.
simple_cron_value
+
' * ? *'
return
}
},
...
...
@@ -618,16 +619,16 @@ export default {
this
.
taskForm
.
endTime
=
''
this
.
taskForm
.
cron
=
''
}
if
(
this
.
taskForm
.
rate
===
'SIMPLE_CRON'
)
{
if
(
this
.
taskForm
.
rate
===
'SIMPLE_CRON'
){
this
.
taskForm
.
cron
=
'0 0 0/1 * * ? *'
}
if
(
this
.
taskForm
.
rate
===
'CRON'
)
{
if
(
this
.
taskForm
.
rate
===
'CRON'
){
this
.
taskForm
.
cron
=
'00 00 * ? * * *'
}
},
listTaskLog
(
loading
=
true
)
{
const
params
=
{
'conditions'
:
[{
'field'
:
'dataset_table_task_log.table_id'
,
'operator'
:
'eq'
,
'value'
:
this
.
table
.
id
}],
'orders'
:
[]
}
post
(
'/dataset/taskLog/list/'
+
this
.
table
.
type
+
'/'
+
this
.
page
.
currentPage
+
'/'
+
this
.
page
.
pageSize
,
params
,
loading
).
then
(
response
=>
{
const
params
=
{
"conditions"
:[{
"field"
:
"dataset_table_task_log.table_id"
,
"operator"
:
"eq"
,
"value"
:
this
.
table
.
id
}],
"orders"
:[]
}
post
(
'/dataset/taskLog/list/'
+
this
.
table
.
type
+
'/'
+
this
.
page
.
currentPage
+
'/'
+
this
.
page
.
pageSize
,
params
,
loading
).
then
(
response
=>
{
this
.
taskLogData
=
response
.
data
.
listObject
this
.
page
.
total
=
response
.
data
.
itemCount
})
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论