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
3c7f8622
Commit
3c7f8622
authored
Aug 07, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
考勤汇总任务修改,考勤汇总查询接口修改
parent
74284c0d
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
346 additions
and
6 deletions
+346
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceStaffStatDao.java
...als/xhx/module/attendance/dao/AttendanceStaffStatDao.java
+3
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceStatDao.java
.../mortals/xhx/module/attendance/dao/AttendanceStatDao.java
+5
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceStaffStatDaoImpl.java
...ule/attendance/dao/ibatis/AttendanceStaffStatDaoImpl.java
+5
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceStatDaoImpl.java
...x/module/attendance/dao/ibatis/AttendanceStatDaoImpl.java
+46
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceSummaryQuery.java
...hx/module/attendance/model/vo/AttendanceSummaryQuery.java
+5
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceStaffStatService.java
...module/attendance/service/AttendanceStaffStatService.java
+10
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceStatService.java
.../xhx/module/attendance/service/AttendanceStatService.java
+6
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
...tendance/service/impl/AttendanceStaffStatServiceImpl.java
+19
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
...le/attendance/service/impl/AttendanceStatServiceImpl.java
+76
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceStatController.java
...s/xhx/module/attendance/web/AttendanceStatController.java
+42
-3
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceStaffStatMapperExt.xml
...sqlmap/module/attendance/AttendanceStaffStatMapperExt.xml
+13
-0
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceStatMapperExt.xml
...rces/sqlmap/module/attendance/AttendanceStatMapperExt.xml
+116
-0
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceStaffStatDao.java
View file @
3c7f8622
...
...
@@ -2,6 +2,8 @@ package com.mortals.xhx.module.attendance.dao;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
import
java.util.List
;
/**
* 考勤人员汇总信息Dao
...
...
@@ -13,5 +15,5 @@ import java.util.List;
public
interface
AttendanceStaffStatDao
extends
ICRUDDao
<
AttendanceStaffStatEntity
,
Long
>{
List
<
AttendanceStaffStatEntity
>
getListExt
(
AttendanceSummaryQuery
params
);
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceStatDao.java
View file @
3c7f8622
package
com.mortals.xhx.module.attendance.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.xhx.module.attendance.model.AttendanceStatEntity
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
/**
* 考勤汇总信息Dao
...
...
@@ -17,4 +20,6 @@ public interface AttendanceStatDao extends ICRUDDao<AttendanceStatEntity,Long>{
* */
AttendanceStatEntity
queryEntity
(
Long
staffId
);
Result
<
AttendanceStatEntity
>
getListExt
(
AttendanceSummaryQuery
params
,
PageInfo
pageInfo
);
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceStaffStatDaoImpl.java
View file @
3c7f8622
package
com.mortals.xhx.module.attendance.dao.ibatis
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.attendance.dao.AttendanceStaffStatDao
;
import
com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity
;
...
...
@@ -17,5 +18,8 @@ import java.util.List;
public
class
AttendanceStaffStatDaoImpl
extends
BaseCRUDDaoMybatis
<
AttendanceStaffStatEntity
,
Long
>
implements
AttendanceStaffStatDao
{
@Override
public
List
<
AttendanceStaffStatEntity
>
getListExt
(
AttendanceSummaryQuery
params
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getListExt"
),
params
);
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceStatDaoImpl.java
View file @
3c7f8622
...
...
@@ -2,9 +2,18 @@ package com.mortals.xhx.module.attendance.dao.ibatis;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.ParamDto
;
import
com.mortals.framework.model.Result
;
import
com.mortals.xhx.module.attendance.dao.AttendanceStatDao
;
import
com.mortals.xhx.module.attendance.model.AttendanceStatEntity
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
import
org.apache.ibatis.session.RowBounds
;
import
org.springframework.stereotype.Repository
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 考勤汇总信息DaoImpl DAO接口
*
...
...
@@ -19,4 +28,41 @@ public class AttendanceStatDaoImpl extends BaseCRUDDaoMybatis<AttendanceStatEnti
public
AttendanceStatEntity
queryEntity
(
Long
staffId
)
{
return
getSqlSession
().
selectOne
(
getSqlId
(
"queryEntity"
),
staffId
);
}
@Override
public
Result
<
AttendanceStatEntity
>
getListExt
(
AttendanceSummaryQuery
params
,
PageInfo
pageInfo
)
{
Result
result
=
new
Result
();
List
list
=
null
;
if
(
pageInfo
.
isCountPage
())
{
int
count
=
this
.
getCountExt
(
params
);
if
(
count
==
0
)
{
list
=
new
ArrayList
();
}
else
if
(
pageInfo
.
getPrePageResult
()
==
-
1
)
{
list
=
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getListExt"
),
params
);
}
else
{
RowBounds
rowBounds
=
new
RowBounds
(
pageInfo
.
getBeginIndex
(),
pageInfo
.
getPrePageResult
());
list
=
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getListExt"
),
params
,
rowBounds
);
}
pageInfo
.
setTotalResult
(
count
);
result
.
setPageInfo
(
pageInfo
);
result
.
setList
((
List
)
list
);
}
else
{
if
(
pageInfo
.
getPrePageResult
()
==
-
1
)
{
list
=
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getListExt"
),
params
);
}
else
{
RowBounds
rowBounds
=
new
RowBounds
(
pageInfo
.
getBeginIndex
(),
pageInfo
.
getPrePageResult
());
list
=
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getListExt"
),
params
,
rowBounds
);
}
pageInfo
.
setTotalResult
(-
1
);
result
.
setPageInfo
(
pageInfo
);
result
.
setList
(
list
);
}
return
result
;
}
public
int
getCountExt
(
AttendanceSummaryQuery
paramDto
)
{
return
(
Integer
)
this
.
getSqlSession
().
selectOne
(
this
.
getSqlId
(
"getListCountExt"
),
paramDto
);
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceSummaryQuery.java
View file @
3c7f8622
...
...
@@ -13,6 +13,11 @@ public class AttendanceSummaryQuery {
private
String
summaryTimeStart
;
private
String
summaryTimeEnd
;
private
Long
staffId
;
private
Integer
page
;
private
Integer
size
;
public
AttendanceSummaryQuery
(
String
summaryTime
){
this
.
summaryTime
=
summaryTime
;
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceStaffStatService.java
View file @
3c7f8622
package
com.mortals.xhx.module.attendance.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
import
java.util.List
;
/**
* AttendanceStaffStatService
*
...
...
@@ -11,4 +19,6 @@ import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
*/
public
interface
AttendanceStaffStatService
extends
ICRUDService
<
AttendanceStaffStatEntity
,
Long
>{
List
<
AttendanceStaffStatEntity
>
getListExt
(
AttendanceSummaryQuery
params
)
throws
AppException
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceStatService.java
View file @
3c7f8622
package
com.mortals.xhx.module.attendance.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.attendance.model.AttendanceStatEntity
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
...
...
@@ -18,4 +22,6 @@ public interface AttendanceStatService extends ICRUDService<AttendanceStatEntity
* @param query
*/
void
doAttendanceSummary
(
AttendanceSummaryQuery
query
);
Result
<
AttendanceStatEntity
>
findExt
(
AttendanceSummaryQuery
params
,
PageInfo
pageInfo
,
Context
context
)
throws
AppException
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
View file @
3c7f8622
package
com.mortals.xhx.module.attendance.service.impl
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
...
...
@@ -6,6 +8,9 @@ import com.mortals.framework.model.Context;
import
com.mortals.xhx.module.attendance.dao.AttendanceStaffStatDao
;
import
com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity
;
import
com.mortals.xhx.module.attendance.service.AttendanceStaffStatService
;
import
java.util.List
;
/**
* AttendanceStaffStatService
* 考勤人员汇总信息 service实现
...
...
@@ -15,5 +20,18 @@ import com.mortals.xhx.module.attendance.service.AttendanceStaffStatService;
*/
@Service
(
"attendanceStaffStatService"
)
public
class
AttendanceStaffStatServiceImpl
extends
AbstractCRUDServiceImpl
<
AttendanceStaffStatDao
,
AttendanceStaffStatEntity
,
Long
>
implements
AttendanceStaffStatService
{
@Override
public
List
<
AttendanceStaffStatEntity
>
getListExt
(
AttendanceSummaryQuery
params
)
throws
AppException
{
if
(
params
==
null
){
throw
new
AppException
(
"查询条件对象不能为空"
);
}
if
(
params
.
getStaffId
()==
null
){
throw
new
AppException
(
"人员信息id不能为空"
);
}
if
(
StringUtils
.
isEmpty
(
params
.
getSummaryTimeStart
())||
StringUtils
.
isEmpty
(
params
.
getSummaryTimeEnd
())){
throw
new
AppException
(
"查询日期范围不能为空"
);
}
return
dao
.
getListExt
(
params
);
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
View file @
3c7f8622
package
com.mortals.xhx.module.attendance.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.common.code.LeaveTypeEnum
;
...
...
@@ -26,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.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -161,9 +163,11 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
BeanUtils
.
copyProperties
(
item
,
attendanceStatEntity
,
BeanUtil
.
getNullPropertyNames
(
item
));
attendanceStatEntity
.
setCreateTime
(
new
Date
());
attendanceStatEntity
.
setCreateUserId
(
1
l
);
attendanceStatEntity
.
setGoTimes
(
1
);
//默认当天全勤
this
.
dao
.
insert
(
attendanceStatEntity
);
}
else
{
BeanUtils
.
copyProperties
(
item
,
temp
,
BeanUtil
.
getNullPropertyNames
(
item
));
temp
.
setUpdateTime
(
new
Date
());
this
.
dao
.
update
(
temp
);
}
}
...
...
@@ -174,10 +178,16 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
if
(
CollectionUtils
.
isNotEmpty
(
leaveSummaryVoList
))
{
BigDecimal
hour
=
new
BigDecimal
(
3600
);
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
);
temp
.
setGoTimes
(
0
);
//默认只要有请假,当天就不算全勤
LeaveTypeEnum
leaveTypeEnum
=
LeaveTypeEnum
.
getByValue
(
item
.
getLeaveType
());
if
(
leaveTypeEnum
==
null
){
leaveTypeEnum
=
LeaveTypeEnum
.
事假
;
//默认为事假
}
attendanceSummary
=
leaveTypeEnum
.
getDesc
()+
"*1"
;
switch
(
leaveTypeEnum
)
{
case
事假:
temp
.
setPersonalLeave
(
leaveTime
);
...
...
@@ -215,6 +225,21 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
}
this
.
dao
.
update
(
temp
);
}
AttendanceStaffStatEntity
staffStat
=
new
AttendanceStaffStatEntity
();
staffStat
.
initAttrValue
();
BeanUtils
.
copyProperties
(
item
,
staffStat
,
BeanUtil
.
getNullPropertyNames
(
item
));
staffStat
.
setAttendanceSummary
(
attendanceSummary
);
AttendanceStaffStatEntity
staffStatTemp
=
attendanceStaffStatService
.
selectOne
(
new
AttendanceStaffStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
if
(
staffStatTemp
!=
null
){
staffStat
.
setId
(
staffStatTemp
.
getId
());
staffStat
.
setUpdateTime
(
new
Date
());
attendanceStaffStatService
.
update
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
new
Date
());
staffStat
.
setCreateUserId
(
1
l
);
attendanceStaffStatService
.
save
(
staffStat
);
}
}
}
log
.
info
(
"完成汇总当前日期请假情况....."
);
...
...
@@ -225,8 +250,33 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
AttendanceStatEntity
temp
=
this
.
selectOne
(
new
AttendanceStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
if
(
temp
!=
null
)
{
BeanUtils
.
copyProperties
(
item
,
temp
,
BeanUtil
.
getNullPropertyNames
(
item
));
temp
.
setGoTimes
(
0
);
//默认只要有异常考勤,当天就不算全勤
this
.
dao
.
update
(
temp
);
}
String
attendanceSummary
=
""
;
if
(
item
.
getMorningTimes
()>
0
){
attendanceSummary
+=
"缺卡*"
+
item
.
getMorningTimes
()+
"次;"
;
}
if
(
item
.
getLateTimes
()>
0
){
attendanceSummary
+=
"迟到*"
+
item
.
getLateTimes
()+
"次;"
;
}
if
(
item
.
getOvertimeTimes
()>
0
){
attendanceSummary
+=
"早退*"
+
item
.
getOvertimeTimes
()+
"次;"
;
}
AttendanceStaffStatEntity
staffStat
=
new
AttendanceStaffStatEntity
();
staffStat
.
initAttrValue
();
BeanUtils
.
copyProperties
(
item
,
staffStat
,
BeanUtil
.
getNullPropertyNames
(
item
));
staffStat
.
setAttendanceSummary
(
attendanceSummary
);
AttendanceStaffStatEntity
staffStatTemp
=
attendanceStaffStatService
.
selectOne
(
new
AttendanceStaffStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
if
(
staffStatTemp
!=
null
){
staffStat
.
setId
(
staffStatTemp
.
getId
());
staffStat
.
setUpdateTime
(
new
Date
());
attendanceStaffStatService
.
update
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
new
Date
());
staffStat
.
setCreateUserId
(
1
l
);
attendanceStaffStatService
.
save
(
staffStat
);
}
}
}
log
.
info
(
"完成汇总当前日期异常考勤....."
);
...
...
@@ -235,4 +285,30 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
log
.
error
(
"考勤汇总出错"
,
e
);
}
}
@Override
public
Result
<
AttendanceStatEntity
>
findExt
(
AttendanceSummaryQuery
params
,
PageInfo
pageInfo
,
Context
context
)
throws
AppException
{
if
(
params
==
null
){
params
=
new
AttendanceSummaryQuery
();
Calendar
now
=
Calendar
.
getInstance
();
now
.
setTime
(
new
Date
());
now
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
30
);
//默认查最近30天数据
params
.
setSummaryTimeStart
(
DateUtils
.
getStrDate
(
now
.
getTime
()));
params
.
setSummaryTimeEnd
(
DateUtils
.
getCurrStrDate
());
}
if
(
pageInfo
==
null
){
pageInfo
=
new
PageInfo
(
10
);
}
Result
<
AttendanceStatEntity
>
result
=
dao
.
getListExt
(
params
,
pageInfo
);
if
(
CollectionUtils
.
isNotEmpty
(
result
.
getList
())){
for
(
AttendanceStatEntity
item:
result
.
getList
()){
params
.
setStaffId
(
item
.
getStaffId
());
List
<
AttendanceStaffStatEntity
>
statEntities
=
attendanceStaffStatService
.
getListExt
(
params
);
if
(
CollectionUtils
.
isNotEmpty
(
statEntities
)){
item
.
setAttendanceStaffStatEntities
(
statEntities
);
}
}
}
return
result
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceStatController.java
View file @
3c7f8622
...
...
@@ -133,8 +133,47 @@ public class AttendanceStatController extends BaseCRUDJsonBodyMappingController<
return
dates
;
}
public
static
void
main
(
String
[]
args
){
List
<
String
>
sss
=
getDatesBetween
(
"2023-07-28"
,
"2023-08-04"
);
System
.
out
.
println
(
sss
);
@PostMapping
({
"listExt"
})
@UnAuth
public
Rest
<
Object
>
listExt
(
@RequestBody
AttendanceSummaryQuery
query
)
{
Rest
<
Object
>
ret
=
new
Rest
();
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
String
busiDesc
=
"查询"
+
this
.
getModuleDesc
();
int
code
=
1
;
try
{
PageInfo
pageInfo
=
this
.
buildPageInfoExt
(
query
);
Result
<
AttendanceStatEntity
>
result
=
this
.
getService
().
findExt
(
query
,
pageInfo
,
context
);
model
.
put
(
"data"
,
result
.
getList
());
model
.
put
(
"pageInfo"
,
result
.
getPageInfo
());
this
.
parsePageInfo
(
model
,
result
.
getPageInfo
());
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
if
(!
ObjectUtils
.
isEmpty
(
context
)
&&
!
ObjectUtils
.
isEmpty
(
context
.
getUser
()))
{
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
}
catch
(
Exception
var9
)
{
code
=
-
1
;
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
}
this
.
init
(
model
,
context
);
ret
.
setCode
(
code
);
ret
.
setData
(
model
);
ret
.
setDict
(
model
.
get
(
"dict"
));
ret
.
setMsg
(
model
.
get
(
"message_info"
)
==
null
?
""
:
model
.
remove
(
"message_info"
).
toString
());
return
ret
;
}
protected
PageInfo
buildPageInfoExt
(
AttendanceSummaryQuery
query
)
{
PageInfo
pageInfo
=
new
PageInfo
();
if
(!
ObjectUtils
.
isEmpty
(
query
)
&&
!
ObjectUtils
.
isEmpty
(
query
.
getPage
()))
{
pageInfo
.
setCurrPage
(
query
.
getPage
());
}
if
(!
ObjectUtils
.
isEmpty
(
query
)
&&
!
ObjectUtils
.
isEmpty
(
query
.
getSize
()))
{
pageInfo
.
setPrePageResult
(
query
.
getSize
());
}
return
pageInfo
;
}
}
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceStaffStatMapperExt.xml
0 → 100644
View file @
3c7f8622
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mortals.xhx.module.attendance.dao.ibatis.AttendanceStaffStatDaoImpl"
>
<select
id=
"getListExt"
parameterType=
"com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery"
resultMap=
"AttendanceStaffStatEntity-Map"
>
select s.*
from mortals_xhx_attendance_staff_stat as s
where s.staffId=#{staffId}
AND STR_TO_DATE(CONCAT(s.`year`,'-',s.`month`,'-',s.`day`),'%Y-%m-%d')
<![CDATA[ >= ]]>
STR_TO_DATE(#{summaryTimeStart},'%Y-%m-%d')
AND STR_TO_DATE(CONCAT(s.`year`,'-',s.`month`,'-',s.`day`),'%Y-%m-%d')
<![CDATA[ <= ]]>
STR_TO_DATE(#{summaryTimeEnd},'%Y-%m-%d')
</select>
</mapper>
\ No newline at end of file
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceStatMapperExt.xml
0 → 100644
View file @
3c7f8622
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mortals.xhx.module.attendance.dao.ibatis.AttendanceStatDaoImpl"
>
<select
id=
"getListExt"
parameterType=
"com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery"
resultMap=
"AttendanceStatEntity-Map"
>
SELECT * FROM (
SELECT
s.staffId,
s.staffName,
s.deptId,
s.deptName,
s.phoneNumer,
ROUND(IFNULL(sum(s.goTimes),0)/count(1),4) as attendanceRate,
sum(s.goTimes) AS goTimes,
sum(s.morningTimes) AS morningTimes,
sum(s.afternoonTimes) AS afternoonTimes,
sum(s.backToUnit) AS backToUnit,
sum(s.onDutyLeave) AS onDutyLeave,
sum(s.outOfOffice) AS outOfOffice,
sum(s.shiftCompensation) AS shiftCompensation,
sum(s.physicalExamination) AS physicalExamination,
sum(s.quarantine) AS quarantine,
sum(s.businessTrip) AS businessTrip,
sum(s.publicHoliday) AS publicHoliday,
sum(s.sickLeave) AS sickLeave,
sum(s.funeralLeave) AS funeralLeave,
sum(s.marriageLeave) AS marriageLeave,
sum(s.childRearingLeave) AS childRearingLeave,
sum(s.maternityLeave) AS maternityLeave,
sum(s.transferBack) AS transferBack,
sum(s.homeLeave) AS homeLeave,
sum(s.breastfeedingLeaveDays) AS breastfeedingLeaveDays,
sum(s.personalLeave) AS personalLeave,
sum(s.compensatedLeaveDays) AS compensatedLeaveDays,
sum(s.annualLeaveDays) AS annualLeaveDays,
sum(s.menstrualLeaveDays) AS menstrualLeaveDays,
sum(s.paternityLeaveDays) AS paternityLeaveDays,
sum(s.absenteeismDays) AS absenteeismDays,
sum(s.otherDays) AS otherDays,
sum(s.nonCompliancePunch) AS nonCompliancePunch,
sum(s.surfingMobileTimes) AS surfingMobileTimes,
sum(s.overtimeTimes) AS overtimeTimes,
sum(s.vacancy) AS vacancy,
sum(s.nonStandardDressTimes) AS nonStandardDressTimes,
sum(s.unexcusedMeetingAbsence) AS unexcusedMeetingAbsence,
sum(s.earlyLeaveMeeting) AS earlyLeaveMeeting
FROM
mortals_xhx_attendance_stat s
WHERE
STR_TO_DATE(CONCAT(s.`year`,'-',s.`month`,'-',s.`day`),'%Y-%m-%d')
<![CDATA[ >= ]]>
STR_TO_DATE(#{summaryTimeStart},'%Y-%m-%d')
AND STR_TO_DATE(CONCAT(s.`year`,'-',s.`month`,'-',s.`day`),'%Y-%m-%d')
<![CDATA[ <= ]]>
STR_TO_DATE(#{summaryTimeEnd},'%Y-%m-%d')
GROUP BY
s.staffId,
s.staffName,
s.deptId,
s.deptName,
s.phoneNumer
) AS a
</select>
<select
id=
"getListCountExt"
parameterType=
"com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery"
resultType=
"int"
>
SELECT count(1) FROM (
SELECT
s.staffId,
s.staffName,
s.deptId,
s.deptName,
s.phoneNumer,
ROUND(IFNULL(sum(s.goTimes),0)/count(1),4) as attendanceRate,
sum(s.goTimes) AS goTimes,
sum(s.morningTimes) AS morningTimes,
sum(s.afternoonTimes) AS afternoonTimes,
sum(s.backToUnit) AS backToUnit,
sum(s.onDutyLeave) AS onDutyLeave,
sum(s.outOfOffice) AS outOfOffice,
sum(s.shiftCompensation) AS shiftCompensation,
sum(s.physicalExamination) AS physicalExamination,
sum(s.quarantine) AS quarantine,
sum(s.businessTrip) AS businessTrip,
sum(s.publicHoliday) AS publicHoliday,
sum(s.sickLeave) AS sickLeave,
sum(s.funeralLeave) AS funeralLeave,
sum(s.marriageLeave) AS marriageLeave,
sum(s.childRearingLeave) AS childRearingLeave,
sum(s.maternityLeave) AS maternityLeave,
sum(s.transferBack) AS transferBack,
sum(s.homeLeave) AS homeLeave,
sum(s.breastfeedingLeaveDays) AS breastfeedingLeaveDays,
sum(s.personalLeave) AS personalLeave,
sum(s.compensatedLeaveDays) AS compensatedLeaveDays,
sum(s.annualLeaveDays) AS annualLeaveDays,
sum(s.menstrualLeaveDays) AS menstrualLeaveDays,
sum(s.paternityLeaveDays) AS paternityLeaveDays,
sum(s.absenteeismDays) AS absenteeismDays,
sum(s.otherDays) AS otherDays,
sum(s.nonCompliancePunch) AS nonCompliancePunch,
sum(s.surfingMobileTimes) AS surfingMobileTimes,
sum(s.overtimeTimes) AS overtimeTimes,
sum(s.vacancy) AS vacancy,
sum(s.nonStandardDressTimes) AS nonStandardDressTimes,
sum(s.unexcusedMeetingAbsence) AS unexcusedMeetingAbsence,
sum(s.earlyLeaveMeeting) AS earlyLeaveMeeting
FROM
mortals_xhx_attendance_stat s
WHERE
STR_TO_DATE(CONCAT(s.`year`,'-',s.`month`,'-',s.`day`),'%Y-%m-%d')
<![CDATA[ >= ]]>
STR_TO_DATE(#{summaryTimeStart},'%Y-%m-%d')
AND STR_TO_DATE(CONCAT(s.`year`,'-',s.`month`,'-',s.`day`),'%Y-%m-%d')
<![CDATA[ <= ]]>
STR_TO_DATE(#{summaryTimeEnd},'%Y-%m-%d')
GROUP BY
s.staffId,
s.staffName,
s.deptId,
s.deptName,
s.phoneNumer
) AS a
</select>
</mapper>
\ No newline at end of file
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