From cb7cdfa30036f1ed8d893e48209dcd27265b3e54 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期四, 04 九月 2025 16:08:38 +0800
Subject: [PATCH] 考勤管理-假期、年假、加班、上班接口

---
 src/main/java/com/ruoyi/approve/mapper/AnnualLeaveSettingMapper.java         |   13 +
 src/main/resources/mapper/approve/AnnualLeaveSettingMapper.xml               |   15 +
 src/main/java/com/ruoyi/approve/mapper/HolidaySettingsMapper.java            |   13 +
 src/main/resources/mapper/approve/OvertimeSettingMapper.xml                  |   18 +
 src/main/java/com/ruoyi/approve/service/impl/HolidaySettingsServiceImpl.java |   21 +
 src/main/resources/mapper/approve/HolidaySettingsMapper.xml                  |   17 +
 src/main/resources/mapper/approve/WorkingHoursSettingMapper.xml              |   15 +
 src/main/java/com/ruoyi/approve/pojo/OvertimeSetting.java                    |   79 +++++++
 src/main/java/com/ruoyi/approve/pojo/AnnualLeaveSetting.java                 |   70 ++++++
 src/main/java/com/ruoyi/approve/mapper/OvertimeSettingMapper.java            |   13 +
 src/main/java/com/ruoyi/approve/controller/HolidaySettingsController.java    |  173 +++++++++++++++
 src/main/java/com/ruoyi/approve/service/HolidaySettingsService.java          |   10 
 src/main/java/com/ruoyi/approve/pojo/HolidaySettings.java                    |   80 +++++++
 src/main/java/com/ruoyi/approve/pojo/WorkingHoursSetting.java                |   79 +++++++
 src/main/java/com/ruoyi/approve/mapper/WorkingHoursSettingMapper.java        |   13 +
 15 files changed, 629 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/controller/HolidaySettingsController.java b/src/main/java/com/ruoyi/approve/controller/HolidaySettingsController.java
