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