Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ghsby
o2oa
提交
f50fcad0
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,发现更多精彩内容 >>
提交
f50fcad0
编写于
6月 30, 2022
作者:
Z
zhourui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix addSplit
上级
69c13b65
变更
45
展开全部
隐藏空白更改
内联
并排
Showing
45 changed file
with
663 addition
and
439 deletion
+663
-439
o2server/x_base_core_project/src/main/java/com/x/base/core/project/exception/ExceptionStorageMappingNotExist.java
...re/project/exception/ExceptionStorageMappingNotExist.java
+13
-0
o2server/x_console/src/main/java/com/x/server/console/server/application/ApplicationServerTools.java
...er/console/server/application/ApplicationServerTools.java
+2
-2
o2server/x_console/src/main/java/com/x/server/console/server/center/CenterServerTools.java
...com/x/server/console/server/center/CenterServerTools.java
+2
-2
o2server/x_console/src/main/java/com/x/server/console/server/web/WebServerTools.java
.../java/com/x/server/console/server/web/WebServerTools.java
+2
-2
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/factory/PersonFactory.java
...zation/assemble/authentication/factory/PersonFactory.java
+28
-25
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/Business.java
...java/com/x/processplatform/assemble/surface/Business.java
+6
-10
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/WorkLogFactory.java
...form/assemble/surface/factory/content/WorkLogFactory.java
+1
-1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/applicationdict/ApplicationDictAction.java
.../surface/jaxrs/applicationdict/ApplicationDictAction.java
+228
-102
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionAvailable.java
...rm/assemble/surface/jaxrs/attachment/ActionAvailable.java
+10
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompleted.java
...ttachment/ActionBatchDownloadWithWorkOrWorkCompleted.java
+37
-29
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompletedStream.java
...ent/ActionBatchDownloadWithWorkOrWorkCompletedStream.java
+6
-8
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeOrderNumber.java
...ble/surface/jaxrs/attachment/ActionChangeOrderNumber.java
+2
-4
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeSite.java
...m/assemble/surface/jaxrs/attachment/ActionChangeSite.java
+2
-3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWord.java
...rm/assemble/surface/jaxrs/attachment/ActionDocToWord.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java
.../jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWork.java
.../assemble/surface/jaxrs/attachment/ActionGetWithWork.java
+9
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkCompleted.java
.../surface/jaxrs/attachment/ActionGetWithWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkOrWorkCompleted.java
...ce/jaxrs/attachment/ActionGetWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionUploadWithUrl.java
...ssemble/surface/jaxrs/attachment/ActionUploadWithUrl.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/AttachmentAction.java
...m/assemble/surface/jaxrs/attachment/AttachmentAction.java
+82
-73
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java
...latform/assemble/surface/jaxrs/attachment/BaseAction.java
+5
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/V2UploadWorkOrWorkCompleted.java
...surface/jaxrs/attachment/V2UploadWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java
...e/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java
+48
-11
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/BaseAction.java
...ssplatform/assemble/surface/jaxrs/control/BaseAction.java
+1
-3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/documentversion/ActionListWithWorkOrWorkCompleted.java
...rs/documentversion/ActionListWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/documentversion/ActionListWithWorkOrWorkCompletedCategory.java
...entversion/ActionListWithWorkOrWorkCompletedCategory.java
+1
-3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ActionListWithWorkOrWorkCompleted.java
...surface/jaxrs/read/ActionListWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readcompleted/ActionListWithWorkOrWorkCompleted.java
...axrs/readcompleted/ActionListWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readrecord/ActionListWithWorkOrWorkCompleted.java
...e/jaxrs/readrecord/ActionListWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithJob.java
...form/assemble/surface/jaxrs/record/ActionListWithJob.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithJobPaging.java
...ssemble/surface/jaxrs/record/ActionListWithJobPaging.java
+7
-8
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithWorkOrWorkCompleted.java
...rface/jaxrs/record/ActionListWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithWorkOrWorkCompletedPaging.java
...jaxrs/record/ActionListWithWorkOrWorkCompletedPaging.java
+14
-13
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/review/ActionGetWithWorkOrWorkCompleted.java
...urface/jaxrs/review/ActionGetWithWorkOrWorkCompleted.java
+1
-3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionListPrev.java
...splatform/assemble/surface/jaxrs/task/ActionListPrev.java
+1
-1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/ActionListWithWorkOrWorkCompleted.java
...axrs/taskcompleted/ActionListWithWorkOrWorkCompleted.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/ActionReference.java
...assemble/surface/jaxrs/taskcompleted/ActionReference.java
+12
-7
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/BaseAction.java
...ocessplatform/assemble/surface/jaxrs/work/BaseAction.java
+1
-2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2AddSplit.java
...ocessplatform/assemble/surface/jaxrs/work/V2AddSplit.java
+72
-54
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/worklog/ActionListRollbackWithWorkOrWorkCompleted.java
...rs/worklog/ActionListRollbackWithWorkOrWorkCompleted.java
+8
-8
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/worklog/ActionListWithWorkOrWorkCompleted.java
...face/jaxrs/worklog/ActionListWithWorkOrWorkCompleted.java
+8
-2
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/util/WorkLogTree.java
...processplatform/core/entity/element/util/WorkLogTree.java
+17
-25
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/ActionAddSplit.java
...latform/service/processing/jaxrs/work/ActionAddSplit.java
+2
-1
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/V2AddSplit.java
...essplatform/service/processing/jaxrs/work/V2AddSplit.java
+20
-4
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/AbstractProcessor.java
...tform/service/processing/processor/AbstractProcessor.java
+2
-1
未找到文件。
o2server/x_base_core_project/src/main/java/com/x/base/core/project/exception/ExceptionStorageMappingNotExist.java
0 → 100644
浏览文件 @
f50fcad0
package
com.x.base.core.project.exception
;
public
class
ExceptionStorageMappingNotExist
extends
LanguagePromptException
{
private
static
final
long
serialVersionUID
=
-
7354813827434276962L
;
public
static
final
String
defaultMessage
=
"标识为:{}的存储不存在."
;
public
ExceptionStorageMappingNotExist
(
String
storage
)
{
super
(
defaultMessage
,
storage
);
}
}
o2server/x_console/src/main/java/com/x/server/console/server/application/ApplicationServerTools.java
浏览文件 @
f50fcad0
...
...
@@ -165,9 +165,9 @@ public class ApplicationServerTools extends JettySeverTools {
Server
server
=
new
Server
(
threadPool
);
server
.
setAttribute
(
"org.eclipse.jetty.server.Request.maxFormContentSize"
,
MAX_FORM_CONTENT_SIZE
);
if
(
BooleanUtils
.
isTrue
(
applicationServer
.
getSslEnable
()))
{
addHttpsConnector
(
server
,
applicationServer
.
getPort
(),
tru
e
);
addHttpsConnector
(
server
,
applicationServer
.
getPort
(),
fals
e
);
}
else
{
addHttpConnector
(
server
,
applicationServer
.
getPort
(),
tru
e
);
addHttpConnector
(
server
,
applicationServer
.
getPort
(),
fals
e
);
}
GzipHandler
gzipHandler
=
new
GzipHandler
();
gzipHandler
.
setHandler
(
handlers
);
...
...
o2server/x_console/src/main/java/com/x/server/console/server/center/CenterServerTools.java
浏览文件 @
f50fcad0
...
...
@@ -94,9 +94,9 @@ public class CenterServerTools extends JettySeverTools {
server
.
setAttribute
(
"org.eclipse.jetty.server.Request.maxFormContentSize"
,
MAX_FORM_CONTENT_SIZE
);
if
(
BooleanUtils
.
isTrue
(
centerServer
.
getSslEnable
()))
{
addHttpsConnector
(
server
,
centerServer
.
getPort
(),
tru
e
);
addHttpsConnector
(
server
,
centerServer
.
getPort
(),
fals
e
);
}
else
{
addHttpConnector
(
server
,
centerServer
.
getPort
(),
tru
e
);
addHttpConnector
(
server
,
centerServer
.
getPort
(),
fals
e
);
}
GzipHandler
gzipHandler
=
new
GzipHandler
();
...
...
o2server/x_console/src/main/java/com/x/server/console/server/web/WebServerTools.java
浏览文件 @
f50fcad0
...
...
@@ -125,9 +125,9 @@ public class WebServerTools extends JettySeverTools {
threadPool
.
setMaxThreads
(
THREAD_POOL_SIZE_MAX
);
Server
server
=
new
Server
(
threadPool
);
if
(
BooleanUtils
.
isTrue
(
webServer
.
getSslEnable
()))
{
addHttpsConnector
(
server
,
webServer
.
getPort
(),
tru
e
);
addHttpsConnector
(
server
,
webServer
.
getPort
(),
fals
e
);
}
else
{
addHttpConnector
(
server
,
webServer
.
getPort
(),
tru
e
);
addHttpConnector
(
server
,
webServer
.
getPort
(),
fals
e
);
}
GzipHandler
gzipHandler
=
new
GzipHandler
();
gzipHandler
.
setHandler
(
handlers
);
...
...
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/factory/PersonFactory.java
浏览文件 @
f50fcad0
...
...
@@ -43,7 +43,9 @@ public class PersonFactory extends AbstractFactory {
o
=
(
Person
)
optional
.
get
();
}
else
{
o
=
this
.
pickObject
(
flag
);
CacheManager
.
put
(
cache
,
cacheKey
,
o
);
if
(
null
!=
o
)
{
CacheManager
.
put
(
cache
,
cacheKey
,
o
);
}
}
return
o
;
}
...
...
@@ -88,8 +90,8 @@ public class PersonFactory extends AbstractFactory {
list
.
add
((
Person
)
optional
.
get
());
}
else
{
Person
o
=
this
.
pickObject
(
str
);
CacheManager
.
put
(
cache
,
cacheKey
,
o
);
if
(
null
!=
o
)
{
CacheManager
.
put
(
cache
,
cacheKey
,
o
);
list
.
add
(
o
);
}
}
...
...
@@ -121,22 +123,22 @@ public class PersonFactory extends AbstractFactory {
List
<
String
>
list
=
em
.
createQuery
(
cq
).
getResultList
().
stream
().
distinct
().
collect
(
Collectors
.
toList
());
if
(
list
.
size
()
==
1
)
{
return
list
.
get
(
0
);
}
else
if
(
list
.
size
()
>
1
){
String
temp
=
""
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
if
(
temp
.
equalsIgnoreCase
(
""
))
{
temp
=
list
.
get
(
i
);
}
else
{
temp
=
temp
+
","
+
list
.
get
(
i
);
}
}
return
temp
;
}
else
{
}
else
if
(
list
.
size
()
>
1
)
{
return
StringUtils
.
join
(
list
,
","
);
// String temp = "";
// for (int i = 0; i < list.size(); i++) {
// if (temp.equalsIgnoreCase("")) {
// temp = list.get(i);
// } else {
// temp = temp + "," + list.get(i);
// }
// }
// return temp;
}
else
{
return
null
;
}
}
public
String
getPersonIdWithQywxid
(
String
credential
)
throws
Exception
{
EntityManager
em
=
this
.
entityManagerContainer
().
get
(
Person
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
...
...
@@ -147,17 +149,18 @@ public class PersonFactory extends AbstractFactory {
List
<
String
>
list
=
em
.
createQuery
(
cq
).
getResultList
().
stream
().
distinct
().
collect
(
Collectors
.
toList
());
if
(
list
.
size
()
==
1
)
{
return
list
.
get
(
0
);
}
else
if
(
list
.
size
()
>
1
){
String
temp
=
""
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
if
(
temp
.
equalsIgnoreCase
(
""
))
{
temp
=
list
.
get
(
i
);
}
else
{
temp
=
temp
+
","
+
list
.
get
(
i
);
}
}
return
temp
;
}
else
{
}
else
if
(
list
.
size
()
>
1
)
{
return
StringUtils
.
join
(
list
,
","
);
// String temp = "";
// for (int i = 0; i < list.size(); i++) {
// if (temp.equalsIgnoreCase("")) {
// temp = list.get(i);
// } else {
// temp = temp + "," + list.get(i);
// }
// }
// return temp;
}
else
{
return
null
;
}
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/Business.java
浏览文件 @
f50fcad0
...
...
@@ -1028,8 +1028,8 @@ public class Business {
return
true
;
}
public
boolean
readableWithWorkOrWorkCompleted
(
EffectivePerson
effectivePerson
,
String
workOrWorkCompleted
,
PromptException
entityException
)
throws
Exception
{
public
boolean
readableWithWorkOrWorkCompleted
(
EffectivePerson
effectivePerson
,
String
workOrWorkCompleted
)
throws
Exception
{
if
(
effectivePerson
.
isManager
())
{
return
true
;
}
...
...
@@ -1065,11 +1065,7 @@ public class Business {
processId
=
work
.
getProcess
();
}
if
(
StringUtils
.
isEmpty
(
job
))
{
if
(
null
!=
entityException
)
{
throw
entityException
;
}
else
{
return
false
;
}
return
false
;
}
if
(
effectivePerson
.
isPerson
(
creatorPerson
))
{
return
true
;
...
...
@@ -1084,9 +1080,9 @@ public class Business {
effectivePerson
.
getDistinguishedName
(),
TaskCompleted
.
job_FIELDNAME
,
job
)
==
0
)
{
if
(
emc
.
countEqualAndEqual
(
ReadCompleted
.
class
,
ReadCompleted
.
person_FIELDNAME
,
effectivePerson
.
getDistinguishedName
(),
ReadCompleted
.
job_FIELDNAME
,
job
)
==
0
)
{
Application
a
pplication
=
application
().
pick
(
applicationId
);
Process
p
rocess
=
process
().
pick
(
processId
);
if
(
!
canManageApplicationOrProcess
(
effectivePerson
,
application
,
process
))
{
Application
a
=
application
().
pick
(
applicationId
);
Process
p
=
process
().
pick
(
processId
);
if
(
BooleanUtils
.
isFalse
(
canManageApplicationOrProcess
(
effectivePerson
,
a
,
p
)
))
{
return
false
;
}
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/WorkLogFactory.java
浏览文件 @
f50fcad0
...
...
@@ -148,7 +148,7 @@ public class WorkLogFactory extends AbstractFactory {
// }
public
List
<
String
>
listWithFromActivityTokenForward
(
String
activityToken
)
throws
Exception
{
List
<
String
>
results
=
SetUniqueList
.
setUniqueList
(
new
ArrayList
<
String
>());
List
<
String
>
results
=
SetUniqueList
.
setUniqueList
(
new
ArrayList
<>());
this
.
listWithFromActivityTokenForward
(
activityToken
,
results
);
return
results
;
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/applicationdict/ApplicationDictAction.java
浏览文件 @
f50fcad0
此差异已折叠。
点击以展开。
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionAvailable.java
浏览文件 @
f50fcad0
...
...
@@ -4,6 +4,7 @@ import com.x.base.core.container.EntityManagerContainer;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
import
com.x.base.core.project.config.StorageMapping
;
import
com.x.base.core.project.exception.ExceptionEntityNotExist
;
import
com.x.base.core.project.exception.ExceptionStorageMappingNotExist
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.jaxrs.WrapBoolean
;
...
...
@@ -12,6 +13,8 @@ import com.x.base.core.project.logger.LoggerFactory;
import
com.x.processplatform.assemble.surface.ThisApplication
;
import
com.x.processplatform.core.entity.content.Attachment
;
import
io.swagger.v3.oas.annotations.media.Schema
;
class
ActionAvailable
extends
BaseAction
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ActionAvailable
.
class
);
...
...
@@ -19,21 +22,26 @@ class ActionAvailable extends BaseAction {
ActionResult
<
Wo
>
execute
(
EffectivePerson
effectivePerson
,
String
id
)
throws
Exception
{
LOGGER
.
debug
(
"execute:{}, id:{}."
,
effectivePerson:
:
getDistinguishedName
,
()
->
id
);
ActionResult
<
Wo
>
result
=
new
ActionResult
<>();
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
ActionResult
<
Wo
>
result
=
new
ActionResult
<>();
Attachment
o
=
emc
.
find
(
id
,
Attachment
.
class
);
if
(
null
==
o
)
{
throw
new
ExceptionEntityNotExist
(
id
,
Attachment
.
class
);
}
StorageMapping
mapping
=
ThisApplication
.
context
().
storageMappings
().
get
(
Attachment
.
class
,
o
.
getStorage
());
if
(
null
==
mapping
)
{
throw
new
ExceptionStorageMappingNotExist
(
o
.
getStorage
());
}
Boolean
exist
=
o
.
existContent
(
mapping
);
Wo
wo
=
new
Wo
();
wo
.
setValue
(
exist
);
result
.
setData
(
wo
);
return
result
;
}
return
result
;
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.attachment.ActionAvailable$Wo"
)
public
static
class
Wo
extends
WrapBoolean
{
private
static
final
long
serialVersionUID
=
-
3000199187660647510L
;
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -10,11 +10,13 @@ import java.util.Map;
import
org.apache.commons.io.FilenameUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.tuple.Pair
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
import
com.x.base.core.project.config.StorageMapping
;
import
com.x.base.core.project.exception.ExceptionAccessDenied
;
import
com.x.base.core.project.exception.ExceptionEntityExist
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.jaxrs.WoFile
;
...
...
@@ -28,40 +30,22 @@ import com.x.processplatform.core.entity.content.Attachment;
import
com.x.processplatform.core.entity.content.Work
;
import
com.x.processplatform.core.entity.content.WorkCompleted
;
class
ActionBatchDownloadWithWorkOrWorkCompleted
extends
BaseAction
{
private
static
final
String
SITE_SEPARATOR
=
"~"
;
import
io.swagger.v3.oas.annotations.media.Schema
;
private
static
final
String
FILE_SEPARATOR
=
","
;
class
ActionBatchDownloadWithWorkOrWorkCompleted
extends
BaseAction
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ActionBatchDownloadWithWorkOrWorkCompleted
.
class
);
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ActionBatchDownloadWithWorkOrWorkCompleted
.
class
);
ActionResult
<
Wo
>
execute
(
EffectivePerson
effectivePerson
,
String
workId
,
String
site
,
String
fileName
,
String
flag
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
ActionResult
<
Wo
>
result
=
new
ActionResult
<>();
Business
business
=
new
Business
(
emc
);
String
title
=
""
;
String
job
=
""
;
Work
work
=
emc
.
fetch
(
workId
,
Work
.
class
);
if
(
work
==
null
)
{
WorkCompleted
workCompleted
=
emc
.
fetch
(
workId
,
WorkCompleted
.
class
);
if
(
null
==
workCompleted
)
{
throw
new
Exception
(
"workId: "
+
workId
+
" not exist in work or workCompleted"
);
}
if
(!
business
.
readable
(
effectivePerson
,
workCompleted
))
{
throw
new
ExceptionWorkCompletedAccessDenied
(
effectivePerson
.
getDistinguishedName
(),
workCompleted
.
getTitle
(),
workCompleted
.
getId
());
}
title
=
workCompleted
.
getTitle
();
job
=
workCompleted
.
getJob
();
}
else
{
if
(!
business
.
readable
(
effectivePerson
,
work
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
,
work
);
}
title
=
work
.
getTitle
();
job
=
work
.
getJob
();
}
Pair
<
String
,
String
>
pair
=
getTitleAndJob
(
effectivePerson
,
business
,
workId
,
emc
,
work
);
String
title
=
pair
.
getLeft
();
String
job
=
pair
.
getRight
();
List
<
Attachment
>
attachmentList
;
if
(
StringUtils
.
isBlank
(
site
)
||
EMPTY_SYMBOL
.
equals
(
site
))
{
attachmentList
=
business
.
attachment
().
listWithJobObject
(
job
);
...
...
@@ -82,7 +66,7 @@ class ActionBatchDownloadWithWorkOrWorkCompleted extends BaseAction {
}
}
if
(
StringUtils
.
isBlank
(
fileName
))
{
if
(
title
.
length
()>
60
)
{
if
(
title
.
length
()
>
60
)
{
title
=
title
.
substring
(
0
,
60
);
}
fileName
=
title
+
DateTools
.
format
(
new
Date
(),
DateTools
.
formatCompact_yyyyMMddHHmmss
)
+
".zip"
;
...
...
@@ -97,8 +81,9 @@ class ActionBatchDownloadWithWorkOrWorkCompleted extends BaseAction {
this
.
assembleFile
(
business
,
map
,
flag
);
fileName
=
StringUtils
.
replaceEach
(
fileName
,
new
String
[]
{
"/"
,
":"
,
"*"
,
"?"
,
"<<"
,
">>"
,
"|"
,
"<"
,
">"
,
"\\"
},
new
String
[]
{
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
});
logger
.
info
(
"batchDown to {},att size {}, from work {}"
,
fileName
,
attachmentList
.
size
(),
workId
);
new
String
[]
{
"/"
,
":"
,
"*"
,
"?"
,
"<<"
,
">>"
,
"|"
,
"<"
,
">"
,
"\\"
},
new
String
[]
{
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
});
LOGGER
.
info
(
"batchDown to {},att size {}, from work {}"
,
fileName
,
attachmentList
.
size
(),
workId
);
try
(
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
())
{
business
.
downToZip
(
readableAttachmentList
,
os
,
map
);
byte
[]
bs
=
os
.
toByteArray
();
...
...
@@ -110,12 +95,32 @@ class ActionBatchDownloadWithWorkOrWorkCompleted extends BaseAction {
}
}
private
Pair
<
String
,
String
>
getTitleAndJob
(
EffectivePerson
effectivePerson
,
Business
business
,
String
workId
,
EntityManagerContainer
emc
,
Work
work
)
throws
Exception
{
if
(
work
!=
null
)
{
if
(!
business
.
readable
(
effectivePerson
,
work
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
,
work
);
}
return
Pair
.
of
(
work
.
getTitle
(),
work
.
getJob
());
}
else
{
WorkCompleted
workCompleted
=
emc
.
fetch
(
workId
,
WorkCompleted
.
class
);
if
(
null
==
workCompleted
)
{
throw
new
ExceptionEntityExist
(
workId
);
}
if
(!
business
.
readable
(
effectivePerson
,
workCompleted
))
{
throw
new
ExceptionWorkCompletedAccessDenied
(
effectivePerson
.
getDistinguishedName
(),
workCompleted
.
getTitle
(),
workCompleted
.
getId
());
}
return
Pair
.
of
(
workCompleted
.
getTitle
(),
workCompleted
.
getJob
());
}
}
private
void
assembleFile
(
Business
business
,
Map
<
String
,
byte
[]>
map
,
String
files
)
throws
Exception
{
EntityManagerContainer
emc
=
business
.
entityManagerContainer
();
if
(
StringUtils
.
isNotEmpty
(
files
))
{
String
[]
flagList
=
files
.
split
(
FILE_SEPARATOR
);
for
(
String
flag
:
flagList
)
{
if
(
StringUtils
.
isNotBlank
(
flag
))
{
if
(
StringUtils
.
isNotBlank
(
flag
))
{
GeneralFile
generalFile
=
emc
.
find
(
flag
.
trim
(),
GeneralFile
.
class
);
if
(
generalFile
!=
null
)
{
StorageMapping
gfMapping
=
ThisApplication
.
context
().
storageMappings
().
get
(
GeneralFile
.
class
,
...
...
@@ -132,8 +137,11 @@ class ActionBatchDownloadWithWorkOrWorkCompleted extends BaseAction {
}
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.attachment.ActionBatchDownloadWithWorkOrWorkCompleted$Wo"
)
public
static
class
Wo
extends
WoFile
{
private
static
final
long
serialVersionUID
=
-
4350231304623811352L
;
public
Wo
(
byte
[]
bytes
,
String
contentType
,
String
contentDisposition
)
{
super
(
bytes
,
contentType
,
contentDisposition
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompletedStream.java
浏览文件 @
f50fcad0
...
...
@@ -15,6 +15,7 @@ import com.x.base.core.container.EntityManagerContainer;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
import
com.x.base.core.project.config.StorageMapping
;
import
com.x.base.core.project.exception.ExceptionAccessDenied
;
import
com.x.base.core.project.exception.ExceptionEntityExist
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.jaxrs.WoFile
;
...
...
@@ -30,10 +31,6 @@ import com.x.processplatform.core.entity.content.WorkCompleted;
class
ActionBatchDownloadWithWorkOrWorkCompletedStream
extends
BaseAction
{
private
static
final
String
SITE_SEPARATOR
=
"~"
;
private
static
final
String
FILE_SEPARATOR
=
","
;
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ActionBatchDownloadWithWorkOrWorkCompletedStream
.
class
);
ActionResult
<
Wo
>
execute
(
EffectivePerson
effectivePerson
,
String
workId
,
String
site
,
String
fileName
,
String
flag
)
...
...
@@ -47,7 +44,7 @@ class ActionBatchDownloadWithWorkOrWorkCompletedStream extends BaseAction {
if
(
work
==
null
)
{
WorkCompleted
workCompleted
=
emc
.
find
(
workId
,
WorkCompleted
.
class
);
if
(
null
==
workCompleted
)
{
throw
new
Exception
(
"workId: "
+
workId
+
" not exist in work or workCompleted"
);
throw
new
Exception
EntityExist
(
workId
);
}
if
(!
business
.
readable
(
effectivePerson
,
workCompleted
))
{
throw
new
ExceptionWorkCompletedAccessDenied
(
effectivePerson
.
getDistinguishedName
(),
...
...
@@ -82,7 +79,7 @@ class ActionBatchDownloadWithWorkOrWorkCompletedStream extends BaseAction {
}
}
if
(
StringUtils
.
isBlank
(
fileName
))
{
if
(
title
.
length
()>
60
)
{
if
(
title
.
length
()
>
60
)
{
title
=
title
.
substring
(
0
,
60
);
}
fileName
=
title
+
DateTools
.
format
(
new
Date
(),
DateTools
.
formatCompact_yyyyMMddHHmmss
)
+
".zip"
;
...
...
@@ -97,7 +94,8 @@ class ActionBatchDownloadWithWorkOrWorkCompletedStream extends BaseAction {
this
.
assembleFile
(
business
,
map
,
flag
);
fileName
=
StringUtils
.
replaceEach
(
fileName
,
new
String
[]
{
"/"
,
":"
,
"*"
,
"?"
,
"<<"
,
">>"
,
"|"
,
"<"
,
">"
,
"\\"
},
new
String
[]
{
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
});
new
String
[]
{
"/"
,
":"
,
"*"
,
"?"
,
"<<"
,
">>"
,
"|"
,
"<"
,
">"
,
"\\"
},
new
String
[]
{
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
});
logger
.
info
(
"batchDown to {},att size {}, from work {}, has form {}"
,
fileName
,
attachmentList
.
size
(),
workId
,
map
.
size
());
try
(
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
())
{
...
...
@@ -116,7 +114,7 @@ class ActionBatchDownloadWithWorkOrWorkCompletedStream extends BaseAction {
if
(
StringUtils
.
isNotEmpty
(
files
))
{
String
[]
flagList
=
files
.
split
(
FILE_SEPARATOR
);
for
(
String
flag
:
flagList
)
{
if
(
StringUtils
.
isNotBlank
(
flag
))
{
if
(
StringUtils
.
isNotBlank
(
flag
))
{
GeneralFile
generalFile
=
emc
.
find
(
flag
.
trim
(),
GeneralFile
.
class
);
if
(
generalFile
!=
null
)
{
StorageMapping
gfMapping
=
ThisApplication
.
context
().
storageMappings
().
get
(
GeneralFile
.
class
,
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeOrderNumber.java
浏览文件 @
f50fcad0
package
com.x.processplatform.assemble.surface.jaxrs.attachment
;
import
java.util.List
;
import
com.x.base.core.container.EntityManagerContainer
;
...
...
@@ -30,14 +29,13 @@ class ActionChangeOrderNumber extends BaseAction {
if
(
null
==
attachment
)
{
throw
new
ExceptionEntityNotExist
(
id
,
Attachment
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workId
,
new
ExceptionEntityNotExist
(
workId
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workId
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
List
<
String
>
identities
=
business
.
organization
().
identity
().
listWithPerson
(
effectivePerson
);
List
<
String
>
units
=
business
.
organization
().
unit
().
listWithPerson
(
effectivePerson
);
boolean
canEdit
=
this
.
edit
(
attachment
,
effectivePerson
,
identities
,
units
,
business
);
if
(!
canEdit
)
{
if
(!
canEdit
)
{
throw
new
ExceptionAccessDenied
(
effectivePerson
,
attachment
);
}
emc
.
beginTransaction
(
Attachment
.
class
);
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeSite.java
浏览文件 @
f50fcad0
...
...
@@ -23,15 +23,14 @@ class ActionChangeSite extends BaseAction {
throw
new
ExceptionEntityNotExist
(
id
,
Attachment
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workId
,
new
ExceptionEntityNotExist
(
workId
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workId
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
List
<
String
>
identities
=
business
.
organization
().
identity
().
listWithPerson
(
effectivePerson
);
List
<
String
>
units
=
business
.
organization
().
unit
().
listWithPerson
(
effectivePerson
);
boolean
canEdit
=
this
.
edit
(
attachment
,
effectivePerson
,
identities
,
units
,
business
);
if
(!
canEdit
)
{
if
(!
canEdit
)
{
throw
new
ExceptionAccessDenied
(
effectivePerson
,
attachment
);
}
emc
.
beginTransaction
(
Attachment
.
class
);
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWord.java
浏览文件 @
f50fcad0
...
...
@@ -58,8 +58,7 @@ class ActionDocToWord extends BaseAction {
if
(
null
==
work
)
{
throw
new
ExceptionEntityNotExist
(
workId
,
Work
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
work
.
getId
(),
new
ExceptionEntityNotExist
(
work
.
getId
())))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
work
.
getId
()))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -69,8 +69,7 @@ class ActionDocToWordWorkOrWorkCompleted extends BaseAction {
if
((
null
==
work
)
&&
(
null
==
workCompleted
))
{
throw
new
ExceptionEntityNotExist
(
workOrWorkCompleted
,
Work
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWork.java
浏览文件 @
f50fcad0
...
...
@@ -12,13 +12,21 @@ import com.x.base.core.project.exception.ExceptionEntityNotExist;
import
com.x.base.core.project.gson.GsonPropertyObject
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
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.surface.Business
;
import
com.x.processplatform.core.entity.content.Attachment
;
import
com.x.processplatform.core.entity.content.Work
;
class
ActionGetWithWork
extends
BaseAction
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ActionGetWithWork
.
class
);
ActionResult
<
Wo
>
execute
(
EffectivePerson
effectivePerson
,
String
id
,
String
workId
)
throws
Exception
{
LOGGER
.
debug
(
"execute:{}, id:{}, workId:{}."
,
effectivePerson:
:
getDistinguishedName
,
()
->
id
,
()
->
workId
);
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
ActionResult
<
Wo
>
result
=
new
ActionResult
<>();
Business
business
=
new
Business
(
emc
);
...
...
@@ -31,8 +39,7 @@ class ActionGetWithWork extends BaseAction {
throw
new
ExceptionEntityNotExist
(
id
,
Attachment
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
work
.
getId
(),
new
ExceptionEntityNotExist
(
work
.
getId
())))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
work
.
getId
()))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -31,8 +31,7 @@ class ActionGetWithWorkCompleted extends BaseAction {
throw
new
ExceptionEntityNotExist
(
id
,
Attachment
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workCompleted
.
getId
(),
new
ExceptionEntityNotExist
(
workCompleted
.
getId
())))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workCompleted
.
getId
()))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -26,8 +26,7 @@ class ActionGetWithWorkOrWorkCompleted extends BaseAction {
throw
new
ExceptionEntityNotExist
(
id
,
Attachment
.
class
);
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workId
,
new
ExceptionEntityNotExist
(
workId
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workId
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionUploadWithUrl.java
浏览文件 @
f50fcad0
...
...
@@ -55,8 +55,7 @@ class ActionUploadWithUrl extends BaseAction {
if
(
StringUtils
.
isEmpty
(
wi
.
getSite
())){
throw
new
ExceptionEntityFieldEmpty
(
Attachment
.
class
,
wi
.
getSite
());
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
wi
.
getWorkId
(),
new
ExceptionEntityNotExist
(
wi
.
getWorkId
())))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
wi
.
getWorkId
()))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
,
wi
.
getWorkId
());
}
String
person
=
effectivePerson
.
getDistinguishedName
();
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/AttachmentAction.java
浏览文件 @
f50fcad0
此差异已折叠。
点击以展开。
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java
浏览文件 @
f50fcad0
...
...
@@ -38,6 +38,10 @@ abstract class BaseAction extends StandardJaxrsAction {
protected
static
final
String
OFD_ATT_KEY
=
".ofd"
;
protected
static
final
String
SITE_SEPARATOR
=
"~"
;
protected
static
final
String
FILE_SEPARATOR
=
","
;
public
static
class
WiExtraParam
{
private
String
site
;
...
...
@@ -288,8 +292,7 @@ abstract class BaseAction extends StandardJaxrsAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/V2UploadWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -194,8 +194,7 @@ class V2UploadWorkOrWorkCompleted extends BaseAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
package
com.x.processplatform.assemble.surface.jaxrs.control
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.CompletableFuture
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -136,20 +139,54 @@ class ActionGetWorkOrWorkCompleted extends BaseAction {
if
(
BooleanUtils
.
isTrue
(
PropertyTools
.
getOrElse
(
activity
,
Manual
.
allowAddSplit_FIELDNAME
,
Boolean
.
class
,
false
))
&&
BooleanUtils
.
isTrue
(
work
.
getSplitting
()))
{
Node
node
=
this
.
workLogTree
(
business
,
work
.
getJob
()).
location
(
work
);
if
(
null
!=
node
)
{
Nodes
ups
=
node
.
upTo
(
ActivityType
.
manual
,
ActivityType
.
agent
,
ActivityType
.
choice
,
ActivityType
.
delay
,
ActivityType
.
embed
,
ActivityType
.
invoke
,
ActivityType
.
parallel
,
ActivityType
.
split
);
System
.
out
.
println
(
"!!!!!!!!!!!!!!!!!!!!!!!!!!"
);
System
.
out
.
println
(
gson
.
toJson
(
ups
));
System
.
out
.
println
(
"!!!!!!!!!!!!!!!!!!!!!!!!!!"
);
for
(
Node
o
:
ups
)
{
if
(
this
.
hasTaskCompletedWithActivityToken
(
business
,
effectivePerson
,
o
.
getWorkLog
().
getFromActivityToken
()))
{
wo
.
setAllowAddSplit
(
true
);
break
;
Nodes
nodes
=
new
Nodes
();
nodes
.
add
(
node
);
for
(
int
i
=
0
;
i
<
work
.
getSplitTokenList
().
size
();
i
++)
{
List
<
Node
>
temps
=
new
ArrayList
<>();
for
(
Node
n
:
nodes
)
{
Nodes
ups
=
n
.
upTo
(
ActivityType
.
split
);
temps
.
addAll
(
ups
);
for
(
Node
u
:
ups
)
{
Nodes
manuals
=
u
.
upTo
(
ActivityType
.
manual
);
for
(
Node
m
:
manuals
)
{
if
(
this
.
hasTaskCompletedWithActivityToken
(
business
,
effectivePerson
,
m
.
getWorkLog
().
getFromActivityToken
()))
{
wo
.
setAllowAddSplit
(
true
);
break
;
}
}
}
}
nodes
.
clear
();
nodes
.
addAll
(
temps
);
}
// if (null != node) {
// Nodes ups = node.upTo(ActivityType.split,
// Arrays.asList(ActivityType.manual, ActivityType.agent, ActivityType.choice, ActivityType.delay,
// ActivityType.embed, ActivityType.invoke, ActivityType.parallel));
// for (Node o : ups) {
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!111");
// System.out.println(o.getWorkLog().getFromActivityName());
// System.out.println(
// o.getWorkLog().getFromActivityToken() + "->" + o.getWorkLog().getArrivedActivityName());
// System.out.println(o.getWorkLog().getWork());
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!111");
// }
// for (Node o : ups) {
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!222");
// System.out.println(
// o.getWorkLog().getFromActivityToken() + "->" + o.getWorkLog().getArrivedActivityName());
// System.out.println(o.getWorkLog().getFromActivityToken());
// System.out.println(o.getWorkLog().getWork());
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!222");
// if (this.hasTaskCompletedWithActivityToken(business, effectivePerson,
// o.getWorkLog().getFromActivityToken())) {
// wo.setAllowAddSplit(true);
// break;
// }
// }
// }
}
// 是否可以召回
if
(
BooleanUtils
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/BaseAction.java
浏览文件 @
f50fcad0
...
...
@@ -4,7 +4,6 @@ import java.util.concurrent.CompletableFuture;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
import
com.x.base.core.project.exception.ExceptionEntityNotExist
;
import
com.x.base.core.project.gson.GsonPropertyObject
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.jaxrs.StandardJaxrsAction
;
...
...
@@ -168,8 +167,7 @@ abstract class BaseAction extends StandardJaxrsAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/documentversion/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -28,8 +28,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/documentversion/ActionListWithWorkOrWorkCompletedCategory.java
浏览文件 @
f50fcad0
...
...
@@ -10,7 +10,6 @@ import com.x.base.core.entity.JpaObject;
import
com.x.base.core.project.bean.WrapCopier
;
import
com.x.base.core.project.bean.WrapCopierFactory
;
import
com.x.base.core.project.exception.ExceptionAccessDenied
;
import
com.x.base.core.project.exception.ExceptionEntityNotExist
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.logger.Logger
;
...
...
@@ -29,8 +28,7 @@ class ActionListWithWorkOrWorkCompletedCategory extends BaseAction {
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -29,8 +29,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readcompleted/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -28,8 +28,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readrecord/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -92,8 +92,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithJob.java
浏览文件 @
f50fcad0
...
...
@@ -43,8 +43,7 @@ class ActionListWithJob extends BaseAction {
}
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithJobPaging.java
浏览文件 @
f50fcad0
...
...
@@ -24,8 +24,8 @@ class ActionListWithJobPaging extends BaseAction {
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ActionListWithJobPaging
.
class
);
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
job
,
Integer
page
,
Integer
size
)
throws
Exception
{
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
job
,
Integer
page
,
Integer
size
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
...
...
@@ -33,19 +33,18 @@ class ActionListWithJobPaging extends BaseAction {
String
workOrWorkCompleted
=
""
;
List
<
String
>
works
=
business
.
work
().
listWithJob
(
job
);
if
(
ListTools
.
isNotEmpty
(
works
))
{
if
(
ListTools
.
isNotEmpty
(
works
))
{
workOrWorkCompleted
=
works
.
get
(
0
);
}
else
{
}
else
{
works
=
business
.
workCompleted
().
listWithJob
(
job
);
if
(
ListTools
.
isNotEmpty
(
works
))
{
if
(
ListTools
.
isNotEmpty
(
works
))
{
workOrWorkCompleted
=
works
.
get
(
0
);
}
else
{
}
else
{
throw
new
ExceptionEntityNotExist
(
job
);
}
}
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -84,8 +84,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/record/ActionListWithWorkOrWorkCompletedPaging.java
浏览文件 @
f50fcad0
...
...
@@ -16,7 +16,6 @@ import com.x.base.core.project.bean.WrapCopier;
import
com.x.base.core.project.bean.WrapCopierFactory
;
import
com.x.base.core.project.config.Config
;
import
com.x.base.core.project.exception.ExceptionAccessDenied
;
import
com.x.base.core.project.exception.ExceptionEntityNotExist
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.logger.Logger
;
...
...
@@ -28,18 +27,22 @@ import com.x.processplatform.core.entity.content.Record;
import
com.x.processplatform.core.entity.content.Task
;
import
com.x.processplatform.core.entity.content.WorkCompleted
;
import
io.swagger.v3.oas.annotations.media.Schema
;
class
ActionListWithWorkOrWorkCompletedPaging
extends
BaseAction
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ActionListWithWorkOrWorkCompletedPaging
.
class
);
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ActionListWithWorkOrWorkCompletedPaging
.
class
);
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
workOrWorkCompleted
,
Integer
page
,
Integer
size
)
throws
Exception
{
LOGGER
.
debug
(
"execute:{}, workOrWorkCompleted:{}, page:{}, size:{}."
,
effectivePerson:
:
getDistinguishedName
,
()
->
workOrWorkCompleted
,
()
->
page
,
()
->
size
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
CompletableFuture
<
List
<
Wo
>>
listFuture
=
this
.
listFuture
(
workOrWorkCompleted
,
page
,
size
);
CompletableFuture
<
Boolean
>
checkControlFuture
=
this
.
checkControlFuture
(
effectivePerson
,
workOrWorkCompleted
);
CompletableFuture
<
Boolean
>
checkControlFuture
=
this
.
checkControlFuture
(
effectivePerson
,
workOrWorkCompleted
);
if
(
BooleanUtils
.
isFalse
(
checkControlFuture
.
get
(
Config
.
processPlatform
().
getAsynchronousTimeout
(),
TimeUnit
.
SECONDS
)))
{
...
...
@@ -74,13 +77,11 @@ class ActionListWithWorkOrWorkCompletedPaging extends BaseAction {
Record
.
order_FIELDNAME
);
}
}
for
(
Task
task
:
emc
.
listEqual
(
Task
.
class
,
Task
.
job_FIELDNAME
,
job
).
stream
()
.
sorted
(
Comparator
.
comparing
(
Task:
:
getStartTime
)).
collect
(
Collectors
.
toList
()))
{
wos
.
add
(
Wo
.
copier
.
copy
(
this
.
taskToRecord
(
task
)));
}
wos
=
emc
.
listEqual
(
Task
.
class
,
Task
.
job_FIELDNAME
,
job
).
stream
()
.
sorted
(
Comparator
.
comparing
(
Task:
:
getStartTime
,
Comparator
.
naturalOrder
()))
.
map
(
o
->
Wo
.
copier
.
copy
(
taskToRecord
(
o
))).
collect
(
Collectors
.
toList
());
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
LOGGER
.
error
(
e
);
}
return
wos
;
},
ThisApplication
.
threadPool
());
...
...
@@ -91,10 +92,9 @@ class ActionListWithWorkOrWorkCompletedPaging extends BaseAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
LOGGER
.
error
(
e
);
}
return
value
;
},
ThisApplication
.
threadPool
());
...
...
@@ -116,6 +116,7 @@ class ActionListWithWorkOrWorkCompletedPaging extends BaseAction {
return
o
;
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.record.ActionListWithWorkOrWorkCompletedPaging$Wo"
)
public
static
class
Wo
extends
Record
{
private
static
final
long
serialVersionUID
=
-
7666329770246726197L
;
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/review/ActionGetWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -8,7 +8,6 @@ import com.x.base.core.entity.JpaObject;
import
com.x.base.core.project.bean.WrapCopier
;
import
com.x.base.core.project.bean.WrapCopierFactory
;
import
com.x.base.core.project.exception.ExceptionAccessDenied
;
import
com.x.base.core.project.exception.ExceptionEntityNotExist
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.processplatform.assemble.surface.Business
;
...
...
@@ -20,8 +19,7 @@ class ActionGetWithWorkOrWorkCompleted extends BaseAction {
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
ActionResult
<
Wo
>
result
=
new
ActionResult
<>();
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
String
job
=
business
.
job
().
findWithWorkOrWorkCompleted
(
workOrWorkCompleted
);
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionListPrev.java
浏览文件 @
f50fcad0
...
...
@@ -23,7 +23,7 @@ class ActionListPrev extends BaseAction {
LOGGER
.
debug
(
"execute:{}, id:{}, count:{}."
,
effectivePerson:
:
getDistinguishedName
,
()
->
id
,
()
->
count
);
EqualsTerms
equals
=
new
EqualsTerms
();
equals
.
put
(
Task
.
person_FIELDNAME
,
effectivePerson
.
getDistinguishedName
());
return
this
.
standardListPrev
(
Wo
.
copier
,
id
,
count
,
Task
.
sequence_FIELDNAME
,
equals
,
null
,
null
,
null
,
null
,
return
this
.
standardListPrev
(
Wo
.
copier
,
id
,
count
,
JpaObject
.
sequence_FIELDNAME
,
equals
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
true
,
DESC
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -28,8 +28,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/ActionReference.java
浏览文件 @
f50fcad0
...
...
@@ -12,7 +12,6 @@ import javax.persistence.criteria.CriteriaQuery;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
org.apache.commons.collections4.list.SetUniqueList
;
import
org.apache.commons.lang3.BooleanUtils
;
import
com.x.base.core.container.EntityManagerContainer
;
...
...
@@ -27,7 +26,6 @@ import com.x.base.core.project.http.ActionResult;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.ProcessingType
;
import
com.x.processplatform.core.entity.content.Task
;
import
com.x.processplatform.core.entity.content.TaskCompleted
;
import
com.x.processplatform.core.entity.content.Work
;
...
...
@@ -35,6 +33,8 @@ import com.x.processplatform.core.entity.content.WorkCompleted;
import
com.x.processplatform.core.entity.content.WorkCompleted_
;
import
com.x.processplatform.core.entity.content.WorkLog
;
import
io.swagger.v3.oas.annotations.media.Schema
;
class
ActionReference
extends
BaseAction
{
ActionResult
<
Wo
>
execute
(
EffectivePerson
effectivePerson
,
String
id
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
...
...
@@ -115,12 +115,14 @@ class ActionReference extends BaseAction {
wo
.
setTaskCompletedList
(
WoTaskCompleted
.
copier
.
copy
(
os
));
}
// @TODO
private
List
<
WoWork
>
listWork
(
Business
business
,
TaskCompleted
taskCompleted
)
throws
Exception
{
List
<
String
>
ids
=
business
.
workLog
().
listWithFromActivityTokenForward
(
taskCompleted
.
getActivityToken
());
List
<
String
>
workIds
=
SetUniqueList
.
setUniqueList
(
new
ArrayList
<
String
>());
for
(
WorkLog
o
:
business
.
entityManagerContainer
().
list
(
WorkLog
.
class
,
ids
))
{
workIds
.
add
(
o
.
getWork
());
}
List
<
String
>
workIds
=
business
.
work
().
listWithJob
(
taskCompleted
.
getJob
());
// List<String> ids = business.workLog().listWithFromActivityTokenForward(taskCompleted.getActivityToken());
// List<String> workIds = SetUniqueList.setUniqueList(new ArrayList<String>());
// for (WorkLog o : business.entityManagerContainer().list(WorkLog.class, ids)) {
// workIds.add(o.getWork());
// }
return
WoWork
.
copier
.
copy
(
business
.
entityManagerContainer
().
list
(
Work
.
class
,
workIds
));
}
...
...
@@ -139,8 +141,11 @@ class ActionReference extends BaseAction {
return
wos
;
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.taskcompleted.ActionReference$Wo"
)
public
static
class
Wo
extends
GsonPropertyObject
{
private
static
final
long
serialVersionUID
=
6314327570968988398L
;
@FieldDescribe
(
"已办对象"
)
private
WoTaskCompleted
taskCompleted
;
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/BaseAction.java
浏览文件 @
f50fcad0
...
...
@@ -122,8 +122,7 @@ abstract class BaseAction extends StandardJaxrsAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
,
new
ExceptionEntityNotExist
(
flag
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
flag
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2AddSplit.java
浏览文件 @
f50fcad0
...
...
@@ -2,7 +2,6 @@ package com.x.processplatform.assemble.surface.jaxrs.work;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections4.ListUtils
;
import
org.apache.commons.lang3.BooleanUtils
;
...
...
@@ -16,7 +15,6 @@ import com.x.base.core.project.Applications;
import
com.x.base.core.project.x_processplatform_service_processing
;
import
com.x.base.core.project.bean.WrapCopier
;
import
com.x.base.core.project.bean.WrapCopierFactory
;
import
com.x.base.core.project.config.Config
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.jaxrs.WoId
;
...
...
@@ -26,14 +24,14 @@ 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.surface.Business
;
import
com.x.processplatform.assemble.surface.RecordBuilder
;
import
com.x.processplatform.assemble.surface.ThisApplication
;
import
com.x.processplatform.assemble.surface.WorkControl
;
import
com.x.processplatform.core.entity.content.Record
;
import
com.x.processplatform.core.entity.content.RecordProperties.NextManual
;
import
com.x.processplatform.core.entity.content.Task
;
import
com.x.processplatform.core.entity.content.TaskCompleted
;
import
com.x.processplatform.core.entity.content.Work
;
import
com.x.processplatform.core.entity.content.WorkLog
;
import
com.x.processplatform.core.entity.element.Activity
;
import
com.x.processplatform.core.entity.element.ActivityType
;
import
com.x.processplatform.core.entity.element.Manual
;
import
com.x.processplatform.core.entity.element.util.WorkLogTree
;
...
...
@@ -109,7 +107,8 @@ class V2AddSplit extends BaseAction {
List
<
String
>
ids
=
addSplit
();
processing
(
ids
);
record
();
concreteRecord
(
addSplitWorkLog
);
// record();
Wo
wo
=
Wo
.
copier
.
copy
(
rec
);
result
.
setData
(
wo
);
return
result
;
...
...
@@ -157,6 +156,9 @@ class V2AddSplit extends BaseAction {
}
private
void
processing
(
List
<
String
>
ids
)
throws
Exception
{
System
.
out
.
println
(
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2222"
);
System
.
out
.
println
(
gson
.
toJson
(
ids
));
System
.
out
.
println
(
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2222"
);
for
(
String
id
:
ids
)
{
ProcessingAttributes
processingAttributes
=
new
ProcessingAttributes
();
processingAttributes
.
setType
(
ProcessingAttributes
.
TYPE_ADDSPLIT
);
...
...
@@ -171,63 +173,79 @@ class V2AddSplit extends BaseAction {
}
}
private
void
record
()
throws
Exception
{
private
void
concreteRecord
(
WorkLog
workLog
)
throws
Exception
{
List
<
String
>
newlyTaskIds
=
new
ArrayList
<>();
Activity
activity
=
null
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
final
List
<
String
>
nextTaskIdentities
=
new
ArrayList
<>();
rec
=
new
Record
(
addSplitWorkLog
);
rec
.
setPerson
(
effectivePerson
.
getDistinguishedName
());
rec
.
setType
(
Record
.
TYPE_ADDSPLIT
);
rec
.
getProperties
().
setElapsed
(
Config
.
workTime
().
betweenMinutes
(
rec
.
getProperties
().
getStartTime
(),
rec
.
getRecordTime
()));
/* 需要记录处理人,先查看当前用户有没有之前处理过的信息,如果没有,取默认身份 */
TaskCompleted
existTaskCompleted
=
emc
.
firstEqualAndEqual
(
TaskCompleted
.
class
,
TaskCompleted
.
job_FIELDNAME
,
work
.
getJob
(),
TaskCompleted
.
person_FIELDNAME
,
effectivePerson
.
getDistinguishedName
());
rec
.
setPerson
(
effectivePerson
.
getDistinguishedName
());
if
(
null
!=
existTaskCompleted
)
{
rec
.
setIdentity
(
existTaskCompleted
.
getIdentity
());
rec
.
setUnit
(
existTaskCompleted
.
getUnit
());
}
else
{
rec
.
setIdentity
(
business
.
organization
().
identity
().
getMajorWithPerson
(
effectivePerson
.
getDistinguishedName
()));
rec
.
setUnit
(
business
.
organization
().
unit
().
getWithIdentity
(
rec
.
getIdentity
()));
}
List
<
String
>
ids
=
emc
.
idsEqual
(
Task
.
class
,
Task
.
job_FIELDNAME
,
work
.
getJob
());
ids
=
ListUtils
.
subtract
(
ids
,
existTaskIds
);
List
<
Task
>
list
=
emc
.
fetch
(
ids
,
Task
.
class
,
ListTools
.
toList
(
Task
.
identity_FIELDNAME
,
Task
.
job_FIELDNAME
,
Task
.
work_FIELDNAME
,
Task
.
activity_FIELDNAME
,
Task
.
activityAlias_FIELDNAME
,
Task
.
activityName_FIELDNAME
,
Task
.
activityToken_FIELDNAME
,
Task
.
activityType_FIELDNAME
,
Task
.
identity_FIELDNAME
));
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
Task:
:
getActivity
,
Collectors
.
toList
())).
entrySet
().
stream
()
.
forEach
(
o
->
{
Task
task
=
o
.
getValue
().
get
(
0
);
NextManual
nextManual
=
new
NextManual
();
nextManual
.
setActivity
(
task
.
getActivity
());
nextManual
.
setActivityAlias
(
task
.
getActivityAlias
());
nextManual
.
setActivityName
(
task
.
getActivityName
());
nextManual
.
setActivityToken
(
task
.
getActivityToken
());
nextManual
.
setActivityType
(
task
.
getActivityType
());
for
(
Task
t
:
o
.
getValue
())
{
nextManual
.
getTaskIdentityList
().
add
(
t
.
getIdentity
());
nextTaskIdentities
.
add
(
t
.
getIdentity
());
}
rec
.
getProperties
().
getNextManualList
().
add
(
nextManual
);
});
/* 去重 */
rec
.
getProperties
().
setNextManualTaskIdentityList
(
ListTools
.
trim
(
nextTaskIdentities
,
true
,
true
));
}
WoId
resp
=
ThisApplication
.
context
().
applications
()
.
postQuery
(
effectivePerson
.
getDebugger
(),
x_processplatform_service_processing
.
class
,
Applications
.
joinQueryUri
(
"record"
,
"job"
,
work
.
getJob
()),
rec
,
this
.
work
.
getJob
())
.
getData
(
WoId
.
class
);
if
(
StringUtils
.
isBlank
(
resp
.
getId
()))
{
throw
new
ExceptionRecord
(
this
.
work
.
getId
());
newlyTaskIds
=
emc
.
idsEqual
(
Task
.
class
,
Task
.
job_FIELDNAME
,
work
.
getJob
());
newlyTaskIds
=
ListUtils
.
subtract
(
newlyTaskIds
,
existTaskIds
);
activity
=
business
.
getActivity
(
workLog
.
getArrivedActivity
(),
workLog
.
getArrivedActivityType
());
}
this
.
rec
=
RecordBuilder
.
ofWorkProcessing
(
Record
.
TYPE_ADDSPLIT
,
workLog
,
effectivePerson
,
activity
,
newlyTaskIds
);
RecordBuilder
.
processing
(
rec
);
}
// private void record() throws Exception {
// try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
// Business business = new Business(emc);
// final List<String> nextTaskIdentities = new ArrayList<>();
// rec = new Record(addSplitWorkLog);
// rec.setPerson(effectivePerson.getDistinguishedName());
// rec.setType(Record.TYPE_ADDSPLIT);
// rec.getProperties().setElapsed(
// Config.workTime().betweenMinutes(rec.getProperties().getStartTime(), rec.getRecordTime()));
// /* 需要记录处理人,先查看当前用户有没有之前处理过的信息,如果没有,取默认身份 */
// TaskCompleted existTaskCompleted = emc.firstEqualAndEqual(TaskCompleted.class, TaskCompleted.job_FIELDNAME,
// work.getJob(), TaskCompleted.person_FIELDNAME, effectivePerson.getDistinguishedName());
// rec.setPerson(effectivePerson.getDistinguishedName());
// if (null != existTaskCompleted) {
// rec.setIdentity(existTaskCompleted.getIdentity());
// rec.setUnit(existTaskCompleted.getUnit());
// } else {
// rec.setIdentity(
// business.organization().identity().getMajorWithPerson(effectivePerson.getDistinguishedName()));
// rec.setUnit(business.organization().unit().getWithIdentity(rec.getIdentity()));
// }
// List<String> ids = emc.idsEqual(Task.class, Task.job_FIELDNAME, work.getJob());
// ids = ListUtils.subtract(ids, existTaskIds);
// List<Task> list = emc.fetch(ids, Task.class,
// ListTools.toList(Task.identity_FIELDNAME, Task.job_FIELDNAME, Task.work_FIELDNAME,
// Task.activity_FIELDNAME, Task.activityAlias_FIELDNAME, Task.activityName_FIELDNAME,
// Task.activityToken_FIELDNAME, Task.activityType_FIELDNAME, Task.identity_FIELDNAME));
// list.stream().collect(Collectors.groupingBy(Task::getActivity, Collectors.toList())).entrySet().stream()
// .forEach(o -> {
// Task task = o.getValue().get(0);
// NextManual nextManual = new NextManual();
// nextManual.setActivity(task.getActivity());
// nextManual.setActivityAlias(task.getActivityAlias());
// nextManual.setActivityName(task.getActivityName());
// nextManual.setActivityToken(task.getActivityToken());
// nextManual.setActivityType(task.getActivityType());
// for (Task t : o.getValue()) {
// nextManual.getTaskIdentityList().add(t.getIdentity());
// nextTaskIdentities.add(t.getIdentity());
// }
// rec.getProperties().getNextManualList().add(nextManual);
// });
// /* 去重 */
// rec.getProperties().setNextManualTaskIdentityList(ListTools.trim(nextTaskIdentities, true, true));
// }
// WoId resp = ThisApplication.context().applications()
// .postQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
// Applications.joinQueryUri("record", "job", work.getJob()), rec, this.work.getJob())
// .getData(WoId.class);
// if (StringUtils.isBlank(resp.getId())) {
// throw new ExceptionRecord(this.work.getId());
// }
// }
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.work.V2AddSplit$Wi"
)
public
static
class
Wi
extends
V2AddSplitWi
{
private
static
final
long
serialVersionUID
=
389793480955959857L
;
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.work.V2AddSplit$Wo"
)
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/worklog/ActionListRollbackWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -44,8 +44,7 @@ class ActionListRollbackWithWorkOrWorkCompleted extends BaseAction {
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
)))
{
if
(!
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
))
{
throw
new
ExceptionAccessDenied
(
effectivePerson
);
}
...
...
@@ -156,9 +155,9 @@ class ActionListRollbackWithWorkOrWorkCompleted extends BaseAction {
private
static
final
long
serialVersionUID
=
-
7243683008987722267L
;
static
WrapCopier
<
Read
,
WoRead
>
copier
=
WrapCopierFactory
.
wo
(
Read
.
class
,
WoRead
.
class
,
ListTools
.
toList
(
JpaObject
.
id_FIELDNAME
,
Read
.
person_FIELDNAME
,
Read
.
identity_FIELDNAME
,
Read
.
unit_FIELDNAME
,
Read
.
opinion_FIELDNAME
,
Read
.
opinionLob_FIELDNAME
,
Read
.
startTime
_FIELDNAME
,
Read
.
activityName_FIELDNAME
,
Read
.
activityToken_FIELDNAME
),
ListTools
.
toList
(
JpaObject
.
id_FIELDNAME
,
Read
.
person_FIELDNAME
,
Read
.
identity_FIELDNAME
,
Read
.
unit_FIELDNAME
,
Read
.
opinion_FIELDNAME
,
Read
.
opinionLob
_FIELDNAME
,
Read
.
startTime_FIELDNAME
,
Read
.
activityName_FIELDNAME
,
Read
.
activityToken_FIELDNAME
),
null
);
}
...
...
@@ -181,9 +180,10 @@ class ActionListRollbackWithWorkOrWorkCompleted extends BaseAction {
private
static
final
long
serialVersionUID
=
293599148568443301L
;
static
WrapCopier
<
Task
,
WoTask
>
copier
=
WrapCopierFactory
.
wo
(
Task
.
class
,
WoTask
.
class
,
ListTools
.
toList
(
JpaObject
.
id_FIELDNAME
,
Task
.
person_FIELDNAME
,
Task
.
identity_FIELDNAME
,
Task
.
unit_FIELDNAME
,
Task
.
routeName_FIELDNAME
,
Task
.
opinion_FIELDNAME
,
Task
.
opinionLob_FIELDNAME
,
Task
.
startTime_FIELDNAME
,
Task
.
activityName_FIELDNAME
,
Task
.
activityToken_FIELDNAME
),
ListTools
.
toList
(
JpaObject
.
id_FIELDNAME
,
Task
.
person_FIELDNAME
,
Task
.
identity_FIELDNAME
,
Task
.
unit_FIELDNAME
,
Task
.
routeName_FIELDNAME
,
Task
.
opinion_FIELDNAME
,
Task
.
opinionLob_FIELDNAME
,
Task
.
startTime_FIELDNAME
,
Task
.
activityName_FIELDNAME
,
Task
.
activityToken_FIELDNAME
),
null
);
}
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/worklog/ActionListWithWorkOrWorkCompleted.java
浏览文件 @
f50fcad0
...
...
@@ -33,6 +33,8 @@ import com.x.processplatform.core.entity.element.util.WorkLogTree;
import
com.x.processplatform.core.entity.element.util.WorkLogTree.Node
;
import
com.x.processplatform.core.entity.element.util.WorkLogTree.Nodes
;
import
io.swagger.v3.oas.annotations.media.Schema
;
class
ActionListWithWorkOrWorkCompleted
extends
BaseAction
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ActionListWithWorkOrWorkCompleted
.
class
);
...
...
@@ -66,8 +68,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
Boolean
value
=
false
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
,
new
ExceptionEntityNotExist
(
workOrWorkCompleted
));
value
=
business
.
readableWithWorkOrWorkCompleted
(
effectivePerson
,
workOrWorkCompleted
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
}
...
...
@@ -200,6 +201,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
return
os
;
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.worklog.ActionListWithWorkOrWorkCompleted$Wo"
)
public
static
class
Wo
extends
WorkLog
{
private
static
final
long
serialVersionUID
=
-
7666329770246726197L
;
...
...
@@ -279,6 +281,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.worklog.ActionListWithWorkOrWorkCompleted$WoTask"
)
public
static
class
WoTask
extends
Task
{
private
static
final
long
serialVersionUID
=
293599148568443301L
;
...
...
@@ -291,6 +294,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
null
);
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.worklog.ActionListWithWorkOrWorkCompleted$WoTaskCompleted"
)
public
static
class
WoTaskCompleted
extends
TaskCompleted
{
private
static
final
long
serialVersionUID
=
-
4432508672641778924L
;
...
...
@@ -309,6 +313,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
null
);
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.worklog.ActionListWithWorkOrWorkCompleted$WoRead"
)
public
static
class
WoRead
extends
Read
{
private
static
final
long
serialVersionUID
=
-
7243683008987722267L
;
...
...
@@ -321,6 +326,7 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
null
);
}
@Schema
(
name
=
"com.x.processplatform.assemble.surface.jaxrs.worklog.ActionListWithWorkOrWorkCompleted$WoReadCompleted"
)
public
static
class
WoReadCompleted
extends
ReadCompleted
{
private
static
final
long
serialVersionUID
=
-
7086077858353505033L
;
...
...
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/util/WorkLogTree.java
浏览文件 @
f50fcad0
...
...
@@ -19,9 +19,10 @@ public class WorkLogTree {
private
Node
root
;
public
static
List
<
String
>
RELY_WORKLOG_ITEMS
=
ListTools
.
toList
(
WorkLog
.
fromActivityToken_FIELDNAME
,
WorkLog
.
arrivedActivityToken_FIELDNAME
,
WorkLog
.
fromActivityType_FIELDNAME
,
WorkLog
.
arrivedActivityType_FIELDNAME
,
WorkLog
.
connected_FIELDNAME
);
public
static
final
List
<
String
>
RELY_WORKLOG_ITEMS
=
ListUtils
.
unmodifiableList
(
ListTools
.
toList
(
WorkLog
.
fromActivityToken_FIELDNAME
,
WorkLog
.
arrivedActivityToken_FIELDNAME
,
WorkLog
.
fromActivityType_FIELDNAME
,
WorkLog
.
arrivedActivityType_FIELDNAME
,
WorkLog
.
fromActivityName_FIELDNAME
,
WorkLog
.
arrivedActivityName_FIELDNAME
,
WorkLog
.
connected_FIELDNAME
));
Nodes
nodes
=
new
Nodes
();
...
...
@@ -43,9 +44,6 @@ public class WorkLogTree {
throw
new
ExceptionBeginNotFound
();
}
root
=
this
.
find
(
begin
);
// for (Node o : nodes) {
// this.associate();
// }
this
.
associate
();
}
...
...
@@ -53,14 +51,10 @@ public class WorkLogTree {
for
(
Node
node
:
nodes
)
{
this
.
nodes
.
stream
().
filter
(
o
->
StringUtils
.
equals
(
node
.
workLog
.
getFromActivityToken
(),
o
.
workLog
.
getArrivedActivityToken
()))
.
forEach
(
o
->
{
node
.
parents
.
add
(
o
);
});
.
forEach
(
o
->
node
.
parents
.
add
(
o
));
this
.
nodes
.
stream
().
filter
(
o
->
StringUtils
.
equals
(
node
.
workLog
.
getArrivedActivityToken
(),
o
.
workLog
.
getFromActivityToken
()))
.
forEach
(
o
->
{
node
.
children
.
add
(
o
);
});
.
forEach
(
o
->
node
.
children
.
add
(
o
));
}
}
...
...
@@ -93,14 +87,12 @@ public class WorkLogTree {
public
Date
latestArrivedTime
()
{
Date
date
=
null
;
if
(!
this
.
isEmpty
())
{
for
(
Node
n
:
this
)
{
if
(
null
!=
n
.
getWorkLog
().
getArrivedTime
())
{
if
(
null
==
date
)
{
date
=
n
.
getWorkLog
().
getArrivedTime
();
}
else
{
date
=
n
.
getWorkLog
().
getArrivedTime
().
after
(
date
)
?
n
.
getWorkLog
().
getArrivedTime
()
:
date
;
}
for
(
Node
n
:
this
)
{
if
(
null
!=
n
.
getWorkLog
().
getArrivedTime
())
{
if
(
null
==
date
)
{
date
=
n
.
getWorkLog
().
getArrivedTime
();
}
else
{
date
=
n
.
getWorkLog
().
getArrivedTime
().
after
(
date
)
?
n
.
getWorkLog
().
getArrivedTime
()
:
date
;
}
}
}
...
...
@@ -133,7 +125,7 @@ public class WorkLogTree {
if
(
Objects
.
equals
(
o
.
workLog
.
getFromActivityType
(),
activityType
))
{
result
.
add
(
o
);
}
else
{
if
(
ListTools
.
contains
(
pass
,
o
.
workLog
.
getFromActivityType
()))
{
if
(
ListTools
.
contains
(
pass
,
o
.
workLog
.
getFromActivityType
())
||
pass
.
isEmpty
()
)
{
o
.
upTo
(
activityType
,
pass
,
result
);
}
}
...
...
@@ -206,14 +198,14 @@ public class WorkLogTree {
}
public
Nodes
down
(
Node
node
)
{
Nodes
n
ode
s
=
new
Nodes
();
Nodes
ns
=
new
Nodes
();
for
(
Node
o
:
node
.
children
)
{
n
ode
s
.
add
(
o
);
ns
.
add
(
o
);
}
for
(
Node
o
:
node
.
children
)
{
n
ode
s
.
addAll
(
down
(
o
));
ns
.
addAll
(
down
(
o
));
}
return
n
ode
s
;
return
ns
;
}
public
Nodes
up
(
Node
node
)
{
...
...
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/ActionAddSplit.java
浏览文件 @
f50fcad0
...
...
@@ -23,6 +23,7 @@ import com.x.base.core.project.http.ActionResult;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.processplatform.ManualTaskIdentityMatrix
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.base.core.project.tools.StringTools
;
import
com.x.processplatform.core.entity.content.Task
;
...
...
@@ -116,7 +117,7 @@ class ActionAddSplit extends BaseAction {
workCopy
.
setSplitting
(
from
.
getSplitting
());
workCopy
.
setSplitValue
(
splitValue
);
// workCopy.getManualTaskIdentityList().clear();
workCopy
.
getManualTaskIdentityMatrix
().
clear
(
);
workCopy
.
setManualTaskIdentityMatrix
(
new
ManualTaskIdentityMatrix
()
);
workCopy
.
setBeforeExecuted
(
false
);
workCopy
.
setDestinationActivity
(
null
);
workCopy
.
setDestinationActivityType
(
null
);
...
...
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/V2AddSplit.java
浏览文件 @
f50fcad0
package
com.x.processplatform.service.processing.jaxrs.work
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.Callable
;
...
...
@@ -19,6 +20,7 @@ import com.x.base.core.project.http.EffectivePerson;
import
com.x.base.core.project.jaxrs.WrapStringList
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.processplatform.ManualTaskIdentityMatrix
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.base.core.project.tools.StringTools
;
import
com.x.processplatform.core.entity.content.Work
;
...
...
@@ -102,12 +104,15 @@ class V2AddSplit extends BaseAction {
workCopy
.
setActivityName
(
activity
.
getName
());
workCopy
.
setActivityToken
(
StringTools
.
uniqueToken
());
workCopy
.
setActivityType
(
activity
.
getActivityType
());
workCopy
.
setSplitTokenList
(
arrived
.
getProperties
().
getSplitTokenList
());
// workCopy.setSplitTokenList(arrived.getProperties().getSplitTokenList());
workCopy
.
setSplitValueList
(
adjustSplitValueList
(
arrived
.
getProperties
().
getSplitValueList
(),
splitValue
));
workCopy
.
setSplitToken
(
arrived
.
getSplitToken
());
workCopy
.
setSplitting
(
from
.
getSplitting
());
workCopy
.
setSplitValue
(
splitValue
);
// workCopy.getManualTaskIdentityList().clear();
workCopy
.
getManualTaskIdentityMatrix
().
clear
();
// workCopy.getManualTaskIdentityList().clear();
// workCopy.getManualTaskIdentityMatrix().clear();
workCopy
.
setManualTaskIdentityMatrix
(
new
ManualTaskIdentityMatrix
());
workCopy
.
setBeforeExecuted
(
false
);
workCopy
.
setDestinationActivity
(
null
);
workCopy
.
setDestinationActivityType
(
null
);
...
...
@@ -133,7 +138,8 @@ class V2AddSplit extends BaseAction {
fromCopy
.
setFromActivityToken
(
workCopy
.
getActivityToken
());
fromCopy
.
setFromTime
(
workCopy
.
getActivityArrivedTime
());
fromCopy
.
setWork
(
workCopy
.
getId
());
arrivedCopy
.
setSplitValue
(
workCopy
.
getSplitValue
());
fromCopy
.
setSplitValue
(
workCopy
.
getSplitValue
());
fromCopy
.
setSplitToken
(
workCopy
.
getSplitToken
());
fromCopy
.
setArrivedActivity
(
""
);
fromCopy
.
setArrivedActivityAlias
(
""
);
fromCopy
.
setArrivedActivityName
(
""
);
...
...
@@ -144,6 +150,7 @@ class V2AddSplit extends BaseAction {
emc
.
persist
(
workCopy
,
CheckPersistType
.
all
);
emc
.
persist
(
arrivedCopy
,
CheckPersistType
.
all
);
emc
.
persist
(
fromCopy
,
CheckPersistType
.
all
);
emc
.
commit
();
wo
.
addValue
(
workCopy
.
getId
(),
true
);
}
...
...
@@ -157,6 +164,15 @@ class V2AddSplit extends BaseAction {
}
private
List
<
String
>
adjustSplitValueList
(
List
<
String
>
list
,
String
value
)
{
List
<
String
>
values
=
new
ArrayList
<>();
if
(
ListTools
.
isNotEmpty
(
list
))
{
list
.
stream
().
limit
(
list
.
size
()
-
1L
).
forEach
(
values:
:
add
);
}
values
.
add
(
value
);
return
values
;
}
public
static
class
Wi
extends
V2AddSplitWi
{
private
static
final
long
serialVersionUID
=
6460190818209523936L
;
...
...
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/AbstractProcessor.java
浏览文件 @
f50fcad0
...
...
@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.processplatform.ManualTaskIdentityMatrix
;
import
com.x.base.core.project.scripting.JsonScriptingExecutor
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.processplatform.core.entity.content.Read
;
...
...
@@ -113,7 +114,7 @@ public abstract class AbstractProcessor extends AbstractBaseProcessor {
// }
private
void
arriveCleanManualTaskIdentityMatrix
(
AeiObjects
aeiObjects
)
{
aeiObjects
.
getWork
().
getManualTaskIdentityMatrix
().
clear
(
);
aeiObjects
.
getWork
().
setManualTaskIdentityMatrix
(
new
ManualTaskIdentityMatrix
()
);
}
private
void
arriveCleanManualEmpowerMap
(
AeiObjects
aeiObjects
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录