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
3c9e3614
Commit
3c9e3614
authored
Mar 20, 2024
by
廖旭伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
32733afa
1b86f533
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
209 additions
and
323 deletions
+209
-323
attendance-performance-manager-ui/admin/src/components/SearchForm.vue
...erformance-manager-ui/admin/src/components/SearchForm.vue
+2
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/InspectApiController.java
...va/com/mortals/xhx/busiz/h5/web/InspectApiController.java
+0
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java
...va/com/mortals/xhx/busiz/h5/web/PerformApiController.java
+0
-27
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/StaffCheckSummaryService.java
...x/daemon/applicationservice/StaffCheckSummaryService.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java
...ndance/service/impl/AttendanceRecordErrorServiceImpl.java
+122
-145
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
...tendance/service/impl/AttendanceRecordHikServiceImpl.java
+1
-137
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformEffectRecordService.java
...hx/module/perform/service/PerformEffectRecordService.java
+8
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java
.../perform/service/impl/PerformEffectRecordServiceImpl.java
+6
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformEffectRecordController.java
...xhx/module/perform/web/PerformEffectRecordController.java
+48
-0
attendance-performance-manager/src/test/java/com/mortals/httpclient/attendance/AttendanceRecordErrorController.http
...ttpclient/attendance/AttendanceRecordErrorController.http
+2
-2
attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http
...-manager/src/test/java/com/mortals/httpclient/system.http
+19
-9
No files found.
attendance-performance-manager-ui/admin/src/components/SearchForm.vue
View file @
3c9e3614
...
@@ -468,6 +468,8 @@ export default {
...
@@ -468,6 +468,8 @@ export default {
this
.
form
.
complainTimeEnd
=
this
.
form
.
createTimeMonth
+
"
-31
"
;
this
.
form
.
complainTimeEnd
=
this
.
form
.
createTimeMonth
+
"
-31
"
;
this
.
form
.
goworkTimeStart
=
this
.
form
.
createTimeMonth
+
"
-01
"
;
this
.
form
.
goworkTimeStart
=
this
.
form
.
createTimeMonth
+
"
-01
"
;
this
.
form
.
goworkTimeEnd
=
this
.
form
.
createTimeMonth
+
"
-31
"
;
this
.
form
.
goworkTimeEnd
=
this
.
form
.
createTimeMonth
+
"
-31
"
;
this
.
form
.
happenTimeStart
=
this
.
form
.
createTimeMonth
+
"
-01
"
;
this
.
form
.
happenTimeEnd
=
this
.
form
.
createTimeMonth
+
"
-31
"
;
}
else
if
(
this
.
form
.
createTimeStart1
||
this
.
form
.
createTimeEnd1
)
{
}
else
if
(
this
.
form
.
createTimeStart1
||
this
.
form
.
createTimeEnd1
)
{
this
.
form
.
createTimeStart
=
this
.
form
.
createTimeStart1
;
this
.
form
.
createTimeStart
=
this
.
form
.
createTimeStart1
;
this
.
form
.
createTimeEnd
=
this
.
form
.
createTimeEnd1
;
this
.
form
.
createTimeEnd
=
this
.
form
.
createTimeEnd1
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/InspectApiController.java
View file @
3c9e3614
...
@@ -92,8 +92,6 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
...
@@ -92,8 +92,6 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
@Autowired
@Autowired
private
AttendanceGroupService
groupService
;
private
AttendanceGroupService
groupService
;
@Autowired
@Autowired
private
AttendanceClassService
classService
;
@Autowired
private
AttendanceClassDetailService
classDetailService
;
private
AttendanceClassDetailService
classDetailService
;
@Autowired
@Autowired
private
AttendanceGroupFixedworkService
fixedworkService
;
private
AttendanceGroupFixedworkService
fixedworkService
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java
View file @
3c9e3614
...
@@ -54,8 +54,6 @@ import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED_CONTENT;
...
@@ -54,8 +54,6 @@ import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED_CONTENT;
@Slf4j
@Slf4j
@RequestMapping
(
"/api/v1/perform"
)
@RequestMapping
(
"/api/v1/perform"
)
public
class
PerformApiController
extends
AbstractBaseController
<
PerformReq
>
{
public
class
PerformApiController
extends
AbstractBaseController
<
PerformReq
>
{
@Autowired
@Autowired
private
CheckAttendRecordService
checkAttendRecordService
;
private
CheckAttendRecordService
checkAttendRecordService
;
@Autowired
@Autowired
...
@@ -70,10 +68,8 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
...
@@ -70,10 +68,8 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
private
CheckOtherRecordService
checkOtherRecordService
;
private
CheckOtherRecordService
checkOtherRecordService
;
@Autowired
@Autowired
private
CheckAllRecordService
checkAllRecordService
;
private
CheckAllRecordService
checkAllRecordService
;
@Autowired
@Autowired
private
PerformAttendAppealService
appealService
;
private
PerformAttendAppealService
appealService
;
@Autowired
@Autowired
private
CheckAllRecordDao
checkAllRecordDao
;
private
CheckAllRecordDao
checkAllRecordDao
;
@Autowired
@Autowired
...
@@ -81,7 +77,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
...
@@ -81,7 +77,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
@Autowired
@Autowired
private
PerformRulesService
rulesService
;
private
PerformRulesService
rulesService
;
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
());
this
.
addDict
(
model
,
"checkResult"
,
CheckResultEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"checkResult"
,
CheckResultEnum
.
getEnumMap
());
...
@@ -405,28 +400,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
...
@@ -405,28 +400,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
}
}
}
}
private
void
updateAppealResult
(
PerformInfo
performInfo
,
List
<
PerformAttendAppealEntity
>
list
)
{
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
for
(
PerformAttendAppealEntity
entity
:
list
)
{
if
(
ObjectUtils
.
isEmpty
(
entity
.
getAppealResult
()))
{
performInfo
.
setAppealStatus
(
AppealStatusEnum
.
申诉中
.
getValue
());
}
else
{
if
(
AppealResultEnum
.
通过
.
getValue
()
==
entity
.
getAppealResult
())
{
performInfo
.
setAppealStatus
(
AppealStatusEnum
.
申诉通过
.
getValue
());
}
else
if
(
AppealResultEnum
.
不通过
.
getValue
()
==
entity
.
getAppealResult
())
{
performInfo
.
setAppealStatus
(
AppealStatusEnum
.
申诉拒绝
.
getValue
());
}
else
{
performInfo
.
setAppealStatus
(
AppealStatusEnum
.
申诉中
.
getValue
());
}
}
}
}
else
{
performInfo
.
setAppealStatus
(
AppealStatusEnum
.
未申诉
.
getValue
());
}
}
/**
/**
* 详细
* 详细
*/
*/
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/StaffCheckSummaryService.java
View file @
3c9e3614
...
@@ -45,7 +45,7 @@ public class StaffCheckSummaryService implements IApplicationStartedService {
...
@@ -45,7 +45,7 @@ public class StaffCheckSummaryService implements IApplicationStartedService {
Thread
sendThread
=
new
Thread
(
new
Runnable
()
{
Thread
sendThread
=
new
Thread
(
new
Runnable
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
int
waitTime
=
100
0
;
int
waitTime
=
5
0
;
while
(!
stopped
)
{
while
(!
stopped
)
{
try
{
try
{
StaffCheckSummaryQuery
query
=
cacheService
.
brpop
(
KEY_CHECK_SUMMARY_CACHE
,
60
,
StaffCheckSummaryQuery
.
class
);
StaffCheckSummaryQuery
query
=
cacheService
.
brpop
(
KEY_CHECK_SUMMARY_CACHE
,
60
,
StaffCheckSummaryQuery
.
class
);
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java
View file @
3c9e3614
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
View file @
3c9e3614
...
@@ -257,7 +257,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
...
@@ -257,7 +257,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
attendanceRecordEntity
.
setId
(
recordEntity
.
getId
());
attendanceRecordEntity
.
setId
(
recordEntity
.
getId
());
attendanceRecordEntity
.
setUpdateTime
(
new
Date
());
attendanceRecordEntity
.
setUpdateTime
(
new
Date
());
attendanceRecordEntity
.
setUpdateUserId
(
this
.
getContextUserId
(
context
));
attendanceRecordEntity
.
setUpdateUserId
(
this
.
getContextUserId
(
context
));
updateList
.
add
(
attendanceRecordEntity
);
updateList
.
add
(
attendanceRecordEntity
);
// attendanceRecordService.update(attendanceRecordEntity, context);
// attendanceRecordService.update(attendanceRecordEntity, context);
}
else
{
}
else
{
...
@@ -378,6 +377,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
...
@@ -378,6 +377,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
attendanceRecordEntity
.
setClassName
(
attendanceClassDetailEntity
==
null
?
""
:
attendanceClassDetailEntity
.
getClassName
());
attendanceRecordEntity
.
setClassName
(
attendanceClassDetailEntity
==
null
?
""
:
attendanceClassDetailEntity
.
getClassName
());
}
}
//生成异常记录
//生成异常记录
log
.
info
(
"开始生成异常考勤记录"
);
genErrorAttendRecord
(
context
,
dateStr
,
attendanceRecordEntity
,
detailEntityList
);
genErrorAttendRecord
(
context
,
dateStr
,
attendanceRecordEntity
,
detailEntityList
);
if
(!
ObjectUtils
.
isEmpty
(
detailEntityList
))
{
if
(!
ObjectUtils
.
isEmpty
(
detailEntityList
))
{
attendanceRecordEntity
.
setAttendanceRecordDetailList
(
detailEntityList
);
attendanceRecordEntity
.
setAttendanceRecordDetailList
(
detailEntityList
);
...
@@ -497,8 +497,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
...
@@ -497,8 +497,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
if
(
OffWorkResultEnum
.
迟到
.
getValue
()
==
recordDetailEntity
.
getOffWorkResult
())
{
if
(
OffWorkResultEnum
.
迟到
.
getValue
()
==
recordDetailEntity
.
getOffWorkResult
())
{
errorEntity
.
setErrorStatus
(
ErrorStatusEnum
.
迟到
.
getValue
());
errorEntity
.
setErrorStatus
(
ErrorStatusEnum
.
迟到
.
getValue
());
}
}
errorEntityList
.
add
(
errorEntity
);
errorEntityList
.
add
(
errorEntity
);
}
}
...
@@ -509,140 +507,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
...
@@ -509,140 +507,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
}
}
private
Boolean
checkDouble
(
List
<
AttendanceRecordErrorEntity
>
errorEntityList
,
AttendanceRecordErrorEntity
checkError
)
{
//检测 新加 的错误 是否存在与列表中
boolean
bool
=
true
;
for
(
AttendanceRecordErrorEntity
error
:
errorEntityList
)
{
//
//if(error.getStaffId()==checkError.getStaffId()&&error.getShiftsId()=)
}
return
bool
;
}
private
void
checkAttendGroupByOne
(
AttendanceRecordEntity
attendanceRecordEntity
,
List
<
AttendanceRecordDetailEntity
>
detailEntityList
,
Date
attendanceDate
,
AttendanceGroupStaffEntity
attendanceGroupStaffEntity
,
Context
context
)
{
//查询考勤组
AttendanceGroupEntity
attendanceGroupEntity
=
attendanceGroupService
.
get
(
attendanceGroupStaffEntity
.
getGroupId
(),
context
);
attendanceRecordEntity
.
setAttendanceGroupId
(
attendanceGroupEntity
==
null
?
0L
:
attendanceGroupEntity
.
getId
());
attendanceRecordEntity
.
setAttendanceGroupName
(
attendanceGroupEntity
==
null
?
""
:
attendanceGroupEntity
.
getGroupName
());
//查询考勤组详细信息获取班次 todo 默认固定班次 还有自由 与排班制
AttendanceWorkAbstract
workAbstract
=
AttendanceWorkAbstract
.
newType
(
attendanceGroupEntity
.
getType
());
CommonData
commonData
=
new
CommonData
();
commonData
.
setAttendanceGroupEntity
(
attendanceGroupEntity
);
commonData
.
setAttendanceDate
(
attendanceDate
);
commonData
.
setDetailEntityList
(
detailEntityList
);
commonData
.
setStaffId
(
attendanceRecordEntity
.
getStaffId
());
workAbstract
.
doHandleWork
(
commonData
);
/*
AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(new AttendanceGroupFixedworkQuery()
.groupId(attendanceGroupEntity.getId()));
//判断当前考勤日期为周几
String week = this.getWeek(attendanceDate);
//log.info("week:{}", week);
//通过考勤日期的星期拿到班次id.
if (ObjectUtils.isEmpty(attendanceGroupFixedworkEntity)) {
log.info("attendanceGroupFixedworkEntity is null ! groupId:{}", attendanceGroupEntity.getId());
return;
}
//获取当前日期的详细班次
Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week);
//log.info("weekClassId:{}", weekClassId);
//weekClassId为-1 则不在考勤
if (weekClassId == -1L) {
//跳过本次循环
return;
}
//获取班次信息
AttendanceClassEntity attendanceClassEntity = attendanceClassService.get(weekClassId);
if (ObjectUtils.isEmpty(attendanceClassEntity)) {
log.info("attendanceClassEntity is null ,weekClassId:{}", weekClassId);
return;
}
//List<AttendanceClassDetailEntity> attendanceClassDetailEntities = attendanceClassDetailService.find(new AttendanceClassDetailQuery().classId(attendanceClassEntity.getId()));
//获取当前班的多个班次,一个班次为一个上下班时间段
List<AttendanceClassDetailEntity> attendanceClassDetailEntities = attendanceClassEntity.getAttendanceClassDetailList();
Integer orderNum = 0;
//构造数据
if (ObjectUtils.isEmpty(detailEntityList)) {
//遍历班次 构建详细考勤数据
for (AttendanceClassDetailEntity classDetailEntity : attendanceClassDetailEntities) {
orderNum++;
AttendanceRecordDetailEntity recordDetailEntity = new AttendanceRecordDetailEntity();
recordDetailEntity.setShiftsId(classDetailEntity.getId());
recordDetailEntity.setShiftsName(classDetailEntity.getClassName());
recordDetailEntity.setGoWorkResult(GoWorkResultEnum.缺卡.getValue());
recordDetailEntity.setOffWorkResult(GoWorkResultEnum.缺卡.getValue());
recordDetailEntity.setOrderNum(orderNum);
detailEntityList.add(recordDetailEntity);
}
}
for (AttendanceClassDetailEntity classDetail : attendanceClassDetailEntities) {
//计算区间范围
//上班打卡前时间
Date goWorkDateBefore = DateUtil.offsetMinute(classDetail.getGoWorkDate(), -classDetail.getGoWorkDateBefore());
//上班打卡后时间
Date goWorkDateAfter = DateUtil.offsetMinute(classDetail.getGoWorkDate(), classDetail.getGoWorkDateAfter());
// 下班打卡前时间
Date offWorkDateBefore = DateUtil.offsetMinute(classDetail.getOffWorkDate(), -classDetail.getOffWorkDateBefore());
//下班打卡后时间
Date offWorkDateAfter = DateUtil.offsetMinute(classDetail.getOffWorkDate(), classDetail.getOffWorkDateAfter());
//判断考勤时间是否在上班打卡区间内 true 在 false 不在 格式化时间
//String currDate = DateUtil.formatTime(attendanceDate);
Date curDateTime = DateUtil.parseTime(DateUtil.formatTime(attendanceDate)).toJdkDate();
boolean goInTime = DateUtil.isIn(curDateTime, goWorkDateBefore, goWorkDateAfter);
//判断考勤时间是否在下班打卡区间内
boolean offInTime = DateUtil.isIn(curDateTime, offWorkDateBefore, offWorkDateAfter);
if (goInTime == false && offInTime == false) {
log.info("考勤时间不在上班区间与下班区间中,不做处理!attendDate:{}", DateUtil.formatDateTime(attendanceDate));
continue;
}
if (goInTime) {
//如果是上班打卡区间范围,判断是否迟到
boolean inTime = DateUtil.isIn(curDateTime, goWorkDateBefore, classDetail.getGoWorkDate());
if (inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId() == classDetail.getId()) {
attendanceRecordDetailEntity.setGoWorkResult(GoWorkResultEnum.正常.getValue());
attendanceRecordDetailEntity.setGoWorkDate(attendanceDate);
}
}
} else {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId() == classDetail.getId()) {
attendanceRecordDetailEntity.setGoWorkResult(GoWorkResultEnum.迟到.getValue());
attendanceRecordDetailEntity.setGoWorkDate(attendanceDate);
}
}
}
}
if (offInTime) {
boolean inTime = DateUtil.isIn(curDateTime, classDetail.getOffWorkDate(), offWorkDateAfter);
if (inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId() == classDetail.getId()) {
attendanceRecordDetailEntity.setOffWorkResult(GoWorkResultEnum.正常.getValue());
attendanceRecordDetailEntity.setOffWorkDate(attendanceDate);
}
}
} else {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId() == classDetail.getId()) {
attendanceRecordDetailEntity.setOffWorkResult(GoWorkResultEnum.早退.getValue());
attendanceRecordDetailEntity.setOffWorkDate(attendanceDate);
}
}
}
}
}*/
}
public
String
getWeek
(
Date
date
)
{
public
String
getWeek
(
Date
date
)
{
// Get the day of the week (1 = Sunday, 2 = Monday, ..., 7 = Saturday)
// Get the day of the week (1 = Sunday, 2 = Monday, ..., 7 = Saturday)
int
dayOfWeek
=
DateUtil
.
dayOfWeek
(
date
);
int
dayOfWeek
=
DateUtil
.
dayOfWeek
(
date
);
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformEffectRecordService.java
View file @
3c9e3614
package
com.mortals.xhx.module.perform.service
;
package
com.mortals.xhx.module.perform.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.perform.model.PerformEffectRecordEntity
;
import
com.mortals.xhx.module.perform.model.PerformEffectRecordEntity
;
import
com.mortals.xhx.module.perform.dao.PerformEffectRecordDao
;
import
com.mortals.xhx.module.perform.dao.PerformEffectRecordDao
;
import
com.mortals.xhx.module.perform.model.PerformEffectRecordQuery
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
/**
* PerformEffectRecordService
* PerformEffectRecordService
*
*
...
@@ -23,4 +27,8 @@ public interface PerformEffectRecordService extends ICRUDService<PerformEffectRe
...
@@ -23,4 +27,8 @@ public interface PerformEffectRecordService extends ICRUDService<PerformEffectRe
*/
*/
void
updateProcessStatus
(
Long
id
,
Integer
status
)
throws
AppException
;
void
updateProcessStatus
(
Long
id
,
Integer
status
)
throws
AppException
;
void
syncEffectRecord
(
PerformEffectRecordQuery
query
,
Context
context
);
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java
View file @
3c9e3614
...
@@ -5,6 +5,7 @@ import com.mortals.xhx.common.utils.BeanUtil;
...
@@ -5,6 +5,7 @@ import com.mortals.xhx.common.utils.BeanUtil;
import
com.mortals.xhx.module.check.model.CheckEffectRecordEntity
;
import
com.mortals.xhx.module.check.model.CheckEffectRecordEntity
;
import
com.mortals.xhx.module.check.service.CheckEffectRecordService
;
import
com.mortals.xhx.module.check.service.CheckEffectRecordService
;
import
com.mortals.xhx.module.perform.model.PerformComplainRecordEntity
;
import
com.mortals.xhx.module.perform.model.PerformComplainRecordEntity
;
import
com.mortals.xhx.module.perform.model.PerformEffectRecordQuery
;
import
com.mortals.xhx.module.perform.model.PerformRulesEntity
;
import
com.mortals.xhx.module.perform.model.PerformRulesEntity
;
import
com.mortals.xhx.module.perform.service.PerformRulesService
;
import
com.mortals.xhx.module.perform.service.PerformRulesService
;
import
com.mortals.xhx.module.perform.service.PerformStaffConfService
;
import
com.mortals.xhx.module.perform.service.PerformStaffConfService
;
...
@@ -113,4 +114,9 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
...
@@ -113,4 +114,9 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
dao
.
update
(
update
);
dao
.
update
(
update
);
}
}
@Override
public
void
syncEffectRecord
(
PerformEffectRecordQuery
query
,
Context
context
)
{
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformEffectRecordController.java
View file @
3c9e3614
package
com.mortals.xhx.module.perform.web
;
package
com.mortals.xhx.module.perform.web
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.mortals.framework.annotation.UnAuth
;
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.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
...
@@ -7,10 +11,14 @@ import com.mortals.xhx.base.system.param.service.ParamService;
...
@@ -7,10 +11,14 @@ import com.mortals.xhx.base.system.param.service.ParamService;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
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.AttendanceRecordHikQuery
;
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.PerformEffectRecordQuery
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StopWatch
;
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
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -42,6 +50,7 @@ import static com.mortals.framework.ap.SysConstains.*;
...
@@ -42,6 +50,7 @@ import static com.mortals.framework.ap.SysConstains.*;
*/
*/
@RestController
@RestController
@RequestMapping
(
"perform/effect/record"
)
@RequestMapping
(
"perform/effect/record"
)
@Slf4j
public
class
PerformEffectRecordController
extends
BaseCRUDJsonBodyMappingController
<
PerformEffectRecordService
,
PerformEffectRecordEntity
,
Long
>
{
public
class
PerformEffectRecordController
extends
BaseCRUDJsonBodyMappingController
<
PerformEffectRecordService
,
PerformEffectRecordEntity
,
Long
>
{
@Autowired
@Autowired
...
@@ -87,4 +96,43 @@ public class PerformEffectRecordController extends BaseCRUDJsonBodyMappingContro
...
@@ -87,4 +96,43 @@ public class PerformEffectRecordController extends BaseCRUDJsonBodyMappingContro
//query.setHappenTimeEnd(DateUtil.formatDate(query.getCreateTime()));
//query.setHappenTimeEnd(DateUtil.formatDate(query.getCreateTime()));
}
}
}
}
@PostMapping
(
value
=
"/sync"
)
@UnAuth
public
Rest
<
String
>
syncEffectRecord
(
@RequestBody
PerformEffectRecordQuery
query
)
{
Rest
<
String
>
ret
=
new
Rest
();
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
String
busiDesc
=
"查询"
+
this
.
getModuleDesc
();
int
code
=
1
;
try
{
//天数区间分段计算
DateTime
attendStart
=
DateUtil
.
parseDate
(
query
.
getHappenTimeStart
());
DateTime
attendEnd
=
DateUtil
.
parseDate
(
query
.
getHappenTimeEnd
());
Long
compare
=
DateUtil
.
between
(
attendEnd
,
attendStart
,
DateUnit
.
DAY
);
StopWatch
stopWatch
=
new
StopWatch
(
"stopwatch attend1"
);
log
.
info
(
"效能同步计算天数区间:{}"
,
compare
);
for
(
int
i
=
0
;
i
<=
compare
.
intValue
();
i
++)
{
DateTime
curDate
=
DateUtil
.
offsetDay
(
attendStart
,
i
);
log
.
info
(
"效能同步记录日期:{}"
,
curDate
.
toDateStr
());
stopWatch
.
start
(
"执行本地方法"
);
stopWatch
.
stop
();
log
.
info
(
"效能同步记录日期:{} 完成,耗时:{}ms"
,
curDate
.
toDateStr
(),
stopWatch
.
getLastTaskTimeMillis
());
}
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
code
=
-
1
;
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
e
);
model
.
put
(
"message_info"
,
e
.
getMessage
());
}
this
.
init
(
model
,
context
);
ret
.
setCode
(
code
);
ret
.
setMsg
(
model
.
get
(
"message_info"
)
==
null
?
""
:
model
.
remove
(
"message_info"
).
toString
());
return
ret
;
}
}
}
\ No newline at end of file
attendance-performance-manager/src/test/java/com/mortals/httpclient/attendance/AttendanceRecordErrorController.http
View file @
3c9e3614
...
@@ -19,8 +19,8 @@ POST {{baseUrl}}/attendance/record/error/doReprocess
...
@@ -19,8 +19,8 @@ POST {{baseUrl}}/attendance/record/error/doReprocess
Content-Type: application/json
Content-Type: application/json
{
{
"errorDateTimeStart":"2024-0
1
-01",
"errorDateTimeStart":"2024-0
2
-01",
"errorDateTimeEnd":"2024-0
1-30
"
"errorDateTimeEnd":"2024-0
2-29
"
}
}
...
...
attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http
View file @
3c9e3614
...
@@ -34,17 +34,15 @@ Content-Type: application/json
...
@@ -34,17 +34,15 @@ Content-Type: application/json
###海康考勤打卡记录计算
###海康考勤打卡记录计算
POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
Authorization: {{authToken}}
Content-Type: application/json
Content-Type: application/json
{
{
"attendanceDateStart":"2024-0
3
-01",
"attendanceDateStart":"2024-0
2
-01",
"attendanceDateEnd":"2024-0
3-13
"
"attendanceDateEnd":"2024-0
2-29
"
}
}
###海康考勤打卡记录计算1
###海康考勤打卡记录计算1
POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
Authorization: {{authToken}}
Content-Type: application/json
Content-Type: application/json
{
{
...
@@ -77,15 +75,27 @@ Content-Type: application/json
...
@@ -77,15 +75,27 @@ Content-Type: application/json
###考勤汇总计算
###考勤汇总计算
POST {{baseUrl}}/
/
attendance/stat/summary
POST {{baseUrl}}/attendance/stat/summary
Content-Type: application/json
Content-Type: application/json
{"summaryTimeStart":"2024-03-
01","summaryTimeEnd":"2024-03-13
"}
{"summaryTimeStart":"2024-03-
15","summaryTimeEnd":"2024-03-15
"}
###短信设置编辑
GET {{baseUrl}}/sms/set/edit?id={{SmsSet_id}}
###绩效汇总计算
Accept: application/json
POST {{baseUrl}}/staff/perform/summary/summary
Content-Type: application/json
{"checkTimeStart":"2024-02-01","checkTimeEnd":"2024-02-29"}
###考勤打卡记录异常信息列表
POST {{baseUrl}}/attendance/record/error/doReprocess
Content-Type: application/json
{
"errorDateTimeStart":"2024-02-01",
"errorDateTimeEnd":"2024-02-29"
}
###id生成
###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