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