From bfe7fe047e7682cd3c3a6c0d876a82df614ee85e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 29 四月 2026 10:32:54 +0800
Subject: [PATCH] feat(staff): 增加员工转正与调岗功能
---
src/main/java/com/ruoyi/staff/dto/StaffOnJobDto.java | 36 ++++++++++++++++++
src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java | 41 ++++++++++++++++++++
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 12 +++++-
src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java | 4 ++
src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java | 25 ++++++++++--
5 files changed, 112 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
index 7d73759..9f77d87 100644
--- a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
+++ b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
@@ -4,17 +4,14 @@
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
+import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.pojo.StaffOnJob;
-import com.ruoyi.staff.service.IStaffJoinLeaveRecordService;
import com.ruoyi.staff.service.IStaffOnJobService;
-import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
-import java.util.List;
/**
* 鍛樺伐鍙拌处/鍚堝悓绠$悊
@@ -79,5 +76,25 @@
staffOnJobService.staffOnJobExport(response, staffOnJob);
}
+ /**
+ * 鍛樺伐杞
+ * @param staffOnJob
+ * @return
+ */
+ @PostMapping("/regularize")
+ public AjaxResult regularize(@RequestBody StaffOnJob staffOnJob) {
+ return AjaxResult.success(staffOnJobService.updateById(staffOnJob));
+ }
+
+ /**
+ * 鍛樺伐璋冨矖
+ * @param staffOnJobDto
+ * @return
+ */
+ @PostMapping("/transferPost")
+ public AjaxResult transferPost(@RequestBody StaffOnJobDto staffOnJobDto) {
+ return AjaxResult.success(staffOnJobService.transferPost(staffOnJobDto));
+ }
+
}
diff --git a/src/main/java/com/ruoyi/staff/dto/StaffOnJobDto.java b/src/main/java/com/ruoyi/staff/dto/StaffOnJobDto.java
new file mode 100644
index 0000000..5646237
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/dto/StaffOnJobDto.java
@@ -0,0 +1,36 @@
+package com.ruoyi.staff.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+
+@Data
+public class StaffOnJobDto {
+ private Long id;
+ private String staffNo;
+ private String staffName;
+
+ //鍘熷矖浣�
+ private String originPost;
+
+ //鏂板矖浣�
+ private String targetPost;
+
+ /**
+ * 璋冨矖鏃ユ湡
+ */
+ private Date transferDate;
+
+ /**
+ * 璋冨矖绫诲瀷
+ */
+ private String transferType;
+
+ /**
+ * 璋冨矖鍘熷洜
+ */
+ private String transferReason;
+
+
+}
diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java b/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java
index dc17ed2..1a9fb38 100644
--- a/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java
+++ b/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java
@@ -144,5 +144,46 @@
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
+ /**
+ * 璇曠敤鏈堜唤
+ */
+ private String probationPeriod;
+
+ /**
+ * 杞鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date regularDate;
+
+ /**
+ * 璇曠敤璇勪及
+ */
+ private String assessmentResult;
+
+ /**
+ * 寤舵湡鏈堜唤鏁�
+ */
+ private String delayMonths;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+ /**
+ * 璋冨矖鏃ユ湡
+ */
+ private Date transferDate;
+
+ /**
+ * 璋冨矖绫诲瀷
+ */
+ private String transferType;
+
+ /**
+ * 璋冨矖鍘熷洜
+ */
+ private String transferReason;
+
}
diff --git a/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java b/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java
index 2cef9f2..ffd6086 100644
--- a/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java
+++ b/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java
@@ -3,6 +3,7 @@
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.dto.StaffOnJobDto;
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffOnJob;
import org.springframework.web.multipart.MultipartFile;
@@ -22,4 +23,7 @@
List<StaffJoinLeaveRecord> staffOnJobList();
Boolean importData(MultipartFile file);
+
+ int transferPost(StaffOnJobDto staffOnJobDto);
+
}
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
index 9fc8c43..05aaae4 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -5,18 +5,18 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper;
import com.ruoyi.staff.mapper.StaffOnJobMapper;
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffOnJob;
-import com.ruoyi.staff.service.IStaffJoinLeaveRecordService;
import com.ruoyi.staff.service.IStaffOnJobService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -68,5 +68,13 @@
}
}
+ @Override
+ public int transferPost(StaffOnJobDto staffOnJobDto) {
+ StaffOnJob staffOnJob = new StaffOnJob();
+ BeanUtils.copyProperties(staffOnJobDto,staffOnJob);
+ staffOnJob.setPostJob(staffOnJobDto.getTargetPost());
+ return staffOnJobMapper.updateById(staffOnJob);
+ }
+
}
--
Gitblit v1.9.3