From 04c1fcf7faf0a2934897887a50023fce23c48ee8 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期三, 10 九月 2025 15:52:44 +0800
Subject: [PATCH] 自助服务平台-人员考勤,人员假期申请接口
---
src/main/java/com/ruoyi/staff/controller/HolidayApplicationController.java | 44 ++++++++
src/main/java/com/ruoyi/staff/service/PersonalAttendanceRecordsService.java | 10 ++
src/main/java/com/ruoyi/staff/pojo/PersonalAttendanceRecords.java | 52 ++++++++++
src/main/java/com/ruoyi/staff/mapper/PersonalAttendanceRecordsMapper.java | 9 +
src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java | 23 ++++
src/main/resources/mapper/staff/HolidayApplicationMapper.xml | 7 +
src/main/java/com/ruoyi/staff/service/HolidayApplicationService.java | 10 ++
src/main/java/com/ruoyi/staff/pojo/HolidayApplication.java | 58 +++++++++++
src/main/java/com/ruoyi/staff/mapper/HolidayApplicationMapper.java | 9 +
src/main/java/com/ruoyi/staff/controller/PersonalAttendanceRecordsController.java | 47 +++++++++
src/main/java/com/ruoyi/staff/service/impl/HolidayApplicationServiceImpl.java | 22 ++++
src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml | 7 +
12 files changed, 298 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/controller/HolidayApplicationController.java b/src/main/java/com/ruoyi/staff/controller/HolidayApplicationController.java
new file mode 100644
index 0000000..7ac13bd
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/controller/HolidayApplicationController.java
@@ -0,0 +1,44 @@
+package com.ruoyi.staff.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.staff.pojo.HolidayApplication;
+import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
+import com.ruoyi.staff.service.HolidayApplicationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/staff/holidayApplication")
+public class HolidayApplicationController {
+ @Autowired
+ private HolidayApplicationService holidayApplicationService;
+ /**
+ * 璇峰亣鐢宠鍒嗛〉鏌ヨ
+ */
+ @GetMapping("/listPage")
+ public AjaxResult listPage(Page page, HolidayApplication holidayApplication){
+ return AjaxResult.success(holidayApplicationService.listPage(page, holidayApplication));
+ }
+ /**
+ * 鏂板璇峰亣鐢宠
+ */
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody HolidayApplication holidayApplication){
+ return AjaxResult.success(holidayApplicationService.save(holidayApplication));
+ }
+ /**
+ * 淇敼璇峰亣鐢宠
+ */
+ @PostMapping("/update")
+ public AjaxResult update(@RequestBody HolidayApplication holidayApplication){
+ return AjaxResult.success(holidayApplicationService.updateById(holidayApplication));
+ }
+ /**
+ * 鍒犻櫎璇峰亣鐢宠
+ */
+ @DeleteMapping("/delete/{id}")
+ public AjaxResult delete(@PathVariable("id") Long id){
+ return AjaxResult.success(holidayApplicationService.removeById(id));
+ }
+}
diff --git a/src/main/java/com/ruoyi/staff/controller/PersonalAttendanceRecordsController.java b/src/main/java/com/ruoyi/staff/controller/PersonalAttendanceRecordsController.java
new file mode 100644
index 0000000..2f84699
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/controller/PersonalAttendanceRecordsController.java
@@ -0,0 +1,47 @@
+package com.ruoyi.staff.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
+import com.ruoyi.staff.pojo.StaffOnJob;
+import com.ruoyi.staff.service.PersonalAttendanceRecordsService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@AllArgsConstructor
+@RestController
+@RequestMapping("/staff/personalAttendanceRecords")
+public class PersonalAttendanceRecordsController {
+ @Autowired
+ private PersonalAttendanceRecordsService personalAttendanceRecordsService;
+ /**
+ * 涓汉鑰冨嫟璁板綍鍒嗛〉鏌ヨ
+ */
+ @GetMapping("/listPage")
+ public AjaxResult personalAttendanceRecordsListPage(Page page, PersonalAttendanceRecords personalAttendanceRecords) {
+ return AjaxResult.success(personalAttendanceRecordsService.listPage(page, personalAttendanceRecords));
+ }
+ /**
+ * 鏂板涓汉鑰冨嫟璁板綍
+ */
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody PersonalAttendanceRecords personalAttendanceRecords) {
+ return AjaxResult.success(personalAttendanceRecordsService.save(personalAttendanceRecords));
+ }
+ /**
+ * 淇敼涓汉鑰冨嫟璁板綍
+ */
+ @PutMapping("/update")
+ public AjaxResult update(@RequestBody PersonalAttendanceRecords personalAttendanceRecords) {
+ return AjaxResult.success(personalAttendanceRecordsService.updateById(personalAttendanceRecords));
+ }
+ /**
+ * 鍒犻櫎涓汉鑰冨嫟璁板綍
+ */
+ @DeleteMapping("/delete/{id}")
+ public AjaxResult delete(@PathVariable("id") Long id) {
+ return AjaxResult.success(personalAttendanceRecordsService.removeById(id));
+ }
+}
diff --git a/src/main/java/com/ruoyi/staff/mapper/HolidayApplicationMapper.java b/src/main/java/com/ruoyi/staff/mapper/HolidayApplicationMapper.java
new file mode 100644
index 0000000..1b49c6f
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/mapper/HolidayApplicationMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.staff.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.staff.pojo.HolidayApplication;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface HolidayApplicationMapper extends BaseMapper<HolidayApplication> {
+}
diff --git a/src/main/java/com/ruoyi/staff/mapper/PersonalAttendanceRecordsMapper.java b/src/main/java/com/ruoyi/staff/mapper/PersonalAttendanceRecordsMapper.java
new file mode 100644
index 0000000..402bb45
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/mapper/PersonalAttendanceRecordsMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.staff.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PersonalAttendanceRecordsMapper extends BaseMapper<PersonalAttendanceRecords> {
+}
diff --git a/src/main/java/com/ruoyi/staff/pojo/HolidayApplication.java b/src/main/java/com/ruoyi/staff/pojo/HolidayApplication.java
new file mode 100644
index 0000000..b76893e
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/pojo/HolidayApplication.java
@@ -0,0 +1,58 @@
+package com.ruoyi.staff.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@Data
+@TableName("holiday_application")
+public class HolidayApplication {
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Long id;
+ /**
+ * 鍛樺伐id
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Long staffId;
+ /**
+ * 鍋囨湡绫诲瀷
+ */
+ private String type;
+ /**
+ * 寮�濮嬫棩鏈�
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate startDate;
+ /**
+ * 缁撴潫鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate endDate;
+
+ /**
+ * 鍋囨湡澶╂暟
+ */
+ private Integer days;
+ /**
+ * 鐢宠鐞嗙敱
+ */
+ private String reason;
+ /**
+ * 鐘舵��
+ */
+ private String status;
+ /**
+ * 绉熸埛ID
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/staff/pojo/PersonalAttendanceRecords.java b/src/main/java/com/ruoyi/staff/pojo/PersonalAttendanceRecords.java
new file mode 100644
index 0000000..cbf11b7
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/pojo/PersonalAttendanceRecords.java
@@ -0,0 +1,52 @@
+package com.ruoyi.staff.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@Data
+@TableName("personal_attendance_records")
+public class PersonalAttendanceRecords implements Serializable {
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Long id;
+ /**
+ * 鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate date;
+ /**
+ * 绛惧埌鏃堕棿
+ */
+ @JsonFormat(pattern = "HH:mm")
+ @DateTimeFormat(pattern = "HH:mm")
+ private LocalTime checkIn;
+ /**
+ * 绛鹃��鏃堕棿
+ */
+ @JsonFormat(pattern = "HH:mm")
+ @DateTimeFormat(pattern = "HH:mm")
+ private LocalTime checkOut;
+ /**
+ * 宸ヤ綔鏃堕暱
+ */
+ private String workHours;
+ /**
+ * 鐘舵��
+ */
+ private String status;
+ /**
+ * 绉熸埛ID
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/staff/service/HolidayApplicationService.java b/src/main/java/com/ruoyi/staff/service/HolidayApplicationService.java
new file mode 100644
index 0000000..c02519b
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/service/HolidayApplicationService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.staff.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.staff.pojo.HolidayApplication;
+
+public interface HolidayApplicationService extends IService<HolidayApplication> {
+ IPage listPage(Page page, HolidayApplication holidayApplication);
+}
diff --git a/src/main/java/com/ruoyi/staff/service/PersonalAttendanceRecordsService.java b/src/main/java/com/ruoyi/staff/service/PersonalAttendanceRecordsService.java
new file mode 100644
index 0000000..c39b007
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/service/PersonalAttendanceRecordsService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.staff.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
+
+public interface PersonalAttendanceRecordsService extends IService<PersonalAttendanceRecords> {
+ IPage listPage(Page page, PersonalAttendanceRecords personalAttendanceRecords);
+}
diff --git a/src/main/java/com/ruoyi/staff/service/impl/HolidayApplicationServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/HolidayApplicationServiceImpl.java
new file mode 100644
index 0000000..8decb71
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/service/impl/HolidayApplicationServiceImpl.java
@@ -0,0 +1,22 @@
+package com.ruoyi.staff.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.staff.mapper.HolidayApplicationMapper;
+import com.ruoyi.staff.pojo.HolidayApplication;
+import com.ruoyi.staff.service.HolidayApplicationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HolidayApplicationServiceImpl extends ServiceImpl<HolidayApplicationMapper, HolidayApplication> implements HolidayApplicationService {
+ @Autowired
+ private HolidayApplicationMapper holidayApplicationMapper;
+
+ @Override
+ public IPage listPage(Page page, HolidayApplication holidayApplication) {
+ return holidayApplicationMapper.selectPage(page, new QueryWrapper<>(holidayApplication));
+ }
+}
diff --git a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
new file mode 100644
index 0000000..1fc363b
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
@@ -0,0 +1,23 @@
+package com.ruoyi.staff.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.staff.mapper.PersonalAttendanceRecordsMapper;
+import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
+import com.ruoyi.staff.service.PersonalAttendanceRecordsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class PersonalAttendanceRecordsServiceImpl extends ServiceImpl<PersonalAttendanceRecordsMapper, PersonalAttendanceRecords> implements PersonalAttendanceRecordsService {
+ @Autowired
+ private PersonalAttendanceRecordsMapper personalAttendanceRecordsMapper;
+
+ @Override
+ public IPage listPage(Page page, PersonalAttendanceRecords personalAttendanceRecords) {
+// return personalAttendanceRecordsMapper.ListPage(page, personalAttendanceRecords);
+ return baseMapper.selectPage(page, new QueryWrapper<>(personalAttendanceRecords));
+ }
+}
diff --git a/src/main/resources/mapper/staff/HolidayApplicationMapper.xml b/src/main/resources/mapper/staff/HolidayApplicationMapper.xml
new file mode 100644
index 0000000..b0bda29
--- /dev/null
+++ b/src/main/resources/mapper/staff/HolidayApplicationMapper.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ruoyi.staff.mapper.HolidayApplicationMapper">
+
+
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
new file mode 100644
index 0000000..13d3513
--- /dev/null
+++ b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ruoyi.staff.mapper.PersonalAttendanceRecordsMapper">
+
+
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3