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
548b31d2
Commit
548b31d2
authored
Apr 02, 2025
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加员工钉钉同步userId
parent
4e9d5846
Changes
8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
955 additions
and
817 deletions
+955
-817
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/QiongLaiProcessInstanceEnum.java
.../mortals/xhx/common/code/QiongLaiProcessInstanceEnum.java
+74
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
...in/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
+18
-31
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java
...ndance/service/impl/AttendanceLeaveRecordServiceImpl.java
+24
-42
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java
.../java/com/mortals/xhx/module/staff/model/StaffEntity.java
+31
-40
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffQuery.java
...n/java/com/mortals/xhx/module/staff/model/StaffQuery.java
+511
-455
attendance-performance-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
...er/src/main/resources/sqlmap/module/staff/StaffMapper.xml
+289
-247
attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http
...-manager/src/test/java/com/mortals/httpclient/system.http
+1
-1
db/add.sql
db/add.sql
+7
-1
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/QiongLaiProcessInstanceEnum.java
0 → 100644
View file @
548b31d2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: 组件枚举类
**/
public
enum
QiongLaiProcessInstanceEnum
{
邛崃大厅人员请假
(
"PROC-E1A4A56A-0EA7-43FE-A073-52E2B9C53E58"
,
"邛崃大厅人员请假"
),
邛崃大厅人员因公外出
(
"PROC-034CE8B1-ED6D-492F-AC2C-61BAC5C0B4B9"
,
"邛崃大厅人员因公外出"
),
邛崃大厅人员补卡申请
(
"PROC-16D29417-3049-4EB8-9710-9D39F9EDD1BD"
,
"邛崃大厅人员补卡申请"
),
/*
邛崃机关人员补卡申请("PROC-DDBEBB18-4FFC-486A-8E97-BAD7911BB9F2", "邛崃机关人员补卡申请"),
邛崃机关人员请假("PROC-7C84DFC5-579E-4500-9159-F38642E7238C", "邛崃机关人员请假"),
邛崃机关人员因公外出("PROC-6B46D143-4A05-4E9B-9C99-E0BD75A29003", "机关人员因公外出"),*/
;
private
String
value
;
private
String
desc
;
QiongLaiProcessInstanceEnum
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
String
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
QiongLaiProcessInstanceEnum
getByValue
(
String
value
)
{
for
(
QiongLaiProcessInstanceEnum
componentEnum
:
QiongLaiProcessInstanceEnum
.
values
())
{
if
(
componentEnum
.
getValue
()
==
value
)
{
return
componentEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
String
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<>();
for
(
QiongLaiProcessInstanceEnum
item
:
QiongLaiProcessInstanceEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
String
e
:
eItem
)
{
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
View file @
548b31d2
...
@@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -86,7 +87,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
...
@@ -86,7 +87,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
//同步钉钉人员
//同步钉钉人员
staffService
.
syncPersonsByDingTalk
(
null
);
staffService
.
syncPersonsByDingTalk
(
null
);
log
.
info
(
"同步钉钉usreId"
);
log
.
info
(
"同步钉钉usreId"
);
syncDingDingLocalUserIds
();
//
syncDingDingLocalUserIds();
log
.
info
(
"钉钉直连同步人员信息"
);
log
.
info
(
"钉钉直连同步人员信息"
);
//同步最近10天请假信息
//同步最近10天请假信息
...
@@ -116,46 +117,32 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
...
@@ -116,46 +117,32 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
}
}
private
void
syncDingDingUserIds
()
{
private
void
syncDingDingUserIds
()
{
try
{
List
<
UserEntity
>
userList
=
userService
.
getCacheList
().
stream
()
.
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getCustomerId
()))
.
filter
(
f
->
ObjectUtils
.
isEmpty
(
f
.
getDingUserId
())).
collect
(
Collectors
.
toList
());
List
<
UserEntity
>
updateUserList
=
userList
.
stream
().
map
(
item
->
{
UserEntity
userEntity
=
new
UserEntity
();
userEntity
.
setId
(
item
.
getId
());
String
mobile
=
""
;
List
<
StaffEntity
>
staffList
=
staffService
.
getCacheList
();
StaffEntity
staffCache
=
staffService
.
getCache
(
item
.
getCustomerId
().
toString
());
List
<
StaffEntity
>
updateList
=
new
ArrayList
<>();
for
(
StaffEntity
staffCache
:
staffList
)
{
if
(!
ObjectUtils
.
isEmpty
(
staffCache
)
&&
!
ObjectUtils
.
isEmpty
(
staffCache
.
getPhoneNumber
()))
{
if
(!
ObjectUtils
.
isEmpty
(
staffCache
)
&&
!
ObjectUtils
.
isEmpty
(
staffCache
.
getPhoneNumber
()))
{
mobile
=
staffCache
.
getPhoneNumber
();
String
phoneNumber
=
staffCache
.
getPhoneNumber
();
if
(
ObjectUtils
.
isEmpty
(
item
.
getMobile
()))
{
if
(!
ObjectUtils
.
isEmpty
(
phoneNumber
))
{
userEntity
.
setMobile
(
mobile
);
Rest
<
String
>
personByMobile
=
dingPersonService
.
getPersonByMobile
(
phoneNumber
);
}
}
if
(!
ObjectUtils
.
isEmpty
(
mobile
))
{
Rest
<
String
>
personByMobile
=
dingPersonService
.
getPersonByMobile
(
mobile
);
if
(!
ObjectUtils
.
isEmpty
(
personByMobile
)
&&
if
(!
ObjectUtils
.
isEmpty
(
personByMobile
)
&&
YesNoEnum
.
YES
.
getValue
()
==
personByMobile
.
getCode
()
YesNoEnum
.
YES
.
getValue
()
==
personByMobile
.
getCode
()
&&
!
ObjectUtils
.
isEmpty
(
personByMobile
.
getData
()))
{
&&
!
ObjectUtils
.
isEmpty
(
personByMobile
.
getData
()))
{
userEntity
.
setDingUserId
(
personByMobile
.
getData
());
StaffEntity
updateStaff
=
new
StaffEntity
();
updateStaff
.
setId
(
staffCache
.
getId
());
updateStaff
.
setDingUserId
(
personByMobile
.
getData
());
updateList
.
add
(
updateStaff
);
}
}
}
}
userEntity
.
setUpdateTime
(
new
Date
());
userEntity
.
setUpdateUserId
(
1L
);
return
userEntity
;
}).
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getDingUserId
())).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
updateUserList
))
{
log
.
info
(
"更新用户钉钉id信息数量:{}"
,
updateUserList
.
size
());
userService
.
getUserDao
().
updateBatch
(
updateUserList
);
}
}
}
catch
(
Exception
e
)
{
if
(!
ObjectUtils
.
isEmpty
(
updateList
))
{
log
.
error
(
"同步钉钉usreId失败"
);
log
.
info
(
"更新用户钉钉id信息数量:{}"
,
updateList
.
size
());
staffService
.
update
(
updateList
);
}
}
}
}
}
private
void
syncDingDingLocalUserIds
()
{
private
void
syncDingDingLocalUserIds
()
{
try
{
try
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java
View file @
548b31d2
...
@@ -93,8 +93,8 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -93,8 +93,8 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
this
.
updateBefore
(
entity
,
context
);
this
.
updateBefore
(
entity
,
context
);
boolean
doPerformAttend
=
true
;
boolean
doPerformAttend
=
true
;
AttendanceLeaveRecordEntity
temp
=
this
.
get
(
entity
.
getId
());
AttendanceLeaveRecordEntity
temp
=
this
.
get
(
entity
.
getId
());
if
(
temp
!=
null
)
{
if
(
temp
!=
null
)
{
if
(
AppealResultEnum
.
通过
.
getValue
()
==
temp
.
getAuditResult
()
&&
LeaveTypeEnum
.
事假
.
getValue
()
==
temp
.
getLeaveType
())
{
if
(
AppealResultEnum
.
通过
.
getValue
()
==
temp
.
getAuditResult
()
&&
LeaveTypeEnum
.
事假
.
getValue
()
==
temp
.
getLeaveType
())
{
doPerformAttend
=
false
;
doPerformAttend
=
false
;
}
}
}
}
...
@@ -103,7 +103,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -103,7 +103,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
throw
new
AppException
(-
1002
,
"更新失败!"
);
throw
new
AppException
(-
1002
,
"更新失败!"
);
}
else
{
}
else
{
super
.
updateAfter
(
entity
,
context
);
super
.
updateAfter
(
entity
,
context
);
if
(
doPerformAttend
)
{
if
(
doPerformAttend
)
{
creatPerformAttend
(
entity
,
context
);
creatPerformAttend
(
entity
,
context
);
}
}
doUpdateRecordAndSummary
(
entity
,
context
);
doUpdateRecordAndSummary
(
entity
,
context
);
...
@@ -186,7 +186,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -186,7 +186,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
}
}
}
}
log
.
info
(
"请假通过后汇总考勤,请假人员:"
+
entity
.
getLeavePerson
());
log
.
info
(
"请假通过后汇总考勤,请假人员:"
+
entity
.
getLeavePerson
());
AttendanceSummaryQuery
query
=
new
AttendanceSummaryQuery
();
AttendanceSummaryQuery
query
=
new
AttendanceSummaryQuery
();
query
.
setSummaryTimeEnd
(
DateUtils
.
getStrDate
(
entity
.
getEndTime
()));
query
.
setSummaryTimeEnd
(
DateUtils
.
getStrDate
(
entity
.
getEndTime
()));
query
.
setSummaryTimeStart
(
DateUtils
.
getStrDate
(
entity
.
getStartTime
()));
query
.
setSummaryTimeStart
(
DateUtils
.
getStrDate
(
entity
.
getStartTime
()));
...
@@ -202,24 +202,21 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -202,24 +202,21 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
public
Rest
<
String
>
syncLeaveRecord
(
AttendanceLeaveRecordQuery
query
,
Context
context
)
{
public
Rest
<
String
>
syncLeaveRecord
(
AttendanceLeaveRecordQuery
query
,
Context
context
)
{
List
<
AttendanceLeaveRecordEntity
>
waitSyncLeaveRecords
=
new
ArrayList
<>();
List
<
AttendanceLeaveRecordEntity
>
waitSyncLeaveRecords
=
new
ArrayList
<>();
Long
staffId
=
query
.
getStaffId
();
Long
staffId
=
query
.
getStaffId
();
List
<
UserEntity
>
userCacheList
=
userService
.
getCacheList
();
List
<
StaffEntity
>
staffCacheList
=
staffService
.
getCacheList
();
// List<UserEntity> userCacheList = userService.getCacheList();
if
(
ObjectUtils
.
isEmpty
(
staffId
))
{
if
(
ObjectUtils
.
isEmpty
(
staffId
))
{
//同步所有用户
//同步所有用户
List
<
UserEntity
>
userEntityList
=
user
CacheList
.
stream
()
List
<
StaffEntity
>
userEntityList
=
staff
CacheList
.
stream
()
.
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getDingUserId
())).
collect
(
Collectors
.
toList
());
.
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getDingUserId
())).
collect
(
Collectors
.
toList
());
getLeaveRecordByUserList
(
query
,
userEntityList
,
waitSyncLeaveRecords
);
getLeaveRecordByUserList
(
query
,
userEntityList
,
waitSyncLeaveRecords
);
}
else
{
}
else
{
//同步指定用户
//同步指定用户
List
<
UserEntity
>
userEntityList
=
user
CacheList
.
stream
()
List
<
StaffEntity
>
userEntityList
=
staff
CacheList
.
stream
()
.
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getDingUserId
()))
.
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getDingUserId
()))
.
filter
(
f
->
staffId
.
equals
(
f
.
getCustomerId
()))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
getLeaveRecordByUserList
(
query
,
userEntityList
,
waitSyncLeaveRecords
);
getLeaveRecordByUserList
(
query
,
userEntityList
,
waitSyncLeaveRecords
);
}
}
log
.
info
(
"待同步请假记录:{}"
,
JSON
.
toJSONString
(
waitSyncLeaveRecords
));
log
.
info
(
"待同步请假记录:{}"
,
JSON
.
toJSONString
(
waitSyncLeaveRecords
));
if
(!
ObjectUtils
.
isEmpty
(
waitSyncLeaveRecords
))
{
if
(!
ObjectUtils
.
isEmpty
(
waitSyncLeaveRecords
))
{
for
(
AttendanceLeaveRecordEntity
waitSyncLeaveRecord
:
waitSyncLeaveRecords
)
{
for
(
AttendanceLeaveRecordEntity
waitSyncLeaveRecord
:
waitSyncLeaveRecords
)
{
dingPersonService
.
handleByProcessInstanceId
(
waitSyncLeaveRecord
.
getRemark
());
dingPersonService
.
handleByProcessInstanceId
(
waitSyncLeaveRecord
.
getRemark
());
...
@@ -228,11 +225,11 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -228,11 +225,11 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
return
Rest
.
ok
();
return
Rest
.
ok
();
}
}
private
void
getLeaveRecordByUserList
(
AttendanceLeaveRecordQuery
query
,
List
<
UserEntity
>
userEntity
List
,
List
<
AttendanceLeaveRecordEntity
>
waitSyncLeaveRecords
)
{
private
void
getLeaveRecordByUserList
(
AttendanceLeaveRecordQuery
query
,
List
<
StaffEntity
>
staffCache
List
,
List
<
AttendanceLeaveRecordEntity
>
waitSyncLeaveRecords
)
{
List
<
List
<
UserEntity
>>
partition
=
Lists
.
partition
(
userEntity
List
,
10
);
List
<
List
<
StaffEntity
>>
partition
=
Lists
.
partition
(
staffCache
List
,
10
);
for
(
List
<
UserEntity
>
user
List
:
partition
)
{
for
(
List
<
StaffEntity
>
staff
List
:
partition
)
{
//String dingUserId = item.getDingUserId();
//String dingUserId = item.getDingUserId();
List
<
String
>
dingUserIds
=
user
List
.
stream
().
map
(
m
->
m
.
getDingUserId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
dingUserIds
=
staff
List
.
stream
().
map
(
m
->
m
.
getDingUserId
()).
collect
(
Collectors
.
toList
());
long
startTime
=
DateUtil
.
parseDateTime
(
query
.
getStartTimeStart
()
+
" 00:00:00"
).
getTime
();
long
startTime
=
DateUtil
.
parseDateTime
(
query
.
getStartTimeStart
()
+
" 00:00:00"
).
getTime
();
long
endTime
=
DateUtil
.
parseDateTime
(
query
.
getEndTimeEnd
()
+
" 23:59:59"
).
getTime
();
long
endTime
=
DateUtil
.
parseDateTime
(
query
.
getEndTimeEnd
()
+
" 23:59:59"
).
getTime
();
Long
nextToken
=
0L
;
Long
nextToken
=
0L
;
...
@@ -245,21 +242,6 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -245,21 +242,6 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
}
}
}
}
}
}
/* for (UserEntity item : userEntityList) {
String dingUserId = item.getDingUserId();
long startTime = DateUtil.parseDateTime(query.getStartTimeStart() + " 00:00:00").getTime();
long endTime = DateUtil.parseDateTime(query.getEndTimeEnd() + " 23:59:59").getTime();
Long nextToken = 0L;
long maxResults = 20L;
for (ProcessInstanceEnum processInstanceEnum : ProcessInstanceEnum.values()) {
try {
getRecords(waitSyncLeaveRecords, item, processInstanceEnum, startTime, endTime, nextToken, maxResults, dingUserId);
} catch (Exception e) {
log.error("同步请假记录异常", e);
}
}
}*/
}
}
private
void
getRecords
(
List
<
AttendanceLeaveRecordEntity
>
waitSyncLeaveRecords
,
ProcessInstanceEnum
processInstanceEnum
,
long
startTime
,
long
endTime
,
Long
nextToken
,
long
maxResults
,
List
<
String
>
dingUserIds
)
throws
Exception
{
private
void
getRecords
(
List
<
AttendanceLeaveRecordEntity
>
waitSyncLeaveRecords
,
ProcessInstanceEnum
processInstanceEnum
,
long
startTime
,
long
endTime
,
Long
nextToken
,
long
maxResults
,
List
<
String
>
dingUserIds
)
throws
Exception
{
...
@@ -291,7 +273,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -291,7 +273,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
String
leaveKey
=
cacheService
.
get
(
LEAVE_REIDS_KEY
+
redisKey
);
String
leaveKey
=
cacheService
.
get
(
LEAVE_REIDS_KEY
+
redisKey
);
if
(
StringUtils
.
isEmpty
(
leaveKey
))
{
if
(
StringUtils
.
isEmpty
(
leaveKey
))
{
cacheService
.
set
(
LEAVE_REIDS_KEY
+
redisKey
,
redisKey
,
300
);
//五分钟内不会重复
cacheService
.
set
(
LEAVE_REIDS_KEY
+
redisKey
,
redisKey
,
300
);
//五分钟内不会重复
PerformAttendRecordEntity
recordEntity
=
conversionLeaveRecord
(
entity
,
multiple
);
PerformAttendRecordEntity
recordEntity
=
conversionLeaveRecord
(
entity
,
multiple
);
recordEntity
.
setCreateTime
(
new
Date
());
recordEntity
.
setCreateTime
(
new
Date
());
recordEntity
.
setCreateUserId
(
1
l
);
recordEntity
.
setCreateUserId
(
1
l
);
recordEntity
.
setErrorTime
(
entity
.
getStartTime
());
recordEntity
.
setErrorTime
(
entity
.
getStartTime
());
...
@@ -314,7 +296,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -314,7 +296,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
}
}
private
PerformAttendRecordEntity
conversionLeaveRecord
(
AttendanceLeaveRecordEntity
entity
,
int
multiple
)
{
private
PerformAttendRecordEntity
conversionLeaveRecord
(
AttendanceLeaveRecordEntity
entity
,
int
multiple
)
{
PerformAttendRecordEntity
recordEntity
=
new
PerformAttendRecordEntity
();
PerformAttendRecordEntity
recordEntity
=
new
PerformAttendRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
StaffEntity
staffEntity
=
staffService
.
get
(
entity
.
getLeavePersonId
());
StaffEntity
staffEntity
=
staffService
.
get
(
entity
.
getLeavePersonId
());
...
@@ -333,10 +315,10 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -333,10 +315,10 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
recordEntity
.
setAttendanceGroupName
(
groupStaffEntity
.
getGroupName
());
recordEntity
.
setAttendanceGroupName
(
groupStaffEntity
.
getGroupName
());
}
}
String
ruleCode
=
"ATTEND1009"
;
String
ruleCode
=
"ATTEND1009"
;
if
(
multiple
%
2
>
0
)
{
//奇数,半天
if
(
multiple
%
2
>
0
)
{
//奇数,半天
ruleCode
=
"ATTEND1010"
;
ruleCode
=
"ATTEND1010"
;
}
}
if
(
multiple
%
2
==
0
)
{
//偶数,全天
if
(
multiple
%
2
==
0
)
{
//偶数,全天
ruleCode
=
"ATTEND1011"
;
ruleCode
=
"ATTEND1011"
;
}
}
PerformRulesEntity
performRulesEntity
=
performRulesService
.
selectOne
(
new
PerformRulesQuery
().
ruleCode
(
ruleCode
));
PerformRulesEntity
performRulesEntity
=
performRulesService
.
selectOne
(
new
PerformRulesQuery
().
ruleCode
(
ruleCode
));
...
@@ -346,15 +328,15 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -346,15 +328,15 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
recordEntity
.
setCategoryId
(
performRulesEntity
.
getCategoryId
());
recordEntity
.
setCategoryId
(
performRulesEntity
.
getCategoryId
());
recordEntity
.
setCategoryName
(
performRulesEntity
.
getCategoryName
());
recordEntity
.
setCategoryName
(
performRulesEntity
.
getCategoryName
());
recordEntity
.
setSubAddType
(
performRulesEntity
.
getSubAddType
());
recordEntity
.
setSubAddType
(
performRulesEntity
.
getSubAddType
());
if
(
ruleCode
.
equals
(
"ATTEND1011"
))
{
if
(
ruleCode
.
equals
(
"ATTEND1011"
))
{
int
m
=
multiple
/
2
;
int
m
=
multiple
/
2
;
recordEntity
.
setScore
(
performRulesEntity
.
getScore
().
multiply
(
new
BigDecimal
(
m
)));
recordEntity
.
setScore
(
performRulesEntity
.
getScore
().
multiply
(
new
BigDecimal
(
m
)));
}
else
{
}
else
{
recordEntity
.
setScore
(
performRulesEntity
.
getScore
().
multiply
(
new
BigDecimal
(
multiple
)));
recordEntity
.
setScore
(
performRulesEntity
.
getScore
().
multiply
(
new
BigDecimal
(
multiple
)));
}
}
recordEntity
.
setRemark
(
performRulesEntity
.
getContent
());
recordEntity
.
setRemark
(
performRulesEntity
.
getContent
());
}
else
{
}
else
{
throw
new
AppException
(
"没有查询到请假扣分规则:"
+
ruleCode
);
throw
new
AppException
(
"没有查询到请假扣分规则:"
+
ruleCode
);
}
}
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setDeductPerson
(
"系统管理员"
);
recordEntity
.
setDeductPerson
(
"系统管理员"
);
...
@@ -362,10 +344,10 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -362,10 +344,10 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
}
}
@Override
@Override
public
void
doCreatPerformAttend
(
Long
id
,
Context
context
){
public
void
doCreatPerformAttend
(
Long
id
,
Context
context
)
{
AttendanceLeaveRecordEntity
temp
=
this
.
get
(
id
);
AttendanceLeaveRecordEntity
temp
=
this
.
get
(
id
);
if
(
temp
!=
null
)
{
if
(
temp
!=
null
)
{
if
(
AppealResultEnum
.
通过
.
getValue
()
==
temp
.
getAuditResult
()
&&
LeaveTypeEnum
.
事假
.
getValue
()
==
temp
.
getLeaveType
())
{
if
(
AppealResultEnum
.
通过
.
getValue
()
==
temp
.
getAuditResult
()
&&
LeaveTypeEnum
.
事假
.
getValue
()
==
temp
.
getLeaveType
())
{
creatPerformAttend
(
temp
,
context
);
creatPerformAttend
(
temp
,
context
);
}
}
}
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java
View file @
548b31d2
...
@@ -8,8 +8,6 @@ import cn.hutool.core.date.DateUtil;
...
@@ -8,8 +8,6 @@ import cn.hutool.core.date.DateUtil;
import
java.util.Date
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.annotation.desensitization.IdCardDesensitize
;
import
com.mortals.framework.annotation.desensitization.MobileDesensitize
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.staff.model.vo.StaffVo
;
import
com.mortals.xhx.module.staff.model.vo.StaffVo
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -17,7 +15,7 @@ import lombok.Data;
...
@@ -17,7 +15,7 @@ import lombok.Data;
* 员工基本信息实体对象
* 员工基本信息实体对象
*
*
* @author zxfei
* @author zxfei
* @date 202
4-01-11
* @date 202
5-04-02
*/
*/
@Data
@Data
public
class
StaffEntity
extends
StaffVo
{
public
class
StaffEntity
extends
StaffVo
{
...
@@ -26,12 +24,10 @@ public class StaffEntity extends StaffVo {
...
@@ -26,12 +24,10 @@ public class StaffEntity extends StaffVo {
/**
/**
* 员工姓名
* 员工姓名
*/
*/
@Excel
(
name
=
"员工姓名"
)
private
String
name
;
private
String
name
;
/**
/**
* 性别(1.男,2.女)
* 性别(1.男,2.女)
*/
*/
@Excel
(
name
=
"性别"
,
readConverterExp
=
"1=男,2=女"
)
private
Integer
gender
;
private
Integer
gender
;
/**
/**
* 出生日期
* 出生日期
...
@@ -44,19 +40,14 @@ public class StaffEntity extends StaffVo {
...
@@ -44,19 +40,14 @@ public class StaffEntity extends StaffVo {
/**
/**
* 联系电话
* 联系电话
*/
*/
@Excel
(
name
=
"联系电话"
)
@MobileDesensitize
private
String
phoneNumber
;
private
String
phoneNumber
;
/**
/**
* 身份证号码
* 身份证号码
*/
*/
@Excel
(
name
=
"身份证号码"
)
@IdCardDesensitize
private
String
idCard
;
private
String
idCard
;
/**
/**
* 工号
* 工号
*/
*/
@Excel
(
name
=
"工号"
)
private
String
workNum
;
private
String
workNum
;
/**
/**
* 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
...
@@ -69,7 +60,6 @@ public class StaffEntity extends StaffVo {
...
@@ -69,7 +60,6 @@ public class StaffEntity extends StaffVo {
/**
/**
* 所属部门名称
* 所属部门名称
*/
*/
@Excel
(
name
=
"所属部门名称"
)
private
String
deptName
;
private
String
deptName
;
/**
/**
* 职位ID
* 职位ID
...
@@ -78,22 +68,15 @@ public class StaffEntity extends StaffVo {
...
@@ -78,22 +68,15 @@ public class StaffEntity extends StaffVo {
/**
/**
* 职位名称
* 职位名称
*/
*/
@Excel
(
name
=
"职位名称"
)
private
String
positionName
;
private
String
positionName
;
/**
/**
* 员工类型(1.全职,2.兼职,3.实习)
* 员工类型(1.全职,2.兼职,3.实习)
*/
*/
@Excel
(
name
=
"员工类型"
,
readConverterExp
=
"1=全职,2=兼职,3=实习"
)
private
Integer
staffType
;
private
Integer
staffType
;
/**
/**
* 员工状态(1.正式,2.试用,3.离职)
* 员工状态(1.正式,2.试用,3.离职)
*/
*/
@Excel
(
name
=
"员工状态"
,
readConverterExp
=
"1=正式,2=试用,3=离职"
)
private
Integer
status
;
private
Integer
status
;
/**
* 员工来源(1.外部,2.内部)
*/
private
Integer
source
;
/**
/**
* 入职登记表
* 入职登记表
*/
*/
...
@@ -101,7 +84,6 @@ public class StaffEntity extends StaffVo {
...
@@ -101,7 +84,6 @@ public class StaffEntity extends StaffVo {
/**
/**
* 入职时间
* 入职时间
*/
*/
@Excel
(
name
=
"入职时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
entryDate
;
private
Date
entryDate
;
/**
/**
* 转正时间
* 转正时间
...
@@ -119,6 +101,10 @@ public class StaffEntity extends StaffVo {
...
@@ -119,6 +101,10 @@ public class StaffEntity extends StaffVo {
* 备注
* 备注
*/
*/
private
String
remarkId
;
private
String
remarkId
;
/**
* 员工来源(1.外部,2.内部)
*/
private
Integer
source
;
/**
/**
* 相对图片pic
* 相对图片pic
*/
*/
...
@@ -127,22 +113,6 @@ public class StaffEntity extends StaffVo {
...
@@ -127,22 +113,6 @@ public class StaffEntity extends StaffVo {
* 图片资源唯一标识
* 图片资源唯一标识
*/
*/
private
String
serverIndexCode
;
private
String
serverIndexCode
;
/**
* 绩效分数
*/
private
BigDecimal
score
;
/**
* 员工登录名
*/
private
String
loginName
;
/**
* 员工登录密码
*/
private
String
loginPwd
;
/**
* 最后登录时间
*/
private
Date
lastLoginTime
;
/**
/**
* 考勤授权(0.不启用,1.启用)
* 考勤授权(0.不启用,1.启用)
*/
*/
...
@@ -175,6 +145,26 @@ public class StaffEntity extends StaffVo {
...
@@ -175,6 +145,26 @@ public class StaffEntity extends StaffVo {
* 所属大厅名称
* 所属大厅名称
*/
*/
private
String
salaName
;
private
String
salaName
;
/**
* 绩效分数
*/
private
BigDecimal
score
;
/**
* 员工登录名
*/
private
String
loginName
;
/**
* 员工登录密码
*/
private
String
loginPwd
;
/**
* 最后登录时间
*/
private
Date
lastLoginTime
;
/**
* 钉钉userId
*/
private
String
dingUserId
;
@Override
@Override
public
int
hashCode
()
{
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
return
this
.
getId
().
hashCode
();
...
@@ -206,19 +196,15 @@ public class StaffEntity extends StaffVo {
...
@@ -206,19 +196,15 @@ public class StaffEntity extends StaffVo {
this
.
positionName
=
""
;
this
.
positionName
=
""
;
this
.
staffType
=
1
;
this
.
staffType
=
1
;
this
.
status
=
1
;
this
.
status
=
1
;
this
.
source
=
1
;
this
.
registerPath
=
""
;
this
.
registerPath
=
""
;
this
.
entryDate
=
null
;
this
.
entryDate
=
null
;
this
.
regularDate
=
null
;
this
.
regularDate
=
null
;
this
.
leaveDate
=
null
;
this
.
leaveDate
=
null
;
this
.
remark
=
""
;
this
.
remark
=
""
;
this
.
remarkId
=
""
;
this
.
remarkId
=
""
;
this
.
source
=
1
;
this
.
picUri
=
""
;
this
.
picUri
=
""
;
this
.
serverIndexCode
=
""
;
this
.
serverIndexCode
=
""
;
this
.
score
=
BigDecimal
.
ZERO
;
this
.
loginName
=
""
;
this
.
loginPwd
=
""
;
this
.
lastLoginTime
=
null
;
this
.
attendCheck
=
1
;
this
.
attendCheck
=
1
;
this
.
complainCheck
=
1
;
this
.
complainCheck
=
1
;
this
.
reviewCheck
=
1
;
this
.
reviewCheck
=
1
;
...
@@ -227,5 +213,10 @@ public class StaffEntity extends StaffVo {
...
@@ -227,5 +213,10 @@ public class StaffEntity extends StaffVo {
this
.
otherCheck
=
1
;
this
.
otherCheck
=
1
;
this
.
salaId
=
null
;
this
.
salaId
=
null
;
this
.
salaName
=
""
;
this
.
salaName
=
""
;
this
.
score
=
BigDecimal
.
ZERO
;
this
.
loginName
=
""
;
this
.
loginPwd
=
""
;
this
.
lastLoginTime
=
null
;
this
.
dingUserId
=
""
;
}
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffQuery.java
View file @
548b31d2
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
View file @
548b31d2
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http
View file @
548b31d2
...
@@ -143,7 +143,7 @@ Authorization: {{authToken}}
...
@@ -143,7 +143,7 @@ Authorization: {{authToken}}
Content-Type: application/json
Content-Type: application/json
{
{
"staffId":
816
,
"staffId":
349
,
"startTimeStart": "2025-02-01",
"startTimeStart": "2025-02-01",
"endTimeEnd": "2025-03-31"
"endTimeEnd": "2025-03-31"
}
}
...
...
db/add.sql
View file @
548b31d2
...
@@ -1376,3 +1376,9 @@ PRIMARY KEY (`id`)
...
@@ -1376,3 +1376,9 @@ PRIMARY KEY (`id`)
,
KEY
`year`
(
`year`
)
USING
BTREE
,
KEY
`year`
(
`year`
)
USING
BTREE
,
KEY
`deptName`
(
`deptName`
)
USING
BTREE
,
KEY
`deptName`
(
`deptName`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'窗口绩效汇总登记'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'窗口绩效汇总登记'
;
-- ----------------------------
-- 2025-04-02
-- ----------------------------
ALTER
TABLE
mortals_xhx_staff
ADD
COLUMN
`dingUserId`
varchar
(
128
)
COMMENT
'钉钉userId'
;
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