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
4cad9a2a
Commit
4cad9a2a
authored
Apr 15, 2023
by
wenqy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
考勤模块提交
parent
56b22778
Changes
24
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
2248 additions
and
1872 deletions
+2248
-1872
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/ErrorStatusEnum.java
...ain/java/com/mortals/xhx/common/code/ErrorStatusEnum.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceClassDetailEntity.java
.../module/attendance/model/AttendanceClassDetailEntity.java
+7
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordDetailEntity.java
...module/attendance/model/AttendanceRecordDetailEntity.java
+101
-80
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordDetailQuery.java
.../module/attendance/model/AttendanceRecordDetailQuery.java
+714
-564
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordHikEntity.java
...hx/module/attendance/model/AttendanceRecordHikEntity.java
+3
-3
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceClassDetailVo.java
...x/module/attendance/model/vo/AttendanceClassDetailVo.java
+13
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceGroupVo.java
...als/xhx/module/attendance/model/vo/AttendanceGroupVo.java
+19
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordHikVo.java
...xhx/module/attendance/model/vo/AttendanceRecordHikVo.java
+8
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordVo.java
...ls/xhx/module/attendance/model/vo/AttendanceRecordVo.java
+9
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java
.../attendance/service/impl/AttendanceRecordServiceImpl.java
+20
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceClassController.java
.../xhx/module/attendance/web/AttendanceClassController.java
+16
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceClassDetailController.java
...odule/attendance/web/AttendanceClassDetailController.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceGroupController.java
.../xhx/module/attendance/web/AttendanceGroupController.java
+49
-16
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
...xhx/module/attendance/web/AttendanceRecordController.java
+2
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dept/model/DeptTreeSelect.java
...ava/com/mortals/xhx/module/dept/model/DeptTreeSelect.java
+10
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dept/model/vo/DeptVo.java
...ain/java/com/mortals/xhx/module/dept/model/vo/DeptVo.java
+6
-3
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
...mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
+18
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/job/web/JobController.java
...in/java/com/mortals/xhx/module/job/web/JobController.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
...com/mortals/xhx/module/workman/web/WorkmanController.java
+8
-1
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapper.xml
...sqlmap/module/attendance/AttendanceRecordDetailMapper.xml
+544
-490
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapper.xml
...urces/sqlmap/module/attendance/AttendanceRecordMapper.xml
+689
-688
db/menu.sql
db/menu.sql
+3
-2
db/module.sql
db/module.sql
+1
-0
doc/api.md
doc/api.md
+5
-5
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/ErrorStatusEnum.java
View file @
4cad9a2a
...
...
@@ -63,4 +63,4 @@ public enum ErrorStatusEnum {
}
return
resultMap
;
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceClassDetailEntity.java
View file @
4cad9a2a
...
...
@@ -3,6 +3,8 @@ package com.mortals.xhx.module.attendance.model;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
...
...
@@ -28,6 +30,8 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo {
/**
* 上班打卡时间
*/
@JsonFormat
(
pattern
=
"HH:mm"
)
@JSONField
(
format
=
"HH:mm"
)
private
Date
goWorkDate
;
/**
* 上班打卡前时间段,单位分钟
...
...
@@ -40,6 +44,8 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo {
/**
* 下班打卡时间
*/
@JsonFormat
(
pattern
=
"HH:mm"
)
@JSONField
(
format
=
"HH:mm"
)
private
Date
offWorkDate
;
/**
* 下班打卡前时间段,单位分钟
...
...
@@ -237,4 +243,4 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo {
this
.
remark
=
""
;
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordDetailEntity.java
View file @
4cad9a2a
...
...
@@ -8,170 +8,188 @@ import com.mortals.framework.annotation.Excel;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceRecordDetailVo
;
/**
* 考勤打卡记录详细信息实体对象
*
* @author zxfei
* @date 2023-04-07
*/
* 考勤打卡记录详细信息实体对象
*
* @author zxfei
* @date 2023-04-09
*/
public
class
AttendanceRecordDetailEntity
extends
AttendanceRecordDetailVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 考勤记录ID
*/
* 考勤记录ID
*/
private
Long
recordId
;
/**
* 班次ID
*/
* 班次ID
*/
private
Long
shiftsId
;
/**
* 班次名称
*/
* 班次名称
*/
private
String
shiftsName
;
/**
* 上班打卡时间
*/
* 上班打卡时间
*/
private
Date
goWorkDate
;
/**
* 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*/
* 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*/
private
Integer
goWorkResult
;
/**
* 下班打卡时间
*/
* 下班打卡时间
*/
private
Date
offWorkDate
;
/**
* 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*/
* 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*/
private
Integer
offWorkResult
;
/**
* 备注
*/
* 备注
*/
private
String
remark
;
/**
* 排序字段
*/
private
Integer
orderNum
;
public
AttendanceRecordDetailEntity
(){}
/**
* 获取 考勤记录ID
* @return Long
*/
* 获取 考勤记录ID
* @return Long
*/
public
Long
getRecordId
(){
return
recordId
;
}
/**
* 设置 考勤记录ID
* @param recordId
*/
* 设置 考勤记录ID
* @param recordId
*/
public
void
setRecordId
(
Long
recordId
){
this
.
recordId
=
recordId
;
}
/**
* 获取 班次ID
* @return Long
*/
* 获取 班次ID
* @return Long
*/
public
Long
getShiftsId
(){
return
shiftsId
;
}
/**
* 设置 班次ID
* @param shiftsId
*/
* 设置 班次ID
* @param shiftsId
*/
public
void
setShiftsId
(
Long
shiftsId
){
this
.
shiftsId
=
shiftsId
;
}
/**
* 获取 班次名称
* @return String
*/
* 获取 班次名称
* @return String
*/
public
String
getShiftsName
(){
return
shiftsName
;
}
/**
* 设置 班次名称
* @param shiftsName
*/
* 设置 班次名称
* @param shiftsName
*/
public
void
setShiftsName
(
String
shiftsName
){
this
.
shiftsName
=
shiftsName
;
}
/**
* 获取 上班打卡时间
* @return Date
*/
* 获取 上班打卡时间
* @return Date
*/
public
Date
getGoWorkDate
(){
return
goWorkDate
;
}
/**
* 设置 上班打卡时间
* @param goWorkDate
*/
* 设置 上班打卡时间
* @param goWorkDate
*/
public
void
setGoWorkDate
(
Date
goWorkDate
){
this
.
goWorkDate
=
goWorkDate
;
}
/**
* 获取 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @return Integer
*/
* 获取 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @return Integer
*/
public
Integer
getGoWorkResult
(){
return
goWorkResult
;
}
/**
* 设置 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @param goWorkResult
*/
* 设置 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @param goWorkResult
*/
public
void
setGoWorkResult
(
Integer
goWorkResult
){
this
.
goWorkResult
=
goWorkResult
;
}
/**
* 获取 下班打卡时间
* @return Date
*/
* 获取 下班打卡时间
* @return Date
*/
public
Date
getOffWorkDate
(){
return
offWorkDate
;
}
/**
* 设置 下班打卡时间
* @param offWorkDate
*/
* 设置 下班打卡时间
* @param offWorkDate
*/
public
void
setOffWorkDate
(
Date
offWorkDate
){
this
.
offWorkDate
=
offWorkDate
;
}
/**
* 获取 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @return Integer
*/
* 获取 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @return Integer
*/
public
Integer
getOffWorkResult
(){
return
offWorkResult
;
}
/**
* 设置 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @param offWorkResult
*/
* 设置 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
* @param offWorkResult
*/
public
void
setOffWorkResult
(
Integer
offWorkResult
){
this
.
offWorkResult
=
offWorkResult
;
}
/**
* 获取 备注
* @return String
*/
* 获取 备注
* @return String
*/
public
String
getRemark
(){
return
remark
;
}
/**
* 设置 备注
* @param remark
*/
* 设置 备注
* @param remark
*/
public
void
setRemark
(
String
remark
){
this
.
remark
=
remark
;
}
/**
* 获取 排序字段
* @return Integer
*/
public
Integer
getOrderNum
(){
return
orderNum
;
}
/**
* 设置 排序字段
* @param orderNum
*/
public
void
setOrderNum
(
Integer
orderNum
){
this
.
orderNum
=
orderNum
;
}
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
...
...
@@ -179,7 +197,7 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
if
(
obj
instanceof
AttendanceRecordDetailEntity
)
{
AttendanceRecordDetailEntity
tmp
=
(
AttendanceRecordDetailEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
return
true
;
}
}
return
false
;
...
...
@@ -195,25 +213,28 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
sb
.
append
(
",offWorkDate:"
).
append
(
getOffWorkDate
());
sb
.
append
(
",offWorkResult:"
).
append
(
getOffWorkResult
());
sb
.
append
(
",remark:"
).
append
(
getRemark
());
sb
.
append
(
",orderNum:"
).
append
(
getOrderNum
());
return
sb
.
toString
();
}
public
void
initAttrValue
(){
this
.
recordId
=
null
;
this
.
recordId
=
null
;
this
.
shiftsId
=
null
;
this
.
shiftsId
=
null
;
this
.
shiftsName
=
""
;
this
.
shiftsName
=
""
;
this
.
goWorkDate
=
null
;
this
.
goWorkDate
=
null
;
this
.
goWorkResult
=
null
;
this
.
goWorkResult
=
null
;
this
.
offWorkDate
=
null
;
this
.
offWorkDate
=
null
;
this
.
offWorkResult
=
null
;
this
.
offWorkResult
=
null
;
this
.
remark
=
""
;
this
.
remark
=
""
;
this
.
orderNum
=
1
;
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordDetailQuery.java
View file @
4cad9a2a
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordHikEntity.java
View file @
4cad9a2a
...
...
@@ -24,7 +24,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
/**
* 员工姓名
*/
@Excel
(
name
=
"
员工
姓名"
)
@Excel
(
name
=
"姓名"
)
private
String
staffName
;
/**
* 工号
...
...
@@ -70,7 +70,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
/**
* 考勤日期
*/
@Excel
(
name
=
"考勤
日期"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd
"
)
@Excel
(
name
=
"考勤
时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss
"
)
private
Date
attendanceDate
;
/**
* 考勤点名称
...
...
@@ -372,4 +372,4 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
this
.
remark
=
""
;
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceClassDetailVo.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -9,6 +11,16 @@ import java.util.List;
* @author zxfei
* @date 2023-04-08
*/
@Data
public
class
AttendanceClassDetailVo
extends
BaseEntityLong
{
}
\ No newline at end of file
//2023-04-01
/** 开始 上班打卡时间 */
private
String
goWorkDateStart
;
//2023-04-02
/** 结束 上班打卡时间 */
private
String
goWorkDateEnd
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceGroupVo.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkSpecialEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupResponsibleEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -9,6 +14,19 @@ import java.util.List;
* @author zxfei
* @date 2023-04-08
*/
@Data
public
class
AttendanceGroupVo
extends
BaseEntityLong
{
}
\ No newline at end of file
/**
* 考勤组班次实体类
*/
private
AttendanceGroupFixedworkEntity
attendanceGroupFixedworkEntity
;
/**
* 考勤组固定班次特殊日期配置
*/
private
List
<
AttendanceGroupFixedworkSpecialEntity
>
fixedworkSpecial
;
private
AttendanceGroupResponsibleEntity
groupResponsibleEntity
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordHikVo.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.model.vo
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -9,6 +12,10 @@ import java.util.List;
* @author zxfei
* @date 2023-04-08
*/
@Data
public
class
AttendanceRecordHikVo
extends
BaseEntityLong
{
}
\ No newline at end of file
@Excel
(
name
=
"所属组织"
)
private
String
orgName
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordVo.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -9,6 +12,11 @@ import java.util.List;
* @author zxfei
* @date 2023-04-07
*/
@Data
public
class
AttendanceRecordVo
extends
BaseEntityLong
{
}
\ No newline at end of file
private
List
<
AttendanceGroupFixedworkSpecialVo
>
list
;
private
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
...
...
@@ -14,6 +15,7 @@ import org.springframework.util.ObjectUtils;
import
java.util.Date
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* AttendanceRecordService
...
...
@@ -26,7 +28,23 @@ import java.util.List;
public
class
AttendanceRecordServiceImpl
extends
AbstractCRUDServiceImpl
<
AttendanceRecordDao
,
AttendanceRecordEntity
,
Long
>
implements
AttendanceRecordService
{
@Autowired
private
AttendanceRecordDetailService
attendanceRecordDetailService
;
@Override
protected
void
findAfter
(
AttendanceRecordEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
list
.
stream
().
map
(
item
->{
//chax
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailEntities
=
attendanceRecordDetailService
.
find
(
new
AttendanceRecordDetailQuery
().
recordId
(
item
.
getId
()));
item
.
setAttendanceRecordDetailList
(
attendanceRecordDetailEntities
);
return
item
;
}).
collect
(
Collectors
.
toList
());
super
.
findAfter
(
params
,
pageInfo
,
context
,
list
);
}
@Override
protected
void
saveAfter
(
AttendanceRecordEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getAttendanceRecordDetailList
())){
...
...
@@ -66,4 +84,4 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
attendanceRecordDetailService
.
removeList
(
attendanceRecordDetaillist
,
context
);
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceClassController.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.web
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity
;
import
com.mortals.xhx.module.workman.model.WorkmanEntity
;
import
com.mortals.xhx.module.workman.model.WorkmanQuery
;
import
com.mortals.xhx.module.workman.service.WorkmanService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -13,12 +18,10 @@ import com.mortals.xhx.module.attendance.model.AttendanceClassEntity;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Arrays
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
...
...
@@ -35,6 +38,8 @@ public class AttendanceClassController extends BaseCRUDJsonBodyMappingController
@Autowired
private
ParamService
paramService
;
@Autowired
private
WorkmanService
workmanService
;
public
AttendanceClassController
(){
super
.
setModuleDesc
(
"考勤班次信息"
);
...
...
@@ -42,8 +47,13 @@ public class AttendanceClassController extends BaseCRUDJsonBodyMappingController
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"workManId"
,
workmanService
.
find
(
new
WorkmanQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getName
(),(
o
,
n
)->
n
)));
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
@Override
protected
void
saveBefore
(
AttendanceClassEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
entity
.
setClassResponsiblePersonName
(
workmanService
.
selectOne
(
new
WorkmanQuery
().
id
(
entity
.
getClassResponsiblePersonId
())).
getName
());
super
.
saveBefore
(
entity
,
model
,
context
);
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceClassDetailController.java
View file @
4cad9a2a
...
...
@@ -46,4 +46,4 @@ public class AttendanceClassDetailController extends BaseCRUDJsonBodyMappingCont
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceGroupController.java
View file @
4cad9a2a
package
com.mortals.xhx.module.attendance.web
;
import
cn.hutool.core.stream.CollectorUtil
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.attendance.model.*
;
import
com.mortals.xhx.module.attendance.service.*
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.DeptTreeSelect
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.workman.model.WorkmanQuery
;
import
com.mortals.xhx.module.workman.service.WorkmanService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.mortals.framework.model.Context
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupEntity
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupService
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Arrays
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
/**
*
* 考勤组信息
...
...
@@ -35,6 +33,18 @@ public class AttendanceGroupController extends BaseCRUDJsonBodyMappingController
@Autowired
private
ParamService
paramService
;
@Autowired
private
WorkmanService
workmanService
;
@Autowired
private
AttendanceClassService
attendanceClassService
;
@Autowired
private
DeptService
deptService
;
@Autowired
private
AttendanceGroupFixedworkService
attendanceGroupFixedworkService
;
@Autowired
private
AttendanceGroupFixedworkSpecialService
specialService
;
@Autowired
private
AttendanceGroupResponsibleService
groupResponsibleService
;
public
AttendanceGroupController
(){
super
.
setModuleDesc
(
"考勤组信息"
);
...
...
@@ -44,8 +54,31 @@ public class AttendanceGroupController extends BaseCRUDJsonBodyMappingController
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"type"
,
paramService
.
getParamBySecondOrganize
(
"AttendanceGroup"
,
"type"
));
this
.
addDict
(
model
,
"attendanceType"
,
paramService
.
getParamBySecondOrganize
(
"AttendanceGroup"
,
"attendanceType"
));
List
<
DeptEntity
>
list
=
deptService
.
find
(
new
DeptQuery
());
List
<
DeptTreeSelect
>
treeSelects
=
deptService
.
buildDeptTreeSelect
(
list
);
this
.
addDict
(
model
,
"deptId"
,
treeSelects
);
List
<
AttendanceClassEntity
>
attendanceClassEntities
=
attendanceClassService
.
find
(
new
AttendanceClassQuery
());
this
.
addDict
(
model
,
"classId"
,
attendanceClassEntities
);
this
.
addDict
(
model
,
"workMan"
,
workmanService
.
find
(
new
WorkmanQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getName
(),(
o
,
n
)->
n
)));
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
@Override
protected
int
saveAfter
(
AttendanceGroupEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
entity
.
getAttendanceGroupFixedworkEntity
().
setGroupId
(
entity
.
getId
());
entity
.
getAttendanceGroupFixedworkEntity
().
setGroupName
(
entity
.
getGroupName
());
AttendanceGroupFixedworkEntity
save
=
attendanceGroupFixedworkService
.
save
(
entity
.
getAttendanceGroupFixedworkEntity
());
List
<
AttendanceGroupFixedworkSpecialEntity
>
fixedworkSpecial
=
entity
.
getFixedworkSpecial
();
if
(
fixedworkSpecial
!=
null
&&
fixedworkSpecial
.
size
()>
0
){
fixedworkSpecial
.
forEach
(
item
->{
item
.
setFixedWorkId
(
save
.
getId
());
});
}
specialService
.
save
(
fixedworkSpecial
);
AttendanceGroupResponsibleEntity
responsibleEntity
=
entity
.
getGroupResponsibleEntity
();
responsibleEntity
.
setGroupId
(
entity
.
getId
());
responsibleEntity
.
setGroupName
(
entity
.
getGroupName
());
groupResponsibleService
.
save
(
responsibleEntity
);
return
super
.
saveAfter
(
entity
,
model
,
context
);
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
View file @
4cad9a2a
...
...
@@ -46,4 +46,5 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dept/model/DeptTreeSelect.java
View file @
4cad9a2a
...
...
@@ -4,10 +4,12 @@ import java.util.List;
import
java.util.ArrayList
;
import
com.mortals.xhx.module.dept.model.vo.DeptVo
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
lombok.Data
;
import
org.springframework.util.ObjectUtils
;
import
java.io.Serializable
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 部门信息前端映射树结构实体类
...
...
@@ -35,12 +37,19 @@ public class DeptTreeSelect implements Serializable {
@JsonInclude
(
JsonInclude
.
Include
.
NON_EMPTY
)
private
List
<
DeptTreeSelect
>
children
;
/**
* 子节点
*/
@JsonInclude
(
JsonInclude
.
Include
.
NON_EMPTY
)
private
List
<
Map
<
String
,
Object
>>
personList
;
public
DeptTreeSelect
(
DeptEntity
entity
)
{
this
.
id
=
entity
.
getId
();
this
.
label
=
entity
.
getDeptName
();
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getChildren
())){
this
.
children
=
entity
.
getChildren
().
stream
().
map
(
DeptTreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
}
this
.
personList
=
entity
.
getPersonList
();
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dept/model/vo/DeptVo.java
View file @
4cad9a2a
package
com.mortals.xhx.module.dept.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
/**
* 部门信息视图对象
*
...
...
@@ -16,7 +19,7 @@ public class DeptVo extends BaseEntityLong {
/** 子部门信息 */
private
List
<
DeptEntity
>
children
=
new
ArrayList
<>();
/** 子节点人员信息 */
private
List
<
Map
<
String
,
Object
>>
personList
=
new
ArrayList
<>();
//成员数量
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
View file @
4cad9a2a
package
com.mortals.xhx.module.dept.service.impl
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
...
...
@@ -25,6 +29,9 @@ import java.util.stream.Collectors;
@Service
(
"deptService"
)
public
class
DeptServiceImpl
extends
AbstractCRUDServiceImpl
<
DeptDao
,
DeptEntity
,
Long
>
implements
DeptService
{
@Autowired
private
StaffService
staffService
;
@Override
protected
void
saveBefore
(
DeptEntity
entity
,
Context
context
)
throws
AppException
{
if
(
ObjectUtils
.
isEmpty
(
entity
.
getParentId
())){
...
...
@@ -129,7 +136,16 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity
for
(
Iterator
<
DeptEntity
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();
)
{
DeptEntity
deptEntity
=
iterator
.
next
();
List
<
StaffEntity
>
staffEntities
=
staffService
.
find
(
new
StaffQuery
().
deptId
(
deptEntity
.
getId
()));
List
<
Map
<
String
,
Object
>>
personList
=
new
ArrayList
<>();
staffEntities
.
forEach
(
item
->{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"staffId"
,
item
.
getId
());
map
.
put
(
"staffName"
,
item
.
getName
());
map
.
put
(
"deptId"
,
item
.
getDeptId
());
personList
.
add
(
map
);
});
deptEntity
.
setPersonList
(
personList
);
if
(!
tempList
.
contains
(
deptEntity
.
getParentId
()))
{
recursionFn
(
list
,
deptEntity
);
returnList
.
add
(
deptEntity
);
...
...
@@ -198,4 +214,4 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity
return
dao
.
queryDeptParentId
(
deptId
);
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/job/web/JobController.java
View file @
4cad9a2a
...
...
@@ -42,4 +42,4 @@ public class JobController extends BaseCRUDJsonBodyMappingController<JobService,
super
.
doImportDataBefore
(
list
,
updateSupport
,
context
);
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
View file @
4cad9a2a
...
...
@@ -55,4 +55,11 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
deptEntity
.
setWorkName
(
entity
.
getName
());
return
super
.
saveAfter
(
entity
,
model
,
context
);
}
}
\ No newline at end of file
@Override
protected
void
saveBefore
(
WorkmanEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
DeptEntity
deptEntity
=
deptService
.
selectOne
(
new
DeptQuery
().
id
(
entity
.
getDeptId
()));
entity
.
setDeptName
(
deptEntity
.
getDeptName
());
super
.
saveBefore
(
entity
,
model
,
context
);
}
}
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapper.xml
View file @
4cad9a2a
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapper.xml
View file @
4cad9a2a
This diff is collapsed.
Click to expand it.
db/menu.sql
View file @
4cad9a2a
...
...
@@ -230,9 +230,10 @@ INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤组信息-菜单管理-
-- ----------------------------
-- 考勤组信息参数 SQL
-- ----------------------------
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'类型'
,
'AttendanceGroup'
,
'type'
,
'1'
,
'固定班
指
'
,
1
,
4
,
0
,
'type'
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'类型'
,
'AttendanceGroup'
,
'type'
,
'1'
,
'固定班
制
'
,
1
,
4
,
0
,
'type'
,
NULL
,
NULL
,
NULL
);
-- ----------------------------
-- 考勤班次信息菜单 SQL
-- ----------------------------
INSERT
INTO
`mortals_xhx_menu`
VALUES
(
null
,
'考勤班次信息'
,
'/attendance/class/list'
,
0
,
1
,
1
,
0
,
0
,
''
,
NULL
,
NULL
,
NULL
,
0
,
0
,
1
,
NULL
,
NULL
,
NULL
);
...
...
@@ -569,4 +570,4 @@ INSERT INTO `mortals_xhx_param` VALUES (null, '请假类型', 'AttendanceVacatio
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'请假类型'
,
'AttendanceVacationRecord'
,
'type'
,
'20'
,
'调回单位'
,
1
,
4
,
0
,
'type'
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'请假类型'
,
'AttendanceVacationRecord'
,
'type'
,
'21'
,
'探亲假'
,
1
,
4
,
0
,
'type'
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'增减类型'
,
'AttendanceVacationRecord'
,
'subAddType'
,
'1'
,
'增加'
,
1
,
4
,
0
,
'subAddType'
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'增减类型'
,
'AttendanceVacationRecord'
,
'subAddType'
,
'2'
,
'扣除'
,
1
,
4
,
0
,
'subAddType'
,
NULL
,
NULL
,
NULL
);
\ No newline at end of file
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'增减类型'
,
'AttendanceVacationRecord'
,
'subAddType'
,
'2'
,
'扣除'
,
1
,
4
,
0
,
'subAddType'
,
NULL
,
NULL
,
NULL
);
db/module.sql
View file @
4cad9a2a
...
...
@@ -329,6 +329,7 @@ PRIMARY KEY (`id`)
-- ----------------------------
-- 请假记录信息表
-- ----------------------------
...
...
doc/api.md
View file @
4cad9a2a
...
...
@@ -6925,7 +6925,7 @@ data|object|数据对象
  
groupName|String|考勤组名称
  
personNum|Integer|人数
  
responsiblePerson|String|负责人
  
type|Integer|类型(1.固定班
指
)
  
type|Integer|类型(1.固定班
制
)
  
attendanceTime|Integer|考勤时间
  
remark|String|备注
  
createUserId|Long|创建用户
...
...
@@ -6975,7 +6975,7 @@ data|object|数据对象
 
groupName|String|考勤组名称
 
personNum|Integer|人数
 
responsiblePerson|String|负责人
 
type|Integer|类型(1.固定班
指
)
 
type|Integer|类型(1.固定班
制
)
 
attendanceTime|Integer|考勤时间
 
remark|String|备注
 
createUserId|Long|创建用户
...
...
@@ -7022,7 +7022,7 @@ dict|object|字典对象
groupName|String|否|考勤组名称
personNum|Integer|否|人数
responsiblePerson|String|否|负责人
type|Integer|否|类型(1.固定班
指
)
type|Integer|否|类型(1.固定班
制
)
attendanceTime|Integer|否|考勤时间
remark|String|否|备注
...
...
@@ -7051,7 +7051,7 @@ data|object|数据对象
  
groupName|String|考勤组名称
  
personNum|Integer|人数
  
responsiblePerson|String|负责人
  
type|Integer|类型(1.固定班
指
)
  
type|Integer|类型(1.固定班
制
)
  
attendanceTime|Integer|考勤时间
  
remark|String|备注
  
createUserId|Long|创建用户
...
...
@@ -10707,7 +10707,7 @@ msg|String|消息|-
### type
字典参数key|字典参数值|其它
:---|:---|:---
1|固定班
指
|-
1|固定班
制
|-
### leaveType
字典参数key|字典参数值|其它
:---|:---|:---
...
...
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