Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
indicators
Overview
Overview
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
zhangkb
indicators
Commits
eba126aa
Commit
eba126aa
authored
Jul 21, 2020
by
张祺
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修正任务下发启动的问题
parent
b258d5b8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
114 additions
and
96 deletions
+114
-96
TaskServiceImpl.java
...le/indicators/service/dataenter/impl/TaskServiceImpl.java
+113
-95
NoticeInfoMapper.xml
src/main/resources/mybatis/mapping/NoticeInfoMapper.xml
+1
-1
No files found.
src/main/java/com/keymobile/indicators/service/dataenter/impl/TaskServiceImpl.java
View file @
eba126aa
...
@@ -432,6 +432,8 @@ public class TaskServiceImpl implements TaskService {
...
@@ -432,6 +432,8 @@ public class TaskServiceImpl implements TaskService {
models
.
add
(
model
);
models
.
add
(
model
);
}
}
break
;
break
;
case
Constants
.
OBJ_TYPE_USER
:
break
;
}
}
Map
<
String
,
String
>
idMapValues
=
new
HashMap
<>();
Map
<
String
,
String
>
idMapValues
=
new
HashMap
<>();
for
(
TaskIndValue
value
:
values
)
{
for
(
TaskIndValue
value
:
values
)
{
...
@@ -587,110 +589,126 @@ public class TaskServiceImpl implements TaskService {
...
@@ -587,110 +589,126 @@ public class TaskServiceImpl implements TaskService {
Result
result
=
null
;
Result
result
=
null
;
TaskRule
rule
=
taskRuleService
.
getById
(
ruleId
,
true
);
TaskRule
rule
=
taskRuleService
.
getById
(
ruleId
,
true
);
if
(
rule
!=
null
)
{
if
(
rule
!=
null
)
{
String
roleIdStr
=
rule
.
getToRoleIds
();
List
<
Task
>
tasks
=
taskMapper
.
getByRuleIdAndValueTime
(
ruleId
,
valueTime
,
false
);
if
(
StringUtils
.
isNotBlank
(
roleIdStr
))
{
if
(
CollectionUtils
.
isNotEmpty
(
tasks
))
{
List
<
NoticeInfo
>
noticeInfos
=
new
ArrayList
<>();
boolean
found
=
false
;
List
<
RoleRefUserModel
>
users
=
getUserByRoleIdStr
(
roleIdStr
);
for
(
Task
t
:
tasks
)
{
if
(
users
.
size
()
>
0
)
{
if
(
t
.
getStatus
()
==
Constants
.
APPLY_STATE_DRAFT
||
t
.
getStatus
()
==
Constants
.
APPLY_STATE_AUDITING
)
{
List
<
TaskRuleIndicator
>
indicators
=
rule
.
getIndicators
();
found
=
true
;
if
(
CollectionUtils
.
isNotEmpty
(
indicators
))
{
}
List
<
TaskIndicator
>
taskIndicators
=
new
ArrayList
<>();
}
for
(
TaskRuleIndicator
indicator
:
indicators
)
{
if
(
found
)
{
List
<
BaseIndDef
>
baseIndDefs
=
result
=
Result
.
genFailedResult
(
"该规则已经存在相同时间的任务在填报或者审核中"
);
this
.
indRelService
.
getRelByIndId
(
indicator
.
getIndId
(),
"1"
);
}
getBaseIndDef
(
ruleId
,
null
,
baseIndDefs
,
taskIndicators
);
}
}
if
(
result
==
null
)
{
if
(
CollectionUtils
.
isNotEmpty
(
taskIndicators
))
{
String
roleIdStr
=
rule
.
getToRoleIds
();
//数据项按归属部门分组
if
(
StringUtils
.
isNotBlank
(
roleIdStr
))
{
ImmutableListMultimap
<
String
,
TaskIndicator
>
deptMapInds
=
List
<
NoticeInfo
>
noticeInfos
=
new
ArrayList
<>();
Multimaps
.
index
(
taskIndicators
,
(
taskIndicator
)
->
taskIndicator
.
getIndDept
());
List
<
RoleRefUserModel
>
users
=
getUserByRoleIdStr
(
roleIdStr
);
//角色关联用户按归属部门分组
if
(
users
.
size
()
>
0
)
{
ImmutableListMultimap
<
String
,
RoleRefUserModel
>
deptUsers
=
List
<
TaskRuleIndicator
>
indicators
=
rule
.
getIndicators
();
Multimaps
.
index
(
users
,
(
roleRefUser
)
->
roleRefUser
.
getRefIndDept
());
if
(
CollectionUtils
.
isNotEmpty
(
indicators
))
{
//每个分组组成一个任务
List
<
TaskIndicator
>
taskIndicators
=
new
ArrayList
<>();
Date
now
=
new
Date
();
for
(
TaskRuleIndicator
indicator
:
indicators
)
{
int
addEndDate
=
rule
.
getTimeLimit
();
List
<
BaseIndDef
>
baseIndDefs
=
int
addAuditDate
=
rule
.
getAuditLimit
();
this
.
indRelService
.
getRelByIndId
(
indicator
.
getIndId
(),
"1"
);
Date
editEndDate
=
DateUtils
.
addDay
(
now
,
addEndDate
);
getBaseIndDef
(
ruleId
,
null
,
baseIndDefs
,
taskIndicators
);
Date
auditEndDate
=
DateUtils
.
addDay
(
now
,
addEndDate
+
addAuditDate
);
}
String
user
=
SystemUserUtil
.
getCurrentUser
();
if
(
CollectionUtils
.
isNotEmpty
(
taskIndicators
))
{
List
<
Task
>
allTasks
=
new
ArrayList
<>();
//数据项按归属部门分组
for
(
String
dept
:
deptMapInds
.
keys
())
{
ImmutableListMultimap
<
String
,
TaskIndicator
>
deptMapInds
=
List
<
TaskIndicator
>
tis
=
deptMapInds
.
get
(
dept
);
Multimaps
.
index
(
taskIndicators
,
(
taskIndicator
)
->
taskIndicator
.
getIndDept
());
List
<
RoleRefUserModel
>
refUsers
=
deptUsers
.
get
(
dept
);
//角色关联用户按归属部门分组
if
(
CollectionUtils
.
isEmpty
(
refUsers
))
{
ImmutableListMultimap
<
String
,
RoleRefUserModel
>
deptUsers
=
result
=
Result
.
genFailedResult
(
"该规则对应的数据项所属部门{"
+
dept
+
"}找不到对应的用户"
);
Multimaps
.
index
(
users
,
(
roleRefUser
)
->
roleRefUser
.
getRefIndDept
());
break
;
//每个分组组成一个任务
}
else
{
Date
now
=
new
Date
();
Task
task
=
new
Task
();
int
addEndDate
=
rule
.
getTimeLimit
();
task
.
setId
(
IdWorker
.
getStrId
());
int
addAuditDate
=
rule
.
getAuditLimit
();
task
.
setValueTime
(
valueTime
);
Date
editEndDate
=
DateUtils
.
addDay
(
now
,
addEndDate
);
task
.
setCreateTime
(
now
);
Date
auditEndDate
=
DateUtils
.
addDay
(
now
,
addEndDate
+
addAuditDate
);
task
.
setNeedLast
(
needLast
);
String
user
=
SystemUserUtil
.
getCurrentUser
();
task
.
setToRoleNames
(
rule
.
getToRoleNames
());
List
<
Task
>
allTasks
=
new
ArrayList
<>();
task
.
setCreator
(
user
);
for
(
String
dept
:
deptMapInds
.
keySet
())
{
task
.
setUpdateTime
(
now
);
List
<
TaskIndicator
>
tis
=
deptMapInds
.
get
(
dept
);
task
.
setUpdater
(
user
);
List
<
RoleRefUserModel
>
refUsers
=
deptUsers
.
get
(
dept
);
task
.
setStatus
(
Constants
.
APPLY_STATE_DRAFT
);
if
(
CollectionUtils
.
isEmpty
(
refUsers
))
{
task
.
setState
(
Constants
.
DATA_STATE_A
);
result
=
Result
.
genFailedResult
(
"该规则对应的数据项所属部门{"
+
dept
+
"}找不到对应的用户"
);
task
.
setIndicators
(
tis
);
break
;
task
.
setNeedSelfEnter
(
false
);
}
else
{
task
.
setHasChildren
(
false
);
Task
task
=
new
Task
();
task
.
setNeedSum
(
false
);
task
.
setId
(
IdWorker
.
getStrId
());
task
.
setEndDate
(
editEndDate
);
task
.
setValueTime
(
valueTime
);
task
.
setAuditEndDate
(
auditEndDate
);
task
.
setCreateTime
(
now
);
task
.
setRuleName
(
rule
.
getName
());
task
.
setNeedLast
(
needLast
);
task
.
setRuleType
(
rule
.
getRuleType
());
task
.
setToRoleNames
(
rule
.
getToRoleNames
());
task
.
setRuleId
(
rule
.
getId
());
task
.
setCreator
(
user
);
task
.
setRuleLevel
(
rule
.
getRuleLevel
());
task
.
setUpdateTime
(
now
);
task
.
setGroupId
(
rule
.
getGroupId
());
task
.
setUpdater
(
user
);
task
.
setRefIndDept
(
dept
);
task
.
setStatus
(
Constants
.
APPLY_STATE_DRAFT
);
task
.
setDescription
(
rule
.
getDescription
());
task
.
setState
(
Constants
.
DATA_STATE_A
);
StringBuilder
userNames
=
new
StringBuilder
(
Constants
.
SEP_COMMA
);
task
.
setIndicators
(
tis
);
StringBuilder
userIds
=
new
StringBuilder
(
Constants
.
SEP_COMMA
);
task
.
setNeedSelfEnter
(
false
);
for
(
RoleRefUserModel
um
:
refUsers
)
{
task
.
setHasChildren
(
false
);
userNames
.
append
(
um
.
getDisName
());
task
.
setNeedSum
(
false
);
userNames
.
append
(
Constants
.
SEP_COMMA
);
task
.
setEndDate
(
editEndDate
);
userIds
.
append
(
um
.
getId
());
task
.
setAuditEndDate
(
auditEndDate
);
userIds
.
append
(
Constants
.
SEP_COMMA
);
task
.
setRuleName
(
rule
.
getName
());
NoticeInfo
noticeInfo
=
new
NoticeInfo
();
task
.
setRuleType
(
rule
.
getRuleType
());
noticeInfo
.
setCreateTime
(
now
);
task
.
setRuleId
(
rule
.
getId
());
noticeInfo
.
setCreator
(
user
);
task
.
setRuleLevel
(
rule
.
getRuleLevel
());
noticeInfo
.
setDetail
(
"您有新的数据填报任务:"
+
task
.
setGroupId
(
rule
.
getGroupId
());
task
.
getRuleName
()
+
"-["
+
task
.
getId
()+
"]"
);
task
.
setRefIndDept
(
dept
);
noticeInfo
.
setTitle
(
"您有新的数据填报任务:"
+
task
.
getRuleName
()
);
task
.
setDescription
(
rule
.
getDescription
());
noticeInfo
.
setToUserId
(
um
.
getId
());
StringBuilder
userNames
=
new
StringBuilder
(
Constants
.
SEP_COMMA
);
noticeInfo
.
setIsRead
(
false
);
StringBuilder
userIds
=
new
StringBuilder
(
Constants
.
SEP_COMMA
);
noticeInfo
.
setState
(
Constants
.
DATA_STATE_A
);
for
(
RoleRefUserModel
um
:
refUsers
)
{
noticeInfo
.
setUpdater
(
user
);
userNames
.
append
(
um
.
getDisName
());
noticeInfo
.
setUpdateTime
(
now
);
userNames
.
append
(
Constants
.
SEP_COMMA
);
noticeInfos
.
add
(
noticeInfo
);
userIds
.
append
(
um
.
getId
());
userIds
.
append
(
Constants
.
SEP_COMMA
);
NoticeInfo
noticeInfo
=
new
NoticeInfo
();
noticeInfo
.
setCreateTime
(
now
);
noticeInfo
.
setCreator
(
user
);
noticeInfo
.
setDetail
(
"您有新的数据填报任务:"
+
task
.
getRuleName
()
+
"-["
+
task
.
getId
()
+
"]"
);
noticeInfo
.
setTitle
(
"您有新的数据填报任务:"
+
task
.
getRuleName
());
noticeInfo
.
setToUserId
(
um
.
getId
());
noticeInfo
.
setIsRead
(
false
);
noticeInfo
.
setState
(
Constants
.
DATA_STATE_A
);
noticeInfo
.
setUpdater
(
user
);
noticeInfo
.
setUpdateTime
(
now
);
noticeInfos
.
add
(
noticeInfo
);
}
task
.
setEnterUsers
(
userIds
.
toString
());
task
.
setEnterUserNames
(
userNames
.
toString
());
allTasks
.
add
(
task
);
}
}
task
.
setEnterUsers
(
userIds
.
toString
());
task
.
setEnterUserNames
(
userNames
.
toString
());
allTasks
.
add
(
task
);
}
}
}
if
(
result
==
null
)
{
if
(
result
!=
null
&&
!
allTasks
.
isEmpty
())
{
if
(!
allTasks
.
isEmpty
())
{
this
.
batchCreateTask
(
allTasks
,
valueTime
,
ruleId
);
this
.
batchCreateTask
(
allTasks
,
valueTime
,
ruleId
);
rule
.
setLastActiveTime
(
now
);
rule
.
setLastActiveTime
(
now
);
taskRuleService
.
updateRuleWithInd
(
rule
);
taskRuleService
.
updateRuleWithInd
(
rule
);
noticeInfoService
.
createNotices
(
noticeInfos
);
noticeInfoService
.
createNotices
(
noticeInfos
);
result
=
Result
.
genOkResult
();
result
=
Result
.
genOkResult
();
}
else
if
(
result
!=
null
)
{
}
else
{
result
=
Result
.
genFailedResult
(
"规则配置没有生成可用的任务信息"
);
result
=
Result
.
genFailedResult
(
"规则配置没有生成可用的任务信息"
);
}
}
}
else
{
result
=
Result
.
genFailedResult
(
"规则配置的指标没有可用的数据项"
);
}
}
}
else
{
}
else
{
result
=
Result
.
genFailedResult
(
"规则
配置的指标没有可用的数据项
"
);
result
=
Result
.
genFailedResult
(
"规则
没有配置相关的指标
"
);
}
}
}
else
{
}
else
{
result
=
Result
.
genFailedResult
(
"
规则没有配置相关的指标
"
);
result
=
Result
.
genFailedResult
(
"
找不到用户来生成任务
"
);
}
}
}
else
{
}
else
{
result
=
Result
.
genFailedResult
(
"
找不到用户来生成任务
"
);
result
=
Result
.
genFailedResult
(
"
规则没有配置对应的下发对象
"
);
}
}
}
else
{
result
=
Result
.
genFailedResult
(
"规则没有配置对应的下发对象"
);
}
}
}
else
{
}
else
{
result
=
Result
.
genFailedResult
(
"规则不存在"
);
result
=
Result
.
genFailedResult
(
"规则不存在"
);
...
...
src/main/resources/mybatis/mapping/NoticeInfoMapper.xml
View file @
eba126aa
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
values
values
<foreach
collection=
"notices"
item=
"nt"
separator=
","
>
<foreach
collection=
"notices"
item=
"nt"
separator=
","
>
(
(
#{nt.tit
ile}, #{nt.detail}, #{nt.isRead}, #{nt.toUser
}, #{nt.state},
#{nt.tit
le}, #{nt.detail}, #{nt.isRead}, #{nt.toUserId
}, #{nt.state},
#{nt.creator},#{nt.updater}, #{nt.createTime}, #{nt.updateTime}
#{nt.creator},#{nt.updater}, #{nt.createTime}, #{nt.updateTime}
)
)
</foreach>
</foreach>
...
...
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