Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
1e5706f1
提交
1e5706f1
编写于
5月 10, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
6eed030d
变更
44
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
44 个修改的文件
包含
4263 行增加
和
20 行删除
+4263
-20
view-config.json
app_web/public/assets/json/view-config.json
+8
-0
en-US.ts
app_web/src/locale/lang/en-US.ts
+3
-0
zh-CN.ts
app_web/src/locale/lang/zh-CN.ts
+3
-0
wfremodel_en_US.ts
app_web/src/locale/lanres/wfremodel/wfremodel_en_US.ts
+37
-0
wfremodel_zh_CN.ts
app_web/src/locale/lanres/wfremodel/wfremodel_zh_CN.ts
+36
-0
wfindex-view-appmenu.ts
...src/mock/app/wfindex-view-appmenu/wfindex-view-appmenu.ts
+18
-0
wfremodels.ts
app_web/src/mock/entity/wfremodels/wfremodels.ts
+380
-0
index.ts
app_web/src/mock/index.ts
+1
-0
viewconfig.ts
app_web/src/mock/viewconfig/viewconfig.ts
+8
-0
page-register.ts
app_web/src/pages/workflow/wfindex-view/page-register.ts
+1
-0
router.ts
app_web/src/pages/workflow/wfindex-view/router.ts
+25
-0
wfremodel-edit-view-base.vue
...workflow/wfremodel-edit-view/wfremodel-edit-view-base.vue
+615
-0
wfremodel-edit-view.less
...ges/workflow/wfremodel-edit-view/wfremodel-edit-view.less
+26
-0
wfremodel-edit-view.vue
...ages/workflow/wfremodel-edit-view/wfremodel-edit-view.vue
+19
-0
entity-service-register.ts
app_web/src/service/entity-service-register.ts
+2
-1
wfremodel-service-base.ts
app_web/src/service/wfremodel/wfremodel-service-base.ts
+179
-0
wfremodel-service.ts
app_web/src/service/wfremodel/wfremodel-service.ts
+25
-0
state.ts
app_web/src/store/modules/view-action/state.ts
+10
-0
ui-service-register.ts
app_web/src/uiservice/ui-service-register.ts
+2
-1
wfremodel-ui-service-base.ts
app_web/src/uiservice/wfremodel/wfremodel-ui-service-base.ts
+211
-0
wfremodel-ui-service.ts
app_web/src/uiservice/wfremodel/wfremodel-ui-service.ts
+21
-0
wfindex-view-appmenu-base.vue
...ts/app/wfindex-view-appmenu/wfindex-view-appmenu-base.vue
+21
-0
wfindex-view-appmenu-model.ts
...ts/app/wfindex-view-appmenu/wfindex-view-appmenu-model.ts
+30
-0
main-form-base.vue
app_web/src/widgets/wfremodel/main-form/main-form-base.vue
+1500
-0
main-form-model.ts
app_web/src/widgets/wfremodel/main-form/main-form-model.ts
+71
-0
main-form-service.ts
app_web/src/widgets/wfremodel/main-form/main-form-service.ts
+369
-0
main-form.less
app_web/src/widgets/wfremodel/main-form/main-form.less
+49
-0
main-form.vue
app_web/src/widgets/wfremodel/main-form/main-form.vue
+14
-0
config.xml
config.xml
+0
-5
application-web-prod.yml
...ibzwf-app-web/src/main/resources/application-web-prod.yml
+4
-0
application-dev.yml
ibzwf-boot/src/main/resources/application-dev.yml
+1
-1
WFREModel.java
.../main/java/cn/ibizlab/core/workflow/domain/WFREModel.java
+79
-0
WFREModelSearchContext.java
.../ibizlab/core/workflow/filter/WFREModelSearchContext.java
+33
-0
IWFREModelService.java
...a/cn/ibizlab/core/workflow/service/IWFREModelService.java
+43
-0
WFREModelServiceImpl.java
...zlab/core/workflow/service/impl/WFREModelServiceImpl.java
+109
-0
DEPrivs.json
ibzwf-core/src/main/resources/deprivs/DEPrivs.json
+7
-0
h2_table.xml
ibzwf-core/src/main/resources/liquibase/h2_table.xml
+19
-6
Dockerfile
ibzwf-provider/ibzwf-provider-api/src/main/docker/Dockerfile
+1
-1
ibzwf-provider-api.yaml
...bzwf-provider-api/src/main/docker/ibzwf-provider-api.yaml
+1
-3
WFREModelDTO.java
...er-api/src/main/java/cn/ibizlab/api/dto/WFREModelDTO.java
+69
-0
WFREModelMapping.java
...rc/main/java/cn/ibizlab/api/mapping/WFREModelMapping.java
+16
-0
WFREModelResource.java
.../src/main/java/cn/ibizlab/api/rest/WFREModelResource.java
+195
-0
application-api-dev.yml
...f-provider-api/src/main/resources/application-api-dev.yml
+1
-1
application-api-prod.yml
...-provider-api/src/main/resources/application-api-prod.yml
+1
-1
未找到文件。
app_web/public/assets/json/view-config.json
浏览文件 @
1e5706f1
...
...
@@ -95,6 +95,14 @@
"viewname"
:
"WFGroupPickupView"
,
"viewtag"
:
"bfd32eedd618add6408b75a98f40f809"
},
"wfremodeleditview"
:
{
"title"
:
"流程模型编辑视图"
,
"caption"
:
"流程模型"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"workflow"
,
"viewname"
:
"WFREModelEditView"
,
"viewtag"
:
"c0e7fb60c35f15d4f23800acae7afbd1"
},
"wfgrouppickupgridview"
:
{
"title"
:
"角色/用户组选择表格视图"
,
"caption"
:
"角色/用户组"
,
...
...
app_web/src/locale/lang/en-US.ts
浏览文件 @
1e5706f1
import
wfremodel_en_US
from
'@locale/lanres/wfremodel/wfremodel_en_US'
;
import
wfmember_en_US
from
'@locale/lanres/wfmember/wfmember_en_US'
;
import
wfgroup_en_US
from
'@locale/lanres/wfgroup/wfgroup_en_US'
;
import
wfuser_en_US
from
'@locale/lanres/wfuser/wfuser_en_US'
;
...
...
@@ -61,11 +62,13 @@ export default {
menus
:
{
wfindexview
:
{
menuitem1
:
'流程定义'
,
menuitem3
:
'发布新流程'
,
menuitem2
:
'用户组'
,
},
},
},
entities
:
{
wfremodel
:
wfremodel_en_US
,
wfmember
:
wfmember_en_US
,
wfgroup
:
wfgroup_en_US
,
wfuser
:
wfuser_en_US
,
...
...
app_web/src/locale/lang/zh-CN.ts
浏览文件 @
1e5706f1
import
wfremodel_zh_CN
from
'@locale/lanres/wfremodel/wfremodel_zh_CN'
;
import
wfmember_zh_CN
from
'@locale/lanres/wfmember/wfmember_zh_CN'
;
import
wfgroup_zh_CN
from
'@locale/lanres/wfgroup/wfgroup_zh_CN'
;
import
wfuser_zh_CN
from
'@locale/lanres/wfuser/wfuser_zh_CN'
;
...
...
@@ -61,11 +62,13 @@ export default {
menus
:
{
wfindexview
:
{
menuitem1
:
'流程定义'
,
menuitem3
:
'发布新流程'
,
menuitem2
:
'用户组'
,
},
},
},
entities
:
{
wfremodel
:
wfremodel_zh_CN
,
wfmember
:
wfmember_zh_CN
,
wfgroup
:
wfgroup_zh_CN
,
wfuser
:
wfuser_zh_CN
,
...
...
app_web/src/locale/lanres/wfremodel/wfremodel_en_US.ts
0 → 100644
浏览文件 @
1e5706f1
export
default
{
fields
:
{
id
:
'ID'
,
name
:
'名称'
,
bpmnfile
:
'BPMN'
,
},
views
:
{
editview
:
{
caption
:
"流程模型"
,
title
:
'流程模型'
,
},
},
main_form
:
{
details
:
{
group1
:
"流程模型"
,
formpage1
:
"基本信息"
,
srforikey
:
""
,
srfkey
:
"ID"
,
srfmajortext
:
"名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
bpmnfile
:
"BPMN"
,
modelid
:
"ID"
,
},
uiactions
:
{
},
},
editviewtoolbar_toolbar
:
{
tbitem1
:
{
caption
:
"Save"
,
tip
:
"Save"
,
},
},
};
\ No newline at end of file
app_web/src/locale/lanres/wfremodel/wfremodel_zh_CN.ts
0 → 100644
浏览文件 @
1e5706f1
export
default
{
fields
:
{
id
:
'ID'
,
name
:
'名称'
,
bpmnfile
:
'BPMN'
,
},
views
:
{
editview
:
{
caption
:
'流程模型'
,
title
:
'流程模型'
,
},
},
main_form
:
{
details
:
{
group1
:
'流程模型'
,
formpage1
:
'基本信息'
,
srforikey
:
''
,
srfkey
:
'ID'
,
srfmajortext
:
'名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
bpmnfile
:
'BPMN'
,
modelid
:
'ID'
,
},
uiactions
:
{
},
},
editviewtoolbar_toolbar
:
{
tbitem1
:
{
caption
:
'保存'
,
tip
:
'保存'
,
},
},
};
\ No newline at end of file
app_web/src/mock/app/wfindex-view-appmenu/wfindex-view-appmenu.ts
浏览文件 @
1e5706f1
...
...
@@ -27,6 +27,24 @@ mock.onGet('v7/wfindex-viewappmenu').reply((config: any) => {
textcls
:
''
,
appfunctag
:
'_2'
,
resourcetag
:
''
,
},
{
id
:
'F6C65EF1-F523-466D-9C63-7FA2F87BA90B'
,
name
:
'menuitem3'
,
text
:
'发布新流程'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'发布新流程'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'_4'
,
resourcetag
:
''
,
},
{
id
:
'A2004B9C-B0CE-4180-8C76-6FD90059F17B'
,
...
...
app_web/src/mock/entity/wfremodels/wfremodels.ts
0 → 100644
浏览文件 @
1e5706f1
此差异已折叠。
点击以展开。
app_web/src/mock/index.ts
浏览文件 @
1e5706f1
...
...
@@ -7,6 +7,7 @@ import './login/login';
import
'./upload/upload'
;
// 实体级接口对象
import
'./entity/wfremodels/wfremodels'
;
import
'./entity/wfmembers/wfmembers'
;
import
'./entity/wfgroups/wfgroups'
;
import
'./entity/wfusers/wfusers'
;
...
...
app_web/src/mock/viewconfig/viewconfig.ts
浏览文件 @
1e5706f1
...
...
@@ -103,6 +103,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"WFGroupPickupView"
,
"viewtag"
:
"bfd32eedd618add6408b75a98f40f809"
},
"wfremodeleditview"
:
{
"title"
:
"流程模型编辑视图"
,
"caption"
:
"流程模型"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"workflow"
,
"viewname"
:
"WFREModelEditView"
,
"viewtag"
:
"c0e7fb60c35f15d4f23800acae7afbd1"
},
"wfgrouppickupgridview"
:
{
"title"
:
"角色/用户组选择表格视图"
,
"caption"
:
"角色/用户组"
,
...
...
app_web/src/pages/workflow/wfindex-view/page-register.ts
浏览文件 @
1e5706f1
...
...
@@ -4,6 +4,7 @@ export const PageComponents = {
Vue
.
component
(
'wfuser-pickup-grid-view'
,
()
=>
import
(
'@pages/workflow/wfuser-pickup-grid-view/wfuser-pickup-grid-view.vue'
));
Vue
.
component
(
'wfprocess-definition-grid-view'
,
()
=>
import
(
'@pages/workflow/wfprocess-definition-grid-view/wfprocess-definition-grid-view.vue'
));
Vue
.
component
(
'wfuser-pickup-view'
,
()
=>
import
(
'@pages/workflow/wfuser-pickup-view/wfuser-pickup-view.vue'
));
Vue
.
component
(
'wfremodel-edit-view'
,
()
=>
import
(
'@pages/workflow/wfremodel-edit-view/wfremodel-edit-view.vue'
));
Vue
.
component
(
'wfmember-edit-view'
,
()
=>
import
(
'@pages/workflow/wfmember-edit-view/wfmember-edit-view.vue'
));
Vue
.
component
(
'wfgroup-grid-view'
,
()
=>
import
(
'@pages/workflow/wfgroup-grid-view/wfgroup-grid-view.vue'
));
Vue
.
component
(
'wfuser-mpickup-view'
,
()
=>
import
(
'@pages/workflow/wfuser-mpickup-view/wfuser-mpickup-view.vue'
));
...
...
app_web/src/pages/workflow/wfindex-view/router.ts
浏览文件 @
1e5706f1
...
...
@@ -86,6 +86,19 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/workflow/wfuser-pickup-view/wfuser-pickup-view.vue'
),
},
{
path
:
'wfremodels/:wfremodel?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfremodel.views.editview.caption'
,
parameters
:
[
{
pathName
:
'wfindexview'
,
parameterName
:
'wfindexview'
},
{
pathName
:
'wfremodels'
,
parameterName
:
'wfremodel'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfremodel-edit-view/wfremodel-edit-view.vue'
),
},
{
path
:
'wfusers/:wfuser?/wfmembers/:wfmember?/editview/:editview?'
,
meta
:
{
...
...
@@ -396,6 +409,18 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/workflow/wfgroup-edit-view/wfgroup-edit-view.vue'
),
},
{
path
:
'/wfremodels/:wfremodel?/editview/:editview?'
,
meta
:
{
caption
:
'entities.wfremodel.views.editview.caption'
,
parameters
:
[
{
pathName
:
'wfremodels'
,
parameterName
:
'wfremodel'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/workflow/wfremodel-edit-view/wfremodel-edit-view.vue'
),
},
{
path
:
'/wfgroups/:wfgroup?/pickupgridview/:pickupgridview?'
,
meta
:
{
...
...
app_web/src/pages/workflow/wfremodel-edit-view/wfremodel-edit-view-base.vue
0 → 100644
浏览文件 @
1e5706f1
此差异已折叠。
点击以展开。
app_web/src/pages/workflow/wfremodel-edit-view/wfremodel-edit-view.less
0 → 100644
浏览文件 @
1e5706f1
.view-card {
>.ivu-card-extra {
top: 5px;
right: 0px;
}
}
.wfremodel-edit-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
app_web/src/pages/workflow/wfremodel-edit-view/wfremodel-edit-view.vue
0 → 100644
浏览文件 @
1e5706f1
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
WFREModelEditViewBase
from
'./wfremodel-edit-view-base.vue'
;
import
view_form
from
'@widgets/wfremodel/main-form/main-form.vue'
;
@
Component
({
components
:
{
view_form
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
vm
.
$store
.
commit
(
'addCurPageViewtag'
,
{
fullPath
:
to
.
fullPath
,
viewtag
:
vm
.
viewtag
});
});
},
})
export
default
class
WFREModelEditView
extends
WFREModelEditViewBase
{
}
</
script
>
\ No newline at end of file
app_web/src/service/entity-service-register.ts
浏览文件 @
1e5706f1
...
...
@@ -39,7 +39,8 @@ export class EntityServiceRegister {
* @memberof EntityServiceRegister
*/
protected
init
():
void
{
this
.
allEntityService
.
set
(
'wfmember'
,
()
=>
import
(
'@/service/wfmember/wfmember-service'
));
this
.
allEntityService
.
set
(
'wfremodel'
,
()
=>
import
(
'@/service/wfremodel/wfremodel-service'
));
this
.
allEntityService
.
set
(
'wfmember'
,
()
=>
import
(
'@/service/wfmember/wfmember-service'
));
this
.
allEntityService
.
set
(
'wfgroup'
,
()
=>
import
(
'@/service/wfgroup/wfgroup-service'
));
this
.
allEntityService
.
set
(
'wfuser'
,
()
=>
import
(
'@/service/wfuser/wfuser-service'
));
this
.
allEntityService
.
set
(
'wfprocessdefinition'
,
()
=>
import
(
'@/service/wfprocess-definition/wfprocess-definition-service'
));
...
...
app_web/src/service/wfremodel/wfremodel-service-base.ts
0 → 100644
浏览文件 @
1e5706f1
import
{
Http
,
Util
}
from
'@/utils'
;
import
EntityService
from
'../entity-service'
;
/**
* 流程模型服务对象基类
*
* @export
* @class WFREModelServiceBase
* @extends {EntityServie}
*/
export
default
class
WFREModelServiceBase
extends
EntityService
{
/**
* Creates an instance of WFREModelServiceBase.
*
* @param {*} [opts={}]
* @memberof WFREModelServiceBase
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
/**
* 初始化基础数据
*
* @memberof WFREModelServiceBase
*/
public
initBasicData
(){
this
.
APPLYDEKEY
=
'wfremodel'
;
this
.
APPDEKEY
=
'id'
;
this
.
APPDENAME
=
'wfremodels'
;
this
.
APPDETEXT
=
'name'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzwf'
;
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
Select
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
`/wfremodels/
${
context
.
wfremodel
}
/select`
,
isloading
);
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
Update
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
let
res
:
any
=
await
Http
.
getInstance
().
put
(
`/wfremodels/
${
context
.
wfremodel
}
`
,
data
,
isloading
);
return
res
;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
Save
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
let
res
:
any
=
await
Http
.
getInstance
().
post
(
`/wfremodels/
${
context
.
wfremodel
}
/save`
,
data
,
isloading
);
return
res
;
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
Get
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
res
:
any
=
await
Http
.
getInstance
().
get
(
`/wfremodels/
${
context
.
wfremodel
}
`
,
isloading
);
return
res
;
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
Create
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
if
(
!
data
.
srffrontuf
||
data
.
srffrontuf
!==
"1"
){
data
[
this
.
APPDEKEY
]
=
null
;
}
if
(
data
.
srffrontuf
){
delete
data
.
srffrontuf
;
}
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
let
res
:
any
=
await
Http
.
getInstance
().
post
(
`/wfremodels`
,
data
,
isloading
);
return
res
;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
CheckKey
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
post
(
`/wfremodels/
${
context
.
wfremodel
}
/checkkey`
,
data
,
isloading
);
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
Remove
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
delete
(
`/wfremodels/
${
context
.
wfremodel
}
`
,
isloading
);
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
GetDraft
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
res
:
any
=
await
Http
.
getInstance
().
get
(
`/wfremodels/getdraft`
,
isloading
);
res
.
data
.
wfremodel
=
data
.
wfremodel
;
return
res
;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof WFREModelServiceBase
*/
public
async
FetchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
Http
.
getInstance
().
get
(
`/wfremodels/fetchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/wfremodel/wfremodel-service.ts
0 → 100644
浏览文件 @
1e5706f1
import
{
Http
,
Util
}
from
'@/utils'
;
import
WFREModelServiceBase
from
'./wfremodel-service-base'
;
/**
* 流程模型服务对象
*
* @export
* @class WFREModelService
* @extends {WFREModelServiceBase}
*/
export
default
class
WFREModelService
extends
WFREModelServiceBase
{
/**
* Creates an instance of WFREModelService.
*
* @param {*} [opts={}]
* @memberof WFREModelService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_web/src/store/modules/view-action/state.ts
浏览文件 @
1e5706f1
...
...
@@ -23,6 +23,7 @@ export const viewstate: any = {
viewdatachange
:
false
,
refviews
:
[
'a06aed382ebc28e6521b4398880388cd'
,
'c0e7fb60c35f15d4f23800acae7afbd1'
,
'f11ad9a3b9260fb68a2a2e870419bffa'
,
],
},
...
...
@@ -123,6 +124,15 @@ export const viewstate: any = {
'c539c8d177b0401b79fa0808de6f13dd'
,
],
},
{
viewtag
:
'c0e7fb60c35f15d4f23800acae7afbd1'
,
viewmodule
:
'workflow'
,
viewname
:
'WFREModelEditView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'c539c8d177b0401b79fa0808de6f13dd'
,
viewmodule
:
'workflow'
,
...
...
app_web/src/uiservice/ui-service-register.ts
浏览文件 @
1e5706f1
...
...
@@ -39,7 +39,8 @@ export class UIServiceRegister {
* @memberof UIServiceRegister
*/
protected
init
():
void
{
this
.
allUIService
.
set
(
'wfmember'
,
()
=>
import
(
'@/uiservice/wfmember/wfmember-ui-service'
));
this
.
allUIService
.
set
(
'wfremodel'
,
()
=>
import
(
'@/uiservice/wfremodel/wfremodel-ui-service'
));
this
.
allUIService
.
set
(
'wfmember'
,
()
=>
import
(
'@/uiservice/wfmember/wfmember-ui-service'
));
this
.
allUIService
.
set
(
'wfgroup'
,
()
=>
import
(
'@/uiservice/wfgroup/wfgroup-ui-service'
));
this
.
allUIService
.
set
(
'wfuser'
,
()
=>
import
(
'@/uiservice/wfuser/wfuser-ui-service'
));
this
.
allUIService
.
set
(
'wfprocessdefinition'
,
()
=>
import
(
'@/uiservice/wfprocess-definition/wfprocess-definition-ui-service'
));
...
...
app_web/src/uiservice/wfremodel/wfremodel-ui-service-base.ts
0 → 100644
浏览文件 @
1e5706f1
import
{
Environment
}
from
'@/environments/environment'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
UIService
from
'../ui-service'
;
import
{
Subject
}
from
'rxjs'
;
import
WFREModelService
from
'@/service/wfremodel/wfremodel-service'
;
/**
* 流程模型UI服务对象基类
*
* @export
* @class WFREModelUIServiceBase
*/
export
default
class
WFREModelUIServiceBase
extends
UIService
{
/**
* 是否支持工作流
*
* @memberof WFREModelUIServiceBase
*/
protected
isEnableWorkflow
:
boolean
=
false
;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof WFREModelUIServiceBase
*/
protected
dataService
:
WFREModelService
=
new
WFREModelService
();
/**
* 所有关联视图
*
* @memberof WFREModelUIServiceBase
*/
protected
allViewMap
:
Map
<
string
,
Object
>
=
new
Map
();
/**
* 状态值
*
* @memberof WFREModelUIServiceBase
*/
protected
stateValue
:
number
=
0
;
/**
* 状态属性
*
* @memberof WFREModelUIServiceBase
*/
protected
stateField
:
string
=
""
;
/**
* 主状态属性集合
*
* @memberof WFREModelUIServiceBase
*/
protected
mainStateFields
:
Array
<
any
>
=
[];
/**
* 主状态集合Map
*
* @memberof WFREModelUIServiceBase
*/
protected
allDeMainStateMap
:
Map
<
string
,
string
>
=
new
Map
();
/**
* Creates an instance of WFREModelUIServiceBase.
*
* @param {*} [opts={}]
* @memberof WFREModelUIServiceBase
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
initViewMap
();
this
.
initDeMainStateMap
();
}
/**
* 初始化视图Map
*
* @memberof WFREModelUIServiceBase
*/
public
initViewMap
(){
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'wfremodels'
});
}
/**
* 初始化主状态集合
*
* @memberof WFREModelUIServiceBase
*/
public
initDeMainStateMap
(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof WFREModelUIServiceBase
*/
public
async
getRDAppView
(
srfkey
:
string
,
isEnableWorkflow
:
boolean
){
this
.
isEnableWorkflow
=
isEnableWorkflow
;
// 进行数据查询
let
result
:
any
=
await
this
.
dataService
.
Get
({
wfremodel
:
srfkey
});
const
curData
:
any
=
result
.
data
;
//判断当前数据模式,默认为true,todo
const
iRealDEModel
:
boolean
=
true
;
let
bDataInWF
:
boolean
=
false
;
let
bWFMode
:
any
=
false
;
// 计算数据模式
if
(
this
.
isEnableWorkflow
)
{
bDataInWF
=
await
this
.
dataService
.
testDataInWF
({
stateValue
:
this
.
stateValue
,
stateField
:
this
.
stateField
},
curData
);
if
(
bDataInWF
)
{
bDataInWF
=
true
;
bWFMode
=
await
this
.
dataService
.
testUserExistWorklist
(
null
,
curData
);
}
}
let
strPDTViewParam
:
string
=
await
this
.
getDESDDEViewPDTParam
(
curData
,
bDataInWF
,
bWFMode
);
//若不是当前数据模式,处理strPDTViewParam,todo
//查找视图
//返回视图
return
this
.
allViewMap
.
get
(
strPDTViewParam
);
}
/**
* 获取实际的数据类型
*
* @memberof WFREModelUIServiceBase
*/
protected
getRealDEType
(
entity
:
any
){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof WFREModelUIServiceBase
*/
protected
async
getDESDDEViewPDTParam
(
curData
:
any
,
bDataInWF
:
boolean
,
bWFMode
:
boolean
){
let
strPDTParam
:
string
=
''
;
if
(
bDataInWF
)
{
// 判断数据是否在流程中
}
//多表单,todo
const
isEnableMultiForm
:
boolean
=
false
;
const
multiFormDEField
:
string
|
null
=
null
;
if
(
isEnableMultiForm
&&
multiFormDEField
)
{
const
objFormValue
:
string
=
curData
[
multiFormDEField
];
if
(
!
Environment
.
isAppMode
){
return
'MOBEDITVIEW'
+
objFormValue
;
}
return
'EDITVIEW'
+
objFormValue
;
}
if
(
!
Environment
.
isAppMode
){
if
(
this
.
getDEMainStateTag
(
curData
)){
return
`MOBEDITVIEW:MSTAG:
${
await
this
.
getDEMainStateTag
(
curData
)}
`
;
}
return
'MOBEDITVIEW:'
;
}
if
(
this
.
getDEMainStateTag
(
curData
)){
return
`EDITVIEW:MSTAG:
${
await
this
.
getDEMainStateTag
(
curData
)}
`
;
}
return
'EDITVIEW:'
;
}
/**
* 获取数据对象的主状态标识
*
* @param curData 当前数据
* @memberof WFREModelUIServiceBase
*/
protected
async
getDEMainStateTag
(
curData
:
any
){
if
(
this
.
mainStateFields
.
length
===
0
)
return
null
;
this
.
mainStateFields
.
forEach
((
singleMainField
:
any
)
=>
{
if
(
!
(
singleMainField
in
curData
)){
console
.
error
(
`当前数据对象不包含属性singleMainField,可能会发生错误`
);
}
})
let
strTag
:
String
=
""
;
for
(
let
i
=
0
;
i
<=
1
;
i
++
)
{
let
strTag
:
string
=
(
curData
[
this
.
mainStateFields
[
0
]])?(
i
==
0
)
?
curData
[
this
.
mainStateFields
[
0
]]
:
""
:
""
;
if
(
this
.
mainStateFields
.
length
>=
2
)
{
for
(
let
j
=
0
;
j
<=
1
;
j
++
)
{
let
strTag2
:
string
=
(
curData
[
this
.
mainStateFields
[
1
]])?
`
${
strTag
}
__
${(
j
==
0
)
?
curData
[
this
.
mainStateFields
[
1
]]
:
""
}
`
:
strTag
;
if
(
this
.
mainStateFields
.
length
>=
3
)
{
for
(
let
k
=
0
;
k
<=
1
;
k
++
)
{
let
strTag3
:
string
=
(
curData
[
this
.
mainStateFields
[
2
]])?
`
${
strTag2
}
__
${(
k
==
0
)
?
curData
[
this
.
mainStateFields
[
2
]]
:
""
}
`
:
strTag2
;
// 判断是否存在
return
this
.
allDeMainStateMap
.
get
(
strTag3
);
}
}
else
{
return
this
.
allDeMainStateMap
.
get
(
strTag2
);
}
}
}
else
{
return
this
.
allDeMainStateMap
.
get
(
strTag
);
}
}
return
null
;
}
}
\ No newline at end of file
app_web/src/uiservice/wfremodel/wfremodel-ui-service.ts
0 → 100644
浏览文件 @
1e5706f1
import
WFREModelUIServiceBase
from
'./wfremodel-ui-service-base'
;
/**
* 流程模型UI服务对象
*
* @export
* @class WFREModelUIService
*/
export
default
class
WFREModelUIService
extends
WFREModelUIServiceBase
{
/**
* Creates an instance of WFREModelUIService.
*
* @param {*} [opts={}]
* @memberof WFREModelUIService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_web/src/widgets/app/wfindex-view-appmenu/wfindex-view-appmenu-base.vue
浏览文件 @
1e5706f1
...
...
@@ -556,6 +556,9 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
private
click
(
item
:
any
)
{
if
(
item
)
{
switch
(
item
.
appfunctag
)
{
case
'_4'
:
this
.
click_4
(
item
);
return
;
case
'_2'
:
this
.
click_2
(
item
);
return
;
...
...
@@ -569,6 +572,24 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
}
/**
* 发布流程
*
* @param {*} [item={}]
* @memberof WFIndexView
*/
protected
click_4
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'wfremodels'
,
parameterName
:
'wfremodel'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
this
.
$router
.
push
(
path
);
}
/**
* 流程定义
*
...
...
app_web/src/widgets/app/wfindex-view-appmenu/wfindex-view-appmenu-model.ts
浏览文件 @
1e5706f1
...
...
@@ -31,6 +31,24 @@ export default class WFIndexViewModel {
textcls
:
''
,
appfunctag
:
'_2'
,
resourcetag
:
''
,
},
{
id
:
'F6C65EF1-F523-466D-9C63-7FA2F87BA90B'
,
name
:
'menuitem3'
,
text
:
'发布新流程'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'发布新流程'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'_4'
,
resourcetag
:
''
,
},
{
id
:
'A2004B9C-B0CE-4180-8C76-6FD90059F17B'
,
...
...
@@ -60,6 +78,18 @@ export default class WFIndexViewModel {
* @memberof WFIndexViewModel
*/
private
funcs
:
any
[]
=
[
{
appfunctag
:
'_4'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'wfremodeleditview'
,
deResParameters
:
[],
routepath
:
'/wfindexview/:wfindexview?/wfremodels/:wfremodel?/editview/:editview?'
,
parameters
:
[
{
pathName
:
'wfremodels'
,
parameterName
:
'wfremodel'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
},
{
appfunctag
:
'_2'
,
appfuncyype
:
'APPVIEW'
,
...
...
app_web/src/widgets/wfremodel/main-form/main-form-base.vue
0 → 100644
浏览文件 @
1e5706f1
此差异已折叠。
点击以展开。
app_web/src/widgets/wfremodel/main-form/main-form-model.ts
0 → 100644
浏览文件 @
1e5706f1
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export
default
class
MainModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
{
name
:
'srforikey'
,
},
{
name
:
'srfkey'
,
prop
:
'id'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfmajortext'
,
prop
:
'name'
,
dataType
:
'TEXT'
,
},
{
name
:
'srftempmode'
,
},
{
name
:
'srfuf'
,
},
{
name
:
'srfdeid'
,
},
{
name
:
'srfsourcekey'
,
},
{
name
:
'bpmnfile'
,
prop
:
'bpmnfile'
,
dataType
:
'TEXT'
,
},
{
name
:
'modelid'
,
prop
:
'id'
,
dataType
:
'TEXT'
,
},
{
name
:
'wfremodel'
,
prop
:
'id'
,
dataType
:
'FONTKEY'
,
},
]
}
}
\ No newline at end of file
app_web/src/widgets/wfremodel/main-form/main-form-service.ts
0 → 100644
浏览文件 @
1e5706f1
此差异已折叠。
点击以展开。
app_web/src/widgets/wfremodel/main-form/main-form.less
0 → 100644
浏览文件 @
1e5706f1
.ivu-tabs-no-animation>.ivu-tabs-content{
padding: 0 16px;
}
.ivu-card-head{
padding: 14px 0;
}
.app-form {
overflow: auto;
> .ivu-row {
> .ivu-tabs {
height: 100%;
display: flex;
flex-direction: column;
> .ivu-tabs-content {
flex-grow: 1;
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
}
}
.app-tabpanel-flex {
height: 100%;
> .ivu-tabs-content {
height: calc(100% - 52px);
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
.app-form {
>.ivu-row:nth-child(2) {
>.ivu-col:nth-child(1) {
>.ivu-row.app-form-group.app-group-hiddden-caption:nth-child(1) {
margin-top: 12px;
}
}
}
}
// 表单行间距
.app-form{
.app-form-item{
margin-bottom: 20px;
}
}
// this is less
app_web/src/widgets/wfremodel/main-form/main-form.vue
0 → 100644
浏览文件 @
1e5706f1
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
MainBase
from
'./main-form-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
Main
extends
MainBase
{
}
</
script
>
\ No newline at end of file
config.xml
浏览文件 @
1e5706f1
...
...
@@ -37,11 +37,6 @@
git clone -b master $para2 ibzwf/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzwf/
mvn clean package -Papi
cd ibzwf-provider/ibzwf-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzwf-provider-api.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
...
...
ibzwf-app/ibzwf-app-web/src/main/resources/application-web-prod.yml
浏览文件 @
1e5706f1
...
...
@@ -4,6 +4,10 @@ server:
#zuul网关路由设置
zuul
:
routes
:
wf_model
:
path
:
/wfremodels/**
serviceId
:
ibzwf-api
stripPrefix
:
false
wf_group_member
:
path
:
/wfmembers/**
serviceId
:
ibzwf-api
...
...
ibzwf-boot/src/main/resources/application-dev.yml
浏览文件 @
1e5706f1
server
:
port
:
40003
port
:
8080
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFREModel.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
core
.
workflow
.
domain
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.math.BigInteger
;
import
java.util.HashMap
;
import
java.math.BigDecimal
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
cn.ibizlab.util.domain.EntityBase
;
import
cn.ibizlab.util.annotation.DEField
;
import
cn.ibizlab.util.enums.DEPredefinedFieldType
;
import
cn.ibizlab.util.enums.DEFieldDefaultValueType
;
import
java.io.Serializable
;
import
lombok.Data
;
import
org.springframework.data.annotation.Transient
;
import
cn.ibizlab.util.domain.EntityClient
;
/**
* ServiceApi [流程模型] 对象
*/
@Data
public
class
WFREModel
extends
EntityClient
implements
Serializable
{
/**
* ID
*/
@DEField
(
name
=
"modelid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
/**
* 名称
*/
@DEField
(
name
=
"modelname"
)
@JSONField
(
name
=
"name"
)
@JsonProperty
(
"name"
)
private
String
name
;
/**
* BPMN
*/
@JSONField
(
name
=
"bPMNFile"
)
@JsonProperty
(
"bPMNFile"
)
private
String
bpmnfile
;
/**
* 设置 [名称]
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
this
.
modify
(
"modelname"
,
name
);
}
/**
* 设置 [BPMN]
*/
public
void
setBpmnfile
(
String
bpmnfile
){
this
.
bpmnfile
=
bpmnfile
;
this
.
modify
(
"bpmnfile"
,
bpmnfile
);
}
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/filter/WFREModelSearchContext.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
core
.
workflow
.
filter
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.HashMap
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
cn.ibizlab.util.filter.SearchContextBase
;
/**
* ServiceApi数据实体[WFREModel] 查询条件对象
*/
@Slf4j
@Data
public
class
WFREModelSearchContext
extends
SearchContextBase
{
private
String
n_modelname_like
;
//[名称]
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFREModelService.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
core
.
workflow
.
service
;
import
java.io.Serializable
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.HashMap
;
import
java.util.Collection
;
import
java.math.BigInteger
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
com.alibaba.fastjson.JSONObject
;
import
cn.ibizlab.core.workflow.domain.WFREModel
;
import
cn.ibizlab.core.workflow.filter.WFREModelSearchContext
;
/**
* 实体[WFREModel] 服务对象接口
*/
public
interface
IWFREModelService
{
boolean
update
(
WFREModel
et
)
;
void
updateBatch
(
List
<
WFREModel
>
list
)
;
boolean
save
(
WFREModel
et
)
;
void
saveBatch
(
List
<
WFREModel
>
list
)
;
WFREModel
get
(
String
key
)
;
boolean
create
(
WFREModel
et
)
;
void
createBatch
(
List
<
WFREModel
>
list
)
;
boolean
checkKey
(
WFREModel
et
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFREModel
getDraft
(
WFREModel
et
)
;
Page
<
WFREModel
>
searchDefault
(
WFREModelSearchContext
context
)
;
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFREModelServiceImpl.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
core
.
workflow
.
service
.
impl
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.math.BigInteger
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cglib.beans.BeanCopier
;
import
org.springframework.stereotype.Service
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.context.annotation.Lazy
;
import
cn.ibizlab.core.workflow.domain.WFREModel
;
import
cn.ibizlab.core.workflow.filter.WFREModelSearchContext
;
import
cn.ibizlab.core.workflow.service.IWFREModelService
;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
/**
* 实体[流程模型] 无存储服务对象接口实现
*/
@Slf4j
@Service
public
class
WFREModelServiceImpl
implements
IWFREModelService
{
@Override
public
boolean
update
(
WFREModel
et
)
{
return
true
;
}
public
void
updateBatch
(
List
<
WFREModel
>
list
){
}
@Override
@Transactional
public
boolean
save
(
WFREModel
et
)
{
return
true
;
}
@Override
public
void
saveBatch
(
List
<
WFREModel
>
list
)
{
}
@Override
public
WFREModel
get
(
String
id
)
{
return
null
;
}
@Override
public
boolean
create
(
WFREModel
et
)
{
return
true
;
}
public
void
createBatch
(
List
<
WFREModel
>
list
){
}
@Override
public
boolean
checkKey
(
WFREModel
et
)
{
return
false
;
}
@Override
public
boolean
remove
(
String
id
)
{
return
true
;
}
public
void
removeBatch
(
Collection
<
String
>
idList
){
}
@Override
public
WFREModel
getDraft
(
WFREModel
et
)
{
return
null
;
}
/**
* 查询集合 DEFAULT
*/
@Override
public
Page
<
WFREModel
>
searchDefault
(
WFREModelSearchContext
context
)
{
return
null
;
}
}
ibzwf-core/src/main/resources/deprivs/DEPrivs.json
浏览文件 @
1e5706f1
...
...
@@ -4,6 +4,13 @@
"predefineddatarange"
:[{
"id"
:
"ALL"
,
"name"
:
"全部数据"
},{
"id"
:
"CURORG"
,
"name"
:
"当前单位"
},{
"id"
:
"PORG"
,
"name"
:
"上级单位"
},{
"id"
:
"SORG"
,
"name"
:
"下级单位"
},{
"id"
:
"CURORGDEPT"
,
"name"
:
"当前部门"
},{
"id"
:
"PORGDEPT"
,
"name"
:
"上级部门"
},{
"id"
:
"SORGDEPT"
,
"name"
:
"下级部门"
}],
"entities"
:[
{
"dename"
:
"WFREModel"
,
"delogicname"
:
"流程模型"
,
"sysmoudle"
:{
"id"
:
"WORKFLOW"
,
"name"
:
"workflow"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
}]
}
,
{
"dename"
:
"WFMember"
,
"delogicname"
:
"成员"
,
"sysmoudle"
:{
"id"
:
"WORKFLOW"
,
"name"
:
"workflow"
},
...
...
ibzwf-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
1e5706f1
...
...
@@ -69,8 +69,20 @@
</column>
</createTable>
</changeSet>
<!--输出实体[WF_MODEL]数据结构 -->
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_model-18-6"
>
<createTable
tableName=
"IBZWFMODEL"
>
<column
name=
"MODELID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_WF_MODEL_MODELID"
/>
</column>
<column
name=
"MODELNAME"
remarks=
""
type=
"VARCHAR(100)"
>
</column>
<column
name=
"BPMNFILE"
remarks=
""
type=
"VARCHAR(1000)"
>
</column>
</createTable>
</changeSet>
<!--输出实体[WF_TASK_WAY]数据结构 -->
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_task_way-23-
6
"
>
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_task_way-23-
7
"
>
<createTable
tableName=
"IBZWFTASKWAY"
>
<column
name=
"WAYID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_WF_TASK_WAY_WAYID"
/>
...
...
@@ -92,7 +104,7 @@
</createTable>
</changeSet>
<!--输出实体[WF_DEFINITION]数据结构 -->
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_definition-50-
7
"
>
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_definition-50-
8
"
>
<createTable
tableName=
"IBZWFDEFINITION"
>
<column
name=
"DEFINITIONKEY"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_WF_DEFINITION_DEFINITIONKEY"
/>
...
...
@@ -114,7 +126,7 @@
</createTable>
</changeSet>
<!--输出实体[WF_GROUP_MEMBER]数据结构 -->
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_group_member-39-
8
"
>
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_group_member-39-
9
"
>
<createTable
tableName=
"IBZWFMEMBER"
>
<column
name=
"MEMBERID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_WF_GROUP_MEMBER_MEMBERID"
/>
...
...
@@ -128,7 +140,7 @@
</createTable>
</changeSet>
<!--输出实体[WF_TASK]数据结构 -->
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_task-17-
9
"
>
<changeSet
author=
"a_A_5d9d78509"
id=
"tab-wf_task-17-
10
"
>
<createTable
tableName=
"IBZTASK"
>
<column
name=
"TASKID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_WF_TASK_TASKID"
/>
...
...
@@ -151,13 +163,14 @@
<!--输出实体[WF_USER]外键关系 -->
<!--输出实体[WF_GROUP]外键关系 -->
<!--输出实体[WF_INSTANCE]外键关系 -->
<!--输出实体[WF_MODEL]外键关系 -->
<!--输出实体[WF_TASK_WAY]外键关系 -->
<!--输出实体[WF_DEFINITION]外键关系 -->
<!--输出实体[WF_GROUP_MEMBER]外键关系 -->
<changeSet
author=
"a_A_5d9d78509"
id=
"fk-wf_group_member-39-1
0
"
>
<changeSet
author=
"a_A_5d9d78509"
id=
"fk-wf_group_member-39-1
1
"
>
<addForeignKeyConstraint
baseColumnNames=
"GROUPID"
baseTableName=
"IBZWFMEMBER"
constraintName=
"DER1N_WF_GROUP_MEMBER_WF_GROUP"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"GROUPID"
referencedTableName=
"IBZWFGROUP"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_A_5d9d78509"
id=
"fk-wf_group_member-39-1
1
"
>
<changeSet
author=
"a_A_5d9d78509"
id=
"fk-wf_group_member-39-1
2
"
>
<addForeignKeyConstraint
baseColumnNames=
"USERID"
baseTableName=
"IBZWFMEMBER"
constraintName=
"DER1N_WF_GROUP_MEMBER_WF_USER_"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"USERID"
referencedTableName=
"IBZUSER"
validate=
"true"
/>
</changeSet>
<!--输出实体[WF_TASK]外键关系 -->
...
...
ibzwf-provider/ibzwf-provider-api/src/main/docker/Dockerfile
浏览文件 @
1e5706f1
...
...
@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBZ_SLEEP}s..." && \
sleep ${IBZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-provider-api.jar
EXPOSE
40003
EXPOSE
8081
ADD
ibzwf-provider-api.jar /ibzwf-provider-api.jar
ibzwf-provider/ibzwf-provider-api/src/main/docker/ibzwf-provider-api.yaml
浏览文件 @
1e5706f1
...
...
@@ -3,11 +3,9 @@ services:
ibzwf-provider-api
:
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-provider-api:latest
ports
:
-
"
40003:40003
"
-
"
8081:8081
"
networks
:
-
agent_network
environment
:
SPRING_CLOUD_NACOS_DISCOVERY_IP
:
172.16.180.237
deploy
:
mode
:
replicated
replicas
:
1
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/dto/WFREModelDTO.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
api
.
dto
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.math.BigInteger
;
import
java.util.Map
;
import
java.util.HashMap
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
cn.ibizlab.util.domain.DTOBase
;
import
lombok.Data
;
/**
* 服务DTO对象[WFREModelDTO]
*/
@Data
public
class
WFREModelDTO
extends
DTOBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 属性 [MODELID]
*
*/
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
/**
* 属性 [MODELNAME]
*
*/
@JSONField
(
name
=
"name"
)
@JsonProperty
(
"name"
)
private
String
name
;
/**
* 属性 [BPMNFILE]
*
*/
@JSONField
(
name
=
"bpmnfile"
)
@JsonProperty
(
"bpmnfile"
)
private
String
bpmnfile
;
/**
* 设置 [MODELNAME]
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
this
.
modify
(
"modelname"
,
name
);
}
/**
* 设置 [BPMNFILE]
*/
public
void
setBpmnfile
(
String
bpmnfile
){
this
.
bpmnfile
=
bpmnfile
;
this
.
modify
(
"bpmnfile"
,
bpmnfile
);
}
}
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFREModelMapping.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
api
.
mapping
;
import
org.mapstruct.*
;
import
cn.ibizlab.core.workflow.domain.WFREModel
;
import
cn.ibizlab.api.dto.WFREModelDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFREModelMapping
extends
MappingBase
<
WFREModelDTO
,
WFREModel
>
{
}
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/rest/WFREModelResource.java
0 → 100644
浏览文件 @
1e5706f1
package
cn
.
ibizlab
.
api
.
rest
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.math.BigInteger
;
import
java.util.HashMap
;
import
lombok.extern.slf4j.Slf4j
;
import
com.alibaba.fastjson.JSONObject
;
import
javax.servlet.ServletRequest
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cglib.beans.BeanCopier
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.util.StringUtils
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
cn.ibizlab.api.dto.*
;
import
cn.ibizlab.api.mapping.*
;
import
cn.ibizlab.core.workflow.domain.WFREModel
;
import
cn.ibizlab.core.workflow.service.IWFREModelService
;
import
cn.ibizlab.core.workflow.filter.WFREModelSearchContext
;
@Slf4j
@Api
(
tags
=
{
"WFREModel"
})
@RestController
(
"api-wfremodel"
)
@RequestMapping
(
""
)
public
class
WFREModelResource
{
@Autowired
private
IWFREModelService
wfremodelService
;
@Autowired
@Lazy
private
WFREModelMapping
wfremodelMapping
;
@PreAuthorize
(
"hasPermission(#wfremodel_id,'Update',{this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"WFREModel"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/wfremodels/{wfremodel_id}"
)
@Transactional
public
ResponseEntity
<
WFREModelDTO
>
update
(
@PathVariable
(
"wfremodel_id"
)
String
wfremodel_id
,
@RequestBody
WFREModelDTO
wfremodeldto
)
{
WFREModel
domain
=
wfremodelMapping
.
toDomain
(
wfremodeldto
);
domain
.
setId
(
wfremodel_id
);
wfremodelService
.
update
(
domain
);
WFREModelDTO
dto
=
wfremodelMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#wfremodel_id,'Update',{this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"WFREModel"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/wfremodels/batch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
WFREModelDTO
>
wfremodeldtos
)
{
wfremodelService
.
updateBatch
(
wfremodelMapping
.
toDomain
(
wfremodeldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@ApiOperation
(
value
=
"Save"
,
tags
=
{
"WFREModel"
},
notes
=
"Save"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/wfremodels/save"
)
public
ResponseEntity
<
Boolean
>
save
(
@RequestBody
WFREModelDTO
wfremodeldto
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
wfremodelService
.
save
(
wfremodelMapping
.
toDomain
(
wfremodeldto
)));
}
@ApiOperation
(
value
=
"SaveBatch"
,
tags
=
{
"WFREModel"
},
notes
=
"SaveBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/wfremodels/savebatch"
)
public
ResponseEntity
<
Boolean
>
saveBatch
(
@RequestBody
List
<
WFREModelDTO
>
wfremodeldtos
)
{
wfremodelService
.
saveBatch
(
wfremodelMapping
.
toDomain
(
wfremodeldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission(#wfremodel_id,'Get',{this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"WFREModel"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/wfremodels/{wfremodel_id}"
)
public
ResponseEntity
<
WFREModelDTO
>
get
(
@PathVariable
(
"wfremodel_id"
)
String
wfremodel_id
)
{
WFREModel
domain
=
wfremodelService
.
get
(
wfremodel_id
);
WFREModelDTO
dto
=
wfremodelMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','Create',{this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"WFREModel"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/wfremodels"
)
@Transactional
public
ResponseEntity
<
WFREModelDTO
>
create
(
@RequestBody
WFREModelDTO
wfremodeldto
)
{
WFREModel
domain
=
wfremodelMapping
.
toDomain
(
wfremodeldto
);
wfremodelService
.
create
(
domain
);
WFREModelDTO
dto
=
wfremodelMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','Create',{this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"WFREModel"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/wfremodels/batch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
WFREModelDTO
>
wfremodeldtos
)
{
wfremodelService
.
createBatch
(
wfremodelMapping
.
toDomain
(
wfremodeldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@ApiOperation
(
value
=
"CheckKey"
,
tags
=
{
"WFREModel"
},
notes
=
"CheckKey"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/wfremodels/checkkey"
)
public
ResponseEntity
<
Boolean
>
checkKey
(
@RequestBody
WFREModelDTO
wfremodeldto
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
wfremodelService
.
checkKey
(
wfremodelMapping
.
toDomain
(
wfremodeldto
)));
}
@PreAuthorize
(
"hasPermission('Remove',{#wfremodel_id,{this.getEntity(),'None'}})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"WFREModel"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/wfremodels/{wfremodel_id}"
)
@Transactional
public
ResponseEntity
<
Boolean
>
remove
(
@PathVariable
(
"wfremodel_id"
)
String
wfremodel_id
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
wfremodelService
.
remove
(
wfremodel_id
));
}
@ApiOperation
(
value
=
"RemoveBatch"
,
tags
=
{
"WFREModel"
},
notes
=
"RemoveBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/wfremodels/batch"
)
public
ResponseEntity
<
Boolean
>
removeBatch
(
@RequestBody
List
<
String
>
ids
)
{
wfremodelService
.
removeBatch
(
ids
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@ApiOperation
(
value
=
"GetDraft"
,
tags
=
{
"WFREModel"
},
notes
=
"GetDraft"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/wfremodels/getdraft"
)
public
ResponseEntity
<
WFREModelDTO
>
getDraft
()
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
wfremodelMapping
.
toDto
(
wfremodelService
.
getDraft
(
new
WFREModel
())));
}
@PreAuthorize
(
"hasPermission('Get',{#context,'Default',this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"WFREModel"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/wfremodels/fetchdefault"
)
public
ResponseEntity
<
List
<
WFREModelDTO
>>
fetchDefault
(
WFREModelSearchContext
context
)
{
Page
<
WFREModel
>
domains
=
wfremodelService
.
searchDefault
(
context
)
;
List
<
WFREModelDTO
>
list
=
wfremodelMapping
.
toDto
(
domains
.
getContent
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
header
(
"x-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageNumber
()))
.
header
(
"x-per-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageSize
()))
.
header
(
"x-total"
,
String
.
valueOf
(
domains
.
getTotalElements
()))
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('Get',{#context,'Default',this.getEntity(),'None'})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"WFREModel"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/wfremodels/searchdefault"
)
public
ResponseEntity
<
Page
<
WFREModelDTO
>>
searchDefault
(
WFREModelSearchContext
context
)
{
Page
<
WFREModel
>
domains
=
wfremodelService
.
searchDefault
(
context
)
;
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
body
(
new
PageImpl
(
wfremodelMapping
.
toDto
(
domains
.
getContent
()),
context
.
getPageable
(),
domains
.
getTotalElements
()));
}
/**
* 用户权限校验
* @return
*/
public
WFREModel
getEntity
(){
return
new
WFREModel
();
}
}
ibzwf-provider/ibzwf-provider-api/src/main/resources/application-api-dev.yml
浏览文件 @
1e5706f1
server
:
port
:
40003
\ No newline at end of file
port
:
8081
\ No newline at end of file
ibzwf-provider/ibzwf-provider-api/src/main/resources/application-api-prod.yml
浏览文件 @
1e5706f1
server
:
port
:
40003
port
:
8081
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录