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
21ada6d6
Commit
21ada6d6
authored
Jul 17, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改自动考核后续服务
parent
3614a017
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
126 additions
and
34 deletions
+126
-34
attendance-performance-manager-ui/admin/src/views/staff/leave/dialogshow.vue
...nce-manager-ui/admin/src/views/staff/leave/dialogshow.vue
+3
-5
attendance-performance-manager-ui/admin/src/views/staff/leave/drawershow.vue
...nce-manager-ui/admin/src/views/staff/leave/drawershow.vue
+16
-19
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/TestController.java
...r/src/main/java/com/mortals/xhx/busiz/TestController.java
+29
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/rsp/PerformInfo.java
...c/main/java/com/mortals/xhx/busiz/h5/rsp/PerformInfo.java
+12
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/AttendPostServiceThread.java
...com/mortals/xhx/common/utils/AttendPostServiceThread.java
+46
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/CheckAttendRecordService.java
...ls/xhx/module/check/service/CheckAttendRecordService.java
+7
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckAttendRecordServiceImpl.java
...dule/check/service/impl/CheckAttendRecordServiceImpl.java
+13
-10
No files found.
attendance-performance-manager-ui/admin/src/views/staff/leave/dialogshow.vue
View file @
21ada6d6
...
...
@@ -3,7 +3,7 @@
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
...
...
@@ -12,10 +12,8 @@
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
:enumData=
"dict.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
:enumData=
"dict.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
...
...
attendance-performance-manager-ui/admin/src/views/staff/leave/drawershow.vue
View file @
21ada6d6
...
...
@@ -7,25 +7,22 @@
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
:enumData=
"dict.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
:enumData=
"dict.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/TestController.java
View file @
21ada6d6
...
...
@@ -176,6 +176,35 @@ public class TestController {
}
@GetMapping
(
"downPersonPic"
)
@UnAuth
public
String
downPersonPic
()
{
List
<
StaffEntity
>
staffEntities
=
staffService
.
find
(
new
StaffQuery
());
StaffEntity
staffEntity
=
staffEntities
.
get
(
0
);
if
(!
ObjectUtils
.
isEmpty
(
staffEntity
.
getPicUri
()))
{
ImgReq
imgReq
=
new
ImgReq
();
imgReq
.
setUrl
(
staffEntity
.
getPicUri
());
imgReq
.
setServerIndexCode
(
staffEntity
.
getServerIndexCode
());
log
.
info
(
"req:{}"
,
JSON
.
toJSONString
(
imgReq
));
//Rest<String> rest = faceService.downloadPicture(imgReq);
try
{
InputStream
in
=
faceService
.
callPostImgs
(
imgReq
);
if
(!
ObjectUtils
.
isEmpty
(
in
))
{
MultipartFile
file
=
ServletUtils
.
getMultipartFile
(
in
,
"snap.jpg"
);
String
filePath
=
uploadService
.
saveFileUpload
(
file
,
"file/fileupload/snap/"
+
DateUtil
.
today
(),
null
);
staffEntity
.
setPhotoPath
(
filePath
);
return
filePath
;
}
else
{
return
"InputStream is null"
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"下载出错"
);
}
}
return
"null"
;
}
public
static
void
main
(
String
[]
args
)
{
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/rsp/PerformInfo.java
View file @
21ada6d6
...
...
@@ -87,4 +87,16 @@ public class PerformInfo {
*/
private
String
checkResult
;
/**
* 处理状态(1.未处理,2.已处理)
*/
private
Integer
checkStatus
;
/**
* 巡查时间
*/
private
Date
createTime
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/AttendPostServiceThread.java
0 → 100644
View file @
21ada6d6
package
com.mortals.xhx.common.utils
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.xhx.module.check.model.CheckAttendRecordEntity
;
import
com.mortals.xhx.module.check.model.vo.StaffCheckSummaryQuery
;
import
com.mortals.xhx.module.check.service.CheckAttendRecordService
;
import
com.mortals.xhx.utils.SpringUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.NonNull
;
import
lombok.RequiredArgsConstructor
;
import
lombok.Setter
;
import
lombok.extern.slf4j.Slf4j
;
/**
* 考勤核查后续处理线程
*
* @author:
* @date: 2023/7/17 14:42
*/
@RequiredArgsConstructor
@Slf4j
public
class
AttendPostServiceThread
implements
Runnable
{
private
CheckAttendRecordService
checkAttendRecordService
;
@NonNull
private
CheckAttendRecordEntity
entity
;
@Override
public
void
run
()
{
checkAttendRecordService
=
SpringUtils
.
getBean
(
CheckAttendRecordService
.
class
);
try
{
checkAttendRecordService
.
sendCheckDingTalk
(
entity
);
StaffCheckSummaryQuery
query
=
new
StaffCheckSummaryQuery
();
query
.
setStaffId
(
entity
.
getStaffId
());
query
.
setCheckTimeStart
(
DateUtils
.
getStrDate
(
entity
.
getCheckTime
()));
query
.
setCheckTimeEnd
(
query
.
getCheckTimeStart
());
checkAttendRecordService
.
summaryCheck
(
query
);
}
catch
(
Exception
e
)
{
log
.
error
(
"汇总已审核的核查记录出错"
,
e
);
}
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/CheckAttendRecordService.java
View file @
21ada6d6
...
...
@@ -51,4 +51,11 @@ public interface CheckAttendRecordService extends ICRUDService<CheckAttendRecord
* @return
*/
void
doSaveDeptPerformStat
(
StaffCheckSummaryQuery
query
);
/**
* 通知钉钉程序
* @param entity
*/
void
sendCheckDingTalk
(
CheckAttendRecordEntity
entity
);
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckAttendRecordServiceImpl.java
View file @
21ada6d6
...
...
@@ -8,15 +8,16 @@ import com.mortals.framework.service.IUser;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.util.ThreadPool
;
import
com.mortals.xhx.base.system.message.MessageService
;
import
com.mortals.xhx.common.code.CheckStatusEnum
;
import
com.mortals.xhx.common.code.PerformTypeEnum
;
import
com.mortals.xhx.common.code.SubMethodEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.utils.AttendPostServiceThread
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.module.check.dao.CheckAttendRecordDao
;
import
com.mortals.xhx.module.check.model.CheckAttendRecordEntity
;
import
com.mortals.xhx.module.check.model.CheckComplainRecordEntity
;
import
com.mortals.xhx.module.check.model.vo.StaffCheckSummaryQuery
;
import
com.mortals.xhx.module.check.model.vo.StaffCheckSummaryVo
;
import
com.mortals.xhx.module.check.service.CheckAttendRecordService
;
...
...
@@ -74,9 +75,11 @@ public class CheckAttendRecordServiceImpl extends AbstractCRUDServiceImpl<CheckA
protected
void
saveAfter
(
CheckAttendRecordEntity
entity
,
Context
context
)
throws
AppException
{
//发送钉钉通知信息
if
(
SubMethodEnum
.
系统自动
.
getValue
()
==
entity
.
getSubMethod
())
{
sendCheckDingTalk
(
entity
);
AttendPostServiceThread
attendPostServiceThread
=
new
AttendPostServiceThread
(
entity
);
ThreadPool
.
getInstance
().
execute
(
attendPostServiceThread
);
//sendCheckDingTalk(entity);
}
try
{
/*
try {
StaffCheckSummaryQuery query = new StaffCheckSummaryQuery();
query.setStaffId(entity.getStaffId());
query.setCheckTimeStart(DateUtils.getStrDate(entity.getCheckTime()));
...
...
@@ -84,11 +87,11 @@ public class CheckAttendRecordServiceImpl extends AbstractCRUDServiceImpl<CheckA
summaryCheck(query);
} catch (Exception e) {
log.error("汇总已审核的核查记录出错", e);
}
}
*/
}
p
rivate
void
sendCheckDingTalk
(
CheckAttendRecordEntity
entity
)
{
@Override
p
ublic
void
sendCheckDingTalk
(
CheckAttendRecordEntity
entity
)
{
String
ruleStr
=
String
.
format
(
"%s/%s/%s"
,
PerformTypeEnum
.
考勤绩效
.
getDesc
(),
entity
.
getCategoryName
(),
entity
.
getRuleName
());
//绩效核查通知
StaffEntity
staffCache
=
staffService
.
getCache
(
entity
.
getStaffId
().
toString
());
...
...
@@ -142,14 +145,14 @@ public class CheckAttendRecordServiceImpl extends AbstractCRUDServiceImpl<CheckA
@Override
public
List
<
StaffCheckSummaryVo
>
summaryCheck
(
StaffCheckSummaryQuery
query
)
throws
AppException
{
if
(
StringUtils
.
isEmpty
(
query
.
getCheckTimeStart
())
||
StringUtils
.
isEmpty
(
query
.
getCheckTimeStart
()))
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
/*
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
String startTime = format.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
String
endTime
=
format
.
format
(
calendar
.
getTime
());
query
.
setCheckTimeStart
(
startTime
);
query
.
setCheckTimeEnd
(
endTime
);
String endTime = format.format(calendar.getTime());
*/
query
.
setCheckTimeStart
(
DateUtil
.
beginOfMonth
(
new
Date
()).
toDateStr
()
);
query
.
setCheckTimeEnd
(
DateUtil
.
endOfMonth
(
new
Date
()).
toDateStr
()
);
}
List
<
StaffCheckSummaryVo
>
summaryVoList
=
dao
.
summaryCheck
(
query
);
if
(
CollectionUtils
.
isNotEmpty
(
summaryVoList
))
{
...
...
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