Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
52c2029f
Commit
52c2029f
authored
Sep 13, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目初始化
parent
f1e2b58b
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
135 additions
and
3 deletions
+135
-3
MetadataChangeRecordMapper.xml
.../src/main/resources/mapper/MetadataChangeRecordMapper.xml
+2
-2
FlowDefinitionVo.java
...va/cn/datax/service/workflow/api/vo/FlowDefinitionVo.java
+21
-0
FlowInstanceVo.java
...java/cn/datax/service/workflow/api/vo/FlowInstanceVo.java
+11
-0
FlowTaskVo.java
...ain/java/cn/datax/service/workflow/api/vo/FlowTaskVo.java
+11
-0
FlowInstanceService.java
...n/datax/service/workflow/service/FlowInstanceService.java
+14
-0
FlowDefinitionServiceImpl.java
...vice/workflow/service/impl/FlowDefinitionServiceImpl.java
+1
-0
FlowInstanceServiceImpl.java
...ervice/workflow/service/impl/FlowInstanceServiceImpl.java
+60
-1
ChangeRecordDetail.vue
...ui/src/views/metadata/changerecord/ChangeRecordDetail.vue
+6
-0
ChangeRecordEdit.vue
...x-ui/src/views/metadata/changerecord/ChangeRecordEdit.vue
+6
-0
DataColumnDetail.vue
datax-ui/src/views/metadata/datacolumn/DataColumnDetail.vue
+3
-0
No files found.
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/resources/mapper/MetadataChangeRecordMapper.xml
View file @
52c2029f
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</sql>
</sql>
<select
id=
"selectById"
resultMap=
"BaseResultMap"
>
<select
id=
"selectById"
resultMap=
"BaseResultMap"
>
SELECT c.source_id, s.source_name, c.table_id, t.table_name
SELECT c.source_id, s.source_name, c.table_id, t.table_name
,
<include
refid=
"Record_Column_List"
><property
name=
"alias"
value=
"r"
/></include>
<include
refid=
"Record_Column_List"
><property
name=
"alias"
value=
"r"
/></include>
FROM metadata_change_record r
FROM metadata_change_record r
LEFT JOIN metadata_column c ON c.id = r.object_id
LEFT JOIN metadata_column c ON c.id = r.object_id
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
</select>
</select>
<select
id=
"selectPage"
resultMap=
"BaseResultMap"
>
<select
id=
"selectPage"
resultMap=
"BaseResultMap"
>
SELECT c.source_id, s.source_name, c.table_id, t.table_name
SELECT c.source_id, s.source_name, c.table_id, t.table_name
,
<include
refid=
"Record_Column_List"
><property
name=
"alias"
value=
"r"
/></include>
<include
refid=
"Record_Column_List"
><property
name=
"alias"
value=
"r"
/></include>
FROM metadata_change_record r
FROM metadata_change_record r
LEFT JOIN metadata_column c ON c.id = r.object_id
LEFT JOIN metadata_column c ON c.id = r.object_id
...
...
datax-modules/workflow-service-parent/workflow-service-api/src/main/java/cn/datax/service/workflow/api/vo/FlowDefinitionVo.java
0 → 100644
View file @
52c2029f
package
cn
.
datax
.
service
.
workflow
.
api
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
FlowDefinitionVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
id
;
private
String
Key
;
private
String
name
;
private
int
version
;
private
String
category
;
private
String
deploymentId
;
private
String
resourceName
;
private
String
diagramResourceName
;
private
int
suspensionState
;
}
datax-modules/workflow-service-parent/workflow-service-api/src/main/java/cn/datax/service/workflow/api/vo/FlowInstanceVo.java
0 → 100644
View file @
52c2029f
package
cn
.
datax
.
service
.
workflow
.
api
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
FlowInstanceVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
}
datax-modules/workflow-service-parent/workflow-service-api/src/main/java/cn/datax/service/workflow/api/vo/FlowTaskVo.java
0 → 100644
View file @
52c2029f
package
cn
.
datax
.
service
.
workflow
.
api
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
FlowTaskVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
}
datax-modules/workflow-service-parent/workflow-service/src/main/java/cn/datax/service/workflow/service/FlowInstanceService.java
View file @
52c2029f
...
@@ -3,6 +3,8 @@ package cn.datax.service.workflow.service;
...
@@ -3,6 +3,8 @@ package cn.datax.service.workflow.service;
import
cn.datax.service.workflow.api.dto.ProcessInstanceCreateRequest
;
import
cn.datax.service.workflow.api.dto.ProcessInstanceCreateRequest
;
import
cn.datax.service.workflow.api.query.FlowInstanceQuery
;
import
cn.datax.service.workflow.api.query.FlowInstanceQuery
;
import
java.io.InputStream
;
public
interface
FlowInstanceService
{
public
interface
FlowInstanceService
{
/**
/**
...
@@ -35,4 +37,16 @@ public interface FlowInstanceService {
...
@@ -35,4 +37,16 @@ public interface FlowInstanceService {
* @param request
* @param request
*/
*/
void
startProcessInstanceById
(
ProcessInstanceCreateRequest
request
);
void
startProcessInstanceById
(
ProcessInstanceCreateRequest
request
);
/**
* 获取流程图图片
* @param processInstanceId
*/
InputStream
createImage
(
String
processInstanceId
);
/**
* 终止流程
* @param processInstanceId
*/
void
stopProcessInstanceById
(
String
processInstanceId
)
;
}
}
datax-modules/workflow-service-parent/workflow-service/src/main/java/cn/datax/service/workflow/service/impl/FlowDefinitionServiceImpl.java
View file @
52c2029f
...
@@ -42,6 +42,7 @@ public class FlowDefinitionServiceImpl implements FlowDefinitionService {
...
@@ -42,6 +42,7 @@ public class FlowDefinitionServiceImpl implements FlowDefinitionService {
}
}
long
count
=
processDefinitionQuery
.
count
();
long
count
=
processDefinitionQuery
.
count
();
List
<
ProcessDefinition
>
processDefinitionList
=
processDefinitionQuery
.
listPage
((
flowDefinitionQuery
.
getPageNum
()
-
1
)
*
flowDefinitionQuery
.
getPageSize
(),
flowDefinitionQuery
.
getPageSize
());
List
<
ProcessDefinition
>
processDefinitionList
=
processDefinitionQuery
.
listPage
((
flowDefinitionQuery
.
getPageNum
()
-
1
)
*
flowDefinitionQuery
.
getPageSize
(),
flowDefinitionQuery
.
getPageSize
());
ProcessDefinition
processDefinition
=
processDefinitionList
.
get
(
0
);
Page
<
ProcessDefinition
>
page
=
new
Page
<>(
flowDefinitionQuery
.
getPageNum
(),
flowDefinitionQuery
.
getPageSize
());
Page
<
ProcessDefinition
>
page
=
new
Page
<>(
flowDefinitionQuery
.
getPageNum
(),
flowDefinitionQuery
.
getPageSize
());
page
.
setRecords
(
processDefinitionList
);
page
.
setRecords
(
processDefinitionList
);
page
.
setTotal
(
count
);
page
.
setTotal
(
count
);
...
...
datax-modules/workflow-service-parent/workflow-service/src/main/java/cn/datax/service/workflow/service/impl/FlowInstanceServiceImpl.java
View file @
52c2029f
...
@@ -7,16 +7,24 @@ import cn.datax.service.workflow.service.FlowInstanceService;
...
@@ -7,16 +7,24 @@ import cn.datax.service.workflow.service.FlowInstanceService;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.flowable.bpmn.constants.BpmnXMLConstants
;
import
org.flowable.bpmn.model.BpmnModel
;
import
org.flowable.common.engine.impl.identity.Authentication
;
import
org.flowable.common.engine.impl.identity.Authentication
;
import
org.flowable.engine.HistoryService
;
import
org.flowable.engine.HistoryService
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.RuntimeService
;
import
org.flowable.engine.RuntimeService
;
import
org.flowable.engine.history.HistoricActivityInstance
;
import
org.flowable.engine.history.HistoricProcessInstance
;
import
org.flowable.engine.runtime.ProcessInstance
;
import
org.flowable.engine.runtime.ProcessInstance
;
import
org.flowable.engine.runtime.ProcessInstanceBuilder
;
import
org.flowable.engine.runtime.ProcessInstanceBuilder
;
import
org.flowable.engine.runtime.ProcessInstanceQuery
;
import
org.flowable.engine.runtime.ProcessInstanceQuery
;
import
org.flowable.image.impl.DefaultProcessDiagramGenerator
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
import
java.io.InputStream
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
@Slf4j
@Slf4j
...
@@ -29,6 +37,12 @@ public class FlowInstanceServiceImpl implements FlowInstanceService {
...
@@ -29,6 +37,12 @@ public class FlowInstanceServiceImpl implements FlowInstanceService {
@Autowired
@Autowired
private
HistoryService
historyService
;
private
HistoryService
historyService
;
@Autowired
private
RepositoryService
repositoryService
;
private
static
final
String
IMAGE_TYPE
=
"png"
;
private
static
final
String
FONT_NAME
=
"宋体"
;
@Override
@Override
public
void
page
(
FlowInstanceQuery
flowInstanceQuery
)
{
public
void
page
(
FlowInstanceQuery
flowInstanceQuery
)
{
ProcessInstanceQuery
processInstanceQuery
=
runtimeService
.
createProcessInstanceQuery
();
ProcessInstanceQuery
processInstanceQuery
=
runtimeService
.
createProcessInstanceQuery
();
...
@@ -83,7 +97,52 @@ public class FlowInstanceServiceImpl implements FlowInstanceService {
...
@@ -83,7 +97,52 @@ public class FlowInstanceServiceImpl implements FlowInstanceService {
log
.
info
(
"发起流程成功,流程ID:{}"
,
processInstance
.
getId
());
log
.
info
(
"发起流程成功,流程ID:{}"
,
processInstance
.
getId
());
}
}
// // 本人参与的流程实例
@Override
public
InputStream
createImage
(
String
processInstanceId
)
{
//1.获取当前的流程实例
ProcessInstance
processInstance
=
runtimeService
.
createProcessInstanceQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
String
processDefinitionId
=
null
;
List
<
String
>
activeActivityIds
=
new
ArrayList
<>();
List
<
String
>
highLightedFlows
=
new
ArrayList
<>();
//2.获取所有的历史轨迹线对象
List
<
HistoricActivityInstance
>
historicSquenceFlows
=
historyService
.
createHistoricActivityInstanceQuery
()
.
processInstanceId
(
processInstanceId
).
activityType
(
BpmnXMLConstants
.
ELEMENT_SEQUENCE_FLOW
).
list
();
historicSquenceFlows
.
forEach
(
historicActivityInstance
->
highLightedFlows
.
add
(
historicActivityInstance
.
getActivityId
()));
//3.获取流程定义id和高亮的节点id
if
(
processInstance
!=
null
)
{
//3.1.正在运行的流程实例
processDefinitionId
=
processInstance
.
getProcessDefinitionId
();
activeActivityIds
=
runtimeService
.
getActiveActivityIds
(
processInstanceId
);
}
else
{
//3.2.已经结束的流程实例
HistoricProcessInstance
historicProcessInstance
=
historyService
.
createHistoricProcessInstanceQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
processDefinitionId
=
historicProcessInstance
.
getProcessDefinitionId
();
//3.3.获取结束节点列表
List
<
HistoricActivityInstance
>
historicEnds
=
historyService
.
createHistoricActivityInstanceQuery
()
.
processInstanceId
(
processInstanceId
).
activityType
(
BpmnXMLConstants
.
ELEMENT_EVENT_END
).
list
();
List
<
String
>
finalActiveActivityIds
=
activeActivityIds
;
historicEnds
.
forEach
(
historicActivityInstance
->
finalActiveActivityIds
.
add
(
historicActivityInstance
.
getActivityId
()));
}
//4.获取bpmnModel对象
BpmnModel
bpmnModel
=
repositoryService
.
getBpmnModel
(
processDefinitionId
);
//5.生成图片流
DefaultProcessDiagramGenerator
diagramGenerator
=
new
DefaultProcessDiagramGenerator
();
InputStream
inputStream
=
diagramGenerator
.
generateDiagram
(
bpmnModel
,
IMAGE_TYPE
,
activeActivityIds
,
highLightedFlows
,
FONT_NAME
,
FONT_NAME
,
FONT_NAME
,
null
,
1.0
,
true
);
return
inputStream
;
}
@Override
public
void
stopProcessInstanceById
(
String
processInstanceId
)
{
ProcessInstance
processInstance
=
runtimeService
.
createProcessInstanceQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
if
(
processInstance
!=
null
)
{
//1、添加终止意见
//2、执行终止
}
}
// // 本人参与的流程实例
// historyService.createHistoricProcessInstanceQuery().involvedUser(SecurityUtil.getUserId()).orderByProcessInstanceStartTime().desc().list();
// historyService.createHistoricProcessInstanceQuery().involvedUser(SecurityUtil.getUserId()).orderByProcessInstanceStartTime().desc().list();
// // 本人发起的流程实例
// // 本人发起的流程实例
// historyService.createHistoricProcessInstanceQuery().startedBy(SecurityUtil.getUserId()).orderByProcessInstanceStartTime().desc().list();
// historyService.createHistoricProcessInstanceQuery().startedBy(SecurityUtil.getUserId()).orderByProcessInstanceStartTime().desc().list();
...
...
datax-ui/src/views/metadata/changerecord/ChangeRecordDetail.vue
View file @
52c2029f
...
@@ -8,6 +8,12 @@
...
@@ -8,6 +8,12 @@
</div>
</div>
<div
class=
"body-wrapper"
>
<div
class=
"body-wrapper"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
disabled
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
disabled
>
<el-form-item
label=
"数据源"
prop=
"sourceName"
>
<el-input
v-model=
"form.sourceName"
/>
</el-form-item>
<el-form-item
label=
"数据库表"
prop=
"tableName"
>
<el-input
v-model=
"form.tableName"
/>
</el-form-item>
<el-form-item
label=
"变更字段"
prop=
"fieldName"
>
<el-form-item
label=
"变更字段"
prop=
"fieldName"
>
<el-input
v-model=
"fieldName"
/>
<el-input
v-model=
"fieldName"
/>
</el-form-item>
</el-form-item>
...
...
datax-ui/src/views/metadata/changerecord/ChangeRecordEdit.vue
View file @
52c2029f
...
@@ -9,6 +9,12 @@
...
@@ -9,6 +9,12 @@
</div>
</div>
<div
class=
"body-wrapper"
>
<div
class=
"body-wrapper"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"数据源"
prop=
"sourceName"
>
<el-input
v-model=
"form.sourceName"
placeholder=
"请输入数据源"
disabled
/>
</el-form-item>
<el-form-item
label=
"数据库表"
prop=
"tableName"
>
<el-input
v-model=
"form.tableName"
placeholder=
"请输入数据库表"
disabled
/>
</el-form-item>
<el-form-item
label=
"变更字段"
prop=
"fieldName"
>
<el-form-item
label=
"变更字段"
prop=
"fieldName"
>
<el-input
v-model=
"fieldName"
placeholder=
"请输入变更字段"
disabled
/>
<el-input
v-model=
"fieldName"
placeholder=
"请输入变更字段"
disabled
/>
</el-form-item>
</el-form-item>
...
...
datax-ui/src/views/metadata/datacolumn/DataColumnDetail.vue
View file @
52c2029f
...
@@ -81,6 +81,8 @@
...
@@ -81,6 +81,8 @@
<span>
{{
scope
.
$index
+
1
}}
</span>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"sourceName"
label=
"数据源"
align=
"center"
show-overflow-tooltip
/>
<el-table-column
prop=
"tableName"
label=
"数据库表"
align=
"center"
show-overflow-tooltip
/>
<el-table-column
prop=
"fieldName"
label=
"变更字段"
align=
"center"
show-overflow-tooltip
:formatter=
"fieldNameFormatter"
/>
<el-table-column
prop=
"fieldName"
label=
"变更字段"
align=
"center"
show-overflow-tooltip
:formatter=
"fieldNameFormatter"
/>
<el-table-column
prop=
"version"
label=
"版本号"
align=
"center"
show-overflow-tooltip
/>
<el-table-column
prop=
"version"
label=
"版本号"
align=
"center"
show-overflow-tooltip
/>
<el-table-column
prop=
"fieldOldValue"
label=
"原来的值"
align=
"center"
show-overflow-tooltip
/>
<el-table-column
prop=
"fieldOldValue"
label=
"原来的值"
align=
"center"
show-overflow-tooltip
/>
...
@@ -214,6 +216,7 @@ export default {
...
@@ -214,6 +216,7 @@ export default {
},
},
mounted
()
{
mounted
()
{
this
.
getDataColumn
(
this
.
data
.
id
)
this
.
getDataColumn
(
this
.
data
.
id
)
this
.
getChangeRecordList
()
},
},
methods
:
{
methods
:
{
showCard
()
{
showCard
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment