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
12f1adef
Commit
12f1adef
authored
Jul 31, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
69485ad1
1795462b
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
545 additions
and
107 deletions
+545
-107
attendance-performance-manager-ui/admin/src/views/attendance/record/hik/list.vue
...manager-ui/admin/src/views/attendance/record/hik/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/staff/list.vue
...nce-performance-manager-ui/admin/src/views/staff/list.vue
+9
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
.../java/com/mortals/xhx/base/login/web/LoginController.java
+61
-30
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java
...com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java
+36
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/AppealApiController.java
...ava/com/mortals/xhx/busiz/h5/web/AppealApiController.java
+46
-10
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/InspectApiController.java
...va/com/mortals/xhx/busiz/h5/web/InspectApiController.java
+98
-5
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java
...va/com/mortals/xhx/busiz/h5/web/PerformApiController.java
+0
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/AppealResultEnum.java
...in/java/com/mortals/xhx/common/code/AppealResultEnum.java
+1
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/common/pdu/HomeStatInfo.java
...rc/main/java/com/mortals/xhx/common/pdu/HomeStatInfo.java
+6
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
...in/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
+0
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceStatEntity.java
...als/xhx/module/attendance/model/AttendanceStatEntity.java
+2
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordVo.java
...ls/xhx/module/attendance/model/vo/AttendanceRecordVo.java
+3
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceExportRecordController.java
...dule/attendance/web/AttendanceExportRecordController.java
+0
-9
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
...xhx/module/attendance/web/AttendanceRecordController.java
+61
-9
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
.../module/attendance/web/AttendanceRecordHikController.java
+26
-9
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/PerformAttendAppealEntity.java
...s/xhx/module/perform/model/PerformAttendAppealEntity.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java
.../perform/service/impl/PerformAttendAppealServiceImpl.java
+15
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendRecordServiceImpl.java
.../perform/service/impl/PerformAttendRecordServiceImpl.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformComplainRecordServiceImpl.java
...erform/service/impl/PerformComplainRecordServiceImpl.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java
.../perform/service/impl/PerformEffectRecordServiceImpl.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformGoworkRecordServiceImpl.java
.../perform/service/impl/PerformGoworkRecordServiceImpl.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformOtherRecordServiceImpl.java
...e/perform/service/impl/PerformOtherRecordServiceImpl.java
+5
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformReviewRecordServiceImpl.java
.../perform/service/impl/PerformReviewRecordServiceImpl.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/StaffService.java
...va/com/mortals/xhx/module/staff/service/StaffService.java
+9
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java
...rtals/xhx/module/staff/service/impl/StaffServiceImpl.java
+122
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java
...ava/com/mortals/xhx/module/staff/web/StaffController.java
+28
-0
No files found.
attendance-performance-manager-ui/admin/src/views/attendance/record/hik/list.vue
View file @
12f1adef
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
</div>
</div>
<div
class=
"mt10"
>
<div
class=
"mt10"
>
<el-link
:href=
"
baseUrl+
item.filePath"
target=
"_blank"
type=
"primary"
>
重新下载
</el-link>
<el-link
:href=
"item.filePath"
target=
"_blank"
type=
"primary"
>
重新下载
</el-link>
</div>
</div>
</div>
</div>
<div
class=
"times mt10"
>
<div
class=
"times mt10"
>
...
...
attendance-performance-manager-ui/admin/src/views/staff/list.vue
View file @
12f1adef
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
</el-button>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"text"
>
同步数据
</el-button>
<el-button
type=
"text"
@
click=
"syncPerson"
>
同步数据
</el-button>
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"text"
@
click=
"handleImport"
<el-button
type=
"text"
@
click=
"handleImport"
...
@@ -219,6 +219,14 @@ export default {
...
@@ -219,6 +219,14 @@ export default {
);
);
this
.
isdialog
=
true
;
this
.
isdialog
=
true
;
},
},
/** 同步 */
syncPerson
()
{
this
.
$post
(
"
/staff/syncPersons
"
,
{}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
$message
.
success
(
res
.
msg
)
}
});
},
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
this
.
upload
.
title
=
"
员工导入
"
;
this
.
upload
.
title
=
"
员工导入
"
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
View file @
12f1adef
package
com.mortals.xhx.base.login.web
;
package
com.mortals.xhx.base.login.web
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.ap.CookieService
;
import
com.mortals.framework.ap.CookieService
;
...
@@ -20,8 +21,16 @@ import com.mortals.xhx.base.system.resource.service.ResourceService;
...
@@ -20,8 +21,16 @@ import com.mortals.xhx.base.system.resource.service.ResourceService;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.common.code.GoWorkResultEnum
;
import
com.mortals.xhx.common.code.OffWorkResultEnum
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.common.pdu.HomeStatInfo
;
import
com.mortals.xhx.common.pdu.HomeStatInfo
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordQuery
;
import
com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceQuery
;
import
com.mortals.xhx.module.attendance.model.AttendanceVacationRecordQuery
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordService
;
import
com.mortals.xhx.module.attendance.service.AttendanceVacationRecordService
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
...
@@ -61,6 +70,10 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -61,6 +70,10 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
private
ICacheService
cacheService
;
private
ICacheService
cacheService
;
@Autowired
@Autowired
private
IAuthTokenService
authTokenService
;
private
IAuthTokenService
authTokenService
;
@Autowired
private
AttendanceRecordService
recordService
;
@Autowired
private
AttendanceVacationRecordService
vacationRecordService
;
@Autowired
@Autowired
private
StaffService
staffService
;
private
StaffService
staffService
;
...
@@ -157,13 +170,54 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -157,13 +170,54 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
int
totalDeptNum
=
deptService
.
count
(
new
DeptQuery
(),
getContext
());
int
totalDeptNum
=
deptService
.
count
(
new
DeptQuery
(),
getContext
());
homeStatInfo
.
setTotalDeptNum
(
totalDeptNum
);
homeStatInfo
.
setTotalDeptNum
(
totalDeptNum
);
//todo
homeStatInfo
.
setAttendRadio
(
new
BigDecimal
(
98.00
));
AttendanceRecordQuery
attendanceRecordQuery
=
new
AttendanceRecordQuery
();
homeStatInfo
.
setLevealPersonNum
(
6
);
attendanceRecordQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
homeStatInfo
.
setLatePersonNum
(
2
);
attendanceRecordQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
homeStatInfo
.
setLeftEarlyPersonNum
(
1
);
List
<
AttendanceRecordEntity
>
attendanceRecordEntities
=
recordService
.
find
(
attendanceRecordQuery
);
homeStatInfo
.
setMissCardPersonNum
(
23
);
//总打卡
homeStatInfo
.
setAttendPersonNum
(
426
);
long
total
=
attendanceRecordEntities
.
parallelStream
().
map
(
item
->
item
.
getStaffId
()).
distinct
().
count
();
//迟到次数
long
beLate
=
attendanceRecordEntities
.
parallelStream
()
.
flatMap
(
item
->
item
.
getAttendanceRecordDetailList
().
stream
())
.
filter
(
f
->
GoWorkResultEnum
.
迟到
.
getValue
()
==
f
.
getGoWorkResult
()
||
OffWorkResultEnum
.
迟到
.
getValue
()
==
f
.
getOffWorkResult
())
.
count
();
//早退次数
long
leaveEarly
=
attendanceRecordEntities
.
parallelStream
()
.
flatMap
(
item
->
item
.
getAttendanceRecordDetailList
().
stream
())
.
filter
(
f
->
GoWorkResultEnum
.
早退
.
getValue
()
==
f
.
getGoWorkResult
()
||
OffWorkResultEnum
.
早退
.
getValue
()
==
f
.
getOffWorkResult
())
.
count
();
//缺卡次数
long
lackOfCards
=
attendanceRecordEntities
.
parallelStream
()
.
flatMap
(
item
->
item
.
getAttendanceRecordDetailList
().
stream
())
.
filter
(
f
->
GoWorkResultEnum
.
缺卡
.
getValue
()
==
f
.
getGoWorkResult
()
||
OffWorkResultEnum
.
缺卡
.
getValue
()
==
f
.
getOffWorkResult
())
.
count
();
AttendanceVacationRecordQuery
vacationRecordQuery
=
new
AttendanceVacationRecordQuery
();
vacationRecordQuery
.
setCreateTimeStart
(
DateUtil
.
today
());
vacationRecordQuery
.
setCreateTimeEnd
(
DateUtil
.
today
());
int
levealPersonNum
=
vacationRecordService
.
count
(
vacationRecordQuery
,
getContext
());
//未考勤
long
noAtt
=
lackOfCards
;
long
att
=
total
-
noAtt
;
if
(
att
!=
0L
){
BigDecimal
bigDecimal
=
new
BigDecimal
(
att
).
divide
(
new
BigDecimal
(
total
)).
multiply
(
new
BigDecimal
(
100
)).
setScale
(
2
,
BigDecimal
.
ROUND_CEILING
);
homeStatInfo
.
setAttendRadio
(
bigDecimal
.
toString
()+
"%"
);
}
else
{
homeStatInfo
.
setAttendRadio
(
"0%"
);
}
homeStatInfo
.
setLevealPersonNum
(
levealPersonNum
);
homeStatInfo
.
setLatePersonNum
(
beLate
);
homeStatInfo
.
setLeftEarlyPersonNum
(
leaveEarly
);
homeStatInfo
.
setMissCardPersonNum
(
lackOfCards
);
homeStatInfo
.
setAttendPersonNum
(
total
);
data
.
put
(
"homeStat"
,
homeStatInfo
);
data
.
put
(
"homeStat"
,
homeStatInfo
);
data
.
put
(
"token"
,
token
);
data
.
put
(
"token"
,
token
);
...
@@ -179,29 +233,6 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -179,29 +233,6 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
}
private
void
generateBlackCookie
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
loginName
,
Set
<
String
>
urls
)
{
try
{
String
cacheKey
=
RedisKey
.
KEY_MENU_CACHE
+
loginName
;
String
securityKey
=
GlobalSysInfo
.
getPropertyValue
(
SysConstains
.
PROP_COOKIE_SECURITY_KEY
);
//应为Cookie会超长,所以改为仅存储key将值放入redis
//CookieService.setCookieForAuth(request, response, securityKey, null);
StringBuilder
sb
=
new
StringBuilder
();
if
(
urls
!=
null
&&
urls
.
size
()
>
0
)
{
for
(
String
url
:
urls
)
{
int
index
=
url
.
hashCode
()
&
(
Integer
.
MAX_VALUE
-
1
);
sb
.
append
(
index
).
append
(
","
);
}
}
String
menuUrl
=
sb
.
toString
();
menuUrl
=
AESUtil
.
encrypt
(
menuUrl
,
securityKey
);
cacheService
.
set
(
cacheKey
,
menuUrl
,
604800
);
HttpUtil
.
setCookieValue
(
request
,
response
,
SysConstains
.
COOKIE_MENU
,
cacheKey
,
-
1
);
}
catch
(
Throwable
e
)
{
}
}
private
String
generateMenuUrlCode
(
Set
<
String
>
urls
)
{
private
String
generateMenuUrlCode
(
Set
<
String
>
urls
)
{
try
{
try
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java
View file @
12f1adef
package
com.mortals.xhx.busiz.h5.web
;
package
com.mortals.xhx.busiz.h5.web
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.annotation.UnAuth
;
...
@@ -23,6 +24,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -23,6 +24,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
@RestController
@RestController
@Slf4j
@Slf4j
...
@@ -47,6 +51,10 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -47,6 +51,10 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
private
StaffService
staffService
;
private
StaffService
staffService
;
@Autowired
@Autowired
private
PerformRulesCategoryService
categoryService
;
private
PerformRulesCategoryService
categoryService
;
@Autowired
private
PerformStaffConfService
performStaffConfService
;
@Autowired
private
PerformStaffConfDetailService
performStaffConfDetailService
;
/**
/**
...
@@ -206,7 +214,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -206,7 +214,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
//通过手机号码查询员工属性
//通过手机号码查询员工属性
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
checkStaffAutoConf
(
staffEntity
,
rule
);
PerformAttendRecordEntity
recordEntity
=
new
PerformAttendRecordEntity
();
PerformAttendRecordEntity
recordEntity
=
new
PerformAttendRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
...
@@ -242,9 +250,8 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -242,9 +250,8 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
//评价保存
//评价保存
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
checkStaffAutoConf
(
staffEntity
,
rule
);
PerformReviewRecordEntity
recordEntity
=
new
PerformReviewRecordEntity
();
PerformReviewRecordEntity
recordEntity
=
new
PerformReviewRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
BeanUtils
.
copyProperties
(
req
,
recordEntity
);
BeanUtils
.
copyProperties
(
req
,
recordEntity
);
...
@@ -272,10 +279,33 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -272,10 +279,33 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
}
}
private
void
checkStaffAutoConf
(
StaffEntity
staffEntity
,
PerformRulesEntity
rule
)
{
Boolean
rulePass
=
false
;
//校验当前员工是否存在自动规则中
List
<
PerformStaffConfEntity
>
performStaffConfEntities
=
performStaffConfService
.
find
(
new
PerformStaffConfQuery
());
for
(
PerformStaffConfEntity
performStaffConfEntity
:
performStaffConfEntities
)
{
String
staffIds
=
performStaffConfEntity
.
getStaffIds
();
Set
<
String
>
split
=
StrUtil
.
split
(
staffIds
,
","
).
stream
().
collect
(
Collectors
.
toSet
());
if
(
split
.
contains
(
staffEntity
.
getId
().
toString
()))
{
//查询当前规则
List
<
PerformStaffConfDetailEntity
>
staffConfDetailEntities
=
performStaffConfDetailService
.
find
(
new
PerformStaffConfDetailQuery
().
staffConfId
(
performStaffConfEntity
.
getId
()));
for
(
PerformStaffConfDetailEntity
staffConfDetailEntity
:
staffConfDetailEntities
)
{
if
(
staffConfDetailEntity
.
getRuleId
()
==
rule
.
getId
()){
rulePass
=
true
;
break
;
}
}
}
if
(
rulePass
)
break
;
}
if
(
rulePass
)
throw
new
AppException
(
"当前用户与绩效规则未配置自动核查,请在后台配置后再新增!"
);
}
private
boolean
complain
(
ComplainSaveReq
req
)
throws
AppException
{
private
boolean
complain
(
ComplainSaveReq
req
)
throws
AppException
{
//投诉保存
//投诉保存
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
checkStaffAutoConf
(
staffEntity
,
rule
);
PerformComplainRecordEntity
recordEntity
=
new
PerformComplainRecordEntity
();
PerformComplainRecordEntity
recordEntity
=
new
PerformComplainRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
...
@@ -307,6 +337,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -307,6 +337,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
//办件保存
//办件保存
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
checkStaffAutoConf
(
staffEntity
,
rule
);
PerformGoworkRecordEntity
recordEntity
=
new
PerformGoworkRecordEntity
();
PerformGoworkRecordEntity
recordEntity
=
new
PerformGoworkRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
...
@@ -339,7 +370,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -339,7 +370,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
//效能保存
//效能保存
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
checkStaffAutoConf
(
staffEntity
,
rule
);
PerformEffectRecordEntity
recordEntity
=
new
PerformEffectRecordEntity
();
PerformEffectRecordEntity
recordEntity
=
new
PerformEffectRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
...
@@ -372,6 +403,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
...
@@ -372,6 +403,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq>
//其它保存
//其它保存
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
StaffEntity
staffEntity
=
getStaff
(
req
.
getPhone
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
PerformRulesEntity
rule
=
getRule
(
req
.
getRuleCode
());
checkStaffAutoConf
(
staffEntity
,
rule
);
PerformOtherRecordEntity
recordEntity
=
new
PerformOtherRecordEntity
();
PerformOtherRecordEntity
recordEntity
=
new
PerformOtherRecordEntity
();
recordEntity
.
initAttrValue
();
recordEntity
.
initAttrValue
();
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
系统自动
.
getValue
());
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/AppealApiController.java
View file @
12f1adef
...
@@ -14,13 +14,18 @@ import com.mortals.framework.model.Result;
...
@@ -14,13 +14,18 @@ import com.mortals.framework.model.Result;
import
com.mortals.xhx.busiz.h5.req.AppealReq
;
import
com.mortals.xhx.busiz.h5.req.AppealReq
;
import
com.mortals.xhx.busiz.h5.req.PerformReq
;
import
com.mortals.xhx.busiz.h5.req.PerformReq
;
import
com.mortals.xhx.busiz.h5.rsp.AppealStatInfo
;
import
com.mortals.xhx.busiz.h5.rsp.AppealStatInfo
;
import
com.mortals.xhx.busiz.h5.rsp.PerformStatInfo
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.module.check.dao.CheckAllRecordDao
;
import
com.mortals.xhx.module.check.model.*
;
import
com.mortals.xhx.module.check.model.*
;
import
com.mortals.xhx.module.check.service.*
;
import
com.mortals.xhx.module.check.service.*
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealEntity
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealEntity
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealQuery
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealQuery
;
import
com.mortals.xhx.module.perform.service.PerformAttendAppealService
;
import
com.mortals.xhx.module.perform.service.PerformAttendAppealService
;
import
com.mortals.xhx.module.staff.model.StaffPerformStatEntity
;
import
com.mortals.xhx.module.staff.model.StaffPerformStatQuery
;
import
com.mortals.xhx.module.staff.service.StaffPerformStatService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -30,10 +35,7 @@ import org.springframework.web.bind.annotation.RequestBody;
...
@@ -30,10 +35,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Arrays
;
import
java.util.*
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED
;
...
@@ -62,7 +64,10 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
...
@@ -62,7 +64,10 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
private
CheckGoworkRecordService
checkGoworkRecordService
;
private
CheckGoworkRecordService
checkGoworkRecordService
;
@Autowired
@Autowired
private
CheckOtherRecordService
checkOtherRecordService
;
private
CheckOtherRecordService
checkOtherRecordService
;
@Autowired
private
CheckAllRecordDao
checkAllRecordDao
;
@Autowired
private
StaffPerformStatService
staffPerformStatService
;
@Autowired
@Autowired
private
PerformAttendAppealService
appealService
;
private
PerformAttendAppealService
appealService
;
...
@@ -89,13 +94,44 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
...
@@ -89,13 +94,44 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
}
}
log
.
info
(
"【{}】【请求体】--> 用户:{}"
,
busiDesc
,
context
.
getUser
().
getRealName
());
log
.
info
(
"【{}】【请求体】--> 用户:{}"
,
busiDesc
,
context
.
getUser
().
getRealName
());
try
{
try
{
//todo 查询当前登录人的绩效分数
CheckAllRecordQuery
checkAllRecordQuery
=
new
CheckAllRecordQuery
();
checkAllRecordQuery
.
setSubAddType
(
SubAddTypeEnum
.
扣除
.
getValue
());
checkAllRecordQuery
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
int
totalTimes
=
checkAllRecordDao
.
getCount
(
checkAllRecordQuery
);
checkAllRecordQuery
.
setCheckTimeStart
(
DateUtil
.
today
());
checkAllRecordQuery
.
setCheckTimeEnd
(
DateUtil
.
today
());
int
todayTimes
=
checkAllRecordDao
.
getCount
(
checkAllRecordQuery
);
StaffPerformStatQuery
staffPerformStatQuery
=
new
StaffPerformStatQuery
();
staffPerformStatQuery
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
staffPerformStatQuery
.
setYear
(
DateUtil
.
year
(
new
Date
()));
staffPerformStatQuery
.
setMonth
(
DateUtil
.
month
(
new
Date
())
+
1
);
List
<
StaffPerformStatEntity
>
staffPerformStatEntities
=
staffPerformStatService
.
find
(
staffPerformStatQuery
);
BigDecimal
totalScore
=
new
BigDecimal
(
0.0
);
if
(
ObjectUtils
.
isEmpty
(
staffPerformStatEntities
))
{
totalScore
=
staffPerformStatEntities
.
stream
().
map
(
item
->
item
.
getTotalSubScore
()).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
}
staffPerformStatQuery
.
setDay
(
DateUtil
.
dayOfMonth
(
new
Date
()));
//今日得分
StaffPerformStatEntity
staffPerformStatEntity
=
staffPerformStatService
.
selectOne
(
staffPerformStatQuery
);
BigDecimal
todayScore
=
new
BigDecimal
(
0.0
);
if
(!
ObjectUtils
.
isEmpty
(
staffPerformStatEntity
))
{
todayScore
=
staffPerformStatEntity
.
getTotalSubScore
();
}
AppealStatInfo
appealStatInfo
=
new
AppealStatInfo
();
AppealStatInfo
appealStatInfo
=
new
AppealStatInfo
();
appealStatInfo
.
setTotalScore
(
new
BigDecimal
(
"10.52"
).
setScale
(
1
,
BigDecimal
.
ROUND_HALF_UP
));
appealStatInfo
.
setTotalScore
(
totalScore
.
setScale
(
1
,
BigDecimal
.
ROUND_HALF_UP
));
appealStatInfo
.
setTotalTimes
(
12
);
appealStatInfo
.
setTotalTimes
(
totalTimes
);
appealStatInfo
.
setTodayScore
(
new
BigDecimal
(
"2.5"
).
setScale
(
1
,
BigDecimal
.
ROUND_HALF_UP
));
appealStatInfo
.
setTodayScore
(
todayScore
.
setScale
(
1
,
BigDecimal
.
ROUND_HALF_UP
));
appealStatInfo
.
setTodayTimes
(
3
);
appealStatInfo
.
setTodayTimes
(
todayTimes
);
rest
.
setData
(
appealStatInfo
);
rest
.
setData
(
appealStatInfo
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
busiDesc
,
e
);
log
.
error
(
busiDesc
,
e
);
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/InspectApiController.java
View file @
12f1adef
...
@@ -16,6 +16,11 @@ import com.mortals.xhx.busiz.h5.rsp.PerformDetailInfo;
...
@@ -16,6 +16,11 @@ import com.mortals.xhx.busiz.h5.rsp.PerformDetailInfo;
import
com.mortals.xhx.busiz.h5.rsp.PerformInfo
;
import
com.mortals.xhx.busiz.h5.rsp.PerformInfo
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.module.attendance.model.*
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassDetailService
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupFixedworkService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupService
;
import
com.mortals.xhx.module.check.dao.CheckAllRecordDao
;
import
com.mortals.xhx.module.check.dao.CheckAllRecordDao
;
import
com.mortals.xhx.module.check.model.*
;
import
com.mortals.xhx.module.check.model.*
;
import
com.mortals.xhx.module.check.model.vo.CheckAllRecordVo
;
import
com.mortals.xhx.module.check.model.vo.CheckAllRecordVo
;
...
@@ -68,11 +73,8 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -68,11 +73,8 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
private
PerformRulesService
rulesService
;
private
PerformRulesService
rulesService
;
@Autowired
@Autowired
private
StaffService
staffService
;
private
StaffService
staffService
;
@Autowired
@Autowired
private
CheckAllRecordService
checkAllRecordService
;
private
CheckAllRecordService
checkAllRecordService
;
@Autowired
@Autowired
private
CheckAttendRecordService
checkAttendRecordService
;
private
CheckAttendRecordService
checkAttendRecordService
;
@Autowired
@Autowired
...
@@ -85,10 +87,16 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -85,10 +87,16 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
private
CheckGoworkRecordService
checkGoworkRecordService
;
private
CheckGoworkRecordService
checkGoworkRecordService
;
@Autowired
@Autowired
private
CheckOtherRecordService
checkOtherRecordService
;
private
CheckOtherRecordService
checkOtherRecordService
;
@Autowired
@Autowired
private
CheckAllRecordDao
checkAllRecordDao
;
private
CheckAllRecordDao
checkAllRecordDao
;
@Autowired
private
AttendanceGroupService
groupService
;
@Autowired
private
AttendanceClassService
classService
;
@Autowired
private
AttendanceClassDetailService
classDetailService
;
@Autowired
private
AttendanceGroupFixedworkService
fixedworkService
;
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"checkStatus"
,
CheckStatusEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"checkStatus"
,
CheckStatusEnum
.
getEnumMap
());
...
@@ -97,6 +105,8 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -97,6 +105,8 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
this
.
addDict
(
model
,
"subAddType"
,
SubAddTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"subAddType"
,
SubAddTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"checkType"
,
CheckTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"checkType"
,
CheckTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"reviewResult"
,
ReviewResultEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"reviewResult"
,
ReviewResultEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"irregularOtherType"
,
IrregularOtherTypeEnum
.
getEnumMap
());
}
}
/**
/**
...
@@ -314,6 +324,8 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -314,6 +324,8 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
recordEntity
.
setSubMethod
(
SubMethodEnum
.
大厅巡查
.
getValue
());
recordEntity
.
setSubMethod
(
SubMethodEnum
.
大厅巡查
.
getValue
());
recordEntity
.
setErrorTime
(
new
Date
());
recordEntity
.
setErrorTime
(
new
Date
());
//根据考勤组查询 上下班
buildGoOffWork
(
req
,
context
,
recordEntity
);
recordEntity
.
setCreateUserId
(
context
.
getUser
().
getId
());
recordEntity
.
setCreateUserId
(
context
.
getUser
().
getId
());
recordEntity
.
setCreateTime
(
new
Date
());
recordEntity
.
setCreateTime
(
new
Date
());
...
@@ -323,6 +335,86 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -323,6 +335,86 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
}
}
private
void
buildGoOffWork
(
InspectSaveReq
req
,
Context
context
,
PerformAttendRecordEntity
recordEntity
)
{
if
(!
ObjectUtils
.
isEmpty
(
req
.
getAttendanceGroupId
())&&!
ObjectUtils
.
isEmpty
(
req
.
getAttendanceDate
())){
AttendanceGroupEntity
attendanceGroupEntity
=
groupService
.
get
(
req
.
getAttendanceGroupId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
attendanceGroupEntity
))
{
//判断上下班时间
if
(
TypeEnum
.
固定班制
.
getValue
()
==
attendanceGroupEntity
.
getType
())
{
AttendanceGroupFixedworkEntity
fixedworkEntity
=
fixedworkService
.
selectOne
(
new
AttendanceGroupFixedworkQuery
().
groupId
(
attendanceGroupEntity
.
getId
()));
if
(!
ObjectUtils
.
isEmpty
(
fixedworkEntity
))
{
//查看当前时间是星期几
int
dayOfWeek
=
DateUtil
.
dayOfWeek
(
req
.
getAttendanceDate
());
switch
(
dayOfWeek
)
{
case
1
:
String
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getSundayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
case
2
:
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getMondayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
case
3
:
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getTuesdayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
case
4
:
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getWednesdayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
case
5
:
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getTuesdayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
case
6
:
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getFridayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
case
7
:
goOffWorkStr
=
getGoOffWorkStr
(
fixedworkEntity
.
getSundayClassId
());
recordEntity
.
setGoOffTimeStr
(
goOffWorkStr
);
break
;
default
:
recordEntity
.
setGoOffTimeStr
(
""
);
}
}
}
else
if
(
TypeEnum
.
自由工时
.
getValue
()
==
attendanceGroupEntity
.
getType
())
{
}
else
if
(
TypeEnum
.
排班制
.
getValue
()
==
attendanceGroupEntity
.
getType
())
{
}
else
{
}
}
}
}
private
String
getGoOffWorkStr
(
Long
sundayClassId
)
{
if
(
ObjectUtils
.
isEmpty
(
sundayClassId
))
return
""
;
StringBuilder
goOffWorkSb
=
new
StringBuilder
();
List
<
AttendanceClassDetailEntity
>
classDetailEntities
=
classDetailService
.
find
(
new
AttendanceClassDetailQuery
().
classId
(
sundayClassId
));
if
(!
ObjectUtils
.
isEmpty
(
classDetailEntities
))
{
for
(
AttendanceClassDetailEntity
classDetailEntity
:
classDetailEntities
)
{
String
goWorkStr
=
""
;
String
offWorkStr
=
""
;
if
(!
ObjectUtils
.
isEmpty
(
classDetailEntity
.
getGoWorkDate
()))
{
goWorkStr
=
DateUtil
.
format
(
classDetailEntity
.
getGoWorkDate
(),
"HH:mm"
);
}
if
(!
ObjectUtils
.
isEmpty
(
classDetailEntity
.
getOffWorkDate
()))
{
offWorkStr
=
DateUtil
.
format
(
classDetailEntity
.
getOffWorkDate
(),
"HH:mm"
);
}
goOffWorkSb
.
append
(
goWorkStr
);
goOffWorkSb
.
append
(
"~"
);
goOffWorkSb
.
append
(
offWorkStr
);
goOffWorkSb
.
append
(
" \n"
);
}
}
return
goOffWorkSb
.
toString
();
}
private
boolean
review
(
InspectSaveReq
req
,
Context
context
)
throws
AppException
{
private
boolean
review
(
InspectSaveReq
req
,
Context
context
)
throws
AppException
{
//评价保存
//评价保存
...
@@ -470,6 +562,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -470,6 +562,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
StaffEntity
custStaff
=
getStaff
(
context
.
getUser
().
getCustomerId
().
toString
());
StaffEntity
custStaff
=
getStaff
(
context
.
getUser
().
getCustomerId
().
toString
());
recordEntity
.
setDeductPerson
(
custStaff
==
null
?
"系统管理员"
:
custStaff
.
getName
());
recordEntity
.
setDeductPerson
(
custStaff
==
null
?
"系统管理员"
:
custStaff
.
getName
());
recordEntity
.
setDeptId
(
staffEntity
.
getDeptId
());
recordEntity
.
setDeptId
(
staffEntity
.
getDeptId
());
recordEntity
.
setDeptName
(
staffEntity
.
getDeptName
());
recordEntity
.
setDeptName
(
staffEntity
.
getDeptName
());
recordEntity
.
setSubAddType
(
rule
.
getSubAddType
());
recordEntity
.
setSubAddType
(
rule
.
getSubAddType
());
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java
View file @
12f1adef
...
@@ -401,7 +401,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
...
@@ -401,7 +401,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
}
}
PerformAttendAppealEntity
entity
=
appealService
.
selectOne
(
new
PerformAttendAppealQuery
().
checkRecordId
(
performDetailInfo
.
getId
()).
performType
(
performReq
.
getPerformType
()));
PerformAttendAppealEntity
entity
=
appealService
.
selectOne
(
new
PerformAttendAppealQuery
().
checkRecordId
(
performDetailInfo
.
getId
()).
performType
(
performReq
.
getPerformType
()));
log
.
info
(
"entity:{}"
,
JSONObject
.
toJSONString
(
entity
));
log
.
info
(
"entity:{}"
,
JSONObject
.
toJSONString
(
entity
));
if
(!
ObjectUtils
.
isEmpty
(
entity
))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
))
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/AppealResultEnum.java
View file @
12f1adef
...
@@ -9,6 +9,7 @@ import java.util.Map;
...
@@ -9,6 +9,7 @@ import java.util.Map;
* @author zxfei
* @author zxfei
*/
*/
public
enum
AppealResultEnum
{
public
enum
AppealResultEnum
{
申诉中
(
0
,
"申诉中"
),
通过
(
1
,
"通过"
),
通过
(
1
,
"通过"
),
不通过
(
2
,
"不通过"
);
不通过
(
2
,
"不通过"
);
private
Integer
value
;
private
Integer
value
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/common/pdu/HomeStatInfo.java
View file @
12f1adef
...
@@ -17,25 +17,25 @@ public class HomeStatInfo {
...
@@ -17,25 +17,25 @@ public class HomeStatInfo {
private
Integer
totalDeptNum
;
private
Integer
totalDeptNum
;
private
Integer
attendPersonNum
;
private
Long
attendPersonNum
=
0L
;
private
BigDecimal
attendRadio
;
private
String
attendRadio
;
/**
/**
* 请假人数
* 请假人数
*/
*/
private
Integer
levealPersonNum
;
private
Integer
levealPersonNum
=
0
;
/**
/**
* 迟到人数
* 迟到人数
*/
*/
private
Integer
latePersonNum
;
private
Long
latePersonNum
=
0L
;
/**
/**
* 早退人数
* 早退人数
*/
*/
private
Integer
leftEarlyPersonNum
;
private
Long
leftEarlyPersonNum
=
0L
;
/**
/**
* 缺卡人数
* 缺卡人数
*/
*/
private
Integer
missCardPersonNum
;
private
Long
missCardPersonNum
=
0L
;
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
View file @
12f1adef
...
@@ -74,8 +74,6 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
...
@@ -74,8 +74,6 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
for
(
PersonInfo
personInfo
:
personInfoList
)
{
for
(
PersonInfo
personInfo
:
personInfoList
)
{
StaffEntity
staffEntity
=
staffService
.
getExtCache
(
StrUtil
.
padPre
(
personInfo
.
getJobNo
(),
8
,
"0"
));
StaffEntity
staffEntity
=
staffService
.
getExtCache
(
StrUtil
.
padPre
(
personInfo
.
getJobNo
(),
8
,
"0"
));
DeptEntity
deptEntity
=
deptService
.
selectOne
(
new
DeptQuery
().
deptCode
(
personInfo
.
getOrgIndexCode
()));
DeptEntity
deptEntity
=
deptService
.
selectOne
(
new
DeptQuery
().
deptCode
(
personInfo
.
getOrgIndexCode
()));
// AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId()));
// AttendanceStatEntity statEntity = attendanceStatService.selectOne(new AttendanceStatQuery().staffId(staffEntity.getId()));
//判断本地数据是否为空
//判断本地数据是否为空
if
(
ObjectUtils
.
isEmpty
(
staffEntity
))
{
if
(
ObjectUtils
.
isEmpty
(
staffEntity
))
{
//新增员工信息
//新增员工信息
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceStatEntity.java
View file @
12f1adef
...
@@ -255,11 +255,11 @@ public class AttendanceStatEntity extends AttendanceStatVo {
...
@@ -255,11 +255,11 @@ public class AttendanceStatEntity extends AttendanceStatVo {
this
.
windowCategory
=
""
;
this
.
windowCategory
=
""
;
this
.
staffId
=
-
1L
;
this
.
staffId
=
null
;
this
.
staffName
=
""
;
this
.
staffName
=
""
;
this
.
deptId
=
-
1L
;
this
.
deptId
=
null
;
this
.
deptName
=
""
;
this
.
deptName
=
""
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordVo.java
View file @
12f1adef
...
@@ -54,5 +54,8 @@ public class AttendanceRecordVo extends BaseEntityLong {
...
@@ -54,5 +54,8 @@ public class AttendanceRecordVo extends BaseEntityLong {
* 导出参数配置
* 导出参数配置
*/
*/
private
List
<
String
>
properties
;
private
List
<
String
>
properties
;
private
List
<
Long
>
idList
;
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceExportRecordController.java
View file @
12f1adef
...
@@ -50,13 +50,4 @@ public class AttendanceExportRecordController extends BaseCRUDJsonBodyMappingCon
...
@@ -50,13 +50,4 @@ public class AttendanceExportRecordController extends BaseCRUDJsonBodyMappingCon
super
.
init
(
model
,
context
);
super
.
init
(
model
,
context
);
}
}
@Override
protected
void
doListBefore
(
AttendanceExportRecordEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
if
(
ObjectUtils
.
isEmpty
(
query
.
getOrderColList
()))
{
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
),
new
OrderCol
(
"staffName"
,
OrderCol
.
DESCENDING
)));
}
else
{
query
.
getOrderColList
().
add
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
));
}
}
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
View file @
12f1adef
...
@@ -4,8 +4,10 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -4,8 +4,10 @@ import com.alibaba.fastjson.JSONObject;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.common.code.GoWorkResultEnum
;
import
com.mortals.xhx.common.code.GoWorkResultEnum
;
import
com.mortals.xhx.common.code.NormalEnum
;
import
com.mortals.xhx.common.code.NormalEnum
;
import
com.mortals.xhx.common.code.OffWorkResultEnum
;
import
com.mortals.xhx.common.code.OffWorkResultEnum
;
...
@@ -13,7 +15,9 @@ import com.mortals.xhx.common.code.YesNoEnum;
...
@@ -13,7 +15,9 @@ import com.mortals.xhx.common.code.YesNoEnum;
import
com.mortals.xhx.module.attendance.model.*
;
import
com.mortals.xhx.module.attendance.model.*
;
import
com.mortals.xhx.module.attendance.model.vo.AttendStatInfo
;
import
com.mortals.xhx.module.attendance.model.vo.AttendStatInfo
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
com.mortals.xhx.module.attendance.service.AttendanceExportRecordService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupService
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealEntity
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealEntity
;
...
@@ -30,7 +34,10 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -30,7 +34,10 @@ import org.springframework.web.bind.annotation.RestController;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordService
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.ByteArrayInputStream
;
import
java.io.InputStream
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -46,6 +53,8 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
...
@@ -46,6 +53,8 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
@Autowired
@Autowired
private
ParamService
paramService
;
private
ParamService
paramService
;
@Autowired
private
UploadService
uploadService
;
@Autowired
@Autowired
private
AttendanceGroupService
attendanceGroupService
;
private
AttendanceGroupService
attendanceGroupService
;
...
@@ -57,6 +66,12 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
...
@@ -57,6 +66,12 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
private
AttendanceClassService
attendanceClassService
;
private
AttendanceClassService
attendanceClassService
;
@Autowired
@Autowired
private
StaffService
staffService
;
private
StaffService
staffService
;
@Autowired
private
AttendanceExportRecordService
attendanceExportRecordService
;
@Autowired
private
AttendanceGroupService
groupService
;
@Autowired
private
AttendanceClassService
classService
;
public
AttendanceRecordController
()
{
public
AttendanceRecordController
()
{
super
.
setModuleDesc
(
"考勤打卡记录信息"
);
super
.
setModuleDesc
(
"考勤打卡记录信息"
);
...
@@ -82,40 +97,78 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
...
@@ -82,40 +97,78 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
for
(
AttendanceRecordEntity
recordEntity
:
list
)
{
for
(
AttendanceRecordEntity
recordEntity
:
list
)
{
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailList
=
recordEntity
.
getAttendanceRecordDetailList
();
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailList
=
recordEntity
.
getAttendanceRecordDetailList
();
if
(!
ObjectUtils
.
isEmpty
(
attendanceRecordDetailList
))
{
if
(!
ObjectUtils
.
isEmpty
(
attendanceRecordDetailList
))
{
for
(
AttendanceRecordDetailEntity
detailEntity
:
attendanceRecordDetailList
)
{
for
(
AttendanceRecordDetailEntity
detailEntity
:
attendanceRecordDetailList
)
{
AttendanceRecordEntity
attendanceRecord
=
new
AttendanceRecordEntity
();
AttendanceRecordEntity
attendanceRecord
=
new
AttendanceRecordEntity
();
attendanceRecord
.
initAttrValue
();
attendanceRecord
.
initAttrValue
();
BeanUtils
.
copyProperties
(
recordEntity
,
attendanceRecord
);
BeanUtils
.
copyProperties
(
recordEntity
,
attendanceRecord
);
attendanceRecord
.
setAttendanceRecordDetailEntity
(
detailEntity
);
attendanceRecord
.
setAttendanceRecordDetailEntity
(
detailEntity
);
attendanceRecordEntities
.
add
(
attendanceRecord
);
attendanceRecordEntities
.
add
(
attendanceRecord
);
}
}
}
else
{
}
else
{
AttendanceRecordEntity
attendanceRecord
=
new
AttendanceRecordEntity
();
AttendanceRecordEntity
attendanceRecord
=
new
AttendanceRecordEntity
();
attendanceRecord
.
initAttrValue
();
attendanceRecord
.
initAttrValue
();
BeanUtils
.
copyProperties
(
recordEntity
,
attendanceRecord
);
BeanUtils
.
copyProperties
(
recordEntity
,
attendanceRecord
);
attendanceRecordEntities
.
add
(
attendanceRecord
);
attendanceRecordEntities
.
add
(
attendanceRecord
);
}
}
}
}
if
(!
ObjectUtils
.
isEmpty
(
attendanceRecordEntities
))
{
if
(!
ObjectUtils
.
isEmpty
(
attendanceRecordEntities
))
{
list
.
clear
();
list
.
clear
();
list
.
addAll
(
attendanceRecordEntities
);
list
.
addAll
(
attendanceRecordEntities
);
}
}
}
}
@Override
public
void
doExportFileAfter
(
byte
[]
data
,
AttendanceRecordEntity
query
,
Context
context
)
throws
AppException
{
InputStream
inputStream
=
new
ByteArrayInputStream
(
data
);
MultipartFile
file
=
ServletUtils
.
getMultipartFile
(
inputStream
,
"kaoqin.xlsx"
);
String
filePath
=
uploadService
.
saveFileUpload
(
file
,
"file/fileupload"
,
null
);
AttendanceExportRecordEntity
attendanceExportRecordEntity
=
new
AttendanceExportRecordEntity
();
attendanceExportRecordEntity
.
initAttrValue
();
attendanceExportRecordEntity
.
setFilePath
(
filePath
);
if
(
query
.
getIdList
()
!=
null
)
{
List
<
Long
>
idList
=
query
.
getIdList
();
attendanceExportRecordEntity
.
setRecordIdList
(
idList
.
stream
().
map
(
i
->
i
.
toString
()).
collect
(
Collectors
.
joining
(
","
)));
}
if
(
query
.
getAttendanceDateStart
()
!=
null
)
{
String
attendanceDate
=
query
.
getAttendanceDateStart
()
+
"~"
+
query
.
getAttendanceDateEnd
();
attendanceExportRecordEntity
.
setAttendanceDate
(
attendanceDate
);
}
if
(!
ObjectUtils
.
isEmpty
(
query
.
getAttendanceGroupId
())){
AttendanceGroupEntity
attendanceGroupEntity
=
groupService
.
get
(
query
.
getAttendanceGroupId
());
attendanceExportRecordEntity
.
setGroupName
(
attendanceGroupEntity
==
null
?
""
:
attendanceGroupEntity
.
getGroupName
());
}
if
(!
ObjectUtils
.
isEmpty
(
query
.
getDeptId
())){
DeptEntity
deptEntity
=
deptService
.
get
(
query
.
getDeptId
(),
context
);
attendanceExportRecordEntity
.
setDeptName
(
deptEntity
==
null
?
""
:
deptEntity
.
getDeptName
());
}
if
(!
ObjectUtils
.
isEmpty
(
query
.
getShiftsId
())){
AttendanceClassEntity
attendanceClassEntity
=
classService
.
get
(
query
.
getShiftsId
(),
context
);
attendanceExportRecordEntity
.
setClassName
(
attendanceClassEntity
==
null
?
""
:
attendanceClassEntity
.
getClassName
());
}
attendanceExportRecordEntity
.
setCreateUserId
(
context
.
getUser
().
getId
());
attendanceExportRecordEntity
.
setCreateTime
(
new
Date
());
attendanceExportRecordEntity
.
setType
(
2
);
attendanceExportRecordEntity
.
setExportOrImport
(
1
);
attendanceExportRecordService
.
save
(
attendanceExportRecordEntity
);
}
@Override
@Override
protected
void
doListBefore
(
AttendanceRecordEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
protected
void
doListBefore
(
AttendanceRecordEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
if
(
query
.
getClassId
()
!=
null
)
{
if
(
query
.
getClassId
()
!=
null
)
{
query
.
setShiftsId
(
query
.
getClassId
());
query
.
setShiftsId
(
query
.
getClassId
());
}
}
if
(
query
.
getGroupId
()
!=
null
)
{
if
(
query
.
getGroupId
()
!=
null
)
{
query
.
setAttendanceGroupId
(
query
.
getGroupId
());
query
.
setAttendanceGroupId
(
query
.
getGroupId
());
}
}
if
(
ObjectUtils
.
isEmpty
(
query
.
getOrderColList
()))
{
if
(
ObjectUtils
.
isEmpty
(
query
.
getOrderColList
()))
{
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"attendanceDate"
,
OrderCol
.
DESCENDING
),
new
OrderCol
(
"staffName"
,
OrderCol
.
DESCENDING
)));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"attendanceDate"
,
OrderCol
.
DESCENDING
),
new
OrderCol
(
"staffName"
,
OrderCol
.
DESCENDING
)));
}
else
{
}
else
{
query
.
getOrderColList
().
add
(
new
OrderCol
(
"attendanceDate"
,
OrderCol
.
DESCENDING
));
query
.
getOrderColList
().
add
(
new
OrderCol
(
"attendanceDate"
,
OrderCol
.
DESCENDING
));
query
.
getOrderColList
().
add
(
new
OrderCol
(
"staffName"
,
OrderCol
.
DESCENDING
));
query
.
getOrderColList
().
add
(
new
OrderCol
(
"staffName"
,
OrderCol
.
DESCENDING
));
...
@@ -240,7 +293,6 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
...
@@ -240,7 +293,6 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
}
}
/**
/**
* 每日统计
* 每日统计
*/
*/
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
View file @
12f1adef
...
@@ -10,9 +10,13 @@ import com.mortals.framework.utils.ServletUtils;
...
@@ -10,9 +10,13 @@ import com.mortals.framework.utils.ServletUtils;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.module.attendance.model.AttendanceClassEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
com.mortals.xhx.module.attendance.service.AttendanceExportRecordService
;
import
com.mortals.xhx.module.attendance.service.AttendanceExportRecordService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordHikService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordHikService
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
...
@@ -32,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -32,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayInputStream
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
* 海康考勤打卡记录汇总信息
* 海康考勤打卡记录汇总信息
...
@@ -55,6 +60,10 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
...
@@ -55,6 +60,10 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
private
AttendanceExportRecordService
attendanceExportRecordService
;
private
AttendanceExportRecordService
attendanceExportRecordService
;
@Autowired
@Autowired
private
AttendanceRecordHikService
hikService
;
private
AttendanceRecordHikService
hikService
;
@Autowired
private
AttendanceGroupService
groupService
;
@Autowired
private
AttendanceClassService
classService
;
public
AttendanceRecordHikController
()
{
public
AttendanceRecordHikController
()
{
super
.
setModuleDesc
(
"海康考勤打卡记录汇总信息"
);
super
.
setModuleDesc
(
"海康考勤打卡记录汇总信息"
);
...
@@ -170,20 +179,28 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
...
@@ -170,20 +179,28 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
attendanceExportRecordEntity
.
setFilePath
(
filePath
);
attendanceExportRecordEntity
.
setFilePath
(
filePath
);
if
(
query
.
getIdList
()
!=
null
)
{
if
(
query
.
getIdList
()
!=
null
)
{
List
<
Long
>
idList
=
query
.
getIdList
();
List
<
Long
>
idList
=
query
.
getIdList
();
String
recordIdList
=
""
;
attendanceExportRecordEntity
.
setRecordIdList
(
idList
.
stream
().
map
(
i
->
i
.
toString
()).
collect
(
Collectors
.
joining
(
","
)));
for
(
Long
aLong
:
idList
)
{
if
(
recordIdList
.
equals
(
""
))
{
recordIdList
=
recordIdList
+
aLong
;
}
else
{
recordIdList
=
recordIdList
+
"、"
+
aLong
;
}
}
attendanceExportRecordEntity
.
setRecordIdList
(
recordIdList
);
}
}
if
(
query
.
getAttendanceDateStart
()
!=
null
)
{
if
(
query
.
getAttendanceDateStart
()
!=
null
)
{
String
attendanceDate
=
query
.
getAttendanceDateStart
()
+
"~"
+
query
.
getAttendanceDateEnd
();
String
attendanceDate
=
query
.
getAttendanceDateStart
()
+
"~"
+
query
.
getAttendanceDateEnd
();
attendanceExportRecordEntity
.
setAttendanceDate
(
attendanceDate
);
attendanceExportRecordEntity
.
setAttendanceDate
(
attendanceDate
);
}
}
if
(!
ObjectUtils
.
isEmpty
(
query
.
getAttendanceGroupId
())){
AttendanceGroupEntity
attendanceGroupEntity
=
groupService
.
get
(
query
.
getAttendanceGroupId
());
attendanceExportRecordEntity
.
setGroupName
(
attendanceGroupEntity
==
null
?
""
:
attendanceGroupEntity
.
getGroupName
());
}
if
(!
ObjectUtils
.
isEmpty
(
query
.
getDeptId
())){
DeptEntity
deptEntity
=
deptService
.
get
(
query
.
getDeptId
(),
context
);
attendanceExportRecordEntity
.
setDeptName
(
deptEntity
==
null
?
""
:
deptEntity
.
getDeptName
());
}
if
(!
ObjectUtils
.
isEmpty
(
query
.
getShiftsId
())){
AttendanceClassEntity
attendanceClassEntity
=
classService
.
get
(
query
.
getShiftsId
(),
context
);
attendanceExportRecordEntity
.
setClassName
(
attendanceClassEntity
==
null
?
""
:
attendanceClassEntity
.
getClassName
());
}
attendanceExportRecordEntity
.
setCreateUserId
(
context
.
getUser
().
getId
());
attendanceExportRecordEntity
.
setCreateUserId
(
context
.
getUser
().
getId
());
attendanceExportRecordEntity
.
setCreateTime
(
new
Date
());
attendanceExportRecordEntity
.
setCreateTime
(
new
Date
());
attendanceExportRecordEntity
.
setType
(
1
);
attendanceExportRecordEntity
.
setType
(
1
);
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/PerformAttendAppealEntity.java
View file @
12f1adef
...
@@ -323,7 +323,7 @@ public class PerformAttendAppealEntity extends PerformAttendAppealVo {
...
@@ -323,7 +323,7 @@ public class PerformAttendAppealEntity extends PerformAttendAppealVo {
this
.
appealTime
=
null
;
this
.
appealTime
=
null
;
this
.
appealResult
=
null
;
this
.
appealResult
=
0
;
this
.
remark
=
""
;
this
.
remark
=
""
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java
View file @
12f1adef
...
@@ -57,10 +57,8 @@ public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -57,10 +57,8 @@ public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<Perf
private
CheckGoworkRecordService
checkGoworkRecordService
;
private
CheckGoworkRecordService
checkGoworkRecordService
;
@Autowired
@Autowired
private
CheckOtherRecordService
checkOtherRecordService
;
private
CheckOtherRecordService
checkOtherRecordService
;
@Autowired
@Autowired
private
PerformAttendAppealFilesService
performAttendAppealFilesService
;
private
PerformAttendAppealFilesService
performAttendAppealFilesService
;
@Autowired
@Autowired
private
IDingPersonService
dingPersonService
;
private
IDingPersonService
dingPersonService
;
@Autowired
@Autowired
...
@@ -248,6 +246,21 @@ public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -248,6 +246,21 @@ public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<Perf
}
}
@Override
protected
void
saveBefore
(
PerformAttendAppealEntity
entity
,
Context
context
)
throws
AppException
{
//校验是否存在已经通过的申诉
PerformAttendAppealQuery
appealQuery
=
new
PerformAttendAppealQuery
();
appealQuery
.
setCheckRecordId
(
entity
.
getCheckRecordId
());
appealQuery
.
setPerformType
(
entity
.
getPerformType
());
appealQuery
.
setAppealResult
(
AppealResultEnum
.
通过
.
getValue
());
int
count
=
this
.
count
(
appealQuery
,
context
);
if
(
count
>
0
){
throw
new
AppException
(
"已存在相同的通过申诉,不要重复申诉!"
);
}
}
@Override
@Override
protected
void
saveAfter
(
PerformAttendAppealEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveAfter
(
PerformAttendAppealEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getPerformAttendAppealFilesList
()))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getPerformAttendAppealFilesList
()))
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendRecordServiceImpl.java
View file @
12f1adef
...
@@ -86,8 +86,9 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -86,8 +86,9 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
}
}
entity
.
setErrorResult
(
entity
.
getRuleName
());
entity
.
setErrorResult
(
entity
.
getRuleName
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
if
(
ObjectUtils
.
isEmpty
(
entity
.
getDeductPerson
())){
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
}
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getAttendanceGroupId
()))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getAttendanceGroupId
()))
{
AttendanceGroupEntity
attendanceGroupEntity
=
attendanceGroupService
.
get
(
entity
.
getAttendanceGroupId
());
AttendanceGroupEntity
attendanceGroupEntity
=
attendanceGroupService
.
get
(
entity
.
getAttendanceGroupId
());
entity
.
setAttendanceGroupName
(
attendanceGroupEntity
==
null
?
""
:
attendanceGroupEntity
.
getGroupName
());
entity
.
setAttendanceGroupName
(
attendanceGroupEntity
==
null
?
""
:
attendanceGroupEntity
.
getGroupName
());
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformComplainRecordServiceImpl.java
View file @
12f1adef
...
@@ -67,8 +67,9 @@ public class PerformComplainRecordServiceImpl extends AbstractCRUDServiceImpl<Pe
...
@@ -67,8 +67,9 @@ public class PerformComplainRecordServiceImpl extends AbstractCRUDServiceImpl<Pe
}
}
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
if
(
ObjectUtils
.
isEmpty
(
entity
.
getDeductPerson
())){
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
}
}
}
@Override
@Override
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java
View file @
12f1adef
...
@@ -66,8 +66,9 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -66,8 +66,9 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
entity
.
setDeptName
(
staffCache
==
null
?
""
:
staffCache
.
getDeptName
());
entity
.
setDeptName
(
staffCache
==
null
?
""
:
staffCache
.
getDeptName
());
}
}
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
if
(
ObjectUtils
.
isEmpty
(
entity
.
getDeductPerson
())){
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
}
}
}
@Override
@Override
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformGoworkRecordServiceImpl.java
View file @
12f1adef
...
@@ -65,8 +65,9 @@ public class PerformGoworkRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -65,8 +65,9 @@ public class PerformGoworkRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
entity
.
setDeptName
(
staffCache
==
null
?
""
:
staffCache
.
getDeptName
());
entity
.
setDeptName
(
staffCache
==
null
?
""
:
staffCache
.
getDeptName
());
}
}
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
if
(
ObjectUtils
.
isEmpty
(
entity
.
getDeductPerson
())){
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
}
}
}
@Override
@Override
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformOtherRecordServiceImpl.java
View file @
12f1adef
...
@@ -57,6 +57,7 @@ public class PerformOtherRecordServiceImpl extends AbstractCRUDServiceImpl<Perfo
...
@@ -57,6 +57,7 @@ public class PerformOtherRecordServiceImpl extends AbstractCRUDServiceImpl<Perfo
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getRuleId
()))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getRuleId
()))
{
PerformRulesEntity
rulesEntity
=
rulesService
.
getCache
(
entity
.
getRuleId
().
toString
());
PerformRulesEntity
rulesEntity
=
rulesService
.
getCache
(
entity
.
getRuleId
().
toString
());
entity
.
setRuleName
(
rulesEntity
.
getName
());
entity
.
setRuleName
(
rulesEntity
.
getName
());
entity
.
setRuleDesc
(
rulesEntity
.
getContent
());
entity
.
setSubAddType
(
rulesEntity
==
null
?
1
:
rulesEntity
.
getSubAddType
());
entity
.
setSubAddType
(
rulesEntity
==
null
?
1
:
rulesEntity
.
getSubAddType
());
}
}
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getStaffId
()))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getStaffId
()))
{
...
@@ -66,7 +67,10 @@ public class PerformOtherRecordServiceImpl extends AbstractCRUDServiceImpl<Perfo
...
@@ -66,7 +67,10 @@ public class PerformOtherRecordServiceImpl extends AbstractCRUDServiceImpl<Perfo
}
}
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
if
(
ObjectUtils
.
isEmpty
(
entity
.
getDeductPerson
())){
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
}
}
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformReviewRecordServiceImpl.java
View file @
12f1adef
...
@@ -66,8 +66,9 @@ public class PerformReviewRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -66,8 +66,9 @@ public class PerformReviewRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
entity
.
setDeptName
(
staffCache
==
null
?
""
:
staffCache
.
getDeptName
());
entity
.
setDeptName
(
staffCache
==
null
?
""
:
staffCache
.
getDeptName
());
}
}
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductTime
(
new
Date
());
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
if
(
ObjectUtils
.
isEmpty
(
entity
.
getDeductPerson
())){
entity
.
setDeductPerson
(
context
==
null
?
""
:
context
.
getUser
()
==
null
?
""
:
context
.
getUser
().
getRealName
());
}
}
}
@Override
@Override
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/StaffService.java
View file @
12f1adef
package
com.mortals.xhx.module.staff.service
;
package
com.mortals.xhx.module.staff.service
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDCacheService
;
import
com.mortals.framework.service.ICRUDCacheService
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
...
@@ -21,4 +22,12 @@ public interface StaffService extends ICRUDCacheService<StaffEntity,Long> {
...
@@ -21,4 +22,12 @@ public interface StaffService extends ICRUDCacheService<StaffEntity,Long> {
StaffInfoVo
queryAll
(
Context
context
);
StaffInfoVo
queryAll
(
Context
context
);
//统计所有在职员工
//统计所有在职员工
int
queryAllPerson
();
int
queryAllPerson
();
/**
* 同步人员信息
* @param context
* @return
*/
Rest
<
Void
>
syncPersons
(
Context
context
);
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java
View file @
12f1adef
package
com.mortals.xhx.module.staff.service.impl
;
package
com.mortals.xhx.module.staff.service.impl
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
...
@@ -10,7 +12,19 @@ import com.mortals.xhx.base.system.role.service.RoleUserService;
...
@@ -10,7 +12,19 @@ import com.mortals.xhx.base.system.role.service.RoleUserService;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.module.attendance.model.AttendanceStatEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceStatQuery
;
import
com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceQuery
;
import
com.mortals.xhx.module.attendance.service.AttendanceStatService
;
import
com.mortals.xhx.module.attendance.service.AttendanceVacationBalanceService
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.hik.person.model.req.person.PersonReq
;
import
com.mortals.xhx.module.hik.person.model.rsp.person.PersonDataInfo
;
import
com.mortals.xhx.module.hik.person.model.rsp.person.PersonInfo
;
import
com.mortals.xhx.module.hik.person.service.IHikPersonService
;
import
com.mortals.xhx.module.staff.dao.StaffDao
;
import
com.mortals.xhx.module.staff.dao.StaffDao
;
import
com.mortals.xhx.module.staff.dao.ibatis.StaffDaoImpl
;
import
com.mortals.xhx.module.staff.dao.ibatis.StaffDaoImpl
;
import
com.mortals.xhx.module.staff.dao.ibatis.StaffLeaveDaoImpl
;
import
com.mortals.xhx.module.staff.dao.ibatis.StaffLeaveDaoImpl
;
...
@@ -18,6 +32,7 @@ import com.mortals.xhx.module.staff.model.StaffEntity;
...
@@ -18,6 +32,7 @@ import com.mortals.xhx.module.staff.model.StaffEntity;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
import
com.mortals.xhx.module.staff.model.vo.StaffInfoVo
;
import
com.mortals.xhx.module.staff.model.vo.StaffInfoVo
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
...
@@ -36,6 +51,7 @@ import java.util.stream.Collectors;
...
@@ -36,6 +51,7 @@ import java.util.stream.Collectors;
* @date 2023-04-07
* @date 2023-04-07
*/
*/
@Service
(
"staffService"
)
@Service
(
"staffService"
)
@Slf4j
public
class
StaffServiceImpl
extends
AbstractCRUDCacheServiceImpl
<
StaffDao
,
StaffEntity
,
Long
>
implements
StaffService
{
public
class
StaffServiceImpl
extends
AbstractCRUDCacheServiceImpl
<
StaffDao
,
StaffEntity
,
Long
>
implements
StaffService
{
@Autowired
@Autowired
...
@@ -46,6 +62,15 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
...
@@ -46,6 +62,15 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
@Autowired
@Autowired
private
RoleUserService
roleUserService
;
private
RoleUserService
roleUserService
;
@Autowired
private
IHikPersonService
hikPersonService
;
@Autowired
private
AttendanceStatService
attendanceStatService
;
@Autowired
private
AttendanceVacationBalanceService
balanceService
;
@Override
@Override
protected
String
getExtKey
(
StaffEntity
data
)
{
protected
String
getExtKey
(
StaffEntity
data
)
{
//工号作为redis 扩展key
//工号作为redis 扩展key
...
@@ -57,10 +82,13 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
...
@@ -57,10 +82,13 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
protected
void
saveBefore
(
StaffEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveBefore
(
StaffEntity
entity
,
Context
context
)
throws
AppException
{
int
count
=
this
.
count
(
new
StaffQuery
().
workNum
(
entity
.
getWorkNum
()),
context
);
int
count
=
this
.
count
(
new
StaffQuery
().
workNum
(
entity
.
getWorkNum
()),
context
);
if
(
count
>
0
)
{
if
(
count
>
0
)
{
throw
new
AppException
(
"工号重复!
"
);
throw
new
AppException
(
"工号重复!
工号:"
+
entity
.
getWorkNum
()
);
}
}
}
}
@Override
@Override
public
StaffInfoVo
queryAll
(
Context
context
)
{
public
StaffInfoVo
queryAll
(
Context
context
)
{
StaffInfoVo
staffInfoVo
=
new
StaffInfoVo
();
StaffInfoVo
staffInfoVo
=
new
StaffInfoVo
();
...
@@ -94,12 +122,102 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
...
@@ -94,12 +122,102 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
return
staffEntities
.
size
();
return
staffEntities
.
size
();
}
}
@Override
public
Rest
<
Void
>
syncPersons
(
Context
context
)
{
log
.
info
(
"同步人员!"
);
PersonReq
personReq
=
new
PersonReq
();
personReq
.
setPageNo
(
1
);
personReq
.
setPageSize
(
1000
);
Rest
<
PersonDataInfo
>
personRest
=
hikPersonService
.
getPersonList
(
personReq
);
if
(
personRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
List
<
PersonInfo
>
personInfoList
=
personRest
.
getData
().
getList
();
for
(
PersonInfo
personInfo
:
personInfoList
)
{
StaffEntity
staffEntity
=
this
.
getExtCache
(
StrUtil
.
padPre
(
personInfo
.
getJobNo
(),
8
,
"0"
));
DeptEntity
deptEntity
=
deptService
.
selectOne
(
new
DeptQuery
().
deptCode
(
personInfo
.
getOrgIndexCode
()));
//判断本地数据是否为空
if
(
ObjectUtils
.
isEmpty
(
staffEntity
))
{
//新增员工信息
staffEntity
=
new
StaffEntity
();
staffEntity
.
initAttrValue
();
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
))
{
staffEntity
.
setDeptId
(
deptEntity
.
getId
());
}
staffEntity
.
setName
(
personInfo
.
getPersonName
());
staffEntity
.
setRemarkId
(
personInfo
.
getPersonId
());
staffEntity
.
setPicUri
(
personInfo
.
getPersonPhoto
().
getPicUri
());
staffEntity
.
setServerIndexCode
(
personInfo
.
getPersonPhoto
().
getServerIndexCode
());
staffEntity
.
setDeptName
(
personInfo
.
getOrgName
());
staffEntity
.
setGender
(
personInfo
.
getGender
());
staffEntity
.
setWorkNum
(
personInfo
.
getJobNo
());
staffEntity
.
setPhoneNumber
(
personInfo
.
getPhoneNo
());
staffEntity
.
setCreateUserId
(
1L
);
staffEntity
.
setCreateTime
(
new
Date
());
this
.
save
(
staffEntity
);
}
else
{
//更新
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
))
{
staffEntity
.
setDeptId
(
deptEntity
.
getId
());
}
staffEntity
.
setName
(
personInfo
.
getPersonName
());
staffEntity
.
setRemarkId
(
personInfo
.
getPersonId
());
staffEntity
.
setPicUri
(
personInfo
.
getPersonPhoto
().
getPicUri
());
staffEntity
.
setServerIndexCode
(
personInfo
.
getPersonPhoto
().
getServerIndexCode
());
staffEntity
.
setDeptName
(
personInfo
.
getOrgName
());
staffEntity
.
setGender
(
personInfo
.
getGender
());
staffEntity
.
setWorkNum
(
personInfo
.
getJobNo
());
staffEntity
.
setPhoneNumber
(
personInfo
.
getPhoneNo
());
staffEntity
.
setUpdateUserId
(
1L
);
staffEntity
.
setUpdateTime
(
new
Date
());
this
.
update
(
staffEntity
);
}
}
}
return
Rest
.
ok
();
}
@Override
@Override
protected
void
saveAfter
(
StaffEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveAfter
(
StaffEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveAfter
(
entity
,
context
);
//初始化
int
count
=
balanceService
.
count
(
new
AttendanceVacationBalanceQuery
().
staffId
(
entity
.
getId
()),
context
);
if
(
count
==
0
){
AttendanceVacationBalanceEntity
balanceEntity
=
new
AttendanceVacationBalanceEntity
();
balanceEntity
.
initAttrValue
();
balanceEntity
.
setStaffId
(
entity
.
getId
());
balanceEntity
.
setStaffName
(
entity
.
getName
());
balanceEntity
.
setDeptId
(
entity
.
getDeptId
());
balanceEntity
.
setDeptName
(
entity
.
getDeptName
());
balanceEntity
.
setCreateUserId
(
1L
);
balanceEntity
.
setCreateTime
(
new
Date
());
balanceService
.
save
(
balanceEntity
);
}
AttendanceStatQuery
attendanceStatQuery
=
new
AttendanceStatQuery
();
attendanceStatQuery
.
setYear
(
DateUtil
.
year
(
new
Date
()));
attendanceStatQuery
.
setMonth
(
DateUtil
.
month
(
new
Date
())+
1
);
attendanceStatQuery
.
setDay
(
DateUtil
.
dayOfMonth
(
new
Date
()));
attendanceStatQuery
.
setStaffId
(
entity
.
getId
());
int
count1
=
attendanceStatService
.
count
(
attendanceStatQuery
,
context
);
if
(
count1
==
0
){
AttendanceStatEntity
attendanceStatEntity
=
new
AttendanceStatEntity
();
attendanceStatEntity
.
initAttrValue
();
attendanceStatEntity
.
setStaffId
(
entity
.
getId
());
attendanceStatEntity
.
setStaffName
(
entity
.
getName
());
attendanceStatEntity
.
setDeptId
(
entity
.
getDeptId
());
attendanceStatEntity
.
setDeptName
(
entity
.
getDeptName
());
attendanceStatEntity
.
setPhoneNumer
(
entity
.
getPhoneNumber
());
attendanceStatEntity
.
setYear
(
DateUtil
.
year
(
new
Date
()));
attendanceStatEntity
.
setMonth
(
DateUtil
.
month
(
new
Date
())+
1
);
attendanceStatEntity
.
setDay
(
DateUtil
.
dayOfMonth
(
new
Date
()));
attendanceStatEntity
.
setCreateUserId
(
1L
);
attendanceStatEntity
.
setCreateTime
(
new
Date
());
attendanceStatService
.
save
(
attendanceStatEntity
);
}
try
{
try
{
UserEntity
userEntity
=
new
UserEntity
();
UserEntity
userEntity
=
new
UserEntity
();
if
(
ObjectUtils
.
isEmpty
(
entity
.
getLoginName
()))
{
if
(
ObjectUtils
.
isEmpty
(
entity
.
getLoginName
()))
{
//姓名加工号作为登录名
//姓名加工号作为登录名
entity
.
setLoginName
(
entity
.
getName
()
+
entity
.
getWorkNum
());
entity
.
setLoginName
(
entity
.
getName
()
+
entity
.
getWorkNum
());
...
@@ -130,9 +248,9 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
...
@@ -130,9 +248,9 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
log
.
error
(
"保存系统用户异常!"
,
e
);
}
}
super
.
saveAfter
(
entity
,
context
);
}
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java
View file @
12f1adef
package
com.mortals.xhx.module.staff.web
;
package
com.mortals.xhx.module.staff.web
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.module.attendance.model.vo.AttendStatInfo
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.DeptTreeSelect
;
import
com.mortals.xhx.module.dept.model.DeptTreeSelect
;
...
@@ -16,6 +20,7 @@ import com.mortals.xhx.module.staff.model.vo.HolidayListVo;
...
@@ -16,6 +20,7 @@ import com.mortals.xhx.module.staff.model.vo.HolidayListVo;
import
com.mortals.xhx.module.staff.model.vo.StaffInfoVo
;
import
com.mortals.xhx.module.staff.model.vo.StaffInfoVo
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -109,6 +114,29 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
...
@@ -109,6 +114,29 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
return
super
.
saveAfter
(
entity
,
model
,
context
);
return
super
.
saveAfter
(
entity
,
model
,
context
);
}
}
/**
* 同步更新人员
*/
@PostMapping
(
value
=
"syncPersons"
)
public
String
syncPersons
()
{
JSONObject
jsonObject
=
new
JSONObject
();
String
busiDesc
=
this
.
getModuleDesc
()
+
"同步"
;
try
{
Rest
<
Void
>
rest
=
this
.
service
.
syncPersons
(
getContext
());
if
(
rest
.
getCode
()
==
YesNoEnum
.
NO
.
getValue
())
{
throw
new
AppException
(
"同步异常!"
);
}
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"同步人员"
,
e
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
}
return
jsonObject
.
toJSONString
();
}
@Override
@Override
public
String
delete
(
Long
[]
id
)
{
public
String
delete
(
Long
[]
id
)
{
return
super
.
delete
(
id
);
return
super
.
delete
(
id
);
...
...
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