Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
N
notes2.0
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zjm
notes2.0
Commits
05c20d1e
提交
05c20d1e
authored
4月 10, 2020
作者:
gongwenjie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of git.yfzx.zjtys.com.cn:zjm/notes2.0
上级
10d26492
52532a65
显示空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
1020 行增加
和
239 行删除
+1020
-239
ScController.java
...a/com/zjty/tynotes/job/basic/controller/ScController.java
+11
-12
WorkController.java
...com/zjty/tynotes/job/basic/controller/WorkController.java
+7
-1
ScoreCoefficient.java
...y/tynotes/job/basic/entity/database/ScoreCoefficient.java
+33
-9
Work.java
...java/com/zjty/tynotes/job/basic/entity/database/Work.java
+24
-1
ScRo.java
.../java/com/zjty/tynotes/job/basic/entity/request/ScRo.java
+16
-11
WorkVo.java
...va/com/zjty/tynotes/job/basic/entity/response/WorkVo.java
+23
-3
ScoreCoefficientRepository.java
...otes/job/basic/repository/ScoreCoefficientRepository.java
+5
-1
AttachmentService.java
...com/zjty/tynotes/job/basic/service/AttachmentService.java
+2
-1
WorkService.java
.../java/com/zjty/tynotes/job/basic/service/WorkService.java
+6
-1
AttachmentServiceImpl.java
...tynotes/job/basic/service/impl/AttachmentServiceImpl.java
+1
-0
ConversionServiceImpl.java
...tynotes/job/basic/service/impl/ConversionServiceImpl.java
+13
-2
ScoreCoefficientServiceImpl.java
...s/job/basic/service/impl/ScoreCoefficientServiceImpl.java
+2
-2
WorkServiceImpl.java
.../zjty/tynotes/job/basic/service/impl/WorkServiceImpl.java
+47
-1
TestService.java
...java/com/zjty/tynotes/job/status/service/TestService.java
+1
-1
BusinessTreeManagementImpl.java
...s/job/status/service/impl/BusinessTreeManagementImpl.java
+22
-2
TestServiceImpl.java
...zjty/tynotes/job/status/service/impl/TestServiceImpl.java
+729
-181
Task.java
notes-job/src/main/java/com/zjty/tynotes/job/task/Task.java
+78
-10
没有找到文件。
notes-job/src/main/java/com/zjty/tynotes/job/basic/controller/ScController.java
浏览文件 @
05c20d1e
...
...
@@ -42,32 +42,31 @@ public class ScController {
@ApiOperation
(
value
=
"新增考评信息."
,
notes
=
"新增不可在数据中附带id.成功时返回新增数据保存的id."
)
public
ResponseEntity
<
JobResponse
>
add
(
@RequestBody
ScRo
scRo
)
{
String
saveId
=
scoreCoefficientService
.
add
(
scRo
.
toDb
());
businessTreeManagement
.
saveAction
(
scRo
.
getUserId
(),
scRo
.
getWorkId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
" 自我评价"
);
ScoreCoefficient
scoreCoefficient
=
scRo
.
toDb
();
scoreCoefficient
.
setTime
(
new
Date
());
String
saveId
=
scoreCoefficientService
.
add
(
scoreCoefficient
);
businessTreeManagement
.
saveAction
(
scRo
.
getUserId
(),
scRo
.
getWorkId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"自我评价"
);
return
ok
(
new
JobResponse
(
saveId
));
}
@PostMapping
(
"/select"
)
@ApiOperation
(
value
=
"
新增考评信息."
,
notes
=
"新增不可在数据中附带id.成功时返回新增数据保存的id.
"
)
@ApiOperation
(
value
=
"
查看考评信息."
,
notes
=
"查看考评信息
"
)
public
ResponseEntity
<
ScoreCoefficient
>
add1
(
@RequestParam
String
workId
)
{
return
ok
(
scoreCoefficientService
.
findById
(
workId
));
}
@PutMapping
(
"/upDate"
)
@ApiOperation
(
value
=
"考评信息修改."
,
notes
=
"修改必须在数据中附带id."
)
public
ResponseEntity
<
JobResponse
>
modify
(
@RequestBody
ScoreCoefficient
scoreCoefficient
,
@RequestParam
String
userId
)
{
ScoreCoefficient
scoreCoefficient1
=
scoreCoefficientService
.
findById
(
scoreCoefficient
.
getId
());
String
saveId
=
scoreCoefficientService
.
modify
(
scoreCoefficient
);
if
(
scoreCoefficient1
.
getScore2
()==
null
||
""
.
equals
(
scoreCoefficient1
.
getScore2
())){
businessTreeManagement
.
saveAction
(
userId
,
scoreCoefficient
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
" 发布者评价"
);
}
else
{
businessTreeManagement
.
saveAction
(
userId
,
scoreCoefficient
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
" 修改发布者评价"
);
@RequestParam
String
userId
,
@RequestParam
String
msg
)
{
if
(!
msg
.
equals
(
"修改考评"
)){
scoreCoefficient
.
setTime
(
new
Date
());
}
String
saveId
=
scoreCoefficientService
.
modify
(
scoreCoefficient
);
businessTreeManagement
.
saveAction
(
userId
,
scoreCoefficient
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
msg
);
return
ok
(
new
JobResponse
(
saveId
));
}
...
...
notes-job/src/main/java/com/zjty/tynotes/job/basic/controller/WorkController.java
浏览文件 @
05c20d1e
...
...
@@ -50,7 +50,6 @@ public class WorkController {
@GetMapping
(
value
=
"/{workId}"
)
@ApiOperation
(
value
=
"根据id查询工作."
,
notes
=
"在路径中指定要查询的工作id."
)
public
ResponseEntity
<
WorkVo
>
findById
(
@PathVariable
String
workId
)
{
...
...
@@ -199,4 +198,11 @@ public class WorkController {
return
ok
(
workService
.
selectUserIdsWork
(
userId
));
}
@GetMapping
(
value
=
"/select/work/workId/{workId}"
)
@ApiModelProperty
(
value
=
"根据任务id查询这个任务所在任务组里面"
,
notes
=
"查看任务的所有相关任务"
)
public
ResponseEntity
<
WorkMpping
>
selectWorkMappingWorkId
(
@PathVariable
(
"workId"
)
String
workId
){
return
ok
(
workService
.
selectWorkMapperWorkId
(
workId
));
}
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/entity/database/ScoreCoefficient.java
浏览文件 @
05c20d1e
...
...
@@ -7,6 +7,8 @@ import lombok.AllArgsConstructor;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
@Data
@AllArgsConstructor
@AutoDocument
...
...
@@ -32,23 +34,45 @@ public class ScoreCoefficient {
private
String
score1
;
/**
* 自评评语
* 组长评分
*/
@ApiModelProperty
(
value
=
"组长评分"
,
example
=
"groupLeaderScore2"
)
private
String
groupLeaderScore2
;
/**
* 总监评分
*/
@ApiModelProperty
(
value
=
"
自评评语"
,
example
=
"comments1
"
)
private
String
comments1
;
@ApiModelProperty
(
value
=
"
总监评分"
,
example
=
"directorScore2
"
)
private
String
directorScore2
;
/**
*
发布者评价
*
副总经理评分
*/
@ApiModelProperty
(
value
=
"发布者评价"
,
example
=
"score2"
)
private
String
score2
;
@ApiModelProperty
(
value
=
"副总经理评分"
,
example
=
"viceScore2"
)
private
String
viceScore3
;
/**
*
发布者评语
*
总经理评分
*/
@ApiModelProperty
(
value
=
"
发布者评语"
,
example
=
"comments2
"
)
private
String
comments2
;
@ApiModelProperty
(
value
=
"
正总经理评分"
,
example
=
"justScore4
"
)
private
String
justScore4
;
/**
* 最终工作量
*/
@ApiModelProperty
(
value
=
"最终工作量"
,
example
=
"endWorkLoad"
)
private
Double
endWorkLoad
;
/**
* 考评的时间 每个阶段考评的时间 后一个阶段考评了 覆盖这个时间
*/
private
Date
time
;
public
ScoreCoefficient
(
String
id
,
String
wordId
,
String
score1
,
String
groupLeaderScore2
,
String
directorScore2
,
String
viceScore3
,
String
justScore4
,
Double
endWorkLoad
)
{
this
.
id
=
id
;
this
.
wordId
=
wordId
;
this
.
score1
=
score1
;
this
.
groupLeaderScore2
=
groupLeaderScore2
;
this
.
directorScore2
=
directorScore2
;
this
.
viceScore3
=
viceScore3
;
this
.
justScore4
=
justScore4
;
this
.
endWorkLoad
=
endWorkLoad
;
}
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/entity/database/Work.java
浏览文件 @
05c20d1e
...
...
@@ -103,9 +103,15 @@ public class Work {
* 执行者id
*/
@NotNull
@ApiModelProperty
(
value
=
"组长id."
,
example
=
"
id
"
)
@ApiModelProperty
(
value
=
"组长id."
,
example
=
"
executor
"
)
private
String
executor
;
/**
* 审核者id
*/
@ApiModelProperty
(
value
=
"审核者."
,
example
=
"audit"
)
private
String
audit
;
/**
* 组员id集合
*/
...
...
@@ -166,5 +172,22 @@ public class Work {
@NotNull
private
int
workloadCount
=
1
;
/**
* 总监
*/
@ApiModelProperty
(
value
=
"总监id集合"
,
example
=
"[1,2,3]"
)
private
List
<
String
>
majordomos
;
/**
* 总经理id集合
*/
@ApiModelProperty
(
value
=
"总经理id集合"
,
example
=
"[1,2,3]"
)
private
List
<
String
>
generalManagers
;
/**
* 副经理id集合
*/
@ApiModelProperty
(
value
=
"副经理id集合"
,
example
=
"[1,2,3]"
)
private
List
<
String
>
assistantManagers
;
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/entity/request/ScRo.java
浏览文件 @
05c20d1e
...
...
@@ -31,30 +31,35 @@ public class ScRo {
private
String
score1
;
/**
*
自评评语
*
组长评分
*/
@ApiModelProperty
(
value
=
"
自评评语"
,
example
=
"comments1
"
)
private
String
comments1
;
@ApiModelProperty
(
value
=
"
组长评分"
,
example
=
"groupLeaderScore2
"
)
private
String
groupLeaderScore2
;
/**
*
发布者评价
*
总监评分
*/
@ApiModelProperty
(
value
=
"
发布者评价"
,
example
=
"s
core2"
)
private
String
s
core2
;
@ApiModelProperty
(
value
=
"
总监评分"
,
example
=
"directorS
core2"
)
private
String
directorS
core2
;
/**
*
发布者评语
*
副总经理评分
*/
@ApiModelProperty
(
value
=
"发布者评语"
,
example
=
"comments2"
)
private
String
comments2
;
@ApiModelProperty
(
value
=
"副总经理评分"
,
example
=
"viceScore2"
)
private
String
viceScore3
;
/**
* 总经理评分
*/
@ApiModelProperty
(
value
=
"正总经理评分"
,
example
=
"justScore4"
)
private
String
justScore4
;
/**
* 最终工作量
*/
@ApiModelProperty
(
value
=
"最终工作量"
,
example
=
"endWorkLoad"
)
private
Double
endWorkLoad
;
@ApiModelProperty
(
value
=
"用户id"
,
example
=
"userId"
)
private
String
userId
;
public
ScoreCoefficient
toDb
(){
return
new
ScoreCoefficient
(
id
,
workId
,
score1
,
comments1
,
score2
,
comments2
,
endWorkLoad
);
return
new
ScoreCoefficient
(
id
,
workId
,
score1
,
groupLeaderScore2
,
directorScore2
,
viceScore3
,
justScore4
,
endWorkLoad
);
}
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/entity/response/WorkVo.java
浏览文件 @
05c20d1e
...
...
@@ -147,9 +147,29 @@ public class WorkVo {
private
int
workloadCount
=
1
;
/**
* 审核者id
*/
@ApiModelProperty
(
value
=
"审核者."
,
example
=
"audit"
)
private
User
audit
;
/**
* 总监
*/
@ApiModelProperty
(
value
=
"总监id集合"
,
example
=
"[1,2,3]"
)
private
List
<
User
>
majordomos
;
/**
* 总经理id集合
*/
@ApiModelProperty
(
value
=
"总经理id集合"
,
example
=
"[1,2,3]"
)
private
List
<
User
>
generalManagers
;
/**
*
主任务对象
*
副经理id集合
*/
@ApiModelProperty
(
value
=
"
主任务对象
"
)
private
Work
workVo
s
;
@ApiModelProperty
(
value
=
"
副经理id集合"
,
example
=
"[1,2,3]
"
)
private
List
<
User
>
assistantManager
s
;
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/repository/ScoreCoefficientRepository.java
浏览文件 @
05c20d1e
...
...
@@ -10,6 +10,10 @@ import java.util.List;
public
interface
ScoreCoefficientRepository
extends
MongoRepository
<
ScoreCoefficient
,
String
>
{
List
<
ScoreCoefficient
>
findByWordId
(
String
workId
);
List
<
ScoreCoefficient
>
findByScore2IsNot
();
List
<
ScoreCoefficient
>
findAllByGroupLeaderScore2IsNullOrDirectorScore2IsNull
();
List
<
ScoreCoefficient
>
findAllByGroupLeaderScore2IsNotNullAndDirectorScore2IsNotNullAndViceScore3IsNull
();
List
<
ScoreCoefficient
>
findAllByViceScore3IsNotNullAndJustScore4IsNull
();
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/AttachmentService.java
浏览文件 @
05c20d1e
...
...
@@ -58,7 +58,8 @@ public interface AttachmentService {
/**
* 查找指定id的Work
*
* @param workId 指定id
* @param
* workId 指定id
* @return Work对象
*/
Attachment
findById
(
String
attachmentId
);
...
...
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/WorkService.java
浏览文件 @
05c20d1e
...
...
@@ -148,6 +148,11 @@ public interface WorkService {
List
<
WorkMpping
>
selectUserIdsWork
(
String
userId
);
/**
* 根据任务id查看其所有相关的任务
* @param workId 任务id
* @return 返回所有任务
*/
WorkMpping
selectWorkMapperWorkId
(
String
workId
);
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/impl/AttachmentServiceImpl.java
浏览文件 @
05c20d1e
...
...
@@ -10,6 +10,7 @@ import com.zjty.tynotes.job.common.exception.BadRequestException;
import
com.zjty.tynotes.job.common.exception.NotFoundException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
...
...
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/impl/ConversionServiceImpl.java
浏览文件 @
05c20d1e
...
...
@@ -34,6 +34,7 @@ public class ConversionServiceImpl implements ConversionService {
User
pUser
=
iUserService
.
findUserById
(
work
.
getPublisher
());
User
eUser
=
iUserService
.
findUserById
(
work
.
getExecutor
());
User
aUser
=
iUserService
.
findUserById
(
work
.
getAudit
());
List
<
User
>
users
=
new
ArrayList
<>();
List
<
String
>
uid
=
work
.
getCrewList
();
List
<
Attachment
>
attachments
=
new
ArrayList
<>();
...
...
@@ -77,7 +78,10 @@ public class ConversionServiceImpl implements ConversionService {
work
.
getWorkCoefficient
(),
work
.
getPWorkload
(),
work
.
getWorkloadCount
(),
null
aUser
,
selectUserIdAll
(
work
.
getMajordomos
()),
selectUserIdAll
(
work
.
getGeneralManagers
()),
selectUserIdAll
(
work
.
getAssistantManagers
())
);
}
else
{
return
new
WorkVo
(
...
...
@@ -101,8 +105,15 @@ public class ConversionServiceImpl implements ConversionService {
work
.
getWorkCoefficient
(),
work
.
getPWorkload
(),
work
.
getWorkloadCount
(),
priviceService
.
findByWorkIdWorkVo
(
work
.
getSuperiorId
()));
aUser
,
selectUserIdAll
(
work
.
getMajordomos
()),
selectUserIdAll
(
work
.
getGeneralManagers
()),
selectUserIdAll
(
work
.
getAssistantManagers
()));
}
}
private
List
<
User
>
selectUserIdAll
(
List
<
String
>
list
){
return
iUserService
.
findUserByIds
(
list
);
}
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/impl/ScoreCoefficientServiceImpl.java
浏览文件 @
05c20d1e
...
...
@@ -73,7 +73,7 @@ public class ScoreCoefficientServiceImpl implements ScoreCoefficientService {
@Override
public
List
<
ScoreCoefficient
>
selectSorct2IsNull
()
{
return
scoreCoefficientRepository
.
findByScore2IsNot
()
;
// scoreCoefficientRepository.findByScore2IsNot()
return
null
;
}
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/impl/WorkServiceImpl.java
浏览文件 @
05c20d1e
...
...
@@ -16,6 +16,7 @@ import com.zjty.tynotes.job.common.constant.WorkStatus;
import
com.zjty.tynotes.job.common.exception.BadRequestException
;
import
com.zjty.tynotes.job.common.exception.NotFoundException
;
import
com.zjty.tynotes.pas.entity.vo.HolidayRequest
;
import
com.zjty.tynotes.pas.entity.vo.JobLeads
;
import
com.zjty.tynotes.pas.service.ConfigService
;
import
com.zjty.tynotes.pas.service.IUserService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -71,8 +72,16 @@ public class WorkServiceImpl implements WorkService {
//新增数据不可附带id.
Boolean
idMustNull
=
isNull
(
work
.
getId
());
if
(
idMustNull
)
{
// if (work.getSuperiorId()==null ||work.getSuperiorId().equals("")){
// }else {
// work.setAudit(selectGroupId(work.getSuperiorId()));
// }
work
.
setCreateTime
(
new
Date
());
work
.
setUpdateTime
(
new
Date
());
JobLeads
jobLeads
=
iUserService
.
findJobLeads
(
work
.
getExecutor
());
work
.
setMajordomos
(
jobLeads
.
getMajordomos
());
work
.
setAssistantManagers
(
jobLeads
.
getAssistantManagers
());
work
.
setGeneralManagers
(
jobLeads
.
getGeneralManagers
());
String
saveId
=
workRepository
.
save
(
work
).
getId
();
log
.
info
(
String
.
format
(
"[job] 新增了id为 %s 的数据."
,
saveId
));
return
saveId
;
...
...
@@ -83,6 +92,14 @@ public class WorkServiceImpl implements WorkService {
}
}
private
String
selectGroupId
(
String
id
){
Work
work
=
workRepository
.
findById
(
id
).
get
();
String
workId
=
work
.
getSuperiorId
();
if
(
workId
==
null
||
""
.
equals
(
workId
)){
return
work
.
getExecutor
();
}
return
selectGroupId
(
workId
);
}
@Override
public
String
modify
(
Work
work
)
{
//更新数据必须指定id且指定id的数据存在.
...
...
@@ -194,7 +211,7 @@ public class WorkServiceImpl implements WorkService {
ScoreCoefficient
scoreCoefficient
=
scoreCoefficientService
.
findById
(
workId
);
int
workLoad
=
findBySuperoirIdCount
(
workId
);
DecimalFormat
df
=
new
DecimalFormat
(
"#.##"
);
double
coefficient
=
(
Double
.
parseDouble
(
scoreCoefficient
.
getScore1
())+
Double
.
parseDouble
(
scoreCoefficient
.
getScore2
()))/
2.0
/
100.0
;
double
coefficient
=
Double
.
parseDouble
(
scoreCoefficient
.
getJustScore4
())
;
double
getWorkLoad
=
workLoad
*
coefficient
;
scoreCoefficient
.
setEndWorkLoad
(
Double
.
valueOf
(
df
.
format
(
getWorkLoad
)));
scoreCoefficientService
.
modify
(
scoreCoefficient
);
...
...
@@ -331,6 +348,35 @@ return 0.0f;
return
workMppings
;
}
@Override
public
WorkMpping
selectWorkMapperWorkId
(
String
workId
)
{
Work
work
=
workRepository
.
findById
(
sumWorkId
(
workId
)).
get
();
return
new
WorkMpping
(
work
.
getId
(),
work
.
getTitle
(),
work
.
getStatus
(),
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
(),
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
(),
selectWorkMapper
(
work
.
getId
()));
}
private
List
<
WorkMpping
>
selectWorkMapper
(
String
workId
){
List
<
WorkMpping
>
workMppings
=
new
ArrayList
<>();
List
<
Work
>
works
=
workRepository
.
findBySuperiorId
(
workId
);
if
(
works
.
size
()==
0
){
return
workMppings
;
}
for
(
Work
work:
works
){
if
(
work
.
getSuperiorId
()!=
null
||
work
.
getSuperiorId
().
equals
(
""
)){
workMppings
.
add
(
new
WorkMpping
(
work
.
getId
(),
work
.
getTitle
(),
work
.
getStatus
(),
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
(),
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
(),
selectWorkMapper
(
work
.
getId
())));
}
}
return
workMppings
;
}
private
String
sumWorkId
(
String
workId
){
Work
work
=
workRepository
.
findById
(
workId
).
get
();
if
(
work
.
getSuperiorId
()==
null
||
work
.
getSuperiorId
().
equals
(
""
)){
return
workId
;
}
return
sumWorkId
(
work
.
getSuperiorId
());
}
private
List
<
WorkMpping
>
workMppingList
(
Work
work
,
List
<
Work
>
workList
){
List
<
WorkMpping
>
workMppings
=
new
ArrayList
<>();
...
...
notes-job/src/main/java/com/zjty/tynotes/job/status/service/TestService.java
浏览文件 @
05c20d1e
...
...
@@ -42,7 +42,7 @@ public interface TestService {
/**
*
*/
void
appraisal
(
String
executorId
,
String
latestNews
,
Work
work
);
void
appraisal
(
String
executorId
,
String
latestNews
,
Work
work
,
int
count
);
/**
* 修改任务状态
* @param executorId 操作人id
...
...
notes-job/src/main/java/com/zjty/tynotes/job/status/service/impl/BusinessTreeManagementImpl.java
浏览文件 @
05c20d1e
...
...
@@ -180,11 +180,31 @@ public class BusinessTreeManagementImpl implements BusinessTreeManagement {
break
;
case
9
:
String
actionMsg
=
name
+
msg
;
String
actionMsg
=
name
+
" "
+
msg
;
actionHistory
.
setActionMsg
(
actionMsg
);
actionHistoryRepository
.
save
(
actionHistory
);
testService
.
appraisal
(
noteResource
.
getId
(),
actionMsg
,
work
);
int
count
=
1
;
switch
(
msg
){
case
"自我评价"
:
break
;
case
"组长评价"
:
count
=
2
;
break
;
case
"总监评价"
:
count
=
3
;
break
;
case
"副总经理评价"
:
count
=
4
;
break
;
case
"总经理评价"
:
count
=
5
;
break
;
case
"修改评价"
:
count
=
6
;
break
;
}
testService
.
appraisal
(
noteResource
.
getId
(),
actionMsg
,
work
,
count
);
log
.
info
(
"[TREE] {}对任务评价了"
,
name
);
break
;
...
...
notes-job/src/main/java/com/zjty/tynotes/job/status/service/impl/TestServiceImpl.java
浏览文件 @
05c20d1e
package
com
.
zjty
.
tynotes
.
job
.
status
.
service
.
impl
;
import
com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient
;
import
com.zjty.tynotes.job.basic.entity.database.Work
;
import
com.zjty.tynotes.job.basic.repository.ScoreCoefficientRepository
;
import
com.zjty.tynotes.job.basic.service.WorkService
;
import
com.zjty.tynotes.job.common.Constants
;
import
com.zjty.tynotes.job.common.constant.WorkStatus
;
...
...
@@ -10,6 +12,7 @@ import com.zjty.tynotes.job.status.entity.RedisPersonalWork;
import
com.zjty.tynotes.job.status.entity.RoleSum1
;
import
com.zjty.tynotes.job.status.service.TestService
;
import
com.zjty.tynotes.job.status.utils.JacksonUtil
;
import
com.zjty.tynotes.pas.entity.vo.JobLeads
;
import
com.zjty.tynotes.pas.service.IUserService
;
import
com.zjty.tynotes.search.subject.entity.EsSource
;
import
com.zjty.tynotes.search.subject.service.EsUtil
;
...
...
@@ -27,6 +30,7 @@ import java.util.concurrent.CompletableFuture;
*/
@Service
@Slf4j
@SuppressWarnings
(
"ALL"
)
public
class
TestServiceImpl
implements
TestService
{
@Autowired
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
...
...
@@ -43,64 +47,44 @@ public class TestServiceImpl implements TestService {
@Autowired
IUserService
iUserService
;
@Autowired
ScoreCoefficientRepository
scoreCoefficientRepository
;
private
List
<
String
>
tests
(
String
id
,
List
<
String
>
list
){
Work
work
=
workService
.
findById
(
id
);
String
workId
=
work
.
getSuperiorId
();
list
.
add
(
work
.
getPublisher
());
if
(
workId
==
null
||
""
.
equals
(
workId
)){
return
list
;
}
return
tests
(
workId
,
list
);
}
@Override
public
void
saveTakePushWork
(
String
executorId
,
String
latestNews
,
Work
work
)
{
List
<
String
>
uIds
=
new
ArrayList
<>();
Long
time
=
new
Date
().
getTime
();
List
<
String
>
majordomos
=
work
.
getMajordomos
();
List
<
String
>
generalManagers
=
work
.
getGeneralManagers
();
List
<
String
>
assistantManagers
=
work
.
getAssistantManagers
();
String
releaseName
=
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
();
String
executorName
=
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
();
String
auditName
=
iUserService
.
findUserById
(
work
.
getAudit
()).
getUsername
();
RedisPersonalWork
personalWork
=
new
RedisPersonalWork
(
work
.
getId
(),
time
,
work
.
getTitle
(),
work
.
getStatus
(),
releaseName
,
executorName
,
1
,
WorkAttribution
.
ME_WORK
,
latestNews
,
work
.
getSuperiorId
(),
new
ArrayList
<>(),
0
,
0
);
boolean
flagZ
=
true
;
boolean
flagS
=
true
;
//发布人
if
(
work
.
getSuperiorId
()
==
null
)
{
if
(
releaseName
.
equals
(
auditName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
flagS
=
false
;
}
if
(
releaseName
.
equals
(
executorName
)){
if
(
work
.
getSuperiorId
()
==
null
){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setReadState
(
0
);
personalWork
.
setIsNotCommission
(
1
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
uIds
=
tests
(
work
.
getSuperiorId
(),
uIds
);
uIds
.
remove
(
work
.
getPublisher
());
uIds
.
remove
(
work
.
getExecutor
());
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RESOLVE_WORK
);
flagZ
=
false
;
}
if
(
releaseName
.
equals
(
executorName
)&&
releaseName
.
equals
(
auditName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setReadState
(
0
);
personalWork
.
setIsNotCommission
(
1
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
else
{
//发布人
if
(
work
.
getSuperiorId
()
==
null
)
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setReadState
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
assert
list
!=
null
;
...
...
@@ -108,9 +92,26 @@ public class TestServiceImpl implements TestService {
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
uIds
=
tests
(
work
.
getSuperiorId
(),
uIds
);
uIds
.
remove
(
work
.
getPublisher
());
uIds
.
remove
(
work
.
getExecutor
());
if
(
releaseName
.
equals
(
auditName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
flagS
=
false
;
}
else
{
personalWork
.
setExecutorEqualRelease
(
0
);
personalWork
.
setIsNotCommission
(
0
);
}
if
(
releaseName
.
equals
(
executorName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
1
);
flagZ
=
false
;
}
else
{
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
}
if
(
releaseName
.
equals
(
executorName
)&&
releaseName
.
equals
(
auditName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
1
);
}
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RESOLVE_WORK
);
personalWork
.
setReadState
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
...
...
@@ -122,8 +123,23 @@ public class TestServiceImpl implements TestService {
subWork
(
list
,
work
,
work
.
getPublisher
());
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
if
(
flagS
&&
flagZ
)
{
if
(
executorName
.
equals
(
auditName
))
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RECEIVE_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
1
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
flagS
=
false
;
flagZ
=
false
;
}
}
//执行人 判断执行人是否有分解权限
if
(
flagZ
)
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RECEIVE_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
1
);
...
...
@@ -135,11 +151,39 @@ public class TestServiceImpl implements TestService {
pushData
(
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
work
.
getExecutor
());
log
.
info
(
"{}这里发送{}"
,
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
if
(
flagS
){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
work
.
getAudit
());
log
.
info
(
"{}这里发送{}"
,
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
if
(!
work
.
getAudit
().
equals
(
work
.
getExecutor
())
&&
!
work
.
getAudit
().
equals
(
work
.
getPublisher
())){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
work
.
getAudit
());
log
.
info
(
"{}这里发送{}"
,
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
//有待修改
if
(
uIds
.
size
()!=
0
)
{
for
(
String
id
:
uIds
)
{
majordomos
.
addAll
(
generalManagers
);
majordomos
.
addAll
(
assistantManagers
);
majordomos
.
remove
(
work
.
getExecutor
());
majordomos
.
remove
(
work
.
getPublisher
());
majordomos
.
remove
(
work
.
getAudit
());
for
(
String
id
:
majordomos
)
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
...
...
@@ -153,7 +197,6 @@ public class TestServiceImpl implements TestService {
log
.
info
(
"{}这里发送{}"
,
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
}
@Override
...
...
@@ -162,23 +205,28 @@ public class TestServiceImpl implements TestService {
String
releaseName
=
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
();
String
executorName
=
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
();
String
audit
=
iUserService
.
findUserById
(
work
.
getAudit
()).
getUsername
();
RedisPersonalWork
personalWork
=
new
RedisPersonalWork
(
work
.
getId
(),
time
,
work
.
getTitle
(),
work
.
getStatus
(),
releaseName
,
executorName
,
1
,
WorkAttribution
.
ME_WORK
,
latestNews
,
work
.
getSuperiorId
(),
new
ArrayList
<>(),
0
,
0
);
//发布人
if
(
work
.
getSuperiorId
()
==
null
)
{
if
(
releaseName
.
equals
(
audit
)){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
}
else
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
0
);
personalWork
.
setIsNotCommission
(
0
);
}
if
(
releaseName
.
equals
(
executorName
)){
if
(
work
.
getSuperiorId
()
==
null
){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setReadState
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
personalWork
.
setIsNotCommission
(
1
);
}
else
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RESOLV
E_WORK
);
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEAS
E_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
}
personalWork
.
setReadState
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
...
...
@@ -188,23 +236,25 @@ public class TestServiceImpl implements TestService {
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
if
(
releaseName
.
equals
(
audit
)){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
}
else
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
0
);
personalWork
.
setIsNotCommission
(
0
);
}
if
(
releaseName
.
equals
(
executorName
)){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
1
);
}
else
{
//发布人
if
(
work
.
getSuperiorId
()
==
null
)
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELEASE_WORK
);
personalWork
.
setReadState
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RESOLVE_WORK
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
}
personalWork
.
setReadState
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
...
...
@@ -215,45 +265,48 @@ public class TestServiceImpl implements TestService {
subWork
(
list
,
work
,
work
.
getPublisher
());
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
}
@Override
public
void
unpublishedToOngoing
(
String
executorId
,
String
latestNews
,
Work
work
)
{
Long
time
=
new
Date
().
getTime
();
List
<
String
>
uIds
=
new
ArrayList
<>();
if
(
work
.
getSuperiorId
()!=
null
)
{
uIds
=
tests
(
work
.
getSuperiorId
(),
uIds
);
uIds
.
remove
(
work
.
getPublisher
()
);
uIds
.
remove
(
work
.
getExecutor
()
);
}
List
<
String
>
majordomos
=
work
.
getMajordomos
(
);
List
<
String
>
generalManagers
=
work
.
getGeneralManagers
(
);
List
<
String
>
assistantManagers
=
work
.
getAssistantManagers
(
);
String
releaseName
=
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
();
String
executorName
=
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
();
String
auditName
=
iUserService
.
findUserById
(
work
.
getAudit
()).
getUsername
();
boolean
flagZ
=
true
;
boolean
flagS
=
true
;
RedisPersonalWork
personalWork
=
new
RedisPersonalWork
(
work
.
getId
(),
time
,
work
.
getTitle
(),
work
.
getStatus
(),
releaseName
,
executorName
,
1
,
WorkAttribution
.
ME_WORK
,
latestNews
,
work
.
getSuperiorId
(),
new
ArrayList
<>(),
0
,
0
);
if
(
releaseName
.
equals
(
executorName
)){
//发布人
List
<
Object
>
objects
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
for
(
Object
object
:
objects
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
work
.
getId
().
equals
(
redisPersonalWork
.
getWorkId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setStatus
(
work
.
getStatus
());
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
1
);
redisPersonalWork
.
setLatestNews
(
latestNews
)
;
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
personalWork
);
}
if
(
releaseName
.
equals
(
auditName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
flagS
=
false
;
}
else
{
personalWork
.
setExecutorEqualRelease
(
0
);
personalWork
.
setIsNotCommission
(
0
);
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
objects
)));
subWork
(
objects
,
work
,
work
.
getPublisher
());
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
objects
)));
if
(
releaseName
.
equals
(
executorName
)){
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
1
);
flagZ
=
false
;
}
else
{
//发布人
List
<
Object
>
objects
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
for
(
Object
object
:
objects
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
work
.
getId
().
equals
(
redisPersonalWork
.
getWorkId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
personalWork
.
setExecutorEqualRelease
(
1
);
personalWork
.
setIsNotCommission
(
0
);
}
redisPersonalWork
.
setStatus
(
work
.
getStatus
());
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
...
...
@@ -264,8 +317,23 @@ public class TestServiceImpl implements TestService {
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
objects
)));
subWork
(
objects
,
work
,
work
.
getPublisher
());
log
.
info
(
"{}这里发送{}"
,
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
objects
)));
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
if
(
flagS
&&
flagZ
)
{
if
(
executorName
.
equals
(
auditName
))
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RECEIVE_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
1
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
log
.
info
(
"{}这里发送{}"
,
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
flagS
=
false
;
flagZ
=
false
;
}
}
if
(
flagZ
)
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RECEIVE_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
1
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
personalWork
);
...
...
@@ -277,19 +345,49 @@ public class TestServiceImpl implements TestService {
subWork
(
list
,
work
,
work
.
getExecutor
());
log
.
info
(
"{}这里发送{}"
,
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
//有待修改
for
(
String
id:
uIds
){
if
(
flagS
){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
work
.
getAudit
());
log
.
info
(
"{}这里发送{}"
,
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
if
(!
work
.
getAudit
().
equals
(
work
.
getExecutor
())
&&
!
work
.
getAudit
().
equals
(
work
.
getPublisher
())
){
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
work
.
getAudit
());
log
.
info
(
"{}这里发送{}"
,
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
majordomos
.
addAll
(
generalManagers
);
majordomos
.
addAll
(
assistantManagers
);
majordomos
.
remove
(
work
.
getExecutor
());
majordomos
.
remove
(
work
.
getPublisher
());
majordomos
.
remove
(
work
.
getAudit
());
for
(
String
id
:
majordomos
)
{
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
id
,
personalWork
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
id
,
personalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
id
,
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
id
,
0
,
-
1
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
id
,
personalWork
);
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
id
,
0
,
-
1
);
assert
list
!=
null
;
pushData
(
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
id
);
log
.
info
(
"{}这里发送{}"
,
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
pushData
(
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
subWork
(
list
,
work
,
id
);
log
.
info
(
"{}这里发送{}"
,
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
...
...
@@ -297,12 +395,17 @@ public class TestServiceImpl implements TestService {
public
void
updateWorkStatus
(
String
executorId
,
String
latestNews
,
String
status
,
Work
work
)
{
List
<
String
>
uIds
=
new
ArrayList
<>();
Long
time
=
new
Date
().
getTime
();
if
(
work
.
getSuperiorId
()!=
null
)
{
uIds
=
tests
(
work
.
getSuperiorId
(),
uIds
);
uIds
.
remove
(
work
.
getPublisher
());
uIds
.
remove
(
work
.
getExecutor
());
}
if
(
work
.
getExecutor
().
equals
(
work
.
getPublisher
())){
String
releaseName
=
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
();
String
executorName
=
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
();
String
auditName
=
iUserService
.
findUserById
(
work
.
getAudit
()).
getUsername
();
List
<
String
>
majordomos
=
work
.
getMajordomos
();
List
<
String
>
generalManagers
=
work
.
getGeneralManagers
();
List
<
String
>
assistantManagers
=
work
.
getAssistantManagers
();
boolean
flagZ
=
true
;
boolean
flagS
=
true
;
//发布者
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
...
...
@@ -315,6 +418,40 @@ public class TestServiceImpl implements TestService {
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
if
(
releaseName
.
equals
(
auditName
)){
switch
(
status
)
{
case
WorkStatus
.
ONGOING
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
case
WorkStatus
.
AUDIT
:
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
case
WorkStatus
.
REVIEW
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
default
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
}
flagS
=
false
;
}
else
if
(
releaseName
.
equals
(
executorName
)){
switch
(
status
)
{
case
WorkStatus
.
ONGOING
:
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
case
WorkStatus
.
AUDIT
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
case
WorkStatus
.
REVIEW
:
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
default
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
}
flagZ
=
false
;
}
else
if
(
releaseName
.
equals
(
auditName
)
&&
releaseName
.
equals
(
executorName
)){
switch
(
status
)
{
case
WorkStatus
.
ONGOING
:
redisPersonalWork
.
setIsNotCommission
(
1
);
...
...
@@ -329,6 +466,25 @@ public class TestServiceImpl implements TestService {
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
}
flagS
=
false
;
flagZ
=
false
;
}
else
{
switch
(
status
)
{
case
WorkStatus
.
ONGOING
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
case
WorkStatus
.
AUDIT
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
case
WorkStatus
.
REVIEW
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
default
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
}
}
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
...
...
@@ -336,44 +492,45 @@ public class TestServiceImpl implements TestService {
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
//发布者
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
if
(
flagS
&&
flagZ
)
{
if
(
auditName
.
equals
(
executorName
))
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setStatus
(
status
);
redisPersonalWork
.
setTime
(
time
);
if
(
work
.
getPublisher
().
equals
(
executorId
))
{
if
(
work
.
getAudit
().
equals
(
executorId
))
{
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setTime
(
time
);
switch
(
status
)
{
case
WorkStatus
.
ONGOING
:
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
case
WorkStatus
.
AUDIT
:
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
case
WorkStatus
.
REVIEW
:
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
default
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
}
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
redisPersonalWork
);
}
}
flagS
=
false
;
flagZ
=
false
;
}
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
//执行者
if
(
flagZ
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
...
...
@@ -406,10 +563,55 @@ public class TestServiceImpl implements TestService {
}
}
pushData
(
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
if
(
flagS
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setStatus
(
status
);
if
(
work
.
getAudit
().
equals
(
executorId
))
{
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setTime
(
time
);
switch
(
status
)
{
case
WorkStatus
.
ONGOING
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
case
WorkStatus
.
AUDIT
:
redisPersonalWork
.
setIsNotCommission
(
1
);
break
;
case
WorkStatus
.
REVIEW
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
default
:
redisPersonalWork
.
setIsNotCommission
(
0
);
break
;
}
if
(
uIds
.
size
()!=
0
)
{
for
(
String
uId:
uIds
)
{
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
}
}
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
majordomos
.
addAll
(
generalManagers
);
majordomos
.
addAll
(
assistantManagers
);
majordomos
.
remove
(
work
.
getExecutor
());
majordomos
.
remove
(
work
.
getPublisher
());
majordomos
.
remove
(
work
.
getAudit
());
if
(
majordomos
.
size
()!=
0
)
{
for
(
String
uId:
majordomos
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
...
...
@@ -432,19 +634,35 @@ public class TestServiceImpl implements TestService {
@Override
public
void
upDateWork
(
String
executorId
,
String
latestNews
,
Work
work
)
{
List
<
String
>
uIds
=
new
ArrayList
<>();
if
(
work
.
getSuperiorId
()!=
null
)
{
uIds
=
tests
(
work
.
getSuperiorId
(),
uIds
);
uIds
.
remove
(
work
.
getPublisher
());
uIds
.
remove
(
work
.
getExecutor
());
}
String
releaseName
=
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
();
String
executorName
=
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
();
String
auditName
=
iUserService
.
findUserById
(
work
.
getAudit
()).
getUsername
();
List
<
String
>
majordomos
=
work
.
getMajordomos
();
List
<
String
>
generalManagers
=
work
.
getGeneralManagers
();
List
<
String
>
assistantManagers
=
work
.
getAssistantManagers
();
boolean
flagZ
=
true
;
boolean
flagS
=
true
;
Long
time
=
new
Date
().
getTime
();
if
(
work
.
getExecutor
().
equals
(
work
.
getPublisher
())){
//发布者
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
if
(
executorId
.
equals
(
work
.
getPublisher
()))
{
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
if
(
releaseName
.
equals
(
auditName
)){
flagS
=
false
;
}
if
(
releaseName
.
equals
(
executorName
)){
flagZ
=
false
;
}
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
...
...
@@ -453,27 +671,27 @@ public class TestServiceImpl implements TestService {
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
//发布者
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
if
(
flagS
&&
flagZ
)
{
if
(
auditName
.
equals
(
executorName
))
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
if
(
executorId
.
equals
(
work
.
getPublisher
()))
{
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
redisPersonalWork
);
}
}
pushData
(
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
flagS
=
false
;
flagZ
=
false
;
}
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
//执行者
if
(
flagZ
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
...
...
@@ -488,9 +706,34 @@ public class TestServiceImpl implements TestService {
}
pushData
(
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
if
(
uIds
.
size
()!=
0
)
{
for
(
String
uId:
uIds
)
{
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
if
(
flagS
){
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
1
,
redisPersonalWork
);
if
(
executorId
.
equals
(
work
.
getAudit
()))
{
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
}
}
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
majordomos
.
addAll
(
generalManagers
);
majordomos
.
addAll
(
assistantManagers
);
majordomos
.
remove
(
work
.
getExecutor
());
majordomos
.
remove
(
work
.
getPublisher
());
if
(
majordomos
.
size
()!=
0
)
{
for
(
String
uId:
majordomos
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
...
...
@@ -508,82 +751,385 @@ public class TestServiceImpl implements TestService {
}
@Override
public
void
appraisal
(
String
executorId
,
String
latestNews
,
Work
work
){
public
void
appraisal
(
String
executorId
,
String
latestNews
,
Work
work
,
int
count
){
List
<
String
>
uIds
=
new
ArrayList
<>();
if
(
work
.
getSuperiorId
()!=
null
)
{
uIds
=
tests
(
work
.
getSuperiorId
(),
uIds
);
uIds
.
remove
(
work
.
getPublisher
());
uIds
.
remove
(
work
.
getExecutor
());
}
List
<
String
>
strings
=
new
ArrayList
<>();
strings
.
add
(
work
.
getAudit
());
strings
.
add
(
work
.
getExecutor
());
List
<
String
>
majordomos
=
work
.
getMajordomos
();
List
<
String
>
generalManagers
=
work
.
getGeneralManagers
();
List
<
String
>
assistantManagers
=
work
.
getAssistantManagers
();
List
<
String
>
sumIds
=
new
ArrayList
<>();
sumIds
.
addAll
(
strings
);
sumIds
.
addAll
(
majordomos
);
sumIds
.
addAll
(
generalManagers
);
sumIds
.
addAll
(
assistantManagers
);
Long
time
=
new
Date
().
getTime
();
if
(
work
.
getExecutor
().
equals
(
work
.
getPublisher
())){
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
0
,
-
1
);
switch
(
count
){
case
1
:
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
0
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
redisPersonalWork
);
}
}
pushData
(
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
majordomos
.
addAll
(
new
ArrayList
<>(
Collections
.
singleton
(
work
.
getAudit
())));
if
(
majordomos
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setIsNotCommission
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
sumIds
.
remove
(
work
.
getExecutor
());
sumIds
.
removeAll
(
majordomos
);
if
(
sumIds
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
break
;
case
2
:
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
0
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
redisPersonalWork
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
}
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
else
{
//发布者
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
()
,
0
,
-
1
);
if
(
majordomos
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
(),
1
,
redisPersonalWork
);
if
(
work
.
getPublisher
().
equals
(
executorId
))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
}
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
ScoreCoefficient
scoreCoefficient
=
scoreCoefficientRepository
.
findById
(
work
.
getId
()).
get
();
if
(
scoreCoefficient
.
getDirectorScore2
()!=
null
&&
scoreCoefficient
.
getGroupLeaderScore2
()!=
null
){
for
(
String
id:
assistantManagers
){
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
id
,
0
,
-
1
);
assert
list
!=
null
;
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
id
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
1
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
id
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
id
,
redisPersonalWork
);
}
}
pushData
(
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
sumIds
.
remove
(
work
.
getAudit
());
sumIds
.
removeAll
(
majordomos
);
if
(
sumIds
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
break
;
case
3
:
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
0
,
-
1
);
assert
list
!=
null
;
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getAudit
(),
redisPersonalWork
);
}
}
pushData
(
work
.
getAudit
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
if
(
majordomos
.
size
()!=
0
)
{
for
(
String
uId:
majordomos
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
assert
list
!=
null
;
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
if
(
uId
.
equals
(
executorId
)){
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setIsNotCommission
(
0
);
}
else
{
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
}
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
scoreCoefficient
=
scoreCoefficientRepository
.
findById
(
work
.
getId
()).
get
();
if
(
scoreCoefficient
.
getDirectorScore2
()!=
null
&&
scoreCoefficient
.
getGroupLeaderScore2
()!=
null
){
for
(
String
id:
assistantManagers
){
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
id
,
0
,
-
1
);
assert
list
!=
null
;
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
id
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
1
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
id
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
id
,
redisPersonalWork
);
}
}
pushData
(
id
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
sumIds
.
remove
(
work
.
getAudit
());
sumIds
.
removeAll
(
assistantManagers
);
sumIds
.
removeAll
(
majordomos
);
if
(
sumIds
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
()
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getPublisher
()
,
redisPersonalWork
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
}
pushData
(
work
.
getPublisher
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
//执行者
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
0
,
-
1
);
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
break
;
case
4
:
if
(
assistantManagers
.
size
()!=
0
)
{
for
(
String
uId:
assistantManagers
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
()
,
1
,
redisPersonalWork
);
if
(
work
.
getExecutor
().
equals
(
executorId
))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
if
(
uId
.
equals
(
executorId
))
{
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setIsNotCommission
(
0
);
}
else
{
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
}
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
if
(
generalManagers
.
size
()!=
0
)
{
for
(
String
uId:
generalManagers
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setIsNotCommission
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
}
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
sumIds
.
removeAll
(
assistantManagers
);
sumIds
.
removeAll
(
generalManagers
);
if
(
sumIds
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
assert
list
!=
null
;
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
break
;
case
5
:
if
(
generalManagers
.
size
()!=
0
)
{
for
(
String
uId:
generalManagers
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
if
(
uId
.
equals
(
executorId
)){
redisPersonalWork
.
setReadState
(
0
);
}
else
{
redisPersonalWork
.
setReadState
(
1
);
}
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
}
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
sumIds
.
removeAll
(
generalManagers
);
if
(
sumIds
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
assert
list
!=
null
;
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
()
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
()
,
redisPersonalWork
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
}
}
pushData
(
work
.
getExecutor
(),
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
if
(
uIds
.
size
()!=
0
)
{
for
(
String
uId:
uIds
)
{
List
<
Object
>
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
break
;
default
:
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
executorId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
executorId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
0
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
executorId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
executorId
,
redisPersonalWork
);
}
}
pushData
(
executorId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
sumIds
.
remove
(
executorId
);
if
(
sumIds
.
size
()!=
0
)
{
for
(
String
uId:
sumIds
)
{
list
=
redisTemplate
.
opsForList
().
range
(
Constants
.
REDIS_EVENT
+
uId
,
0
,
-
1
);
for
(
Object
object
:
list
)
{
RedisPersonalWork
redisPersonalWork
=
(
RedisPersonalWork
)
object
;
if
(
redisPersonalWork
.
getWorkId
().
equals
(
work
.
getId
()))
{
redisTemplate
.
opsForList
().
remove
(
Constants
.
REDIS_EVENT
+
uId
,
1
,
redisPersonalWork
);
redisPersonalWork
.
setReadState
(
1
);
redisPersonalWork
.
setTime
(
time
);
redisPersonalWork
.
setIsNotCommission
(
0
);
redisPersonalWork
.
setLatestNews
(
latestNews
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
asynchronousAddEs
(
Constants
.
REDIS_EVENT
+
uId
,
redisPersonalWork
);
...
...
@@ -592,6 +1138,8 @@ public class TestServiceImpl implements TestService {
pushData
(
uId
,
JacksonUtil
.
toJSon
(
statisticalRoleCount
(
list
)));
}
}
break
;
}
}
...
...
notes-job/src/main/java/com/zjty/tynotes/job/task/Task.java
浏览文件 @
05c20d1e
package
com
.
zjty
.
tynotes
.
job
.
task
;
import
com.zjty.tynotes.job.basic.entity.database.Work
;
import
com.zjty.tynotes.job.basic.repository.ScoreCoefficientRepository
;
import
com.zjty.tynotes.job.basic.service.ScoreCoefficientService
;
import
com.zjty.tynotes.job.basic.service.WorkService
;
import
com.zjty.tynotes.job.common.Action
;
...
...
@@ -19,7 +20,7 @@ import java.util.Date;
@Service
public
class
Task
{
@Autowired
ScoreCoefficient
Service
scoreCoefficientService
;
ScoreCoefficient
Repository
scoreCoefficientRepository
;
@Autowired
WorkService
workService
;
@Autowired
...
...
@@ -28,7 +29,7 @@ public class Task {
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
public
void
task
()
{
long
time
=
LocalDateTime
.
now
().
minusDays
(
7
)
long
time
=
LocalDateTime
.
now
().
minusDays
(
1
)
.
withHour
(
0
)
.
withMinute
(
0
)
.
withSecond
(
0
)
...
...
@@ -37,19 +38,86 @@ public class Task {
.
toEpochSecond
();
scoreCoefficientService
.
selectSorct2IsNull
()
long
finalTime2
=
time
;
scoreCoefficientRepository
.
findAllByGroupLeaderScore2IsNullOrDirectorScore2IsNull
()
.
forEach
(
sc
->{
Work
work
=
workService
.
findById
(
sc
.
getWordId
());
if
(
work
.
getAuditTime
().
getTime
()<
time
){
sc
.
setScore2
(
sc
.
getScore1
());
scoreCoefficientService
.
modify
(
sc
);
businessTreeManagement
.
saveAction
(
work
.
getPublisher
(),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
""
);
workService
.
alterTaskStatus
(
sc
.
getWordId
(),
WorkStatus
.
FINISHED
,
work
.
getPublisher
());
businessTreeManagement
.
saveAction
(
work
.
getPublisher
(),
sc
.
getWordId
(),
Action
.
FINISHED_WORK
,
new
Date
(),
""
);
Work
work
=
workService
.
findById
(
sc
.
getWordId
());
if
(
sc
.
getTime
().
getTime
()<
finalTime2
){
if
(
sc
.
getDirectorScore2
()==
null
&&
sc
.
getGroupLeaderScore2
()
!=
null
){
sc
.
setDirectorScore2
(
sc
.
getGroupLeaderScore2
());
sc
.
setTime
(
new
Date
());
businessTreeManagement
.
saveAction
(
work
.
getMajordomos
().
get
(
0
),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"总监评价"
);
}
else
if
(
sc
.
getGroupLeaderScore2
()==
null
&&
sc
.
getDirectorScore2
()
!=
null
){
sc
.
setGroupLeaderScore2
(
sc
.
getDirectorScore2
());
sc
.
setTime
(
new
Date
());
businessTreeManagement
.
saveAction
(
work
.
getAudit
(),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"组长评价"
);
}
else
{
sc
.
setTime
(
new
Date
());
sc
.
setGroupLeaderScore2
(
sc
.
getScore1
());
businessTreeManagement
.
saveAction
(
work
.
getAudit
(),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"组长评价"
);
sc
.
setDirectorScore2
(
sc
.
getScore1
());
businessTreeManagement
.
saveAction
(
work
.
getMajordomos
().
get
(
0
),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"总监评价"
);
}
scoreCoefficientRepository
.
save
(
sc
);
// workService.alterTaskStatus(sc.getWordId(),WorkStatus.FINISHED,work.getPublisher());
// businessTreeManagement.saveAction(work.getPublisher(), sc.getWordId(), Action.FINISHED_WORK, new Date(), "");
}
}
);
time
=
LocalDateTime
.
now
().
minusDays
(
2
)
.
withHour
(
0
)
.
withMinute
(
0
)
.
withSecond
(
0
)
.
withNano
(
0
)
.
atOffset
(
ZoneOffset
.
ofHours
(
8
))
.
toEpochSecond
();
//副总经理
long
finalTime1
=
time
;
scoreCoefficientRepository
.
findAllByGroupLeaderScore2IsNotNullAndDirectorScore2IsNotNullAndViceScore3IsNull
()
.
forEach
(
sc
->{
Work
work
=
workService
.
findById
(
sc
.
getWordId
());
if
(
sc
.
getTime
().
getTime
()<
finalTime1
){
String
score3
=
String
.
valueOf
(
Integer
.
valueOf
(
sc
.
getDirectorScore2
())+
Integer
.
valueOf
(
sc
.
getGroupLeaderScore2
()));
sc
.
setViceScore3
(
score3
);
sc
.
setTime
(
new
Date
());
businessTreeManagement
.
saveAction
(
work
.
getAssistantManagers
().
get
(
0
),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"副总经理评价"
);
}
scoreCoefficientRepository
.
save
(
sc
);
// workService.alterTaskStatus(sc.getWordId(),WorkStatus.FINISHED,work.getPublisher());
// businessTreeManagement.saveAction(work.getPublisher(), sc.getWordId(), Action.FINISHED_WORK, new Date(), "");
}
);
time
=
LocalDateTime
.
now
().
minusDays
(
2
)
.
withHour
(
0
)
.
withMinute
(
0
)
.
withSecond
(
0
)
.
withNano
(
0
)
.
atOffset
(
ZoneOffset
.
ofHours
(
8
))
.
toEpochSecond
();
//总经理
long
finalTime
=
time
;
scoreCoefficientRepository
.
findAllByViceScore3IsNotNullAndJustScore4IsNull
()
.
forEach
(
sc
->{
Work
work
=
workService
.
findById
(
sc
.
getWordId
());
if
(
sc
.
getTime
().
getTime
()<
finalTime
){
sc
.
setJustScore4
(
sc
.
getViceScore3
());
sc
.
setTime
(
new
Date
());
businessTreeManagement
.
saveAction
(
work
.
getGeneralManagers
().
get
(
0
),
sc
.
getWordId
(),
Action
.
APPRAISAL_WORD
,
new
Date
(),
"总经理评价"
);
}
scoreCoefficientRepository
.
save
(
sc
);
workService
.
alterTaskStatus
(
sc
.
getWordId
(),
WorkStatus
.
FINISHED
,
work
.
getPublisher
());
businessTreeManagement
.
saveAction
(
work
.
getGeneralManagers
().
get
(
0
),
sc
.
getWordId
(),
Action
.
FINISHED_WORK
,
new
Date
(),
""
);
}
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论