Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
isoft_psa
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王飞
isoft_psa
Commits
080b9ad0
Commit
080b9ad0
authored
Mar 07, 2025
by
ZhangRunSong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:考勤打卡
parent
a00ea9fc
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
984 additions
and
197 deletions
+984
-197
pom.xml
ruoyi-psa/pom.xml
+22
-0
AttendanceClockController.java
...uoyi/attendance/controller/AttendanceClockController.java
+116
-0
AttendanceClock.java
...ain/java/com/ruoyi/attendance/domain/AttendanceClock.java
+178
-0
AttendanceDelFlag.java
...in/java/com/ruoyi/attendance/enums/AttendanceDelFlag.java
+26
-0
AttendanceDraft.java
...main/java/com/ruoyi/attendance/enums/AttendanceDraft.java
+24
-0
AttendanceFlag.java
.../main/java/com/ruoyi/attendance/enums/AttendanceFlag.java
+31
-0
AttendanceStatus.java
...ain/java/com/ruoyi/attendance/enums/AttendanceStatus.java
+34
-0
AttendanceTimeDifference.java
.../com/ruoyi/attendance/enums/AttendanceTimeDifference.java
+27
-0
AttendanceClockMapper.java
...va/com/ruoyi/attendance/mapper/AttendanceClockMapper.java
+70
-0
IAttendanceClockService.java
...com/ruoyi/attendance/service/IAttendanceClockService.java
+67
-0
AttendanceClockServiceImpl.java
...i/attendance/service/impl/AttendanceClockServiceImpl.java
+255
-0
AttendanceClockMapper.xml
...src/main/resources/mapper/clock/AttendanceClockMapper.xml
+134
-0
PsaAttendanceClock.java
...main/java/com/ruoyi/system/domain/PsaAttendanceClock.java
+0
-102
PsaAttendanceClockServiceImpl.java
...yi/system/service/impl/PsaAttendanceClockServiceImpl.java
+0
-95
No files found.
ruoyi-psa/pom.xml
View file @
080b9ad0
...
@@ -24,6 +24,28 @@
...
@@ -24,6 +24,28 @@
<groupId>
com.ruoyi
</groupId>
<groupId>
com.ruoyi
</groupId>
<artifactId>
ruoyi-system
</artifactId>
<artifactId>
ruoyi-system
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
RELEASE
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.83
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
ooxml-schemas
</artifactId>
<version>
1.4
</version>
</dependency>
</dependencies>
</dependencies>
<properties>
<properties>
<maven.compiler.source>
17
</maven.compiler.source>
<maven.compiler.source>
17
</maven.compiler.source>
...
...
ruoyi-
admin/src/main/java/com/ruoyi/web/controller/system/Psa
AttendanceClockController.java
→
ruoyi-
psa/src/main/java/com/ruoyi/attendance/controller/
AttendanceClockController.java
View file @
080b9ad0
package
com
.
ruoyi
.
web
.
controller
.
system
;
package
com
.
ruoyi
.
attendance
.
controller
;
import
java.util.List
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
com.ruoyi.attendance.domain.AttendanceClock
;
import
com.ruoyi.attendance.service.IAttendanceClockService
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.system.domain.PsaAttendanceClock
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.system.service.IPsaAttendanceClockServic
e
;
import
org.springframework.web.multipart.MultipartFil
e
;
/**
/**
* 考勤打卡Controller
* 考勤打卡Controller
*
*
* @author ruoyi
* @author ruoyi
* @date 2025-0
2-2
4
* @date 2025-0
3-0
4
*/
*/
@RestController
@RestController
@RequestMapping
(
"/
system/attendance
/clock"
)
@RequestMapping
(
"/
psa
/clock"
)
public
class
Psa
AttendanceClockController
extends
BaseController
public
class
AttendanceClockController
extends
BaseController
{
{
@Autowired
@Autowired
private
I
PsaAttendanceClockService
psaA
ttendanceClockService
;
private
I
AttendanceClockService
a
ttendanceClockService
;
/**
/**
* 查询考勤打卡列表
* 查询考勤打卡列表
*/
*/
@PreAuthorize
(
"@ss.hasPermi('
attendance
:clock:list')"
)
@PreAuthorize
(
"@ss.hasPermi('
psa
:clock:list')"
)
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
PsaAttendanceClock
psaA
ttendanceClock
)
public
TableDataInfo
list
(
AttendanceClock
a
ttendanceClock
)
{
{
startPage
();
startPage
();
List
<
PsaAttendanceClock
>
list
=
psaAttendanceClockService
.
selectPsaAttendanceClockList
(
psaA
ttendanceClock
);
List
<
AttendanceClock
>
list
=
attendanceClockService
.
selectAttendanceClockList
(
a
ttendanceClock
);
return
getDataTable
(
list
);
return
getDataTable
(
list
);
}
}
/**
/**
* 导出考勤打卡列表
* 导出考勤打卡列表
*/
*/
@PreAuthorize
(
"@ss.hasPermi('
attendance
:clock:export')"
)
@PreAuthorize
(
"@ss.hasPermi('
psa
:clock:export')"
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
EXPORT
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
PsaAttendanceClock
psaA
ttendanceClock
)
public
void
export
(
HttpServletResponse
response
,
AttendanceClock
a
ttendanceClock
)
{
{
List
<
PsaAttendanceClock
>
list
=
psaAttendanceClockService
.
selectPsaAttendanceClockList
(
psaA
ttendanceClock
);
List
<
AttendanceClock
>
list
=
attendanceClockService
.
selectAttendanceClockList
(
a
ttendanceClock
);
ExcelUtil
<
PsaAttendanceClock
>
util
=
new
ExcelUtil
<
PsaAttendanceClock
>(
Psa
AttendanceClock
.
class
);
ExcelUtil
<
AttendanceClock
>
util
=
new
ExcelUtil
<
AttendanceClock
>(
AttendanceClock
.
class
);
util
.
exportExcel
(
response
,
list
,
"考勤打卡数据"
);
util
.
exportExcel
(
response
,
list
,
"考勤打卡数据"
);
}
}
/**
* 导入考勤打卡列表
*/
@PreAuthorize
(
"@ss.hasPermi('psa:clock:import')"
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
IMPORT
)
@PostMapping
(
"/import"
)
public
AjaxResult
importList
(
@RequestParam
(
"file"
)
MultipartFile
file
)
{
try
{
attendanceClockService
.
importAttendanceData
(
file
);
return
success
(
"Excel导入成功!"
);
}
catch
(
Exception
e
)
{
return
error
(
"导入失败:"
+
e
.
getMessage
());
}
}
/**
/**
* 获取考勤打卡详细信息
* 获取考勤打卡详细信息
*/
*/
@PreAuthorize
(
"@ss.hasPermi('
attendance
:clock:query')"
)
@PreAuthorize
(
"@ss.hasPermi('
psa
:clock:query')"
)
@GetMapping
(
value
=
"/{id}"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
{
return
success
(
psaAttendanceClockService
.
selectPsa
AttendanceClockById
(
id
));
return
success
(
attendanceClockService
.
select
AttendanceClockById
(
id
));
}
}
/**
/**
* 新增考勤打卡
* 新增考勤打卡
*/
*/
@PreAuthorize
(
"@ss.hasPermi('
attendance
:clock:add')"
)
@PreAuthorize
(
"@ss.hasPermi('
psa
:clock:add')"
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
INSERT
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
@PostMapping
public
AjaxResult
add
(
@RequestBody
PsaAttendanceClock
psaA
ttendanceClock
)
public
AjaxResult
add
(
@RequestBody
AttendanceClock
a
ttendanceClock
)
{
{
return
toAjax
(
psaAttendanceClockService
.
insertPsaAttendanceClock
(
psaA
ttendanceClock
));
return
toAjax
(
attendanceClockService
.
insertAttendanceClock
(
a
ttendanceClock
));
}
}
/**
/**
* 修改考勤打卡
* 修改考勤打卡
*/
*/
@PreAuthorize
(
"@ss.hasPermi('
attendance
:clock:edit')"
)
@PreAuthorize
(
"@ss.hasPermi('
psa
:clock:edit')"
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
UPDATE
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
@PutMapping
public
AjaxResult
edit
(
@RequestBody
PsaAttendanceClock
psaA
ttendanceClock
)
public
AjaxResult
edit
(
@RequestBody
AttendanceClock
a
ttendanceClock
)
{
{
return
toAjax
(
psaAttendanceClockService
.
updatePsaAttendanceClock
(
psaA
ttendanceClock
));
return
toAjax
(
attendanceClockService
.
updateAttendanceClock
(
a
ttendanceClock
));
}
}
/**
/**
* 删除考勤打卡
* 删除考勤打卡
*/
*/
@PreAuthorize
(
"@ss.hasPermi('
attendance
:clock:remove')"
)
@PreAuthorize
(
"@ss.hasPermi('
psa
:clock:remove')"
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
DELETE
)
@Log
(
title
=
"考勤打卡"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
{
return
toAjax
(
psaAttendanceClockService
.
deletePsa
AttendanceClockByIds
(
ids
));
return
toAjax
(
attendanceClockService
.
delete
AttendanceClockByIds
(
ids
));
}
}
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/domain/AttendanceClock.java
0 → 100644
View file @
080b9ad0
package
com
.
ruoyi
.
attendance
.
domain
;
import
java.sql.Time
;
import
java.time.LocalDate
;
import
java.time.LocalTime
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Getter
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.core.domain.BaseEntity
;
/**
* 考勤打卡对象 attendance_clock
*
* @author ruoyi
* @date 2025-03-04
*/
@Getter
@TableName
(
"attendance_clock"
)
public
class
AttendanceClock
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
id
;
/** 工号ID */
private
String
employeeId
;
/** 关联用户表主键user_id */
private
Long
userId
;
/** 关联部门表主键dept_id */
private
Long
deptId
;
/** 关联项目表主键 */
private
Long
projectId
;
/** 姓名 */
@Excel
(
name
=
"姓名"
)
private
String
employeeName
;
/** 部门 */
@Excel
(
name
=
"部门"
)
private
String
departmentName
;
/** 打卡日期 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"打卡日期"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
LocalDate
candidateDate
;
/** 打卡时段 */
@Excel
(
name
=
"打卡时段"
)
private
String
isClock
;
/** 打卡时间 */
@JsonFormat
(
pattern
=
"HH:mm"
,
timezone
=
"GMT+8"
)
@Excel
(
name
=
"打卡时间"
,
width
=
30
,
dateFormat
=
"HH:mm"
)
private
LocalTime
clockTime
;
/** 打卡状态 */
@Excel
(
name
=
"打卡状态"
)
private
String
checkInStatus
;
/** 提交人 */
private
String
creatBy
;
/** 创建时间 */
private
LocalDate
creatTime
;
/** 草稿箱 0:否 1:是 */
private
String
draft
;
/** 删除标记 0:否 1:是 */
private
String
delFlag
;
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
void
setEmployeeId
(
String
employeeId
)
{
this
.
employeeId
=
employeeId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
void
setDeptId
(
Long
deptId
)
{
this
.
deptId
=
deptId
;
}
public
void
setProjectId
(
Long
projectId
)
{
this
.
projectId
=
projectId
;
}
public
void
setEmployeeName
(
String
employeeName
)
{
this
.
employeeName
=
employeeName
;
}
public
void
setDepartmentName
(
String
departmentName
)
{
this
.
departmentName
=
departmentName
;
}
public
void
setCandidateDate
(
LocalDate
candidateDate
)
{
this
.
candidateDate
=
candidateDate
;
}
public
void
setIsClock
(
String
isClock
)
{
this
.
isClock
=
isClock
;
}
public
void
setClockTime
(
LocalTime
clockTime
)
{
this
.
clockTime
=
clockTime
;
}
public
void
setCheckInStatus
(
String
checkInStatus
)
{
this
.
checkInStatus
=
checkInStatus
;
}
public
void
setCreatBy
(
String
creatBy
)
{
this
.
creatBy
=
creatBy
;
}
public
void
setCreatTime
(
LocalDate
creatTime
)
{
this
.
creatTime
=
creatTime
;
}
public
void
setDraft
(
String
draft
)
{
this
.
draft
=
draft
;
}
public
void
setDelFlag
(
String
delFlag
)
{
this
.
delFlag
=
delFlag
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"employeeId"
,
getEmployeeId
())
.
append
(
"userId"
,
getUserId
())
.
append
(
"deptId"
,
getDeptId
())
.
append
(
"projectId"
,
getProjectId
())
.
append
(
"employeeName"
,
getEmployeeName
())
.
append
(
"departmentName"
,
getDepartmentName
())
.
append
(
"candidateDate"
,
getCandidateDate
())
.
append
(
"isClock"
,
getIsClock
())
.
append
(
"clockTime"
,
getClockTime
())
.
append
(
"checkInStatus"
,
getCheckInStatus
())
.
append
(
"creatBy"
,
getCreatBy
())
.
append
(
"creatTime"
,
getCreatTime
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"draft"
,
getDraft
())
.
append
(
"delFlag"
,
getDelFlag
())
.
toString
();
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/enums/AttendanceDelFlag.java
0 → 100644
View file @
080b9ad0
package
com
.
ruoyi
.
attendance
.
enums
;
import
lombok.Getter
;
@Getter
public
enum
AttendanceDelFlag
{
/**
* 存在
*/
EXIST
(
"0"
,
"存在"
),
/**
* 删除
*/
DELETE
(
"1"
,
"删除"
);
private
final
String
value
;
private
final
String
desc
;
AttendanceDelFlag
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/enums/AttendanceDraft.java
0 → 100644
View file @
080b9ad0
package
com
.
ruoyi
.
attendance
.
enums
;
import
lombok.Getter
;
@Getter
public
enum
AttendanceDraft
{
/**
* 不是草稿
*/
NO
(
"0"
,
"否"
),
/**
* 是草稿
*/
YES
(
"1"
,
"是"
);
private
final
String
value
;
private
final
String
desc
;
AttendanceDraft
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/enums/AttendanceFlag.java
0 → 100644
View file @
080b9ad0
package
com
.
ruoyi
.
attendance
.
enums
;
import
lombok.Getter
;
@Getter
public
enum
AttendanceFlag
{
/**
* 导入
*/
IMPORT
(
"0"
,
"导入"
),
/**
* 外勤
*/
OUTWORK
(
"1"
,
"外勤"
),
/**
* 补卡
*/
REPAIR
(
"2"
,
"补卡"
),
;
private
final
String
value
;
private
final
String
desc
;
AttendanceFlag
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/enums/AttendanceStatus.java
0 → 100644
View file @
080b9ad0
package
com
.
ruoyi
.
attendance
.
enums
;
import
lombok.Getter
;
@Getter
public
enum
AttendanceStatus
{
/**
* 正常签到
*/
ZCQD
(
"0"
,
"正常签到"
),
/**
* 早退
*/
ZT
(
"1"
,
"早退"
),
/**
* 迟到
*/
CD
(
"2"
,
"迟到"
),
/**
* 正常签退
*/
ZCQT
(
"3"
,
"正常签退"
);
private
final
String
value
;
private
final
String
desc
;
AttendanceStatus
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/enums/AttendanceTimeDifference.java
0 → 100644
View file @
080b9ad0
package
com
.
ruoyi
.
attendance
.
enums
;
import
lombok.Getter
;
@Getter
public
enum
AttendanceTimeDifference
{
/**
* 不是当前时段
*/
AM
(
"0"
,
"上班打卡"
),
/**
* 是当前时段
*/
PM
(
"1"
,
"下班打卡"
);
private
final
String
value
;
private
final
String
desc
;
AttendanceTimeDifference
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
}
ruoyi-
system/src/main/java/com/ruoyi/system/mapper/Psa
AttendanceClockMapper.java
→
ruoyi-
psa/src/main/java/com/ruoyi/attendance/mapper/
AttendanceClockMapper.java
View file @
080b9ad0
package
com
.
ruoyi
.
system
.
mapper
;
package
com
.
ruoyi
.
attendance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.ruoyi.attendance.domain.AttendanceClock
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
import
java.util.List
;
import
com.ruoyi.system.domain.PsaAttendanceClock
;
/**
/**
* 考勤打卡Mapper接口
* 考勤打卡Mapper接口
*
*
* @author ruoyi
* @author ruoyi
* @date 2025-0
2-2
4
* @date 2025-0
3-0
4
*/
*/
public
interface
PsaAttendanceClockMapper
@Mapper
public
interface
AttendanceClockMapper
extends
BaseMapper
<
AttendanceClock
>
{
{
/**
/**
* 查询考勤打卡
* 查询考勤打卡
...
@@ -17,31 +22,31 @@ public interface PsaAttendanceClockMapper
...
@@ -17,31 +22,31 @@ public interface PsaAttendanceClockMapper
* @param id 考勤打卡主键
* @param id 考勤打卡主键
* @return 考勤打卡
* @return 考勤打卡
*/
*/
public
PsaAttendanceClock
selectPsa
AttendanceClockById
(
Long
id
);
public
AttendanceClock
select
AttendanceClockById
(
Long
id
);
/**
/**
* 查询考勤打卡列表
* 查询考勤打卡列表
*
*
* @param
psaA
ttendanceClock 考勤打卡
* @param
a
ttendanceClock 考勤打卡
* @return 考勤打卡集合
* @return 考勤打卡集合
*/
*/
public
List
<
PsaAttendanceClock
>
selectPsaAttendanceClockList
(
PsaAttendanceClock
psaA
ttendanceClock
);
public
List
<
AttendanceClock
>
selectAttendanceClockList
(
AttendanceClock
a
ttendanceClock
);
/**
/**
* 新增考勤打卡
* 新增考勤打卡
*
*
* @param
psaA
ttendanceClock 考勤打卡
* @param
a
ttendanceClock 考勤打卡
* @return 结果
* @return 结果
*/
*/
public
int
insert
PsaAttendanceClock
(
PsaAttendanceClock
psaA
ttendanceClock
);
public
int
insert
AttendanceClock
(
AttendanceClock
a
ttendanceClock
);
/**
/**
* 修改考勤打卡
* 修改考勤打卡
*
*
* @param
psaA
ttendanceClock 考勤打卡
* @param
a
ttendanceClock 考勤打卡
* @return 结果
* @return 结果
*/
*/
public
int
update
PsaAttendanceClock
(
PsaAttendanceClock
psaA
ttendanceClock
);
public
int
update
AttendanceClock
(
AttendanceClock
a
ttendanceClock
);
/**
/**
* 删除考勤打卡
* 删除考勤打卡
...
@@ -49,7 +54,7 @@ public interface PsaAttendanceClockMapper
...
@@ -49,7 +54,7 @@ public interface PsaAttendanceClockMapper
* @param id 考勤打卡主键
* @param id 考勤打卡主键
* @return 结果
* @return 结果
*/
*/
public
int
delete
Psa
AttendanceClockById
(
Long
id
);
public
int
deleteAttendanceClockById
(
Long
id
);
/**
/**
* 批量删除考勤打卡
* 批量删除考勤打卡
...
@@ -57,5 +62,9 @@ public interface PsaAttendanceClockMapper
...
@@ -57,5 +62,9 @@ public interface PsaAttendanceClockMapper
* @param ids 需要删除的数据主键集合
* @param ids 需要删除的数据主键集合
* @return 结果
* @return 结果
*/
*/
public
int
deletePsaAttendanceClockByIds
(
Long
[]
ids
);
public
int
deleteAttendanceClockByIds
(
Long
[]
ids
);
/**
* 批量导入
*/
void
batchInsertAttendanceClock
(
List
<
AttendanceClock
>
records
);
}
}
ruoyi-
system/src/main/java/com/ruoyi/system/service/IPsa
AttendanceClockService.java
→
ruoyi-
psa/src/main/java/com/ruoyi/attendance/service/I
AttendanceClockService.java
View file @
080b9ad0
package
com
.
ruoyi
.
system
.
service
;
package
com
.
ruoyi
.
attendance
.
service
;
import
com.ruoyi.attendance.domain.AttendanceClock
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.List
;
import
com.ruoyi.system.domain.PsaAttendanceClock
;
/**
/**
* 考勤打卡Service接口
* 考勤打卡Service接口
*
*
* @author ruoyi
* @author ruoyi
* @date 2025-0
2-2
4
* @date 2025-0
3-0
4
*/
*/
public
interface
IAttendanceClockService
public
interface
IPsaAttendanceClockService
{
{
/**
/**
* 查询考勤打卡
* 查询考勤打卡
...
@@ -18,31 +21,31 @@ public interface IPsaAttendanceClockService
...
@@ -18,31 +21,31 @@ public interface IPsaAttendanceClockService
* @param id 考勤打卡主键
* @param id 考勤打卡主键
* @return 考勤打卡
* @return 考勤打卡
*/
*/
public
PsaAttendanceClock
selectPsa
AttendanceClockById
(
Long
id
);
public
AttendanceClock
select
AttendanceClockById
(
Long
id
);
/**
/**
* 查询考勤打卡列表
* 查询考勤打卡列表
*
*
* @param
psaA
ttendanceClock 考勤打卡
* @param
a
ttendanceClock 考勤打卡
* @return 考勤打卡集合
* @return 考勤打卡集合
*/
*/
public
List
<
PsaAttendanceClock
>
selectPsaAttendanceClockList
(
PsaAttendanceClock
psaA
ttendanceClock
);
public
List
<
AttendanceClock
>
selectAttendanceClockList
(
AttendanceClock
a
ttendanceClock
);
/**
/**
* 新增考勤打卡
* 新增考勤打卡
*
*
* @param
psaA
ttendanceClock 考勤打卡
* @param
a
ttendanceClock 考勤打卡
* @return 结果
* @return 结果
*/
*/
public
int
insert
PsaAttendanceClock
(
PsaAttendanceClock
psaA
ttendanceClock
);
public
int
insert
AttendanceClock
(
AttendanceClock
a
ttendanceClock
);
/**
/**
* 修改考勤打卡
* 修改考勤打卡
*
*
* @param
psaA
ttendanceClock 考勤打卡
* @param
a
ttendanceClock 考勤打卡
* @return 结果
* @return 结果
*/
*/
public
int
update
PsaAttendanceClock
(
PsaAttendanceClock
psaA
ttendanceClock
);
public
int
update
AttendanceClock
(
AttendanceClock
a
ttendanceClock
);
/**
/**
* 批量删除考勤打卡
* 批量删除考勤打卡
...
@@ -50,7 +53,7 @@ public interface IPsaAttendanceClockService
...
@@ -50,7 +53,7 @@ public interface IPsaAttendanceClockService
* @param ids 需要删除的考勤打卡主键集合
* @param ids 需要删除的考勤打卡主键集合
* @return 结果
* @return 结果
*/
*/
public
int
delete
Psa
AttendanceClockByIds
(
Long
[]
ids
);
public
int
deleteAttendanceClockByIds
(
Long
[]
ids
);
/**
/**
* 删除考勤打卡信息
* 删除考勤打卡信息
...
@@ -58,5 +61,7 @@ public interface IPsaAttendanceClockService
...
@@ -58,5 +61,7 @@ public interface IPsaAttendanceClockService
* @param id 考勤打卡主键
* @param id 考勤打卡主键
* @return 结果
* @return 结果
*/
*/
public
int
deletePsaAttendanceClockById
(
Long
id
);
public
int
deleteAttendanceClockById
(
Long
id
);
void
importAttendanceData
(
MultipartFile
file
)
throws
IOException
;
}
}
ruoyi-psa/src/main/java/com/ruoyi/attendance/service/impl/AttendanceClockServiceImpl.java
0 → 100644
View file @
080b9ad0
This diff is collapsed.
Click to expand it.
ruoyi-
system/src/main/resources/mapper/psa/Psa
AttendanceClockMapper.xml
→
ruoyi-
psa/src/main/resources/mapper/clock/
AttendanceClockMapper.xml
View file @
080b9ad0
This diff is collapsed.
Click to expand it.
ruoyi-system/src/main/java/com/ruoyi/system/domain/PsaAttendanceClock.java
deleted
100644 → 0
View file @
a00ea9fc
package
com
.
ruoyi
.
system
.
domain
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.core.domain.BaseEntity
;
/**
* 考勤打卡对象 psa_attendance_clock
*
* @author gaoying
* @date 2025-02-24
*/
@Data
public
class
PsaAttendanceClock
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
id
;
/** 申请日期 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"申请日期"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
applicationDate
;
/** 归属周期 */
@Excel
(
name
=
"归属周期"
)
private
String
attributionPeriod
;
/** 关联用户表主键user_id */
@Excel
(
name
=
"关联用户表主键user_id"
)
private
Long
userId
;
/** 关联部门表主键dept_id */
@Excel
(
name
=
"关联部门表主键dept_id"
)
private
Long
deptId
;
/** 关联项目表主键 */
@Excel
(
name
=
"关联项目表主键"
)
private
Long
projectId
;
/** 补签/打卡日期 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"补签/打卡日期"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
candidateDate
;
/** 星期几 */
@Excel
(
name
=
"星期几"
)
private
String
week
;
/** 0:导入 1:外勤 2:补卡 */
@Excel
(
name
=
"0:导入 1:外勤 2:补卡"
)
private
String
flag
;
/** 上班打卡 0:否 1:是 */
@Excel
(
name
=
"上班打卡 0:否 1:是"
)
private
String
isClockIn
;
/** 下班打卡 0:否 1:是 */
@Excel
(
name
=
"下班打卡 0:否 1:是"
)
private
String
isClockOut
;
/** 补签事由说明 */
@Excel
(
name
=
"补签事由说明"
)
private
String
reason
;
/** 上班打卡时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"上班打卡时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
checkInTime
;
/** 下班签退时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"下班签退时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
signOutTime
;
/** 打卡状态 0:正常签到 1:早退 2:迟到 3: 正常签退 */
@Excel
(
name
=
"打卡状态 0:正常签到 1:早退 2:迟到 3: 正常签退"
)
private
String
checkInStatus
;
/** 迟到分钟数 */
@Excel
(
name
=
"迟到分钟数"
)
private
String
lateByMinutes
;
/** 早退分钟数 */
@Excel
(
name
=
"早退分钟数"
)
private
String
leaveEarlyMinutes
;
/** 提交人 */
@Excel
(
name
=
"提交人"
)
private
String
creatBy
;
/** 创建时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"创建时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
creatTime
;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PsaAttendanceClockServiceImpl.java
deleted
100644 → 0
View file @
a00ea9fc
package
com
.
ruoyi
.
system
.
service
.
impl
;
import
java.util.List
;
import
com.ruoyi.common.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.system.mapper.PsaAttendanceClockMapper
;
import
com.ruoyi.system.domain.PsaAttendanceClock
;
import
com.ruoyi.system.service.IPsaAttendanceClockService
;
/**
* 考勤打卡Service业务层处理
*
* @author ruoyi
* @date 2025-02-24
*/
@Service
public
class
PsaAttendanceClockServiceImpl
implements
IPsaAttendanceClockService
{
@Autowired
private
PsaAttendanceClockMapper
psaAttendanceClockMapper
;
/**
* 查询考勤打卡
*
* @param id 考勤打卡主键
* @return 考勤打卡
*/
@Override
public
PsaAttendanceClock
selectPsaAttendanceClockById
(
Long
id
)
{
return
psaAttendanceClockMapper
.
selectPsaAttendanceClockById
(
id
);
}
/**
* 查询考勤打卡列表
*
* @param psaAttendanceClock 考勤打卡
* @return 考勤打卡
*/
@Override
public
List
<
PsaAttendanceClock
>
selectPsaAttendanceClockList
(
PsaAttendanceClock
psaAttendanceClock
)
{
return
psaAttendanceClockMapper
.
selectPsaAttendanceClockList
(
psaAttendanceClock
);
}
/**
* 新增考勤打卡
*
* @param psaAttendanceClock 考勤打卡
* @return 结果
*/
@Override
public
int
insertPsaAttendanceClock
(
PsaAttendanceClock
psaAttendanceClock
)
{
return
psaAttendanceClockMapper
.
insertPsaAttendanceClock
(
psaAttendanceClock
);
}
/**
* 修改考勤打卡
*
* @param psaAttendanceClock 考勤打卡
* @return 结果
*/
@Override
public
int
updatePsaAttendanceClock
(
PsaAttendanceClock
psaAttendanceClock
)
{
psaAttendanceClock
.
setUpdateTime
(
DateUtils
.
getNowDate
());
return
psaAttendanceClockMapper
.
updatePsaAttendanceClock
(
psaAttendanceClock
);
}
/**
* 批量删除考勤打卡
*
* @param ids 需要删除的考勤打卡主键
* @return 结果
*/
@Override
public
int
deletePsaAttendanceClockByIds
(
Long
[]
ids
)
{
return
psaAttendanceClockMapper
.
deletePsaAttendanceClockByIds
(
ids
);
}
/**
* 删除考勤打卡信息
*
* @param id 考勤打卡主键
* @return 结果
*/
@Override
public
int
deletePsaAttendanceClockById
(
Long
id
)
{
return
psaAttendanceClockMapper
.
deletePsaAttendanceClockById
(
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