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
2fe57eed
Commit
2fe57eed
authored
Aug 07, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
e6d90c2c
5a42b658
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 @
2fe57eed
...
...
@@ -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 @
2fe57eed
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 @
2fe57eed
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 @
2fe57eed
...
...
@@ -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 @
2fe57eed
...
...
@@ -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 @
2fe57eed
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 @
2fe57eed
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 @
2fe57eed
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 @
2fe57eed
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 @
2fe57eed
...
...
@@ -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 @
2fe57eed
<?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 @
2fe57eed
<?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