Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fuyue82
o2oa
提交
1e20e7b3
o2oa
项目概览
fuyue82
/
o2oa
与 Fork 源项目一致
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
0
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,发现更多精彩内容 >>
提交
1e20e7b3
编写于
9月 11, 2020
作者:
O
o2sword
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加待办、已办、待阅、已阅稽核查询接口
上级
f37bf795
变更
15
显示空白变更内容
内联
并排
Showing
15 changed file
with
520 addition
and
14 deletion
+520
-14
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/DateTools.java
...rc/main/java/com/x/base/core/project/tools/DateTools.java
+1
-1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/ReadFactory.java
...latform/assemble/surface/factory/content/ReadFactory.java
+10
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/TaskCompletedFactory.java
...ssemble/surface/factory/content/TaskCompletedFactory.java
+10
-5
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/TaskFactory.java
...latform/assemble/surface/factory/content/TaskFactory.java
+10
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ActionManageListWithDate.java
...assemble/surface/jaxrs/read/ActionManageListWithDate.java
+70
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ActionManageListWithPerson.java
...semble/surface/jaxrs/read/ActionManageListWithPerson.java
+45
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ReadAction.java
...ocessplatform/assemble/surface/jaxrs/read/ReadAction.java
+36
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readcompleted/ActionManageListWithDate.java
...surface/jaxrs/readcompleted/ActionManageListWithDate.java
+70
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readcompleted/ReadCompletedAction.java
...mble/surface/jaxrs/readcompleted/ReadCompletedAction.java
+18
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageListWithDateHour.java
...mble/surface/jaxrs/task/ActionManageListWithDateHour.java
+75
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageListWithPerson.java
...semble/surface/jaxrs/task/ActionManageListWithPerson.java
+44
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/TaskAction.java
...ocessplatform/assemble/surface/jaxrs/task/TaskAction.java
+37
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/ActionManageListWithDateHour.java
...ace/jaxrs/taskcompleted/ActionManageListWithDateHour.java
+71
-0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/TaskCompletedAction.java
...mble/surface/jaxrs/taskcompleted/TaskCompletedAction.java
+19
-0
o2server/x_program_center/src/main/java/com/x/program/center/schedule/CollectMarket.java
...ain/java/com/x/program/center/schedule/CollectMarket.java
+4
-8
未找到文件。
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/DateTools.java
浏览文件 @
1e20e7b3
...
...
@@ -562,7 +562,7 @@ public class DateTools {
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
dayAdjust
);
}
if
((
null
!=
hourAdjust
)
&&
(
hourAdjust
!=
0
))
{
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,
day
Adjust
);
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,
hour
Adjust
);
}
if
((
null
!=
minuteAdjust
)
&&
(
minuteAdjust
!=
0
))
{
calendar
.
add
(
Calendar
.
MINUTE
,
minuteAdjust
);
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/ReadFactory.java
浏览文件 @
1e20e7b3
...
...
@@ -135,6 +135,16 @@ public class ReadFactory extends AbstractFactory {
return
em
.
createQuery
(
cq
).
getSingleResult
();
}
public
List
<
Read
>
listWithPersonObject
(
String
person
)
throws
Exception
{
EntityManager
em
=
this
.
entityManagerContainer
().
get
(
Read
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
Read
>
cq
=
cb
.
createQuery
(
Read
.
class
);
Root
<
Read
>
root
=
cq
.
from
(
Read
.
class
);
Predicate
p
=
cb
.
equal
(
root
.
get
(
Read_
.
person
),
person
);
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
/**
* 统计指定人员的待阅数量
*/
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/TaskCompletedFactory.java
浏览文件 @
1e20e7b3
...
...
@@ -12,18 +12,13 @@ import javax.persistence.criteria.CriteriaQuery;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
org.apache.commons.lang3.StringUtils
;
import
com.x.base.core.project.tools.ListTools
;
import
com.x.processplatform.assemble.surface.AbstractFactory
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.ProcessingType
;
import
com.x.processplatform.core.entity.content.TaskCompleted
;
import
com.x.processplatform.core.entity.content.TaskCompleted_
;
import
com.x.processplatform.core.entity.content.Work
;
import
com.x.processplatform.core.entity.content.WorkCompleted
;
import
com.x.processplatform.core.entity.content.WorkLog
;
import
com.x.processplatform.core.entity.element.ActivityType
;
public
class
TaskCompletedFactory
extends
AbstractFactory
{
...
...
@@ -125,6 +120,16 @@ public class TaskCompletedFactory extends AbstractFactory {
return
em
.
createQuery
(
cq
).
getSingleResult
();
}
public
List
<
TaskCompleted
>
listWithPersonObject
(
String
person
)
throws
Exception
{
EntityManager
em
=
this
.
entityManagerContainer
().
get
(
TaskCompleted
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
TaskCompleted
>
cq
=
cb
.
createQuery
(
TaskCompleted
.
class
);
Root
<
TaskCompleted
>
root
=
cq
.
from
(
TaskCompleted
.
class
);
Predicate
p
=
cb
.
equal
(
root
.
get
(
TaskCompleted_
.
person
),
person
);
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
/**
* 统计指定人员已办数量
*/
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/factory/content/TaskFactory.java
浏览文件 @
1e20e7b3
...
...
@@ -122,6 +122,16 @@ public class TaskFactory extends AbstractFactory {
return
em
.
createQuery
(
cq
).
getResultList
();
}
public
List
<
Task
>
listWithPersonObject
(
String
person
)
throws
Exception
{
EntityManager
em
=
this
.
entityManagerContainer
().
get
(
Task
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
Task
>
cq
=
cb
.
createQuery
(
Task
.
class
);
Root
<
Task
>
root
=
cq
.
from
(
Task
.
class
);
Predicate
p
=
cb
.
equal
(
root
.
get
(
Task_
.
person
),
person
);
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
/**
* 统计指定人员所有的待办数量
*/
...
...
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ActionManageListWithDate.java
0 → 100644
浏览文件 @
1e20e7b3
package
com.x.processplatform.assemble.surface.jaxrs.read
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
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.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.tools.DateTools
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.Read
;
import
com.x.processplatform.core.entity.content.Read_
;
import
org.apache.commons.lang3.BooleanUtils
;
import
javax.persistence.EntityManager
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
java.util.Date
;
import
java.util.List
;
class
ActionManageListWithDate
extends
BaseAction
{
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
date
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
if
(
BooleanUtils
.
isTrue
(
business
.
canManageApplication
(
effectivePerson
,
null
)))
{
if
(
DateTools
.
isDateTimeOrDate
(
date
)){
Date
startTime
=
DateTools
.
floorDate
(
DateTools
.
parse
(
date
),
0
);
Date
endTime
=
DateTools
.
getAdjustTimeDay
(
startTime
,
1
,
0
,
0
,
0
);
List
<
Read
>
os
=
this
.
list
(
business
,
startTime
,
endTime
);
List
<
Wo
>
wos
=
Wo
.
copier
.
copy
(
os
);
result
.
setData
(
wos
);
result
.
setCount
((
long
)
wos
.
size
());
}
}
return
result
;
}
}
private
List
<
Read
>
list
(
Business
business
,
Date
startTime
,
Date
endTime
)
throws
Exception
{
EntityManager
em
=
business
.
entityManagerContainer
().
get
(
Read
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
Read
>
cq
=
cb
.
createQuery
(
Read
.
class
);
Root
<
Read
>
root
=
cq
.
from
(
Read
.
class
);
Predicate
p
=
cb
.
conjunction
();
if
(
startTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
greaterThanOrEqualTo
(
root
.
get
(
Read_
.
createTime
),
startTime
));
}
if
(
endTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
lessThan
(
root
.
get
(
Read_
.
createTime
),
endTime
));
}
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
public
static
class
Wo
extends
Read
{
static
WrapCopier
<
Read
,
Wo
>
copier
=
WrapCopierFactory
.
wo
(
Read
.
class
,
Wo
.
class
,
JpaObject
.
singularAttributeField
(
Read
.
class
,
true
,
true
),
null
);
}
}
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ActionManageListWithPerson.java
0 → 100644
浏览文件 @
1e20e7b3
package
com.x.processplatform.assemble.surface.jaxrs.read
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
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.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.Read
;
import
com.x.processplatform.core.entity.content.Task
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.List
;
class
ActionManageListWithPerson
extends
BaseAction
{
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
credential
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
if
(
BooleanUtils
.
isTrue
(
business
.
canManageApplication
(
effectivePerson
,
null
)))
{
String
person
=
business
.
organization
().
person
().
get
(
credential
);
if
(
StringUtils
.
isNotEmpty
(
person
))
{
List
<
Read
>
list
=
business
.
read
().
listWithPersonObject
(
person
);
List
<
Wo
>
wos
=
Wo
.
copier
.
copy
(
list
);
result
.
setData
(
wos
);
result
.
setCount
((
long
)
wos
.
size
());
}
}
return
result
;
}
}
public
static
class
Wo
extends
Read
{
static
WrapCopier
<
Read
,
Wo
>
copier
=
WrapCopierFactory
.
wo
(
Read
.
class
,
Wo
.
class
,
JpaObject
.
singularAttributeField
(
Read
.
class
,
true
,
true
),
null
);
}
}
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/read/ReadAction.java
浏览文件 @
1e20e7b3
...
...
@@ -722,4 +722,40 @@ public class ReadAction extends StandardJaxrsAction {
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"获取指定用户当前所有待阅."
,
action
=
ActionManageListWithPerson
.
class
)
@GET
@Path
(
"list/person/{person}/manage"
)
@Produces
(
HttpMediaType
.
APPLICATION_JSON_UTF_8
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
manageListWithPerson
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"用户"
)
@PathParam
(
"person"
)
String
person
)
{
ActionResult
<
List
<
ActionManageListWithPerson
.
Wo
>>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionManageListWithPerson
().
execute
(
effectivePerson
,
person
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"按创建时间查询指定时间段内当前所有待阅."
,
action
=
ActionManageListWithDate
.
class
)
@GET
@Path
(
"list/date/{date}/manage"
)
@Produces
(
HttpMediaType
.
APPLICATION_JSON_UTF_8
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
manageListWithDate
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"日期(如:2020-09-11)"
)
@PathParam
(
"date"
)
String
date
)
{
ActionResult
<
List
<
ActionManageListWithDate
.
Wo
>>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionManageListWithDate
().
execute
(
effectivePerson
,
date
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
}
\ No newline at end of file
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readcompleted/ActionManageListWithDate.java
0 → 100644
浏览文件 @
1e20e7b3
package
com.x.processplatform.assemble.surface.jaxrs.readcompleted
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
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.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.tools.DateTools
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.ReadCompleted
;
import
com.x.processplatform.core.entity.content.ReadCompleted_
;
import
org.apache.commons.lang3.BooleanUtils
;
import
javax.persistence.EntityManager
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
java.util.Date
;
import
java.util.List
;
class
ActionManageListWithDate
extends
BaseAction
{
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
date
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
if
(
BooleanUtils
.
isTrue
(
business
.
canManageApplication
(
effectivePerson
,
null
)))
{
if
(
DateTools
.
isDateTimeOrDate
(
date
)){
Date
startTime
=
DateTools
.
floorDate
(
DateTools
.
parse
(
date
),
0
);
Date
endTime
=
DateTools
.
getAdjustTimeDay
(
startTime
,
1
,
0
,
0
,
0
);
List
<
ReadCompleted
>
os
=
this
.
list
(
business
,
startTime
,
endTime
);
List
<
Wo
>
wos
=
Wo
.
copier
.
copy
(
os
);
result
.
setData
(
wos
);
result
.
setCount
((
long
)
wos
.
size
());
}
}
return
result
;
}
}
private
List
<
ReadCompleted
>
list
(
Business
business
,
Date
startTime
,
Date
endTime
)
throws
Exception
{
EntityManager
em
=
business
.
entityManagerContainer
().
get
(
ReadCompleted
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
ReadCompleted
>
cq
=
cb
.
createQuery
(
ReadCompleted
.
class
);
Root
<
ReadCompleted
>
root
=
cq
.
from
(
ReadCompleted
.
class
);
Predicate
p
=
cb
.
conjunction
();
if
(
startTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
greaterThanOrEqualTo
(
root
.
get
(
ReadCompleted_
.
createTime
),
startTime
));
}
if
(
endTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
lessThan
(
root
.
get
(
ReadCompleted_
.
createTime
),
endTime
));
}
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
public
static
class
Wo
extends
ReadCompleted
{
static
WrapCopier
<
ReadCompleted
,
Wo
>
copier
=
WrapCopierFactory
.
wo
(
ReadCompleted
.
class
,
Wo
.
class
,
JpaObject
.
singularAttributeField
(
ReadCompleted
.
class
,
true
,
true
),
null
);
}
}
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/readcompleted/ReadCompletedAction.java
浏览文件 @
1e20e7b3
...
...
@@ -613,4 +613,22 @@ public class ReadCompletedAction extends StandardJaxrsAction {
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"按创建时间查询指定时间段内当前所有已阅."
,
action
=
ActionManageListWithDate
.
class
)
@GET
@Path
(
"list/date/{date}/manage"
)
@Produces
(
HttpMediaType
.
APPLICATION_JSON_UTF_8
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
manageListWithDate
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"日期(如:2020-09-11)"
)
@PathParam
(
"date"
)
String
date
)
{
ActionResult
<
List
<
ActionManageListWithDate
.
Wo
>>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionManageListWithDate
().
execute
(
effectivePerson
,
date
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
}
\ No newline at end of file
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageListWithDateHour.java
0 → 100644
浏览文件 @
1e20e7b3
package
com.x.processplatform.assemble.surface.jaxrs.task
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
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.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.DateTools
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.Task
;
import
com.x.processplatform.core.entity.content.Task_
;
import
org.apache.commons.lang3.BooleanUtils
;
import
javax.persistence.EntityManager
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
java.util.Date
;
import
java.util.List
;
class
ActionManageListWithDateHour
extends
BaseAction
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ActionManageListWithDateHour
.
class
);
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
date
,
Integer
hour
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
if
(
BooleanUtils
.
isTrue
(
business
.
canManageApplication
(
effectivePerson
,
null
)))
{
if
(
DateTools
.
isDateTimeOrDate
(
date
)
&&
hour
>=
0
&&
hour
<
24
){
Date
startTime
=
DateTools
.
getAdjustTimeDay
(
DateTools
.
floorDate
(
DateTools
.
parse
(
date
),
0
),
0
,
hour
,
0
,
0
);
Date
endTime
=
DateTools
.
getAdjustTimeDay
(
startTime
,
0
,
1
,
0
,
0
);
List
<
Task
>
os
=
this
.
list
(
business
,
startTime
,
endTime
);
List
<
Wo
>
wos
=
Wo
.
copier
.
copy
(
os
);
result
.
setData
(
wos
);
result
.
setCount
((
long
)
wos
.
size
());
}
}
return
result
;
}
}
private
List
<
Task
>
list
(
Business
business
,
Date
startTime
,
Date
endTime
)
throws
Exception
{
EntityManager
em
=
business
.
entityManagerContainer
().
get
(
Task
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
Task
>
cq
=
cb
.
createQuery
(
Task
.
class
);
Root
<
Task
>
root
=
cq
.
from
(
Task
.
class
);
Predicate
p
=
cb
.
conjunction
();
if
(
startTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
greaterThanOrEqualTo
(
root
.
get
(
Task_
.
createTime
),
startTime
));
}
if
(
endTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
lessThan
(
root
.
get
(
Task_
.
createTime
),
endTime
));
}
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
public
static
class
Wo
extends
Task
{
static
WrapCopier
<
Task
,
Wo
>
copier
=
WrapCopierFactory
.
wo
(
Task
.
class
,
Wo
.
class
,
JpaObject
.
singularAttributeField
(
Task
.
class
,
true
,
true
),
null
);
}
}
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageListWithPerson.java
0 → 100644
浏览文件 @
1e20e7b3
package
com.x.processplatform.assemble.surface.jaxrs.task
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
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.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.Task
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.List
;
class
ActionManageListWithPerson
extends
BaseAction
{
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
credential
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
if
(
BooleanUtils
.
isTrue
(
business
.
canManageApplication
(
effectivePerson
,
null
)))
{
String
person
=
business
.
organization
().
person
().
get
(
credential
);
if
(
StringUtils
.
isNotEmpty
(
person
))
{
List
<
Task
>
taskList
=
business
.
task
().
listWithPersonObject
(
person
);
List
<
Wo
>
wos
=
Wo
.
copier
.
copy
(
taskList
);
result
.
setData
(
wos
);
result
.
setCount
((
long
)
wos
.
size
());
}
}
return
result
;
}
}
public
static
class
Wo
extends
Task
{
static
WrapCopier
<
Task
,
Wo
>
copier
=
WrapCopierFactory
.
wo
(
Task
.
class
,
Wo
.
class
,
JpaObject
.
singularAttributeField
(
Task
.
class
,
true
,
true
),
null
);
}
}
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/TaskAction.java
浏览文件 @
1e20e7b3
...
...
@@ -850,4 +850,41 @@ public class TaskAction extends StandardJaxrsAction {
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"获取指定用户当前所有待办."
,
action
=
ActionManageListWithPerson
.
class
)
@GET
@Path
(
"list/person/{person}/manage"
)
@Produces
(
HttpMediaType
.
APPLICATION_JSON_UTF_8
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
manageListWithPerson
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"用户"
)
@PathParam
(
"person"
)
String
person
)
{
ActionResult
<
List
<
ActionManageListWithPerson
.
Wo
>>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionManageListWithPerson
().
execute
(
effectivePerson
,
person
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"按创建时间查询指定时间段内当前所有待办."
,
action
=
ActionManageListWithDateHour
.
class
)
@GET
@Path
(
"list/date/{date}/hour/{hour}/manage"
)
@Produces
(
HttpMediaType
.
APPLICATION_JSON_UTF_8
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
manageListWithDateHour
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"日期(如:2020-09-11)"
)
@PathParam
(
"date"
)
String
date
,
@JaxrsParameterDescribe
(
"小时(0-23)"
)
@PathParam
(
"hour"
)
Integer
hour
)
{
ActionResult
<
List
<
ActionManageListWithDateHour
.
Wo
>>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionManageListWithDateHour
().
execute
(
effectivePerson
,
date
,
hour
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
}
\ No newline at end of file
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/ActionManageListWithDateHour.java
0 → 100644
浏览文件 @
1e20e7b3
package
com.x.processplatform.assemble.surface.jaxrs.taskcompleted
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
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.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.tools.DateTools
;
import
com.x.processplatform.assemble.surface.Business
;
import
com.x.processplatform.core.entity.content.TaskCompleted
;
import
com.x.processplatform.core.entity.content.TaskCompleted_
;
import
org.apache.commons.lang3.BooleanUtils
;
import
javax.persistence.EntityManager
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
java.util.Date
;
import
java.util.List
;
class
ActionManageListWithDateHour
extends
BaseAction
{
ActionResult
<
List
<
Wo
>>
execute
(
EffectivePerson
effectivePerson
,
String
date
,
Integer
hour
)
throws
Exception
{
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
ActionResult
<
List
<
Wo
>>
result
=
new
ActionResult
<>();
if
(
BooleanUtils
.
isTrue
(
business
.
canManageApplication
(
effectivePerson
,
null
)))
{
if
(
DateTools
.
isDateTimeOrDate
(
date
)
&&
hour
>=
0
&&
hour
<
24
){
Date
startTime
=
DateTools
.
getAdjustTimeDay
(
DateTools
.
floorDate
(
DateTools
.
parse
(
date
),
0
),
0
,
hour
,
0
,
0
);
Date
endTime
=
DateTools
.
getAdjustTimeDay
(
startTime
,
0
,
1
,
0
,
0
);
List
<
TaskCompleted
>
os
=
this
.
list
(
business
,
startTime
,
endTime
);
List
<
Wo
>
wos
=
Wo
.
copier
.
copy
(
os
);
result
.
setData
(
wos
);
result
.
setCount
((
long
)
wos
.
size
());
}
}
return
result
;
}
}
private
List
<
TaskCompleted
>
list
(
Business
business
,
Date
startTime
,
Date
endTime
)
throws
Exception
{
EntityManager
em
=
business
.
entityManagerContainer
().
get
(
TaskCompleted
.
class
);
CriteriaBuilder
cb
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
TaskCompleted
>
cq
=
cb
.
createQuery
(
TaskCompleted
.
class
);
Root
<
TaskCompleted
>
root
=
cq
.
from
(
TaskCompleted
.
class
);
Predicate
p
=
cb
.
conjunction
();
if
(
startTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
greaterThanOrEqualTo
(
root
.
get
(
TaskCompleted_
.
createTime
),
startTime
));
}
if
(
endTime
!=
null
)
{
p
=
cb
.
and
(
p
,
cb
.
lessThan
(
root
.
get
(
TaskCompleted_
.
createTime
),
endTime
));
}
cq
.
select
(
root
).
where
(
p
);
return
em
.
createQuery
(
cq
).
getResultList
();
}
public
static
class
Wo
extends
TaskCompleted
{
static
WrapCopier
<
TaskCompleted
,
Wo
>
copier
=
WrapCopierFactory
.
wo
(
TaskCompleted
.
class
,
Wo
.
class
,
JpaObject
.
singularAttributeField
(
TaskCompleted
.
class
,
true
,
true
),
null
);
}
}
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/taskcompleted/TaskCompletedAction.java
浏览文件 @
1e20e7b3
...
...
@@ -668,4 +668,23 @@ public class TaskCompletedAction extends StandardJaxrsAction {
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"按创建时间查询指定时间段内当前所有已办."
,
action
=
ActionManageListWithDateHour
.
class
)
@GET
@Path
(
"list/date/{date}/hour/{hour}/manage"
)
@Produces
(
HttpMediaType
.
APPLICATION_JSON_UTF_8
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
manageListWithDateHour
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"日期(如:2020-09-11)"
)
@PathParam
(
"date"
)
String
date
,
@JaxrsParameterDescribe
(
"小时(0-23)"
)
@PathParam
(
"hour"
)
Integer
hour
)
{
ActionResult
<
List
<
ActionManageListWithDateHour
.
Wo
>>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionManageListWithDateHour
().
execute
(
effectivePerson
,
date
,
hour
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
}
\ No newline at end of file
o2server/x_program_center/src/main/java/com/x/program/center/schedule/CollectMarket.java
浏览文件 @
1e20e7b3
...
...
@@ -41,7 +41,7 @@ public class CollectMarket extends BaseAction {
Business
business
=
new
Business
(
emc
);
String
token
=
business
.
loginCollect
();
if
(
StringUtils
.
isNotEmpty
(
token
))
{
logger
.
info
(
"
开始同步应用市场数据
====="
);
logger
.
info
(
"
start sync market data
====="
);
List
<
Wi
>
wiList
=
null
;
try
{
ActionResponse
response
=
ConnectionAction
...
...
@@ -49,10 +49,10 @@ public class CollectMarket extends BaseAction {
ListTools
.
toList
(
new
NameValuePair
(
Collect
.
COLLECT_TOKEN
,
token
)));
wiList
=
response
.
getDataAsList
(
Wi
.
class
);
}
catch
(
Exception
e
)
{
logger
.
warn
(
"
与云服务器连接错误
:{}."
+
e
.
getMessage
());
logger
.
warn
(
"
connect o2cloud error
:{}."
+
e
.
getMessage
());
}
if
(
wiList
!=
null
&&
!
wiList
.
isEmpty
()){
logger
.
info
(
"
将要同步应用数
:{}"
,
wiList
.
size
());
logger
.
info
(
"
wait sync market app size
:{}"
,
wiList
.
size
());
emc
.
beginTransaction
(
Application
.
class
);
emc
.
beginTransaction
(
Attachment
.
class
);
List
<
Application
>
appList
=
emc
.
listAll
(
Application
.
class
);
...
...
@@ -105,13 +105,9 @@ public class CollectMarket extends BaseAction {
}
emc
.
commit
();
}
logger
.
info
(
"完成同步应用市场数据====="
);
}
else
{
logger
.
debug
(
"无法登录到云服务器."
);
logger
.
info
(
"end sync market data====="
);
}
}
}
else
{
logger
.
debug
(
"系统没有启用O2云服务器连接."
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录