Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ghsby
o2oa
提交
228f7221
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,发现更多精彩内容 >>
提交
228f7221
编写于
8月 24, 2020
作者:
Z
zhourui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
splitValueList
上级
8674ca6f
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
95 addition
and
52 deletion
+95
-52
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/ListTools.java
...rc/main/java/com/x/base/core/project/tools/ListTools.java
+8
-0
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/content/Work.java
.../java/com/x/processplatform/core/entity/content/Work.java
+23
-17
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/content/WorkLogProperties.java
...rocessplatform/core/entity/content/WorkLogProperties.java
+5
-3
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/content/WorkProperties.java
...x/processplatform/core/entity/content/WorkProperties.java
+26
-9
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/merge/MergeProcessor.java
...rm/service/processing/processor/merge/MergeProcessor.java
+3
-2
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/split/SplitProcessor.java
...rm/service/processing/processor/split/SplitProcessor.java
+30
-21
未找到文件。
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/ListTools.java
浏览文件 @
228f7221
...
...
@@ -598,4 +598,12 @@ public class ListTools {
return
list
.
subList
(
start
,
end
);
}
public
static
<
E
>
void
set
(
List
<
E
>
list
,
int
index
,
E
element
)
{
if
(
index
<
0
)
{
list
.
set
(
list
.
size
()
+
index
,
element
);
}
else
{
list
.
set
(
index
,
element
);
}
}
}
\ No newline at end of file
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/content/Work.java
浏览文件 @
228f7221
...
...
@@ -19,8 +19,18 @@ import javax.persistence.PostLoad;
import
javax.persistence.Table
;
import
javax.persistence.Temporal
;
import
javax.persistence.TemporalType
;
import
javax.persistence.Transient
;
import
javax.persistence.UniqueConstraint
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.openjpa.persistence.Persistent
;
import
org.apache.openjpa.persistence.PersistentCollection
;
import
org.apache.openjpa.persistence.jdbc.ContainerTable
;
import
org.apache.openjpa.persistence.jdbc.ElementColumn
;
import
org.apache.openjpa.persistence.jdbc.ElementIndex
;
import
org.apache.openjpa.persistence.jdbc.Index
;
import
org.apache.openjpa.persistence.jdbc.Strategy
;
import
com.x.base.core.entity.JpaObject
;
import
com.x.base.core.entity.SliceJpaObject
;
import
com.x.base.core.entity.annotation.CheckPersist
;
...
...
@@ -34,15 +44,6 @@ import com.x.base.core.project.tools.StringTools;
import
com.x.processplatform.core.entity.PersistenceProperties
;
import
com.x.processplatform.core.entity.element.ActivityType
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.openjpa.persistence.Persistent
;
import
org.apache.openjpa.persistence.PersistentCollection
;
import
org.apache.openjpa.persistence.jdbc.ContainerTable
;
import
org.apache.openjpa.persistence.jdbc.ElementColumn
;
import
org.apache.openjpa.persistence.jdbc.ElementIndex
;
import
org.apache.openjpa.persistence.jdbc.Index
;
import
org.apache.openjpa.persistence.jdbc.Strategy
;
@Entity
@ContainerEntity
(
dumpSize
=
1000
,
type
=
ContainerEntity
.
Type
.
content
,
reference
=
ContainerEntity
.
Reference
.
strong
)
@Table
(
name
=
PersistenceProperties
.
Content
.
Work
.
table
,
uniqueConstraints
=
{
...
...
@@ -96,6 +97,7 @@ public class Work extends SliceJpaObject implements ProjectionInterface {
public
void
postLoad
()
{
if
((
null
!=
this
.
properties
)
&&
StringUtils
.
isNotEmpty
(
this
.
getProperties
().
getTitle
()))
{
this
.
title
=
this
.
getProperties
().
getTitle
();
this
.
splitValueList
=
this
.
getProperties
().
getSplitValueList
();
}
}
...
...
@@ -145,8 +147,20 @@ public class Work extends SliceJpaObject implements ProjectionInterface {
:
WORKCREATETYPE_SURFACE
;
}
public
List
<
String
>
getSplitValueList
()
{
return
this
.
splitValueList
;
}
public
void
setSplitValueList
(
List
<
String
>
splitValueList
)
{
this
.
splitValueList
=
splitValueList
;
this
.
getProperties
().
setSplitValueList
(
splitValueList
);
}
/* 修改过的Set Get 方法 */
@Transient
private
List
<
String
>
splitValueList
;
public
static
final
String
job_FIELDNAME
=
"job"
;
@FieldDescribe
(
"工作"
)
@Column
(
length
=
JpaObject
.
length_id
,
name
=
ColumnNamePrefix
+
job_FIELDNAME
)
...
...
@@ -161,14 +175,6 @@ public class Work extends SliceJpaObject implements ProjectionInterface {
@CheckPersist
(
allowEmpty
=
true
)
private
String
title
;
// public static final String titleLob_FIELDNAME = "titleLob";
// @FieldDescribe("标题,长文本")
// @Lob
// @Basic(fetch = FetchType.EAGER)
// @Column(length = JpaObject.length_1M, name = ColumnNamePrefix +
// titleLob_FIELDNAME)
// private String titleLob;
public
static
final
String
startTime_FIELDNAME
=
"startTime"
;
@FieldDescribe
(
"工作开始时间"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
...
...
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/content/WorkLogProperties.java
浏览文件 @
228f7221
...
...
@@ -7,9 +7,11 @@ import com.x.base.core.entity.JsonProperties;
public
class
WorkLogProperties
extends
JsonProperties
{
private
static
final
long
serialVersionUID
=
-
4149341123576111783L
;
private
List
<
String
>
splitTokenList
;
private
List
<
String
>
splitValueList
;
private
List
<
String
>
splitValueList
=
new
ArrayList
<>()
;
private
String
splitToken
;
...
...
@@ -17,14 +19,14 @@ public class WorkLogProperties extends JsonProperties {
public
List
<
String
>
getSplitTokenList
()
{
if
(
null
==
splitTokenList
)
{
this
.
splitTokenList
=
new
ArrayList
<
String
>();
this
.
splitTokenList
=
new
ArrayList
<>();
}
return
splitTokenList
;
}
public
List
<
String
>
getSplitValueList
()
{
if
(
null
==
splitValueList
)
{
this
.
splitValueList
=
new
ArrayList
<
String
>();
this
.
splitValueList
=
new
ArrayList
<>();
}
return
splitValueList
;
}
...
...
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/content/WorkProperties.java
浏览文件 @
228f7221
...
...
@@ -3,27 +3,33 @@ package com.x.processplatform.core.entity.content;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.x.base.core.entity.JsonProperties
;
import
com.x.base.core.project.annotation.FieldDescribe
;
public
class
WorkProperties
extends
JsonProperties
{
private
static
final
long
serialVersionUID
=
-
62236689373222398L
;
@FieldDescribe
(
"强制待办处理人"
)
private
List
<
String
>
manualForceTaskIdentityList
=
new
ArrayList
<>();
@FieldDescribe
(
"授权对象"
)
private
LinkedHash
Map
<
String
,
String
>
manualEmpowerMap
=
new
LinkedHashMap
<>();
private
Map
<
String
,
String
>
manualEmpowerMap
=
new
LinkedHashMap
<>();
@FieldDescribe
(
"服务回调值"
)
private
LinkedHash
Map
<
String
,
Object
>
serviceValue
=
new
LinkedHashMap
<>();
private
Map
<
String
,
Object
>
serviceValue
=
new
LinkedHashMap
<>();
@FieldDescribe
(
"标题"
)
private
String
title
;
@FieldDescribe
(
"拆分值列表"
)
private
List
<
String
>
splitValueList
=
new
ArrayList
<>();
public
List
<
String
>
getManualForceTaskIdentityList
()
{
if
(
this
.
manualForceTaskIdentityList
==
null
)
{
this
.
manualForceTaskIdentityList
=
new
ArrayList
<
String
>();
this
.
manualForceTaskIdentityList
=
new
ArrayList
<>();
}
return
this
.
manualForceTaskIdentityList
;
}
...
...
@@ -32,25 +38,25 @@ public class WorkProperties extends JsonProperties {
this
.
manualForceTaskIdentityList
=
manualForceTaskIdentityList
;
}
public
LinkedHash
Map
<
String
,
String
>
getManualEmpowerMap
()
{
public
Map
<
String
,
String
>
getManualEmpowerMap
()
{
if
(
this
.
manualEmpowerMap
==
null
)
{
this
.
manualEmpowerMap
=
new
LinkedHashMap
<
String
,
String
>();
this
.
manualEmpowerMap
=
new
LinkedHashMap
<>();
}
return
this
.
manualEmpowerMap
;
}
public
void
setManualEmpowerMap
(
LinkedHash
Map
<
String
,
String
>
manualEmpowerMap
)
{
public
void
setManualEmpowerMap
(
Map
<
String
,
String
>
manualEmpowerMap
)
{
this
.
manualEmpowerMap
=
manualEmpowerMap
;
}
public
LinkedHash
Map
<
String
,
Object
>
getServiceValue
()
{
public
Map
<
String
,
Object
>
getServiceValue
()
{
if
(
this
.
serviceValue
==
null
)
{
this
.
serviceValue
=
new
LinkedHashMap
<
String
,
Object
>();
this
.
serviceValue
=
new
LinkedHashMap
<>();
}
return
this
.
serviceValue
;
}
public
void
setServiceValue
(
LinkedHash
Map
<
String
,
Object
>
serviceValue
)
{
public
void
setServiceValue
(
Map
<
String
,
Object
>
serviceValue
)
{
this
.
serviceValue
=
serviceValue
;
}
...
...
@@ -62,4 +68,15 @@ public class WorkProperties extends JsonProperties {
this
.
title
=
title
;
}
public
List
<
String
>
getSplitValueList
()
{
if
(
null
==
this
.
splitValueList
)
{
this
.
splitValueList
=
new
ArrayList
<>();
}
return
this
.
splitValueList
;
}
public
void
setSplitValueList
(
List
<
String
>
splitValueList
)
{
this
.
splitValueList
=
splitValueList
;
}
}
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/merge/MergeProcessor.java
浏览文件 @
228f7221
...
...
@@ -58,7 +58,6 @@ public class MergeProcessor extends AbstractMergeProcessor {
aeiObjects
.
getDeleteWorkLogs
().
add
(
obj
);
});
}
else
{
/* 完全找不到合并的文档,唯一一份 */
Work
branch
=
this
.
findWorkBranch
(
aeiObjects
);
if
(
null
!=
branch
)
{
aeiObjects
.
getWork
().
setSplitting
(
true
);
...
...
@@ -69,10 +68,12 @@ public class MergeProcessor extends AbstractMergeProcessor {
aeiObjects
.
getWork
().
setSplitValue
(
""
);
results
.
add
(
aeiObjects
.
getWork
());
}
else
{
// 完全找不到合并的文档,唯一一份
aeiObjects
.
getWork
().
setSplitting
(
false
);
aeiObjects
.
getWork
().
setSplitTokenList
(
new
ArrayList
<
String
>());
aeiObjects
.
getWork
().
setSplitToken
(
""
);
aeiObjects
.
getWork
().
setSplitTokenList
(
new
ArrayList
<>());
aeiObjects
.
getWork
().
setSplitValue
(
""
);
aeiObjects
.
getWork
().
setSplitValueList
(
new
ArrayList
<>());
results
.
add
(
aeiObjects
.
getWork
());
}
}
...
...
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/split/SplitProcessor.java
浏览文件 @
228f7221
...
...
@@ -2,6 +2,7 @@ package com.x.processplatform.service.processing.processor.split;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -43,36 +44,44 @@ public class SplitProcessor extends AbstractSplitProcessor {
aeiObjects
.
getWork
().
setSplitting
(
true
);
aeiObjects
.
getWork
().
setSplitToken
(
StringTools
.
uniqueToken
());
aeiObjects
.
getWork
().
getSplitTokenList
().
add
(
aeiObjects
.
getWork
().
getSplitToken
());
aeiObjects
.
getWork
().
setSplitValue
(
""
);
List
<
String
>
splitValues
=
this
.
splitWithPath
(
aeiObjects
,
split
);
if
(
splitValues
.
isEmpty
())
{
throw
new
ExceptionSplitEmptySplitValue
(
split
.
getName
(),
aeiObjects
.
getWork
().
getTitle
(),
aeiObjects
.
getWork
().
getId
(),
aeiObjects
.
getWork
().
getJob
());
}
/
* 先将当前文档标志拆分值 */
/
/ 先将当前文档标志拆分值
aeiObjects
.
getWork
().
setSplitValue
(
splitValues
.
get
(
0
));
aeiObjects
.
getWork
().
getSplitValueList
().
add
(
splitValues
.
get
(
0
));
results
.
add
(
aeiObjects
.
getWork
());
WorkLog
main
WorkLog
=
aeiObjects
.
getWorkLogs
().
stream
()
Optional
<
WorkLog
>
optional
WorkLog
=
aeiObjects
.
getWorkLogs
().
stream
()
.
filter
(
o
->
StringUtils
.
equals
(
aeiObjects
.
getWork
().
getActivityToken
(),
o
.
getFromActivityToken
()))
.
findFirst
().
orElse
(
null
);
.
findFirst
();
if
(
optionalWorkLog
.
isPresent
())
{
WorkLog
mainWorkLog
=
optionalWorkLog
.
get
();
mainWorkLog
.
setSplitting
(
true
);
mainWorkLog
.
setSplitToken
(
aeiObjects
.
getWork
().
getSplitToken
());
mainWorkLog
.
getProperties
().
getSplitTokenList
().
add
(
aeiObjects
.
getWork
().
getSplitToken
());
mainWorkLog
.
setSplitValue
(
splitValues
.
get
(
0
));
mainWorkLog
.
getProperties
().
getSplitValueList
().
add
(
aeiObjects
.
getWork
().
getSplitValue
());
aeiObjects
.
getUpdateWorkLogs
().
add
(
mainWorkLog
);
/* 产生后续的拆分文档并标记拆分值 */
// 产生后续的拆分文档并标记拆分值
for
(
int
i
=
1
;
i
<
splitValues
.
size
();
i
++)
{
// 将文档存放在一起
Work
splitWork
=
new
Work
(
aeiObjects
.
getWork
());
/* 将文档存放在一起 */
// 替work换拆分值
splitWork
.
setSplitValue
(
splitValues
.
get
(
i
));
ListTools
.
set
(
splitWork
.
getSplitValueList
(),
-
1
,
splitValues
.
get
(
i
));
aeiObjects
.
getCreateWorks
().
add
(
splitWork
);
WorkLog
splitWorkLog
=
new
WorkLog
(
mainWorkLog
);
splitWorkLog
.
setSplitWork
(
aeiObjects
.
getWork
().
getId
());
splitWorkLog
.
setWork
(
splitWork
.
getId
());
// 替workLog换拆分值
splitWorkLog
.
setSplitValue
(
splitValues
.
get
(
i
));
ListTools
.
set
(
splitWorkLog
.
getProperties
().
getSplitValueList
(),
-
1
,
splitValues
.
get
(
i
));
aeiObjects
.
getCreateWorkLogs
().
add
(
splitWorkLog
);
results
.
add
(
splitWork
);
}
}
return
results
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录