From 8a2b8ef34fd521457c5ede0c561bb1214985bc3b Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期四, 18 二月 2021 14:30:54 +0800
Subject: [PATCH] feat(在职员工): 关闭员工档案接口

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java            |   27 +++++++++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java         |   15 +++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java    |   18 +++++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java                  |   11 +++++
 febs-server/febs-server-hr/pom.xml                                                                         |    3 +
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   18 +++++++++
 febs-server/febs-server-hr/src/main/resources/bootstrap.yml                                                |    2 
 7 files changed, 92 insertions(+), 2 deletions(-)

diff --git a/febs-server/febs-server-hr/pom.xml b/febs-server/febs-server-hr/pom.xml
index e5b7796..dfd91b2 100644
--- a/febs-server/febs-server-hr/pom.xml
+++ b/febs-server/febs-server-hr/pom.xml
@@ -69,6 +69,9 @@
 
         <resources>
             <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**/*.xml</include>
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
index 430a036..1bfa437 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
@@ -8,6 +8,7 @@
 import cc.mrbird.febs.common.core.entity.QueryRequest;
 import cc.mrbird.febs.common.core.exception.FebsException;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
+import cn.hutool.core.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +19,7 @@
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -126,4 +128,20 @@
         }
     }
 
+    @ApiOperation(value = "关闭员工档案")
+    @PostMapping("dimission")
+    public void dimissionEmp(@RequestParam Map<String, String> mapDimissionInfo) throws FebsException {
+        String dgryIds = mapDimissionInfo.get("dgryIds");
+        String dimissionType = mapDimissionInfo.get("dimissionType");
+        String remark = mapDimissionInfo.get("remark");
+        Date dimissionDate = DateUtil.parse(mapDimissionInfo.get("dimissionDate").toString(),"yyyy-MM-dd");
+        try {
+            this.empBaseInfoService.closeEmpArchives(dgryIds, dimissionType, dimissionDate, remark);
+        } catch (Exception e) {
+            String message = "关闭员工档案失败";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
+
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
index 0e20f03..d2849bb 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
@@ -256,6 +256,11 @@
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date dimissionDate;
 
+    @FieldInfo(name = "dimissionType", type = "varchar", explain = "离职类型")
+    @TableField("dimissionType")
+    private String dimissionType;
+
+
     @FieldInfo(name = "createTime", type = "datetime", explain = "记录创建时间")
     @TableField("createTime")
     @JsonSerialize(using = DateTimeSerializer.class)
@@ -286,7 +291,11 @@
     @TableField("version")
     @Version
     private Integer version = 0;
-    
+
+    @FieldInfo(name = "remark", type = "varchar", explain = "离职备注")
+    @TableField("remark")
+    private String remark = "";
+
 	@TableField(exist = false)
 	private String ageStr = "";
 	
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java
index 12deba4..c3168a5 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java
@@ -5,6 +5,7 @@
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -60,4 +61,30 @@
             "        </foreach>\n" +
             "</script>")
     int momentToNormal(@Param("list") List<String> list, @Param("operatorId") String operatorId);
+    /**
+     *
+     * 关闭员工档案
+     *
+     * date 2021-02-18 12:54
+     * @author: luoyibo
+     * @param ids 待关闭档案员工 Id
+     * @param dimissionType 离职类型
+     * @param dimissionDate 离职日期
+     * @param remark 备注
+     * @return boolean
+     */
+    @Update("<script> " +
+            " UPDATE t_emp_baseinfo SET empStatus = 1,\n" +
+            " dimissionDate = #{dimissionDate},\n" +
+            " dimissionType = #{dimissionType},\n" +
+            " remark = #{remark},\n" +
+            " modifyTime = NOW(),\n" +
+            " modifier = #{operatorId}, \n" +
+            " version = version+1 \n" +
+            " WHERE empId IN \n" +
+            "        <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" +
+            "          #{delId}  \n" +
+            "        </foreach>\n" +
+            "</script>")
+    int closeEmpArchives(@Param("list") List<String> list, @Param("dimissionType") String dimissionType, @Param("dimissionDate") Date dimissionDate, @Param("remark") String remark, @Param("operatorId") String operatorId);
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
index 63c6390..3b6ba42 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -99,4 +100,18 @@
      * @return cc.mrbird.febs.server.hr.entity.EmpBaseInfo
      */
     EmpBaseInfo getEmpBaseInfo(EmpBaseInfo empBaseInfo);
+
+    /**
+     *
+     * 关闭员工档案
+     *
+     * date 2021-02-18 12:54
+     * @author: luoyibo
+     * @param ids 待关闭档案员工 Id
+     * @param dimissionType 离职类型
+     * @param dimissionDate 离职日期
+     * @param remark 备注
+     * @return boolean
+     */
+    boolean closeEmpArchives(String ids, String dimissionType, Date dimissionDate, String remark);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
index cbdddc2..77e4ad1 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -253,4 +253,22 @@
 
         return this.getOne(queryWrapper);
     }
+    /**
+     *
+     * 关闭员工档案
+     *
+     * date 2021-02-18 12:54
+     * @author: luoyibo
+     * @param ids 待关闭档案员工 Id
+     * @param dimissionType 离职类型
+     * @param dimissionDate 离职日期
+     * @param remark 备注
+     * @return boolean
+     */
+    @Override
+    public boolean closeEmpArchives(String ids, String dimissionType, Date dimissionDate, String remark) {
+        String[] str = ids.split(",");
+        List<String> list = new ArrayList<>(Arrays.asList(str));
+        return empBaseInfoMapper.closeEmpArchives(list, dimissionType, dimissionDate, remark, operatorId)>0;
+    }
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/resources/bootstrap.yml b/febs-server/febs-server-hr/src/main/resources/bootstrap.yml
index 052ea73..621e447 100644
--- a/febs-server/febs-server-hr/src/main/resources/bootstrap.yml
+++ b/febs-server/febs-server-hr/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@
       config:
         server-addr: ${nacos.url}:8848
         group: DEFAULT_GROUP
-        prefix: febs-server-hr
+        prefix: febs-server-Hr
         file-extension: yaml
       discovery:
         server-addr: ${nacos.url}:8848

--
Gitblit v1.8.0