Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
4b2f68b4
提交
4b2f68b4
authored
7月 23, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 调整定时任务
上级
b03598db
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
178 行增加
和
70 行删除
+178
-70
ExtDataSetTaskMapper.xml
...java/io/dataease/base/mapper/ext/ExtDataSetTaskMapper.xml
+1
-0
TaskStatus.java
...c/main/java/io/dataease/commons/constants/TaskStatus.java
+1
-1
MysqlConfigration.java
...in/java/io/dataease/datasource/dto/MysqlConfigration.java
+3
-2
JdbcProvider.java
...in/java/io/dataease/datasource/provider/JdbcProvider.java
+3
-1
DatasourceService.java
...ava/io/dataease/datasource/service/DatasourceService.java
+8
-0
DataSetTaskDTO.java
...src/main/java/io/dataease/dto/dataset/DataSetTaskDTO.java
+1
-0
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+2
-3
DataSetTableTaskLogService.java
.../dataease/service/dataset/DataSetTableTaskLogService.java
+1
-0
DataSetTableTaskService.java
.../io/dataease/service/dataset/DataSetTableTaskService.java
+40
-22
ExtractDataService.java
.../java/io/dataease/service/dataset/ExtractDataService.java
+22
-10
V13__system_task.sql
backend/src/main/resources/db/migration/V13__system_task.sql
+9
-4
messages_en_US.properties
backend/src/main/resources/i18n/messages_en_US.properties
+3
-2
messages_zh_CN.properties
backend/src/main/resources/i18n/messages_zh_CN.properties
+2
-0
messages_zh_TW.properties
backend/src/main/resources/i18n/messages_zh_TW.properties
+3
-2
en.js
frontend/src/lang/en.js
+5
-3
tw.js
frontend/src/lang/tw.js
+5
-3
zh.js
frontend/src/lang/zh.js
+5
-3
Group.vue
frontend/src/views/dataset/group/Group.vue
+12
-4
DatasetTaskList.vue
frontend/src/views/system/task/DatasetTaskList.vue
+0
-0
TaskRecord.vue
frontend/src/views/system/task/TaskRecord.vue
+34
-5
dataset.vue
frontend/src/views/system/task/dataset.vue
+18
-5
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTaskMapper.xml
浏览文件 @
4b2f68b4
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
SELECT dataset_table_task_log.*, dataset_table_task.name
SELECT dataset_table_task_log.*, dataset_table_task.name
FROM dataset_table_task_log
FROM dataset_table_task_log
LEFT JOIN dataset_table_task ON dataset_table_task_log.task_id = dataset_table_task.id
LEFT JOIN dataset_table_task ON dataset_table_task_log.task_id = dataset_table_task.id
LEFT JOIN dataset_table ON dataset_table_task_log.table_id = dataset_table.id
<if
test=
"_parameter != null"
>
<if
test=
"_parameter != null"
>
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
</if>
</if>
...
...
backend/src/main/java/io/dataease/commons/constants/TaskStatus.java
浏览文件 @
4b2f68b4
package
io
.
dataease
.
commons
.
constants
;
package
io
.
dataease
.
commons
.
constants
;
public
enum
TaskStatus
{
public
enum
TaskStatus
{
Underway
,
Stopped
Underway
,
Stopped
,
Pending
,
Exec
}
}
backend/src/main/java/io/dataease/datasource/dto/MysqlConfigration.java
浏览文件 @
4b2f68b4
...
@@ -11,9 +11,9 @@ public class MysqlConfigration extends JdbcDTO {
...
@@ -11,9 +11,9 @@ public class MysqlConfigration extends JdbcDTO {
public
String
getJdbc
()
{
public
String
getJdbc
()
{
// 连接参数先写死,后边要把编码、时区等参数放到数据源的设置中
// 连接参数先写死,后边要把编码、时区等参数放到数据源的设置中
return
"jdbc:mysql://HOSTNAME:PORT/DATABASE?characterEncoding=UTF-8"
return
"jdbc:mysql://HOSTNAME:PORT/DATABASE?characterEncoding=UTF-8
&connectTimeout=5000&socketTimeout=5000
"
.
replace
(
"HOSTNAME"
,
getHost
())
.
replace
(
"HOSTNAME"
,
getHost
())
.
replace
(
"PORT"
,
getPort
().
toString
())
.
replace
(
"PORT"
,
getPort
().
toString
())
.
replace
(
"DATABASE"
,
getDataBase
());
.
replace
(
"DATABASE"
,
getDataBase
());
}
}
}
}
\ No newline at end of file
backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java
浏览文件 @
4b2f68b4
...
@@ -401,6 +401,7 @@ public class JdbcProvider extends DatasourceProvider {
...
@@ -401,6 +401,7 @@ public class JdbcProvider extends DatasourceProvider {
String
driver
=
null
;
String
driver
=
null
;
String
jdbcurl
=
null
;
String
jdbcurl
=
null
;
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
datasourceRequest
.
getDatasource
().
getType
());
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
datasourceRequest
.
getDatasource
().
getType
());
Properties
props
=
new
Properties
();
switch
(
datasourceType
)
{
switch
(
datasourceType
)
{
case
mysql:
case
mysql:
MysqlConfigration
mysqlConfigration
=
new
Gson
().
fromJson
(
datasourceRequest
.
getDatasource
().
getConfiguration
(),
MysqlConfigration
.
class
);
MysqlConfigration
mysqlConfigration
=
new
Gson
().
fromJson
(
datasourceRequest
.
getDatasource
().
getConfiguration
(),
MysqlConfigration
.
class
);
...
@@ -429,13 +430,14 @@ public class JdbcProvider extends DatasourceProvider {
...
@@ -429,13 +430,14 @@ public class JdbcProvider extends DatasourceProvider {
password
=
oracleConfigration
.
getPassword
();
password
=
oracleConfigration
.
getPassword
();
driver
=
oracleConfigration
.
getDriver
();
driver
=
oracleConfigration
.
getDriver
();
jdbcurl
=
oracleConfigration
.
getJdbc
();
jdbcurl
=
oracleConfigration
.
getJdbc
();
props
.
put
(
"oracle.net.CONNECT_TIMEOUT"
,
"5000"
)
;
props
.
put
(
"oracle.jdbc.ReadTimeout"
,
"5000"
)
;
break
;
break
;
default
:
default
:
break
;
break
;
}
}
Class
.
forName
(
driver
);
Class
.
forName
(
driver
);
Properties
props
=
new
Properties
();
props
.
setProperty
(
"user"
,
username
);
props
.
setProperty
(
"user"
,
username
);
if
(
StringUtils
.
isNotBlank
(
password
))
{
if
(
StringUtils
.
isNotBlank
(
password
))
{
props
.
setProperty
(
"password"
,
password
);
props
.
setProperty
(
"password"
,
password
);
...
...
backend/src/main/java/io/dataease/datasource/service/DatasourceService.java
浏览文件 @
4b2f68b4
...
@@ -120,6 +120,13 @@ public class DatasourceService {
...
@@ -120,6 +120,13 @@ public class DatasourceService {
datasourceProvider
.
checkStatus
(
datasourceRequest
);
datasourceProvider
.
checkStatus
(
datasourceRequest
);
}
}
public
void
validate
(
String
datasourceId
)
throws
Exception
{
if
(
StringUtils
.
isEmpty
(
datasourceId
)){
return
;
}
Datasource
datasource
=
datasourceMapper
.
selectByPrimaryKey
(
datasourceId
);
validate
(
datasource
);
}
public
List
<
String
>
getSchema
(
Datasource
datasource
)
throws
Exception
{
public
List
<
String
>
getSchema
(
Datasource
datasource
)
throws
Exception
{
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
datasource
.
getType
());
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
datasource
.
getType
());
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
...
@@ -132,6 +139,7 @@ public class DatasourceService {
...
@@ -132,6 +139,7 @@ public class DatasourceService {
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
ds
);
datasourceRequest
.
setDatasource
(
ds
);
datasourceProvider
.
checkStatus
(
datasourceRequest
);
List
<
String
>
tables
=
datasourceProvider
.
getTables
(
datasourceRequest
);
List
<
String
>
tables
=
datasourceProvider
.
getTables
(
datasourceRequest
);
// 获取当前数据源下的db类型数据集
// 获取当前数据源下的db类型数据集
...
...
backend/src/main/java/io/dataease/dto/dataset/DataSetTaskDTO.java
浏览文件 @
4b2f68b4
...
@@ -15,4 +15,5 @@ public class DataSetTaskDTO extends DatasetTableTask {
...
@@ -15,4 +15,5 @@ public class DataSetTaskDTO extends DatasetTableTask {
private
String
datasetName
;
private
String
datasetName
;
private
Long
nextExecTime
;
private
Long
nextExecTime
;
private
String
taskStatus
;
private
String
taskStatus
;
private
String
msg
;
}
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
4b2f68b4
...
@@ -1392,9 +1392,8 @@ public class DataSetTableService {
...
@@ -1392,9 +1392,8 @@ public class DataSetTableService {
List
<
String
>
taskIds
=
datasetTableTaskLogMapper
.
selectByExample
(
datasetTableTaskLogExample
).
stream
().
map
(
DatasetTableTaskLog:
:
getTaskId
).
collect
(
Collectors
.
toList
());
List
<
String
>
taskIds
=
datasetTableTaskLogMapper
.
selectByExample
(
datasetTableTaskLogExample
).
stream
().
map
(
DatasetTableTaskLog:
:
getTaskId
).
collect
(
Collectors
.
toList
());
datasetTableTaskLogMapper
.
updateByExampleSelective
(
datasetTableTaskLog
,
datasetTableTaskLogExample
);
datasetTableTaskLogMapper
.
updateByExampleSelective
(
datasetTableTaskLog
,
datasetTableTaskLogExample
);
DatasetTableTask
datasetTableTask
=
new
DatasetTableTask
();
dataSetTableTaskService
.
updateTaskStatus
(
taskIds
,
JobStatus
.
Error
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Error
.
name
());
//TODO check task status
dataSetTableTaskService
.
update
(
taskIds
,
datasetTableTask
);
for
(
DatasetTable
jobStoppeddDatasetTable
:
jobStoppeddDatasetTables
)
{
for
(
DatasetTable
jobStoppeddDatasetTable
:
jobStoppeddDatasetTables
)
{
extractDataService
.
deleteFile
(
"all_scope"
,
jobStoppeddDatasetTable
.
getId
());
extractDataService
.
deleteFile
(
"all_scope"
,
jobStoppeddDatasetTable
.
getId
());
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskLogService.java
浏览文件 @
4b2f68b4
...
@@ -95,6 +95,7 @@ public class DataSetTableTaskLogService {
...
@@ -95,6 +95,7 @@ public class DataSetTableTaskLogService {
if
(
CollectionUtils
.
isNotEmpty
(
datasetTableTaskLogs
)){
if
(
CollectionUtils
.
isNotEmpty
(
datasetTableTaskLogs
)){
dataSetTaskDTO
.
setLastExecStatus
(
datasetTableTaskLogs
.
get
(
0
).
getStatus
());
dataSetTaskDTO
.
setLastExecStatus
(
datasetTableTaskLogs
.
get
(
0
).
getStatus
());
dataSetTaskDTO
.
setLastExecTime
(
datasetTableTaskLogs
.
get
(
0
).
getCreateTime
());
dataSetTaskDTO
.
setLastExecTime
(
datasetTableTaskLogs
.
get
(
0
).
getCreateTime
());
dataSetTaskDTO
.
setMsg
(
datasetTableTaskLogs
.
get
(
0
).
getInfo
());
}
}
return
dataSetTaskDTO
;
return
dataSetTaskDTO
;
}
}
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
浏览文件 @
4b2f68b4
...
@@ -5,6 +5,7 @@ import io.dataease.base.domain.*;
...
@@ -5,6 +5,7 @@ import io.dataease.base.domain.*;
import
io.dataease.base.mapper.DatasetTableMapper
;
import
io.dataease.base.mapper.DatasetTableMapper
;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.ext.ExtDataSetTaskMapper
;
import
io.dataease.base.mapper.ext.ExtDataSetTaskMapper
;
import
io.dataease.base.mapper.ext.UtilMapper
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.commons.constants.JobStatus
;
import
io.dataease.commons.constants.JobStatus
;
import
io.dataease.commons.constants.ScheduleType
;
import
io.dataease.commons.constants.ScheduleType
;
...
@@ -48,12 +49,11 @@ public class DataSetTableTaskService {
...
@@ -48,12 +49,11 @@ public class DataSetTableTaskService {
@Lazy
@Lazy
private
DataSetTableService
dataSetTableService
;
private
DataSetTableService
dataSetTableService
;
@Resource
@Resource
private
ExtractDataService
extractDataService
;
@Resource
private
ExtDataSetTaskMapper
extDataSetTaskMapper
;
private
ExtDataSetTaskMapper
extDataSetTaskMapper
;
@Resource
@Resource
private
DatasetTableMapper
datasetTableMapper
;
private
DatasetTableMapper
datasetTableMapper
;
@Resource
private
UtilMapper
utilMapper
;
public
DatasetTableTask
save
(
DataSetTaskRequest
dataSetTaskRequest
)
throws
Exception
{
public
DatasetTableTask
save
(
DataSetTaskRequest
dataSetTaskRequest
)
throws
Exception
{
checkName
(
dataSetTaskRequest
);
checkName
(
dataSetTaskRequest
);
...
@@ -82,22 +82,21 @@ public class DataSetTableTaskService {
...
@@ -82,22 +82,21 @@ public class DataSetTableTaskService {
if
(
StringUtils
.
isEmpty
(
datasetTableTask
.
getId
()))
{
if
(
StringUtils
.
isEmpty
(
datasetTableTask
.
getId
()))
{
datasetTableTask
.
setId
(
UUID
.
randomUUID
().
toString
());
datasetTableTask
.
setId
(
UUID
.
randomUUID
().
toString
());
datasetTableTask
.
setCreateTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setCreateTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setStatus
(
TaskStatus
.
Underway
.
name
());
if
(
StringUtils
.
equalsIgnoreCase
(
datasetTableTask
.
getRate
(),
ScheduleType
.
SIMPLE
.
toString
())){
datasetTableTask
.
setStatus
(
TaskStatus
.
Exec
.
name
());
}
else
{
datasetTableTask
.
setStatus
(
TaskStatus
.
Underway
.
name
());
}
datasetTableTaskMapper
.
insert
(
datasetTableTask
);
datasetTableTaskMapper
.
insert
(
datasetTableTask
);
}
else
{
}
else
{
datasetTableTaskMapper
.
updateByPrimaryKeySelective
(
datasetTableTask
);
datasetTableTaskMapper
.
updateByPrimaryKeySelective
(
datasetTableTask
);
}
}
// simple
// simple
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
())
&&
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
TaskStatus
.
Underway
.
name
())
)
{
// SIMPLE 类型,提前占位
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
()))
{
// SIMPLE 类型,提前占位
execNow
(
datasetTableTask
);
execNow
(
datasetTableTask
);
scheduleService
.
addSchedule
(
datasetTableTask
);
}
//cron、simple_cron
if
(!
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
name
())){
scheduleService
.
addSchedule
(
datasetTableTask
);
}
}
scheduleService
.
addSchedule
(
datasetTableTask
);
return
datasetTableTask
;
return
datasetTableTask
;
}
}
...
@@ -122,6 +121,7 @@ public class DataSetTableTaskService {
...
@@ -122,6 +121,7 @@ public class DataSetTableTaskService {
if
(!
existSyncTask
){
if
(!
existSyncTask
){
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTask
.
setStatus
(
TaskStatus
.
Exec
.
name
());
update
(
datasetTableTask
);
update
(
datasetTableTask
);
DatasetTableTaskLog
datasetTableTaskLog
=
new
DatasetTableTaskLog
();
DatasetTableTaskLog
datasetTableTaskLog
=
new
DatasetTableTaskLog
();
datasetTableTaskLog
.
setTableId
(
datasetTableTask
.
getTableId
());
datasetTableTaskLog
.
setTableId
(
datasetTableTask
.
getTableId
());
...
@@ -159,17 +159,36 @@ public class DataSetTableTaskService {
...
@@ -159,17 +159,36 @@ public class DataSetTableTaskService {
return
datasetTableTaskMapper
.
selectByPrimaryKey
(
id
);
return
datasetTableTaskMapper
.
selectByPrimaryKey
(
id
);
}
}
public
void
update
(
DatasetTableTask
datasetTableTask
)
{
public
void
updateTaskStatus
(
List
<
String
>
taskIds
,
JobStatus
lastExecStatus
)
{
datasetTableTaskMapper
.
updateByPrimaryKeySelective
(
datasetTableTask
);
}
public
void
update
(
List
<
String
>
taskIds
,
DatasetTableTask
datasetTableTask
)
{
if
(
CollectionUtils
.
isEmpty
(
taskIds
)){
if
(
CollectionUtils
.
isEmpty
(
taskIds
)){
return
;
return
;
}
}
DatasetTableTaskExample
example
=
new
DatasetTableTaskExample
();
DatasetTableTaskExample
example
=
new
DatasetTableTaskExample
();
example
.
createCriteria
().
andIdIn
(
taskIds
);
example
.
createCriteria
().
andIdIn
(
taskIds
);
datasetTableTaskMapper
.
updateByExampleSelective
(
datasetTableTask
,
example
);
List
<
DatasetTableTask
>
datasetTableTasks
=
datasetTableTaskMapper
.
selectByExample
(
example
);
for
(
DatasetTableTask
tableTask
:
datasetTableTasks
)
{
updateTaskStatus
(
tableTask
,
lastExecStatus
);
}
}
public
void
updateTaskStatus
(
DatasetTableTask
datasetTableTask
,
JobStatus
lastExecStatus
){
datasetTableTask
.
setLastExecStatus
(
lastExecStatus
.
name
());
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
name
())){
datasetTableTask
.
setStatus
(
TaskStatus
.
Stopped
.
name
());
}
else
{
if
(
StringUtils
.
isNotEmpty
(
datasetTableTask
.
getEnd
())
&&
datasetTableTask
.
getEnd
().
equalsIgnoreCase
(
"1"
)){
if
(
utilMapper
.
currentTimestamp
()
>
datasetTableTask
.
getEndTime
()){
datasetTableTask
.
setStatus
(
TaskStatus
.
Stopped
.
name
());
}
}
else
{
datasetTableTask
.
setStatus
(
TaskStatus
.
Underway
.
name
());
}
}
update
(
datasetTableTask
);
}
public
void
update
(
DatasetTableTask
datasetTableTask
)
{
datasetTableTaskMapper
.
updateByPrimaryKeySelective
(
datasetTableTask
);
}
}
public
List
<
DatasetTableTask
>
list
(
DatasetTableTask
datasetTableTask
)
{
public
List
<
DatasetTableTask
>
list
(
DatasetTableTask
datasetTableTask
)
{
...
@@ -217,12 +236,11 @@ public class DataSetTableTaskService {
...
@@ -217,12 +236,11 @@ public class DataSetTableTaskService {
public
void
execTask
(
DatasetTableTask
datasetTableTask
)
throws
Exception
{
public
void
execTask
(
DatasetTableTask
datasetTableTask
)
throws
Exception
{
execNow
(
datasetTableTask
);
execNow
(
datasetTableTask
);
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
CRON
.
toString
())){
if
(
!
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
())){
scheduleService
.
fireNow
(
datasetTableTask
);
scheduleService
.
fireNow
(
datasetTableTask
);
}
}
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
())){
// if(datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())){
scheduleService
.
addSchedule
(
datasetTableTask
);
// scheduleService.addSchedule(datasetTableTask);
}
// }
}
}
}
}
backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
浏览文件 @
4b2f68b4
...
@@ -6,6 +6,7 @@ import io.dataease.base.mapper.DatasetTableMapper;
...
@@ -6,6 +6,7 @@ import io.dataease.base.mapper.DatasetTableMapper;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.DatasourceMapper
;
import
io.dataease.base.mapper.DatasourceMapper
;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.base.mapper.ext.UtilMapper
;
import
io.dataease.commons.constants.*
;
import
io.dataease.commons.constants.*
;
import
io.dataease.commons.model.AuthURD
;
import
io.dataease.commons.model.AuthURD
;
import
io.dataease.commons.utils.*
;
import
io.dataease.commons.utils.*
;
...
@@ -15,6 +16,7 @@ import io.dataease.datasource.provider.DatasourceProvider;
...
@@ -15,6 +16,7 @@ import io.dataease.datasource.provider.DatasourceProvider;
import
io.dataease.datasource.provider.JdbcProvider
;
import
io.dataease.datasource.provider.JdbcProvider
;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
io.dataease.datasource.service.DatasourceService
;
import
io.dataease.dto.dataset.DataTableInfoDTO
;
import
io.dataease.dto.dataset.DataTableInfoDTO
;
import
io.dataease.exception.DataEaseException
;
import
io.dataease.exception.DataEaseException
;
import
io.dataease.listener.util.CacheUtils
;
import
io.dataease.listener.util.CacheUtils
;
...
@@ -90,9 +92,12 @@ public class ExtractDataService {
...
@@ -90,9 +92,12 @@ public class ExtractDataService {
private
DatasetTableMapper
datasetTableMapper
;
private
DatasetTableMapper
datasetTableMapper
;
@Resource
@Resource
private
DatasetTableTaskMapper
datasetTableTaskMapper
;
private
DatasetTableTaskMapper
datasetTableTaskMapper
;
@Resource
private
DatasourceService
datasourceService
;
@Resource
@Resource
private
ExtChartViewMapper
extChartViewMapper
;
private
ExtChartViewMapper
extChartViewMapper
;
@Resource
private
UtilMapper
utilMapper
;
private
static
String
lastUpdateTime
=
"${__last_update_time__}"
;
private
static
String
lastUpdateTime
=
"${__last_update_time__}"
;
private
static
String
currentUpdateTime
=
"${__current_update_time__}"
;
private
static
String
currentUpdateTime
=
"${__current_update_time__}"
;
...
@@ -147,6 +152,7 @@ public class ExtractDataService {
...
@@ -147,6 +152,7 @@ public class ExtractDataService {
}
else
{
}
else
{
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTask
.
setStatus
(
TaskStatus
.
Exec
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
dataSetTableTaskService
.
update
(
datasetTableTask
);
return
false
;
return
false
;
}
}
...
@@ -241,7 +247,7 @@ public class ExtractDataService {
...
@@ -241,7 +247,7 @@ public class ExtractDataService {
if
(
datasetTableTask
==
null
){
if
(
datasetTableTask
==
null
){
return
;
return
;
}
}
if
(
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
TaskStatus
.
Stopped
.
name
())){
if
(
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
TaskStatus
.
Stopped
.
name
())
||
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
TaskStatus
.
Pending
.
name
())
){
LogUtil
.
info
(
"Skip synchronization task, task ID : "
+
datasetTableTask
.
getId
());
LogUtil
.
info
(
"Skip synchronization task, task ID : "
+
datasetTableTask
.
getId
());
return
;
return
;
}
}
...
@@ -301,13 +307,13 @@ public class ExtractDataService {
...
@@ -301,13 +307,13 @@ public class ExtractDataService {
deleteFile
(
"all_scope"
,
datasetTableId
);
deleteFile
(
"all_scope"
,
datasetTableId
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Completed
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
dataSetTableTaskService
.
update
TaskStatus
(
datasetTableTask
,
JobStatus
.
Completed
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Error
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
dataSetTableTaskService
.
update
TaskStatus
(
datasetTableTask
,
JobStatus
.
Error
);
sendWebMsg
(
datasetTable
,
taskId
,
false
);
sendWebMsg
(
datasetTable
,
taskId
,
false
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
...
@@ -360,17 +366,22 @@ public class ExtractDataService {
...
@@ -360,17 +366,22 @@ public class ExtractDataService {
deleteFile
(
"incremental_delete"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Completed
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
dataSetTableTaskService
.
update
TaskStatus
(
datasetTableTask
,
JobStatus
.
Completed
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
sendWebMsg
(
datasetTable
,
taskId
,
false
);
sendWebMsg
(
datasetTable
,
taskId
,
false
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Error
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
dataSetTableTaskService
.
updateTaskStatus
(
datasetTableTask
,
JobStatus
.
Error
);
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
}
finally
{
}
finally
{
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
())){
datasetTableTask
.
setStatus
(
TaskStatus
.
Stopped
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
}
}
}
break
;
break
;
}
}
...
@@ -549,6 +560,7 @@ public class ExtractDataService {
...
@@ -549,6 +560,7 @@ public class ExtractDataService {
}
}
private
void
extractData
(
DatasetTable
datasetTable
,
String
extractType
)
throws
Exception
{
private
void
extractData
(
DatasetTable
datasetTable
,
String
extractType
)
throws
Exception
{
datasourceService
.
validate
(
datasetTable
.
getDataSourceId
());
KettleFileRepository
repository
=
CommonBeanFactory
.
getBean
(
KettleFileRepository
.
class
);
KettleFileRepository
repository
=
CommonBeanFactory
.
getBean
(
KettleFileRepository
.
class
);
RepositoryDirectoryInterface
repositoryDirectoryInterface
=
repository
.
loadRepositoryDirectoryTree
();
RepositoryDirectoryInterface
repositoryDirectoryInterface
=
repository
.
loadRepositoryDirectoryTree
();
JobMeta
jobMeta
=
null
;
JobMeta
jobMeta
=
null
;
...
...
backend/src/main/resources/db/migration/V13__system_task.sql
浏览文件 @
4b2f68b4
INSERT
INTO
`sys_menu`
VALUES
(
5
7
,
1
,
3
,
1
,
'任务管理'
,
'sys-task'
,
'system/task/index'
,
2000
,
'task'
,
'system-task
'
,
b
'0'
,
b
'0'
,
b
'0'
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`sys_menu`
VALUES
(
5
8
,
1
,
0
,
1
,
'i18n_timed_task'
,
'sys-task-dataset'
,
'system/task/dataset'
,
1001
,
'task'
,
'dataset
'
,
b
'0'
,
b
'0'
,
b
'0'
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`sys_menu`
VALUES
(
58
,
57
,
0
,
1
,
'数据集任务'
,
'sys-task-dataset'
,
'system/task/dataset'
,
1
,
'task'
,
'dataset'
,
b
'0'
,
b
'0'
,
b
'0'
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
ALTER
TABLE
`dataset_table_task`
ALTER
TABLE
`dataset_table_task`
ADD
COLUMN
`last_exec_time`
BIGINT
(
13
)
NULL
DEFAULT
NULL
COMMENT
'上次执行时间'
AFTER
`create_time`
,
ADD
COLUMN
`last_exec_time`
BIGINT
(
13
)
NULL
DEFAULT
NULL
COMMENT
'上次执行时间'
AFTER
`create_time`
,
ADD
COLUMN
`status`
VARCHAR
(
50
)
NULL
DEFAULT
NULL
COMMENT
'任务状态'
AFTER
`last_exec_time`
,
ADD
COLUMN
`status`
VARCHAR
(
50
)
NULL
DEFAULT
NULL
COMMENT
'任务状态'
AFTER
`last_exec_time`
,
ADD
COLUMN
`last_exec_status`
VARCHAR
(
50
)
NULL
DEFAULT
NULL
COMMENT
'上次执行结果'
AFTER
`last_exec_time`
;
ADD
COLUMN
`last_exec_status`
VARCHAR
(
50
)
NULL
DEFAULT
NULL
COMMENT
'上次执行结果'
AFTER
`last_exec_time`
;
update
dataset_table_task
set
status
=
'Underway'
;
update
dataset_table_task
set
rate
=
'SIMPLE'
where
rate
=
'SIMPLE_COMPLETE'
;
update
dataset_table_task
set
rate
=
'SIMPLE'
where
rate
=
'SIMPLE_COMPLETE'
;
update
dataset_table_task
set
status
=
'Stopped'
where
rate
=
'SIMPLE'
;
update
dataset_table_task
set
status
=
'Underway'
where
rate
=
'CRON'
;
ALTER
TABLE
`dataset_table_task_log`
ADD
COLUMN
`trigger_type`
VARCHAR
(
45
)
NULL
AFTER
`create_time`
;
ALTER
TABLE
`dataset_table_task_log`
ADD
COLUMN
`trigger_type`
VARCHAR
(
45
)
NULL
AFTER
`create_time`
;
ALTER
TABLE
`dataset_table_task`
ADD
COLUMN
`extra_data`
LONGTEXT
NULL
AFTER
`last_exec_status`
;
update
dataset_table_task_log
set
trigger_type
=
'Cron'
;
update
dataset_table_task_log
set
trigger_type
=
'Cron'
;
ALTER
TABLE
`dataset_table_task`
ADD
COLUMN
`extra_data`
LONGTEXT
NULL
AFTER
`last_exec_status`
;
backend/src/main/resources/i18n/messages_en_US.properties
浏览文件 @
4b2f68b4
...
@@ -273,4 +273,5 @@ i18n_msg_type_dataset_sync=Data set synchronization
...
@@ -273,4 +273,5 @@ i18n_msg_type_dataset_sync=Data set synchronization
i18n_msg_type_dataset_sync_success
=
Dataset synchronization successful
i18n_msg_type_dataset_sync_success
=
Dataset synchronization successful
i18n_msg_type_dataset_sync_faild
=
Dataset synchronization failed
i18n_msg_type_dataset_sync_faild
=
Dataset synchronization failed
i18n_data_not_sync
=
Please sync data first
i18n_data_not_sync
=
Please sync data first
i18n_excel_colume_change
=
The column name of Excel is inconsistent with the original data set
i18n_excel_colume_change
=
The column name of Excel is inconsistent with the original data set
\ No newline at end of file
i18n_timed_task
=
Timed Task
\ No newline at end of file
backend/src/main/resources/i18n/messages_zh_CN.properties
浏览文件 @
4b2f68b4
...
@@ -273,3 +273,4 @@ i18n_msg_type_dataset_sync_success=数据集同步成功
...
@@ -273,3 +273,4 @@ i18n_msg_type_dataset_sync_success=数据集同步成功
i18n_msg_type_dataset_sync_faild
=
数据集同步失败
i18n_msg_type_dataset_sync_faild
=
数据集同步失败
i18n_data_not_sync
=
请先完成数据同步
i18n_data_not_sync
=
请先完成数据同步
i18n_excel_colume_change
=
Excel的列名与原数据集不一致
i18n_excel_colume_change
=
Excel的列名与原数据集不一致
i18n_timed_task
=
定时任务
\ No newline at end of file
backend/src/main/resources/i18n/messages_zh_TW.properties
浏览文件 @
4b2f68b4
...
@@ -275,4 +275,5 @@ i18n_msg_type_dataset_sync=數據集同步
...
@@ -275,4 +275,5 @@ i18n_msg_type_dataset_sync=數據集同步
i18n_msg_type_dataset_sync_success
=
數據集同步成功
i18n_msg_type_dataset_sync_success
=
數據集同步成功
i18n_msg_type_dataset_sync_faild
=
數據集同步失敗
i18n_msg_type_dataset_sync_faild
=
數據集同步失敗
i18n_data_not_sync
=
請先完成數據同步
i18n_data_not_sync
=
請先完成數據同步
i18n_excel_colume_change
=
Excel的列名與原數據集不一致
i18n_excel_colume_change
=
Excel的列名與原數據集不一致
\ No newline at end of file
i18n_timed_task
=
定時任務
\ No newline at end of file
frontend/src/lang/en.js
浏览文件 @
4b2f68b4
...
@@ -822,6 +822,7 @@ export default {
...
@@ -822,6 +822,7 @@ export default {
dataset
:
{
dataset
:
{
sheet_warn
:
'There are multiple sheet pages, and the first one is extracted by default'
,
sheet_warn
:
'There are multiple sheet pages, and the first one is extracted by default'
,
datalist
:
'Data Set'
,
datalist
:
'Data Set'
,
name
:
'DataSet Name'
,
add_group
:
'Add Group'
,
add_group
:
'Add Group'
,
add_scene
:
'Add Scene'
,
add_scene
:
'Add Scene'
,
group
:
'Group'
,
group
:
'Group'
,
...
@@ -956,9 +957,10 @@ export default {
...
@@ -956,9 +957,10 @@ export default {
task_status
:
'Task status'
,
task_status
:
'Task status'
,
dataset
:
'Data set'
,
dataset
:
'Data set'
,
search_by_name
:
'Search by name'
,
search_by_name
:
'Search by name'
,
underway
:
'Running'
,
underway
:
'Waiting for execution'
,
stopped
:
'Stopped'
,
stopped
:
'End'
,
exec
:
'Execute'
,
pending
:
'Pause'
,
exec
:
'Execute Once'
,
confirm_exec
:
'Manual trigger execution?'
,
confirm_exec
:
'Manual trigger execution?'
,
change_success
:
'State switch successful'
change_success
:
'State switch successful'
},
},
...
...
frontend/src/lang/tw.js
浏览文件 @
4b2f68b4
...
@@ -822,6 +822,7 @@ export default {
...
@@ -822,6 +822,7 @@ export default {
dataset
:
{
dataset
:
{
sheet_warn
:
'有多個sheet頁面,默認抽取第一個'
,
sheet_warn
:
'有多個sheet頁面,默認抽取第一個'
,
datalist
:
'數據集'
,
datalist
:
'數據集'
,
name
:
'數據集名稱'
,
add_group
:
'添加分組'
,
add_group
:
'添加分組'
,
add_scene
:
'添加場景'
,
add_scene
:
'添加場景'
,
group
:
'分組'
,
group
:
'分組'
,
...
@@ -956,9 +957,10 @@ export default {
...
@@ -956,9 +957,10 @@ export default {
task_status
:
'任務狀態'
,
task_status
:
'任務狀態'
,
dataset
:
'數據集'
,
dataset
:
'數據集'
,
search_by_name
:
'根據名稱搜索'
,
search_by_name
:
'根據名稱搜索'
,
underway
:
'運行中'
,
underway
:
'等待執行'
,
stopped
:
'停止'
,
stopped
:
'執行结束'
,
exec
:
'執行'
,
pending
:
'暫停'
,
exec
:
'執行一次'
,
confirm_exec
:
'手動觸發執行?'
,
confirm_exec
:
'手動觸發執行?'
,
change_success
:
'狀態切換成功'
change_success
:
'狀態切換成功'
},
},
...
...
frontend/src/lang/zh.js
浏览文件 @
4b2f68b4
...
@@ -822,6 +822,7 @@ export default {
...
@@ -822,6 +822,7 @@ export default {
dataset
:
{
dataset
:
{
sheet_warn
:
'有多个 Sheet 页,默认抽取第一个'
,
sheet_warn
:
'有多个 Sheet 页,默认抽取第一个'
,
datalist
:
'数据集'
,
datalist
:
'数据集'
,
name
:
'数据集名称'
,
add_group
:
'添加分组'
,
add_group
:
'添加分组'
,
add_scene
:
'添加场景'
,
add_scene
:
'添加场景'
,
group
:
'分组'
,
group
:
'分组'
,
...
@@ -956,9 +957,10 @@ export default {
...
@@ -956,9 +957,10 @@ export default {
task_status
:
'任务状态'
,
task_status
:
'任务状态'
,
dataset
:
'数据集'
,
dataset
:
'数据集'
,
search_by_name
:
'根据名称搜索'
,
search_by_name
:
'根据名称搜索'
,
underway
:
'运行中'
,
underway
:
'等待执行'
,
stopped
:
'停止'
,
stopped
:
'执行结束'
,
exec
:
'执行'
,
pending
:
'暂停'
,
exec
:
'执行一次'
,
confirm_exec
:
'手动触发执行?'
,
confirm_exec
:
'手动触发执行?'
,
change_success
:
'状态切换成功'
change_success
:
'状态切换成功'
},
},
...
...
frontend/src/views/dataset/group/Group.vue
浏览文件 @
4b2f68b4
...
@@ -100,7 +100,7 @@
...
@@ -100,7 +100,7 @@
<svg-icon
icon-class=
"ds-sql"
class=
"ds-icon-sql"
/>
<svg-icon
icon-class=
"ds-sql"
class=
"ds-icon-sql"
/>
{{
$t
(
'dataset.sql_data'
)
}}
{{
$t
(
'dataset.sql_data'
)
}}
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item
:command=
"beforeClickAddData('excel',data)"
>
<el-dropdown-item
:command=
"beforeClickAddData('excel',data)"
:disabled=
"!kettleRunning"
>
<svg-icon
icon-class=
"ds-excel"
class=
"ds-icon-excel"
/>
<svg-icon
icon-class=
"ds-excel"
class=
"ds-icon-excel"
/>
{{
$t
(
'dataset.excel_data'
)
}}
{{
$t
(
'dataset.excel_data'
)
}}
</el-dropdown-item>
</el-dropdown-item>
...
@@ -341,7 +341,7 @@
...
@@ -341,7 +341,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
loadTable
,
getScene
,
addGroup
,
delGroup
,
addTable
,
delTable
,
post
}
from
'@/api/dataset/dataset'
import
{
loadTable
,
getScene
,
addGroup
,
delGroup
,
addTable
,
delTable
,
post
,
isKettleRunning
}
from
'@/api/dataset/dataset'
import
{
authModel
}
from
'@/api/system/sysAuth'
import
{
authModel
}
from
'@/api/system/sysAuth'
import
GroupMoveSelector
from
'./GroupMoveSelector'
import
GroupMoveSelector
from
'./GroupMoveSelector'
import
DsMoveSelector
from
'./DsMoveSelector'
import
DsMoveSelector
from
'./DsMoveSelector'
...
@@ -415,7 +415,8 @@ export default {
...
@@ -415,7 +415,8 @@ export default {
id
:
'id'
,
id
:
'id'
,
parentId
:
'pid'
parentId
:
'pid'
},
},
isTreeSearch
:
false
isTreeSearch
:
false
,
kettleRunning
:
false
}
}
},
},
computed
:
{
computed
:
{
...
@@ -426,6 +427,9 @@ export default {
...
@@ -426,6 +427,9 @@ export default {
// return this.$store.state.dataset.sceneData
// return this.$store.state.dataset.sceneData
// }
// }
},
},
created
()
{
this
.
kettleState
()
},
watch
:
{
watch
:
{
search
(
val
)
{
search
(
val
)
{
// if (val && val !== '') {
// if (val && val !== '') {
...
@@ -467,7 +471,11 @@ export default {
...
@@ -467,7 +471,11 @@ export default {
'node'
:
node
'node'
:
node
}
}
},
},
kettleState
()
{
isKettleRunning
().
then
(
res
=>
{
this
.
kettleRunning
=
res
.
data
})
},
clickMore
(
param
)
{
clickMore
(
param
)
{
// console.log(param)
// console.log(param)
switch
(
param
.
type
)
{
switch
(
param
.
type
)
{
...
...
frontend/src/views/system/task/DatasetTaskList.vue
浏览文件 @
4b2f68b4
差异被折叠。
点击展开。
frontend/src/views/system/task/TaskRecord.vue
浏览文件 @
4b2f68b4
...
@@ -2,7 +2,13 @@
...
@@ -2,7 +2,13 @@
<el-col>
<el-col>
<el-row
style=
"margin-top: 10px;"
>
<el-row
style=
"margin-top: 10px;"
>
<complex-table
:data=
"data"
:columns=
"columns"
local-key=
"datasetTaskRecord"
:search-config=
"searchConfig"
:pagination-config=
"paginationConfig"
@
select=
"select"
@
search=
"search"
@
sort-change=
"sortChange"
>
<complex-table
:data=
"data"
:columns=
"columns"
local-key=
"datasetTaskRecord"
:search-config=
"searchConfig"
:pagination-config=
"paginationConfig"
@
select=
"select"
@
search=
"search"
@
sort-change=
"sortChange"
>
<el-table-column
prop=
"name"
:label=
"$t('dataset.task_name')"
/>
<el-table-column
prop=
"name"
:label=
"$t('dataset.task_name')"
>
<template
slot-scope=
"scope"
>
<span>
<el-link
style=
"font-size: 12px"
@
click=
"jumpTask(scope.row)"
>
{{
scope
.
row
.
name
}}
</el-link>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"startTime"
:label=
"$t('dataset.start_time')"
>
<el-table-column
prop=
"startTime"
:label=
"$t('dataset.start_time')"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
startTime
|
timestampFormatDate
}}
</span>
<span>
{{
scope
.
row
.
startTime
|
timestampFormatDate
}}
</span>
...
@@ -57,6 +63,12 @@ import TableSelector from '@/views/chart/view/TableSelector'
...
@@ -57,6 +63,12 @@ import TableSelector from '@/views/chart/view/TableSelector'
export
default
{
export
default
{
name
:
'TaskRecord'
,
name
:
'TaskRecord'
,
components
:
{
ComplexTable
,
LayoutContent
,
cron
,
TableSelector
},
components
:
{
ComplexTable
,
LayoutContent
,
cron
,
TableSelector
},
props
:
{
param
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
data
()
{
return
{
return
{
header
:
''
,
header
:
''
,
...
@@ -72,7 +84,8 @@ export default {
...
@@ -72,7 +84,8 @@ export default {
useComplexSearch
:
true
,
useComplexSearch
:
true
,
quickPlaceholder
:
this
.
$t
(
'dataset.task.search_by_name'
),
quickPlaceholder
:
this
.
$t
(
'dataset.task.search_by_name'
),
components
:
[
components
:
[
{
field
:
'dataset_table_task.name'
,
label
:
this
.
$t
(
'dataset.task.name'
),
component
:
'DeComplexInput'
},
{
field
:
'dataset_table_task.name'
,
label
:
this
.
$t
(
'dataset.task_name'
),
component
:
'DeComplexInput'
},
{
field
:
'dataset_table.name'
,
label
:
this
.
$t
(
'dataset.name'
),
component
:
'DeComplexInput'
},
{
field
:
'dataset_table_task_log.status'
,
label
:
this
.
$t
(
'commons.status'
),
component
:
'FuComplexSelect'
,
options
:
[{
label
:
this
.
$t
(
'dataset.completed'
),
value
:
'Completed'
},
{
label
:
this
.
$t
(
'dataset.underway'
),
value
:
'Underway'
},
{
label
:
this
.
$t
(
'dataset.error'
),
value
:
'Error'
}],
multiple
:
false
}
{
field
:
'dataset_table_task_log.status'
,
label
:
this
.
$t
(
'commons.status'
),
component
:
'FuComplexSelect'
,
options
:
[{
label
:
this
.
$t
(
'dataset.completed'
),
value
:
'Completed'
},
{
label
:
this
.
$t
(
'dataset.underway'
),
value
:
'Underway'
},
{
label
:
this
.
$t
(
'dataset.error'
),
value
:
'Error'
}],
multiple
:
false
}
]
]
},
},
...
@@ -104,7 +117,20 @@ export default {
...
@@ -104,7 +117,20 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
search
()
if
(
this
.
param
==
null
){
this
.
last_condition
=
{}
this
.
search
()
}
else
{
this
.
last_condition
=
{
'dataset_table_task.name'
:
{
field
:
"dataset_table_task.name"
,
operator
:
"eq"
,
value
:
this
.
param
.
name
}
}
this
.
search
(
this
.
last_condition
)
}
this
.
timer
=
setInterval
(()
=>
{
this
.
timer
=
setInterval
(()
=>
{
this
.
search
(
this
.
last_condition
,
false
)
this
.
search
(
this
.
last_condition
,
false
)
},
5000
)
},
5000
)
...
@@ -133,13 +159,13 @@ export default {
...
@@ -133,13 +159,13 @@ export default {
},
},
select
(
selection
)
{
select
(
selection
)
{
},
},
search
(
condition
)
{
search
(
condition
,
showLoading
=
true
)
{
this
.
last_condition
=
condition
this
.
last_condition
=
condition
condition
=
formatQuickCondition
(
condition
,
'dataset_table_task.name'
)
condition
=
formatQuickCondition
(
condition
,
'dataset_table_task.name'
)
const
temp
=
formatCondition
(
condition
)
const
temp
=
formatCondition
(
condition
)
const
param
=
temp
||
{}
const
param
=
temp
||
{}
param
[
'orders'
]
=
formatOrders
(
this
.
orderConditions
)
param
[
'orders'
]
=
formatOrders
(
this
.
orderConditions
)
post
(
'/dataset/taskLog/list/'
+
this
.
paginationConfig
.
currentPage
+
'/'
+
this
.
paginationConfig
.
pageSize
,
param
).
then
(
response
=>
{
post
(
'/dataset/taskLog/list/'
+
this
.
paginationConfig
.
currentPage
+
'/'
+
this
.
paginationConfig
.
pageSize
,
param
,
showLoading
).
then
(
response
=>
{
this
.
data
=
response
.
data
.
listObject
this
.
data
=
response
.
data
.
listObject
this
.
paginationConfig
.
total
=
response
.
data
.
itemCount
this
.
paginationConfig
.
total
=
response
.
data
.
itemCount
})
})
...
@@ -147,6 +173,9 @@ export default {
...
@@ -147,6 +173,9 @@ export default {
showErrorMassage
(
massage
)
{
showErrorMassage
(
massage
)
{
this
.
show_error_massage
=
true
this
.
show_error_massage
=
true
this
.
error_massage
=
massage
this
.
error_massage
=
massage
},
jumpTask
(
item
){
this
.
$emit
(
'jumpTask'
,
item
)
}
}
}
}
}
}
...
...
frontend/src/views/system/task/dataset.vue
浏览文件 @
4b2f68b4
...
@@ -2,12 +2,12 @@
...
@@ -2,12 +2,12 @@
<layout-content
v-loading=
"$store.getters.loadingMap[$store.getters.currentPath]"
>
<layout-content
v-loading=
"$store.getters.loadingMap[$store.getters.currentPath]"
>
<el-row
style=
"height: 100%;overflow-y: hidden;width: 100%;"
>
<el-row
style=
"height: 100%;overflow-y: hidden;width: 100%;"
>
<el-tabs
v-model=
"tabActive"
>
<el-tabs
v-model=
"tabActive"
@
tab-click=
"changeTab"
>
<el-tab-pane
:label=
"$t('dataset.task.list')"
name=
"DatasetTaskList"
>
<el-tab-pane
:label=
"$t('dataset.task.list')"
name=
"DatasetTaskList"
>
<dataset-task-list
/>
<dataset-task-list
:param=
"task"
@
jumpTaskRecord=
"jumpTaskRecord"
v-if=
"tabActive=='DatasetTaskList'"
/>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
:label=
"$t('dataset.task.record')"
name=
"TaskRecord"
>
<el-tab-pane
:label=
"$t('dataset.task.record')"
name=
"TaskRecord"
>
<task-record
/>
<task-record
:param=
"task"
@
jumpTask=
"jumpTask"
v-if=
"tabActive=='TaskRecord'"
/>
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
</el-row>
</el-row>
...
@@ -28,11 +28,24 @@ export default {
...
@@ -28,11 +28,24 @@ export default {
components
:
{
DatasetTableData
,
LayoutContent
,
ComplexTable
,
UnionView
,
UpdateInfo
,
TabDataPreview
,
DatasetTaskList
,
TaskRecord
},
components
:
{
DatasetTableData
,
LayoutContent
,
ComplexTable
,
UnionView
,
UpdateInfo
,
TabDataPreview
,
DatasetTaskList
,
TaskRecord
},
data
()
{
data
()
{
return
{
return
{
tabActive
:
'DatasetTaskList'
,
task
:
null
,
tabActive
:
'DatasetTaskList'
}
}
},
},
methods
:
{
methods
:
{
changeTab
(){
this
.
task
=
null
console
.
log
(
this
.
tabActive
)
},
jumpTaskRecord
(
task
){
this
.
task
=
task
this
.
tabActive
=
'TaskRecord'
},
jumpTask
(
task
){
this
.
task
=
task
this
.
tabActive
=
'DatasetTaskList'
}
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论