Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
d3cc82d5
提交
d3cc82d5
authored
7月 08, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
差异文件
fix: 代码冲突
上级
cd4806ac
299addd4
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
59 个修改的文件
包含
1450 行增加
和
205 行删除
+1450
-205
DatasetTableField.java
.../main/java/io/dataease/base/domain/DatasetTableField.java
+6
-0
DatasetTableFieldExample.java
...ava/io/dataease/base/domain/DatasetTableFieldExample.java
+190
-0
DatasetTableTask.java
...c/main/java/io/dataease/base/domain/DatasetTableTask.java
+7
-0
DatasetTableTaskExample.java
...java/io/dataease/base/domain/DatasetTableTaskExample.java
+200
-0
DatasetTableTaskLog.java
...ain/java/io/dataease/base/domain/DatasetTableTaskLog.java
+2
-0
DatasetTableTaskLogExample.java
...a/io/dataease/base/domain/DatasetTableTaskLogExample.java
+70
-0
DatasetTableFieldMapper.xml
.../java/io/dataease/base/mapper/DatasetTableFieldMapper.xml
+53
-6
DatasetTableTaskLogMapper.xml
...ava/io/dataease/base/mapper/DatasetTableTaskLogMapper.xml
+25
-5
DatasetTableTaskMapper.xml
...n/java/io/dataease/base/mapper/DatasetTableTaskMapper.xml
+54
-5
ExtDataSetTableMapper.xml
...ava/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml
+3
-0
ExtDataSetTaskMapper.java
...ava/io/dataease/base/mapper/ext/ExtDataSetTaskMapper.java
+5
-1
ExtDataSetTaskMapper.xml
...java/io/dataease/base/mapper/ext/ExtDataSetTaskMapper.xml
+33
-4
ScheduleType.java
...main/java/io/dataease/commons/constants/ScheduleType.java
+1
-1
TaskStatus.java
...c/main/java/io/dataease/commons/constants/TaskStatus.java
+5
-0
TriggerType.java
.../main/java/io/dataease/commons/constants/TriggerType.java
+5
-0
DataSetTableTaskController.java
...taease/controller/dataset/DataSetTableTaskController.java
+35
-0
DataSetTableTaskLogController.java
...ase/controller/dataset/DataSetTableTaskLogController.java
+2
-1
ChartViewDTO.java
...end/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
+1
-0
DataSetTaskDTO.java
...src/main/java/io/dataease/dto/dataset/DataSetTaskDTO.java
+18
-0
ScheduleManager.java
.../main/java/io/dataease/job/sechedule/ScheduleManager.java
+6
-0
AppStartListener.java
.../src/main/java/io/dataease/listener/AppStartListener.java
+2
-2
ScheduleService.java
...nd/src/main/java/io/dataease/service/ScheduleService.java
+4
-3
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+26
-25
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+11
-2
DataSetTableTaskLogService.java
.../dataease/service/dataset/DataSetTableTaskLogService.java
+36
-4
DataSetTableTaskService.java
.../io/dataease/service/dataset/DataSetTableTaskService.java
+93
-25
ExtractDataService.java
.../java/io/dataease/service/dataset/ExtractDataService.java
+59
-26
V12__alter_updata_ds_table_field.sql
...sources/db/migration/V12__alter_updata_ds_table_field.sql
+8
-0
V13__system_task.sql
backend/src/main/resources/db/migration/V13__system_task.sql
+14
-0
generatorConfig.xml
backend/src/main/resources/generatorConfig.xml
+1
-1
dataset.js
frontend/src/api/dataset/dataset.js
+17
-0
ContextMenu.vue
...d/src/components/canvas/components/Editor/ContextMenu.vue
+1
-0
index.vue
frontend/src/components/canvas/components/Editor/index.vue
+8
-2
field_location.svg
frontend/src/icons/svg/field_location.svg
+1
-0
task.svg
frontend/src/icons/svg/task.svg
+1
-0
en.js
frontend/src/lang/en.js
+21
-1
tw.js
frontend/src/lang/tw.js
+21
-1
zh.js
frontend/src/lang/zh.js
+21
-1
index.scss
frontend/src/styles/index.scss
+5
-1
webMsg.js
frontend/src/utils/webMsg.js
+0
-3
DimensionItem.vue
...nd/src/views/chart/components/drag-item/DimensionItem.vue
+12
-1
QuotaItem.vue
frontend/src/views/chart/components/drag-item/QuotaItem.vue
+19
-7
ResultFilterEditor.vue
.../src/views/chart/components/filter/ResultFilterEditor.vue
+1
-0
Group.vue
frontend/src/views/chart/group/Group.vue
+0
-41
ChartEdit.vue
frontend/src/views/chart/view/ChartEdit.vue
+5
-3
TableSelector.vue
frontend/src/views/chart/view/TableSelector.vue
+18
-2
DatasetCustomField.vue
frontend/src/views/dataset/common/DatasetCustomField.vue
+3
-0
DatasetGroupSelectorTree.vue
...end/src/views/dataset/common/DatasetGroupSelectorTree.vue
+6
-20
DatasetTableData.vue
frontend/src/views/dataset/common/DatasetTableData.vue
+1
-0
FieldEdit.vue
frontend/src/views/dataset/data/FieldEdit.vue
+31
-4
TabDataPreview.vue
frontend/src/views/dataset/data/TabDataPreview.vue
+1
-0
UnionView.vue
frontend/src/views/dataset/data/UnionView.vue
+6
-0
UpdateInfo.vue
frontend/src/views/dataset/data/UpdateInfo.vue
+2
-2
form.vue
frontend/src/views/system/datasource/form.vue
+7
-4
DatasetTaskList.vue
frontend/src/views/system/task/DatasetTaskList.vue
+0
-0
TaskRecord.vue
frontend/src/views/system/task/TaskRecord.vue
+181
-0
dataset.vue
frontend/src/views/system/task/dataset.vue
+65
-0
index.vue
frontend/src/views/system/task/index.vue
+21
-0
index.vue
frontend/src/views/system/user/index.vue
+0
-1
没有找到文件。
backend/src/main/java/io/dataease/base/domain/DatasetTableField.java
浏览文件 @
d3cc82d5
...
...
@@ -18,14 +18,20 @@ public class DatasetTableField implements Serializable {
private
String
dataeaseName
;
private
String
groupType
;
private
String
type
;
private
Integer
size
;
private
Integer
deType
;
private
Integer
deTypeFormat
;
private
Integer
deExtractType
;
private
Integer
extField
;
private
Boolean
checked
;
private
Integer
columnIndex
;
...
...
backend/src/main/java/io/dataease/base/domain/DatasetTableFieldExample.java
浏览文件 @
d3cc82d5
...
...
@@ -454,6 +454,76 @@ public class DatasetTableFieldExample {
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeIsNull
()
{
addCriterion
(
"group_type is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeIsNotNull
()
{
addCriterion
(
"group_type is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeEqualTo
(
String
value
)
{
addCriterion
(
"group_type ="
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeNotEqualTo
(
String
value
)
{
addCriterion
(
"group_type <>"
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeGreaterThan
(
String
value
)
{
addCriterion
(
"group_type >"
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"group_type >="
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeLessThan
(
String
value
)
{
addCriterion
(
"group_type <"
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"group_type <="
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeLike
(
String
value
)
{
addCriterion
(
"group_type like"
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeNotLike
(
String
value
)
{
addCriterion
(
"group_type not like"
,
value
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeIn
(
List
<
String
>
values
)
{
addCriterion
(
"group_type in"
,
values
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"group_type not in"
,
values
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"group_type between"
,
value1
,
value2
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andGroupTypeNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"group_type not between"
,
value1
,
value2
,
"groupType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTypeIsNull
()
{
addCriterion
(
"`type` is null"
);
return
(
Criteria
)
this
;
...
...
@@ -644,6 +714,66 @@ public class DatasetTableFieldExample {
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatIsNull
()
{
addCriterion
(
"de_type_format is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatIsNotNull
()
{
addCriterion
(
"de_type_format is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatEqualTo
(
Integer
value
)
{
addCriterion
(
"de_type_format ="
,
value
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatNotEqualTo
(
Integer
value
)
{
addCriterion
(
"de_type_format <>"
,
value
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatGreaterThan
(
Integer
value
)
{
addCriterion
(
"de_type_format >"
,
value
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatGreaterThanOrEqualTo
(
Integer
value
)
{
addCriterion
(
"de_type_format >="
,
value
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatLessThan
(
Integer
value
)
{
addCriterion
(
"de_type_format <"
,
value
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatLessThanOrEqualTo
(
Integer
value
)
{
addCriterion
(
"de_type_format <="
,
value
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatIn
(
List
<
Integer
>
values
)
{
addCriterion
(
"de_type_format in"
,
values
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatNotIn
(
List
<
Integer
>
values
)
{
addCriterion
(
"de_type_format not in"
,
values
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatBetween
(
Integer
value1
,
Integer
value2
)
{
addCriterion
(
"de_type_format between"
,
value1
,
value2
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeTypeFormatNotBetween
(
Integer
value1
,
Integer
value2
)
{
addCriterion
(
"de_type_format not between"
,
value1
,
value2
,
"deTypeFormat"
);
return
(
Criteria
)
this
;
}
public
Criteria
andDeExtractTypeIsNull
()
{
addCriterion
(
"de_extract_type is null"
);
return
(
Criteria
)
this
;
...
...
@@ -704,6 +834,66 @@ public class DatasetTableFieldExample {
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldIsNull
()
{
addCriterion
(
"ext_field is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldIsNotNull
()
{
addCriterion
(
"ext_field is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldEqualTo
(
Integer
value
)
{
addCriterion
(
"ext_field ="
,
value
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldNotEqualTo
(
Integer
value
)
{
addCriterion
(
"ext_field <>"
,
value
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldGreaterThan
(
Integer
value
)
{
addCriterion
(
"ext_field >"
,
value
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldGreaterThanOrEqualTo
(
Integer
value
)
{
addCriterion
(
"ext_field >="
,
value
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldLessThan
(
Integer
value
)
{
addCriterion
(
"ext_field <"
,
value
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldLessThanOrEqualTo
(
Integer
value
)
{
addCriterion
(
"ext_field <="
,
value
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldIn
(
List
<
Integer
>
values
)
{
addCriterion
(
"ext_field in"
,
values
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldNotIn
(
List
<
Integer
>
values
)
{
addCriterion
(
"ext_field not in"
,
values
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldBetween
(
Integer
value1
,
Integer
value2
)
{
addCriterion
(
"ext_field between"
,
value1
,
value2
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andExtFieldNotBetween
(
Integer
value1
,
Integer
value2
)
{
addCriterion
(
"ext_field not between"
,
value1
,
value2
,
"extField"
);
return
(
Criteria
)
this
;
}
public
Criteria
andCheckedIsNull
()
{
addCriterion
(
"`checked` is null"
);
return
(
Criteria
)
this
;
...
...
backend/src/main/java/io/dataease/base/domain/DatasetTableTask.java
浏览文件 @
d3cc82d5
...
...
@@ -25,5 +25,11 @@ public class DatasetTableTask implements Serializable {
private
Long
createTime
;
private
Long
lastExecTime
;
private
String
status
;
private
String
lastExecStatus
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/DatasetTableTaskExample.java
浏览文件 @
d3cc82d5
...
...
@@ -773,6 +773,206 @@ public class DatasetTableTaskExample {
addCriterion
(
"create_time not between"
,
value1
,
value2
,
"createTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeIsNull
()
{
addCriterion
(
"last_exec_time is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeIsNotNull
()
{
addCriterion
(
"last_exec_time is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeEqualTo
(
Long
value
)
{
addCriterion
(
"last_exec_time ="
,
value
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeNotEqualTo
(
Long
value
)
{
addCriterion
(
"last_exec_time <>"
,
value
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeGreaterThan
(
Long
value
)
{
addCriterion
(
"last_exec_time >"
,
value
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"last_exec_time >="
,
value
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeLessThan
(
Long
value
)
{
addCriterion
(
"last_exec_time <"
,
value
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"last_exec_time <="
,
value
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeIn
(
List
<
Long
>
values
)
{
addCriterion
(
"last_exec_time in"
,
values
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"last_exec_time not in"
,
values
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"last_exec_time between"
,
value1
,
value2
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecTimeNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"last_exec_time not between"
,
value1
,
value2
,
"lastExecTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusIsNull
()
{
addCriterion
(
"`status` is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusIsNotNull
()
{
addCriterion
(
"`status` is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusEqualTo
(
String
value
)
{
addCriterion
(
"`status` ="
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusNotEqualTo
(
String
value
)
{
addCriterion
(
"`status` <>"
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusGreaterThan
(
String
value
)
{
addCriterion
(
"`status` >"
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"`status` >="
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusLessThan
(
String
value
)
{
addCriterion
(
"`status` <"
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"`status` <="
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusLike
(
String
value
)
{
addCriterion
(
"`status` like"
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusNotLike
(
String
value
)
{
addCriterion
(
"`status` not like"
,
value
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusIn
(
List
<
String
>
values
)
{
addCriterion
(
"`status` in"
,
values
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"`status` not in"
,
values
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"`status` between"
,
value1
,
value2
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andStatusNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"`status` not between"
,
value1
,
value2
,
"status"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusIsNull
()
{
addCriterion
(
"last_exec_status is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusIsNotNull
()
{
addCriterion
(
"last_exec_status is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusEqualTo
(
String
value
)
{
addCriterion
(
"last_exec_status ="
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusNotEqualTo
(
String
value
)
{
addCriterion
(
"last_exec_status <>"
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusGreaterThan
(
String
value
)
{
addCriterion
(
"last_exec_status >"
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"last_exec_status >="
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusLessThan
(
String
value
)
{
addCriterion
(
"last_exec_status <"
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"last_exec_status <="
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusLike
(
String
value
)
{
addCriterion
(
"last_exec_status like"
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusNotLike
(
String
value
)
{
addCriterion
(
"last_exec_status not like"
,
value
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusIn
(
List
<
String
>
values
)
{
addCriterion
(
"last_exec_status in"
,
values
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"last_exec_status not in"
,
values
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"last_exec_status between"
,
value1
,
value2
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
public
Criteria
andLastExecStatusNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"last_exec_status not between"
,
value1
,
value2
,
"lastExecStatus"
);
return
(
Criteria
)
this
;
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
...
...
backend/src/main/java/io/dataease/base/domain/DatasetTableTaskLog.java
浏览文件 @
d3cc82d5
...
...
@@ -19,6 +19,8 @@ public class DatasetTableTaskLog implements Serializable {
private
Long
createTime
;
private
String
triggerType
;
private
String
info
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
backend/src/main/java/io/dataease/base/domain/DatasetTableTaskLogExample.java
浏览文件 @
d3cc82d5
...
...
@@ -563,6 +563,76 @@ public class DatasetTableTaskLogExample {
addCriterion
(
"create_time not between"
,
value1
,
value2
,
"createTime"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeIsNull
()
{
addCriterion
(
"trigger_type is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeIsNotNull
()
{
addCriterion
(
"trigger_type is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeEqualTo
(
String
value
)
{
addCriterion
(
"trigger_type ="
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeNotEqualTo
(
String
value
)
{
addCriterion
(
"trigger_type <>"
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeGreaterThan
(
String
value
)
{
addCriterion
(
"trigger_type >"
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"trigger_type >="
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeLessThan
(
String
value
)
{
addCriterion
(
"trigger_type <"
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"trigger_type <="
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeLike
(
String
value
)
{
addCriterion
(
"trigger_type like"
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeNotLike
(
String
value
)
{
addCriterion
(
"trigger_type not like"
,
value
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeIn
(
List
<
String
>
values
)
{
addCriterion
(
"trigger_type in"
,
values
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"trigger_type not in"
,
values
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"trigger_type between"
,
value1
,
value2
,
"triggerType"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTriggerTypeNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"trigger_type not between"
,
value1
,
value2
,
"triggerType"
);
return
(
Criteria
)
this
;
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
...
...
backend/src/main/java/io/dataease/base/mapper/DatasetTableFieldMapper.xml
浏览文件 @
d3cc82d5
...
...
@@ -7,10 +7,13 @@
<result
column=
"origin_name"
jdbcType=
"VARCHAR"
property=
"originName"
/>
<result
column=
"name"
jdbcType=
"VARCHAR"
property=
"name"
/>
<result
column=
"dataease_name"
jdbcType=
"VARCHAR"
property=
"dataeaseName"
/>
<result
column=
"group_type"
jdbcType=
"VARCHAR"
property=
"groupType"
/>
<result
column=
"type"
jdbcType=
"VARCHAR"
property=
"type"
/>
<result
column=
"size"
jdbcType=
"INTEGER"
property=
"size"
/>
<result
column=
"de_type"
jdbcType=
"INTEGER"
property=
"deType"
/>
<result
column=
"de_type_format"
jdbcType=
"INTEGER"
property=
"deTypeFormat"
/>
<result
column=
"de_extract_type"
jdbcType=
"INTEGER"
property=
"deExtractType"
/>
<result
column=
"ext_field"
jdbcType=
"INTEGER"
property=
"extField"
/>
<result
column=
"checked"
jdbcType=
"BIT"
property=
"checked"
/>
<result
column=
"column_index"
jdbcType=
"INTEGER"
property=
"columnIndex"
/>
<result
column=
"last_sync_time"
jdbcType=
"BIGINT"
property=
"lastSyncTime"
/>
...
...
@@ -74,8 +77,8 @@
</where>
</sql>
<sql
id=
"Base_Column_List"
>
id, table_id, origin_name, `name`, dataease_name,
`type`, `size`, de_type, de_extract
_type,
`checked`, column_index, last_sync_time
id, table_id, origin_name, `name`, dataease_name,
group_type, `type`, `size`, de
_type,
de_type_format, de_extract_type, ext_field,
`checked`, column_index, last_sync_time
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.DatasetTableFieldExample"
resultMap=
"BaseResultMap"
>
select
...
...
@@ -109,13 +112,15 @@
</delete>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.DatasetTableField"
>
insert into dataset_table_field (id, table_id, origin_name,
`name`, dataease_name, `type`,
`size`, de_type, de_extract_type,
`name`, dataease_name, group_type,
`type`, `size`, de_type,
de_type_format, de_extract_type, ext_field,
`checked`, column_index, last_sync_time
)
values (#{id,jdbcType=VARCHAR}, #{tableId,jdbcType=VARCHAR}, #{originName,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR}, #{dataeaseName,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
#{size,jdbcType=INTEGER}, #{deType,jdbcType=INTEGER}, #{deExtractType,jdbcType=INTEGER},
#{name,jdbcType=VARCHAR}, #{dataeaseName,jdbcType=VARCHAR}, #{groupType,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{size,jdbcType=INTEGER}, #{deType,jdbcType=INTEGER},
#{deTypeFormat,jdbcType=INTEGER}, #{deExtractType,jdbcType=INTEGER}, #{extField,jdbcType=INTEGER},
#{checked,jdbcType=BIT}, #{columnIndex,jdbcType=INTEGER}, #{lastSyncTime,jdbcType=BIGINT}
)
</insert>
...
...
@@ -137,6 +142,9 @@
<if
test=
"dataeaseName != null"
>
dataease_name,
</if>
<if
test=
"groupType != null"
>
group_type,
</if>
<if
test=
"type != null"
>
`type`,
</if>
...
...
@@ -146,9 +154,15 @@
<if
test=
"deType != null"
>
de_type,
</if>
<if
test=
"deTypeFormat != null"
>
de_type_format,
</if>
<if
test=
"deExtractType != null"
>
de_extract_type,
</if>
<if
test=
"extField != null"
>
ext_field,
</if>
<if
test=
"checked != null"
>
`checked`,
</if>
...
...
@@ -175,6 +189,9 @@
<if
test=
"dataeaseName != null"
>
#{dataeaseName,jdbcType=VARCHAR},
</if>
<if
test=
"groupType != null"
>
#{groupType,jdbcType=VARCHAR},
</if>
<if
test=
"type != null"
>
#{type,jdbcType=VARCHAR},
</if>
...
...
@@ -184,9 +201,15 @@
<if
test=
"deType != null"
>
#{deType,jdbcType=INTEGER},
</if>
<if
test=
"deTypeFormat != null"
>
#{deTypeFormat,jdbcType=INTEGER},
</if>
<if
test=
"deExtractType != null"
>
#{deExtractType,jdbcType=INTEGER},
</if>
<if
test=
"extField != null"
>
#{extField,jdbcType=INTEGER},
</if>
<if
test=
"checked != null"
>
#{checked,jdbcType=BIT},
</if>
...
...
@@ -222,6 +245,9 @@
<if
test=
"record.dataeaseName != null"
>
dataease_name = #{record.dataeaseName,jdbcType=VARCHAR},
</if>
<if
test=
"record.groupType != null"
>
group_type = #{record.groupType,jdbcType=VARCHAR},
</if>
<if
test=
"record.type != null"
>
`type` = #{record.type,jdbcType=VARCHAR},
</if>
...
...
@@ -231,9 +257,15 @@
<if
test=
"record.deType != null"
>
de_type = #{record.deType,jdbcType=INTEGER},
</if>
<if
test=
"record.deTypeFormat != null"
>
de_type_format = #{record.deTypeFormat,jdbcType=INTEGER},
</if>
<if
test=
"record.deExtractType != null"
>
de_extract_type = #{record.deExtractType,jdbcType=INTEGER},
</if>
<if
test=
"record.extField != null"
>
ext_field = #{record.extField,jdbcType=INTEGER},
</if>
<if
test=
"record.checked != null"
>
`checked` = #{record.checked,jdbcType=BIT},
</if>
...
...
@@ -255,10 +287,13 @@
origin_name = #{record.originName,jdbcType=VARCHAR},
`name` = #{record.name,jdbcType=VARCHAR},
dataease_name = #{record.dataeaseName,jdbcType=VARCHAR},
group_type = #{record.groupType,jdbcType=VARCHAR},
`type` = #{record.type,jdbcType=VARCHAR},
`size` = #{record.size,jdbcType=INTEGER},
de_type = #{record.deType,jdbcType=INTEGER},
de_type_format = #{record.deTypeFormat,jdbcType=INTEGER},
de_extract_type = #{record.deExtractType,jdbcType=INTEGER},
ext_field = #{record.extField,jdbcType=INTEGER},
`checked` = #{record.checked,jdbcType=BIT},
column_index = #{record.columnIndex,jdbcType=INTEGER},
last_sync_time = #{record.lastSyncTime,jdbcType=BIGINT}
...
...
@@ -281,6 +316,9 @@
<if
test=
"dataeaseName != null"
>
dataease_name = #{dataeaseName,jdbcType=VARCHAR},
</if>
<if
test=
"groupType != null"
>
group_type = #{groupType,jdbcType=VARCHAR},
</if>
<if
test=
"type != null"
>
`type` = #{type,jdbcType=VARCHAR},
</if>
...
...
@@ -290,9 +328,15 @@
<if
test=
"deType != null"
>
de_type = #{deType,jdbcType=INTEGER},
</if>
<if
test=
"deTypeFormat != null"
>
de_type_format = #{deTypeFormat,jdbcType=INTEGER},
</if>
<if
test=
"deExtractType != null"
>
de_extract_type = #{deExtractType,jdbcType=INTEGER},
</if>
<if
test=
"extField != null"
>
ext_field = #{extField,jdbcType=INTEGER},
</if>
<if
test=
"checked != null"
>
`checked` = #{checked,jdbcType=BIT},
</if>
...
...
@@ -311,10 +355,13 @@
origin_name = #{originName,jdbcType=VARCHAR},
`name` = #{name,jdbcType=VARCHAR},
dataease_name = #{dataeaseName,jdbcType=VARCHAR},
group_type = #{groupType,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR},
`size` = #{size,jdbcType=INTEGER},
de_type = #{deType,jdbcType=INTEGER},
de_type_format = #{deTypeFormat,jdbcType=INTEGER},
de_extract_type = #{deExtractType,jdbcType=INTEGER},
ext_field = #{extField,jdbcType=INTEGER},
`checked` = #{checked,jdbcType=BIT},
column_index = #{columnIndex,jdbcType=INTEGER},
last_sync_time = #{lastSyncTime,jdbcType=BIGINT}
...
...
backend/src/main/java/io/dataease/base/mapper/DatasetTableTaskLogMapper.xml
浏览文件 @
d3cc82d5
...
...
@@ -9,6 +9,7 @@
<result
column=
"end_time"
jdbcType=
"BIGINT"
property=
"endTime"
/>
<result
column=
"status"
jdbcType=
"VARCHAR"
property=
"status"
/>
<result
column=
"create_time"
jdbcType=
"BIGINT"
property=
"createTime"
/>
<result
column=
"trigger_type"
jdbcType=
"VARCHAR"
property=
"triggerType"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapWithBLOBs"
type=
"io.dataease.base.domain.DatasetTableTaskLog"
>
<result
column=
"info"
jdbcType=
"LONGVARCHAR"
property=
"info"
/>
...
...
@@ -72,7 +73,7 @@
</where>
</sql>
<sql
id=
"Base_Column_List"
>
id, table_id, task_id, start_time, end_time, `status`, create_time
id, table_id, task_id, start_time, end_time, `status`, create_time
, trigger_type
</sql>
<sql
id=
"Blob_Column_List"
>
info
...
...
@@ -128,10 +129,12 @@
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.DatasetTableTaskLog"
>
insert into dataset_table_task_log (id, table_id, task_id,
start_time, end_time, `status`,
create_time, info)
create_time, trigger_type, info
)
values (#{id,jdbcType=VARCHAR}, #{tableId,jdbcType=VARCHAR}, #{taskId,jdbcType=VARCHAR},
#{startTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}, #{status,jdbcType=VARCHAR},
#{createTime,jdbcType=BIGINT}, #{info,jdbcType=LONGVARCHAR})
#{createTime,jdbcType=BIGINT}, #{triggerType,jdbcType=VARCHAR}, #{info,jdbcType=LONGVARCHAR}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.DatasetTableTaskLog"
>
insert into dataset_table_task_log
...
...
@@ -157,6 +160,9 @@
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"triggerType != null"
>
trigger_type,
</if>
<if
test=
"info != null"
>
info,
</if>
...
...
@@ -183,6 +189,9 @@
<if
test=
"createTime != null"
>
#{createTime,jdbcType=BIGINT},
</if>
<if
test=
"triggerType != null"
>
#{triggerType,jdbcType=VARCHAR},
</if>
<if
test=
"info != null"
>
#{info,jdbcType=LONGVARCHAR},
</if>
...
...
@@ -218,6 +227,9 @@
<if
test=
"record.createTime != null"
>
create_time = #{record.createTime,jdbcType=BIGINT},
</if>
<if
test=
"record.triggerType != null"
>
trigger_type = #{record.triggerType,jdbcType=VARCHAR},
</if>
<if
test=
"record.info != null"
>
info = #{record.info,jdbcType=LONGVARCHAR},
</if>
...
...
@@ -235,6 +247,7 @@
end_time = #{record.endTime,jdbcType=BIGINT},
`status` = #{record.status,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=BIGINT},
trigger_type = #{record.triggerType,jdbcType=VARCHAR},
info = #{record.info,jdbcType=LONGVARCHAR}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
...
@@ -248,7 +261,8 @@
start_time = #{record.startTime,jdbcType=BIGINT},
end_time = #{record.endTime,jdbcType=BIGINT},
`status` = #{record.status,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=BIGINT}
create_time = #{record.createTime,jdbcType=BIGINT},
trigger_type = #{record.triggerType,jdbcType=VARCHAR}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
...
...
@@ -274,6 +288,9 @@
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=BIGINT},
</if>
<if
test=
"triggerType != null"
>
trigger_type = #{triggerType,jdbcType=VARCHAR},
</if>
<if
test=
"info != null"
>
info = #{info,jdbcType=LONGVARCHAR},
</if>
...
...
@@ -288,6 +305,7 @@
end_time = #{endTime,jdbcType=BIGINT},
`status` = #{status,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=BIGINT},
trigger_type = #{triggerType,jdbcType=VARCHAR},
info = #{info,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
...
...
@@ -298,7 +316,8 @@
start_time = #{startTime,jdbcType=BIGINT},
end_time = #{endTime,jdbcType=BIGINT},
`status` = #{status,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=BIGINT}
create_time = #{createTime,jdbcType=BIGINT},
trigger_type = #{triggerType,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/DatasetTableTaskMapper.xml
浏览文件 @
d3cc82d5
...
...
@@ -12,6 +12,9 @@
<result
column=
"end"
jdbcType=
"VARCHAR"
property=
"end"
/>
<result
column=
"end_time"
jdbcType=
"BIGINT"
property=
"endTime"
/>
<result
column=
"create_time"
jdbcType=
"BIGINT"
property=
"createTime"
/>
<result
column=
"last_exec_time"
jdbcType=
"BIGINT"
property=
"lastExecTime"
/>
<result
column=
"status"
jdbcType=
"VARCHAR"
property=
"status"
/>
<result
column=
"last_exec_status"
jdbcType=
"VARCHAR"
property=
"lastExecStatus"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<where>
...
...
@@ -72,7 +75,8 @@
</where>
</sql>
<sql
id=
"Base_Column_List"
>
id, table_id, `name`, `type`, start_time, rate, cron, `end`, end_time, create_time
id, table_id, `name`, `type`, start_time, rate, cron, `end`, end_time, create_time,
last_exec_time, `status`, last_exec_status
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.DatasetTableTaskExample"
resultMap=
"BaseResultMap"
>
select
...
...
@@ -108,11 +112,13 @@
insert into dataset_table_task (id, table_id, `name`,
`type`, start_time, rate,
cron, `end`, end_time,
create_time)
create_time, last_exec_time, `status`,
last_exec_status)
values (#{id,jdbcType=VARCHAR}, #{tableId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{startTime,jdbcType=BIGINT}, #{rate,jdbcType=VARCHAR},
#{cron,jdbcType=VARCHAR}, #{end,jdbcType=VARCHAR}, #{endTime,jdbcType=BIGINT},
#{createTime,jdbcType=BIGINT})
#{createTime,jdbcType=BIGINT}, #{lastExecTime,jdbcType=BIGINT}, #{status,jdbcType=VARCHAR},
#{lastExecStatus,jdbcType=VARCHAR})
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.DatasetTableTask"
>
insert into dataset_table_task
...
...
@@ -147,6 +153,15 @@
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"lastExecTime != null"
>
last_exec_time,
</if>
<if
test=
"status != null"
>
`status`,
</if>
<if
test=
"lastExecStatus != null"
>
last_exec_status,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
...
...
@@ -179,6 +194,15 @@
<if
test=
"createTime != null"
>
#{createTime,jdbcType=BIGINT},
</if>
<if
test=
"lastExecTime != null"
>
#{lastExecTime,jdbcType=BIGINT},
</if>
<if
test=
"status != null"
>
#{status,jdbcType=VARCHAR},
</if>
<if
test=
"lastExecStatus != null"
>
#{lastExecStatus,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.DatasetTableTaskExample"
resultType=
"java.lang.Long"
>
...
...
@@ -220,6 +244,15 @@
<if
test=
"record.createTime != null"
>
create_time = #{record.createTime,jdbcType=BIGINT},
</if>
<if
test=
"record.lastExecTime != null"
>
last_exec_time = #{record.lastExecTime,jdbcType=BIGINT},
</if>
<if
test=
"record.status != null"
>
`status` = #{record.status,jdbcType=VARCHAR},
</if>
<if
test=
"record.lastExecStatus != null"
>
last_exec_status = #{record.lastExecStatus,jdbcType=VARCHAR},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
...
@@ -236,7 +269,10 @@
cron = #{record.cron,jdbcType=VARCHAR},
`end` = #{record.end,jdbcType=VARCHAR},
end_time = #{record.endTime,jdbcType=BIGINT},
create_time = #{record.createTime,jdbcType=BIGINT}
create_time = #{record.createTime,jdbcType=BIGINT},
last_exec_time = #{record.lastExecTime,jdbcType=BIGINT},
`status` = #{record.status,jdbcType=VARCHAR},
last_exec_status = #{record.lastExecStatus,jdbcType=VARCHAR}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
...
...
@@ -271,6 +307,15 @@
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=BIGINT},
</if>
<if
test=
"lastExecTime != null"
>
last_exec_time = #{lastExecTime,jdbcType=BIGINT},
</if>
<if
test=
"status != null"
>
`status` = #{status,jdbcType=VARCHAR},
</if>
<if
test=
"lastExecStatus != null"
>
last_exec_status = #{lastExecStatus,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
...
...
@@ -284,7 +329,10 @@
cron = #{cron,jdbcType=VARCHAR},
`end` = #{end,jdbcType=VARCHAR},
end_time = #{endTime,jdbcType=BIGINT},
create_time = #{createTime,jdbcType=BIGINT}
create_time = #{createTime,jdbcType=BIGINT},
last_exec_time = #{lastExecTime,jdbcType=BIGINT},
`status` = #{status,jdbcType=VARCHAR},
last_exec_status = #{lastExecStatus,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml
浏览文件 @
d3cc82d5
...
...
@@ -48,6 +48,9 @@
<if
test=
"mode != null"
>
and mode = #{mode,jdbcType=INTEGER}
</if>
<if
test=
"type != null"
>
and type = #{type,jdbcType=VARCHAR}
</if>
<if
test=
"typeFilter != null"
>
and type in
<foreach
collection=
"typeFilter"
item=
"item"
open=
"("
separator=
","
close=
")"
>
...
...
backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTaskMapper.java
浏览文件 @
d3cc82d5
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.base.domain.DatasetTableTaskLog
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.dto.dataset.DataSetTaskDTO
;
import
io.dataease.dto.dataset.DataSetTaskLogDTO
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
@@ -12,5 +14,7 @@ import java.util.List;
*/
@Mapper
public
interface
ExtDataSetTaskMapper
{
List
<
DataSetTaskLogDTO
>
list
(
DatasetTableTaskLog
request
);
List
<
DataSetTaskLogDTO
>
list
(
GridExample
example
);
List
<
DataSetTaskDTO
>
taskList
(
GridExample
example
);
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTaskMapper.xml
浏览文件 @
d3cc82d5
...
...
@@ -7,13 +7,42 @@
<result
column=
"name"
jdbcType=
"VARCHAR"
property=
"name"
/>
</resultMap>
<resultMap
id=
"TaskResult"
type=
"io.dataease.dto.dataset.DataSetTaskDTO"
extends=
"io.dataease.base.mapper.DatasetTableTaskMapper.BaseResultMap"
>
<result
column=
"table_name"
jdbcType=
"VARCHAR"
property=
"datasetName"
/>
<result
column=
"NEXT_FIRE_TIME"
jdbcType=
"BIGINT"
property=
"nextExecTime"
/>
</resultMap>
<select
id=
"list"
resultMap=
"BaseResult"
parameterType=
"io.dataease.base.domain.DatasetTableTaskLog"
>
SELECT dataset_table_task_log.*,
dataset_table_task.name
SELECT dataset_table_task_log.*, dataset_table_task.name
FROM dataset_table_task_log
LEFT JOIN dataset_table_task ON dataset_table_task_log.task_id = dataset_table_task.id
WHERE dataset_table_task_log.table_id = #{tableId,jdbcType=VARCHAR}
ORDER BY dataset_table_task_log.create_time desc
<if
test=
"_parameter != null"
>
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
</if>
<if
test=
"orderByClause != null"
>
order by ${orderByClause}
</if>
<if
test=
"orderByClause == null"
>
ORDER BY dataset_table_task_log.create_time desc
</if>
</select>
<select
id=
"taskList"
resultMap=
"TaskResult"
parameterType=
"io.dataease.base.mapper.ext.query.GridExample"
>
SELECT dataset_table.name as table_name, dataset_table_task.* , qrtz_triggers.*
FROM dataset_table_task
left join dataset_table on dataset_table.id=dataset_table_task.table_id
left join qrtz_triggers on dataset_table_task.id=qrtz_triggers.TRIGGER_NAME
<if
test=
"_parameter != null"
>
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
</if>
<if
test=
"orderByClause != null"
>
order by ${orderByClause}
</if>
<if
test=
"orderByClause == null"
>
order by dataset_table_task.create_time desc
</if>
</select>
</mapper>
backend/src/main/java/io/dataease/commons/constants/ScheduleType.java
浏览文件 @
d3cc82d5
package
io
.
dataease
.
commons
.
constants
;
public
enum
ScheduleType
{
CRON
,
SIMPLE
,
SIMPLE_COMPLETE
CRON
,
SIMPLE
}
backend/src/main/java/io/dataease/commons/constants/TaskStatus.java
0 → 100644
浏览文件 @
d3cc82d5
package
io
.
dataease
.
commons
.
constants
;
public
enum
TaskStatus
{
Underway
,
Stopped
}
backend/src/main/java/io/dataease/commons/constants/TriggerType.java
0 → 100644
浏览文件 @
d3cc82d5
package
io
.
dataease
.
commons
.
constants
;
public
enum
TriggerType
{
Cron
,
Custom
}
backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java
浏览文件 @
d3cc82d5
package
io
.
dataease
.
controller
.
dataset
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
io.dataease.base.domain.DatasetTableTask
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.request.dataset.DataSetTaskRequest
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
io.dataease.dto.dataset.DataSetTaskDTO
;
import
io.dataease.service.dataset.DataSetTableTaskLogService
;
import
io.dataease.service.dataset.DataSetTableTaskService
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
...
...
@@ -17,6 +26,8 @@ import java.util.List;
public
class
DataSetTableTaskController
{
@Resource
private
DataSetTableTaskService
dataSetTableTaskService
;
@Resource
private
DataSetTableTaskLogService
dataSetTableTaskLogService
;
@PostMapping
(
"save"
)
public
DatasetTableTask
save
(
@RequestBody
DataSetTaskRequest
dataSetTaskRequest
)
throws
Exception
{
...
...
@@ -32,4 +43,28 @@ public class DataSetTableTaskController {
public
List
<
DatasetTableTask
>
list
(
@RequestBody
DatasetTableTask
datasetTableTask
)
{
return
dataSetTableTaskService
.
list
(
datasetTableTask
);
}
@ApiOperation
(
"查看数据集任务"
)
@PostMapping
(
"/pageList/{goPage}/{pageSize}"
)
public
Pager
<
List
<
DataSetTaskDTO
>>
taskList
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
BaseGridRequest
request
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
dataSetTableTaskService
.
taskList
(
request
));
}
@PostMapping
(
"/lastExecStatus"
)
public
DataSetTaskDTO
lastExecStatus
(
@RequestBody
DataSetTaskDTO
datasetTableTask
)
{
return
dataSetTableTaskLogService
.
lastExecStatus
(
datasetTableTask
);
}
@PostMapping
(
"/updateStatus"
)
public
void
updateStatus
(
@RequestBody
DatasetTableTask
datasetTableTask
)
{
dataSetTableTaskService
.
updateDatasetTableTaskStatus
(
datasetTableTask
);
}
@PostMapping
(
"/execTask"
)
public
void
execTask
(
@RequestBody
DatasetTableTask
datasetTableTask
)
throws
Exception
{
dataSetTableTaskService
.
execTask
(
datasetTableTask
);
}
}
backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskLogController.java
浏览文件 @
d3cc82d5
...
...
@@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper;
import
io.dataease.base.domain.DatasetTableTaskLog
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.dto.dataset.DataSetTaskLogDTO
;
import
io.dataease.service.dataset.DataSetTableTaskLogService
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -33,7 +34,7 @@ public class DataSetTableTaskLogController {
}
@PostMapping
(
"list/{goPage}/{pageSize}"
)
public
Pager
<
List
<
DataSetTaskLogDTO
>>
list
(
@RequestBody
DatasetTableTaskLog
request
,
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
)
{
public
Pager
<
List
<
DataSetTaskLogDTO
>>
list
(
@RequestBody
BaseGridRequest
request
,
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
dataSetTableTaskLogService
.
list
(
request
));
}
...
...
backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
浏览文件 @
d3cc82d5
...
...
@@ -19,4 +19,5 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
private
Boolean
isLeaf
;
private
String
pid
;
private
String
sql
;
}
backend/src/main/java/io/dataease/dto/dataset/DataSetTaskDTO.java
0 → 100644
浏览文件 @
d3cc82d5
package
io
.
dataease
.
dto
.
dataset
;
import
io.dataease.base.domain.DatasetTableTask
;
import
io.dataease.base.domain.DatasetTableTaskLog
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @Author gin
* @Date 2021/3/9 3:19 下午
*/
@Getter
@Setter
public
class
DataSetTaskDTO
extends
DatasetTableTask
{
private
String
datasetName
;
private
Long
nextExecTime
;
private
String
taskStatus
;
}
backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java
浏览文件 @
d3cc82d5
...
...
@@ -430,4 +430,10 @@ public class ScheduleManager {
}
return
trigger
.
getFireTimeAfter
(
start
);
}
public
void
fireNow
(
String
jobName
,
String
jobGroup
)
throws
SchedulerException
{
JobKey
jobKey
=
new
JobKey
(
jobName
,
jobGroup
);
scheduler
.
triggerJob
(
jobKey
);
}
}
backend/src/main/java/io/dataease/listener/AppStartListener.java
浏览文件 @
d3cc82d5
package
io
.
dataease
.
listener
;
import
io.dataease.base.domain.DatasetTableTask
;
import
io.dataease.commons.constants.NoticeConstants
;
import
io.dataease.commons.constants.ScheduleType
;
import
io.dataease.commons.constants.TaskStatus
;
import
io.dataease.service.ScheduleService
;
import
io.dataease.service.dataset.DataSetTableTaskService
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -40,8 +42,6 @@ public class AppStartListener implements ApplicationListener<ApplicationReadyEve
}
else
{
scheduleService
.
addSchedule
(
task
);
}
}
else
{
scheduleService
.
addSchedule
(
task
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
backend/src/main/java/io/dataease/service/ScheduleService.java
浏览文件 @
d3cc82d5
...
...
@@ -35,9 +35,6 @@ public class ScheduleService {
endTime
=
null
;
}
else
{
endTime
=
new
Date
(
datasetTableTask
.
getEndTime
());
// if (endTime.before(new Date())) {
// return;
// }
if
(
endTime
.
before
(
new
Date
()))
{
deleteSchedule
(
datasetTableTask
);
return
;
...
...
@@ -58,4 +55,8 @@ public class ScheduleService {
public
void
deleteSchedule
(
DatasetTableTask
datasetTableTask
)
{
scheduleManager
.
removeJob
(
new
JobKey
(
datasetTableTask
.
getId
(),
datasetTableTask
.
getTableId
()),
new
TriggerKey
(
datasetTableTask
.
getId
(),
datasetTableTask
.
getTableId
()));
}
public
void
fireNow
(
DatasetTableTask
datasetTableTask
)
throws
Exception
{
scheduleManager
.
fireNow
(
datasetTableTask
.
getId
(),
datasetTableTask
.
getTableId
());
}
}
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
d3cc82d5
...
...
@@ -173,6 +173,7 @@ public class ChartViewService {
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_dataset_delete"
));
}
// 判断连接方式,直连或者定时抽取 table.mode
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
List
<
String
[]>
data
=
new
ArrayList
<>();
if
(
table
.
getMode
()
==
0
)
{
// 直连
Datasource
ds
=
datasourceService
.
get
(
table
.
getDataSourceId
());
...
...
@@ -180,7 +181,6 @@ public class ChartViewService {
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_datasource_delete"
));
}
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
ds
);
DataTableInfoDTO
dataTableInfoDTO
=
new
Gson
().
fromJson
(
table
.
getInfo
(),
DataTableInfoDTO
.
class
);
QueryProvider
qp
=
ProviderFactory
.
getQueryProvider
(
ds
.
getType
());
...
...
@@ -201,20 +201,19 @@ public class ChartViewService {
data
=
datasourceProvider
.
getData
(
datasourceRequest
);
/**
* 直连不实用缓存
String key = "provider_sql_"+datasourceRequest.getDatasource().getId() + "_" + datasourceRequest.getTable() + "_" +datasourceRequest.getQuery();
Object cache;
if ((cache = CacheUtils.get(JdbcConstants.JDBC_PROVIDER_KEY, key)) == null) {
data = datasourceProvider.getData(datasourceRequest);
CacheUtils.put(JdbcConstants.JDBC_PROVIDER_KEY,key ,data, null, null);
}else {
data = (List<String[]>) cache;
}
String key = "provider_sql_"+datasourceRequest.getDatasource().getId() + "_" + datasourceRequest.getTable() + "_" +datasourceRequest.getQuery();
Object cache;
if ((cache = CacheUtils.get(JdbcConstants.JDBC_PROVIDER_KEY, key)) == null) {
data = datasourceProvider.getData(datasourceRequest);
CacheUtils.put(JdbcConstants.JDBC_PROVIDER_KEY,key ,data, null, null);
}else {
data = (List<String[]>) cache;
}
*/
}
else
if
(
table
.
getMode
()
==
1
)
{
// 抽取
// 连接doris,构建doris数据源查询
Datasource
ds
=
(
Datasource
)
CommonBeanFactory
.
getBean
(
"DorisDatasource"
);
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
ds
);
String
tableName
=
"ds_"
+
table
.
getId
().
replaceAll
(
"-"
,
"_"
);
datasourceRequest
.
setTable
(
tableName
);
...
...
@@ -243,12 +242,12 @@ public class ChartViewService {
// 仪表板有参数不实用缓存
if
(
CollectionUtils
.
isNotEmpty
(
requestList
.
getFilter
()))
{
data
=
datasourceProvider
.
getData
(
datasourceRequest
);
}
else
{
try
{
}
else
{
try
{
data
=
cacheViewData
(
datasourceProvider
,
datasourceRequest
,
id
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
e
);
}
finally
{
}
finally
{
// 如果当前对象被锁 且 当前线程冲入次数 > 0 则释放锁
if
(
lock
.
isLocked
()
&&
lock
.
getHoldCount
()
>
0
)
{
lock
.
unlock
();
...
...
@@ -320,40 +319,42 @@ public class ChartViewService {
ChartViewDTO
dto
=
new
ChartViewDTO
();
BeanUtils
.
copyBean
(
dto
,
view
);
dto
.
setData
(
map
);
dto
.
setSql
(
datasourceRequest
.
getQuery
());
return
dto
;
}
/**
* 避免缓存击穿
* 虽然流量不一定能够达到击穿的水平
*
* @param datasourceProvider
* @param datasourceRequest
* @param viewId
* @return
* @throws Exception
*/
public
List
<
String
[]>
cacheViewData
(
DatasourceProvider
datasourceProvider
,
DatasourceRequest
datasourceRequest
,
String
viewId
)
throws
Exception
{
List
<
String
[]>
result
;
public
List
<
String
[]>
cacheViewData
(
DatasourceProvider
datasourceProvider
,
DatasourceRequest
datasourceRequest
,
String
viewId
)
throws
Exception
{
List
<
String
[]>
result
;
Object
cache
=
CacheUtils
.
get
(
JdbcConstants
.
VIEW_CACHE_KEY
,
viewId
);
if
(
cache
==
null
)
{
if
(
lock
.
tryLock
())
{
// 获取锁成功
try
{
try
{
result
=
datasourceProvider
.
getData
(
datasourceRequest
);
if
(
result
!=
null
)
{
CacheUtils
.
put
(
JdbcConstants
.
VIEW_CACHE_KEY
,
viewId
,
result
,
null
,
null
);
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
e
);
throw
e
;
}
finally
{
}
finally
{
lock
.
unlock
();
}
}
else
{
//获取锁失败
}
else
{
//获取锁失败
Thread
.
sleep
(
100
);
//避免CAS自旋频率过大 占用cpu资源过高
result
=
cacheViewData
(
datasourceProvider
,
datasourceRequest
,
viewId
);
}
}
else
{
result
=
(
List
<
String
[]>)
cache
;
}
else
{
result
=
(
List
<
String
[]>)
cache
;
}
return
result
;
}
...
...
@@ -402,11 +403,11 @@ public class ChartViewService {
public
String
chartCopy
(
String
id
)
{
String
newChartId
=
UUID
.
randomUUID
().
toString
();
extChartViewMapper
.
chartCopy
(
newChartId
,
id
);
extChartViewMapper
.
chartCopy
(
newChartId
,
id
);
return
newChartId
;
}
public
String
searchAdviceSceneId
(
String
panelId
){
return
extChartViewMapper
.
searchAdviceSceneId
(
AuthUtils
.
getUser
().
getUserId
().
toString
(),
panelId
);
public
String
searchAdviceSceneId
(
String
panelId
)
{
return
extChartViewMapper
.
searchAdviceSceneId
(
AuthUtils
.
getUser
().
getUserId
().
toString
(),
panelId
);
}
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
d3cc82d5
...
...
@@ -260,7 +260,7 @@ public class DataSetTableService {
List
<
DatasetTableField
>
quota
=
new
ArrayList
<>();
fields
.
forEach
(
field
->
{
if
(
field
.
getDeType
()
==
2
||
field
.
getDeType
()
==
3
)
{
if
(
StringUtils
.
equalsIgnoreCase
(
"q"
,
field
.
getGroupType
())
)
{
quota
.
add
(
field
);
}
else
{
dimension
.
add
(
field
);
...
...
@@ -277,6 +277,8 @@ public class DataSetTableService {
.
checked
(
true
)
.
columnIndex
(
999
)
.
deType
(
2
)
.
extField
(
1
)
.
groupType
(
"q"
)
.
build
();
quota
.
add
(
count
);
...
...
@@ -712,6 +714,8 @@ public class DataSetTableService {
datasetTableField
.
setChecked
(
true
);
datasetTableField
.
setColumnIndex
(
i
);
datasetTableField
.
setLastSyncTime
(
syncTime
);
datasetTableField
.
setExtField
(
0
);
datasetTableField
.
setGroupType
(
datasetTableField
.
getDeType
()
<
2
?
"d"
:
"q"
);
dataSetTableFieldsService
.
save
(
datasetTableField
);
}
}
...
...
@@ -1192,12 +1196,17 @@ public class DataSetTableService {
DatasetTableTaskLogExample
datasetTableTaskLogExample
=
new
DatasetTableTaskLogExample
();
datasetTableTaskLogExample
.
createCriteria
().
andStatusEqualTo
(
JobStatus
.
Underway
.
name
()).
andTableIdIn
(
jobStoppeddDatasetTables
.
stream
().
map
(
DatasetTable:
:
getId
).
collect
(
Collectors
.
toList
()));
List
<
String
>
taskIds
=
datasetTableTaskLogMapper
.
selectByExample
(
datasetTableTaskLogExample
).
stream
().
map
(
DatasetTableTaskLog:
:
getTaskId
).
collect
(
Collectors
.
toList
());
datasetTableTaskLogMapper
.
updateByExampleSelective
(
datasetTableTaskLog
,
datasetTableTaskLogExample
);
DatasetTableTask
datasetTableTask
=
new
DatasetTableTask
();
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Error
.
name
());
dataSetTableTaskService
.
update
(
taskIds
,
datasetTableTask
);
for
(
DatasetTable
jobStoppeddDatasetTable
:
jobStoppeddDatasetTables
)
{
extractDataService
.
deleteFile
(
"all_scope"
,
jobStoppeddDatasetTable
.
getId
());
extractDataService
.
deleteFile
(
"incremental_add"
,
jobStoppeddDatasetTable
.
getId
());
extractDataService
.
deleteFile
(
"incremental_delete"
,
jobStoppeddDatasetTable
.
getId
());
}
}
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskLogService.java
浏览文件 @
d3cc82d5
package
io
.
dataease
.
service
.
dataset
;
import
io.dataease.base.domain.DatasetTableTask
;
import
io.dataease.base.domain.DatasetTableTaskLog
;
import
io.dataease.base.domain.DatasetTableTaskLogExample
;
import
io.dataease.base.mapper.DatasetTableTaskLogMapper
;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.ext.ExtDataSetTaskMapper
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.dto.dataset.DataSetTaskDTO
;
import
io.dataease.dto.dataset.DataSetTaskLogDTO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
...
...
@@ -38,8 +44,9 @@ public class DataSetTableTaskLogService {
datasetTableTaskLogMapper
.
deleteByPrimaryKey
(
id
);
}
public
List
<
DataSetTaskLogDTO
>
list
(
DatasetTableTaskLog
request
)
{
return
extDataSetTaskMapper
.
list
(
request
);
public
List
<
DataSetTaskLogDTO
>
list
(
BaseGridRequest
request
)
{
GridExample
gridExample
=
request
.
convertExample
();
return
extDataSetTaskMapper
.
list
(
gridExample
);
}
public
void
deleteByTaskId
(
String
taskId
){
...
...
@@ -57,6 +64,30 @@ public class DataSetTableTaskLogService {
}
public
List
<
DatasetTableTaskLog
>
select
(
DatasetTableTaskLog
datasetTableTaskLog
){
DatasetTableTaskLogExample
example
=
getDatasetTableTaskLogExample
(
datasetTableTaskLog
);
example
.
setOrderByClause
(
"create_time desc"
);
return
datasetTableTaskLogMapper
.
selectByExampleWithBLOBs
(
example
);
}
public
DataSetTaskDTO
lastExecStatus
(
DataSetTaskDTO
dataSetTaskDTO
){
DatasetTableTaskLogExample
example
=
new
DatasetTableTaskLogExample
();
DatasetTableTaskLogExample
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
StringUtils
.
isNotEmpty
(
dataSetTaskDTO
.
getTableId
())){
criteria
.
andTableIdEqualTo
(
dataSetTaskDTO
.
getTableId
());
}
if
(
StringUtils
.
isNotEmpty
(
dataSetTaskDTO
.
getId
())){
criteria
.
andTaskIdEqualTo
(
dataSetTaskDTO
.
getId
());
}
example
.
setOrderByClause
(
"create_time desc limit 1"
);
List
<
DatasetTableTaskLog
>
datasetTableTaskLogs
=
datasetTableTaskLogMapper
.
selectByExampleWithBLOBs
(
example
);
if
(
CollectionUtils
.
isNotEmpty
(
datasetTableTaskLogs
)){
dataSetTaskDTO
.
setLastExecStatus
(
datasetTableTaskLogs
.
get
(
0
).
getStatus
());
dataSetTaskDTO
.
setLastExecTime
(
datasetTableTaskLogs
.
get
(
0
).
getCreateTime
());
}
return
dataSetTaskDTO
;
}
private
DatasetTableTaskLogExample
getDatasetTableTaskLogExample
(
DatasetTableTaskLog
datasetTableTaskLog
)
{
DatasetTableTaskLogExample
example
=
new
DatasetTableTaskLogExample
();
DatasetTableTaskLogExample
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
StringUtils
.
isNotEmpty
(
datasetTableTaskLog
.
getStatus
())){
...
...
@@ -68,7 +99,8 @@ public class DataSetTableTaskLogService {
if
(
StringUtils
.
isNotEmpty
(
datasetTableTaskLog
.
getTaskId
())){
criteria
.
andTaskIdEqualTo
(
datasetTableTaskLog
.
getTaskId
());
}
example
.
setOrderByClause
(
"create_time desc"
);
return
datasetTableTaskLogMapper
.
selectByExampleWithBLOBs
(
example
);
return
example
;
}
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
浏览文件 @
d3cc82d5
package
io
.
dataease
.
service
.
dataset
;
import
com.google.gson.Gson
;
import
io.dataease.base.domain.DatasetTable
;
import
io.dataease.base.domain.DatasetTableTask
;
import
io.dataease.base.domain.DatasetTableTaskExample
;
import
io.dataease.base.domain.DatasetTableTaskLog
;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.ext.ExtDataSetTaskMapper
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.commons.constants.JobStatus
;
import
io.dataease.commons.constants.ScheduleType
;
import
io.dataease.commons.constants.TaskStatus
;
import
io.dataease.commons.constants.TriggerType
;
import
io.dataease.controller.request.dataset.DataSetTaskRequest
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
io.dataease.controller.sys.response.SysUserRole
;
import
io.dataease.dto.dataset.DataSetTaskDTO
;
import
io.dataease.exception.DataEaseException
;
import
io.dataease.i18n.Translator
;
import
io.dataease.service.ScheduleService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.quartz.CronExpression
;
...
...
@@ -21,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
/**
* @Author gin
...
...
@@ -40,12 +51,15 @@ public class DataSetTableTaskService {
private
DataSetTableService
dataSetTableService
;
@Resource
private
ExtractDataService
extractDataService
;
@Resource
private
ExtDataSetTaskMapper
extDataSetTaskMapper
;
public
DatasetTableTask
save
(
DataSetTaskRequest
dataSetTaskRequest
)
throws
Exception
{
checkName
(
dataSetTaskRequest
);
DatasetTableTask
datasetTableTask
=
dataSetTaskRequest
.
getDatasetTableTask
();
dataSetTableService
.
saveIncrementalConfig
(
dataSetTaskRequest
.
getDatasetTableIncrementalConfig
());
if
(!
datasetTableTask
.
getType
().
equalsIgnoreCase
(
"add_scope"
)){
dataSetTableService
.
saveIncrementalConfig
(
dataSetTaskRequest
.
getDatasetTableIncrementalConfig
());
}
// check
if
(
StringUtils
.
equalsIgnoreCase
(
datasetTableTask
.
getRate
(),
"CRON"
)){
if
(
StringUtils
.
isNotEmpty
(
datasetTableTask
.
getCron
()))
{
...
...
@@ -67,34 +81,48 @@ public class DataSetTableTaskService {
if
(
StringUtils
.
isEmpty
(
datasetTableTask
.
getId
()))
{
datasetTableTask
.
setId
(
UUID
.
randomUUID
().
toString
());
datasetTableTask
.
setCreateTime
(
System
.
currentTimeMillis
());
// SIMPLE 类型,提前占位
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
()))
{
if
(
datasetTableTask
.
getType
().
equalsIgnoreCase
(
"add_scope"
))
{
DatasetTable
datasetTable
=
dataSetTableService
.
get
(
datasetTableTask
.
getTableId
());
if
(
datasetTable
.
getLastUpdateTime
()
==
0
||
datasetTable
.
getLastUpdateTime
()
==
null
)
{
DataEaseException
.
throwException
(
Translator
.
get
(
"i18n_not_exec_add_sync"
));
}
}
if
(
extractDataService
.
updateSyncStatusIsNone
(
dataSetTableService
.
get
(
datasetTableTask
.
getTableId
())))
{
DataEaseException
.
throwException
(
Translator
.
get
(
"i18n_sync_job_exists"
));
}
else
{
//write log
DatasetTableTaskLog
datasetTableTaskLog
=
new
DatasetTableTaskLog
();
datasetTableTaskLog
.
setTableId
(
datasetTableTask
.
getTableId
());
datasetTableTaskLog
.
setTaskId
(
datasetTableTask
.
getId
());
datasetTableTaskLog
.
setStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTaskLog
.
setStartTime
(
System
.
currentTimeMillis
());
dataSetTableTaskLogService
.
save
(
datasetTableTaskLog
);
}
}
datasetTableTask
.
setStatus
(
TaskStatus
.
Underway
.
name
());
datasetTableTaskMapper
.
insert
(
datasetTableTask
);
}
else
{
datasetTableTaskMapper
.
updateByPrimaryKeySelective
(
datasetTableTask
);
}
scheduleService
.
addSchedule
(
datasetTableTask
);
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
())
&&
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
TaskStatus
.
Underway
.
name
()))
{
// SIMPLE 类型,提前占位
execNow
(
datasetTableTask
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
update
(
datasetTableTask
);
}
if
(!
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
name
())){
scheduleService
.
addSchedule
(
datasetTableTask
);
}
else
{
if
(
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
JobStatus
.
Underway
.
name
())){
scheduleService
.
addSchedule
(
datasetTableTask
);
}
}
return
datasetTableTask
;
}
private
void
execNow
(
DatasetTableTask
datasetTableTask
)
{
if
(
datasetTableTask
.
getType
().
equalsIgnoreCase
(
"add_scope"
))
{
DatasetTable
datasetTable
=
dataSetTableService
.
get
(
datasetTableTask
.
getTableId
());
if
(
datasetTable
.
getLastUpdateTime
()
==
null
||
datasetTable
.
getLastUpdateTime
()
==
0
)
{
DataEaseException
.
throwException
(
Translator
.
get
(
"i18n_not_exec_add_sync"
));
}
}
if
(
extractDataService
.
existSyncTask
(
dataSetTableService
.
get
(
datasetTableTask
.
getTableId
()),
null
))
{
DataEaseException
.
throwException
(
Translator
.
get
(
"i18n_sync_job_exists"
));
}
//write log
DatasetTableTaskLog
datasetTableTaskLog
=
new
DatasetTableTaskLog
();
datasetTableTaskLog
.
setTableId
(
datasetTableTask
.
getTableId
());
datasetTableTaskLog
.
setTaskId
(
datasetTableTask
.
getId
());
datasetTableTaskLog
.
setStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTaskLog
.
setStartTime
(
System
.
currentTimeMillis
());
datasetTableTaskLog
.
setTriggerType
(
TriggerType
.
Custom
.
name
());
dataSetTableTaskLogService
.
save
(
datasetTableTaskLog
);
}
public
void
delete
(
String
id
)
{
DatasetTableTask
datasetTableTask
=
datasetTableTaskMapper
.
selectByPrimaryKey
(
id
);
datasetTableTaskMapper
.
deleteByPrimaryKey
(
id
);
...
...
@@ -121,19 +149,34 @@ public class DataSetTableTaskService {
}
public
void
update
(
DatasetTableTask
datasetTableTask
)
{
datasetTableTaskMapper
.
updateByPrimaryKey
(
datasetTableTask
);
datasetTableTaskMapper
.
updateByPrimaryKeySelective
(
datasetTableTask
);
}
public
void
update
(
List
<
String
>
taskIds
,
DatasetTableTask
datasetTableTask
)
{
if
(
CollectionUtils
.
isEmpty
(
taskIds
)){
return
;
}
DatasetTableTaskExample
example
=
new
DatasetTableTaskExample
();
example
.
createCriteria
().
andIdIn
(
taskIds
);
datasetTableTaskMapper
.
updateByExampleSelective
(
datasetTableTask
,
example
);
}
public
List
<
DatasetTableTask
>
list
(
DatasetTableTask
datasetTableTask
)
{
DatasetTableTaskExample
datasetTableTaskExample
=
new
DatasetTableTaskExample
();
DatasetTableTaskExample
.
Criteria
criteria
=
datasetTableTaskExample
.
createCriteria
();
if
(
StringUtils
.
isNotEmpty
(
datasetTableTask
.
getTableId
()))
{
if
(
datasetTableTask
!=
null
&&
StringUtils
.
isNotEmpty
(
datasetTableTask
.
getTableId
()))
{
criteria
.
andTableIdEqualTo
(
datasetTableTask
.
getTableId
());
}
datasetTableTaskExample
.
setOrderByClause
(
"create_time desc,name asc"
);
return
datasetTableTaskMapper
.
selectByExample
(
datasetTableTaskExample
);
}
public
List
<
DataSetTaskDTO
>
taskList
(
BaseGridRequest
request
)
{
GridExample
gridExample
=
request
.
convertExample
();
List
<
DataSetTaskDTO
>
dataSetTaskDTOS
=
extDataSetTaskMapper
.
taskList
(
gridExample
);
return
dataSetTaskDTOS
;
}
private
void
checkName
(
DataSetTaskRequest
dataSetTaskRequest
)
{
DatasetTableTaskExample
datasetTableTaskExample
=
new
DatasetTableTaskExample
();
DatasetTableTaskExample
.
Criteria
criteria
=
datasetTableTaskExample
.
createCriteria
();
...
...
@@ -151,4 +194,29 @@ public class DataSetTableTaskService {
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_task_name_repeat"
));
}
}
public
void
updateDatasetTableTaskStatus
(
DatasetTableTask
datasetTableTask
){
DatasetTableTaskExample
datasetTableTaskExample
=
new
DatasetTableTaskExample
();
DatasetTableTaskExample
.
Criteria
criteria
=
datasetTableTaskExample
.
createCriteria
();
criteria
.
andIdEqualTo
(
datasetTableTask
.
getId
());
DatasetTableTask
record
=
new
DatasetTableTask
();
record
.
setStatus
(
datasetTableTask
.
getStatus
());
datasetTableTaskMapper
.
updateByExampleSelective
(
record
,
datasetTableTaskExample
);
}
public
void
execTask
(
DatasetTableTask
datasetTableTask
)
throws
Exception
{
execNow
(
datasetTableTask
);
// datasetTableTask.setStatus(TaskStatus.Underway.name());
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
update
(
datasetTableTask
);
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
CRON
.
toString
())){
scheduleService
.
fireNow
(
datasetTableTask
);
}
if
(
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
())){
scheduleService
.
addSchedule
(
datasetTableTask
);
}
}
}
backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
浏览文件 @
d3cc82d5
...
...
@@ -6,10 +6,7 @@ import io.dataease.base.mapper.DatasetTableMapper;
import
io.dataease.base.mapper.DatasetTableTaskMapper
;
import
io.dataease.base.mapper.DatasourceMapper
;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.commons.constants.JdbcConstants
;
import
io.dataease.commons.constants.JobStatus
;
import
io.dataease.commons.constants.ScheduleType
;
import
io.dataease.commons.constants.UpdateType
;
import
io.dataease.commons.constants.*
;
import
io.dataease.commons.model.AuthURD
;
import
io.dataease.commons.utils.*
;
import
io.dataease.datasource.constants.DatasourceTypes
;
...
...
@@ -134,28 +131,48 @@ public class ExtractDataService {
"fi\n"
+
"rm -rf %s\n"
;
public
synchronized
boolean
updateSyncStatusIsNone
(
DatasetTable
datasetTable
){
public
synchronized
boolean
existSyncTask
(
DatasetTable
datasetTable
,
DatasetTableTask
datasetTableTask
){
datasetTable
.
setSyncStatus
(
JobStatus
.
Underway
.
name
());
DatasetTableExample
example
=
new
DatasetTableExample
();
example
.
createCriteria
().
andIdEqualTo
(
datasetTable
.
getId
());
datasetTableMapper
.
selectByExample
(
example
);
example
.
clear
();
example
.
createCriteria
().
andIdEqualTo
(
datasetTable
.
getId
()).
andSyncStatusNotEqualTo
(
JobStatus
.
Underway
.
name
());
example
.
or
(
example
.
createCriteria
().
andIdEqualTo
(
datasetTable
.
getId
()).
andSyncStatusIsNull
());
return
datasetTableMapper
.
updateByExampleSelective
(
datasetTable
,
example
)
==
0
;
Boolean
existSyncTask
=
datasetTableMapper
.
updateByExampleSelective
(
datasetTable
,
example
)
==
0
;
if
(
existSyncTask
){
if
(
datasetTableTask
!=
null
){
DatasetTableTaskLog
datasetTableTaskLog
=
new
DatasetTableTaskLog
();
datasetTableTaskLog
.
setTaskId
(
datasetTableTask
.
getId
());
datasetTableTaskLog
.
setTableId
(
datasetTable
.
getId
());
datasetTableTaskLog
.
setStatus
(
JobStatus
.
Underway
.
name
());
List
<
DatasetTableTaskLog
>
datasetTableTaskLogs
=
dataSetTableTaskLogService
.
select
(
datasetTableTaskLog
);
if
(
CollectionUtils
.
isNotEmpty
(
datasetTableTaskLogs
)
&&
datasetTableTaskLogs
.
get
(
0
).
getTriggerType
().
equalsIgnoreCase
(
TriggerType
.
Custom
.
name
())){
return
false
;
}
}
return
true
;
}
else
{
return
false
;
}
}
public
void
extractData
(
String
datasetTableId
,
String
taskId
,
String
type
,
JobExecutionContext
context
)
{
DatasetTable
datasetTable
=
getDatasetTable
(
datasetTableId
);
if
(
datasetTable
==
null
){
LogUtil
.
error
(
"Can not find DatasetTable: "
+
datasetTableId
);
return
;
}
DatasetTableTask
datasetTableTask
=
datasetTableTaskMapper
.
selectByPrimaryKey
(
taskId
);
boolean
isCronJob
=
(
datasetTableTask
!=
null
&&
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
CRON
.
toString
()));
if
(
updateSyncStatusIsNone
(
datasetTable
)
&&
isCronJob
){
LogUtil
.
info
(
"Skip synchronization task for table : "
+
datasetTableId
);
if
(
datasetTableTask
.
getStatus
().
equalsIgnoreCase
(
TaskStatus
.
Stopped
.
name
())
&&
!
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
name
())){
LogUtil
.
info
(
"Skip synchronization task, task ID : "
+
datasetTableTask
.
getId
());
return
;
}
if
(
existSyncTask
(
datasetTable
,
datasetTableTask
)){
LogUtil
.
info
(
"Skip synchronization task for dataset, dataset ID : "
+
datasetTableId
);
return
;
}
datasetTableTask
.
setLastExecTime
(
System
.
currentTimeMillis
());
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Underway
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
DatasetTableTaskLog
datasetTableTaskLog
=
new
DatasetTableTaskLog
();
UpdateType
updateType
=
UpdateType
.
valueOf
(
type
);
if
(
context
!=
null
){
...
...
@@ -207,20 +224,29 @@ public class ExtractDataService {
sendWebMsg
(
datasetTable
,
taskId
,
true
);
//
deleteFile("all_scope", datasetTableId);
deleteFile
(
"all_scope"
,
datasetTableId
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
// if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) {
// datasetTableTask.setStatus(TaskStatus.Stopped.name());
// }
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Completed
.
name
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
}
catch
(
Exception
e
){
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Error
.
name
());
// if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) {
// datasetTableTask.setStatus(TaskStatus.Stopped.name());
// }
dataSetTableTaskService
.
update
(
datasetTableTask
);
sendWebMsg
(
datasetTable
,
taskId
,
false
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
dropDorisTable
(
DorisTableUtils
.
dorisTmpName
(
DorisTableUtils
.
dorisName
(
datasetTableId
)));
//
deleteFile("all_scope", datasetTableId);
deleteFile
(
"all_scope"
,
datasetTableId
);
}
finally
{
if
(
datasetTableTask
!=
null
&&
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
()))
{
datasetTableTask
.
setRate
(
ScheduleType
.
SIMPLE_COMPLETE
.
toString
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
}
}
break
;
...
...
@@ -274,22 +300,28 @@ public class ExtractDataService {
sendWebMsg
(
datasetTable
,
taskId
,
true
);
//
deleteFile("incremental_add", datasetTableId);
//
deleteFile("incremental_delete", datasetTableId);
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Completed
,
execTime
);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Completed
.
name
());
// if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) {
// datasetTableTask.setStatus(TaskStatus.Stopped.name());
// }
dataSetTableTaskService
.
update
(
datasetTableTask
);
}
}
catch
(
Exception
e
){
saveErrorLog
(
datasetTableId
,
taskId
,
e
);
sendWebMsg
(
datasetTable
,
taskId
,
false
);
updateTableStatus
(
datasetTableId
,
datasetTable
,
JobStatus
.
Error
,
null
);
// deleteFile("incremental_add", datasetTableId);
// deleteFile("incremental_delete", datasetTableId);
datasetTableTask
.
setLastExecStatus
(
JobStatus
.
Error
.
name
());
// if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) {
// datasetTableTask.setStatus(TaskStatus.Stopped.name());
// }
dataSetTableTaskService
.
update
(
datasetTableTask
);
deleteFile
(
"incremental_add"
,
datasetTableId
);
deleteFile
(
"incremental_delete"
,
datasetTableId
);
}
finally
{
if
(
datasetTableTask
!=
null
&&
datasetTableTask
.
getRate
().
equalsIgnoreCase
(
ScheduleType
.
SIMPLE
.
toString
()))
{
datasetTableTask
.
setRate
(
ScheduleType
.
SIMPLE_COMPLETE
.
toString
());
dataSetTableTaskService
.
update
(
datasetTableTask
);
}
}
break
;
}
...
...
@@ -435,6 +467,7 @@ public class ExtractDataService {
datasetTableTaskLog
.
setTableId
(
datasetTableId
);
datasetTableTaskLog
.
setTaskId
(
taskId
);
datasetTableTaskLog
.
setStatus
(
JobStatus
.
Underway
.
name
());
datasetTableTaskLog
.
setTriggerType
(
TriggerType
.
Cron
.
name
());
List
<
DatasetTableTaskLog
>
datasetTableTaskLogs
=
dataSetTableTaskLogService
.
select
(
datasetTableTaskLog
);
if
(
CollectionUtils
.
isEmpty
(
datasetTableTaskLogs
)){
datasetTableTaskLog
.
setStartTime
(
System
.
currentTimeMillis
());
...
...
backend/src/main/resources/db/migration/V12__alter_updata_ds_table_field.sql
0 → 100644
浏览文件 @
d3cc82d5
ALTER
TABLE
`dataset_table_field`
ADD
COLUMN
`group_type`
VARCHAR
(
50
)
COMMENT
'维度/指标标识 d:维度,q:指标'
AFTER
`dataease_name`
;
ALTER
TABLE
`dataset_table_field`
ADD
COLUMN
`de_type_format`
int
(
10
)
COMMENT
'类型格式'
AFTER
`de_type`
;
ALTER
TABLE
`dataset_table_field`
ADD
COLUMN
`ext_field`
int
(
10
)
COMMENT
'是否扩展字段 0否 1是'
AFTER
`de_extract_type`
;
UPDATE
`dataset_table_field`
SET
group_type
=
'd'
where
`de_type`
IN
(
0
,
1
);
UPDATE
`dataset_table_field`
SET
group_type
=
'q'
where
`de_type`
IN
(
2
,
3
);
UPDATE
`dataset_table_field`
SET
ext_field
=
0
;
\ No newline at end of file
backend/src/main/resources/db/migration/V13__system_task.sql
0 → 100644
浏览文件 @
d3cc82d5
INSERT
INTO
`sys_menu`
VALUES
(
57
,
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
(
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`
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
`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'
;
ALTER
TABLE
`dataset_table_task_log`
ADD
COLUMN
`trigger_type`
VARCHAR
(
45
)
NULL
AFTER
`create_time`
;
update
dataset_table_task_log
set
trigger_type
=
'Cron'
;
backend/src/main/resources/generatorConfig.xml
浏览文件 @
d3cc82d5
...
...
@@ -74,7 +74,7 @@
<!-- </table>-->
<!-- <table tableName="v_dataset"/>-->
<!-- <table tableName="sys_auth_detail"/>-->
<table
tableName=
"
panel_view
"
/>
<table
tableName=
"
dataset_table_field
"
/>
</context>
...
...
frontend/src/api/dataset/dataset.js
浏览文件 @
d3cc82d5
...
...
@@ -128,4 +128,21 @@ export function isKettleRunning(showLoading = true) {
})
}
export
function
taskList
(
spage
,
size
,
data
)
{
return
request
({
url
:
'/dataset/group/isKettleRunning'
,
method
:
'post'
,
loading
:
showLoading
})
}
export
function
datasetTaskList
(
page
,
size
,
data
)
{
return
request
({
url
:
'/dataset/task/pageList/'
+
page
+
'/'
+
size
,
method
:
'post'
,
data
,
loading
:
true
})
}
export
default
{
loadTable
,
getScene
,
addGroup
,
delGroup
,
addTable
,
delTable
,
groupTree
}
frontend/src/components/canvas/components/Editor/ContextMenu.vue
浏览文件 @
d3cc82d5
...
...
@@ -94,6 +94,7 @@ export default {
this
.
deleteCurCondition
()
this
.
$store
.
commit
(
'deleteComponent'
)
this
.
$store
.
commit
(
'recordSnapshot'
)
this
.
$store
.
commit
(
'setCurComponent'
,
{
component
:
null
,
index
:
null
})
},
deleteCurCondition
()
{
...
...
frontend/src/components/canvas/components/Editor/index.vue
浏览文件 @
d3cc82d5
...
...
@@ -28,7 +28,7 @@
class-name-active=
"de-drag-active"
:class=
"
{'gap_class':canvasStyleData.panel.gap==='yes'}"
:snap="true"
:snap-tolerance="
1
"
:snap-tolerance="
2
"
:change-style="customStyle"
@refLineParams="getRefLineParams"
>
...
...
@@ -84,6 +84,12 @@
height: item.lineLength,
}"
/>
<span
v-for=
"(item, index) in hLine"
:key=
"'h_'+index"
class=
"ref-line h-line"
:style=
"
{ top: item.position, left: item.origin, width: item.lineLength }"
/>
</div>
</
template
>
...
...
@@ -521,7 +527,7 @@ export default {
}
},
getRefLineParams
(
params
)
{
// console.log(
params
)
// console.log(
JSON.stringify(params)
)
const
{
vLine
,
hLine
}
=
params
this
.
vLine
=
vLine
this
.
hLine
=
hLine
...
...
frontend/src/icons/svg/field_location.svg
0 → 100644
浏览文件 @
d3cc82d5
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1625718978594"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"2291"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M512 1.92c223.850667 0 405.333333 179.072 405.333333 400 0 162.837333-118.058667 355.221333-354.197333 577.130667a74.666667 74.666667 0 0 1-102.272 0l-10.666667-10.069334C221.205333 751.317333 106.666667 562.304 106.666667 401.898667 106.666667 180.992 288.149333 1.92 512 1.92z m0 64c-188.693333 0-341.333333 150.613333-341.333333 336 0 141.034667 109.546667 319.530667 334.037333 530.474667a10.666667 10.666667 0 0 0 14.592 0l10.282667-9.706667C747.136 715.968 853.333333 540.8 853.333333 401.898667c0-185.386667-152.64-336-341.333333-336z m0 170.666667a170.666667 170.666667 0 1 1 0 341.333333 170.666667 170.666667 0 0 1 0-341.333333z m0 64a106.666667 106.666667 0 1 0 0 213.333333 106.666667 106.666667 0 0 0 0-213.333333z"
p-id=
"2292"
></path></svg>
frontend/src/icons/svg/task.svg
0 → 100644
浏览文件 @
d3cc82d5
<svg
t=
"1625478118793"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"1202"
width=
"200"
height=
"200"
><path
d=
"M585.142857 804.571429h365.714286v-73.142858H585.142857v73.142858z m-219.428571-292.571429h585.142857v-73.142857H365.714286v73.142857z m365.714285-292.571429h219.428572V146.285714h-219.428572v73.142857z m292.571429 475.428572v146.285714c0 20.004571-16.566857 36.571429-36.571429 36.571429H36.571429c-20.004571 0-36.571429-16.566857-36.571429-36.571429v-146.285714c0-20.004571 16.566857-36.571429 36.571429-36.571429h950.857142c20.004571 0 36.571429 16.566857 36.571429 36.571429z m0-292.571429v146.285715c0 20.004571-16.566857 36.571429-36.571429 36.571428H36.571429c-20.004571 0-36.571429-16.566857-36.571429-36.571428v-146.285715c0-20.004571 16.566857-36.571429 36.571429-36.571428h950.857142c20.004571 0 36.571429 16.566857 36.571429 36.571428z m0-292.571428v146.285714c0 20.004571-16.566857 36.571429-36.571429 36.571429H36.571429c-20.004571 0-36.571429-16.566857-36.571429-36.571429V109.714286c0-20.004571 16.566857-36.571429 36.571429-36.571429h950.857142c20.004571 0 36.571429 16.566857 36.571429 36.571429z"
fill=
""
p-id=
"1203"
></path></svg>
frontend/src/lang/en.js
浏览文件 @
d3cc82d5
...
...
@@ -129,6 +129,7 @@ export default {
password_error
:
'The password can not be less than 8 digits'
},
commons
:
{
success
:
'Success'
,
switch_lang
:
'Switch Language Success'
,
close
:
'Close'
,
icon
:
'Icon'
,
...
...
@@ -920,7 +921,26 @@ export default {
char_can_not_more_50
:
'Dataset name can not more 50'
,
task_add_title
:
'Add Task'
,
task_edit_title
:
'Edit Task'
,
sync_latter
:
'Sync latter'
sync_latter
:
'Sync latter'
,
task
:
{
list
:
'Task list'
,
record
:
'Execution record'
,
create
:
'New task'
,
name
:
'Task name'
,
last_exec_time
:
'Last execution time'
,
next_exec_time
:
'Next execution time'
,
last_exec_status
:
'Last execution result'
,
task_status
:
'Task status'
,
dataset
:
'Data set'
,
search_by_name
:
'Search by name'
,
underway
:
'Running'
,
stopped
:
'Stopped'
,
exec
:
'Execute'
,
confirm_exec
:
'Manual trigger execution?'
,
change_success
:
'State switch successful'
},
field_group_type
:
'Type'
,
location
:
'Location'
},
datasource
:
{
datasource
:
'Data Source'
,
...
...
frontend/src/lang/tw.js
浏览文件 @
d3cc82d5
...
...
@@ -129,6 +129,7 @@ export default {
password_error
:
'密碼不小於 8 位'
},
commons
:
{
success
:
'成功'
,
switch_lang
:
'切換語言成功'
,
close
:
'關閉'
,
icon
:
'圖標'
,
...
...
@@ -920,7 +921,26 @@ export default {
char_can_not_more_50
:
'數據集名稱不能超過50個字符'
,
task_add_title
:
'添加任務'
,
task_edit_title
:
'編輯任務'
,
sync_latter
:
'稍後同步'
sync_latter
:
'稍後同步'
,
task
:
{
list
:
'任務列表'
,
record
:
'執行紀錄'
,
create
:
'新建任務'
,
name
:
'任務名稱'
,
last_exec_time
:
'上次執行時間'
,
next_exec_time
:
'下次執行時間'
,
last_exec_status
:
'上次執行結果'
,
task_status
:
'任務狀態'
,
dataset
:
'數據集'
,
search_by_name
:
'根據名稱搜索'
,
underway
:
'運行中'
,
stopped
:
'停止'
,
exec
:
'執行'
,
confirm_exec
:
'手動觸發執行?'
,
change_success
:
'狀態切換成功'
},
field_group_type
:
'分類'
,
location
:
'地理位置'
},
datasource
:
{
datasource
:
'數據源'
,
...
...
frontend/src/lang/zh.js
浏览文件 @
d3cc82d5
...
...
@@ -129,6 +129,7 @@ export default {
password_error
:
'密码不小于 8 位'
},
commons
:
{
success
:
'成功'
,
switch_lang
:
'切换语言成功'
,
close
:
'关闭'
,
icon
:
'图标'
,
...
...
@@ -920,7 +921,26 @@ export default {
char_can_not_more_50
:
'数据集名称不能超过50个字符'
,
task_add_title
:
'添加任务'
,
task_edit_title
:
'编辑任务'
,
sync_latter
:
'稍后同步'
sync_latter
:
'稍后同步'
,
task
:
{
list
:
'任务列表'
,
record
:
'执行记录'
,
create
:
'新建任务'
,
name
:
'任务名称'
,
last_exec_time
:
'上次执行时间'
,
next_exec_time
:
'下次执行时间'
,
last_exec_status
:
'上次执行结果'
,
task_status
:
'任务状态'
,
dataset
:
'数据集'
,
search_by_name
:
'根据名称搜索'
,
underway
:
'运行中'
,
stopped
:
'停止'
,
exec
:
'执行'
,
confirm_exec
:
'手动触发执行?'
,
change_success
:
'状态切换成功'
},
field_group_type
:
'分类'
,
location
:
'地理位置'
},
datasource
:
{
datasource
:
'数据源'
,
...
...
frontend/src/styles/index.scss
浏览文件 @
d3cc82d5
...
...
@@ -195,7 +195,7 @@ div:focus {
.el-table__row
{
:hover
{
cursor
:
pointer
;
}
}
}
td
{
padding
:
3px
0
!
important
;
...
...
@@ -235,6 +235,10 @@ div:focus {
@extend
%field-icon
;
color
:
#37b4aa
;
}
.field-icon-location
{
@extend
%field-icon
;
color
:
#F56C6C
;
}
.ds-icon-scene
{
width
:
13px
;
height
:
13px
;
...
...
frontend/src/utils/webMsg.js
浏览文件 @
d3cc82d5
export
const
msgTypes
=
[
// { value: -1, label: '全部类型' },
// { value: 0, label: '仪表板分享' },
// { value: 1, label: '数据集同步' }
{
value
:
-
1
,
label
:
'webmsg.all_type'
},
{
value
:
0
,
label
:
'webmsg.panel_type'
},
{
value
:
1
,
label
:
'webmsg.dataset_type'
}
...
...
frontend/src/views/chart/components/drag-item/DimensionItem.vue
浏览文件 @
d3cc82d5
<
template
>
<span>
<el-tag
v-if=
"!hasDataPermission('manage',param.privileges)"
size=
"small"
class=
"item-axis"
>
<span
style=
"float: left"
>
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
<span>
{{
item
.
name
}}
</span>
<span
v-if=
"item.summary"
class=
"summary-span"
>
{{
$t
(
'chart.'
+
item
.
summary
)
}}
</span>
</el-tag>
<el-dropdown
v-else
trigger=
"click"
size=
"mini"
@
command=
"clickItem"
>
<span
class=
"el-dropdown-link"
>
<el-tag
size=
"small"
class=
"item-axis"
>
<span
style=
"float: left"
>
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
{{
item
.
name
}}
<i
class=
"el-icon-arrow-down el-icon--right"
/>
</el-tag>
<el-dropdown-menu
slot=
"dropdown"
>
...
...
frontend/src/views/chart/components/drag-item/QuotaItem.vue
浏览文件 @
d3cc82d5
<
template
>
<span>
<el-tag
v-if=
"!hasDataPermission('manage',param.privileges)"
size=
"small"
class=
"item-axis"
>
<span
style=
"float: left"
>
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
<span>
{{
item
.
name
}}
</span>
<span
v-if=
"item.summary"
class=
"summary-span"
>
{{
$t
(
'chart.'
+
item
.
summary
)
}}
</span>
</el-tag>
<el-dropdown
v-else
trigger=
"click"
size=
"mini"
@
command=
"clickItem"
>
<span
class=
"el-dropdown-link"
>
<el-tag
size=
"small"
class=
"item-axis"
>
<span
style=
"float: left"
>
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
<span>
{{
item
.
name
}}
</span>
<span
v-if=
"item.summary"
class=
"summary-span"
>
{{
$t
(
'chart.'
+
item
.
summary
)
}}
</span>
<i
class=
"el-icon-arrow-down el-icon--right"
/>
...
...
@@ -23,13 +35,13 @@
<i
class=
"el-icon-arrow-right el-icon--right"
/>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-if=
"item.id === 'count'"
:command=
"beforeSummary('count')"
>
{{
$t
(
'chart.count'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'"
:command=
"beforeSummary('sum')"
>
{{
$t
(
'chart.sum'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'"
:command=
"beforeSummary('avg')"
>
{{
$t
(
'chart.avg'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'"
:command=
"beforeSummary('max')"
>
{{
$t
(
'chart.max'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'"
:command=
"beforeSummary('min')"
>
{{
$t
(
'chart.min'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'"
:command=
"beforeSummary('stddev_pop')"
>
{{
$t
(
'chart.stddev_pop'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'"
:command=
"beforeSummary('var_pop')"
>
{{
$t
(
'chart.var_pop'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id === 'count'
|| item.deType === 0 || item.deType === 1
"
:command=
"beforeSummary('count')"
>
{{
$t
(
'chart.count'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'
&& item.deType !== 0 && item.deType !== 1
"
:command=
"beforeSummary('sum')"
>
{{
$t
(
'chart.sum'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'
&& item.deType !== 0 && item.deType !== 1
"
:command=
"beforeSummary('avg')"
>
{{
$t
(
'chart.avg'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'
&& item.deType !== 0 && item.deType !== 1
"
:command=
"beforeSummary('max')"
>
{{
$t
(
'chart.max'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'
&& item.deType !== 0 && item.deType !== 1
"
:command=
"beforeSummary('min')"
>
{{
$t
(
'chart.min'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'
&& item.deType !== 0 && item.deType !== 1
"
:command=
"beforeSummary('stddev_pop')"
>
{{
$t
(
'chart.stddev_pop'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.id !== 'count'
&& item.deType !== 0 && item.deType !== 1
"
:command=
"beforeSummary('var_pop')"
>
{{
$t
(
'chart.var_pop'
)
}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown-item>
...
...
frontend/src/views/chart/components/filter/ResultFilterEditor.vue
浏览文件 @
d3cc82d5
...
...
@@ -15,6 +15,7 @@
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
<span
style=
"float: left; color: #8492a6; font-size: 12px"
>
{{
item
.
name
}}
</span>
</el-option>
...
...
frontend/src/views/chart/group/Group.vue
浏览文件 @
d3cc82d5
...
...
@@ -7,20 +7,9 @@
{{
$t
(
'chart.datalist'
)
}}
</span>
<el-button
icon=
"el-icon-plus"
type=
"text"
size=
"mini"
style=
"float: right;"
@
click=
"add('group')"
>
<!--
{{
$t
(
'chart.add_group'
)
}}
-->
</el-button>
</el-row>
<el-divider
/>
<!--
<el-row>
-->
<!--
<el-button
type=
"primary"
size=
"mini"
@
click=
"add('group')"
>
-->
<!--
{{
$t
(
'chart.add_group'
)
}}
-->
<!--
</el-button>
-->
<!--
<el-button
type=
"primary"
size=
"mini"
@
click=
"add('scene')"
>
-->
<!--
{{
$t
(
'chart.add_scene'
)
}}
-->
<!--
</el-button>
-->
<!--
</el-row>
-->
<el-row>
<el-form>
<el-form-item
class=
"form-item"
>
...
...
@@ -53,14 +42,6 @@
>
<span
v-if=
"data.type ==='group'"
slot-scope=
"
{ node, data }" class="custom-tree-node father">
<span
style=
"display: flex;flex: 1;width: 0;"
>
<!--
<span
v-if=
"data.type === 'scene'"
>
-->
<!-- <!–
<el-button
&
ndash
;&
gt
;
--
>
<!-- <!– icon="el-icon-folder-opened"–>-->
<!-- <!– type="text"–>-->
<!-- <!– size="mini"–>-->
<!-- <!– />–>-->
<!--
<svg-icon
icon-class=
"scene"
class=
"ds-icon-scene"
/>
-->
<!--
</span>
-->
<span>
<i
class=
"el-icon-folder"
/>
</span>
...
...
@@ -80,9 +61,6 @@
<el-dropdown-item
icon=
"el-icon-folder-add"
:command=
"beforeClickAdd('group',data,node)"
>
{{
$t
(
'chart.group'
)
}}
</el-dropdown-item>
<!--
<el-dropdown-item
icon=
"el-icon-folder-add"
:command=
"beforeClickAdd('scene',data,node)"
>
-->
<!--
{{
$t
(
'chart.scene'
)
}}
-->
<!--
</el-dropdown-item>
-->
<el-dropdown-item
icon=
"el-icon-circle-plus"
:command=
"beforeClickAdd('chart',data,node)"
>
{{
$t
(
'chart.add_chart'
)
}}
</el-dropdown-item>
...
...
@@ -691,25 +669,10 @@ export default {
if
(
data
.
type
!==
'group'
)
{
this
.
$emit
(
'switchComponent'
,
{
name
:
'ChartEdit'
,
param
:
data
})
}
// if (data.type === 'scene') {
// this.sceneMode = true
// this.currGroup = data
// this.$store.dispatch('chart/setSceneId', this.currGroup.id)
// this.chartTree()
// }
// if (node.expanded) {
// this.expandedArray.push(data.id)
// } else {
// const index = this.expandedArray.indexOf(data.id)
// if (index > -1) {
// this.expandedArray.splice(index, 1)
// }
// }
},
back
()
{
this
.
sceneMode
=
false
// this.$router.push('/chart/home')
this
.
$emit
(
'switchComponent'
,
{
name
:
''
})
},
...
...
@@ -718,13 +681,9 @@ export default {
'type'
:
type
}
},
sceneClick
(
data
,
node
)
{
// this.$store.dispatch('chart/setViewId', null)
// this.$store.dispatch('chart/setViewId', data.id)
this
.
$emit
(
'switchComponent'
,
{
name
:
'ChartEdit'
,
param
:
{
'id'
:
data
.
id
}})
},
reviewChartList
()
{
if
(
this
.
$store
.
state
.
chart
.
chartSceneData
)
{
const
that
=
this
...
...
frontend/src/views/chart/view/ChartEdit.vue
浏览文件 @
d3cc82d5
...
...
@@ -56,6 +56,7 @@
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
{{
item
.
name
}}
</span>
</transition-group>
...
...
@@ -78,6 +79,7 @@
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
<span>
{{
item
.
name
}}
</span>
</span>
</transition-group>
...
...
@@ -503,9 +505,9 @@ export default {
},
watch
:
{
'param'
:
function
()
{
if
(
this
.
param
.
optType
===
'new'
)
{
if
(
this
.
param
.
optType
===
'new'
)
{
}
else
{
}
else
{
this
.
getData
(
this
.
param
.
id
)
}
},
...
...
@@ -582,7 +584,7 @@ export default {
})
view
.
yaxis
.
forEach
(
function
(
ele
)
{
if
(
!
ele
.
summary
||
ele
.
summary
===
''
)
{
if
(
ele
.
id
===
'count'
)
{
if
(
ele
.
id
===
'count'
||
ele
.
deType
===
0
||
ele
.
deType
===
1
)
{
ele
.
summary
=
'count'
}
else
{
ele
.
summary
=
'sum'
...
...
frontend/src/views/chart/view/TableSelector.vue
浏览文件 @
d3cc82d5
<
template
>
<de-container>
<de-aside-container>
<dataset-group-selector-tree
@
getTable=
"getTable"
/>
<dataset-group-selector-tree
@
getTable=
"getTable"
:mode=
mode
:type=
type
:showMode=
showMode
/>
</de-aside-container>
<de-main-container>
...
...
@@ -15,7 +15,6 @@ import DeMainContainer from '@/components/dataease/DeMainContainer'
import
DeContainer
from
'@/components/dataease/DeContainer'
import
DeAsideContainer
from
'@/components/dataease/DeAsideContainer'
// import DatasetGroupSelector from '../../dataset/common/DatasetGroupSelector'
import
DatasetGroupSelectorTree
from
'../../dataset/common/DatasetGroupSelectorTree'
import
DatasetTableData
from
'../../dataset/common/DatasetTableData'
import
{
getTable
}
from
'@/api/dataset/dataset'
...
...
@@ -26,6 +25,23 @@ export default {
DatasetTableData
,
DeMainContainer
,
DeContainer
,
DeAsideContainer
,
DatasetGroupSelectorTree
},
props
:
{
mode
:
{
type
:
Number
,
required
:
false
,
default
:
-
1
},
type
:
{
type
:
String
,
required
:
false
,
default
:
null
},
showMode
:
{
type
:
String
,
required
:
false
,
default
:
null
}
},
data
()
{
return
{
table
:
{}
...
...
frontend/src/views/dataset/common/DatasetCustomField.vue
浏览文件 @
d3cc82d5
...
...
@@ -18,6 +18,9 @@
<span
v-if=
"f.deType === 2 || f.deType === 3"
>
<svg-icon
v-if=
"f.deType === 2 || f.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
</span>
<span
v-if=
"f.deType === 5"
>
<svg-icon
v-if=
"f.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
</span>
<span
style=
"display: flex;flex: 1;width: 100%;"
>
<span
style=
"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: 160px;"
>
{{
f
.
name
}}
</span>
...
...
frontend/src/views/dataset/common/DatasetGroupSelectorTree.vue
浏览文件 @
d3cc82d5
...
...
@@ -41,11 +41,6 @@
<span
v-if=
"data.type === 'group'"
slot-scope=
"
{ node, data }" class="custom-tree-node">
<span
style=
"display: flex;flex: 1;width: 0;"
>
<span
v-if=
"data.type === 'scene'"
>
<!--
<el-button-->
<!-- icon="el-icon-folder-opened"-->
<!-- type="text"-->
<!-- size="mini"-->
<!-- />-->
<svg-icon
icon-class=
"scene"
class=
"ds-icon-scene"
/>
</span>
<span
style=
"margin-left: 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"
:title=
"data.name"
>
{{
data
.
name
}}
</span>
...
...
@@ -95,6 +90,11 @@ export default {
required
:
false
,
default
:
-
1
},
type
:
{
type
:
String
,
required
:
false
,
default
:
null
},
unionData
:
{
type
:
Array
,
required
:
false
,
...
...
@@ -184,7 +184,6 @@ export default {
},
mounted
()
{
this
.
treeNode
(
this
.
groupForm
)
// this.tableTree()
},
created
()
{
this
.
kettleState
()
...
...
@@ -261,20 +260,6 @@ export default {
if
(
data
.
type
!==
'group'
)
{
this
.
sceneClick
(
data
,
node
)
}
// if (data.type === 'scene') {
// this.sceneMode = true
// this.currGroup = data
// this.tableTree()
// }
// if (node.expanded) {
// this.expandedArray.push(data.id)
// } else {
// const index = this.expandedArray.indexOf(data.id)
// if (index > -1) {
// this.expandedArray.splice(index, 1)
// }
// }
// console.log(this.expandedArray);
},
back
()
{
...
...
@@ -364,6 +349,7 @@ export default {
sort
:
'type asc,name asc,create_time desc'
,
sceneId
:
node
.
data
.
id
,
mode
:
this
.
mode
<
0
?
null
:
this
.
mode
,
type
:
this
.
type
,
typeFilter
:
this
.
customType
?
this
.
customType
:
null
},
false
).
then
(
response
=>
{
this
.
tables
=
response
.
data
...
...
frontend/src/views/dataset/common/DatasetTableData.vue
浏览文件 @
d3cc82d5
...
...
@@ -21,6 +21,7 @@
<svg-icon
v-if=
"field.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"field.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"field.deType === 2 || field.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"field.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
<span>
{{
field
.
name
}}
</span>
</
template
>
</ux-table-column>
...
...
frontend/src/views/dataset/data/FieldEdit.vue
浏览文件 @
d3cc82d5
...
...
@@ -25,6 +25,7 @@
<svg-icon
v-if=
"item.value === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"item.value === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"item.value === 2 || item.value === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"item.value === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
<span
style=
"float: left; color: #8492a6; font-size: 12px"
>
{{
item
.
label
}}
</span>
</el-option>
...
...
@@ -43,10 +44,14 @@
<span
v-if=
"scope.row.deType === 2"
class=
"field-class"
>
{{
$t
(
'dataset.value'
)
}}
</span>
<span
v-if=
"scope.row.deType === 3"
class=
"field-class"
>
{{
$t
(
'dataset.value'
)
+
'('
+
$t
(
'dataset.float'
)
+
')'
}}
</span>
</span>
<span
v-if=
"scope.row.deType === 5"
>
<svg-icon
v-if=
"scope.row.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
<span
class=
"field-class"
>
{{
$t
(
'dataset.location'
)
}}
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
property=
"deExtractType"
:label=
"$t('dataset.origin_field_type')"
width=
"1
4
0"
>
<el-table-column
property=
"deExtractType"
:label=
"$t('dataset.origin_field_type')"
width=
"1
0
0"
>
<
template
slot-scope=
"scope"
>
<span>
<span
v-if=
"scope.row.deExtractType === 0"
>
...
...
@@ -62,6 +67,10 @@
<span
v-if=
"scope.row.deExtractType === 2 || scope.row.deExtractType === 4"
class=
"field-class"
>
{{
$t
(
'dataset.value'
)
}}
</span>
<span
v-if=
"scope.row.deExtractType === 3"
class=
"field-class"
>
{{
$t
(
'dataset.value'
)
+
'('
+
$t
(
'dataset.float'
)
+
')'
}}
</span>
</span>
<span
v-if=
"scope.row.deExtractType === 5"
>
<svg-icon
v-if=
"scope.row.deExtractType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
<span
class=
"field-class"
>
{{
$t
(
'dataset.location'
)
}}
</span>
</span>
</span>
</
template
>
</el-table-column>
...
...
@@ -70,7 +79,21 @@
<el-input
v-model=
"scope.row.name"
size=
"mini"
/>
</
template
>
</el-table-column>
<el-table-column
property=
"originName"
:label=
"$t('dataset.field_origin_name')"
width=
"180"
/>
<el-table-column
property=
"originName"
:label=
"$t('dataset.field_origin_name')"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<span
:title=
"scope.row.originName"
class=
"field-class"
style=
"display: inline-block;width: 100%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
>
{{
scope
.
row
.
originName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
property=
"groupType"
:label=
"$t('dataset.field_group_type')"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<el-radio-group
v-model=
"scope.row.groupType"
>
<el-radio
label=
"d"
>
{{
$t
(
'chart.dimension'
)
}}
</el-radio>
<el-radio
label=
"q"
>
{{
$t
(
'chart.quota'
)
}}
</el-radio>
</el-radio-group>
</
template
>
</el-table-column>
<el-table-column
property=
"checked"
:label=
"$t('dataset.field_check')"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<el-checkbox
v-model=
"scope.row.checked"
/>
...
...
@@ -100,7 +123,8 @@ export default {
{
label
:
this
.
$t
(
'dataset.text'
),
value
:
0
},
{
label
:
this
.
$t
(
'dataset.time'
),
value
:
1
},
{
label
:
this
.
$t
(
'dataset.value'
),
value
:
2
},
{
label
:
this
.
$t
(
'dataset.value'
)
+
'('
+
this
.
$t
(
'dataset.float'
)
+
')'
,
value
:
3
}
{
label
:
this
.
$t
(
'dataset.value'
)
+
'('
+
this
.
$t
(
'dataset.float'
)
+
')'
,
value
:
3
},
{
label
:
this
.
$t
(
'dataset.location'
),
value
:
5
}
]
}
},
...
...
@@ -135,7 +159,7 @@ export default {
},
closeEdit
()
{
this
.
$emit
(
'switchComponent'
,
{
name
:
'ViewTable'
,
param
:
this
.
param
.
table
.
id
})
this
.
$emit
(
'switchComponent'
,
{
name
:
'ViewTable'
,
param
:
this
.
param
.
table
})
}
}
}
...
...
@@ -157,4 +181,7 @@ export default {
.el-select
>>>
.el-input__suffix
{
right
:
0
;
}
.el-radio
{
margin-right
:
10px
!important
;
}
</
style
>
frontend/src/views/dataset/data/TabDataPreview.vue
浏览文件 @
d3cc82d5
...
...
@@ -31,6 +31,7 @@
<svg-icon
v-if=
"field.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
<svg-icon
v-if=
"field.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
<svg-icon
v-if=
"field.deType === 2 || field.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
<svg-icon
v-if=
"field.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
<span>
{{
field
.
name
}}
</span>
</
template
>
</ux-table-column>
...
...
frontend/src/views/dataset/data/UnionView.vue
浏览文件 @
d3cc82d5
...
...
@@ -69,6 +69,9 @@
<span
v-if=
"item.deType === 2 || item.deType === 3"
>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
</span>
<span
v-if=
"item.deType === 5"
>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
</span>
<span>
{{ item.name }}
...
...
@@ -115,6 +118,9 @@
<span
v-if=
"item.deType === 2 || item.deType === 3"
>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
</span>
<span
v-if=
"item.deType === 5"
>
<svg-icon
v-if=
"item.deType === 5"
icon-class=
"field_location"
class=
"field-icon-location"
/>
</span>
</span>
<span>
{{ item.name }}
...
...
frontend/src/views/dataset/data/UpdateInfo.vue
浏览文件 @
d3cc82d5
...
...
@@ -472,7 +472,6 @@ export default {
post
(
'/dataset/table/incrementalConfig'
,
{
tableId
:
this
.
table
.
id
}).
then
(
response
=>
{
this
.
incrementalConfig
=
response
.
data
this
.
incrementalUpdateType
=
'incrementalAdd'
// console.log(this.sql)
if
(
this
.
incrementalConfig
.
incrementalAdd
)
{
this
.
sql
=
this
.
incrementalConfig
.
incrementalAdd
}
else
{
...
...
@@ -555,7 +554,8 @@ export default {
}
},
listTaskLog
(
loading
=
true
)
{
post
(
'/dataset/taskLog/list/'
+
this
.
page
.
currentPage
+
'/'
+
this
.
page
.
pageSize
,
{
tableId
:
this
.
table
.
id
},
loading
).
then
(
response
=>
{
const
params
=
{
"conditions"
:[{
"field"
:
"dataset_table_task.table_id"
,
"operator"
:
"eq"
,
"value"
:
this
.
table
.
id
}],
"orders"
:[]}
post
(
'/dataset/taskLog/list/'
+
this
.
page
.
currentPage
+
'/'
+
this
.
page
.
pageSize
,
params
,
loading
).
then
(
response
=>
{
this
.
taskLogData
=
response
.
data
.
listObject
this
.
page
.
total
=
response
.
data
.
itemCount
})
...
...
frontend/src/views/system/datasource/form.vue
浏览文件 @
d3cc82d5
...
...
@@ -101,8 +101,7 @@ export default {
'configuration.username'
:
[{
required
:
true
,
message
:
this
.
$t
(
'datasource.please_input_user_name'
),
trigger
:
'blur'
}],
'configuration.password'
:
[{
required
:
true
,
message
:
this
.
$t
(
'datasource.please_input_password'
),
trigger
:
'change'
}],
'configuration.host'
:
[{
required
:
true
,
message
:
this
.
$t
(
'datasource.please_input_host'
),
trigger
:
'change'
}],
'configuration.port'
:
[{
required
:
true
,
message
:
this
.
$t
(
'datasource.please_input_port'
),
trigger
:
'change'
}],
'configuration.schema'
:
[{
required
:
true
,
message
:
this
.
$t
(
'datasource.please_choose_schema'
),
trigger
:
'change'
}]
'configuration.port'
:
[{
required
:
true
,
message
:
this
.
$t
(
'datasource.please_input_port'
),
trigger
:
'change'
}]
},
allTypes
:
[{
name
:
'mysql'
,
label
:
'MySQL'
,
type
:
'jdbc'
},
{
name
:
'oracle'
,
label
:
'Oracle'
,
type
:
'jdbc'
}],
schemas
:
[],
...
...
@@ -148,7 +147,7 @@ export default {
this
.
$refs
.
dsForm
.
resetFields
()
},
save
()
{
if
(
!
this
.
form
.
configuration
.
schema
)
{
if
(
!
this
.
form
.
configuration
.
schema
&&
this
.
form
.
type
===
'oracle'
)
{
this
.
$message
.
error
(
this
.
$t
(
'datasource.please_choose_schema'
))
return
}
...
...
@@ -174,7 +173,7 @@ export default {
data
.
configuration
=
JSON
.
stringify
(
data
.
configuration
)
getSchema
(
data
).
then
(
res
=>
{
this
.
schemas
=
res
.
data
this
.
$success
(
this
.
$t
(
'
datasource.validate_
success'
))
this
.
$success
(
this
.
$t
(
'
commons.
success'
))
})
}
else
{
return
false
...
...
@@ -182,6 +181,10 @@ export default {
})
},
validaDatasource
()
{
if
(
!
this
.
form
.
configuration
.
schema
&&
this
.
form
.
type
===
'oracle'
)
{
this
.
$message
.
error
(
this
.
$t
(
'datasource.please_choose_schema'
))
return
}
this
.
$refs
.
dsForm
.
validate
(
valid
=>
{
if
(
valid
)
{
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
))
...
...
frontend/src/views/system/task/DatasetTaskList.vue
0 → 100644
浏览文件 @
d3cc82d5
差异被折叠。
点击展开。
frontend/src/views/system/task/TaskRecord.vue
0 → 100644
浏览文件 @
d3cc82d5
<
template
>
<el-col>
<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"
>
<el-table-column
prop=
"name"
:label=
"$t('dataset.task_name')"
/>
<el-table-column
prop=
"startTime"
:label=
"$t('dataset.start_time')"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
startTime
|
timestampFormatDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"endTime"
:label=
"$t('dataset.end_time')"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
endTime
|
timestampFormatDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"status"
:label=
"$t('dataset.status')"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.status === 'Completed'"
style=
"color: green"
>
{{
$t
(
'dataset.completed'
)
}}
</span>
<span
v-if=
"scope.row.status === 'Underway'"
style=
"color: blue"
>
<i
class=
"el-icon-loading"
/>
{{
$t
(
'dataset.underway'
)
}}
</span>
<span
v-if=
"scope.row.status === 'Error'"
style=
"color: red"
>
<el-link
type=
"danger"
style=
"font-size: 12px"
@
click=
"showErrorMassage(scope.row.info)"
>
{{
$t
(
'dataset.error'
)
}}
</el-link>
</span>
</
template
>
</el-table-column>
</complex-table>
</el-row>
</el-col>
</template>
<
script
>
import
LayoutContent
from
'@/components/business/LayoutContent'
import
ComplexTable
from
'@/components/business/complex-table'
import
{
formatCondition
,
formatQuickCondition
,
addOrder
,
formatOrders
}
from
'@/utils/index'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
{
post
}
from
'@/api/dataset/dataset'
import
cron
from
'@/components/cron/cron'
import
TableSelector
from
'@/views/chart/view/TableSelector'
export
default
{
name
:
'TaskRecord'
,
components
:
{
ComplexTable
,
LayoutContent
,
cron
,
TableSelector
},
data
()
{
return
{
header
:
''
,
columns
:
[],
buttons
:
[
{
label
:
this
.
$t
(
'commons.edit'
),
icon
:
'el-icon-edit'
,
type
:
'primary'
,
click
:
this
.
edit
,
show
:
this
.
checkPermission
([
'user:edit'
])
}
],
searchConfig
:
{
useQuickSearch
:
true
,
useComplexSearch
:
true
,
quickPlaceholder
:
this
.
$t
(
'dataset.task.search_by_name'
),
components
:
[
{
field
:
'dataset_table_task.name'
,
label
:
this
.
$t
(
'dataset.task.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
}
]
},
paginationConfig
:
{
currentPage
:
1
,
pageSize
:
10
,
total
:
0
},
data
:
[],
dialogVisible
:
false
,
editPasswordVisible
:
false
,
form
:
{
roles
:
[{
id
:
''
}]
},
checkPasswordForm
:
{},
ruleForm
:
{},
defaultForm
:
{
id
:
null
,
username
:
null
,
nickName
:
null
,
gender
:
'男'
,
email
:
null
,
enabled
:
1
,
deptId
:
null
,
phone
:
null
},
depts
:
null
,
roles
:
[],
roleDatas
:
[],
userRoles
:
[],
formType
:
'add'
,
orderConditions
:
[],
last_condition
:
null
,
}
},
created
()
{
this
.
search
()
this
.
timer
=
setInterval
(()
=>
{
this
.
search
()
},
5000
)
},
computed
:
{
},
beforeDestroy
()
{
clearInterval
(
this
.
timer
)
},
methods
:
{
sortChange
({
column
,
prop
,
order
})
{
this
.
orderConditions
=
[]
if
(
!
order
)
{
this
.
search
(
this
.
last_condition
)
return
}
if
(
prop
===
'dept'
)
{
prop
=
'u.deptId'
}
if
(
prop
===
'status'
)
{
prop
=
'u.enabled'
}
this
.
orderConditions
=
[]
addOrder
({
field
:
prop
,
value
:
order
},
this
.
orderConditions
)
this
.
search
(
this
.
last_condition
)
},
select
(
selection
)
{
},
search
(
condition
)
{
this
.
last_condition
=
condition
console
.
log
(
condition
)
condition
=
formatQuickCondition
(
condition
,
'dataset_table_task.name'
)
const
temp
=
formatCondition
(
condition
)
const
param
=
temp
||
{}
param
[
'orders'
]
=
formatOrders
(
this
.
orderConditions
)
post
(
'/dataset/taskLog/list/'
+
this
.
paginationConfig
.
currentPage
+
'/'
+
this
.
paginationConfig
.
pageSize
,
param
).
then
(
response
=>
{
this
.
data
=
response
.
data
.
listObject
this
.
paginationConfig
.
total
=
response
.
data
.
itemCount
})
},
deleteTask
(
task
)
{
this
.
$confirm
(
this
.
$t
(
'dataset.confirm_delete'
),
this
.
$t
(
'dataset.tips'
),
{
confirmButtonText
:
this
.
$t
(
'dataset.confirm'
),
cancelButtonText
:
this
.
$t
(
'dataset.cancel'
),
type
:
'warning'
}).
then
(()
=>
{
post
(
'/dataset/task/delete/'
+
task
.
id
,
null
).
then
(
response
=>
{
this
.
$message
({
message
:
this
.
$t
(
'dataset.delete_success'
),
type
:
'success'
,
showClose
:
true
})
this
.
search
()
})
}).
catch
(()
=>
{
})
}
}
}
</
script
>
<
style
scoped
>
.el-divider--horizontal
{
margin
:
12px
0
;
}
.el-radio
{
margin-right
:
10px
;
}
.el-radio
>>>
.el-radio__label
{
font-size
:
12px
;
}
.dialog-css
>>>
.el-dialog__header
{
padding
:
20px
20px
0
;
}
.dialog-css
>>>
.el-dialog__body
{
padding
:
10px
20px
20px
;
}
.el-form-item
{
margin-bottom
:
10px
;
}
span
{
font-size
:
12px
;
}
</
style
>
frontend/src/views/system/task/dataset.vue
0 → 100644
浏览文件 @
d3cc82d5
<
template
>
<layout-content
v-loading=
"$store.getters.loadingMap[$store.getters.currentPath]"
>
<el-row
style=
"height: 100%;overflow-y: hidden;width: 100%;"
>
<el-tabs
v-model=
"tabActive"
>
<el-tab-pane
:label=
"$t('dataset.task.list')"
name=
"DatasetTaskList"
>
<dataset-task-list
/>
</el-tab-pane>
<el-tab-pane
:label=
"$t('dataset.task.record')"
name=
"TaskRecord"
>
<task-record
/>
</el-tab-pane>
</el-tabs>
</el-row>
</layout-content>
</
template
>
<
script
>
import
LayoutContent
from
'@/components/business/LayoutContent'
import
ComplexTable
from
'@/components/business/complex-table'
import
UnionView
from
"@/views/dataset/data/UnionView"
;
import
UpdateInfo
from
"@/views/dataset/data/UpdateInfo"
;
import
DatasetTaskList
from
"@/views/system/task/DatasetTaskList"
;
import
TaskRecord
from
"@/views/system/task/TaskRecord"
;
import
TabDataPreview
from
"@/views/dataset/data/TabDataPreview"
;
import
DatasetTableData
from
"@/views/dataset/common/DatasetTableData"
;
export
default
{
components
:
{
DatasetTableData
,
LayoutContent
,
ComplexTable
,
UnionView
,
UpdateInfo
,
TabDataPreview
,
DatasetTaskList
,
TaskRecord
},
data
()
{
return
{
tabActive
:
'DatasetTaskList'
,
}
},
methods
:
{
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.de-msg-radio-class
{
padding
:
0
5px
;
>>>
.el-radio-button__inner
{
border-radius
:
4px
4px
4px
4px
!
important
;
border-left
:
1px
solid
#dcdfe6
!
important
;
padding
:
10px
10px
;
}
>>>
.el-radio-button__orig-radio
:checked
+
.el-radio-button__inner
{
color
:
#fff
;
background-color
:
#0a7be0
;
border-color
:
#0a7be0
;
-webkit-box-shadow
:
0px
0
0
0
#0a7be0
;
box-shadow
:
0px
0
0
0
#0a7be0
;
}
}
.de-msg-a
:hover
{
text-decoration
:
underline
!
important
;
color
:
#0a7be0
!
important
;
cursor
:
pointer
!
important
;
}
</
style
>
frontend/src/views/system/task/index.vue
0 → 100644
浏览文件 @
d3cc82d5
<
template
>
<router-view
/>
</
template
>
<
script
>
export
default
({
data
()
{
return
{
}
},
created
()
{
this
.
$store
.
dispatch
(
'app/toggleSideBarHide'
,
false
)
},
method
:
{
}
})
</
script
>
frontend/src/views/system/user/index.vue
浏览文件 @
d3cc82d5
...
...
@@ -12,7 +12,6 @@
>
<template
#
toolbar
>
<el-button
v-permission=
"['user:add']"
icon=
"el-icon-circle-plus-outline"
@
click=
"create"
>
{{
$t
(
'user.create'
)
}}
</el-button>
<!--
<fu-table-button
v-permission=
"['user:add']"
icon=
"el-icon-circle-plus-outline"
:label=
"$t('user.create')"
@
click=
"create"
/>
-->
</
template
>
<el-table-column
prop=
"username"
label=
"ID"
/>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论