Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
a19d1bd5
Commit
a19d1bd5
authored
Jul 19, 2023
by
王启林
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/attendance-performance-platform
parents
9c8b210b
d62a02f4
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
223 additions
and
47 deletions
+223
-47
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/components/AttendIndex.vue
...src/views/perform/rules/attend/components/AttendIndex.vue
+3
-1
attendance-performance-manager-ui/admin/src/views/staff/perform/summary/list.vue
...manager-ui/admin/src/views/staff/perform/summary/list.vue
+7
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/MockDataController.java
...c/main/java/com/mortals/xhx/busiz/MockDataController.java
+169
-13
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java
...a/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java
+7
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
...in/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
+27
-16
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dingding/personal/service/impl/DingPersonServiceImpl.java
...dingding/personal/service/impl/DingPersonServiceImpl.java
+10
-9
No files found.
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/components/AttendIndex.vue
View file @
a19d1bd5
...
...
@@ -226,7 +226,9 @@ export default {
type
:
this
.
activeName
,
page
:
this
.
query
.
page
,
orderColList
:
this
.
typeArr
,
name
:
`%
${
this
.
searchValue
}
%`
,
andConditionList
:
[
{
content
:
`%
${
this
.
searchValue
}
%`
,
name
:
`%
${
this
.
searchValue
}
%`
},
],
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
tableData
=
res
.
data
;
...
...
attendance-performance-manager-ui/admin/src/views/staff/perform/summary/list.vue
View file @
a19d1bd5
...
...
@@ -92,7 +92,7 @@ export default {
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
手机号
"
,
prop
:
"
phoneNumber
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
...
...
@@ -103,15 +103,16 @@ export default {
},
},
{
label
:
"
考勤绩效
"
,
prop
:
"
attendScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
考勤绩效
指标分数
"
,
prop
:
"
attendScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
评价绩效
"
,
prop
:
"
assessScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
评价绩效指标分数
"
,
prop
:
"
reviewScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
投诉绩效指标分数
"
,
prop
:
"
reviewScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
办件绩效
"
,
prop
:
"
workScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
办件绩效
分数
"
,
prop
:
"
workScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
效能绩效
"
,
prop
:
"
effectScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
效能绩效
分数
"
,
prop
:
"
effectScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
其它绩效
"
,
prop
:
"
otherScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
其它绩效
分数
"
,
prop
:
"
otherScore
"
,
formatter
:
this
.
formatter
},
{
label
:
"
累计异常分数
"
,
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/MockDataController.java
View file @
a19d1bd5
...
...
@@ -16,7 +16,9 @@ import com.mortals.xhx.base.system.user.model.UserEntity;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptPerformStatEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptPerformStatService
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.hik.face.model.req.img.ImgReq
;
import
com.mortals.xhx.module.hik.face.service.IHikFaceService
;
...
...
@@ -26,10 +28,8 @@ import com.mortals.xhx.module.perform.model.PerformPerposeStaffStatEntity;
import
com.mortals.xhx.module.perform.service.PerformPerposeDeptStatService
;
import
com.mortals.xhx.module.perform.service.PerformPerposeStaffService
;
import
com.mortals.xhx.module.perform.service.PerformPerposeStaffStatService
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.model.StaffPerformSummaryEntity
;
import
com.mortals.xhx.module.staff.model.StaffPerformSummaryQuery
;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
import
com.mortals.xhx.module.staff.model.*
;
import
com.mortals.xhx.module.staff.service.StaffPerformStatService
;
import
com.mortals.xhx.module.staff.service.StaffPerformSummaryService
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.workman.model.WorkmanEntity
;
...
...
@@ -80,7 +80,10 @@ public class MockDataController {
private
PerformPerposeDeptStatService
perposeDeptStatService
;
@Autowired
private
StaffPerformSummaryService
summaryService
;
@Autowired
private
StaffPerformStatService
staffPerformStatService
;
@Autowired
private
DeptPerformStatService
deptPerformStatService
;
/**
* 生成模拟数据
...
...
@@ -196,15 +199,15 @@ public class MockDataController {
statEntity
.
setWorkNum
(
item
.
getWorkNum
());
statEntity
.
setDeptId
(
item
.
getDeptId
());
statEntity
.
setDeptName
(
item
.
getDeptName
());
BigDecimal
attendScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
reviewScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
complainScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
goworkScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
effectScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
otherScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
errorScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
attendScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
reviewScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
complainScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
goworkScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
effectScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
otherScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
errorScore
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
100
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
totalScore
=
attendScore
.
add
(
reviewScore
).
add
(
complainScore
).
add
(
goworkScore
).
add
(
effectScore
).
add
(
otherScore
).
add
(
errorScore
);
BigDecimal
totalScore
=
attendScore
.
add
(
reviewScore
).
add
(
complainScore
).
add
(
goworkScore
).
add
(
effectScore
).
add
(
otherScore
).
add
(
errorScore
);
statEntity
.
setAttendScore
(
attendScore
);
statEntity
.
setReviewScore
(
reviewScore
);
...
...
@@ -228,6 +231,159 @@ public class MockDataController {
}
/**
* 生成模拟数据
* mortals_xhx_staff_perform_stat
*
* @return
*/
@GetMapping
(
"randomStaffPerformStatData"
)
@UnAuth
public
Rest
<
Void
>
randomStaffPerformStatData
()
{
List
<
StaffEntity
>
cacheList
=
staffService
.
getCacheList
();
//最近两月模拟数据
DateTime
beforeStartDate
=
DateUtil
.
offsetDay
(
new
Date
(),
-
60
);
for
(
int
i
=
1
;
i
<=
60
;
i
++)
{
DateTime
curDate
=
DateUtil
.
offsetDay
(
beforeStartDate
,
i
);
List
<
StaffPerformStatEntity
>
collect
=
cacheList
.
stream
().
map
(
item
->
{
StaffPerformStatEntity
statEntity
=
new
StaffPerformStatEntity
();
statEntity
.
initAttrValue
();
statEntity
.
setStaffId
(
item
.
getId
());
statEntity
.
setStaffName
(
item
.
getName
());
BigDecimal
attendScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
reviewScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
complainScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
goworkScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
effectScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
otherScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
attendScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
reviewScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
complainScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
goworkScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
effectScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
otherScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
statEntity
.
setAttendScoreAdd
(
attendScoreAdd
);
statEntity
.
setAttendScoreSub
(
attendScoreSub
);
statEntity
.
setReviewScoreAdd
(
reviewScoreAdd
);
statEntity
.
setReviewScoreSub
(
reviewScoreSub
);
statEntity
.
setComplainScoreAdd
(
complainScoreAdd
);
statEntity
.
setComplainScoreSub
(
complainScoreSub
);
statEntity
.
setGoworkScoreAdd
(
goworkScoreAdd
);
statEntity
.
setGoworkScoreSub
(
goworkScoreSub
);
statEntity
.
setEffectScoreAdd
(
effectScoreAdd
);
statEntity
.
setEffectScoreSub
(
effectScoreSub
);
statEntity
.
setOtherScoreAdd
(
otherScoreAdd
);
statEntity
.
setOtherScoreSub
(
otherScoreSub
);
BigDecimal
totalScoreAdd
=
attendScoreAdd
.
add
(
reviewScoreAdd
).
add
(
complainScoreAdd
)
.
add
(
goworkScoreAdd
).
add
(
effectScoreAdd
).
add
(
otherScoreAdd
);
BigDecimal
totalScoreSub
=
attendScoreSub
.
add
(
reviewScoreSub
).
add
(
complainScoreSub
)
.
add
(
goworkScoreSub
).
add
(
effectScoreSub
).
add
(
otherScoreSub
);
statEntity
.
setTotalAddScore
(
totalScoreAdd
);
statEntity
.
setTotalSubScore
(
totalScoreSub
);
BigDecimal
subtract
=
statEntity
.
getTotalAddScore
().
subtract
(
statEntity
.
getTotalSubScore
());
statEntity
.
setTotalScore
(
subtract
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
?
subtract
:
BigDecimal
.
ZERO
);
statEntity
.
setYear
(
DateUtil
.
year
(
curDate
));
statEntity
.
setMonth
(
DateUtil
.
month
(
curDate
)
+
1
);
statEntity
.
setDay
(
DateUtil
.
dayOfMonth
(
curDate
));
return
statEntity
;
}).
collect
(
Collectors
.
toList
());
staffPerformStatService
.
save
(
collect
);
}
return
Rest
.
ok
();
}
/**
* 生成模拟数据
* mortals_xhx_dept_perform_stat
*
* @return
*/
@GetMapping
(
"randomDeptPerformStatData"
)
@UnAuth
public
Rest
<
Void
>
randomDeptPerformStatData
()
{
List
<
DeptEntity
>
deptEntityList
=
deptService
.
find
(
new
DeptQuery
());
//最近两月模拟数据
DateTime
beforeStartDate
=
DateUtil
.
offsetDay
(
new
Date
(),
-
60
);
for
(
int
i
=
1
;
i
<=
60
;
i
++)
{
DateTime
curDate
=
DateUtil
.
offsetDay
(
beforeStartDate
,
i
);
List
<
DeptPerformStatEntity
>
collect
=
deptEntityList
.
stream
().
map
(
item
->
{
DeptPerformStatEntity
statEntity
=
new
DeptPerformStatEntity
();
statEntity
.
initAttrValue
();
statEntity
.
setDeptId
(
item
.
getId
());
statEntity
.
setDeptName
(
item
.
getDeptName
());
int
personNum
=
staffService
.
count
(
new
StaffQuery
().
deptId
(
item
.
getId
()),
null
);
BigDecimal
attendScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
reviewScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
complainScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
goworkScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
effectScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
otherScoreAdd
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
attendScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
reviewScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
complainScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
goworkScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
effectScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
BigDecimal
otherScoreSub
=
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"5"
)).
multiply
(
new
BigDecimal
(
personNum
)).
setScale
(
1
,
BigDecimal
.
ROUND_CEILING
);
statEntity
.
setAttendScoreAdd
(
attendScoreAdd
);
statEntity
.
setAttendScoreSub
(
attendScoreSub
);
statEntity
.
setReviewScoreAdd
(
reviewScoreAdd
);
statEntity
.
setReviewScoreSub
(
reviewScoreSub
);
statEntity
.
setComplainScoreAdd
(
complainScoreAdd
);
statEntity
.
setComplainScoreSub
(
complainScoreSub
);
statEntity
.
setGoworkScoreAdd
(
goworkScoreAdd
);
statEntity
.
setGoworkScoreSub
(
goworkScoreSub
);
statEntity
.
setEffectScoreAdd
(
effectScoreAdd
);
statEntity
.
setEffectScoreSub
(
effectScoreSub
);
statEntity
.
setOtherScoreAdd
(
otherScoreAdd
);
statEntity
.
setOtherScoreSub
(
otherScoreSub
);
BigDecimal
totalScoreAdd
=
attendScoreAdd
.
add
(
reviewScoreAdd
).
add
(
complainScoreAdd
)
.
add
(
goworkScoreAdd
).
add
(
effectScoreAdd
).
add
(
otherScoreAdd
);
BigDecimal
totalScoreSub
=
attendScoreSub
.
add
(
reviewScoreSub
).
add
(
complainScoreSub
)
.
add
(
goworkScoreSub
).
add
(
effectScoreSub
).
add
(
otherScoreSub
);
statEntity
.
setTotalAddScore
(
totalScoreAdd
);
statEntity
.
setTotalSubScore
(
totalScoreSub
);
BigDecimal
subtract
=
statEntity
.
getTotalAddScore
().
subtract
(
statEntity
.
getTotalSubScore
());
statEntity
.
setTotalScore
(
subtract
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
?
subtract
:
BigDecimal
.
ZERO
);
if
(
personNum
>
0
)
{
BigDecimal
aver
=
statEntity
.
getTotalScore
().
divide
(
new
BigDecimal
(
personNum
),
2
,
BigDecimal
.
ROUND_CEILING
);
statEntity
.
setAverageScore
(
aver
);
}
else
{
statEntity
.
setAverageScore
(
BigDecimal
.
ZERO
);
}
statEntity
.
setYear
(
DateUtil
.
year
(
curDate
));
statEntity
.
setMonth
(
DateUtil
.
month
(
curDate
)
+
1
);
statEntity
.
setDay
(
DateUtil
.
dayOfMonth
(
curDate
));
return
statEntity
;
}).
collect
(
Collectors
.
toList
());
deptPerformStatService
.
save
(
collect
);
}
return
Rest
.
ok
();
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
RandomUtil
.
randomBigDecimal
(
BigDecimal
.
ZERO
,
new
BigDecimal
(
"1"
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
));
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java
View file @
a19d1bd5
package
com.mortals.xhx.daemon.task
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.PageUtil
;
import
cn.hutool.core.util.StrUtil
;
...
...
@@ -66,7 +67,10 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
userEntity
.
setCreateTime
(
new
Date
());
context
.
setUser
(
userEntity
);
AttendanceRecordHikQuery
recordHikEntity
=
new
AttendanceRecordHikQuery
();
recordHikEntity
.
setAttendanceDateStart
(
DateUtils
.
getCurrStrDate
());
// Date todayStart = DateUtil.offsetHour(new Date(), -5).toJdkDate();
// recordHikEntity.setAttendanceDateStart(DateUtils.getCurrStrDate());
recordHikEntity
.
setAttendanceDateStart
(
DateUtil
.
offsetHour
(
new
Date
(),
-
5
).
toString
());
recordHikEntity
.
setAttendanceDateEnd
(
DateUtils
.
getCurrStrDate
());
try
{
recordHikService
.
addAttendanceRecord
(
recordHikEntity
,
context
);
...
...
@@ -87,7 +91,8 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
eventTypes
.
add
(
196891
);
doorEventReq
.
setEventTypes
(
eventTypes
);
// 获取当天的开始时间
Date
todayStart
=
DateUtil
.
beginOfDay
(
new
Date
());
Date
todayStart
=
DateUtil
.
offsetHour
(
new
Date
(),
-
5
).
toJdkDate
();
// Date todayStart = DateUtil.beginOfDay(new Date());
// 获取当天的结束时间
Date
todayEnd
=
DateUtil
.
endOfDay
(
new
Date
());
doorEventReq
.
setStartTime
(
todayStart
);
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
View file @
a19d1bd5
...
...
@@ -74,7 +74,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
for
(
PersonInfo
personInfo
:
personInfoList
)
{
StaffEntity
staffEntity
=
staffService
.
getExtCache
(
StrUtil
.
padPre
(
personInfo
.
getJobNo
(),
8
,
"0"
));
DeptEntity
deptEntity
=
deptService
.
selectOne
(
new
DeptQuery
().
deptCode
(
personInfo
.
getOrgIndexCode
()));
// AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
// AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
// AttendanceStatEntity statEntity = attendanceStatService.selectOne(new AttendanceStatQuery().staffId(staffEntity.getId()));
//判断本地数据是否为空
if
(
ObjectUtils
.
isEmpty
(
staffEntity
))
{
...
...
@@ -106,7 +106,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
balanceEntity
.
setCreateUserId
(
1L
);
balanceEntity
.
setCreateTime
(
new
Date
());
balanceService
.
save
(
balanceEntity
);
//AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
//AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
AttendanceStatEntity
attendanceStatEntity
=
new
AttendanceStatEntity
();
attendanceStatEntity
.
initAttrValue
();
...
...
@@ -140,13 +140,18 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
attendanceStatEntity
.
setPersonalLeave
(
balanceEntity
.
getPersonalLeaveDays
());
attendanceStatService
.
save
(
attendanceStatEntity
);
//统计各级部门员工数量 todo 优化统计
String
ancestor
=
deptEntity
.
getAncestors
().
split
(
","
,
2
)[
1
];
String
[]
ancestors
=
ancestor
.
split
(
","
);
for
(
String
newAncestor
:
ancestors
)
{
DeptEntity
deptEntity2
=
deptService
.
get
(
Long
.
valueOf
(
newAncestor
));
if
(
Objects
.
nonNull
(
deptEntity2
))
{
deptEntity2
.
setPersonNum
(
deptEntity2
.
getPersonNum
()
+
1
);
deptService
.
update
(
deptEntity2
);
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
.
getAncestors
()))
{
String
[]
split
=
deptEntity
.
getAncestors
().
split
(
","
,
2
);
if
(
split
.
length
>
1
)
{
String
ancestor
=
split
[
1
];
String
[]
ancestors
=
ancestor
.
split
(
","
);
for
(
String
newAncestor
:
ancestors
)
{
DeptEntity
deptEntity2
=
deptService
.
get
(
Long
.
valueOf
(
newAncestor
));
if
(
Objects
.
nonNull
(
deptEntity2
))
{
deptEntity2
.
setPersonNum
(
deptEntity2
.
getPersonNum
()
+
1
);
deptService
.
update
(
deptEntity2
);
}
}
}
}
}
else
{
...
...
@@ -166,13 +171,18 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
staffEntity
.
setUpdateTime
(
new
Date
());
staffService
.
update
(
staffEntity
);
//统计各级部门员工数量
String
ancestor
=
deptEntity
.
getAncestors
().
split
(
","
,
2
)[
1
];
String
[]
ancestors
=
ancestor
.
split
(
","
);
for
(
String
newAncestor
:
ancestors
)
{
DeptEntity
deptEntity2
=
deptService
.
get
(
Long
.
valueOf
(
newAncestor
));
if
(
Objects
.
nonNull
(
deptEntity2
))
{
deptEntity2
.
setPersonNum
(
deptEntity2
.
getPersonNum
()
+
1
);
deptService
.
update
(
deptEntity2
);
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
.
getAncestors
()))
{
String
[]
split
=
deptEntity
.
getAncestors
().
split
(
","
,
2
);
if
(
split
.
length
>
1
){
String
ancestor
=
split
[
1
];
String
[]
ancestors
=
ancestor
.
split
(
","
);
for
(
String
newAncestor
:
ancestors
)
{
DeptEntity
deptEntity2
=
deptService
.
get
(
Long
.
valueOf
(
newAncestor
));
if
(
Objects
.
nonNull
(
deptEntity2
))
{
deptEntity2
.
setPersonNum
(
deptEntity2
.
getPersonNum
()
+
1
);
deptService
.
update
(
deptEntity2
);
}
}
}
}
}
...
...
@@ -220,6 +230,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
}
}
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dingding/personal/service/impl/DingPersonServiceImpl.java
View file @
a19d1bd5
...
...
@@ -22,6 +22,8 @@ import org.apache.poi.ss.formula.functions.T;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.HashMap
;
@Service
(
"dingPersonService"
)
@Slf4j
...
...
@@ -120,7 +122,7 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
com
.
aliyun
.
teaopenapi
.
models
.
Config
config
=
new
com
.
aliyun
.
teaopenapi
.
models
.
Config
();
config
.
protocol
=
"https"
;
config
.
regionId
=
"central"
;
config
.
endpoint
=
domain
.
replace
(
"http://"
,
""
);
// config.endpoint = domain.replace("http://",
"");
return
new
com
.
aliyun
.
dingtalkworkflow_1_0
.
Client
(
config
);
}
...
...
@@ -130,20 +132,19 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
com
.
aliyun
.
dingtalkworkflow_1_0
.
Client
client
=
createClient
();
com
.
aliyun
.
dingtalkworkflow_1_0
.
models
.
GetProcessInstanceHeaders
getProcessInstanceHeaders
=
new
com
.
aliyun
.
dingtalkworkflow_1_0
.
models
.
GetProcessInstanceHeaders
();
getProcessInstanceHeaders
.
xAcsDingtalkAccessToken
=
getToken
();
getProcessInstanceHeaders
.
getCommonHeaders
().
put
(
"host"
,
"172.15.28.113"
);
getProcessInstanceHeaders
.
getCommonHeaders
().
put
(
"port"
,
"8918"
);
getProcessInstanceHeaders
.
getCommonHeaders
().
put
(
"protocol"
,
"http"
);
/* HashMap<String, String> map = new HashMap<>();
getProcessInstanceHeaders.setCommonHeaders(map);
getProcessInstanceHeaders.getCommonHeaders().put("host", "172.15.28.113");
getProcessInstanceHeaders.getCommonHeaders().put("port", "8918");
getProcessInstanceHeaders.getCommonHeaders().put("protocol", "http");*/
com
.
aliyun
.
dingtalkworkflow_1_0
.
models
.
GetProcessInstanceRequest
getProcessInstanceRequest
=
new
com
.
aliyun
.
dingtalkworkflow_1_0
.
models
.
GetProcessInstanceRequest
()
.
setProcessInstanceId
(
processInstanceId
);
log
.
info
(
"processInstanceId:{}"
,
processInstanceId
);
GetProcessInstanceResponse
rsp
=
client
.
getProcessInstanceWithOptions
(
getProcessInstanceRequest
,
getProcessInstanceHeaders
,
new
com
.
aliyun
.
teautil
.
models
.
RuntimeOptions
());
return
Rest
.
ok
(
"成功"
,
rsp
.
getBody
().
getResult
());
}
catch
(
Exception
e
)
{
log
.
info
(
"根据用户查询审批详情失败"
,
e
);
log
.
error
(
"根据用户查询审批详情失败"
,
e
);
return
Rest
.
fail
(
e
.
getMessage
());
}
...
...
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