From e168d23c53f8d627f823a8622ca3450cd9474a57 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 19 一月 2026 14:05:08 +0800
Subject: [PATCH] 新增离职增删改查导出

---
 src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java              |   78 +++++++++
 /dev/null                                                                       |   28 ---
 src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java           |   91 +++++++++++
 src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java           |    2 
 src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java                      |   11 +
 src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java |   10 -
 src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java                      |   28 +++
 src/main/java/com/ruoyi/staff/pojo/StaffLeave.java                              |    6 
 src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java              |    4 
 src/main/resources/mapper/staff/StaffLeaveMapper.xml                            |   58 +++++++
 src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java                            |   92 +++++++++++
 src/main/java/com/ruoyi/staff/service/StaffLeaveService.java                    |   27 +++
 12 files changed, 393 insertions(+), 42 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java b/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
deleted file mode 100644
index c59e56c..0000000
--- a/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.common.enums;
-
-import lombok.AllArgsConstructor;
-
-/**
- * 闄勪欢璁板綍绫诲瀷鏋氫妇
- *
- */
-@AllArgsConstructor
-public enum StaffJoinLeaveRecordDimissionReason {
-    StaffJoinLeaveRecordDimissionReasonSalary("salary","钖祫寰呴亣"),
-    StaffJoinLeaveRecordDimissionReasonCareerDevelopment("career_development","鑱屼笟鍙戝睍"),
-    StaffJoinLeaveRecordDimissionReasonWorkEnvironment("work_environment","宸ヤ綔鐜"),
-    StaffJoinLeaveRecordDimissionReasonPersonalReason("personal_reason","涓汉鍘熷洜"),
-    StaffJoinLeaveRecordDimissionReasonOther("other","鍏朵粬鍘熷洜");
-
-
-    private final String code;
-    private final String info;
-
-    public String getCode() {
-        return code;
-    }
-
-    public String getInfo() {
-        return info;
-    }
-}
diff --git a/src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java b/src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java
new file mode 100644
index 0000000..44d3098
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java
@@ -0,0 +1,28 @@
+package com.ruoyi.common.enums;
+
+import lombok.AllArgsConstructor;
+
+/**
+ * 闄勪欢璁板綍绫诲瀷鏋氫妇
+ *
+ */
+@AllArgsConstructor
+public enum StaffLeaveReason {
+    StaffLeaveReasonSalary("salary","钖祫寰呴亣"),
+    StaffLeaveReasonCareerDevelopment("career_development","鑱屼笟鍙戝睍"),
+    StaffLeaveReasonWorkEnvironment("work_environment","宸ヤ綔鐜"),
+    StaffLeaveReasonPersonalReason("personal_reason","涓汉鍘熷洜"),
+    StaffLeaveReasonOther("other","鍏朵粬鍘熷洜");
+
+
+    private final String code;
+    private final String info;
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getInfo() {
+        return info;
+    }
+}
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java b/src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java
new file mode 100644
index 0000000..f4a0830
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java
@@ -0,0 +1,78 @@
+package com.ruoyi.staff.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
+import com.ruoyi.staff.service.StaffLeaveService;
+import io.swagger.annotations.Api;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 鍛樺伐绂昏亴
+ */
+@RestController
+@RequestMapping("/staff/staffLeave")
+@Api(tags = "鍛樺伐绂昏亴")
+public class StaffLeaveController {
+    @Resource
+    private StaffLeaveService staffLeaveService;
+    /**
+     * 鏂板绂昏亴鍒嗛〉鏌ヨ
+     * @param page
+     * @param staffLeaveDto
+     * @return
+     */
+    @GetMapping("/listPage")
+    public AjaxResult staffLeaveListPage(Page page, StaffLeaveDto staffLeaveDto) {
+        return AjaxResult.success(staffLeaveService.staffLeaveListPage(page, staffLeaveDto));
+    }
+
+    /**
+     * 鏂板绂昏亴
+     * @param staffLeaveDto
+     * @return
+     */
+    @PostMapping("")
+    public AjaxResult add(@RequestBody StaffLeaveDto staffLeaveDto) {
+        return AjaxResult.success(staffLeaveService.add(staffLeaveDto));
+    }
+
+    /**
+     * 鏇存柊绂昏亴淇℃伅
+     * @param id
+     * @param staffLeaveDto
+     * @return
+     */
+    @PutMapping("/{id}")
+    public AjaxResult update(@PathVariable("id") Long id, @RequestBody StaffLeaveDto staffLeaveDto) {
+        return AjaxResult.success(staffLeaveService.update(id, staffLeaveDto));
+    }
+
+    /**
+     * 鍒犻櫎鍏ヨ亴
+     * @param ids
+     * @return
+     */
+    @DeleteMapping("/del")
+    public AjaxResult del(@RequestBody List<Integer> ids) {
+        if(CollectionUtils.isEmpty(ids)){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        return AjaxResult.success(staffLeaveService.del(ids));
+    }
+
+    /**
+     * 绂昏亴瀵煎嚭
+     * @param staffLeaveDto
+     */
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, StaffLeaveDto staffLeaveDto) {
+        staffLeaveService.export(response, staffLeaveDto);
+    }
+}
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
index 55a93b2..f996ad1 100644
--- a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
+++ b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
@@ -25,7 +25,7 @@
  */
 @RestController
 @RequestMapping("/staff/staffOnJob")
