Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
34623b64
Commit
34623b64
authored
Apr 20, 2022
by
chenhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug 5569
parent
aeb3fdd1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
201 additions
and
85 deletions
+201
-85
RuleTypeEnum.java
.../com/yeejoin/amos/boot/biz/common/enums/RuleTypeEnum.java
+2
-1
PlanTaskServiceImpl.java
...upervision/business/service/impl/PlanTaskServiceImpl.java
+196
-84
IPlanTaskService.java
.../supervision/business/service/intfc/IPlanTaskService.java
+3
-0
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/enums/RuleTypeEnum.java
View file @
34623b64
...
...
@@ -13,7 +13,8 @@ public enum RuleTypeEnum {
计划提交
(
"计划提交"
,
"addPlan"
,
"auditPage"
,
RuleConstant
.
WEB
,
RuleConstant
.
TASK
),
计划审核
(
"计划审核"
,
"planAudit"
,
"auditPage"
,
RuleConstant
.
APP_WEB
,
RuleConstant
.
NOTIFY
),
计划审核完成
(
"计划审核完成"
,
"planAuditAll"
,
"formulatePage"
,
RuleConstant
.
APP_WEB
,
RuleConstant
.
TASK
),
计划生成
(
"计划生成"
,
"addPlanTask"
,
null
,
RuleConstant
.
APP
,
RuleConstant
.
NOTIFY
),
消息型计划生成
(
"计划生成"
,
"addPlanTask"
,
null
,
RuleConstant
.
APP
,
RuleConstant
.
NOTIFY
),
任务型计划生成
(
"计划生成"
,
"addPlanTask"
,
null
,
RuleConstant
.
APP
,
RuleConstant
.
TASK
),
计划完成
(
"计划完成"
,
"planCompleted"
,
null
,
RuleConstant
.
APP_WEB
,
RuleConstant
.
NOTIFY
),
// 隐患
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-supervision-biz/src/main/java/com/yeejoin/amos/supervision/business/service/impl/PlanTaskServiceImpl.java
View file @
34623b64
...
...
@@ -139,41 +139,40 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
reGenPlanTask
(
HashMap
<
String
,
Object
>
param
)
throws
ParseException
{
//
1.公共参数准备
String
planId
=
param
.
get
(
"planId"
).
toString
();
//
重做的计划编号id
String
strBeginDate
=
param
.
get
(
"beginDate"
).
toString
();
//
开始日期(yyyy-MM-dd)
String
strEndDate
=
param
.
get
(
"endDate"
).
toString
();
//
结束日期(yyyy-MM-dd)
String
flag
=
param
.
get
(
"changeFlag"
).
toString
();
//
是否记为合格标记:0-否,1-是
//
1.公共参数准备
String
planId
=
param
.
get
(
"planId"
).
toString
();
//
重做的计划编号id
String
strBeginDate
=
param
.
get
(
"beginDate"
).
toString
();
//
开始日期(yyyy-MM-dd)
String
strEndDate
=
param
.
get
(
"endDate"
).
toString
();
//
结束日期(yyyy-MM-dd)
String
flag
=
param
.
get
(
"changeFlag"
).
toString
();
//
是否记为合格标记:0-否,1-是
Plan
plan
=
iplanDao
.
findById
(
Long
.
parseLong
(
planId
)).
get
();
//
if
(
StringUtil
.
isNotEmpty
(
plan
.
getUserId
()))
{
//
2.数据必输校验,不满足直接return,不再向下进行
//
2.数据必输校验,不满足直接return,不再向下进行
Boolean
fileFlag
=
PlanTaskUtil
.
checkMustFile
(
plan
);
if
(!
fileFlag
)
{
return
;
}
//
3.计算生成数据的日期区间(前10位:yyyy-MM-dd)
//
3.计算生成数据的日期区间(前10位:yyyy-MM-dd)
CalDateVo
vo
=
PlanTaskUtil
.
reGenPlanTaskData
(
plan
,
strBeginDate
,
strEndDate
);
if
(
null
==
vo
)
{
//
计划未开始,则结束
if
(
null
==
vo
)
{
//
计划未开始,则结束
return
;
}
if
(!
vo
.
getIsGenData
())
{
//日期不符合条件直接结束
if
(!
vo
.
getIsGenData
())
{
// 日期不符合条件直接结束
return
;
}
//
3.删除planTask表,按照计划id+日期
//
3.删除planTask表,按照计划id+日期
deletePlanTaskAndDet
(
param
);
//
5.执行数据生成(具体时间 + 人员)
//
5.执行数据生成(具体时间 + 人员)
List
<
HashMap
<
String
,
Object
>>
list
=
genAllExeDate
(
plan
,
vo
,
XJConstant
.
REGEN_FLAG
);
//
6.插入planTask及planTaskDetail
//
6.插入planTask及planTaskDetail
insertPlanTaskAndDet
(
list
,
plan
,
flag
,
new
Date
());
//
7.重新统计计划
//
7.重新统计计划
if
(
ObjectUtils
.
isEmpty
(
plan
.
getUserId
()))
{
return
;
}
...
...
@@ -182,7 +181,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
@Override
public
void
reformStatisticsPlanTask
(
String
strBginDate
,
String
strEndDate
,
String
userId
,
String
orgCode
)
throws
ParseException
{
public
void
reformStatisticsPlanTask
(
String
strBginDate
,
String
strEndDate
,
String
userId
,
String
orgCode
)
throws
ParseException
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
startTime
=
sdf
.
parse
(
strBginDate
);
...
...
@@ -280,10 +280,14 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
Map
<
String
,
String
>
depMap
=
new
HashMap
<>();
if
(!
CollectionUtils
.
isEmpty
(
userList
))
{
userIds
=
String
.
join
(
","
,
userList
);
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
userIds
);
userMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
userIds
);
userMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
for
(
AgencyUserModel
agencyUserModel
:
userModelList
)
{
LoginName
.
put
(
agencyUserModel
.
getUserId
(),
agencyUserModel
.
getMobile
()
!=
null
?
agencyUserModel
.
getMobile
()
:
agencyUserModel
.
getLandlinePhone
());
LoginName
.
put
(
agencyUserModel
.
getUserId
(),
agencyUserModel
.
getMobile
()
!=
null
?
agencyUserModel
.
getMobile
()
:
agencyUserModel
.
getLandlinePhone
());
}
}
// if(!CollectionUtils.isEmpty(deptList)){
...
...
@@ -301,14 +305,15 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
// });
// }
// }
//
新安全
//
新安全
content
.
forEach
(
s
->
{
StringBuffer
buffer
=
new
StringBuffer
();
if
(
s
.
getUserDept
().
indexOf
(
"@"
)
>
0
)
{
String
[]
dept
=
s
.
getUserDept
().
split
(
","
);
Arrays
.
asList
(
dept
).
stream
().
forEach
(
x
->
{
String
[]
deptTemp
=
x
.
split
(
"@"
);
List
<
LinkedHashMap
>
deptL
=
remoteSecurityService
.
listDepartmentByDeptIds
(
toke
,
product
,
appKey
,
deptTemp
[
1
]);
List
<
LinkedHashMap
>
deptL
=
remoteSecurityService
.
listDepartmentByDeptIds
(
toke
,
product
,
appKey
,
deptTemp
[
1
]);
if
(
deptL
.
size
()
>
0
)
{
buffer
.
append
(
deptL
.
get
(
0
).
get
(
"departmentName"
)).
append
(
","
);
}
else
{
...
...
@@ -318,7 +323,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
});
}
else
{
String
[]
deptTemp
=
s
.
getUserDept
().
split
(
","
);
List
<
LinkedHashMap
>
deptL
=
remoteSecurityService
.
listDepartmentByDeptIds
(
toke
,
product
,
appKey
,
deptTemp
[
1
]);
List
<
LinkedHashMap
>
deptL
=
remoteSecurityService
.
listDepartmentByDeptIds
(
toke
,
product
,
appKey
,
deptTemp
[
1
]);
if
(
deptL
.
size
()
>
0
)
{
buffer
.
append
(
deptL
.
get
(
0
).
get
(
"departmentName"
)).
append
(
","
);
}
else
{
...
...
@@ -339,7 +345,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
c
.
setUserName
(
userNames
.
toString
());
});
return
content
;
}
...
...
@@ -349,70 +354,143 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
taskExecution
(
String
runDate
)
{
//
1.扫描plan表查询,需要生成执行数据的任务信息,无则return
Date
now
=
new
Date
();
//
今天
if
(
runDate
!=
null
)
{
//
上送则已上送的为准
//
1.扫描plan表查询,需要生成执行数据的任务信息,无则return
Date
now
=
new
Date
();
//
今天
if
(
runDate
!=
null
)
{
//
上送则已上送的为准
now
=
DateUtil
.
str2Date
(
runDate
,
"yyyyMMdd"
);
}
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
String
strDate
=
df
.
format
(
now
);
String
tomorrow
=
DateUtil
.
getIntervalDateStr
(
now
,
1
,
"yyyy-MM-dd"
);
//
下一天
String
tomorrow
=
DateUtil
.
getIntervalDateStr
(
now
,
1
,
"yyyy-MM-dd"
);
//
下一天
// 根据计划状态5,6和next_gen_date查询需要生成任务的计划
List
<
Plan
>
planList
=
iplanDao
.
queryScheduledPlan
(
strDate
,
String
.
valueOf
(
PlanStatusEnum
.
EXAMINE_DEVELOPED
.
getValue
()),
String
.
valueOf
(
PlanStatusEnum
.
IN_EXECUTION
.
getValue
()));
List
<
Plan
>
planList
=
iplanDao
.
queryScheduledPlan
(
strDate
,
String
.
valueOf
(
PlanStatusEnum
.
EXAMINE_DEVELOPED
.
getValue
()),
String
.
valueOf
(
PlanStatusEnum
.
IN_EXECUTION
.
getValue
()));
if
(
planList
==
null
||
planList
.
size
()
<=
0
)
{
log
.
info
(
strDate
+
" "
+
" 暂无待生成执行数据的计划"
);
return
;
}
//2.循环遍历执行
// 2.循环遍历执行
HashMap
<
String
,
Object
>
paramMap
=
new
HashMap
<
String
,
Object
>();
for
(
Plan
plan
:
planList
)
{
if
(
StringUtils
.
isEmpty
(
plan
.
getUserId
()))
continue
;
paramMap
.
clear
();
paramMap
.
put
(
"id"
,
plan
.
getId
());
// 2.1计划数据合法性校验
Boolean
fileFlag
=
PlanTaskUtil
.
checkMustFile
(
plan
);
if
(!
fileFlag
)
{
paramMap
.
put
(
"next_gen_date"
,
tomorrow
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
// 更新为明天
continue
;
}
// 2.2.计算生成数据的日期区间
CalDateVo
vo
=
PlanTaskUtil
.
reGenPlanTaskData
(
plan
,
tomorrow
,
tomorrow
);
// 计划未开始,则更新生成时间为明天
if
(
null
==
vo
)
{
paramMap
.
put
(
"next_gen_date"
,
tomorrow
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
// 更新为明天
continue
;
}
// 计划已过期,则更新status = 7,已完成
if
(!
vo
.
getIsGenData
())
{
paramMap
.
put
(
"status"
,
PlanStatusEnum
.
COMPLETED
.
getValue
());
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
continue
;
}
// 2.3.执行数据生成(具体时间 + 人员)
List
<
HashMap
<
String
,
Object
>>
list
=
genAllExeDate
(
plan
,
vo
,
XJConstant
.
SCHED_FLAG
);
if
(
XJConstant
.
UPD_PLAN_GEN_DATE
.
equals
(
vo
.
getUpdFlag
()))
{
paramMap
.
put
(
"next_gen_date"
,
tomorrow
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
// 更新为明天
continue
;
}
else
if
(
XJConstant
.
UPD_PLAN_STATUS
.
equals
(
vo
.
getUpdFlag
()))
{
paramMap
.
put
(
"status"
,
XJConstant
.
PLAN_STATUS_STOP
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
// 更新status = 1,停用
continue
;
}
// 2.4.删除今天可能重做生成的数据(计划重做后进行了计划的编辑)
if
(
iplanTaskDao
.
findById
(
plan
.
getPlanTaskId
())
!=
null
&&
plan
.
getFirstFlag
()
==
XJConstant
.
PLAN_FIRST_STATUS_YES
)
if
(
iplanTaskDao
.
existsById
(
plan
.
getPlanTaskId
()))
{
iplanTaskDao
.
deleteById
(
plan
.
getPlanTaskId
());
}
// 2.5.插入planTask及planTaskDetail
insertPlanTaskAndDet
(
list
,
plan
,
XJConstant
.
SCHED_FLAG
,
now
);
}
}
/*
* 用于隐患导入之后的任务生成,不能使用时间获取所有的任务,而是当前时间的任务
*
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
taskExecutionImportPlan
(
List
<
Plan
>
planList
)
{
Date
now
=
new
Date
();
// 今天
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
String
strDate
=
df
.
format
(
now
);
String
tomorrow
=
DateUtil
.
getIntervalDateStr
(
now
,
1
,
"yyyy-MM-dd"
);
// 下一天
if
(
planList
==
null
||
planList
.
size
()
<=
0
)
{
log
.
info
(
" 暂无待生成执行数据的计划"
);
return
;
}
// 2.循环遍历执行
HashMap
<
String
,
Object
>
paramMap
=
new
HashMap
<
String
,
Object
>();
for
(
Plan
plan
:
planList
)
{
if
(
StringUtils
.
isEmpty
(
plan
.
getUserId
()))
continue
;
paramMap
.
clear
();
paramMap
.
put
(
"id"
,
plan
.
getId
());
//
2.1计划数据合法性校验
//
2.1计划数据合法性校验
Boolean
fileFlag
=
PlanTaskUtil
.
checkMustFile
(
plan
);
if
(!
fileFlag
)
{
paramMap
.
put
(
"next_gen_date"
,
tomorrow
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新为明天
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新为明天
continue
;
}
//
2.2.计算生成数据的日期区间
//
2.2.计算生成数据的日期区间
CalDateVo
vo
=
PlanTaskUtil
.
reGenPlanTaskData
(
plan
,
tomorrow
,
tomorrow
);
//
计划未开始,则更新生成时间为明天
//
计划未开始,则更新生成时间为明天
if
(
null
==
vo
)
{
paramMap
.
put
(
"next_gen_date"
,
tomorrow
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新为明天
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新为明天
continue
;
}
//
计划已过期,则更新status = 7,已完成
//
计划已过期,则更新status = 7,已完成
if
(!
vo
.
getIsGenData
())
{
paramMap
.
put
(
"status"
,
PlanStatusEnum
.
COMPLETED
.
getValue
());
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
continue
;
}
//
2.3.执行数据生成(具体时间 + 人员)
//
2.3.执行数据生成(具体时间 + 人员)
List
<
HashMap
<
String
,
Object
>>
list
=
genAllExeDate
(
plan
,
vo
,
XJConstant
.
SCHED_FLAG
);
if
(
XJConstant
.
UPD_PLAN_GEN_DATE
.
equals
(
vo
.
getUpdFlag
()))
{
paramMap
.
put
(
"next_gen_date"
,
tomorrow
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新为明天
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新为明天
continue
;
}
else
if
(
XJConstant
.
UPD_PLAN_STATUS
.
equals
(
vo
.
getUpdFlag
()))
{
paramMap
.
put
(
"status"
,
XJConstant
.
PLAN_STATUS_STOP
);
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新status = 1,停用
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
//
更新status = 1,停用
continue
;
}
//2.4.删除今天可能重做生成的数据(计划重做后进行了计划的编辑)
if
(
iplanTaskDao
.
findById
(
plan
.
getPlanTaskId
())
!=
null
&&
plan
.
getFirstFlag
()
==
XJConstant
.
PLAN_FIRST_STATUS_YES
)
// 2.4.删除今天可能重做生成的数据(计划重做后进行了计划的编辑)
if
(
iplanTaskDao
.
findById
(
plan
.
getPlanTaskId
())
!=
null
&&
plan
.
getFirstFlag
()
==
XJConstant
.
PLAN_FIRST_STATUS_YES
)
if
(
iplanTaskDao
.
existsById
(
plan
.
getPlanTaskId
()))
{
iplanTaskDao
.
deleteById
(
plan
.
getPlanTaskId
());
}
//
2.5.插入planTask及planTaskDetail
//
2.5.插入planTask及planTaskDetail
insertPlanTaskAndDet
(
list
,
plan
,
XJConstant
.
SCHED_FLAG
,
now
);
}
}
...
...
@@ -441,22 +519,21 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
* @return
*/
public
List
<
HashMap
<
String
,
Object
>>
genAllExeDate
(
Plan
plan
,
CalDateVo
vo
,
String
flag
)
{
//
1.生成前8位日期(yyyy-MM-dd)
//
1.生成前8位日期(yyyy-MM-dd)
List
<
HashMap
<
String
,
Date
>>
list
=
PlanTaskUtil
.
genExeDate
(
plan
,
vo
,
flag
);
if
(
list
==
null
||
list
.
size
()
<=
0
)
{
vo
.
setUpdFlag
(
XJConstant
.
UPD_PLAN_GEN_DATE
);
return
null
;
}
//
2.生成完整时间(yyyy-MM-dd HH:mm:ss)
//
2.生成完整时间(yyyy-MM-dd HH:mm:ss)
List
<
HashMap
<
String
,
Object
>>
timeList
=
PlanTaskUtil
.
genWholeExeDate
(
list
,
plan
);
if
(
timeList
==
null
||
timeList
.
size
()
<=
0
)
{
vo
.
setUpdFlag
(
XJConstant
.
UPD_PLAN_STATUS
);
}
//
3.生成含有人员信息的日期执行数据
//
3.生成含有人员信息的日期执行数据
return
PlanTaskUtil
.
genWholeExeData
(
timeList
,
plan
);
}
/**
* plantask及det入库
*
...
...
@@ -484,7 +561,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
String
endTime
=
list
.
get
(
i
).
get
(
"END_TIME"
).
toString
();
String
userId
=
list
.
get
(
i
).
get
(
"USER_ID"
)
==
null
?
"-1"
:
list
.
get
(
i
).
get
(
"USER_ID"
).
toString
();
String
userName
=
list
.
get
(
i
).
get
(
"USER_NAME"
)
==
null
?
""
:
list
.
get
(
i
).
get
(
"USER_NAME"
).
toString
();
PlanTask
planTask
=
iplanTaskDao
.
findByUserIdAndBeginTimeAndEndTimeAndPlanIdAndRouteId
(
userId
,
startTime
,
endTime
,
plan
.
getId
(),
plan
.
getRouteId
());
PlanTask
planTask
=
iplanTaskDao
.
findByUserIdAndBeginTimeAndEndTimeAndPlanIdAndRouteId
(
userId
,
startTime
,
endTime
,
plan
.
getId
(),
plan
.
getRouteId
());
if
(
planTask
!=
null
)
{
continue
;
}
...
...
@@ -498,7 +576,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
planTask
.
setUserId
(
userId
);
planTask
.
setPointNum
(
pointNum
);
if
(
XJConstant
.
FIX_DATE_NO
.
equals
(
isFixDate
))
{
if
(
sdf
.
parse
(
startTime
).
getTime
()
<=
now
.
getTime
()
&&
sdf
.
parse
(
endTime
).
getTime
()
>=
now
.
getTime
())
{
if
(
sdf
.
parse
(
startTime
).
getTime
()
<=
now
.
getTime
()
&&
sdf
.
parse
(
endTime
).
getTime
()
>=
now
.
getTime
())
{
planTask
.
setFinishStatus
(
XJConstant
.
TASK_STATUS_DEAL
);
planTask
.
setFinishNum
(
0
);
}
else
{
...
...
@@ -508,7 +587,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
}
}
else
{
if
(
sdf
.
parse
(
startTime
).
getTime
()
<=
now
.
getTime
()
&&
sdf
.
parse
(
endTime
).
getTime
()
>=
now
.
getTime
())
{
if
(
sdf
.
parse
(
startTime
).
getTime
()
<=
now
.
getTime
()
&&
sdf
.
parse
(
endTime
).
getTime
()
>=
now
.
getTime
())
{
planTask
.
setFinishStatus
(
XJConstant
.
TASK_STATUS_DEAL
);
planTask
.
setFinishNum
(
0
);
}
...
...
@@ -560,22 +640,24 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
// 3.如果为自动任务调用,则更新id,如果重做或且下次时间大于等于明天,则更新planTaskId到plan表
Date
genDate
=
DateUtil
.
str2Date
(
list
.
get
(
list
.
size
()
-
1
).
get
(
"NEXT_GEN_DATE"
).
toString
(),
"yyyy-MM-dd"
);
//
下次生成日期
//
明天
Date
genDate
=
DateUtil
.
str2Date
(
list
.
get
(
list
.
size
()
-
1
).
get
(
"NEXT_GEN_DATE"
).
toString
(),
"yyyy-MM-dd"
);
//
下次生成日期
//
明天
Date
tomorrow
=
DateUtil
.
getIntervalDate
(
now
,
1
);
String
strGenDate
=
list
.
get
(
list
.
size
()
-
1
).
get
(
"NEXT_GEN_DATE"
).
toString
().
substring
(
0
,
10
);
HashMap
<
String
,
Object
>
paramMap
=
new
HashMap
<
String
,
Object
>();
paramMap
.
put
(
"id"
,
plan
.
getId
());
paramMap
.
put
(
"next_gen_date"
,
strGenDate
);
if
(
XJConstant
.
SCHED_FLAG
.
equals
(
flag
))
{
paramMap
.
put
(
"plan_task_id"
,
0
);
//
修改为初始值
paramMap
.
put
(
"plan_task_id"
,
0
);
//
修改为初始值
paramMap
.
put
(
"first_flag"
,
XJConstant
.
PLAN_FIRST_STATUS_NO
);
}
else
if
(!
XJConstant
.
SCHED_FLAG
.
equals
(
flag
)
&&
(
genDate
.
getTime
()
-
tomorrow
.
getTime
()
>=
0
)
&&
XJConstant
.
FIX_DATE_NO
.
equals
(
plan
.
getIsFixedDate
()))
{
//更新日期及plantaskId到plan表
}
else
if
(!
XJConstant
.
SCHED_FLAG
.
equals
(
flag
)
&&
(
genDate
.
getTime
()
-
tomorrow
.
getTime
()
>=
0
)
&&
XJConstant
.
FIX_DATE_NO
.
equals
(
plan
.
getIsFixedDate
()))
{
// 更新日期及plantaskId到plan表
long
planTaskId
=
iplanTaskDao
.
findMaxIdByBatchNo
(
batchNo
);
paramMap
.
put
(
"plan_task_id"
,
planTaskId
);
// 更新新的任务id到plan
paramMap
.
put
(
"first_flag"
,
XJConstant
.
PLAN_FIRST_STATUS_NO
);
}
if
(
DateUtil
.
str2Date
(
strGenDate
,
"yyyy-MM-dd"
).
getTime
()
-
now
.
getTime
()
<
0
||
org
.
apache
.
commons
.
lang
.
StringUtils
.
isBlank
(
strGenDate
))
{
if
(
DateUtil
.
str2Date
(
strGenDate
,
"yyyy-MM-dd"
).
getTime
()
-
now
.
getTime
()
<
0
||
org
.
apache
.
commons
.
lang
.
StringUtils
.
isBlank
(
strGenDate
))
{
paramMap
.
put
(
"next_gen_date"
,
DateUtil
.
formatDatrToStr
(
now
,
"yyyy-MM-dd"
));
}
planMapper
.
updPlanStatusOrGenDate
(
paramMap
);
// 更新下次任务生成日期
...
...
@@ -591,14 +673,14 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
List
<
Point
>
pointList
=
pointMapper
.
getPointByPlanId
(
String
.
valueOf
(
plan
.
getId
()));
if
(!
ValidationUtil
.
isEmpty
(
pointList
))
{
List
<
String
>
originalIdList
=
Lists
.
transform
(
pointList
,
Point:
:
getOriginalId
);
List
<
OrgUsrFormDto
>
personList
=
jcsFeignClient
.
getPersonListByCompanyIdList
(
Joiner
.
on
(
","
).
join
(
originalIdList
)).
getResult
();
List
<
OrgUsrFormDto
>
personList
=
jcsFeignClient
.
getPersonListByCompanyIdList
(
Joiner
.
on
(
","
).
join
(
originalIdList
)).
getResult
();
List
<
String
>
personIdList
=
Lists
.
transform
(
personList
,
OrgUsrFormDto:
:
getAmosOrgId
);
List
<
RoleModel
>
roleList
=
Privilege
.
roleClient
.
queryRoleList
(
supervisionPersonChargerRole
,
null
)
.
getResult
();
List
<
RoleModel
>
roleList
=
Privilege
.
roleClient
.
queryRoleList
(
supervisionPersonChargerRole
,
null
)
.
getResult
();
if
(!
ValidationUtil
.
isEmpty
(
roleList
))
{
List
<
AgencyUserModel
>
agencyUserModelList
=
Privilege
.
agencyUserClient
.
queryByRoleId
(
String
.
valueOf
(
roleList
.
get
(
0
).
getSequenceNbr
()),
null
).
getResult
();
List
<
AgencyUserModel
>
agencyUserModelList
=
Privilege
.
agencyUserClient
.
queryByRoleId
(
String
.
valueOf
(
roleList
.
get
(
0
).
getSequenceNbr
()),
null
).
getResult
();
if
(!
ValidationUtil
.
isEmpty
(
agencyUserModelList
))
{
agencyUserModelList
.
forEach
(
userModel
->
{
if
(
personIdList
.
contains
(
userModel
.
getUserId
()))
{
...
...
@@ -610,7 +692,16 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
log
.
info
(
String
.
format
(
"计划对象:%s"
,
JSON
.
toJSON
(
plan
)));
// 规则推送消息
rulePlanService
.
addPlanRule
(
plan
,
null
,
RuleTypeEnum
.
计划生成
,
extraUserIds
);
//根据bug4150 将此处的计划生成的枚举值变成了消息,既TASK -> NOTIFY
rulePlanService
.
addPlanRule
(
plan
,
null
,
RuleTypeEnum
.
消息型计划生成
,
extraUserIds
);
// 根据bug4150 将此处的计划生成的枚举值变成了消息,既TASK ->
// NOTIFY
String
userIdString
=
plan
.
getUserId
();
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
userIdString
))
{
String
[]
userIdArr
=
userIdString
.
split
(
","
);
List
<
String
>
userIdList
=
Arrays
.
asList
(
userIdArr
);
// 规则推送消息
rulePlanService
.
addPlanRule
(
plan
,
null
,
RuleTypeEnum
.
任务型计划生成
,
userIdList
);
// 根据bug5569
}
}
@Override
...
...
@@ -644,8 +735,9 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Override
public
Page
<
HashMap
<
String
,
Object
>>
getPlanTasks
(
HashMap
<
String
,
Object
>
params
,
CommonPageable
pageParam
)
{
List
<
HashMap
<
String
,
Object
>>
content
=
Lists
.
newArrayList
();
ReginParams
reginParam
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
()
,
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
ReginParams
reginParam
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
params
.
put
(
"loginUserId"
,
reginParam
.
getPersonIdentity
().
getPersonSeq
());
long
total
=
planTaskMapper
.
getPlanTasksCount
(
params
);
if
(
total
==
0
)
{
...
...
@@ -656,7 +748,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
content
=
planTaskMapper
.
getPlanTasks
(
params
);
content
.
forEach
(
c
->
{
if
(
c
.
containsKey
(
"finishStatus"
))
{
String
finishStatusDesc
=
PlanTaskFinishStatusEnum
.
getName
(
Integer
.
parseInt
(
c
.
get
(
"finishStatus"
).
toString
()));
String
finishStatusDesc
=
PlanTaskFinishStatusEnum
.
getName
(
Integer
.
parseInt
(
c
.
get
(
"finishStatus"
).
toString
()));
c
.
put
(
"finishStatusDesc"
,
finishStatusDesc
);
}
});
...
...
@@ -673,7 +766,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
Map
map
=
new
HashMap
();
map
=
planTaskMapper
.
queryPlanTaskById
(
planTaskId
);
if
(
map
.
containsKey
(
"finishStatus"
))
{
String
finishStatusDesc
=
PlanTaskFinishStatusEnum
.
getName
(
Integer
.
parseInt
(
map
.
get
(
"finishStatus"
).
toString
()));
String
finishStatusDesc
=
PlanTaskFinishStatusEnum
.
getName
(
Integer
.
parseInt
(
map
.
get
(
"finishStatus"
).
toString
()));
map
.
put
(
"finishStatusDesc"
,
finishStatusDesc
);
}
return
map
;
...
...
@@ -743,17 +837,21 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
Map
<
String
,
String
>
depMap
=
new
HashMap
<>();
if
(!
CollectionUtils
.
isEmpty
(
userList
))
{
userIds
=
String
.
join
(
","
,
userList
);
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
userIds
);
userMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
userIds
);
userMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
for
(
AgencyUserModel
agencyUserModel
:
userModelList
)
{
LoginName
.
put
(
agencyUserModel
.
getUserId
(),
agencyUserModel
.
getMobile
()
!=
null
?
agencyUserModel
.
getMobile
()
:
agencyUserModel
.
getLandlinePhone
());
LoginName
.
put
(
agencyUserModel
.
getUserId
(),
agencyUserModel
.
getMobile
()
!=
null
?
agencyUserModel
.
getMobile
()
:
agencyUserModel
.
getLandlinePhone
());
}
}
if
(!
CollectionUtils
.
isEmpty
(
deptList
))
{
String
dept
=
String
.
join
(
","
,
deptList
);
List
<
LinkedHashMap
>
deptL
=
remoteSecurityService
.
listDepartmentByDeptIds
(
toke
,
product
,
appKey
,
dept
);
if
(
deptL
!=
null
&&
deptL
.
size
()
>
0
)
{
//
新安全
//
新安全
content
.
forEach
(
s
->
{
Set
<
String
>
set1
=
deptMap
.
get
(
s
.
getId
());
if
(!
ValidationUtil
.
isEmpty
(
set1
))
{
...
...
@@ -795,7 +893,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
long
total
=
planTaskMapper
.
countChkExListData
(
param
);
List
<
CheckChkExListBo
>
content
=
planTaskMapper
.
getChkExList
(
param
);
//
获取用户联系方式
//
获取用户联系方式
String
userIds
=
""
;
Set
<
String
>
set
=
new
HashSet
<>();
content
.
forEach
(
s
->
{
...
...
@@ -808,8 +906,10 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
Map
<
String
,
AgencyUserModel
>
agencyUserModelMap
=
new
HashMap
<>();
if
(!
CollectionUtils
.
isEmpty
(
userList
))
{
userIds
=
String
.
join
(
","
,
userList
);
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
userIds
);
agencyUserModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
Function
.
identity
()));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
userIds
);
agencyUserModelMap
=
userModelList
.
stream
()
.
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
Function
.
identity
()));
}
for
(
CheckChkExListBo
bo
:
content
)
{
ArrayList
<
String
>
names
=
new
ArrayList
<>();
...
...
@@ -845,7 +945,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
@Override
public
AppPointCheckRespone
queryPointPlanTaskDetail
(
String
toke
,
String
product
,
String
appKey
,
Long
planTaskId
,
Long
pointId
)
{
public
AppPointCheckRespone
queryPointPlanTaskDetail
(
String
toke
,
String
product
,
String
appKey
,
Long
planTaskId
,
Long
pointId
)
{
AppPointCheckRespone
pointCheckRespone
=
new
AppPointCheckRespone
();
Check
check
=
checkDao
.
findByPlanTaskIdAndPointId
(
planTaskId
,
pointId
);
if
(
check
!=
null
)
{
...
...
@@ -853,11 +954,12 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
else
{
PointCheckDetailBo
planPointInfo
=
planTaskMapper
.
getPointPlanTaskInfo
(
planTaskId
,
pointId
);
if
(
planPointInfo
!=
null
)
{
List
<
String
>
userIds
=
Arrays
.
asList
(
planPointInfo
.
getUsername
().
split
(
","
));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
planPointInfo
.
getUsername
());
Map
<
String
,
String
>
userModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
planPointInfo
.
getUsername
());
Map
<
String
,
String
>
userModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
if
(
userModelMap
!=
null
)
{
List
<
String
>
userNameList
=
new
ArrayList
<>();
for
(
String
userId
:
userIds
)
{
...
...
@@ -867,7 +969,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
userNameList
.
remove
(
null
);
pointCheckRespone
.
setUsername
(
Joiner
.
on
(
","
).
join
(
userNameList
));
}
DepartmentModel
departmentBo
=
remoteSecurityService
.
getDepartmentByDeptId
(
toke
,
product
,
appKey
,
planPointInfo
.
getUsername
());
DepartmentModel
departmentBo
=
remoteSecurityService
.
getDepartmentByDeptId
(
toke
,
product
,
appKey
,
planPointInfo
.
getUsername
());
if
(
departmentBo
!=
null
)
{
pointCheckRespone
.
setDepartmentName
(
departmentBo
.
getDepartmentName
());
}
...
...
@@ -876,7 +979,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
pointCheckRespone
.
setPointNo
(
planPointInfo
.
getPointNo
());
pointCheckRespone
.
setPointStatus
(
"0"
);
pointCheckRespone
.
setPlanName
(
planPointInfo
.
getPlanName
());
List
<
PointCheckDetailBo
>
pointInputs
=
planTaskMapper
.
getPointInputByRouteIdAndPointId
(
planPointInfo
.
getRouteId
(),
planPointInfo
.
getPointId
());
List
<
PointCheckDetailBo
>
pointInputs
=
planTaskMapper
.
getPointInputByRouteIdAndPointId
(
planPointInfo
.
getRouteId
(),
planPointInfo
.
getPointId
());
JSONObject
appResponeMap
=
new
JSONObject
();
pointInputs
.
forEach
(
action
->
{
AppCheckInputRespone
input
=
new
AppCheckInputRespone
();
...
...
@@ -909,7 +1013,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
@Override
public
AppPointCheckRespone
queryPointPlanTaskDetailInVersion2
(
String
toke
,
String
product
,
String
appKey
,
Long
planTaskId
,
Long
pointId
)
{
public
AppPointCheckRespone
queryPointPlanTaskDetailInVersion2
(
String
toke
,
String
product
,
String
appKey
,
Long
planTaskId
,
Long
pointId
)
{
AppPointCheckRespone
pointCheckRespone
=
new
AppPointCheckRespone
();
Check
check
=
checkDao
.
findByPlanTaskIdAndPointId
(
planTaskId
,
pointId
);
if
(
check
!=
null
)
{
...
...
@@ -923,14 +1028,16 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
pointCheckRespone
.
setPointNo
(
planPointInfo
.
getPointNo
());
pointCheckRespone
.
setPointStatus
(
"0"
);
pointCheckRespone
.
setPlanName
(
planPointInfo
.
getPlanName
());
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
planPointInfo
.
getUserId
());
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
,
product
,
appKey
,
planPointInfo
.
getUserId
());
for
(
AgencyUserModel
userModel
:
userModelList
)
{
pointCheckRespone
.
setUsername
(
userModel
.
getRealName
());
}
// DepartmentModel departmentModel= remoteSecurityService.getDepartmentByDeptId(toke, product, appKey,planPointInfo.getCheckDepartmentId());
DepartmentModel
departmentModel
=
new
DepartmentModel
();
pointCheckRespone
.
setDepartmentName
(
departmentModel
.
getDepartmentName
());
List
<
PointCheckDetailBo
>
pointInputs
=
planTaskMapper
.
getPointInputByRouteIdAndPointId
(
planPointInfo
.
getRouteId
(),
planPointInfo
.
getPointId
());
List
<
PointCheckDetailBo
>
pointInputs
=
planTaskMapper
.
getPointInputByRouteIdAndPointId
(
planPointInfo
.
getRouteId
(),
planPointInfo
.
getPointId
());
JSONObject
appResponeMap
=
new
JSONObject
();
pointInputs
.
forEach
(
action
->
{
...
...
@@ -1035,8 +1142,10 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
});
Toke
toke
=
remoteSecurityService
.
getServerToken
();
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
.
getToke
(),
toke
.
getProduct
(),
toke
.
getAppKey
(),
Joiner
.
on
(
","
).
join
(
userIds
));
Map
<
String
,
String
>
userModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
.
getToke
(),
toke
.
getProduct
(),
toke
.
getAppKey
(),
Joiner
.
on
(
","
).
join
(
userIds
));
Map
<
String
,
String
>
userModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
content
.
forEach
(
e
->
{
StringBuffer
userNames
=
new
StringBuffer
();
...
...
@@ -1085,8 +1194,10 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
});
Toke
toke
=
remoteSecurityService
.
getServerToken
();
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
.
getToke
(),
toke
.
getProduct
(),
toke
.
getAppKey
(),
Joiner
.
on
(
","
).
join
(
userIds
));
Map
<
String
,
String
>
userModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
List
<
AgencyUserModel
>
userModelList
=
remoteSecurityService
.
listUserByUserIds
(
toke
.
getToke
(),
toke
.
getProduct
(),
toke
.
getAppKey
(),
Joiner
.
on
(
","
).
join
(
userIds
));
Map
<
String
,
String
>
userModelMap
=
userModelList
.
stream
().
collect
(
Collectors
.
toMap
(
AgencyUserModel:
:
getUserId
,
AgencyUserModel:
:
getRealName
,
(
k1
,
k2
)
->
k2
));
content
.
forEach
(
e
->
{
StringBuffer
userNames
=
new
StringBuffer
();
...
...
@@ -1099,7 +1210,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
map
.
put
(
"beginTime"
,
DateUtil
.
formatDatrToStr
((
Date
)
e
.
get
(
"beginTime"
),
DateUtil
.
LONG_PATTERN
));
map
.
put
(
"endTime"
,
DateUtil
.
formatDatrToStr
((
Date
)
e
.
get
(
"endTime"
),
DateUtil
.
LONG_PATTERN
));
map
.
put
(
"leftName"
,
"巡检点"
);
map
.
put
(
"titleName"
,
userNames
.
substring
(
0
,
userNames
.
length
()
-
1
)
+
"-"
+
e
.
get
(
"name"
).
toString
()
+
"-"
+
e
.
get
(
"STATUS"
).
toString
());
map
.
put
(
"titleName"
,
userNames
.
substring
(
0
,
userNames
.
length
()
-
1
)
+
"-"
+
e
.
get
(
"name"
).
toString
()
+
"-"
+
e
.
get
(
"STATUS"
).
toString
());
String
structName
=
""
;
if
(!
StringUtils
.
isEmpty
(
e
.
get
(
"risk_source_id"
)))
{
for
(
int
i
=
0
;
i
<
structList
.
size
();
i
++)
{
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-supervision-biz/src/main/java/com/yeejoin/amos/supervision/business/service/intfc/IPlanTaskService.java
View file @
34623b64
...
...
@@ -16,6 +16,7 @@ import org.springframework.data.domain.Page;
import
com.yeejoin.amos.supervision.business.param.CheckPtListPageParam
;
import
com.yeejoin.amos.supervision.business.param.PlanTaskPageParam
;
import
com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone
;
import
com.yeejoin.amos.supervision.dao.entity.Plan
;
import
com.yeejoin.amos.supervision.dao.entity.PlanTask
;
public
interface
IPlanTaskService
{
...
...
@@ -171,4 +172,6 @@ public interface IPlanTaskService {
List
<
Map
<
String
,
Object
>>
queryPlanTaskTimeAxis
(
Long
userId
,
Integer
createDate
);
List
<
Map
<
String
,
Object
>>
queryTimeAxis
(
Long
userId
,
Integer
createDate
);
void
taskExecutionImportPlan
(
List
<
Plan
>
planList
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment