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