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
479f71df
Commit
479f71df
authored
Aug 10, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改汇总异常考勤的bug
parent
61667eab
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
5 deletions
+40
-5
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/LeaveSummaryVo.java
...ortals/xhx/module/attendance/model/vo/LeaveSummaryVo.java
+11
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
...le/attendance/service/impl/AttendanceStatServiceImpl.java
+26
-4
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceSummaryMapper.xml
...rces/sqlmap/module/attendance/AttendanceSummaryMapper.xml
+3
-1
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/LeaveSummaryVo.java
View file @
479f71df
package
com.mortals.xhx.module.attendance.model.vo
;
import
com.mortals.framework.annotation.Excel
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 请假汇总
*/
...
...
@@ -35,4 +38,12 @@ public class LeaveSummaryVo {
* 时长,单位秒
*/
private
Integer
duration
;
/**
* 开始时间
*/
private
Date
startTime
;
/**
* 结束时间
*/
private
Date
endTime
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
View file @
479f71df
...
...
@@ -27,6 +27,7 @@ import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import
com.mortals.xhx.module.attendance.service.AttendanceStatService
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -185,12 +186,32 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
//汇总当前日期请假情况
List
<
LeaveSummaryVo
>
leaveSummaryVoList
=
attendanceSummaryDao
.
getLeaveSummary
(
query
);
if
(
CollectionUtils
.
isNotEmpty
(
leaveSummaryVoList
))
{
BigDecimal
hour
=
new
BigDecimal
(
3600
);
BigDecimal
day
=
new
BigDecimal
(
3600
*
24
);
BigDecimal
oneDay
=
new
BigDecimal
(
1
);
for
(
LeaveSummaryVo
item
:
leaveSummaryVoList
)
{
String
attendanceSummary
=
""
;
AttendanceStatEntity
temp
=
this
.
selectOne
(
new
AttendanceStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
if
(
temp
!=
null
)
{
BigDecimal
leaveTime
=
new
BigDecimal
(
item
.
getDuration
()).
divide
(
hour
,
1
,
BigDecimal
.
ROUND_HALF_DOWN
);
BigDecimal
leaveTime
=
new
BigDecimal
(
item
.
getDuration
()).
divide
(
day
,
1
,
BigDecimal
.
ROUND_HALF_DOWN
);
String
endStr
=
DateUtils
.
getStrDate
(
item
.
getEndTime
());
String
dayStr
=
query
.
getSummaryTime
();
if
(
endStr
.
equals
(
dayStr
)){
if
(
leaveTime
.
compareTo
(
oneDay
)>=
0
){
// 整数部分
BigDecimal
integerPart
=
leaveTime
.
setScale
(
0
,
RoundingMode
.
DOWN
);
// 小数部分
BigDecimal
fractionalPart
=
leaveTime
.
subtract
(
integerPart
);
if
(
fractionalPart
.
compareTo
(
new
BigDecimal
(
0
))==
0
){
leaveTime
=
oneDay
;
}
else
{
leaveTime
=
fractionalPart
;
}
}
}
else
{
if
(
leaveTime
.
compareTo
(
oneDay
)>=
0
){
leaveTime
=
oneDay
;
}
}
temp
.
setGoTimes
(
0
);
//默认只要有请假,当天就不算全勤
LeaveTypeEnum
leaveTypeEnum
=
LeaveTypeEnum
.
getByValue
(
item
.
getLeaveType
());
if
(
leaveTypeEnum
==
null
){
...
...
@@ -245,7 +266,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
staffStat
.
setUpdateTime
(
new
Date
());
attendanceStaffStatService
.
update
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
new
Date
(
));
staffStat
.
setCreateTime
(
DateUtils
.
StrToDate
(
query
.
getSummaryTime
()
));
staffStat
.
setCreateUserId
(
1
l
);
attendanceStaffStatService
.
save
(
staffStat
);
}
...
...
@@ -282,7 +303,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
staffStat
.
setUpdateTime
(
new
Date
());
attendanceStaffStatService
.
update
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
new
Date
(
));
staffStat
.
setCreateTime
(
DateUtils
.
StrToDate
(
query
.
getSummaryTime
()
));
staffStat
.
setCreateUserId
(
1
l
);
attendanceStaffStatService
.
save
(
staffStat
);
}
...
...
@@ -326,4 +347,5 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
}
return
result
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceSummaryMapper.xml
View file @
479f71df
...
...
@@ -50,7 +50,9 @@
IFNULL(sum(duration),0) as duration,
ANY_VALUE(DATE_FORMAT(STR_TO_DATE(#{summaryTime},'%Y-%m-%d'),'%Y')) as `year`,
ANY_VALUE(DATE_FORMAT(STR_TO_DATE(#{summaryTime},'%Y-%m-%d'),'%m')) as `month`,
ANY_VALUE(DATE_FORMAT(STR_TO_DATE(#{summaryTime},'%Y-%m-%d'),'%d')) as `day`
ANY_VALUE(DATE_FORMAT(STR_TO_DATE(#{summaryTime},'%Y-%m-%d'),'%d')) as `day`,
ANY_VALUE(startTime) as startTime,
ANY_VALUE(endTime) as endTime
FROM
mortals_xhx_attendance_leave_record
WHERE
...
...
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