new file mode 100644
index 0000000..2ecf29f
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/controller/HolidaySettingsController.java
@@ -0,0 +1,173 @@
+package com.ruoyi.approve.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.mapper.AnnualLeaveSettingMapper;
+import com.ruoyi.approve.mapper.OvertimeSettingMapper;
+import com.ruoyi.approve.mapper.WorkingHoursSettingMapper;
+import com.ruoyi.approve.pojo.*;
+import com.ruoyi.approve.service.HolidaySettingsService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/holidaySettings")
+@AllArgsConstructor
+public class HolidaySettingsController {
+    @Autowired
+    private HolidaySettingsService holidaySettingsService;
+    @Autowired
+    private AnnualLeaveSettingMapper annualLeaveSettingMapper;
+    @Autowired
+    private OvertimeSettingMapper overtimeSettingMapper;
+    @Autowired
+    private WorkingHoursSettingMapper workingHoursSettingMapper;
+
+    /**銆�
+     * 鑾峰彇鍋囨湡璁剧疆鍒楄〃
+     * @return
+     */
+    @GetMapping("/getList")
+    public AjaxResult getList(@RequestParam(defaultValue = "1") long current,
+                              @RequestParam(defaultValue = "50") long size, HolidaySettings holidaySettings) {
+        Page page = new Page(current, size);
+        return AjaxResult.success(holidaySettingsService.listpage(page,holidaySettings));
+    }
+    /**銆�
+     * 澧炴坊
+     * @return
+     */
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody HolidaySettings holidaySettings){
+        return AjaxResult.success(holidaySettingsService.save(holidaySettings));
+    }
+    /**
+     * 鏇存柊
+     * @return
+     */
+    @PostMapping("/update")
+    public AjaxResult update(@RequestBody HolidaySettings holidaySettings){
+        return AjaxResult.success(holidaySettingsService.updateById(holidaySettings));
+    }
+    /**
+     * 鍒犻櫎
+     * @return
+     */
+    @DeleteMapping("/delete")
+    public AjaxResult delete(@RequestBody List<Long> ids){
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(holidaySettingsService.removeByIds(ids));
+    }
+    /**銆�
+     * 鑾峰彇骞村亣瑙勫垯鍒楄〃
+     * @return
+     */
+    @GetMapping("/getAnnualLeaveSettingList")
+    public AjaxResult getAnnualLeaveSettingList(@RequestParam(defaultValue = "1") long current,
+                              @RequestParam(defaultValue = "50") long size, AnnualLeaveSetting annualLeaveSetting) {
+        Page page = new Page(current, size);
+        return AjaxResult.success(annualLeaveSettingMapper.listPage(page,annualLeaveSetting));
+    }
+    /**銆�
+     * 澧炴坊骞村亣瑙勫垯
+     * @return
+     */
+    @PostMapping("/addAnnualLeaveSetting")
+    public AjaxResult addAnnualLeaveSetting(@RequestBody AnnualLeaveSetting annualLeaveSetting){
+        return AjaxResult.success(annualLeaveSettingMapper.insert(annualLeaveSetting));
+    }
+    /**銆�
+     * 鏇存柊骞村亣瑙勫垯
+     * @return
+     */
+    @PostMapping("/updateAnnualLeaveSetting")
+    public AjaxResult updateAnnualLeaveSetting(@RequestBody AnnualLeaveSetting annualLeaveSetting){
+        return AjaxResult.success(annualLeaveSettingMapper.updateById(annualLeaveSetting));
+    }
+    /**銆�
+     * 鍒犻櫎骞村亣瑙勫垯
+     * @return
+     */
+    @DeleteMapping("/deleteAnnualLeaveSetting")
+    public AjaxResult deleteAnnualLeaveSetting(@RequestBody List<Long> ids){
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(annualLeaveSettingMapper.deleteBatchIds(ids));
+    }
+
+    /**銆�
+     * 鑾峰彇鍔犵彮瑙勫垯鍒楄〃
+     * @return
+     */
+    @GetMapping("/getOvertimeSettingList")
+    public AjaxResult getOvertimeSettingList(@RequestParam(defaultValue = "1") long current,
+                              @RequestParam(defaultValue = "50") long size, OvertimeSetting overtimeSetting) {
+        Page page = new Page(current, size);
+        return AjaxResult.success(overtimeSettingMapper.listPage(page,overtimeSetting));
+    }
+    /**銆�
+     * 澧炴坊鍔犵彮瑙勫垯
+     * @return
+     */
+    @PostMapping("/addOvertimeSetting")
+    public AjaxResult addOvertimeSetting(@RequestBody OvertimeSetting overtimeSetting){
+        return AjaxResult.success(overtimeSettingMapper.insert(overtimeSetting));
+    }
+    /**銆�
+     * 鏇存柊鍔犵彮瑙勫垯
+     * @return
+     */
+    @PostMapping("/updateOvertimeSetting")
+    public AjaxResult updateOvertimeSetting(@RequestBody OvertimeSetting overtimeSetting){
+        return AjaxResult.success(overtimeSettingMapper.updateById(overtimeSetting));
+    }
+    /**銆�
+     * 鍒犻櫎鍔犵彮瑙勫垯
+     * @return
+     */
+    @DeleteMapping("/deleteOvertimeSetting")
+    public AjaxResult deleteOvertimeSetting(@RequestBody List<Long> ids){
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(overtimeSettingMapper.deleteBatchIds(ids));
+    }
+    /**銆�
+     * 鑾峰彇涓婄彮鏃堕棿璁剧疆-鐝埗瑙勫垯鍒楄〃
+     * @return
+     */
+    @GetMapping("/getWorkingHoursSettingList")
+    public AjaxResult getWorkingHoursSettingList(@RequestParam(defaultValue = "1") long current,
+                              @RequestParam(defaultValue = "50") long size, WorkingHoursSetting workingHoursSetting) {
+        Page page = new Page(current, size);
+        return AjaxResult.success(workingHoursSettingMapper.listPage(page,workingHoursSetting));
+    }
+    /**銆�
+     * 澧炴坊鐝埗瑙勫垯
+     * @return
+     */
+    @PostMapping("/addWorkingHoursSetting")
+    public AjaxResult addWorkingHoursSetting(@RequestBody WorkingHoursSetting workingHoursSetting){
+        return AjaxResult.success(workingHoursSettingMapper.insert(workingHoursSetting));
+    }
+    /**銆�
+     * 鏇存柊鐝埗瑙勫垯
+     * @return
+     */
+    @PostMapping("/updateWorkingHoursSetting")
+    public AjaxResult updateWorkingHoursSetting(@RequestBody WorkingHoursSetting workingHoursSetting){
+        return AjaxResult.success(workingHoursSettingMapper.updateById(workingHoursSetting));
+    }
+    /**銆�
+     * 鍒犻櫎鐝埗瑙勫垯
+     * @return
+     */
+    @DeleteMapping("/deleteWorkingHoursSetting")
+    public AjaxResult deleteWorkingHoursSetting(@RequestBody List<Long> ids){
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(workingHoursSettingMapper.deleteBatchIds(ids));
+    }
+
+
+}
diff --git a/src/main/java/com/ruoyi/approve/mapper/AnnualLeaveSettingMapper.java b/src/main/java/com/ruoyi/approve/mapper/AnnualLeaveSettingMapper.java
new file mode 100644
index 0000000..034f752
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/mapper/AnnualLeaveSettingMapper.java
@@ -0,0 +1,13 @@
+package com.ruoyi.approve.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.pojo.AnnualLeaveSetting;
+import io.lettuce.core.dynamic.annotation.Param;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface AnnualLeaveSettingMapper extends BaseMapper<AnnualLeaveSetting> {
+    IPage<AnnualLeaveSetting> listPage(Page page,@Param("annualLeaveSetting") AnnualLeaveSetting annualLeaveSetting);
+}
diff --git a/src/main/java/com/ruoyi/approve/mapper/HolidaySettingsMapper.java b/src/main/java/com/ruoyi/approve/mapper/HolidaySettingsMapper.java
new file mode 100644
index 0000000..a37485d
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/mapper/HolidaySettingsMapper.java
@@ -0,0 +1,13 @@
+package com.ruoyi.approve.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.pojo.HolidaySettings;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface HolidaySettingsMapper extends BaseMapper<HolidaySettings> {
+    IPage<HolidaySettings> listpage(Page page,@Param("holidaySettings") HolidaySettings holidaySettings);
+}
diff --git a/src/main/java/com/ruoyi/approve/mapper/OvertimeSettingMapper.java b/src/main/java/com/ruoyi/approve/mapper/OvertimeSettingMapper.java
new file mode 100644
index 0000000..ec564db
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/mapper/OvertimeSettingMapper.java
@@ -0,0 +1,13 @@
+package com.ruoyi.approve.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.pojo.OvertimeSetting;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.data.repository.query.Param;
+
+@Mapper
+public interface OvertimeSettingMapper extends BaseMapper<OvertimeSetting> {
+    IPage<OvertimeSetting> listPage(Page<OvertimeSetting> page,@Param("overtimeSetting") OvertimeSetting overtimeSetting);
+}
diff --git a/src/main/java/com/ruoyi/approve/mapper/WorkingHoursSettingMapper.java b/src/main/java/com/ruoyi/approve/mapper/WorkingHoursSettingMapper.java
new file mode 100644
index 0000000..b5dad41
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/mapper/WorkingHoursSettingMapper.java
@@ -0,0 +1,13 @@
+package com.ruoyi.approve.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.pojo.WorkingHoursSetting;
+import io.lettuce.core.dynamic.annotation.Param;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface WorkingHoursSettingMapper extends BaseMapper<WorkingHoursSetting> {
+    IPage<WorkingHoursSetting> listPage(Page page,@Param("workingHoursSetting") WorkingHoursSetting workingHoursSetting);
+}
diff --git a/src/main/java/com/ruoyi/approve/pojo/AnnualLeaveSetting.java b/src/main/java/com/ruoyi/approve/pojo/AnnualLeaveSetting.java
new file mode 100644
index 0000000..2097b30
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/pojo/AnnualLeaveSetting.java
@@ -0,0 +1,70 @@
+package com.ruoyi.approve.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("annual_leave_setting")
+public class AnnualLeaveSetting implements Serializable {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    /**
+     * 鍛樺伐绫诲瀷
+     */
+    private String employeeType;
+    /**
+     * 宸ヤ綔骞撮檺
+     */
+    private String workYears;
+    /**
+     * 骞村亣澶╂暟
+     */
+    private Integer annualDays;
+    /**
+     * 鏈�澶у彲缁撹浆澶╂暟
+     */
+    private Integer maxCarryOver;
+    /**
+     * 鐘舵��
+     */
+    private String status;
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鏇存柊浜�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/approve/pojo/HolidaySettings.java b/src/main/java/com/ruoyi/approve/pojo/HolidaySettings.java
new file mode 100644
index 0000000..f3d9506
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/pojo/HolidaySettings.java
@@ -0,0 +1,80 @@
+package com.ruoyi.approve.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.approve.utils.ListToStringTypeHandler;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+@TableName("holiday_settings")
+public class HolidaySettings implements Serializable {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    /**
+     * 鍋囨湡鍚嶇О
+     */
+    private String name;
+    /**
+     * 鍋囨湡绫诲瀷
+     */
+    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 status;
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鏇存柊浜�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/approve/pojo/OvertimeSetting.java b/src/main/java/com/ruoyi/approve/pojo/OvertimeSetting.java
new file mode 100644
index 0000000..ed929cd
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/pojo/OvertimeSetting.java
@@ -0,0 +1,79 @@
+package com.ruoyi.approve.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+@Data
+@TableName("overtime_setting")
+public class OvertimeSetting implements Serializable {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    /**
+     * 鍔犵彮瑙勫垯鍚嶇О
+     */
+    private String name;
+    /**
+     * 鍔犵彮绫诲瀷
+     */
+    private String type;
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @JsonFormat(pattern = "HH:mm")
+    @DateTimeFormat(pattern = "HH:mm")
+    private LocalTime startTime;
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @JsonFormat(pattern = "HH:mm")
+    @DateTimeFormat(pattern = "HH:mm")
+    private LocalTime endTime;
+    /**
+     * 鍊嶇巼
+     */
+    private Double rate;
+    /**
+     * 鐘舵��
+     */
+    private String status;
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鏇存柊浜�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/approve/pojo/WorkingHoursSetting.java b/src/main/java/com/ruoyi/approve/pojo/WorkingHoursSetting.java
new file mode 100644
index 0000000..e457c8f
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/pojo/WorkingHoursSetting.java
@@ -0,0 +1,79 @@
+package com.ruoyi.approve.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+@Data
+@TableName("working_hours_setting")
+public class WorkingHoursSetting implements Serializable {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    /**
+     * 鏃堕棿娈靛悕绉�
+     */
+    private String name;
+
+    /**
+     * 涓婄彮鏃堕棿
+     */
+    @JsonFormat(pattern = "HH:mm")
+    @DateTimeFormat(pattern = "HH:mm")
+    private LocalTime startTime;
+    /**
+     * 涓嬬彮鏃堕棿
+     */
+    @JsonFormat(pattern = "HH:mm")
+    @DateTimeFormat(pattern = "HH:mm")
+    private LocalTime endTime;
+    /**
+     * 寮规�т笂鐝�
+     */
+    private String flexibleStart;
+    /**
+     * 寮规�ф椂闂�(鍒嗛挓)
+     */
+    private Integer flexibleMinutes;
+    /**
+     * 鐘舵��
+     */
+    private String status;
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鏇存柊浜�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/approve/service/HolidaySettingsService.java b/src/main/java/com/ruoyi/approve/service/HolidaySettingsService.java
new file mode 100644
index 0000000..aa44adb
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/service/HolidaySettingsService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.approve.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.approve.pojo.HolidaySettings;
+
+public interface HolidaySettingsService extends IService<HolidaySettings> {
+    IPage listpage(Page page, HolidaySettings holidaySettings);
+}
diff --git a/src/main/java/com/ruoyi/approve/service/impl/HolidaySettingsServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/HolidaySettingsServiceImpl.java
new file mode 100644
index 0000000..a0cfe37
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/service/impl/HolidaySettingsServiceImpl.java
@@ -0,0 +1,21 @@
+package com.ruoyi.approve.service.impl;
+
+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.approve.mapper.HolidaySettingsMapper;
+import com.ruoyi.approve.pojo.HolidaySettings;
+import com.ruoyi.approve.service.HolidaySettingsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HolidaySettingsServiceImpl extends ServiceImpl<HolidaySettingsMapper, HolidaySettings> implements HolidaySettingsService {
+    @Autowired
+    private HolidaySettingsMapper holidaySettingsMapper;
+
+    @Override
+    public IPage<HolidaySettings> listpage(Page page, HolidaySettings holidaySettings) {
+        return holidaySettingsMapper.listpage(page,holidaySettings);
+    }
+}
diff --git a/src/main/resources/mapper/approve/AnnualLeaveSettingMapper.xml b/src/main/resources/mapper/approve/AnnualLeaveSettingMapper.xml
new file mode 100644
index 0000000..39fcb3f
--- /dev/null
+++ b/src/main/resources/mapper/approve/AnnualLeaveSettingMapper.xml
@@ -0,0 +1,15 @@
+<?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.approve.mapper.AnnualLeaveSettingMapper">
+
+
+    <select id="listPage" resultType="com.ruoyi.approve.pojo.AnnualLeaveSetting">
+        select * from annual_leave_setting
+        where 1=1
+        <if test="annualLeaveSetting.employeeType != null">
+            and employee_type = #{annualLeaveSetting.employeeType}
+        </if>
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/approve/HolidaySettingsMapper.xml b/src/main/resources/mapper/approve/HolidaySettingsMapper.xml
new file mode 100644
index 0000000..ac5f19e
--- /dev/null
+++ b/src/main/resources/mapper/approve/HolidaySettingsMapper.xml
@@ -0,0 +1,17 @@
+<?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.approve.mapper.HolidaySettingsMapper">
+
+    <select id="listpage" resultType="com.ruoyi.approve.pojo.HolidaySettings">
+        select * from holiday_settings
+        where 1=1
+        <if test="holidaySettings.type != null">
+            and type = #{holidaySettings.type}
+        </if>
+        <if test="holidaySettings.name != null">
+            and name like concat('%',#{holidaySettings.name},'%')
+        </if>
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/approve/OvertimeSettingMapper.xml b/src/main/resources/mapper/approve/OvertimeSettingMapper.xml
new file mode 100644
index 0000000..b496353
--- /dev/null
+++ b/src/main/resources/mapper/approve/OvertimeSettingMapper.xml
@@ -0,0 +1,18 @@
+<?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.approve.mapper.OvertimeSettingMapper">
+
+
+    <select id="listPage" resultType="com.ruoyi.approve.pojo.OvertimeSetting">
+        select * from overtime_setting
+        where 1=1
+        <if test="overtimeSetting.type != null">
+            and type = #{overtimeSetting.type}
+        </if>
+        <if test="overtimeSetting.name != null and overtimeSetting.name !=''">
+            and name like concat('%',#{overtimeSetting.name},'%')
+        </if>
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/approve/WorkingHoursSettingMapper.xml b/src/main/resources/mapper/approve/WorkingHoursSettingMapper.xml
new file mode 100644
index 0000000..63bc1c3
--- /dev/null
+++ b/src/main/resources/mapper/approve/WorkingHoursSettingMapper.xml
@@ -0,0 +1,15 @@
+<?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.approve.mapper.WorkingHoursSettingMapper">
+
+
+    <select id="listPage" resultType="com.ruoyi.approve.pojo.WorkingHoursSetting">
+        select * from working_hours_setting
+        where 1=1
+        <if test="workingHoursSetting.name != null and workingHoursSetting.name !=''">
+            and name like concat('%',#{workingHoursSetting.name},'%')
+        </if>
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3