-@Api(tags = "鍛樺伐鍙拌处/鍚堝悓绠$悊")
+@Api(tags = "鍛樺伐鍙拌处")
 public class StaffOnJobController {
 
     @Resource
@@ -91,7 +91,7 @@
      * @return
      */
     @GetMapping("/{id}")
-    public AjaxResult staffJoinLeaveRecordDetail(@PathVariable("id") Long id) {
+    public AjaxResult staffOnJobDetail(@PathVariable("id") Long id) {
         return AjaxResult.success(staffOnJobService.staffOnJobDetail(id));
     }
 
diff --git a/src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java b/src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java
new file mode 100644
index 0000000..d615c7f
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java
@@ -0,0 +1,92 @@
+package com.ruoyi.staff.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.staff.pojo.StaffLeave;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class StaffLeaveDto extends StaffLeave {
+    @Excel(name = "鐘舵��", readConverterExp = "0=绂昏亴,1=鍦ㄨ亴", sort = 1)
+    private Integer staffState;
+
+    /**
+     * 鍛樺伐缂栧彿
+     */
+    @Excel(name = "鍛樺伐缂栧彿", type = Excel.Type.EXPORT, cellType = Excel.ColumnType.STRING, sort = 2)
+    private String staffNo;
+
+    /**
+     * 鍛樺伐濮撳悕
+     */
+    @Excel(name = "鍛樺伐濮撳悕", sort = 3)
+    private String staffName;
+
+    /**
+     * 鎬у埆
+     */
+    @Excel(name = "鎬у埆", sort = 4)
+    private String sex;
+
+    /**
+     * 绫嶈疮
+     */
+    @Excel(name = "绫嶈疮", sort = 5)
+    private String nativePlace;
+
+    /**
+     * 瀹跺涵浣忓潃
+     */
+    @Excel(name = "瀹跺涵浣忓潃", sort = 6)
+    private String adress;
+
+    /**
+     * 宀椾綅
+     */
+    @Excel(name = "宀椾綅",sort = 7)
+    private String postName;
+
+    /**
+     * 绗竴瀛﹀巻
+     */
+    @Excel(name = "绗竴瀛﹀巻", sort = 8)
+    private String firstStudy;
+
+    /**
+     * 涓撲笟
+     */
+    @Excel(name = "涓撲笟", sort = 9)
+    private String profession;
+
+    /**
+     * 韬唤璇佸彿鐮�
+     */
+    @Excel(name = "韬唤璇佸彿鐮�", sort = 10)
+    private String identityCard;
+
+    /**
+     * 骞撮緞
+     */
+    @Excel(name = "骞撮緞", sort = 11)
+    private String age;
+
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
+    @Excel(name = "鑱旂郴鐢佃瘽", sort = 12)
+    private String phone;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉
+     */
+    @Excel(name = "绱ф�ヨ仈绯讳汉", sort = 13)
+    private String emergencyContact;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鐢佃瘽
+     */
+    @Excel(name = "绱ф�ヨ仈绯讳汉鐢佃瘽", sort = 14)
+    private String emergencyContactPhone;
+}
diff --git a/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java b/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java
index d8fce17..e8d2854 100644
--- a/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java
+++ b/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java
@@ -1,10 +1,21 @@
 package com.ruoyi.staff.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.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
 import com.ruoyi.staff.pojo.StaffLeave;
+import com.ruoyi.staff.pojo.StaffOnJob;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 @Mapper
 public interface StaffLeaveMapper extends BaseMapper<StaffLeave> {
+    IPage<StaffLeaveDto> staffLeaveListPage(Page page, @Param("c") StaffLeaveDto staffLeaveDto);
+
+    List<StaffLeaveDto> staffLeaveList(@Param("c") StaffLeaveDto staffLeaveDto);
 }
diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java b/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java
index 9965c6d..3f5532c 100644
--- a/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java
+++ b/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java
@@ -21,6 +21,12 @@
     @ApiModelProperty(value = "鍦ㄨ亴鍛樺伐ID")
     private Long staffOnJobId;
 
+    @ApiModelProperty(value = "绂昏亴鍘熷洜")
+    private String reason;
+
+    @ApiModelProperty(value = "绂昏亴澶囨敞")
+    private String remark;
+
     @ApiModelProperty(value = "绉熸埛ID")
     @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
diff --git a/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java b/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java
index 67aede2..be27fdc 100644
--- a/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java
+++ b/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java
@@ -1,7 +1,34 @@
 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.dto.StaffLeaveDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
 import com.ruoyi.staff.pojo.StaffLeave;
 
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
 public interface StaffLeaveService extends IService<StaffLeave> {
+    IPage<StaffLeaveDto> staffLeaveListPage(Page page, StaffLeaveDto staffLeaveDto);
+    /**
+     * 鏂板绂昏亴
+     * @param staffLeaveDto
+     * @return
+     */
+    int add(StaffLeaveDto staffLeaveDto);
+
+    /**
+     * 鏇存柊绂昏亴淇℃伅
+     * @param id
+     * @param staffLeaveDto
+     * @return
+     */
+    int update(Long id, StaffLeaveDto staffLeaveDto);
+
+    int del(List<Integer> ids);
+
+    void export(HttpServletResponse response, StaffLeaveDto staffLeaveDto);
 }
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
index 78f94b2..0b2eba7 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -19,13 +19,9 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
-import java.util.function.Function;
 
-import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther;
 
 @Service
 @AllArgsConstructor
@@ -83,9 +79,6 @@
             }
             if (staffJoinLeaveRecord.getDimissionReason()==null){
                 throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
-            }
-            if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
-                staffJoinLeaveRecord.setDimissionRemark("");
             }
         }
         return staffJoinLeaveRecordMapper.insert(staffJoinLeaveRecord);
