Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ghsby
o2oa
提交
65f81ba1
o2oa
项目概览
ghsby
/
o2oa
落后 Fork 源项目 2880 个版本
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
65f81ba1
编写于
7月 23, 2022
作者:
O
o2sword
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
流程数据发布环节发布到内容管理
上级
d06da337
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
467 addition
and
306 deletion
+467
-306
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishContent.java
...e/control/jaxrs/document/ActionPersistPublishContent.java
+11
-0
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/form/ActionDelete.java
...a/com/x/cms/assemble/control/jaxrs/form/ActionDelete.java
+10
-2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/form/ActionSave.java
...ava/com/x/cms/assemble/control/jaxrs/form/ActionSave.java
+6
-1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/permission/element/PermissionInfo.java
...mble/control/jaxrs/permission/element/PermissionInfo.java
+13
-5
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionCover.java
...ssplatform/assemble/designer/jaxrs/input/ActionCover.java
+9
-44
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionCreate.java
...splatform/assemble/designer/jaxrs/input/ActionCreate.java
+14
-44
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionPrepareCover.java
...orm/assemble/designer/jaxrs/input/ActionPrepareCover.java
+15
-43
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionPrepareCreate.java
...rm/assemble/designer/jaxrs/input/ActionPrepareCreate.java
+9
-41
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/output/ActionSelect.java
...platform/assemble/designer/jaxrs/output/ActionSelect.java
+5
-44
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/Publish.java
...va/com/x/processplatform/core/entity/element/Publish.java
+1
-0
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/publish/PublishProcessor.java
...ervice/processing/processor/publish/PublishProcessor.java
+274
-23
o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/table/ActionInsert.java
.../x/query/service/processing/jaxrs/table/ActionInsert.java
+1
-0
o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/table/BaseAction.java
...om/x/query/service/processing/jaxrs/table/BaseAction.java
+99
-59
未找到文件。
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishContent.java
浏览文件 @
65f81ba1
...
...
@@ -482,6 +482,9 @@ public class ActionPersistPublishContent extends BaseAction {
@FieldDescribe
(
"启动流程的WorkId."
)
private
String
wf_workId
=
null
;
@FieldDescribe
(
"流程的表单Id."
)
private
String
wf_formId
=
null
;
@FieldDescribe
(
"启动流程的附件列表."
)
private
String
[]
wf_attachmentIds
=
null
;
...
...
@@ -1056,6 +1059,14 @@ public class ActionPersistPublishContent extends BaseAction {
public
void
setStringValue03
(
String
stringValue03
)
{
this
.
stringValue03
=
stringValue03
;
}
public
String
getWf_formId
()
{
return
wf_formId
;
}
public
void
setWf_formId
(
String
wf_formId
)
{
this
.
wf_formId
=
wf_formId
;
}
}
public
static
class
Wo
extends
WoId
{
...
...
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/form/ActionDelete.java
浏览文件 @
65f81ba1
...
...
@@ -15,6 +15,7 @@ import com.x.base.core.project.http.EffectivePerson;
import
com.x.base.core.project.http.WrapOutId
;
import
com.x.base.core.project.jaxrs.WoId
;
import
com.x.cms.assemble.control.Business
;
import
com.x.cms.core.entity.AppInfo
;
import
com.x.cms.core.entity.element.Form
;
import
com.x.cms.core.entity.element.View
;
import
com.x.cms.core.entity.element.ViewCategory
;
...
...
@@ -28,11 +29,18 @@ public class ActionDelete extends BaseAction {
WrapOutId
wrap
=
null
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
if
(!
business
.
isManager
(
effectivePerson
))
{
Form
form
=
business
.
getFormFactory
().
get
(
id
);
if
(
form
==
null
){
throw
new
ExceptionFormNotExist
(
id
);
}
AppInfo
appInfo
=
emc
.
find
(
form
.
getAppId
(),
AppInfo
.
class
);
if
(
appInfo
==
null
){
throw
new
ExceptionAppInfoNotExist
(
form
.
getAppId
());
}
if
(!
business
.
isAppInfoManager
(
effectivePerson
,
appInfo
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
// 先判断需要操作的应用信息是否存在,根据ID进行一次查询,如果不存在不允许继续操作
Form
form
=
business
.
getFormFactory
().
get
(
id
);
List
<
String
>
viewIds
=
business
.
getViewFactory
().
listByFormId
(
id
);
List
<
String
>
fieldConfigIds
=
null
;
List
<
ViewFieldConfig
>
fieldConfigs
=
null
;
...
...
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/form/ActionSave.java
浏览文件 @
65f81ba1
...
...
@@ -23,6 +23,7 @@ import com.x.base.core.project.jaxrs.WoId;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.cms.assemble.control.Business
;
import
com.x.cms.core.entity.AppInfo
;
import
com.x.cms.core.entity.element.Form
;
import
com.x.cms.core.entity.element.View
;
import
com.x.cms.core.entity.element.ViewCategory
;
...
...
@@ -48,7 +49,11 @@ public class ActionSave extends BaseAction {
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
if
(!
business
.
isManager
(
effectivePerson
))
{
AppInfo
appInfo
=
emc
.
find
(
wi
.
getAppId
(),
AppInfo
.
class
);
if
(
appInfo
==
null
){
throw
new
ExceptionAppInfoNotExist
(
wi
.
getAppId
());
}
if
(!
business
.
isAppInfoManager
(
effectivePerson
,
appInfo
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
Form
form
=
emc
.
find
(
wi
.
getId
(),
Form
.
class
);
...
...
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/permission/element/PermissionInfo.java
浏览文件 @
65f81ba1
package
com.x.cms.assemble.control.jaxrs.permission.element
;
import
com.x.base.core.project.annotation.FieldDescribe
;
import
com.x.base.core.project.organization.OrganizationDefinition
;
public
class
PermissionInfo
{
@FieldDescribe
(
"权限类别:读者|阅读|作者|管理"
)
private
String
permission
=
PermissionName
.
READER
;
@FieldDescribe
(
"使用者类别:所有人|组织|人员|群组"
)
private
String
permissionObjectType
=
""
;
@FieldDescribe
(
"使用者编码:所有人|组织编码|人员UID|群组编码"
)
private
String
permissionObjectCode
=
""
;
@FieldDescribe
(
"使用者名称:所有人|组织名称|人员名称|群组名称"
)
private
String
permissionObjectName
=
""
;
public
PermissionInfo
()
{}
public
PermissionInfo
(
String
permission
,
String
permissionObjectType
,
String
permissionObjectCode
,
String
permissionObjectName
)
{
super
();
this
.
permission
=
permission
;
this
.
permissionObjectType
=
permissionObjectType
;
this
.
permissionObjectCode
=
permissionObjectCode
;
this
.
permissionObjectName
=
permissionObjectName
;
if
(
OrganizationDefinition
.
isPersonDistinguishedName
(
permissionObjectName
)){
this
.
permissionObjectType
=
"人员"
;
}
else
if
(
OrganizationDefinition
.
isUnitDistinguishedName
(
permissionObjectName
)){
this
.
permissionObjectType
=
"组织"
;
}
else
if
(
OrganizationDefinition
.
isGroupDistinguishedName
(
permissionObjectName
)){
this
.
permissionObjectType
=
"群组"
;
}
}
public
String
getPermission
()
{
...
...
@@ -56,5 +64,5 @@ public class PermissionInfo {
public
void
setPermissionObjectName
(
String
permissionObjectName
)
{
this
.
permissionObjectName
=
permissionObjectName
;
}
}
}
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionCover.java
浏览文件 @
65f81ba1
...
...
@@ -10,6 +10,9 @@ import javax.persistence.criteria.CriteriaQuery;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
com.x.processplatform.core.entity.element.*
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.wrap.*
;
import
org.apache.commons.collections4.ListUtils
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -30,49 +33,6 @@ import com.x.base.core.project.logger.LoggerFactory;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.base.core.project.tools.StringTools
;
import
com.x.processplatform.assemble.designer.Business
;
import
com.x.processplatform.core.entity.element.Agent
;
import
com.x.processplatform.core.entity.element.Application
;
import
com.x.processplatform.core.entity.element.ApplicationDict
;
import
com.x.processplatform.core.entity.element.ApplicationDictItem
;
import
com.x.processplatform.core.entity.element.Begin
;
import
com.x.processplatform.core.entity.element.Cancel
;
import
com.x.processplatform.core.entity.element.Choice
;
import
com.x.processplatform.core.entity.element.Delay
;
import
com.x.processplatform.core.entity.element.Embed
;
import
com.x.processplatform.core.entity.element.End
;
import
com.x.processplatform.core.entity.element.File
;
import
com.x.processplatform.core.entity.element.Form
;
import
com.x.processplatform.core.entity.element.FormField
;
import
com.x.processplatform.core.entity.element.Invoke
;
import
com.x.processplatform.core.entity.element.Manual
;
import
com.x.processplatform.core.entity.element.Merge
;
import
com.x.processplatform.core.entity.element.Parallel
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.Route
;
import
com.x.processplatform.core.entity.element.Script
;
import
com.x.processplatform.core.entity.element.Service
;
import
com.x.processplatform.core.entity.element.Split
;
import
com.x.processplatform.core.entity.element.wrap.WrapAgent
;
import
com.x.processplatform.core.entity.element.wrap.WrapApplicationDict
;
import
com.x.processplatform.core.entity.element.wrap.WrapBegin
;
import
com.x.processplatform.core.entity.element.wrap.WrapCancel
;
import
com.x.processplatform.core.entity.element.wrap.WrapChoice
;
import
com.x.processplatform.core.entity.element.wrap.WrapDelay
;
import
com.x.processplatform.core.entity.element.wrap.WrapEmbed
;
import
com.x.processplatform.core.entity.element.wrap.WrapEnd
;
import
com.x.processplatform.core.entity.element.wrap.WrapFile
;
import
com.x.processplatform.core.entity.element.wrap.WrapForm
;
import
com.x.processplatform.core.entity.element.wrap.WrapFormField
;
import
com.x.processplatform.core.entity.element.wrap.WrapInvoke
;
import
com.x.processplatform.core.entity.element.wrap.WrapManual
;
import
com.x.processplatform.core.entity.element.wrap.WrapMerge
;
import
com.x.processplatform.core.entity.element.wrap.WrapParallel
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcess
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform
;
import
com.x.processplatform.core.entity.element.wrap.WrapRoute
;
import
com.x.processplatform.core.entity.element.wrap.WrapScript
;
import
com.x.processplatform.core.entity.element.wrap.WrapService
;
import
com.x.processplatform.core.entity.element.wrap.WrapSplit
;
class
ActionCover
extends
BaseAction
{
...
...
@@ -257,6 +217,8 @@ class ActionCover extends BaseAction {
wrapProcess
.
getMergeList
(),
Merge
.
class
));
persistObjects
.
addAll
(
this
.
coverProcessElement
(
business
,
process
,
WrapParallel
.
inCopier
,
wrapProcess
.
getParallelList
(),
Parallel
.
class
));
persistObjects
.
addAll
(
this
.
coverProcessElement
(
business
,
process
,
WrapPublish
.
inCopier
,
wrapProcess
.
getPublishList
(),
Publish
.
class
));
persistObjects
.
addAll
(
this
.
coverProcessElement
(
business
,
process
,
WrapService
.
inCopier
,
wrapProcess
.
getServiceList
(),
Service
.
class
));
persistObjects
.
addAll
(
this
.
coverProcessElement
(
business
,
process
,
WrapSplit
.
inCopier
,
...
...
@@ -285,6 +247,8 @@ class ActionCover extends BaseAction {
this
.
orphanProcessElement
(
business
,
wrapProcess
.
getMergeList
(),
Merge
.
class
,
process
.
getId
()));
removeObjects
.
addAll
(
this
.
orphanProcessElement
(
business
,
wrapProcess
.
getParallelList
(),
Parallel
.
class
,
process
.
getId
()));
removeObjects
.
addAll
(
this
.
orphanProcessElement
(
business
,
wrapProcess
.
getPublishList
(),
Publish
.
class
,
process
.
getId
()));
removeObjects
.
addAll
(
this
.
orphanProcessElement
(
business
,
wrapProcess
.
getServiceList
(),
Service
.
class
,
process
.
getId
()));
removeObjects
.
addAll
(
...
...
@@ -318,6 +282,7 @@ class ActionCover extends BaseAction {
business
.
entityManagerContainer
().
beginTransaction
(
Manual
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Merge
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Parallel
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Publish
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Service
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Split
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Route
.
class
);
...
...
@@ -486,4 +451,4 @@ class ActionCover extends BaseAction {
}
}
\ No newline at end of file
}
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionCreate.java
浏览文件 @
65f81ba1
...
...
@@ -4,6 +4,9 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.List
;
import
com.x.processplatform.core.entity.element.*
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.wrap.*
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -18,49 +21,6 @@ import com.x.base.core.project.jaxrs.WoId;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.processplatform.assemble.designer.Business
;
import
com.x.processplatform.core.entity.element.Agent
;
import
com.x.processplatform.core.entity.element.Application
;
import
com.x.processplatform.core.entity.element.ApplicationDict
;
import
com.x.processplatform.core.entity.element.ApplicationDictItem
;
import
com.x.processplatform.core.entity.element.Begin
;
import
com.x.processplatform.core.entity.element.Cancel
;
import
com.x.processplatform.core.entity.element.Choice
;
import
com.x.processplatform.core.entity.element.Delay
;
import
com.x.processplatform.core.entity.element.Embed
;
import
com.x.processplatform.core.entity.element.End
;
import
com.x.processplatform.core.entity.element.File
;
import
com.x.processplatform.core.entity.element.Form
;
import
com.x.processplatform.core.entity.element.FormField
;
import
com.x.processplatform.core.entity.element.Invoke
;
import
com.x.processplatform.core.entity.element.Manual
;
import
com.x.processplatform.core.entity.element.Merge
;
import
com.x.processplatform.core.entity.element.Parallel
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.Route
;
import
com.x.processplatform.core.entity.element.Script
;
import
com.x.processplatform.core.entity.element.Service
;
import
com.x.processplatform.core.entity.element.Split
;
import
com.x.processplatform.core.entity.element.wrap.WrapAgent
;
import
com.x.processplatform.core.entity.element.wrap.WrapApplicationDict
;
import
com.x.processplatform.core.entity.element.wrap.WrapBegin
;
import
com.x.processplatform.core.entity.element.wrap.WrapCancel
;
import
com.x.processplatform.core.entity.element.wrap.WrapChoice
;
import
com.x.processplatform.core.entity.element.wrap.WrapDelay
;
import
com.x.processplatform.core.entity.element.wrap.WrapEmbed
;
import
com.x.processplatform.core.entity.element.wrap.WrapEnd
;
import
com.x.processplatform.core.entity.element.wrap.WrapFile
;
import
com.x.processplatform.core.entity.element.wrap.WrapForm
;
import
com.x.processplatform.core.entity.element.wrap.WrapFormField
;
import
com.x.processplatform.core.entity.element.wrap.WrapInvoke
;
import
com.x.processplatform.core.entity.element.wrap.WrapManual
;
import
com.x.processplatform.core.entity.element.wrap.WrapMerge
;
import
com.x.processplatform.core.entity.element.wrap.WrapParallel
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcess
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform
;
import
com.x.processplatform.core.entity.element.wrap.WrapRoute
;
import
com.x.processplatform.core.entity.element.wrap.WrapScript
;
import
com.x.processplatform.core.entity.element.wrap.WrapService
;
import
com.x.processplatform.core.entity.element.wrap.WrapSplit
;
class
ActionCreate
extends
BaseAction
{
...
...
@@ -271,6 +231,15 @@ class ActionCreate extends BaseAction {
obj
.
setProcess
(
process
.
getId
());
persistObjects
.
add
(
obj
);
}
for
(
WrapPublish
_o
:
wrapProcess
.
getPublishList
())
{
Publish
obj
=
business
.
entityManagerContainer
().
find
(
_o
.
getId
(),
Publish
.
class
);
if
(
null
!=
obj
)
{
throw
new
ExceptionEntityExistForCreate
(
_o
.
getId
(),
Publish
.
class
);
}
obj
=
WrapPublish
.
inCopier
.
copy
(
_o
);
obj
.
setProcess
(
process
.
getId
());
persistObjects
.
add
(
obj
);
}
for
(
WrapService
_o
:
wrapProcess
.
getServiceList
())
{
Service
obj
=
business
.
entityManagerContainer
().
find
(
_o
.
getId
(),
Service
.
class
);
if
(
null
!=
obj
)
{
...
...
@@ -322,6 +291,7 @@ class ActionCreate extends BaseAction {
business
.
entityManagerContainer
().
beginTransaction
(
Manual
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Merge
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Parallel
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Publish
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Service
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Split
.
class
);
business
.
entityManagerContainer
().
beginTransaction
(
Route
.
class
);
...
...
@@ -339,4 +309,4 @@ class ActionCreate extends BaseAction {
}
}
\ No newline at end of file
}
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionPrepareCover.java
浏览文件 @
65f81ba1
...
...
@@ -9,6 +9,9 @@ import javax.persistence.criteria.CriteriaQuery;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
com.x.processplatform.core.entity.element.*
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.wrap.*
;
import
org.apache.commons.collections4.ListUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -23,48 +26,6 @@ import com.x.base.core.project.logger.Logger;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.processplatform.assemble.designer.Business
;
import
com.x.processplatform.core.entity.element.Agent
;
import
com.x.processplatform.core.entity.element.Application
;
import
com.x.processplatform.core.entity.element.ApplicationDict
;
import
com.x.processplatform.core.entity.element.Begin
;
import
com.x.processplatform.core.entity.element.Cancel
;
import
com.x.processplatform.core.entity.element.Choice
;
import
com.x.processplatform.core.entity.element.Delay
;
import
com.x.processplatform.core.entity.element.Embed
;
import
com.x.processplatform.core.entity.element.End
;
import
com.x.processplatform.core.entity.element.File
;
import
com.x.processplatform.core.entity.element.Form
;
import
com.x.processplatform.core.entity.element.FormField
;
import
com.x.processplatform.core.entity.element.Invoke
;
import
com.x.processplatform.core.entity.element.Manual
;
import
com.x.processplatform.core.entity.element.Merge
;
import
com.x.processplatform.core.entity.element.Parallel
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.Route
;
import
com.x.processplatform.core.entity.element.Script
;
import
com.x.processplatform.core.entity.element.Service
;
import
com.x.processplatform.core.entity.element.Split
;
import
com.x.processplatform.core.entity.element.wrap.WrapAgent
;
import
com.x.processplatform.core.entity.element.wrap.WrapApplicationDict
;
import
com.x.processplatform.core.entity.element.wrap.WrapBegin
;
import
com.x.processplatform.core.entity.element.wrap.WrapCancel
;
import
com.x.processplatform.core.entity.element.wrap.WrapChoice
;
import
com.x.processplatform.core.entity.element.wrap.WrapDelay
;
import
com.x.processplatform.core.entity.element.wrap.WrapEmbed
;
import
com.x.processplatform.core.entity.element.wrap.WrapEnd
;
import
com.x.processplatform.core.entity.element.wrap.WrapFile
;
import
com.x.processplatform.core.entity.element.wrap.WrapForm
;
import
com.x.processplatform.core.entity.element.wrap.WrapFormField
;
import
com.x.processplatform.core.entity.element.wrap.WrapInvoke
;
import
com.x.processplatform.core.entity.element.wrap.WrapManual
;
import
com.x.processplatform.core.entity.element.wrap.WrapMerge
;
import
com.x.processplatform.core.entity.element.wrap.WrapParallel
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcess
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform
;
import
com.x.processplatform.core.entity.element.wrap.WrapRoute
;
import
com.x.processplatform.core.entity.element.wrap.WrapScript
;
import
com.x.processplatform.core.entity.element.wrap.WrapService
;
import
com.x.processplatform.core.entity.element.wrap.WrapSplit
;
class
ActionPrepareCover
extends
BaseAction
{
...
...
@@ -289,6 +250,17 @@ class ActionPrepareCover extends BaseAction {
}
}
}
for
(
MatchElement
<
WrapPublish
,
Publish
>
_me
:
this
.
match
(
business
,
m
.
getW
().
getPublishList
(),
ListUtils
.
union
(
this
.
listWithIds
(
business
,
m
.
getW
().
getPublishList
(),
Publish
.
class
),
business
.
publish
().
listWithProcessObject
(
m
.
getT
().
getId
()))))
{
if
((
null
!=
_me
.
getW
())
&&
(
null
!=
_me
.
getT
()))
{
if
(
StringUtils
.
equals
(
_me
.
getW
().
getProcess
(),
_me
.
getT
().
getProcess
()))
{
wos
.
add
(
new
Wo
(
_me
.
getW
().
getId
(),
_me
.
getT
().
getId
()));
}
else
{
wos
.
add
(
new
Wo
(
_me
.
getW
().
getId
(),
JpaObject
.
createId
()));
}
}
}
for
(
MatchElement
<
WrapService
,
Service
>
_me
:
this
.
match
(
business
,
m
.
getW
().
getServiceList
(),
ListUtils
.
union
(
this
.
listWithIds
(
business
,
m
.
getW
().
getServiceList
(),
Service
.
class
),
business
.
service
().
listWithProcessObject
(
m
.
getT
().
getId
()))))
{
...
...
@@ -454,4 +426,4 @@ class ActionPrepareCover extends BaseAction {
}
}
\ No newline at end of file
}
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/input/ActionPrepareCreate.java
浏览文件 @
65f81ba1
...
...
@@ -13,47 +13,9 @@ import com.x.base.core.project.jaxrs.WrapPair;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.processplatform.assemble.designer.Business
;
import
com.x.processplatform.core.entity.element.Agent
;
import
com.x.processplatform.core.entity.element.Application
;
import
com.x.processplatform.core.entity.element.ApplicationDict
;
import
com.x.processplatform.core.entity.element.Begin
;
import
com.x.processplatform.core.entity.element.Cancel
;
import
com.x.processplatform.core.entity.element.Choice
;
import
com.x.processplatform.core.entity.element.Delay
;
import
com.x.processplatform.core.entity.element.Embed
;
import
com.x.processplatform.core.entity.element.End
;
import
com.x.processplatform.core.entity.element.File
;
import
com.x.processplatform.core.entity.element.Form
;
import
com.x.processplatform.core.entity.element.FormField
;
import
com.x.processplatform.core.entity.element.Invoke
;
import
com.x.processplatform.core.entity.element.Manual
;
import
com.x.processplatform.core.entity.element.Merge
;
import
com.x.processplatform.core.entity.element.Parallel
;
import
com.x.processplatform.core.entity.element.*
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.Route
;
import
com.x.processplatform.core.entity.element.Script
;
import
com.x.processplatform.core.entity.element.Service
;
import
com.x.processplatform.core.entity.element.Split
;
import
com.x.processplatform.core.entity.element.wrap.WrapAgent
;
import
com.x.processplatform.core.entity.element.wrap.WrapApplicationDict
;
import
com.x.processplatform.core.entity.element.wrap.WrapCancel
;
import
com.x.processplatform.core.entity.element.wrap.WrapChoice
;
import
com.x.processplatform.core.entity.element.wrap.WrapDelay
;
import
com.x.processplatform.core.entity.element.wrap.WrapEmbed
;
import
com.x.processplatform.core.entity.element.wrap.WrapEnd
;
import
com.x.processplatform.core.entity.element.wrap.WrapFile
;
import
com.x.processplatform.core.entity.element.wrap.WrapForm
;
import
com.x.processplatform.core.entity.element.wrap.WrapFormField
;
import
com.x.processplatform.core.entity.element.wrap.WrapInvoke
;
import
com.x.processplatform.core.entity.element.wrap.WrapManual
;
import
com.x.processplatform.core.entity.element.wrap.WrapMerge
;
import
com.x.processplatform.core.entity.element.wrap.WrapParallel
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcess
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform
;
import
com.x.processplatform.core.entity.element.wrap.WrapRoute
;
import
com.x.processplatform.core.entity.element.wrap.WrapScript
;
import
com.x.processplatform.core.entity.element.wrap.WrapService
;
import
com.x.processplatform.core.entity.element.wrap.WrapSplit
;
import
com.x.processplatform.core.entity.element.wrap.*
;
class
ActionPrepareCreate
extends
BaseAction
{
...
...
@@ -180,6 +142,12 @@ class ActionPrepareCreate extends BaseAction {
wos
.
add
(
new
Wo
(
wrap
.
getId
(),
JpaObject
.
createId
()));
}
}
for
(
WrapPublish
wrap
:
wrapProcess
.
getPublishList
())
{
Publish
exist_parallel
=
business
.
entityManagerContainer
().
find
(
wrap
.
getId
(),
Publish
.
class
);
if
(
null
!=
exist_parallel
)
{
wos
.
add
(
new
Wo
(
wrap
.
getId
(),
JpaObject
.
createId
()));
}
}
for
(
WrapService
wrap
:
wrapProcess
.
getServiceList
())
{
Service
exist_service
=
business
.
entityManagerContainer
().
find
(
wrap
.
getId
(),
Service
.
class
);
if
(
null
!=
exist_service
)
{
...
...
@@ -216,4 +184,4 @@ class ActionPrepareCreate extends BaseAction {
}
}
\ No newline at end of file
}
o2server/x_processplatform_assemble_designer/src/main/java/com/x/processplatform/assemble/designer/jaxrs/output/ActionSelect.java
浏览文件 @
65f81ba1
...
...
@@ -22,50 +22,9 @@ import com.x.base.core.project.http.EffectivePerson;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.base.core.project.tools.StringTools
;
import
com.x.processplatform.assemble.designer.Business
;
import
com.x.processplatform.core.entity.element.Agent
;
import
com.x.processplatform.core.entity.element.Application
;
import
com.x.processplatform.core.entity.element.ApplicationDict
;
import
com.x.processplatform.core.entity.element.ApplicationDictItem
;
import
com.x.processplatform.core.entity.element.ApplicationDictItem_
;
import
com.x.processplatform.core.entity.element.Begin
;
import
com.x.processplatform.core.entity.element.Cancel
;
import
com.x.processplatform.core.entity.element.Choice
;
import
com.x.processplatform.core.entity.element.Delay
;
import
com.x.processplatform.core.entity.element.Embed
;
import
com.x.processplatform.core.entity.element.End
;
import
com.x.processplatform.core.entity.element.File
;
import
com.x.processplatform.core.entity.element.Form
;
import
com.x.processplatform.core.entity.element.FormField
;
import
com.x.processplatform.core.entity.element.Invoke
;
import
com.x.processplatform.core.entity.element.Manual
;
import
com.x.processplatform.core.entity.element.Merge
;
import
com.x.processplatform.core.entity.element.Parallel
;
import
com.x.processplatform.core.entity.element.*
;
import
com.x.processplatform.core.entity.element.Process
;
import
com.x.processplatform.core.entity.element.Route
;
import
com.x.processplatform.core.entity.element.Script
;
import
com.x.processplatform.core.entity.element.Service
;
import
com.x.processplatform.core.entity.element.Split
;
import
com.x.processplatform.core.entity.element.wrap.WrapAgent
;
import
com.x.processplatform.core.entity.element.wrap.WrapApplicationDict
;
import
com.x.processplatform.core.entity.element.wrap.WrapBegin
;
import
com.x.processplatform.core.entity.element.wrap.WrapCancel
;
import
com.x.processplatform.core.entity.element.wrap.WrapChoice
;
import
com.x.processplatform.core.entity.element.wrap.WrapDelay
;
import
com.x.processplatform.core.entity.element.wrap.WrapEmbed
;
import
com.x.processplatform.core.entity.element.wrap.WrapEnd
;
import
com.x.processplatform.core.entity.element.wrap.WrapFile
;
import
com.x.processplatform.core.entity.element.wrap.WrapForm
;
import
com.x.processplatform.core.entity.element.wrap.WrapFormField
;
import
com.x.processplatform.core.entity.element.wrap.WrapInvoke
;
import
com.x.processplatform.core.entity.element.wrap.WrapManual
;
import
com.x.processplatform.core.entity.element.wrap.WrapMerge
;
import
com.x.processplatform.core.entity.element.wrap.WrapParallel
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcess
;
import
com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform
;
import
com.x.processplatform.core.entity.element.wrap.WrapRoute
;
import
com.x.processplatform.core.entity.element.wrap.WrapScript
;
import
com.x.processplatform.core.entity.element.wrap.WrapService
;
import
com.x.processplatform.core.entity.element.wrap.WrapSplit
;
import
com.x.processplatform.core.entity.element.wrap.*
;
class
ActionSelect
extends
BaseAction
{
...
...
@@ -156,6 +115,8 @@ class ActionSelect extends BaseAction {
Merge
.
process_FIELDNAME
,
process
.
getId
())));
wo
.
setParallelList
(
WrapParallel
.
outCopier
.
copy
(
business
.
entityManagerContainer
().
listEqual
(
Parallel
.
class
,
Parallel
.
process_FIELDNAME
,
process
.
getId
())));
wo
.
setPublishList
(
WrapPublish
.
outCopier
.
copy
(
business
.
entityManagerContainer
().
listEqual
(
Publish
.
class
,
Publish
.
process_FIELDNAME
,
process
.
getId
())));
wo
.
setServiceList
(
WrapService
.
outCopier
.
copy
(
business
.
entityManagerContainer
().
listEqual
(
Service
.
class
,
Service
.
process_FIELDNAME
,
process
.
getId
())));
wo
.
setSplitList
(
WrapSplit
.
outCopier
.
copy
(
business
.
entityManagerContainer
().
listEqual
(
Split
.
class
,
...
...
@@ -218,4 +179,4 @@ class ActionSelect extends BaseAction {
}
}
\ No newline at end of file
}
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/Publish.java
浏览文件 @
65f81ba1
...
...
@@ -34,6 +34,7 @@ public class Publish extends Activity {
private
static
final
String
TABLE
=
PersistenceProperties
.
Element
.
Publish
.
table
;
public
static
final
String
PUBLISH_TARGET_CMS
=
"cms"
;
public
static
final
String
PUBLISH_TARGET_TABLE
=
"table"
;
public
static
final
String
CMS_CATEGORY_FROM_DATA
=
"dataPath"
;
@Override
public
String
getId
()
{
...
...
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/publish/PublishProcessor.java
浏览文件 @
65f81ba1
...
...
@@ -2,15 +2,24 @@ package com.x.processplatform.service.processing.processor.publish;
import
com.google.gson.JsonElement
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.entity.JpaObject
;
import
com.x.base.core.project.Applications
;
import
com.x.base.core.project.gson.GsonPropertyObject
;
import
com.x.base.core.project.jaxrs.WoId
;
import
com.x.base.core.project.jaxrs.WrapBoolean
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.scripting.JsonScriptingExecutor
;
import
com.x.base.core.project.scripting.ScriptingFactory
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.base.core.project.tools.StringTools
;
import
com.x.base.core.project.x_cms_assemble_control
;
import
com.x.base.core.project.x_query_service_processing
;
import
com.x.processplatform.core.entity.content.Attachment
;
import
com.x.processplatform.core.entity.content.Data
;
import
com.x.processplatform.core.entity.content.Review
;
import
com.x.processplatform.core.entity.content.Work
;
import
com.x.processplatform.core.entity.element.Activity
;
import
com.x.processplatform.core.entity.element.Publish
;
import
com.x.processplatform.core.entity.element.PublishTable
;
import
com.x.processplatform.core.entity.element.Route
;
...
...
@@ -34,6 +43,7 @@ import java.util.List;
public
class
PublishProcessor
extends
AbstractPublishProcessor
{
public
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
PublishProcessor
.
class
);
private
static
final
String
CMS_PUBLISH_URI
=
"document/cipher/publish/content"
;
public
PublishProcessor
(
EntityManagerContainer
entityManagerContainer
)
throws
Exception
{
super
(
entityManagerContainer
);
...
...
@@ -61,11 +71,11 @@ public class PublishProcessor extends AbstractPublishProcessor {
boolean
passThrough
=
false
;
switch
(
publish
.
getPublishTarget
())
{
case
Publish
.
PUBLISH_TARGET_CMS
:
//
可以根据返回脚本判断时候流转
passThrough
=
t
rue
;
//
发布到内容管理
passThrough
=
t
his
.
publishToCms
(
aeiObjects
,
publish
)
;
break
;
case
Publish
.
PUBLISH_TARGET_TABLE
:
//
可以根据返回脚本判断时候流转
//
发布到数据中心自建表
passThrough
=
this
.
publishToTable
(
aeiObjects
,
publish
);
break
;
default
:
...
...
@@ -77,20 +87,17 @@ public class PublishProcessor extends AbstractPublishProcessor {
LOGGER
.
info
(
"work title:{}, id:{} public return false, stay in the current activity."
,
()
->
aeiObjects
.
getWork
().
getTitle
(),
()
->
aeiObjects
.
getWork
().
getId
());
}
if
(
passThrough
)
{
results
.
add
(
aeiObjects
.
getWork
());
}
return
results
;
}
private
boolean
publishToTable
(
AeiObjects
aeiObjects
,
Publish
publish
)
throws
Exception
{
List
<
Assign
Table
>
list
=
this
.
evalTableBody
(
aeiObjects
,
publish
);
List
<
Assign
Publish
>
list
=
this
.
evalTableBody
(
aeiObjects
,
publish
);
boolean
flag
=
true
;
for
(
Assign
Table
assignTable
:
list
){
for
(
Assign
Publish
assignPublish
:
list
){
WrapBoolean
resp
=
ThisApplication
.
context
().
applications
().
postQuery
(
x_query_service_processing
.
class
,
Applications
.
joinQueryUri
(
"table"
,
assign
Table
.
getTableName
(),
"update"
,
aeiObjects
.
getWork
().
getJob
()),
assignTable
.
getData
())
Applications
.
joinQueryUri
(
"table"
,
assign
Publish
.
getTableName
(),
"update"
,
aeiObjects
.
getWork
().
getJob
()),
assignPublish
.
getData
())
.
getData
(
WrapBoolean
.
class
);
LOGGER
.
debug
(
"publish to table:{}, result:{}"
,
assign
Table
.
getTableName
(),
resp
.
getValue
());
LOGGER
.
debug
(
"publish to table:{}, result:{}"
,
assign
Publish
.
getTableName
(),
resp
.
getValue
());
if
(
BooleanUtils
.
isFalse
(
resp
.
getValue
())){
flag
=
false
;
}
...
...
@@ -98,17 +105,17 @@ public class PublishProcessor extends AbstractPublishProcessor {
return
flag
;
}
private
List
<
Assign
Table
>
evalTableBody
(
AeiObjects
aeiObjects
,
Publish
publish
)
throws
Exception
{
List
<
Assign
Table
>
list
=
new
ArrayList
<>();
private
List
<
Assign
Publish
>
evalTableBody
(
AeiObjects
aeiObjects
,
Publish
publish
)
throws
Exception
{
List
<
Assign
Publish
>
list
=
new
ArrayList
<>();
if
(
ListTools
.
isNotEmpty
(
publish
.
getPublishTableList
())){
for
(
PublishTable
publishTable
:
publish
.
getPublishTableList
()){
Assign
Table
assignTable
=
new
AssignTable
();
assign
Table
.
setTableName
(
publishTable
.
getTableName
());
Assign
Publish
assignPublish
=
new
AssignPublish
();
assign
Publish
.
setTableName
(
publishTable
.
getTableName
());
if
(
PublishTable
.
TABLE_DATA_BY_PATH
.
equals
(
publishTable
.
getQueryTableDataBy
())){
if
(
StringUtils
.
isNotBlank
(
publishTable
.
getQueryTableDataPath
())){
Object
o
=
aeiObjects
.
getData
().
find
(
publishTable
.
getQueryTableDataPath
());
if
(
o
!=
null
){
assign
Table
.
setData
(
gson
.
toJsonTree
(
o
));
assign
Publish
.
setData
(
gson
.
toJsonTree
(
o
));
}
}
}
else
{
...
...
@@ -121,21 +128,100 @@ public class PublishProcessor extends AbstractPublishProcessor {
assignBody
);
JsonScriptingExecutor
.
jsonElement
(
cs
,
scriptContext
,
o
->
{
if
(!
o
.
isJsonNull
())
{
assign
Table
.
setData
(
o
);
assign
Publish
.
setData
(
o
);
}
});
}
}
if
(
assign
Table
.
getData
()
==
null
){
assign
Table
.
setData
(
gson
.
toJsonTree
(
aeiObjects
.
getData
()));
if
(
assign
Publish
.
getData
()
==
null
){
assign
Publish
.
setData
(
gson
.
toJsonTree
(
aeiObjects
.
getData
()));
}
list
.
add
(
assign
Table
);
list
.
add
(
assign
Publish
);
}
}
return
list
;
}
private
String
evalCmsBody
(
AeiObjects
aeiObjects
,
Publish
publish
)
throws
Exception
{
private
boolean
publishToCms
(
AeiObjects
aeiObjects
,
Publish
publish
)
throws
Exception
{
CmsDocument
cmsDocument
=
this
.
evalCmsBody
(
aeiObjects
,
publish
);
cmsDocument
.
setWf_workId
(
aeiObjects
.
getWork
().
getId
());
cmsDocument
.
setWf_jobId
(
aeiObjects
.
getWork
().
getJob
());
String
categoryId
=
""
;
if
(
Publish
.
CMS_CATEGORY_FROM_DATA
.
equals
(
publish
.
getCategorySelectType
())){
if
(
StringUtils
.
isNotBlank
(
publish
.
getCategoryIdDataPath
()))
{
categoryId
=
(
String
)
aeiObjects
.
getData
().
find
(
publish
.
getCategoryIdDataPath
());
}
}
else
{
categoryId
=
publish
.
getCategoryId
();
}
if
(
StringUtils
.
isBlank
(
categoryId
)){
LOGGER
.
warn
(
"流程数据发布到内容管理失败:分类ID为空!"
);
return
false
;
}
cmsDocument
.
setCategoryId
(
categoryId
);
if
(
BooleanUtils
.
isTrue
(
publish
.
getUseProcessForm
())){
cmsDocument
.
setWf_formId
(
aeiObjects
.
getWork
().
getForm
());
}
if
(
BooleanUtils
.
isTrue
(
publish
.
getInheritAttachment
())){
List
<
Attachment
>
attachments
=
aeiObjects
.
getAttachments
();
if
(
ListTools
.
isNotEmpty
(
attachments
)){
cmsDocument
.
setWf_attachmentIds
(
ListTools
.
extractField
(
attachments
,
JpaObject
.
id_FIELDNAME
,
String
.
class
,
true
,
true
));
}
}
String
title
=
""
;
if
(
StringUtils
.
isNotBlank
(
publish
.
getTitleDataPath
())){
title
=
(
String
)
aeiObjects
.
getData
().
find
(
publish
.
getTitleDataPath
());
}
if
(
StringUtils
.
isBlank
(
title
)){
title
=
aeiObjects
.
getWork
().
getTitle
();
}
if
(
StringUtils
.
isBlank
(
title
)){
title
=
"未命名"
;
}
cmsDocument
.
setTitle
(
StringTools
.
utf8SubString
(
title
,
255
));
List
<
CmsPermission
>
readerList
=
new
ArrayList
<>();
List
<
String
>
list
=
this
.
findPathData
(
aeiObjects
.
getData
(),
publish
.
getReaderDataPathList
());
if
(
ListTools
.
isNotEmpty
(
list
))
{
List
<
Review
>
reviewList
=
aeiObjects
.
getReviews
();
if
(
ListTools
.
isNotEmpty
(
reviewList
)){
list
.
addAll
(
ListTools
.
extractField
(
reviewList
,
Review
.
person_FIELDNAME
,
String
.
class
,
true
,
true
));
}
}
list
.
stream
().
forEach
(
s
->
{
CmsPermission
cmsPermission
=
new
CmsPermission
();
cmsPermission
.
setPermissionObjectName
(
s
);
readerList
.
add
(
cmsPermission
);
});
cmsDocument
.
setReaderList
(
readerList
);
List
<
CmsPermission
>
authorList
=
new
ArrayList
<>();
list
=
this
.
findPathData
(
aeiObjects
.
getData
(),
publish
.
getAuthorDataPathList
());
list
.
add
(
aeiObjects
.
getWork
().
getCreatorPerson
());
list
.
stream
().
forEach
(
s
->
{
CmsPermission
cmsPermission
=
new
CmsPermission
();
cmsPermission
.
setPermissionObjectName
(
s
);
authorList
.
add
(
cmsPermission
);
});
cmsDocument
.
setAuthorList
(
authorList
);
cmsDocument
.
setPictureList
(
this
.
findPathData
(
aeiObjects
.
getData
(),
publish
.
getPictureDataPathList
()));
WoId
woId
=
ThisApplication
.
context
().
applications
().
putQuery
(
x_cms_assemble_control
.
class
,
CMS_PUBLISH_URI
,
cmsDocument
).
getData
(
WoId
.
class
);
if
(
woId
==
null
||
StringUtils
.
isBlank
(
woId
.
getId
())){
return
false
;
}
//发送消息通知
if
(
StringUtils
.
isNotBlank
(
publish
.
getNotifyDataPathList
()))
{
list
=
this
.
findPathData
(
aeiObjects
.
getData
(),
publish
.
getNotifyDataPathList
());
if
(
ListTools
.
isNotEmpty
(
list
))
{
CmsNotify
cmsNotify
=
new
CmsNotify
(
list
);
ThisApplication
.
context
().
applications
().
postQuery
(
x_cms_assemble_control
.
class
,
Applications
.
joinQueryUri
(
"document"
,
woId
.
getId
(),
"update"
,
aeiObjects
.
getWork
().
getJob
()),
cmsNotify
);
}
}
return
true
;
}
private
CmsDocument
evalCmsBody
(
AeiObjects
aeiObjects
,
Publish
publish
)
throws
Exception
{
CmsDocument
cmsDocument
=
new
CmsDocument
();
WrapScriptObject
assignBody
=
new
WrapScriptObject
();
if
(
hasCmsAssignDataScript
(
publish
))
{
ScriptContext
scriptContext
=
aeiObjects
.
scriptContext
();
...
...
@@ -145,14 +231,31 @@ public class PublishProcessor extends AbstractPublishProcessor {
assignBody
);
JsonScriptingExecutor
.
jsonElement
(
cs
,
scriptContext
,
o
->
{
if
(!
o
.
isJsonNull
())
{
assignBody
.
set
(
gson
.
toJson
(
o
)
);
cmsDocument
.
setData
(
o
);
}
});
}
return
assignBody
.
get
();
if
(
cmsDocument
.
getData
()
==
null
){
cmsDocument
.
setData
(
gson
.
toJsonTree
(
aeiObjects
.
getData
()));
}
return
cmsDocument
;
}
public
class
AssignTable
{
/** 取得通过路径指定的人员组织 */
private
List
<
String
>
findPathData
(
Data
data
,
String
paths
)
throws
Exception
{
List
<
String
>
list
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
paths
))
{
for
(
String
str
:
paths
.
split
(
","
))
{
if
(
StringUtils
.
isNotBlank
(
str
))
{
list
.
addAll
(
data
.
extractDistinguishedName
(
str
.
trim
()));
}
}
}
return
list
;
}
public
class
AssignPublish
{
private
String
tableName
;
...
...
@@ -175,6 +278,154 @@ public class PublishProcessor extends AbstractPublishProcessor {
}
}
public
class
CmsDocument
extends
GsonPropertyObject
{
private
String
title
;
private
String
wf_workId
;
private
String
wf_jobId
;
private
String
wf_formId
;
private
String
summary
;
private
String
categoryId
;
private
List
<
String
>
pictureList
;
private
List
<
String
>
wf_attachmentIds
;
private
JsonElement
data
;
private
List
<
CmsPermission
>
readerList
;
private
List
<
CmsPermission
>
authorList
;
public
String
getTitle
()
{
return
title
;
}
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
public
String
getWf_workId
()
{
return
wf_workId
;
}
public
void
setWf_workId
(
String
wf_workId
)
{
this
.
wf_workId
=
wf_workId
;
}
public
String
getWf_jobId
()
{
return
wf_jobId
;
}
public
void
setWf_jobId
(
String
wf_jobId
)
{
this
.
wf_jobId
=
wf_jobId
;
}
public
String
getWf_formId
()
{
return
wf_formId
;
}
public
void
setWf_formId
(
String
wf_formId
)
{
this
.
wf_formId
=
wf_formId
;
}
public
String
getSummary
()
{
return
summary
;
}
public
void
setSummary
(
String
summary
)
{
this
.
summary
=
summary
;
}
public
List
<
String
>
getPictureList
()
{
return
pictureList
;
}
public
void
setPictureList
(
List
<
String
>
pictureList
)
{
this
.
pictureList
=
pictureList
;
}
public
List
<
String
>
getWf_attachmentIds
()
{
return
wf_attachmentIds
;
}
public
void
setWf_attachmentIds
(
List
<
String
>
wf_attachmentIds
)
{
this
.
wf_attachmentIds
=
wf_attachmentIds
;
}
public
JsonElement
getData
()
{
return
data
;
}
public
void
setData
(
JsonElement
data
)
{
this
.
data
=
data
;
}
public
List
<
CmsPermission
>
getReaderList
()
{
return
readerList
;
}
public
void
setReaderList
(
List
<
CmsPermission
>
readerList
)
{
this
.
readerList
=
readerList
;
}
public
List
<
CmsPermission
>
getAuthorList
()
{
return
authorList
;
}
public
void
setAuthorList
(
List
<
CmsPermission
>
authorList
)
{
this
.
authorList
=
authorList
;
}
public
String
getCategoryId
()
{
return
categoryId
;
}
public
void
setCategoryId
(
String
categoryId
)
{
this
.
categoryId
=
categoryId
;
}
}
public
class
CmsPermission
{
private
String
permissionObjectName
;
public
String
getPermissionObjectName
()
{
return
permissionObjectName
;
}
public
void
setPermissionObjectName
(
String
permissionObjectName
)
{
this
.
permissionObjectName
=
permissionObjectName
;
}
}
public
class
CmsNotify
extends
GsonPropertyObject
{
public
CmsNotify
(
List
<
String
>
notifyPersonList
){
this
.
notifyPersonList
=
notifyPersonList
;
}
private
List
<
String
>
notifyPersonList
;
private
Boolean
notifyByDocumentReadPerson
=
false
;
private
Boolean
notifyCreatePerson
=
false
;
public
List
<
String
>
getNotifyPersonList
()
{
return
notifyPersonList
;
}
public
void
setNotifyPersonList
(
List
<
String
>
notifyPersonList
)
{
this
.
notifyPersonList
=
notifyPersonList
;
}
public
Boolean
getNotifyByDocumentReadPerson
()
{
return
notifyByDocumentReadPerson
;
}
public
void
setNotifyByDocumentReadPerson
(
Boolean
notifyByDocumentReadPerson
)
{
this
.
notifyByDocumentReadPerson
=
notifyByDocumentReadPerson
;
}
public
Boolean
getNotifyCreatePerson
()
{
return
notifyCreatePerson
;
}
public
void
setNotifyCreatePerson
(
Boolean
notifyCreatePerson
)
{
this
.
notifyCreatePerson
=
notifyCreatePerson
;
}
}
@Override
protected
void
executingCommitted
(
AeiObjects
aeiObjects
,
Publish
publish
,
List
<
Work
>
works
)
throws
Exception
{
// Do nothing
...
...
o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/table/ActionInsert.java
浏览文件 @
65f81ba1
package
com.x.query.service.processing.jaxrs.table
;
import
com.x.base.core.project.gson.XGsonBuilder
;
import
com.x.base.core.project.tools.StringTools
;
import
org.apache.commons.beanutils.PropertyUtilsBean
;
...
...
o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/table/BaseAction.java
浏览文件 @
65f81ba1
...
...
@@ -2,13 +2,12 @@ package com.x.query.service.processing.jaxrs.table;
import
java.lang.reflect.Field
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.*
;
import
javax.persistence.Column
;
import
com.x.base.core.entity.dynamic.DynamicEntity
;
import
com.x.base.core.project.jaxrs.WrapString
;
import
org.apache.commons.beanutils.PropertyUtilsBean
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.reflect.FieldUtils
;
...
...
@@ -37,6 +36,8 @@ abstract class BaseAction extends StandardJaxrsAction {
IllegalArgumentException
,
SecurityException
{
List
<
T
>
list
=
new
ArrayList
<>();
List
<
Field
>
fields
=
FieldUtils
.
getFieldsListWithAnnotation
(
cls
,
Column
.
class
);
List
<
Field
>
fields2
=
FieldUtils
.
getFieldsListWithAnnotation
(
cls
,
ElementColumn
.
class
);
fields
.
addAll
(
fields2
);
final
List
<
JsonObject
>
jsonObjectList
=
new
ArrayList
<>();
if
(
jsonElement
.
isJsonObject
())
{
jsonObjectList
.
add
(
jsonElement
.
getAsJsonObject
());
...
...
@@ -51,62 +52,74 @@ abstract class BaseAction extends StandardJaxrsAction {
for
(
JsonObject
jsonObject
:
jsonObjectList
)
{
T
t
=
cls
.
getConstructor
().
newInstance
();
for
(
Field
field
:
fields
)
{
switch
(
JpaObjectTools
.
type
(
field
))
{
case
JpaObject
.
TYPE_STRING
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedName
(
getJsonElement
(
jsonObject
,
field
),
getColumnDefinedStringLength
(
field
)));
break
;
case
JpaObject
.
TYPE_INTEGER
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractInteger
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_LONG
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLong
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_FLOAT
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloat
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DOUBLE
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDouble
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATETIME
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTime
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATE
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDate
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_BOOLEAN
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBoolean
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_STRINGLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedNameList
(
getJsonElement
(
jsonObject
,
field
),
getElementColumnDefinedStringLength
(
field
)));
break
;
case
JpaObject
.
TYPE_INTEGERLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractIntegerList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_LONGLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLongList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_FLOATLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloatList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DOUBLELIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDoubleList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATETIMELIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTimeList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_BOOLEANLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBooleanList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
default
:
break
;
}
if
(
StringUtils
.
isNotBlank
(
bundle
)
&&
field
.
getName
().
equals
(
DynamicEntity
.
BUNDLE_FIELD
)){
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
bundle
);
try
{
switch
(
JpaObjectTools
.
type
(
field
))
{
case
JpaObject
.
TYPE_STRING
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedName
(
getJsonElement
(
jsonObject
,
field
),
getColumnDefinedStringLength
(
field
)));
break
;
case
JpaObject
.
TYPE_STRINGLOB
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractString
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_INTEGER
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractInteger
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_LONG
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLong
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_FLOAT
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloat
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DOUBLE
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDouble
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATETIME
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTime
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATE
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDate
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_BOOLEAN
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBoolean
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_STRINGLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedNameList
(
getJsonElement
(
jsonObject
,
field
),
getElementColumnDefinedStringLength
(
field
)));
break
;
case
JpaObject
.
TYPE_INTEGERLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractIntegerList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_LONGLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLongList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_FLOATLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloatList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DOUBLELIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDoubleList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATETIMELIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTimeList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_BOOLEANLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBooleanList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_STRINGMAP
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractMap
(
getJsonElement
(
jsonObject
,
field
),
getElementColumnDefinedStringLength
(
field
)));
break
;
default
:
break
;
}
if
(
StringUtils
.
isNotBlank
(
bundle
)
&&
field
.
getName
().
equals
(
DynamicEntity
.
BUNDLE_FIELD
)){
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
bundle
);
}
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"设置对象:{} 的属性:{} 值异常:{}"
,
cls
.
getSimpleName
(),
field
.
getName
(),
e
.
getMessage
());
e
.
printStackTrace
();
}
}
list
.
add
(
t
);
...
...
@@ -132,6 +145,18 @@ abstract class BaseAction extends StandardJaxrsAction {
return
(
null
!=
elementColumn
)
?
elementColumn
.
length
()
:
JpaObject
.
length_255B
;
}
private
String
extractString
(
JsonElement
jsonElement
)
{
String
value
=
null
;
if
(
null
!=
jsonElement
)
{
if
(
jsonElement
.
isJsonPrimitive
())
{
value
=
jsonElement
.
getAsString
();
}
else
{
value
=
jsonElement
.
toString
();
}
}
return
value
;
}
private
String
extractStringOrDistinguishedName
(
JsonElement
jsonElement
,
int
maxLength
)
{
String
value
=
null
;
if
(
null
!=
jsonElement
)
{
...
...
@@ -169,6 +194,7 @@ abstract class BaseAction extends StandardJaxrsAction {
}
}
}
LOGGER
.
info
(
gson
.
toJson
(
values
)+
jsonElement
.
toString
());
return
values
;
}
...
...
@@ -418,4 +444,18 @@ abstract class BaseAction extends StandardJaxrsAction {
return
values
;
}
private
Map
<
String
,
String
>
extractMap
(
JsonElement
jsonElement
,
int
maxLength
)
{
Map
<
String
,
Object
>
dataTable
=
new
LinkedHashMap
<>();
Map
<
String
,
String
>
map
=
new
LinkedHashMap
<>();
if
(
null
!=
jsonElement
)
{
if
(
jsonElement
.
isJsonObject
())
{
dataTable
=
gson
.
fromJson
(
jsonElement
,
LinkedHashMap
.
class
);
}
}
for
(
String
key
:
dataTable
.
keySet
()){
map
.
put
(
key
,
StringTools
.
utf8SubString
(
Objects
.
toString
(
dataTable
.
get
(
key
),
""
),
maxLength
));
}
return
map
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录