@@ -179,9 +172,6 @@
             //绂昏亴鐨勭紪杈戜笉浼氬奖鍝嶅湪鑱岃〃
             if (staffJoinLeaveRecord.getDimissionReason()==null){
                 throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
-            }
-            if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
-                staffJoinLeaveRecord.setDimissionRemark("");
             }
         }
         return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord);
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
index 0fc3807..20ec7be 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
@@ -1,15 +1,106 @@
 package com.ruoyi.staff.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.exception.base.BaseException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
 import com.ruoyi.staff.mapper.StaffLeaveMapper;
+import com.ruoyi.staff.mapper.StaffOnJobMapper;
+import com.ruoyi.staff.pojo.StaffContract;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
+import com.ruoyi.staff.pojo.StaffOnJob;
 import com.ruoyi.staff.service.StaffLeaveService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import com.ruoyi.staff.pojo.StaffLeave;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+import static com.ruoyi.common.enums.StaffLeaveReason.StaffLeaveReasonOther;
 
 @AllArgsConstructor
 @Service
 public class StaffLeaveServiceImpl extends ServiceImpl<StaffLeaveMapper, StaffLeave> implements StaffLeaveService {
+    private StaffLeaveMapper staffLeaveMapper;
+
+    private StaffOnJobMapper staffOnJobMapper;
+
+    //鏂板绂昏亴鍒楄〃鍒嗛〉鏌ヨ
+    @Override
+    public IPage<StaffLeaveDto> staffLeaveListPage(Page page, StaffLeaveDto staffLeaveDto) {
+        return staffLeaveMapper.staffLeaveListPage(page,staffLeaveDto);
+    }
+
+    //鏂板绂昏亴
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int add(StaffLeaveDto staffLeaveDto) {
+        // 鏍¢獙鍦ㄨ亴鍛樺伐鏄惁瀛樺湪
+        StaffOnJob staffOnJob = staffOnJobMapper.selectById(staffLeaveDto.getStaffOnJobId());
+        if (staffOnJob == null) {
+            throw new IllegalArgumentException("鍛樺伐涓嶅瓨鍦�");
+        }
+
+        // 鏍¢獙鍛樺伐鏄惁绂昏亴
+        if (staffOnJob.getStaffState() == 0) {
+            throw new IllegalArgumentException("鍛樺伐宸茬鑱�");
+        }
+
+        // 鏂板绂昏亴璁板綍
+        StaffLeave staffLeave = new StaffLeave();
+        staffLeave.setStaffOnJobId(staffLeaveDto.getStaffOnJobId());
+        String reason = staffLeaveDto.getReason();
+        if (!StaffLeaveReasonOther.getCode().equals(reason)){
+            staffLeave.setRemark("");
+        }
+        staffLeaveMapper.insert(staffLeave);
+
+        // 鏇存柊绂昏亴鐘舵�佷负绂昏亴
+        staffOnJob.setStaffState(0);
+       return staffOnJobMapper.updateById(staffOnJob);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int update(Long id, StaffLeaveDto staffLeaveDto) {
+        // 鍒ゆ柇瀵硅薄鏄惁瀛樺湪
+        StaffLeave leave = staffLeaveMapper.selectById(id);
+        if (leave == null){
+            throw new BaseException("璇ョ鑱岃褰曚笉瀛樺湪,鏃犳硶鏇存柊!!!");
+        }
+
+        String reason = staffLeaveDto.getReason();
+        leave.setReason(reason);
+        // 鏍¢獙绂昏亴鍘熷洜鏄惁涓哄叾浠栵紝濡傛灉鏄叾浠栵紝澶囨敞璧嬪��
+        if (StaffLeaveReasonOther.getCode().equals(reason)){
+            leave.setRemark(staffLeaveDto.getRemark());
+        } else {
+            leave.setRemark("");
+        }
+        return staffLeaveMapper.updateById(leave);
+    }
+
+    //鍒犻櫎绂昏亴
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int del(List<Integer> ids) {
+        // 鍒犻櫎绂昏亴鏁版嵁
+        return staffLeaveMapper.deleteBatchIds(ids);
+    }
+
+    //瀵煎嚭
+    @Override
+    public void export(HttpServletResponse response, StaffLeaveDto staffLeaveDto) {
+        List<StaffLeaveDto> staffLeaves =staffLeaveMapper.staffLeaveList(staffLeaveDto);
+        ExcelUtil<StaffLeaveDto> util = new ExcelUtil<StaffLeaveDto>(StaffLeaveDto.class);
+        util.exportExcel(response, staffLeaves, "鍛樺伐绂昏亴瀵煎嚭");
+    }
 
 }
 
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 69e0638..3de1ca9 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -38,8 +38,6 @@
 import java.time.ZoneId;
 import java.util.*;
 
-import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther;
-
 @AllArgsConstructor
 @Service
 public class StaffOnJobServiceImpl extends ServiceImpl<StaffOnJobMapper, StaffOnJob>  implements IStaffOnJobService {
diff --git a/src/main/resources/mapper/staff/StaffLeaveMapper.xml b/src/main/resources/mapper/staff/StaffLeaveMapper.xml
new file mode 100644
index 0000000..1d43ecc
--- /dev/null
+++ b/src/main/resources/mapper/staff/StaffLeaveMapper.xml
@@ -0,0 +1,58 @@
+<?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.StaffLeaveMapper">
+    <select id="staffLeaveListPage" resultType="com.ruoyi.staff.dto.StaffLeaveDto">
+        SELECT
+        staff_leave.*,
+        soj.staff_name as staffName,
+        soj.staff_state as staffState,
+        soj.staff_no as staffNo,
+        soj.sex as sex,
+        soj.native_place as nativePlace,
+        soj.adress as adress,
+        soj.first_study as firstStudy,
+        soj.profession as profession,
+        soj.identity_card as identityCard,
+        soj.age as age,
+        soj.phone as phone,
+        soj.emergency_contact as emergencyContact,
+        soj.emergency_contact_phone as emergencyContactPhone,
+        sp.post_name as postName
+        FROM staff_leave
+        LEFT JOIN
+        staff_on_job soj ON soj.id = staff_leave.staff_on_job_id
+        LEFT JOIN
+        sys_post sp ON sp.post_id = soj.sys_post_id
+        where 1=1
+        <if test="c.staffName != null and c.staffName != '' ">
+            AND soj.staff_name LIKE CONCAT('%',#{c.staffName},'%')
+        </if>
+    </select>
+    <select id="staffLeaveList" resultType="com.ruoyi.staff.dto.StaffLeaveDto">
+        SELECT
+        staff_leave.*,
+        soj.staff_name as staffName,
+        soj.staff_state as staffState,
+        soj.staff_no as staffNo,
+        soj.sex as sex,
+        soj.native_place as nativePlace,
+        soj.adress as adress,
+        soj.first_study as firstStudy,
+        soj.profession as profession,
+        soj.identity_card as identityCard,
+        soj.age as age,
+        soj.phone as phone,
+        soj.emergency_contact as emergencyContact,
+        soj.emergency_contact_phone as emergencyContactPhone,
+        sp.post_name as postName
+        FROM staff_leave
+        LEFT JOIN
+        staff_on_job soj ON soj.id = staff_leave.staff_on_job_id
+        LEFT JOIN
+        sys_post sp ON sp.post_id = soj.sys_post_id
+        where 1=1
+        <if test="c.staffName != null and c.staffName != '' ">
+            AND soj.staff_name LIKE CONCAT('%',#{c.staffName},'%')
+        </if>
+    </select>
+</mapper>

--
Gitblit v1.9.3